חזור לתיקייה: 02340125 - אלגוריתמים נומריים

2 - ריבועים פחותים

חיפוש בתיקיה
Ctrl K
לחץ כאן או הקש Ctrl K כדי לחפש בכל התיקיה
  • הגדרת הבעיה
  • מעבר למשוואות ליניאריות
  • דרך הסתכלות שונה על אותה הבעיה
  • פתרון הבעיה
  • הקשר ל-LU ו-Cholesky.
  • הכללת הפתרון
  • בחזרה להתחלה
  • הסתכלות אחרת על הפתרון
  • גזירת ביטויים מטריציים-וקטוריים
  • עוד מקרה
  • פתרון בעיות באמצעות ריבועים פחותים
  • התאמת עקומים לנתונים
  • הסתכלות אחרת על בעיית העקומים
  • שימוש בהסתכלות האחרת בתצורה מעניינת
  • הכללת הרעיון
  • על בחירת הפונקציות \phi_{t}
  • ריבועים פחותים ממושקלים
  • רגולריזציה
  • הכללת הרגולריזציה

2 - ריבועים פחותים

02340125

אלגוריתמים נומריים

רשימות הרצאה לקריאה בשבת

ריבועים פחותים

הופק מתוך תקיית התואר של שקד

uni-folder.vercel.app

בפרק זה אנו הולכים להכיר את בעיית הריבועים הפחותים. בעיה זו מכלילה את הרעיון של פתרון ממ"ל לקבלת פתרון מקורב.

∣∣Ax‾−b‾∣∣22⟶min⁡||A\underline{x}-\underline{b}||_{2}^2 \longrightarrow \min∣∣Ax​−b​∣∣22​⟶min

נלמד את תכונותיה של בעיה זו, את הדרכים לפתרונה ונקשור זאת לפירוק LULULU. בנוסף, נציע שימושים לריבועים הפחותים.

הגדרת הבעיה

נניח כי בידינו סדרה בת mmm משוואות ב-nnn נעלמים שאת פתרונן אנו מחפשים:

f1(x‾)=0,f2(x‾)=0,…,fm(x‾)=0f_{1}(\underline{x})=0,f_{2}(\underline{x})=0,\dots,f_{m}(\underline{x})=0f1​(x​)=0,f2​(x​)=0,…,fm​(x​)=0

כאשר x‾=(x1x2…xn)\underline{x}=\begin{pmatrix}x_{1} & x_{2} & \dots & x_{n}\end{pmatrix}x​=(x1​​x2​​…​xn​​).

נוכל להגדיר את אותה הבעיה בתצורה שמשלבת את כל הפונקציות לפונקציה אחת כך:

p(x‾)=[f1(x‾)]2+[f2(x‾)]2+⋯+[fm(x‾)]2=∣∣f‾(x‾)∣∣22p(\underline{x})=\left[f_{1}(\underline{x})\right]^2+\left[f_{2}(\underline{x})\right]^2+\dots+\left[f_{m}(\underline{x})\right]^2=\left| \left| \underline{f}(\underline{x}) \right| \right|_{2}^2p(x​)=[f1​(x​)]2+[f2​(x​)]2+⋯+[fm​(x​)]2=​​f​(x​)​​22​

הגובה המינימלי של הפונקציה הזו הוא 000, שכן הכל בריבוע ולכן אי שלילי.
אם יש xxx שמאפס את הפונקציה אזי כל הפונקציות שוות ל-000 שכן לא יכולים להיות מינוסים.
לכן, לפתור את הבעיה הזו והקודמת זה אותו הדבר.
אם אין פתרון, המערכת הקודמת נתקעת, אבל זו לא - היא אומרת את הגובה המינימלי - זה לא נוגע בגובה של האפסים אבל זה הכי קרוב שנוכל להגיע.

מסקנה

  • אם יש פתרון למערכת המקורית, ערך הפונקציה במינימום יהיה זהותית אפס ולכן הבעיות הנ"ל שקולות.
  • אם אין פתרון למערכת המקורית, עדיין יתכן שמינימיזציה של p(x‾)p(\underline{x})p(x​) בעלת ערך עבורינו - כי פירושה מציאה של פתרון מיטבי עם מינימום שגיאה ריבועית של המשוואות המקוריות.

נסמן כעת:

f‾(x‾)=0‾  ⟹  min⁡x‾∣∣f‾(x‾)∣∣22\underline{f}(\underline{x})=\underline{0}\implies \underset{\underline{x}}{\min}\left| \left| \underline{f}(\underline{x}) \right| \right|_{2}^2f​(x​)=0​⟹x​min​​​f​(x​)​​22​

מעבר למשוואות ליניאריות

כעת, נקטין את סט הבעיות שאנו רוצים לפתור לפונקציות ליניאריות בלבד:

{a‾1x‾−b1=0a‾2x‾−b2=0⋮a‾mx‾−bm=0}  ⟹  (−a‾1−−a‾2−⋮−a‾m−)x‾−(b1b2⋮bm)=Ax‾−b‾=0\left\{ \begin{matrix} \underline{a}_{1}\underline{x}-b_{1}=0 \\ \underline{a}_{2}\underline{x}-b_{2}=0 \\ \vdots \\ \underline{a}_{m}\underline{x}-b_{m}=0 \end{matrix} \right\} \implies \begin{pmatrix} -\underline{a}_{1}- \\ -\underline{a}_{2}- \\ \vdots \\ -\underline{a}_{m}- \end{pmatrix}\underline{x}-\begin{pmatrix} b_{1} \\ b_{2} \\ \vdots \\ b_{m} \end{pmatrix}=A\underline{x}-\underline{b}=0⎩⎨⎧​a​1​x​−b1​=0a​2​x​−b2​=0⋮a​m​x​−bm​=0​⎭⎬⎫​⟹​−a​1​−−a​2​−⋮−a​m​−​​x​−​b1​b2​⋮bm​​​=Ax​−b​=0
הגדרה 1 (פונקציית המחיר המשולבת)

הפונקציה מבעיית הריבועים הפחותים שמשלבת את כל הפונקציות שראינו קודם -p(x)p(x)p(x).

בבעיה זו נקבל:

p(x)=∑k=1m(a‾kx‾−bk)2=(Ax‾−b‾)t(Ax‾−b‾)⏟r‾=∣∣Ax‾−b‾∣∣22=∣∣r‾∣∣22p(x)=\sum_{k=1}^m (\underline{a}_{k}\underline{x}-b_{k})^2=(A\underline{x}-\underline{b})^t \underbrace{(A\underline{x}-\underline{b})}_{\underline{r}}=||A\underline{x}-\underline{b}||_{2}^2=||\underline{r}||_{2}^2p(x)=k=1∑m​(a​k​x​−bk​)2=(Ax​−b​)tr​(Ax​−b​)​​=∣∣Ax​−b​∣∣22​=∣∣r​∣∣22​

זהו הביטוי שנרצה להביא למינימום.

דרך הסתכלות שונה על אותה הבעיה

נניח כי בידינו סדרה בת n<mn<mn<m וקטורים:

{v‾1,v‾2,…,v‾n}∈Fm\left\{ \underline{v}_{1},\underline{v}_{2},\dots,\underline{v}_{n} \right\} \in \mathbb{F}^{m}{v​1​,v​2​,…,v​n​}∈Fm

ברור כי וקטורים אלו פורשים תת-מרחב במימד קטן או שווה ל-nnn. למעשה, כל וקטור בתת-מרחב זה ניתן לכתוב כך:

∑k=1nxkv‾k=(∣∣v‾1…v‾n∣∣)(x1⋮xn)=↓סימוןAx‾\sum_{k=1}^n x_{k}\underline{v}_{k}=\begin{pmatrix} \vert & & \vert \\ \underline{v}_{1} & \dots & \underline{v}_{n} \\ \vert & & \vert \end{pmatrix}\begin{pmatrix} x_{1} \\ \vdots \\ x_{n} \end{pmatrix} \underset{\begin{matrix} \downarrow \\ \R{\text{סימון}} \end{matrix}}{=} A\underline{x}k=1∑n​xk​v​k​=​∣v​1​∣​…​∣v​n​∣​​​x1​⋮xn​​​↓סימון​=​Ax​

כעת, נניח כי נתון לנו וקטור שרירותי b‾\underline{b}b​ באורך mmm ואנו רוצים למצוא את הטלתו על VVV - כלומר, למצוא את הוקטור הקרוב ביותר ל-b‾\underline{b}b​ בתת-מרחב זה.
הדרך למציאת הטלה זו הינה:

min⁡x‾∣∣∑k=1nxkv‾k−b‾∣∣22=min⁡x‾∣∣Ax‾−b‾∣∣22\underset{\underline{x}}{\min}\left| \left| \sum_{k=1}^n x_{k}\underline{v}_{k}-\underline{b} \right| \right|_{2}^2=\underset{\underline{x}}{\min}||A\underline{x}-\underline{b}||_{2}^2x​min​​​k=1∑n​xk​v​k​−b​​​22​=x​min​∣∣Ax​−b​∣∣22​

