הרצאה 2 - רגרסיה לינארית

PDF

מה נלמד היום

Supervised learing (למידה מונחית)

  • בעיות supervised learning הם הבסיסיות ביותר בתחום והבנה טובה של בעיות אלו היא הבסיס להבנה של כל שאר הבעיות במערכות לומדות.
  • בקורס זה אנו נעסוק בעיקר בבעיות מסוג זה.
  • על מנת להבין מה הם בעיות supervised learning עלינו ראשית לחזור על הנושא של בעיות חיזוי.

בעיית החיזוי

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

הקשר ל supervised learning

  • בבעיות חיזוי קלאסיות, אנו מניחים שהפילוג ידוע.
  • בsupervised learning (ובמערכות לומדות) אנו מניחים כי הפילוג אינו ידוע.
  • במקום הפילוג יש לנו מדגם.
  • את החזאי נאלץ כעת לבנות על סמך המדגם (במקום על סמך הפילוג).

סימונים ושמות

  • Labels (תויות / תגיות):

    y\text{y} - המשתנה האקראי שאותו אנו מנסים לחזות. (לרוב סקלר)

  • Observations \ measurements (תצפיות או מדידיות):

    x\mathbf{x} - הוקטור האקראי אשר שעלפיו נרצה לבצע את החיזוי. (לרוב וקטור)

  • y^\hat{y} - תוצאת חיזוי.
  • H\mathcal{H} - מרחב החזאים \ השערות
  • y^=h(x)\hat{y}=h(\boldsymbol{x}) - פונקציית החיזוי. hHh\in\mathcal{H}.
  • DD אורך של הוקטור x\boldsymbol{x}

The dataset (המדגם)

המדגם יהיה מורכב מדגימות של הזוג x\boldsymbol{x} ו yy:

D={x(i),y(i)}i=1N\mathcal{D}=\{\boldsymbol{x}^{(i)}, y^{(i)}\}_{i=1}^N

כאשר NN הוא מספר הדגימות שבמדגם.


הנחת ה i.i.d.

אנו תמיד נניח כי הדגימות נוצרו כולם מאותו הפילוג באופן בלתי תלוי אחת בשניה.

זאת אומרת שבעבור זוג אינדקסים iji\neq j הדגימה {x(i),y(i)}\{\mathbb{x}^{(i)}, {y}^{(i)}\} הינה בלתי תלויה סטטיסטית בדגימה {x(j),y(j)}\{\mathbb{x}^{(j)}, {y}^{(j)}\}.

Regression vs. Classification

מוקבל לחלק את הבעיות ב supervised learning לשני תתי תחומים:


  • בעיות regression (רגרסיה) - y\text{y} רציף.

  • בעיות classification (סיווג) - y\text{y} בדיד עם סט ערכים סופי (לרוב קטן).

דוגמא לבעיית רגרסיה

הבעיה של חיזוי משך הנסיעה


ניסוח פורמלי - חיזוי משך הנסיעה

  • Labels - y\text{y} - המשתנה האקראי של זמן הנסיעה.
  • Measurements - x\text{x} - המשתנה האקראי של מספר המכוניות על הכביש.
  • hh - פונקציית החיזוי אשר מקבלת את מספר המכוניות על הכביש ומוציאה חיזוי של זמן הנסיעה.
  • D\mathcal{D} - מדגם הנתון של הזוגות של (מספר מכוניות, זמן נסיעה).

המטרה שלנו הינה להשתמש ב D\mathcal{D} על מנת למצוא חזאי y^=h(x)\hat{y}=h(x) אשר יהיה כמה שיותר מוצלח תחת קריטריון שאותו נצטרך להגדיר.

החזאי האופטימאלי

  • כל פונקציה אשר ממפה מ x\boldsymbol{x} ל yy היא פונקציית חיזוי חוקית.
  • היינו מעוניינים למצוא חזאי אשר לעולם לא טועה.
  • מכיוון שy\text{y} משתנה אקראי לא נוכל לחזותו במדוייק.
  • אנו צריכים להגדיר דרך להשוות בין הטעויות שאותם מבצעים החזאים שונים. (לדוגמא, הרבה טעויות קטנות או מעט גדולות)

השלבים הכלליים לפתרון הבעיה

  1. נגדיר קריטריון מתמטי אשר מודד עד כמה מודל מסויים מצליח לבצע את המשימה.
  2. נבחר משפחה רחבה של מודלים בתקווה שלפחות אחד מהם יהיה מוצלח מספיק.
  3. נחפש מבין כל המודלים במשפחה את המודל המוצלח ביותר.

The cost function (פונקציית המחיר)

  • פונקציית המחיר C(h)C(h) מעניקה לכל חזאי ציון.
  • ציון נמוך יותר = חזאי טוב יותר.
  • החזאי האופטימאלי hh^* הוא החזאי בעל הציון הנמוך ביותר:
h=argminhHC(h)h^* = \underset{h\in\mathcal{H}}{\arg\min}C(h)
  • פונקציית המחיר אמורה לשקף את המחיר אותו "נשלם" על שימוש בחזאי כל שהוא.
  • בפועל, משתמשים באחת מכמה פונקציות מחיר נפוצות.

Risk and loss functions
(פונקציות סיכון והפסד)

  • פונקציית הcost נותנת ציון לחזאי.
  • פונקציית הloss (הפסד) ll נותנת ציון לחיזוי בודד.
l(h(x),y)=l(y^,y)l(h(\boldsymbol{x}),y)=l(\hat{y},y)
  • ניתן להגדיר את פונקציית הcost כתוחלת על פונקציית loss:
C(h)=E[l(h(x),y)]C(h)=\mathbb{E}\left[l(h(\mathbf{x}),\text{y})\right]
  • במקרים כאלה, מוקבל להשתמש בשם risk ובסימון:
R(h)=E[l(h(x),y)]R(h)=\mathbb{E}\left[l(h(\mathbf{x}),\text{y})\right]

פונקציות loss (risk) נפוצות

Zero-one loss (misclassification rate):

l(y^,y)=I{y^y},R(h)=E[I{h(x)y}] l(\hat{y},y)=I\{\hat{y}\neq y\}, \qquad R(h)=\mathbb{E}\left[I\{h(\boldsymbol{x})\neq y\}\right]

נפוצה בבעיות classification.

l2l_2 loss (mean squared error (MSE)):

l(y^,y)=(y^y)2,R(h)=E[(h(x)y)2] l(\hat{y},y)=(\hat{y}-y)^2, \qquad R(h)=\mathbb{E}\left[(h(\boldsymbol{x})-y)^2\right]

נפוצה בבעיות regression.
בנוסף קיים גם root mean squared error (RMSE).

l1l_1 loss (mean absolute error (MAE)):

l(y^,y)=y^y,R(h)=E[h(x)y] l(\hat{y},y)=|\hat{y}-y|, \qquad R(h)=\mathbb{E}\left[|h(\boldsymbol{x})-y|\right]

גם כן נפוצה בבעיות regression.

בעיה: הפילוג של המשתנים לא ידוע

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

  • בעיה זו קיימת לא רק בפונקציות מחיר מסוג סיכון.

גישות לפתרון בעיות supervised learning

הגישה הגנרטיבית

מדגם

פילוג על סמך המדגם

חזאי אופטימאלי בהינתן הפילוג

הגישה הדיסקרימינטיבית

מדגם
️▼
חזאי בעל ביצועים טובים על המדגם


שיערוך אמפירי של פונקציית המחיר / סיכון

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

Empirical risk (סיכון אמפירי)

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


אנו נשתמש בסימון E^D\hat{\mathbb{E}}_{\mathcal{D}} על מנת לסמן את תחולת האמפירית המבוססת על המדגם נתון D\mathcal{D}.

E[f(x)]E^D[f(x)]=1Ni=1Nf(x(i))\mathbb{E}\left[f(\text{x})\right] \approx\hat{\mathbb{E}}_{\mathcal{D}}\left[f(x)\right] =\frac{1}{N}\sum_{i=1}^Nf(x^{(i)})

כאשר מספר הדגימות NN הולך לאין סוף התוחלת האמפירית מתכנסת לתוחלת האמיתית במובן הסתברותי.

Empirical risk (סיכון אמפירי) - המשך

הסיכון האמפירי המקבל הינו:

R(h)=E[l(h(x),y)]R^(h)=1Ni=1N[l(h(x(i)),y(i))]R(h)=\mathbb{E}\left[l(h(\mathbf{x}),\text{y})\right] \approx\hat{R}(h)=\frac{1}{N}\sum_{i=1}^N\left[l(h(\boldsymbol{x}^{(i)}),y^{(i)})\right]

התאמת יתר

השימוש בגרסא האמפירית של פונקציית המחיר היא במקרים רבים בעייתית והיא גורמת בין היתר לתופעה המוכנה overfitting (התאמת יתר).


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