כל בעית ריבועים פחותים ניתנת להתייחסות כבעיית הטלה למרחב העמודות של המטריצה AAA. תוצאת ההטלה הינה הוקטור Ax‾∗A\underline{x}^*Ax​∗.

פתרון הבעיה

נזכר מה אנו רוצים להביא למינימום:

p(x)=∣∣Ax‾−b‾∣∣22=(Ax‾−b‾)t(Ax‾−b‾)=(x‾tAt−b‾t)(Ax‾−b‾)=x‾tAtAx‾−x‾tAtb‾−b‾tAx‾+b‾tb‾p(x)=\left| \left| A\underline{x}-\underline{b} \right| \right|_{2}^2=(A\underline{x}-\underline{b})^t(A\underline{x}-\underline{b})=(\underline{x}^tA^t-\underline{b}^t)(A\underline{x}-\underline{b})=\underline{x}^tA^tA\underline{x}-\underline{x}^tA^t\underline{b}-\underline{b}^tA\underline{x}+\underline{b}^t\underline{b}p(x)=∣∣Ax​−b​∣∣22​=(Ax​−b​)t(Ax​−b​)=(x​tAt−b​t)(Ax​−b​)=x​tAtAx​−x​tAtb​−b​tAx​+b​tb​

נשים לב כי כל האיברים הינם סקלים. בנוסף נשים לב כי שני האיברים האמצעיים הם הטרנספוז של אחד של השני ולכן, מכיוון שזה סקלר זה זהה ולכן:

=x‾tAtAx‾−2x‾tAtb‾+b‾tb‾=↓סימוןx‾tKx‾−2x‾tf‾+c=\underline{x}^tA^tA\underline{x}-2\underline{x}^tA^t\underline{b}+\underline{b}^t\underline{b} \underset{\begin{matrix} \downarrow \\ \R{\text{סימון}} \end{matrix}}{=}\underline{x}^tK\underline{x}-2\underline{x}^t\underline{f}+c=x​tAtAx​−2x​tAtb​+b​tb​↓סימון​=​x​tKx​−2x​tf​+c

נשים לב כי המטריצה KKK היא מטריצת גראם וככזו היא בהכרח סימטרית וחיובית חצי מוגדרת.
הפונקציה שהתקבלה מוזנת בוקטור x‾\underline{x}x​ במימד nnn והיא מחזירה ערך סקלרי. זוהי למעשה פרבולה רב מימדית כי היא מכילה את איברי x‾\underline{x}x​ בחזקות 0,1,20,1,20,1,2. לכן, נקרא לבעיה הזו הבעיה הריבועית.

משפט

בהינתן הבעיה הריבועית: p(x‾)=x‾tKx‾−2x‾tf‾+cp(\underline{x})=\underline{x}^tK\underline{x}-2\underline{x}^t\underline{f}+cp(x​)=x​tKx​−2x​tf​+c המאופיינת ע"י {K,f‾,c}\left\{ K,\underline{f},c \right\}{K,f​,c}.
אם KKK חיובית מוגדרת, אזי ל-p(x‾)p(\underline{x})p(x​) יש נקודת מינימום יחידה וגלובלית הנתונה ע"י:

x‾∗=K−1f‾\underline{x}^*=K^{-1}\underline{f}x​∗=K−1f​

וערך הפונקציה בנקודה הזו הוא:

p(x‾∗)=c−(x‾∗)tK(x‾∗)p(\underline{x}^*)=c-(\underline{x}^*)^tK(\underline{x}^*)p(x​∗)=c−(x​∗)tK(x​∗)
הערה

בנוסחת הפתרון אנו נדרשים להפוך את KKK. זה חוקי כי הנחנו שמטריצה זו חיובית מוגדרת.

הוכחה:
נשתמש בקשר: x‾∗=K−1f‾  ⟺  Kx‾∗=f‾\underline{x}^*=K^{-1}\underline{f}\iff K\underline{x}^*=\underline{f}x​∗=K−1f​⟺Kx​∗=f​ ונכתוב את p(x‾)p(\underline{x})p(x​) כך:

p(x‾)=x‾tKx‾−2x‾tf‾+c=x‾tKx‾−2x‾tKx‾∗+c=(x‾−x‾∗)tK(x‾−x‾∗)+c−(x‾∗)tK(x‾∗)\begin{align*} p(\underline{x}) & =\underline{x}^tK\underline{x}-2\underline{x}^t\underline{f}+c=\underline{x}^tK\underline{x}-2\underline{x}^tK\underline{x}^*+c \\ & =(\underline{x}-\underline{x}^*)^tK(\underline{x}-\underline{x}^*)+c-(\underline{x}^*)^tK(\underline{x}^*) \end{align*}p(x​)​=x​tKx​−2x​tf​+c=x​tKx​−2x​tKx​∗+c=(x​−x​∗)tK(x​−x​∗)+c−(x​∗)tK(x​∗)​

בתבנית שהתקבלה, בשל היות KKK חיובית מוגדרת, ברור ש- (x‾−x‾∗)tK(x‾−x‾∗)≥0(\underline{x}-\underline{x}^*)^tK(\underline{x}-\underline{x}^*)\geq0(x​−x​∗)tK(x​−x​∗)≥0.
למעשה, ביטוי זה מובא לערכו המינימלי, 000, רק עבור x‾=x‾∗\underline{x}=\underline{x}^*x​=x​∗. לכן, זו נקודת מינימום יחידה וגלובלית.
ערך הפונקציה נובע ישירות.
∎

הערה

נשים לב כי ניצלנו במעברים את היות KKK סימטרית.

אם נחזור לבעיה המקורית p(x‾)=∣∣Ax‾−b‾∣∣22p(\underline{x})=||A\underline{x}-\underline{b}||_{2}^2p(x​)=∣∣Ax​−b​∣∣22​ הפתרון יהיה: x‾∗=K−1f‾=(AtA)−1Atb‾\underline{x}^*=K^{-1}\underline{f}=(A^tA)^{-1}A^t\underline{b}x​∗=K−1f​=(AtA)−1Atb​.
הוא נכון רק אם עמודותיה של AAA בת"ל - זאת על מנת להבטיח AtAA^tAAtA הפיכה (או נאמר זאת - חיובית מוגדרת)

הגדרה 2 (המשוואה הנורמלית)

(AtA)x‾∗=Atb‾  ⟹  At(Ax‾∗−b‾)=Atr‾∗=0(A^tA)\underline{x}^*=A^t\underline{b} \implies A^t(A\underline{x}^*-\underline{b})=A^t\underline{r}^*=0(AtA)x​∗=Atb​⟹At(Ax​∗−b​)=Atr​∗=0

בפתרון האופטימלי מתקבל כי השארית אנכית לעמודות המטריצה AAA.

מה קורה כאשר AAA ריבועית והפיכה?

  • מחד, הממ"ל Ax‾=b‾A\underline{x}=\underline{b}Ax​=b​ הינה בעלת פתרון יחיד הנתון ע"י x‾∗=A−1b‾\underline{x}^*=A^{-1}\underline{b}x​∗=A−1b​.
    הצבת פתרון זה בבעיית הריבועים הפחותים תתק p(x‾∗)=0p(\underline{x}^*)=0p(x​∗)=0 ולכן, זהו אכן הפתרון האופטימלי.

נרצה לבצע בדיקת שפיות, כלומר, לראות ששני הפתרונות שיש לנו שקולים:

x‾∗=(AtA)−1Atb‾=A−1(At)−1Atb‾=A−1b‾\underline{x}^*=(A^tA)^{-1}A^t\underline{b}=A^{-1}(A^t)^{-1}A^t \underline{b}=A^{-1}\underline{b}x​∗=(AtA)−1Atb​=A−1(At)−1Atb​=A−1b​

ולכן, שני הפתרונות שקולים ולכן זה באמת עובד ונכון.

  • במקרה ש-AAA לא ריבועית והפיכה, רק הפתרון הקודם עובד, נסמן: x‾∗=(AtA)−1Atb‾=A†b‾\underline{x}^*=(A^tA)^{-1}A^t\underline{b}=A^{\dagger}\underline{b}x​∗=(AtA)−1Atb​=A†b​ שנקראת "מטריצת פסודו-אינברס".
הגדרה 3 (פסודו אינברס)

מטריצת פסודו אינברס תסומן A†A^{^{\dagger}}A† והיא:

A†=(AtA)−1AtA^{^{\dagger}}=(A^tA)^{-1}A^tA†=(AtA)−1At
מסקנה

A†A=(AtA)−1AtA=IA^{\dagger}A=(A^tA)^{-1}A^tA=IA†A=(AtA)−1AtA=I AA†≠IAA^{\dagger} \neq IAA†=I

הקשר ל-LU ו-Cholesky.

אנו מתחילים בבעיית ריבועים פחותים מתצורה:

p(x‾)=∣∣Ax‾−b‾∣∣22=(Ax‾−b‾)t(Ax‾−b‾)p(\underline{x})=||A\underline{x}-\underline{b}||_{2}^2=(A\underline{x}-\underline{b})^t(A\underline{x}-\underline{b})p(x​)=∣∣Ax​−b​∣∣22​=(Ax​−b​)t(Ax​−b​)

הפתרון הנדרש יהיה למעשה פתרון מערכת המשוואות:

(AtA)x‾∗=Atb‾(A^tA)\underline{x}^*=A^t\underline{b}(AtA)x​∗=Atb​

את פתרון זה נשיג ע"י פירוק LULULU או ליתר דיוק, מכיוון שאנו מניחים כי המטריצה AtAA^tAAtA חיובית מוגדרת, ע"י פירוק CholeskyCholeskyCholesky.

מסקנה

פירוק LULULU ושלוחותיו רלוונטים גם לפתרון בעיית הריבועים הפחותים.

הכללת הפתרון

מה קורה כאשר AtAA^tAAtA לא חיובית מוגדרת?

משפט

p(x‾)=x‾tKx‾−2x‾tf‾+cp(\underline{x})=\underline{x}^tK\underline{x}-2\underline{x}^t\underline{f}+cp(x​)=x​tKx​−2x​tf​+c המאופיינת ע"י {K,f‾,c}\left\{ K,\underline{f},c \right\}{K,f​,c}.
אם KKK חיובית חצי מוגדרת, אזי כל וקטור המקיים את המשוואה: Kx‾∗=f‾K\underline{x}^*=\underline{f}Kx​∗=f​ יהיה הפתרון האופטימלי של הבעיה עם ערך המינימום:

p(x‾∗)=c−(x‾∗)tK(x‾∗)p(\underline{x}^*)=c-(\underline{x}^*)^tK(\underline{x}^*)p(x​∗)=c−(x​∗)tK(x​∗)

הוכחה:
למעשה, ההוכחה נשענת על אותם מעברים. אנו נניח כי אכן הוקטור בידינו x‾∗\underline{x}^*x​∗ מקיים את המשוואה Kx‾∗=f‾K\underline{x}^*=\underline{f}Kx​∗=f​.
לכן:

p(x)=x‾tKx‾−2x‾tf‾+c=x‾tKx‾−2x‾tKx‾∗+c=(x‾−x‾∗)tK(x‾−x‾∗)+c−(x‾∗)tK(x‾∗)\begin{align*} p(x) & =\underline{x}^tK\underline{x}-2\underline{x}^t\underline{f}+c=\underline{x}^tK\underline{x}-2\underline{x}^tK\underline{x}^*+c \\ & =(\underline{x}-\underline{x}^*)^tK(\underline{x}-\underline{x}^*)+c-(\underline{x}^*)^tK(\underline{x}^*) \end{align*}p(x)​=x​tKx​−2x​tf​+c=x​tKx​−2x​tKx​∗+c=(x​−x​∗)tK(x​−x​∗)+c−(x​∗)tK(x​∗)​

בתבנית שהתקבלה, בשל היות KKK חיובית חצי מוגדרתף ברור ש-

(x‾−x‾∗)tK(x‾−x‾∗)≥0(\underline{x}-\underline{x}^*)^tK(\underline{x}-\underline{x}^*)\geq 0(x​−x​∗)tK(x​−x​∗)≥0

ביטוי זה מובא לערכו המינימלי - 0, כאשר K(x‾−x‾∗)=0K(\underline{x}-\underline{x}^*)=0K(x​−x​∗)=0. כלומר, Kx‾=Kx‾∗=f‾K\underline{x}=K\underline{x}^*=\underline{f}Kx​=Kx​∗=f​.
לכן, כל פתרון כזה יהווה נקודת מינימום גלובלית וערך הפונקציה בנק' אלו יהיה זהה לנאמר.
∎

הערה

מיהם כל אותם הפתרונות?
אם Kd‾=0K\underline{d}=0Kd​=0 אזי גם x‾∗\underline{x}^*x​∗ פתרון. כך גם x‾∗+d‾\underline{x}^*+\underline{d}x​∗+d​ כי מתקבל K(x‾∗+d)=Kx‾∗=f‾K(\underline{x}^*+d)=K\underline{x}^*=\underline{f}K(x​∗+d)=Kx​∗=f​.
זה מתרחש בגלל של-KKK קיים kerKkerKkerK עם מימד הגדול מאפס ולכן, לפי הגדרת העתקה ליניארית אותו הדבר מתקיים.

בחזרה להתחלה

נחזור לפרשנות לבעיית הריבועים הפחותים כבעיית הטלה. נתון לנו וקטור b‾\underline{b}b​ ורצונינו הוא למצוא את הטלתו על אוסף של וקטורים המהווים את עמודותיה של AAA. ראינו כי הדרך למציאת הטלה זו הינה:

min⁡x‾∣∣∑k=1nxkv‾k−b‾∣∣22=min⁡x‾∣∣Ax‾−b‾∣∣22\underset{\underline{x}}{\min}\left| \left| \sum_{k=1}^n x_{k}\underline{v}_{k}-\underline{b} \right| \right|_{2}^2=\underset{\underline{x}}{\min}||A\underline{x}-\underline{b}||_{2}^2x​min​​​k=1∑n​xk​v​k​−b​​​22​=x​min​∣∣Ax​−b​∣∣22​

אם עמודות AAA ת"ל, אנו מבינים כי יש ∞\infty∞ פתרונות לבעיית הריבועים הפחותים, אך זאת במונחים של וקטור הנעלמים x‾\underline{x}x​.
עם זאת, כל הפתרונות יובילו לאותו וקטור הטלה Ax‾∗A\underline{x}^*Ax​∗ - למה??
הסבר: אם Ad‾=0A\underline{d}=0Ad​=0 אזי גם x‾∗\underline{x}^*x​∗ פתרון וכך גם x‾∗+d‾\underline{x}^*+\underline{d}x​∗+d​. נשים לב כי מתקבל A(x‾∗+d‾)=Ax‾∗A(\underline{x}^*+\underline{d})=A\underline{x}^*A(x​∗+d​)=Ax​∗.

הסתכלות אחרת על הפתרון

נסתכל על בעיה ספציפית:

min⁡x‾∣∣Ax‾−b‾∣∣22=min⁡x‾∣∣(7105−402)(x1x2)−(10−123)∣∣22\underset{\underline{x}}{\min}||A\underline{x}-\underline{b}||_{2}^2=\underset{\underline{x}}{\min}\left| \left| \begin{pmatrix} 7 & 10 \\ 5 & -4 \\ 0 & 2 \end{pmatrix}\begin{pmatrix} x_{1} \\ x_{2} \end{pmatrix}-\begin{pmatrix} 10 \\ -12 \\ 3 \end{pmatrix}\right| \right|_{2}^2x​min​∣∣Ax​−b​∣∣22​=x​min​​​​750​10−42​​(x1​x2​​)−​10−123​​​​22​

הפתרון התקבל ע"י נוסחה "שנפלה עלינו משמיים":

x‾∗=(AtA)−1Atb‾=((75010−42)(7105402))−1(7501042)(10123)=(745050120)−1(10154)=(1.01881.7078)\underline{x}^*=(A^tA)^{-1}A^t\underline{b}=\left(\begin{pmatrix} 7 & 5 & 0 \\ 10 & -4 & 2 \end{pmatrix}\begin{pmatrix} 7 & 10 \\ 5 & 4 \\ 0 & 2 \end{pmatrix}\right)^{-1}\begin{pmatrix} 7 & 5 & 0 \\ 10 & 4 & 2 \end{pmatrix}\begin{pmatrix} 10 \\ 12 \\ 3 \end{pmatrix}=\begin{pmatrix} 74 & 50 \\ 50 & 120 \end{pmatrix}^{-1}\begin{pmatrix} 10 \\ 154 \end{pmatrix}=\begin{pmatrix} 1.0188 \\ 1.7078 \end{pmatrix}x​∗=(AtA)−1Atb​=​(710​5−4​02​)​750​1042​​​−1(710​54​02​)​10123​​=(7450​50120​)−1(10154​)=(1.01881.7078​)

לו פתחנו את הסוגריים היינו מקבלים את p(x‾)p(\underline{x})p(x​) המובאת למינימום:

p(x1,x2)=(7x1+10x2−10)2+(5x1−x2+12)2+(2x2−3)2=74x12+120x22+100x1x2−20x1−308x2+253\begin{align*} p(x_{1},x_{2})&=(7x_{1}+10x_{2}-10)^2+(5x_{1}-x_{2}+12)^2+(2x_{2}-3)^2 \\ &=74x_{1}^2+120x_{2}^2+100x_{1}x_{2}-20x_{1}-308x_{2}+253 \end{align*}p(x1​,x2​)​=(7x1​+10x2​−10)2+(5x1​−x2​+12)2+(2x2​−3)2=74x12​+120x22​+100x1​x2​−20x1​−308x2​+253​

אם לא היינו בהרצאה היום, כדי למצוא את המינימום היינו מנסים לגזור ולהשוות ל-000:

∂p(x1,x2)∂x1=2⋅74x1+100x2−20=0\frac{\partial p(x_{1},x_{2})}{\partial x_{1}}=2\cdot74x_{1}+100x_{2}-20=0 ∂x1​∂p(x1​,x2​)​=2⋅74x1​+100x2​−20=0 ∂p(x1,x2)∂x2=100x1+2⋅120x2−308=0\frac{\partial p(x_{1},x_{2})}{\partial x_{2}}=100x_{1}+2\cdot 120x_{2}-308=0∂x2​∂p(x1​,x2​)​=100x1​+2⋅120x2​−308=0

ברישום אחר:

x‾∗=(x1x2)OPT=(745050120)−1(10154)=(1.01881.7078)\underline{x}^*=\begin{pmatrix} x_{1} \\ x_{2} \end{pmatrix}_{OPT}=\begin{pmatrix} 74 & 50 \\ 50 & 120 \end{pmatrix}^{-1}\begin{pmatrix} 10 \\ 154 \end{pmatrix}=\begin{pmatrix} 1.0188 \\ 1.7078 \end{pmatrix}x​∗=(x1​x2​​)OPT​=(7450​50120​)−1(10154​)=(1.01881.7078​)

קיבלנו את אותו הפתרון וזו הנקודה!.

גזירת ביטויים מטריציים-וקטוריים

הפונקציה בה אנו עוסקים היא p(x‾):Fn→F+p(\underline{x}):\mathbb{F}^n\to \mathbb{F}^+p(x​):Fn→F+ הנתונה ע"י:

p(x‾)=∣∣Ax‾−b‾∣∣22=(Ax‾−b‾)t(Ax‾−b‾)p(\underline{x})=||A\underline{x}-\underline{b}||_{2}^2=(A\underline{x}-\underline{b})^t(A\underline{x}-\underline{b})p(x​)=∣∣Ax​−b​∣∣22​=(Ax​−b​)t(Ax​−b​)

מהו וקטור הגרדיאנט של פונקציה זו ∇p(x‾)=[∂p(x‾)∂x‾1∂p(x‾)∂x‾2⋮∂p(x‾)∂x‾n]\nabla p(\underline{x})=\left[\begin{matrix}\frac{\partial p(\underline{x})}{\partial \underline{x}_{1}}\\\frac{\partial p(\underline{x})}{\partial \underline{x}_{2}}\\\vdots\\\frac{\partial p(\underline{x})}{\partial \underline{x}_{n}}\end{matrix}\right]∇p(x​)=​∂x​1​∂p(x​)​∂x​2​∂p(x​)​⋮∂x​n​∂p(x​)​​​? זהו אוסף הנגזרות שעלינו לאפס.

הערה

למה זה נמצא במומלצת בסמסטר ב'? רק עכשיו אני לומד אינפי 2

אנחנו עכשיו הולכים למצוא את הפתרון ונתחיל ממקרה פשוט - נניח כי הפונקציה בנויה ממשוואה אחת, כלומר:

p(x‾)=(a‾ x‾−b)2=(∑k=1nakxk−b)2p(\underline{x})=(\underline{a}\ \underline{x}-b)^2=\left(\sum_{k=1}^n a_{k}x_{k}-b\right)^2p(x​)=(a​ x​−b)2=(k=1∑n​ak​xk​−b)2

במקרה זה הגרדיאנט יהיה:

∇p(x‾)=[∂p(x‾)∂x‾1∂p(x‾)∂x‾2⋮∂p(x‾)∂x‾n]=[2(∑k=1nakxk−b)a12(∑k=1nakxk−b)a2⋮2(∑k=1nakxk−b)an]=2(∑k=1nakxk−b)(a1a2⋮an)\nabla p(\underline{x})=\left[\begin{matrix}\frac{\partial p(\underline{x})}{\partial \underline{x}_{1}}\\\frac{\partial p(\underline{x})}{\partial \underline{x}_{2}}\\\vdots\\\frac{\partial p(\underline{x})}{\partial \underline{x}_{n}}\end{matrix}\right]=\left[\begin{matrix} 2\left( \sum_{k=1}^n a_{k}x_{k}-b \right)a_{1} \\ 2\left( \sum_{k=1}^na_{k}x_{k}-b \right)a_{2} \\ \vdots \\ 2\left( \sum_{k=1}^na_{k}x_{k}-b \right)a_{n} \end{matrix}\right]=2\left( \sum_{k=1}^na_{k}x_{k}-b \right)\begin{pmatrix} a_{1} \\ a_{2} \\ \vdots \\ a_{n} \end{pmatrix}∇p(x​)=​∂x​1​∂p(x​)​∂x​2​∂p(x​)​⋮∂x​n​∂p(x​)​​​=​2(∑k=1n​ak​xk​−b)a1​2(∑k=1n​ak​xk​−b)a2​⋮2(∑k=1n​ak​xk​−b)an​​​=2(k=1∑n​ak​xk​−b)​a1​a2​⋮an​​​ ⇓\Downarrow⇓ ∇p(x‾)=2a‾t(a‾ x‾−b)\nabla p(\underline{x})=2\underline{a}^t(\underline{a}\ \underline{x}-b)∇p(x​)=2a​t(a​ x​−b)

כעת, נעבור למקרה מעט יותר מסובך עם הפונקציה הזו:

p(x‾)=(a‾1x‾−b1)2+(a‾2x‾−b2)2p(\underline{x})=(\underline{a}_{1}\underline{x}-b_{1})^2+(\underline{a}_{2}\underline{x}-b_{2})^2p(x​)=(a​1​x​−b1​)2+(a​2​x​−b2​)2

גזירה היא פעולה לניארית ולכן זה יהיה חיבור של שני הגרדיאנטים:

p(x‾)=∣∣(a‾1x‾−b1a‾2x‾−b2)∣∣22=∣∣(−a‾1−−a‾2−)x‾−(b1b2)∣∣22=∣∣Ax‾−b‾∣∣22p(\underline{x})=\left| \left| \begin{pmatrix} \underline{a}_{1}\underline{x}-b_{1} \\ \underline{a}_{2}\underline{x}-b_{2} \end{pmatrix} \right| \right|^2_{2}=\left| \left| \begin{pmatrix} -\underline{a}_{1}- \\ -\underline{a}_{2}- \end{pmatrix}\underline{x}-\begin{pmatrix} b_{1} \\ b_{2} \end{pmatrix} \right| \right|_{2}^2=\left| \left| A\underline{x}-\underline{b} \right| \right|_{2}^2p(x​)=​​(a​1​x​−b1​a​2​x​−b2​​)​​22​=​​(−a​1​−−a​2​−​)x​−(b1​b2​​)​​22​=∣∣Ax​−b​∣∣22​

כעת, אנו יכולים לבצע את הגרדיאנט:

∇p(x‾)=2a‾1t(a‾1x‾−b1)+2a‾2t(a‾2x‾−b2)=2(∣∣a‾1ta‾2t∣∣)(a‾1x‾−b1a‾2x‾−b2)=2At(Ax‾−b‾)\nabla p(\underline{x})=2\underline{a}_{1}^t(\underline{a}_{1}\underline{x}-b_{1})+2\underline{a}_{2}^t(\underline{a}_{2}\underline{x}-b_{2})=2\begin{pmatrix} \vert & \vert \\ \underline{a}_{1}^t & \underline{a}_{2}^t \\ \vert & \vert \end{pmatrix}\begin{pmatrix} \underline{a}_{1}\underline{x}-b_{1} \\ \underline{a}_{2}\underline{x}-b_{2} \end{pmatrix}=2A^t(A\underline{x}-\underline{b})∇p(x​)=2a​1t​(a​1​x​−b1​)+2a​2t​(a​2​x​−b2​)=2​∣a​1t​∣​∣a​2t​∣​​(a​1​x​−b1​a​2​x​−b2​​)=2At(Ax​−b​)

במקרה הכללי:

p(x‾)=∑k=1m(a‾kx‾−bk)2=∣∣(−a1−⋮−am−)x‾−(b1⋮bm)∣∣22=∣∣Ax‾−b‾∣∣22p(\underline{x})=\sum_{k=1}^m(\underline{a}_{k}\underline{x}-b_{k})^2=\left| \left| \begin{pmatrix} - & a_{1} & - \\ & \vdots \\ - & a_{m} & - \end{pmatrix}\underline{x}-\begin{pmatrix} b_{1} \\ \vdots \\ b_{m} \end{pmatrix} \right| \right|_{2}^2=\left| \left| A\underline{x}-\underline{b} \right| \right|_{2}^2p(x​)=k=1∑m​(a​k​x​−bk​)2=​​​−−​a1​⋮am​​−−​​x​−​b1​⋮bm​​​​​22​=∣∣Ax​−b​∣∣22​ ∇p(x‾)=2∑k=1ma‾kt(a‾kx‾−bk)=2(∣∣a‾1t…a‾mt∣∣)(a‾1x‾−b1⋮a‾mx‾−bm)=2At(Ax‾−b‾)\nabla p(\underline{x})=2\sum_{k=1}^m \underline{a}_{k}^t(\underline{a}_{k}\underline{x}-b_{k})=2\begin{pmatrix} \vert & & \vert \\ \underline{a}_{1}^t & \dots & \underline{a}_{m}^t \\ \vert & & \vert \end{pmatrix}\begin{pmatrix} \underline{a}_{1}\underline{x}-b_{1} \\ \vdots \\ \underline{a}_{m}\underline{x}-b_{m} \end{pmatrix}=2A^t(A\underline{x}-\underline{b})∇p(x​)=2k=1∑m​a​kt​(a​k​x​−bk​)=2​∣a​1t​∣​…​∣a​mt​∣​​​a​1​x​−b1​⋮a​m​x​−bm​​​=2At(Ax​−b​)