Empirical risk minimization (ERM)

  • רלוונטי למקרים בהם פונקציית המחיר מוגדרת כפונקציית סיכון.
  • מנסה ישירות למצוא חזאי אשר ימזער את הסיכון האמפירי:
hD=argminhH1Ni=1N[l(h(x(i)),y(i))]h^*_{\mathcal{D}} =\underset{h\in\mathcal{H}}{\arg\min}\frac{1}{N}\sum_{i=1}^N\left[l(h(\boldsymbol{x}^{(i)}),y^{(i)})\right]

התלות במדגם

hD=argminhH1Ni=1N[l(h(x(i)),y(i))]h^*_{\mathcal{D}} =\underset{h\in\mathcal{H}}{\arg\min}\frac{1}{N}\sum_{i=1}^N\left[l(h(\boldsymbol{x}^{(i)}),y^{(i)})\right]

למה hDh_{\mathcal{D}}^* לא hh^*?

  1. על מנת להדגיש את התלות של החזאי במדגם (לכל מדגם יהיה חזאי אופטימאלי אחר).
  1. בכדי להבדיל את החזאי של ERM מהחזאי האופטימאלי.

מודלים פרמטריים

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


מוטיבציה:

  1. הגבלת המודל למשפחה מצומצמת של מודלים מסייעת למזער את הoverfitting (בהרצאה הבאה).
  2. יותר פרקטי לנסות לחפש פרמטרים של מודל מאשר חיפוש כללי של פונקציה במרחב הפונקציות.

מודלים פרמטריים - המשך

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


לדוגמא:

h(x;θ)=θ13x1+x4θ2log(θ3x2)h(\boldsymbol{x};\boldsymbol{\theta})=\frac{\theta_1^3x_1+x_4^{\theta_2}}{\log(\theta_3x_2)}

מודלים פרמטריים - דוגמאות

  1. פונקציות לינאריות:
h(x;θ)=θ1x1+θ2x2+θ2x2 h(\boldsymbol{x};\boldsymbol{\theta})=\theta_1 x_1+\theta_2 x_2+\theta_2 x_2
  1. פולינומים:
h(x;θ)=θ1+θ2x1+θ3x12+θ4x13h(\boldsymbol{x};\boldsymbol{\theta})=\theta_1 + \theta_2 x_1 + \theta_3 x_1^2 + \theta_4 x_1^3
  1. טור פוריה סופי:
h(x;θ)=θ1sin(πx)+θ2cos(πx)+θ3sin(2πx)+θ4cos(2πx)h(\boldsymbol{x};\boldsymbol{\theta})=\theta_1 \sin(\pi x) + \theta_2 \cos(\pi x) + \theta_3 \sin(2\pi x) + \theta_4 \cos(2\pi x)
  1. רשתות נוירונים

מודלים פרמטריים - מיפוי לוקטורים

  • מודל פרמטרי ממפה כל פונקציה מהמשפחה הפרמטרית לוקטור.
  • יש לנו סט עשיר של כלים לעבודה עם וקטורים.
  • לדוגמא: שימוש ב gradient descent למציאת מינימום לוקאלי.

ניתן כעת לרשום את בעיית האופטימיזציה כאופטימיזציה על הפרמטרים (במקום על hh):

θ=argminθC(h(;θ))\boldsymbol{\theta}^* = \underset{\boldsymbol{\theta}}{\arg\min}C(h(\cdot;\boldsymbol{\theta}))

או במקרה של ERM:

θD=argminθ1Ni=1N[l(h(xi;θ),yi)]\boldsymbol{\theta}^*_{\mathcal{D}} = \underset{\boldsymbol{\theta}}{\arg\min}\frac{1}{N}\sum_{i=1}^N\left[l(h(\boldsymbol{x}_i;\boldsymbol{\theta}),y_i)\right]

מודל לינארי

מודל מהצורה:

h(x;θ)=θ1x1+θ2x2++θDxDh(\boldsymbol{x};\boldsymbol{\theta})=\theta_1 x_1+\theta_2 x_2+\dots+\theta_D x_D

או בצורה וקטורית:

h(x;θ)=xθh(\boldsymbol{x};\boldsymbol{\theta})=\boldsymbol{x}^{\top}\boldsymbol{\theta}

איבר היסט (bias)

ניתן להוסיף למודל גם איבר bias:

h(x;θ)=θ1+x[θ2,θ3,,θD+1]h(\boldsymbol{x};\boldsymbol{\theta})=\theta_1 + \boldsymbol{x}^{\top}[\theta_2, \theta_3, \dots, \theta_{D+1}]^{\top}

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