זוהי נוסחת הנגזרת הכללית של תבנית הריבועים הפחותים.

משפט

עבור הפונקציה: p(x‾)=∣∣Ax‾−b‾∣∣22p(\underline{x})=||A\underline{x}-\underline{b}||_{2}^2p(x​)=∣∣Ax​−b​∣∣22​ הנגזרת הינה:

∇p(x‾)=2At(Ax‾−b‾)\nabla p(\underline{x})=2A^t(A\underline{x}-\underline{b})∇p(x​)=2At(Ax​−b​)

איפוס הגרדיאנט מוביל משוואה הנורמלית AtAx‾=Atb‾A^tA\underline{x}=A^t\underline{b}AtAx​=Atb​ שכבר פגשנו ממקודם.
מהי הנגזרת השנייה? היא מטריצה ריבועית AtAA^tAAtA - יש דרישה שהמטריצה השנייה היא חיובית מוגדרת.

עוד מקרה

מה באשר לפונקציה במבנה: p(x‾)=x‾tKx‾−2x‾tf‾+cp(\underline{x})=\underline{x}^tK\underline{x}-2\underline{x}^t\underline{f}+cp(x​)=x​tKx​−2x​tf​+c.
נטפל במקרה הדו-מימדי על מנת להבין מהי הנוסחה הכללית:

p(x‾)=(x1x2)(k11k12k21k22)(x1x2)−2(x1x2)(f1f2)+c=k11x12+k12x1x2+k21x1x2+k22x22−2f1x1−2f2x2+c\begin{align*} p(\underline{x})&=\begin{pmatrix} x_{1} & x_{2} \end{pmatrix}\begin{pmatrix} k_{11} & k_{12} \\ k_{21} & k_{22} \end{pmatrix}\begin{pmatrix} x_{1} \\ x_{2} \end{pmatrix}-2\begin{pmatrix} x_{1} & x_{2} \end{pmatrix}\begin{pmatrix} f_{1} \\ f_{2} \end{pmatrix}+c \\ &=k_{11}x_{1}^2+k_{12}x_{1}x_{2}+k_{21}x_{1}x_{2}+k_{22}x_{2}^2-2f_{1}x_{1}-2f_{2}x_{2}+c \end{align*}p(x​)​=(x1​​x2​​)(k11​k21​​k12​k22​​)(x1​x2​​)−2(x1​​x2​​)(f1​f2​​)+c=k11​x12​+k12​x1​x2​+k21​x1​x2​+k22​x22​−2f1​x1​−2f2​x2​+c​

נגזור אותו ונקבל:

∇(x‾)=p(2k11x1+k12x2+k21x2−2f12k22x2+k12x1+k21x1−2f2)=2(k11k12+k212k12+k212k22)(x1x2)−2(f1f2)\begin{align*} \nabla (\underline{x})&=p\begin{pmatrix} 2k_{11}x_{1}+k_{12}x_{2}+k_{21}x_{2}-2f_{1} \\ 2k_{22}x_{2}+k_{12}x_{1}+k_{21}x_{1}-2f_{2} \end{pmatrix} \\ &=2\begin{pmatrix} k_{11} & \frac{k_{12}+k_{21}}{2} \\ \frac{k_{12}+k_{21}}{2} & k_{22} \end{pmatrix}\begin{pmatrix} x_{1} \\ x_{2} \end{pmatrix}-2\begin{pmatrix} f_{1} \\ f_{2} \end{pmatrix} \end{align*}∇(x​)​=p(2k11​x1​+k12​x2​+k21​x2​−2f1​2k22​x2​+k12​x1​+k21​x1​−2f2​​)=2(k11​2k12​+k21​​​2k12​+k21​​k22​​)(x1​x2​​)−2(f1​f2​​)​

בשל סימטריות KKK, הגרדיאנט הינו, כצפוי, ∇p(x‾)=2(Kx‾−f‾)\nabla p(\underline{x})=2(K\underline{x}-\underline{f})∇p(x​)=2(Kx​−f​).

הערה

  • ישנם שפע של נוסחאות של גזירה של ביטויים מטריציים-וקטוריים

פתרון בעיות באמצעות ריבועים פחותים

התאמת עקומים לנתונים

נניח כי נתון לנו אוסף צימדי נתונים {ti,bi}i=1m\left\{ t_{i},b_{i} \right\}_{i=1}^m{ti​,bi​}i=1m​ המתארים נקודות במישור (דוגמה לזה יכולה להיות בדיקה של גובה, כאשר לכל בדיקה נסמן את הגובה ואת הזמן של הבדיקה)
נניח כי אנו יודעים כי הנקודות הללו היו אמורות ליפול על קו ישר וכתוצאה מסטיות במדידות הן מפוזרות מעט.
נרצה למצוא את הישר b=αt+βb=\alpha t+\betab=αt+β שיתאים הכי טוב לנתונים

הבעיה שלפנינו הינה בעיית ריבועים פחותים קלאסית. המשימה בעצם הינה

min⁡α,β∑k=1m(αtk+β−bk)2\underset{\alpha,\beta}{\min}\sum_{k=1}^m (\alpha t_{k}+\beta-b_{k})^2α,βmin​k=1∑m​(αtk​+β−bk​)2

איך רואים שהיא ריבועים פחותים? נבנה מטריצה שעמודתה הראשונה היא אחדים והעמודה השנייה היא ערכי ttt. בנוסף, נבנה וקטור המחזיק את ערכי bbb כך:

(1t11t21t3⋮⋮1tm)(βα)−(b1b2b3⋮bm)=Ax‾−b‾\begin{pmatrix} 1 & t_{1} \\ 1 & t_{2} \\ 1 & t_{3} \\ \vdots & \vdots \\ 1 & t_{m} \end{pmatrix}\begin{pmatrix} \beta \\ \alpha \end{pmatrix}-\begin{pmatrix} b_{1} \\ b_{2} \\ b_{3} \\ \vdots \\ b_{m} \end{pmatrix}=A\underline{x}-\underline{b}​111⋮1​t1​t2​t3​⋮tm​​​(βα​)−​b1​b2​b3​⋮bm​​​=Ax​−b​

נקרא את השורה הראשונה והיא בדיוק אומרת: β+t1α−b1\beta+t_{1}\alpha-b_{1}β+t1​α−b1​. זה ביוק ריבועים פחותים: min⁡x‾∣∣Ax‾−b‾∣∣22\underset{\underline{x}}{\min}\left| \left| A\underline{x}-\underline{b} \right| \right|_{2}^2x​min​∣∣Ax​−b​∣∣22​.

מהי המשמעות הגיאומטרית של מה שראינו זה עתה? כל פתרון שיוצא ייצור סטיות בין הנקודות לבין הקו המוצע. נסמנו rkr_{k}rk​ לכל נקודה:

rk=αtk+β−bkr_{k}=\alpha t_{k}+\beta-b_{k}rk​=αtk​+β−bk​

סכום ריבועי המרחקים האלו הוא מה שאנחנו מנסים למזער בפתרון בעיית הריבועים הפחותים.

כעת נפתור זאת פרקטית:

min⁡x‾∣∣(1t11t21t3⋮⋮1tm)(βα)(b1b2b3⋮bm)∣∣22=min⁡x‾∣∣Ax‾−b‾∣∣22\underset{\underline{x}}{\min}\left| \left| \begin{pmatrix} 1 & t_{1} \\ 1 & t_{2} \\ 1 & t_{3} \\ \vdots & \vdots \\ 1 & t_{m} \end{pmatrix}\begin{pmatrix} \beta \\ \alpha \end{pmatrix}\begin{pmatrix} b_{1} \\ b_{2} \\ b_{3} \\ \vdots \\ b_{m} \end{pmatrix} \right| \right|_{2}^2=\underset{\underline{x}}{\min}\left| \left| A\underline{x}-\underline{b} \right| \right|_{2}^2x​min​​​​111⋮1​t1​t2​t3​⋮tm​​​(βα​)​b1​b2​b3​⋮bm​​​​​22​=x​min​∣∣Ax​−b​∣∣22​

הפתרון האופטימלי נתון לנו ע"י הנוסחה ממקודם:

(AtA)−1At⋅b=x‾∗=(β∗α∗)(A^tA)^{-1}A^t\cdot b=\underline{x}^*=\begin{pmatrix} \beta^* \\ \alpha^* \end{pmatrix}(AtA)−1At⋅b=x​∗=(β∗α∗​)

נסתכל מה זה AtAA^tAAtA:

AtA=(11…1t1t2…tm)(1t11t2⋮⋮1tm)=(m∑i=1mti∑i=1mti∑i=1mti2)A^tA=\begin{pmatrix} 1 & 1 & \dots & 1 \\ t_{1} & t_{2} & \dots & t_{m} \end{pmatrix}\begin{pmatrix} 1 & t_{1} \\ 1 & t_{2} \\ \vdots & \vdots \\ 1 & t_{m} \end{pmatrix}=\begin{pmatrix} m & \sum_{i=1}^m t_{i} \\ \sum_{i=1}^m t_{i} & \sum_{i=1}^m t_{i}^2 \end{pmatrix}AtA=(1t1​​1t2​​……​1tm​​)​11⋮1​t1​t2​⋮tm​​​=(m∑i=1m​ti​​∑i=1m​ti​∑i=1m​ti2​​)

נסתכל מה זה Atb‾A^t\underline{b}Atb​:

(11…1t1t2…tm)(b1b2⋮bm)=(∑i=1mbi∑i=1mtibi)\begin{pmatrix} 1 & 1 & \dots & 1 \\ t_{1} & t_{2} & \dots & t_{m} \end{pmatrix}\begin{pmatrix} b_{1} \\ b_{2} \\ \vdots \\ b_{m} \end{pmatrix}=\begin{pmatrix} \sum_{i=1}^m b_{i} \\ \sum_{i=1}^m t_{i}b_{i} \end{pmatrix}(1t1​​1t2​​……​1tm​​)​b1​b2​⋮bm​​​=(∑i=1m​bi​∑i=1m​ti​bi​​)
הערה (תזכורת)

יש פתרון יחיד לבעיית ריבועים פחותים רק כש-AAA היא בעלת עמודות בת"ל.
מתי יכול לקרות פה שיש ∞\infty∞ פתרונות? אם כל ה-ttt-ים שווים.
מספיק שיהיו שתי נקודות שונות על מנת שיהיה פתרון יחיד.

לכן מתקיים:

(β∗α∗)=x‾∗=(m∑i=1mti∑i=1mti∑i=1mti2)−1(∑i=1mbi∑i=1mtibi)\begin{pmatrix} \beta^* \\ \alpha^* \end{pmatrix}=\underline{x}^*=\begin{pmatrix} m & \sum_{i=1}^m t_{i} \\ \sum_{i=1}^m t_{i} & \sum_{i=1}^m t_{i}^2 \end{pmatrix}^{-1}\begin{pmatrix} \sum_{i=1}^m b_{i} \\ \sum_{i=1}^m t_{i}b_{i} \end{pmatrix}(β∗α∗​)=x​∗=(m∑i=1m​ti​​∑i=1m​ti​∑i=1m​ti2​​)−1(∑i=1m​bi​∑i=1m​ti​bi​​)

הסתכלות אחרת על בעיית העקומים

נבחר שתי פונקציות מעל הממשיים:

ϕ1(t)=1ϕ2(t)=t\phi_{1}(t)=1 \qquad \qquad \phi_{2}(t)=tϕ1​(t)=1ϕ2​(t)=t

הקירוב שאנו מציעים הוא צירוף של שתי פונקציות אלה מהצורה:

f(t)=βϕ1(t)+αϕ2(t)=αt+βf(t)=\beta \phi_{1}(t)+\alpha \phi_{2}(t)=\alpha t+\betaf(t)=βϕ1​(t)+αϕ2​(t)=αt+β

הקירוב שהצענו ממקודם של הריבועים הפחותים מציב את הנקודות הנתונות ומבקש שגיאה מינימלית

p(α,β)=∑i=1m(βϕ1(tk)+αϕ2(tk)−bk)2⟶α,βmin⁡p(\alpha,\beta)=\sum_{i=1}^m(\beta \phi_{1}(t_{k})+\alpha \phi_{2}(t_{k})-b_{k})^2 \underset{\alpha,\beta}{\longrightarrow} \minp(α,β)=i=1∑m​(βϕ1​(tk​)+αϕ2​(tk​)−bk​)2α,β⟶​min

זה העקום שלנו ואנו נרצה שכשנציב את tkt_{k}tk​ הוא יהיה קרוב ככל האפשר ל-bkb_{k}bk​. כך אנחנו מחפשים את הקירוב הכי מקורב.
זהו בדיוק ריבועים פחותים - נראה זאת כך:

∥(ϕ1(t1)ϕ2(tt)ϕ1(t2)ϕ2(t2)ϕ1(t3)ϕ2(t3)⋮⋮ϕ1(tm)ϕ2(tm))(βα)−(b1b2b3⋮bm)∥22=∥Ax‾−b‾∥22⟶x‾min⁡\left\lVert \begin{pmatrix} \phi_{1}(t_{1}) & \phi_{2}(t_{t}) \\ \phi_{1}(t_{2}) & \phi_{2}(t_{2}) \\ \phi_{1}(t_{3}) & \phi_{2}(t_{3}) \\ \vdots & \vdots \\ \phi_{1}(t_{m}) & \phi_{2}(t_{m}) \end{pmatrix}\begin{pmatrix} \beta \\ \alpha \end{pmatrix}-\begin{pmatrix} b_{1} \\ b_{2} \\ b_{3} \\ \vdots \\ b_{m} \end{pmatrix}\right\rVert_{2}^2=\left\lVert A\underline{x}-\underline{b} \right\rVert _{2}^2 \underset{\underline{x}}{\longrightarrow}\min​​ϕ1​(t1​)ϕ1​(t2​)ϕ1​(t3​)⋮ϕ1​(tm​)​ϕ2​(tt​)ϕ2​(t2​)ϕ2​(t3​)⋮ϕ2​(tm​)​​(βα​)−​b1​b2​b3​⋮bm​​​​22​=∥Ax​−b​∥22​x​⟶​min

כעת, נוכל להשתמש באותה הנוסחה ממקודם ולפתור ריבועים פחותים כרגיל.

שימוש בהסתכלות האחרת בתצורה מעניינת

נניח שוב כי נתון סט נקודות במישור {ti,bi}i=1m\left\{ t_{i},b_{i} \right\}_{i=1}^m{ti​,bi​}i=1m​ וברצונינו להתאים למידע זה עקום.
נניח שבשל היכרות עם מה שמידע מייצג(נניח אם אנו מבצעים ניסוי במכניקה), אנו מעוניינים לקרבו ע"י פונקציה מהצורה

f(t)=x1sin⁡(3t)+x2ln⁡(∣t+40∣+3)+x3⋅t3.5f(t)=x_{1}\sin(3t)+x_{2}\ln (|t+40|+3)+x_{3}\cdot t^{3.5}f(t)=x1​sin(3t)+x2​ln(∣t+40∣+3)+x3​⋅t3.5

כעת אנו נשאל את עצמנו מיהם x1,x2,x3x_{1},x_{2},x_{3}x1​,x2​,x3​ כדי שעקום הזה יהיה במקום הכי מוצלח, כפי שעשינו לישר ממקודם.
אם נסתכל על הפונקציה מנקודת המבט של הנעלמים, נשים לב שהבעיה שלנו היא ליניארית. לכן, נוכל לנסח את הבעיה כך:

Argmin⁡x1,x2,x3∑i=1m(f(ti)−bi)2=Argmin⁡x1,x2,x3∑i=1m(x1sin⁡(3ti)+x2ln⁡(∣ti+40∣+3)+x3ti3.5−bi)2\underset{x_{1},x_{2},x_{3}}{Arg \min}\sum_{i=1}^m(f(t_{i})-b_{i})^2=\underset{x_{1},x_{2},x_{3}}{Arg \min}\sum_{i=1}^m (x_{1}\sin(3t_{i})+x_{2}\ln(|t_{i}+40|+3)+x_{3}t_{i}^{3.5}-b_{i})^2x1​,x2​,x3​Argmin​i=1∑m​(f(ti​)−bi​)2=x1​,x2​,x3​Argmin​i=1∑m​(x1​sin(3ti​)+x2​ln(∣ti​+40∣+3)+x3​ti3.5​−bi​)2

נכתוב אותה בתצורה מטריצית-וקטורית ונראה כי היא בעיית ריבועים פחותים:

∥(sin⁡(3t1)ln⁡(∣t1+40∣+3)t13.5sin⁡(3t2)ln⁡(∣t2+40∣+3)t23.5⋮⋮⋮sin⁡(3tm)ln⁡(∣tm+40∣+3)tm3.5)(x1x2x3)−(b1b2⋮bm)∥22=∥Ax‾−b‾∥22⟶x‾min⁡\left\lVert \begin{pmatrix} \sin(3t_{1}) & \ln(|t_{1}+40|+3) & t_{1}^{3.5} \\ \sin(3t_{2}) & \ln(|t_{2}+40|+3) & t_{2}^{3.5} \\ \vdots & \vdots & \vdots \\ \sin(3t_{m}) & \ln(|t_{m}+40|+3) & t_{m}^{3.5} \end{pmatrix}\begin{pmatrix} x_{1} \\ x_{2} \\ x_{3} \end{pmatrix}-\begin{pmatrix} b_{1} \\ b_{2} \\ \vdots \\ b_{m} \end{pmatrix} \right\rVert _{2}^2=\left\lVert A\underline{x}-\underline{b} \right\rVert _{2}^2 \underset{\underline{x}}{\longrightarrow} \min​​sin(3t1​)sin(3t2​)⋮sin(3tm​)​ln(∣t1​+40∣+3)ln(∣t2​+40∣+3)⋮ln(∣tm​+40∣+3)​t13.5​t23.5​⋮tm3.5​​​​x1​x2​x3​​​−​b1​b2​⋮bm​​​​22​=∥Ax​−b​∥22​x​⟶​min

נשים לב כי אם נשווה את זה למקרה הכללי ממקודם, נקבל:

ϕ1(t)=sin⁡(3t)ϕ2(t)=ln⁡(∣t+40∣+3)ϕ3(t)=t3.5\phi_{1}(t)=\sin(3t) \qquad \phi_{2}(t)=\ln(|t+40|+3) \qquad \phi_{3}(t)=t^{3.5}ϕ1​(t)=sin(3t)ϕ2​(t)=ln(∣t+40∣+3)ϕ3​(t)=t3.5

וזה בדיוק אותו הדבר.

הכללת הרעיון

בהינתן סט נתונים {ti,bi}i=1m\left\{ t_{i},b_{i} \right\}_{i=1}^m{ti​,bi​}i=1m​, ניתן להתאים לנתונים אלו קירוב.
הקירוב נעשה בעזרת משפחה של פונקציות רצף {ϕk(t)}k=1P\large \left\{ \phi_{k}(t) \right\}_{k=1}^P{ϕk​(t)}k=1P​ אשר מצורפות ליניארית כך:

f(t)=∑k=1Pxkϕk(t)f(t)=\sum_{k=1}^P x_{k}\phi_{k}(t)f(t)=k=1∑P​xk​ϕk​(t)

הנעלמים בסיפור הזה הינם: x1,x2,…,xPx_{1},x_{2},\dots,x_{P}x1​,x2​,…,xP​.
כעת, נוכל לפרק את הביטוי הזה:

{x^i}i=1P=Argmin⁡{xi}i=1P∑i=1m(∑k=1Pxkϕk(ti)−bi)2\left\{ \hat{x}_{i} \right\}_{i=1}^P =\underset{\left\{ {x}_{i} \right\}_{i=1}^P}{Arg \min}\sum_{i=1}^m\left( \sum_{k=1}^P x_{k}\phi_{k}(t_{i})-b_{i} \right)^2{x^i​}i=1P​={xi​}i=1P​Argmin​i=1∑m​(k=1∑P​xk​ϕk​(ti​)−bi​)2

ונוכל גם לראות זאת בתצורה מטריצית-וקטורית:

∥(ϕ1(t1)ϕ2(t1)⋯ϕP(t1)ϕ1(t2)ϕ2(t2)⋯ϕP(t2)ϕ1(t3)ϕ2(t3)⋯ϕP(t3)⋮⋮⋮ϕ1(tm)ϕ2(tm)⋯ϕP(tm))(x1x2x3⋮xp)−(b1b2b3⋮bm)∥22=∥Ax‾−b‾∥22⟶x‾min⁡\left\lVert \begin{pmatrix} \phi_{1}(t_{1}) & \phi_{2}(t_{1}) & \cdots & \phi_{P}(t_{1}) \\ \phi_{1}(t_{2}) & \phi_{2}(t_{2}) & \cdots & \phi_{P}(t_{2}) \\ \phi_{1}(t_{3}) & \phi_{2}(t_{3}) & \cdots & \phi_{P}(t_{3}) \\ \vdots & \vdots & & \vdots \\ \phi_{1}(t_{m}) & \phi_{2}(t_{m}) & \cdots & \phi_{P}(t_{m}) \end{pmatrix}\begin{pmatrix} x_{1} \\ x_{2} \\ x_{3} \\ \vdots \\ x_{p} \end{pmatrix}-\begin{pmatrix} b_{1} \\ b_{2} \\ b_{3} \\ \vdots \\ b_{m} \end{pmatrix} \right\rVert_{2}^2=\left\lVert A\underline{x}-\underline{b} \right\rVert _{2}^2 \underset{\underline{x}}{\longrightarrow} \min​​ϕ1​(t1​)ϕ1​(t2​)ϕ1​(t3​)⋮ϕ1​(tm​)​ϕ2​(t1​)ϕ2​(t2​)ϕ2​(t3​)⋮ϕ2​(tm​)​⋯⋯⋯⋯​ϕP​(t1​)ϕP​(t2​)ϕP​(t3​)⋮ϕP​(tm​)​​​x1​x2​x3​⋮xp​​​−​b1​b2​b3​⋮bm​​​​22​=∥Ax​−b​∥22​x​⟶​min

כעת, נקבל את המקדמים האופטימליים ע"י:

At(Ax‾−b‾)=0‾  ⟹  x‾^=(AtA)−1Atb‾A^t(A\underline{x}-\underline{b})=\underline{0} \implies \hat{\underline{x}}=(A^tA)^{-1}A^t\underline{b}At(Ax​−b​)=0​⟹x​^​=(AtA)−1Atb​

כעת קיבלנו את ה-xxx-ים שלנו, אך זה עדיין לא העקום אותו אנו מחפשים. את העקום נוכל למצוא ע"י הצבת ה-xxx-ים מחדש:

f^(t)=∑k=1Px^kϕk(t)\hat{f}(t)=\sum_{k=1}^P \hat{x}_{k}\phi_{k}(t)f^​(t)=k=1∑P​x^k​ϕk​(t)

וזה כל הסיפור.

על בחירת הפונקציות ϕt\phi_{t}ϕt​

ישנו חופש מוחלט בבחירת הפונקציות והיא נעשית מתוך הבנת המשימה.

דוגמה (פולינומים)

{ϕk(t)}k={tk}k=0p\left\{ \phi_{k}(t) \right\}_{k}=\left\{ t^k \right\}_{k=0}^p{ϕk​(t)}k​={tk}k=0p​

במקרה זה המטריצה AAA בעלת מבנה מוכר בשם ונדרמונדה.

(1t1t22…t1p1t2t22…t2p⋮⋮⋮⋮1tmtm2…tmp)\begin{pmatrix} 1 & t_{1} & t_{2}^2 & \dots & t_{1}^p \\ 1 & t_{2} & t_{2}^2 & \dots & t_{2}^p \\ \vdots & \vdots & \vdots & & \vdots \\ 1 & t_{m} & t_{m}^2 & \dots & t_{m}^p \end{pmatrix}​11⋮1​t1​t2​⋮tm​​t22​t22​⋮tm2​​………​t1p​t2p​⋮tmp​​​

המטריצה אומרת שהבעיה היא לקחת mmm נקודות במישור ובעזרתן להגיע לפולינום מדרגה m−1m-1m−1.
מסתבר, שאם הנקודות האלו tit_{i}ti​ שונות, אזי יש פולינום אחד ויחיד שיכול לעבור דרך כל הנקודות. כלומר, אם p+1=mp+1=mp+1=m, זוהי מטריצה הפיכה!
בנוסף, אם יש יותר נקודות מדרגת הפולינום, המטריצה בעלת דרגה מלאה אם ה-tkt_{k}tk​ שונים זה מזה ולכן לבעיית הקירוב שלנו קיים פתרון יחיד.

דוגמה (פונקציות הרמוניות)

{ϕk(t)}k={cos⁡2πktM,sin⁡2πktM}k=0P\left\{ \phi_{k}(t) \right\}_{k}=\left\{ \cos \frac{2\pi kt}{M},\sin \frac{2\pi kt}{M} \right\}_{k=0}^P{ϕk​(t)}k​={cosM2πkt​,sinM2πkt​}k=0P​

נושא זה קשור להתמרות פורייה עליו נדבר לקראת סוף הקורס.

ריבועים פחותים ממושקלים

נניח עכשיו כי במקום שני נתונים אנו מקבלים שלושה כאשר הנתון השלישי הוא אי שלילי והוא מדד לאמינותה של הנקודה(ערך גבוה לאמינות גבוהה)

{ti,bi,wi}i=1m\left\{ t_{i},b_{i},w_{i} \right\}_{i=1}^m{ti​,bi​,wi​}i=1m​