h(x;θ,θ0)=θ0+xθh(\boldsymbol{x};\boldsymbol{\theta},\theta_0)=\theta_0 + \boldsymbol{x}^{\top}\boldsymbol{\theta}

לרוב נסמן אותו בעזרת bb או θ0\theta_0.




נראה בהמשך דרך נוחה יותר להוספת איבר ההיסט בעזרת שינוי של הוקטור x\boldsymbol{x}.

Linear Least Squares (LLS)

MSE + מודל לינארי + ERM:

θD=argminθ1Ni=0N(x(i)θy(i))2\boldsymbol{\theta}^*_{\mathcal{D}} =\underset{\boldsymbol{\theta}}{\arg\min} \frac{1}{N}\sum_{i=0}^N(\boldsymbol{x}^{(i)\top}\boldsymbol{\theta}-y^{(i)})^2


בעיית הLLS נפוצה מאד ומופיעה בתחומים רבים.




אחת התכונות הנחמדות ביותר של LLS הוא העובדה שניתן לפתור את הבעיית האופטימיזציה שלו באופן אנליטי.

LLS - כתיב מטריצי

נגדיר את הוקטור והמטריצה הבאים:

  • וקטור התגיות:

    y=[y(1),y(2),,y(N)]\boldsymbol{y}=[y^{(1)},y^{(2)},\cdots,y^{(N)}]^{\top}
  • מטריצת המדידות:

    X=[x(1)x(2)x(N)]X=\begin{bmatrix} - & \boldsymbol{x}^{(1)} & - \\ - & \boldsymbol{x}^{(2)} & - \\ & \vdots & \\ - & \boldsymbol{x}^{(N)} & - \end{bmatrix}

Linear least squares - כתיב מטריצי

y=[y(1),y(2),,y(N)]X=[x(1)x(2)x(N)]\boldsymbol{y}=[y^{(1)},y^{(2)},\cdots,y^{(N)}]^{\top} \qquad X=\begin{bmatrix} - & \boldsymbol{x}^{(1)} & - \\ - & \boldsymbol{x}^{(2)} & - \\ & \vdots & \\ - & \boldsymbol{x}^{(N)} & - \end{bmatrix}


בעזרת הגדרות אלו, ניתן לרשום את בעיית האופטימיזציה של LLS באופן הבא:

θD=argminθ1Ni=0N(x(i)θy(i))2=argminθ1NXθy22\begin{aligned} \boldsymbol{\theta}^*_{\mathcal{D}} &=\underset{\boldsymbol{\theta}}{\arg\min} \frac{1}{N}\sum_{i=0}^N(\boldsymbol{x}^{(i)\top}\boldsymbol{\theta}-y^{(i)})^2\\ &=\underset{\boldsymbol{\theta}}{\arg\min} \frac{1}{N}\lVert X\boldsymbol{\theta}-\boldsymbol{y}\rVert_2^2 \end{aligned}

Linear least squares - פתרון סגור

θD=argminθ1NXθy22\boldsymbol{\theta}^*_{\mathcal{D}} =\underset{\boldsymbol{\theta}}{\arg\min} \frac{1}{N}\lVert X\boldsymbol{\theta}-\boldsymbol{y}\rVert_2^2

בבעיית האופטימיזציה הזו ניתן להגיע לפתרון סגור על ידי גזירה והשוואה ל-0:

θ(1NXθy22)=0\nabla_{\theta}\left(\frac{1}{N}\lVert X\boldsymbol{\theta}-\boldsymbol{y}\rVert_2^2\right)=0 θ=(XX)1Xy\Rightarrow \boldsymbol{\theta} = (X^{\top}X)^{-1}X^{\top}\boldsymbol{y}

(את הפיתוח תראו בתרגול 3)


פתרון זה נכון רק כאשר המטריצה XXX^{\top}X הפיכה. (בשבוע הבא נדבר על הנושא של רגולריזציה אשר יכול לעזור, בין היתר, במקרים שבהם המטריצה לא הפיכה).

בחזרה לדוגמא


נשתמש במודל:

h(x;θ)=θx h(x;\theta)=\theta x

ונפתור בעזרת LLS.

בחזרה לדוגמא

h(x;θ)=θxh(x;\theta)=\theta x

בעבור מקרה זה, נקבל ש: X=[x(1),x(2),,x(N)]X=[x^{(1)}, x^{(2)}, \dots, x^{(N)}]^{\top}.


נחשב את θ\theta על ידי:

θD=(XX)1Xy\theta^*_{\mathcal{D}}=(X^{\top}X)^{-1}X^{\top}\boldsymbol{y}