אנו רוצים, כמו ממקודם, להתאים לנתונים אלו קירוב מהצורה הכללית f(t)=∑k=1pxkϕk(t)f(t)=\sum_{k=1}^px_{k}\phi_{k}(t)f(t)=∑k=1p​xk​ϕk​(t) כשנקח בחשבון את wiw_{i}wi​.
הביטוי אותו נרצה להביא למינימום הוא:

{x^i}i=1p=Argmin⁡{xi}i=1p∑i=1mwi(∑k=1pxkϕk(ti)−bi)2\left\{ \hat{x}_{i} \right\}_{i=1}^p =\underset{\left\{ {x}_{i} \right\}_{i=1}^p}{Arg \min}\sum_{i=1}^m {\color{red}w_{i}}\left( \sum_{k=1}^px_{k}\phi_{k}(t_{i})-b_{i} \right)^2{x^i​}i=1p​={xi​}i=1p​Argmin​i=1∑m​wi​(k=1∑p​xk​ϕk​(ti​)−bi​)2

נשים לב כי עכשיו אנחנו עושים סוג של ממוצע משוקלל של כל הנקודות שלנו. נוכל גם לרשום זאת כך:

{x^i}i=1p=Argmin⁡{xi}i=1p∑i=1mwiri2(x‾)\left\{ \hat{x}_{i} \right\}_{i=1}^p =\underset{\left\{ {x}_{i} \right\}_{i=1}^p}{Arg \min}\sum_{i=1}^m w_{i}r_{i}^2(\underline{x}){x^i​}i=1p​={xi​}i=1p​Argmin​i=1∑m​wi​ri2​(x​)

כאשר ri(x‾)=∑k=1pxkϕk(ti)−bir_{i}(\underline{x})=\sum_{k=1}^px_{k}\phi_{k}(t_{i})-b_{i}ri​(x​)=∑k=1p​xk​ϕk​(ti​)−bi​.
כעת, נראה איך זה נראה באופן מטריצי-וקטורי. לשם כך, נגדיר מחדש את הנורמה:

(Ax‾−b‾)tW(Ax‾−b‾)=∥Ax‾−b‾∥W2⟶x‾min⁡(A\underline{x}-\underline{b})^tW(A\underline{x}-\underline{b})=\left\lVert A\underline{x}-\underline{b} \right\rVert _{W}^2 \underset{\underline{x}}{\longrightarrow} \min(Ax​−b​)tW(Ax​−b​)=∥Ax​−b​∥W2​x​⟶​min
הערה

ה-WWW בנורמה הוא רק סימון כדי להגיד לנו שזה משוקלל.

נתחיל לפרק כדי למצוא פתרון:

(Ax‾−b‾)tW(Ax‾−b‾)=x‾tAtWAx‾−2x‾tAtWb‾+b‾tWb‾(A\underline{x}-\underline{b})^tW(A\underline{x}-\underline{b})=\underline{x}^tA^tWA\underline{x}-2\underline{x}^tA^tW\underline{b}+\underline{b}^tW\underline{b}(Ax​−b​)tW(Ax​−b​)=x​tAtWAx​−2x​tAtWb​+b​tWb​

מכאן נובע כי הפתרון לבעיית הריבועים הפחותים במקרה זה חייבת לקיים:

AtWAx‾∗=AtWb‾A^tWA\underline{x}^*=A^tW\underline{b}AtWAx​∗=AtWb​
הערה

נרצה שב-WWW יהיו רק ערכים חיוביים(לא מינוסים ולא אפס) כדי ש-AtWAA^tWAAtWA תוכל להיות חיובית מוגדרת(והיא תהיה במידה ועמודות AAA בת"ל)

רגולריזציה

נרצה להציע תיקון או הרחבה לבעיית הריבועים הפחותים על מנת להימנע ממצב של ∞\infty∞ פתרונות. טכניקה זו תקרא רגולריזציה.
ריבוי הפתרונות קורה כאשר המטריצה AtAA^tAAtA אינה הפיכה.
נבחין כי המטריצה AtA+λIA^tA+\lambda IAtA+λI כאשר λ>0\lambda>0λ>0 היא מטריצה חיובית מוגדרת.
הוכחה:

∀x‾≠0x‾t(AtA+λI)x‾=x‾tAtAx‾+λx‾tx‾=∥Ax‾∥22+λ∥x‾∥22≥λ∥x‾∥22>0\begin{align*} \forall \underline{x} \neq 0 \qquad & \underline{x}^t(A^tA+\lambda I)\underline{x}=\underline{x}^tA^tA\underline{x}+\lambda \underline{x}^t\underline{x}=\left\lVert A\underline{x} \right\rVert _{2}^2 \end{align*}+\lambda \left\lVert \underline{x} \right\rVert _{2}^2\geq \lambda \left\lVert \underline{x} \right\rVert _{2}^2 >0∀x​=0​x​t(AtA+λI)x​=x​tAtAx​+λx​tx​=∥Ax​∥22​​+λ∥x​∥22​≥λ∥x​∥22​>0

∎

נבצע שינוי לבעיית הריבועים הפחותים שלנו כך שהמשוואה הנורמלית החדשה תהיה:

(AtA+λI)x‾∗=Atb‾(A^tA+\lambda I)\underline{x}^*=A^t\underline{b}(AtA+λI)x​∗=Atb​

בהתאם, נקבל את המשפט הבא:

משפט

לבעיה הריבועית הבאה עם λ>0\lambda>0λ>0

min⁡x‾(∥Ax‾−b‾∥22+λ∥x‾∥22)\underset{\underline{x}}{\min}\left(\left\lVert A\underline{x}-\underline{b} \right\rVert _{2}^2+\lambda \left\lVert \underline{x} \right\rVert _{2}^2\right)x​min​(∥Ax​−b​∥22​+λ∥x​∥22​)

יש פתרון יחיד הנתון ע"י:

x‾∗=(AtA+λI)−1Atb‾\underline{x}^*=(A^tA+\lambda I)^{-1}A^t\underline{b}x​∗=(AtA+λI)−1Atb​

הביטוי שהתווסף הוא הרגולריזציה והוא נקרא כך כי הוא הופך את הבעיה לרגולרית(מיוצבת)
אנו נדון רק בפאן האלגברי של רעיון זה בקורס זה.
הוכחה:
נגזור את הפונקציה ונשווה לאפס:

p(x)=∥Ax‾−b‾∥22+λ∥Ix‾−0‾∥22p(x)=\left\lVert A\underline{x}-\underline{b} \right\rVert _{2}^2+\lambda \left\lVert I\underline{x}-\underline{0} \right\rVert _{2}^2p(x)=∥Ax​−b​∥22​+λ∥Ix​−0​∥22​ ∇xp(x)=2At(Ax‾−b‾)+2λIt(Ix‾−0)=2At(Ax‾−b‾)+2λx‾=0\nabla_{x}p(x)=2A^t(A\underline{x}-\underline{b})+2\lambda I^t(I\underline{x}-0)=2A^t(A\underline{x}-\underline{b})+2\lambda \underline{x}=0∇x​p(x)=2At(Ax​−b​)+2λIt(Ix​−0)=2At(Ax​−b​)+2λx​=0

נקבל:

(AtA+λI)x‾=Atb‾(A^tA+\lambda I)\underline{x}=A^t\underline{b}(AtA+λI)x​=Atb​

∎

הערה

הרגולריזציה מתעדפת פתרונות קצרים ב-L2L_{2}L2​ בשל הקנס המושת על פתרון ארוך.

הכללת הרגולריזציה

ניתן להציע רגולריזציה כללית יותר מהתצורה:

min⁡x‾(∥Ax‾−b‾∥22+λ∥Cx‾∥22)\underset{\underline{x}}{\min}\left(\left\lVert A\underline{x}-\underline{b} \right\rVert_{2}^2+\lambda \left\lVert C\underline{x} \right\rVert_{2}^2 \right)x​min​(∥Ax​−b​∥22​+λ∥Cx​∥22​)

במקרה זה, אם CtCC^tCCtC חיובית מוגדרת, הפתרון לבעיה החדשה יחיד.

p(x‾)=∥Ax‾−b‾∥22+λ∥Cx‾∥22p(\underline{x})=\left\lVert A\underline{x}-\underline{b} \right\rVert_{2}^2+\lambda \left\lVert C\underline{x} \right\rVert_{2}^2p(x​)=∥Ax​−b​∥22​+λ∥Cx​∥22​ 2At(Ax‾−b‾)+2CtCx‾=0  ⟺  (AtA+λCtC)−1⋅Atb‾=x‾2A^t(A\underline{x}-\underline{b})+2C^tC\underline{x}=0 \iff (A^tA+\lambda C^tC)^{-1}\cdot A^t\underline{b}=\underline{x}2At(Ax​−b​)+2CtCx​=0⟺(AtA+λCtC)−1⋅Atb​=x​
הערה

אם בעיית הריבועים הפחותים בעלת אינסוף פתרונות, הרגולריזציה תמיר זאת לבעיה חדשה בעלת פתרון יחיד, אבל הפתרון שייווצר אינו אחד מ-∞\infty∞ הפתרונות הללו, אלא פתרון אחר.