התוצאה המקבלת הינה:


הוספת איבר היסט

נרצה להשתמש במודל מהצורה:

h(x;θ)=θ1+θ2xh(x;\boldsymbol{\theta})=\theta_1 + \theta_2 x

בעיה: הפתרון הסגור של LLS לא מתייחס למודל זה (עם bias).



פתרון: ננסח מחדש את הבעיה כך שיתקבל מודל ללא איבר היסט.

עיבוד מקדים

  • אנו לא חייבים להשתמש בנתונים בצורתם הגולמית.
  • מותר לנו לבצע עיבוד מקדים של הנתונים לפני שאנו מזינים אותם לחזאי.
  • העיבוד המקדים יכול לפעול על כל וקטור המדידות x\boldsymbol{x}, ולייצר וקטור חדש:
xnew=Φ(x)\boldsymbol{x}_{\text{new}}=\Phi(\boldsymbol{x})

פעולת החיזוי תהיה:

y^=h(Φ(x);θ)\hat{y}=h(\Phi(\boldsymbol{x});\boldsymbol{\theta})

מאפיינים

את המוצא של הפונקציה Φ\Phi מקובל לכנות וקטור המאפיינים (features). השימוש במאפיינים מאפשר דברים כגון:

  • הרחבת מודלים פשוטים למודלים מורכבים יותר.
  • החלפת האופן שבו המידע מיוצג. לדוגמא:

    • החלפת יחידות.
    • הפיכת תמונת פנים לוקטור של מאפיינים כגון: המרחק בין העיניים, גוון העור, עד כמה הפנים אליפטיות וכו'
    • ניקוי רעשים בהקלטות audio.
  • הפחתת overfitting (נראה לקראת סוף הקורס כשנדבר על הורדת מימד).

פונקציות המאפיינים

אנו נשתמש לפעמים בסימון הבא:

Φ(x)=[φ1(x),φ2(x),,φM(x)]\Phi(\boldsymbol{x})=[\varphi_1(\boldsymbol{x}),\varphi_2(\boldsymbol{x}),\dots,\varphi_M(\boldsymbol{x})]^{\top}

כאן Φ\Phi הוא וקטור של פונקציות, כאשר כל פונקציה φi\varphi_i אחראית על ייצור של איבר אחד בוקטור xnew\boldsymbol{x}_{\text{new}}:

xnew,i=φi(x)x_{\text{new},i}=\varphi_i(\boldsymbol{x})

מודלים לינאריים ומאפיינים

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

y^=h(x;θ)=hlinear(Φ(x);θ)=Φ(x)θ=θ1φ1(x)+θ2φ2(x)++θMφM(x)\begin{aligned} \hat{y} &=h(\boldsymbol{x};\theta) =h_{\text{linear}}(\Phi(\boldsymbol{x});\theta) =\Phi(\boldsymbol{x})^{\top}\boldsymbol{\theta}\\ &=\theta_1 \varphi_1(\boldsymbol{x})+\theta_2 \varphi_2(\boldsymbol{x})+\dots+\theta_M \varphi_M(\boldsymbol{x}) \end{aligned}

זאת אומרת מודל שהוא קומבינציה לינארית של פונקציות של x\boldsymbol{x}.




שימו לב: המודל נקרא מודל לינארי משום שהוא לינארי בפרמטרים שהם הנעלמים בבעיה (ולא ב x\boldsymbol{x})

דוגמא: הוספה של איבר ההיסט

נוסיף כעת איבר היסט למודל שלנו לשיערוך זמן הנסיעה.

נעשה זאת על ידי שימוש במאפיינים הבאים:

φ1(x)=1,φ2(x)=x\varphi_1(x)=1,\quad\varphi_2(x)=x

כל דגימה xx תהפוך לוקטור xnew=[1,x]x_{\text{new}}=[1, x]^{\top} ומודל החיזוי שלנו יהיה:

h(x;θ)=θ1+θ2xh(x;\boldsymbol{\theta})=\theta_1 + \theta_2 x

מטריצת המדידות XX תהיה כעת:

X=[1x(1)1x(2)1x(N)]X=\begin{bmatrix} 1 & x^{(1)} \\ 1 & x^{(2)} \\ \vdots & \vdots\\ 1 & x^{(N)} \end{bmatrix}

דוגמא: הוספה של איבר ההיסט

הצבה של מטריצה זו בנוחסא ל θD\boldsymbol{\theta}^*_{\mathcal{D}} נותנת את המודל הלינארי הבא:

דוגמא נוספת - פולינומים

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