Smart-World Surf

Unit 4: מודלים לינאריים: סיווג

חיזוי קטגוריות באמצעות רגרסיה לוגיסטית.
רגרסיה לוגיסטיתפונקציית סיגמואידפונקציית עלות (Cross-Entropy)החלטת סף

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

רגרסיה לוגיסטית: המהות והצורך

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

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

  • פלט לא מוגבל: רגרסיה לינארית יכולה להפיק ערכים מחוץ לטווח [0, 1], מה שמקשה על פרשנותם כהסתברויות.
  • רגישות לערכי קיצון: ערכי קיצון יכולים להשפיע באופן דרמטי על קו הרגרסיה, ולשנות את גבול ההחלטה באופן לא רצוי.
  • פונקציית עלות לא קמורה: שימוש בפונקציית עלות של שגיאה ריבועית (MSE) יחד עם פונקציית אקטיבציה שאינה לינארית (כמו סיגמואיד) יוביל לפונקציית עלות לא קמורה, עם מספר מינימום מקומיים, מה שיקשה על מציאת הפתרון האופטימלי באמצעות ירידה בגרדיאנט.

פונקציית הסיגמואיד (Sigmoid Function)

הליבה של הרגרסיה הלוגיסטית היא פונקציית הסיגמואיד, הידועה גם כפונקציה הלוגיסטית. היא מאפשרת לנו למפות את הפלט הלינארי (שהוא ערך רציף כלשהו) לטווח של [0, 1], ובכך לפרש אותו כהסתברות.

פונקציית סיגמואיד: פונקציה מתמטית הממפה כל מספר ממשי לערך בטווח (0, 1). היא מוגדרת כ- \( \sigma(z) = \frac{1}{1 + e^{-z}} \), כאשר \( z \) הוא השילוב הלינארי של התכונות והמשקולות: \( z = \mathbf{w}^T \mathbf{x} + b \).

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

  • המרת ציון לינארי להסתברות: הציון \( z \) יכול להיות כל מספר ממשי, אך הסיגמואיד הופך אותו להסתברות \( P(y=1|\mathbf{x}) \).
  • פונקציה חלקה וגזירה: תכונה זו חיונית לצורך שימוש באלגוריתמי אופטימיזציה כמו ירידה בגרדיאנט.

פונקציית עלות (Cross-Entropy)

כדי לאמן מודל רגרסיה לוגיסטית, עלינו להגדיר פונקציית עלות (או פונקציית הפסד) המודדת עד כמה תחזיות המודל רחוקות מהתוויות האמיתיות. עבור סיווג, פונקציית שגיאה ריבועית אינה מתאימה (כפי שהוזכר), ולכן אנו משתמשים בפונקציית Cross-Entropy.

פונקציית עלות (Cross-Entropy): פונקציית הפסד המשמשת במודלי סיווג, במיוחד כאשר מנבאים הסתברויות. עבור סיווג בינארי, היא מוגדרת כ- \( J(\mathbf{w}, b) = -\frac{1}{m} \sum_{i=1}^{m} [y^{(i)} \log(h_{\mathbf{w},b}(\mathbf{x}^{(i)})) + (1 - y^{(i)}) \log(1 - h_{\mathbf{w},b}(\mathbf{x}^{(i)}))] \), כאשר \( h_{\mathbf{w},b}(\mathbf{x}) \) היא ההסתברות החזויה ו- \( y \) היא התווית האמיתית (0 או 1).

מדוע Cross-Entropy?

  • קמירות: פונקציית ה-Cross-Entropy היא קמורה עבור מודל רגרסיה לוגיסטית, מה שמבטיח שאלגוריתם ירידה בגרדיאנט ימצא את המינימום הגלובלי.
  • ענישה חזקה על טעויות בטוחות: אם המודל חוזה הסתברות גבוהה לקטגוריה מסוימת, אך התווית האמיתית היא הקטגוריה השנייה, העלות תהיה גבוהה מאוד. ולהפך, אם המודל חוזה הסתברות נמוכה לקטגוריה מסוימת והיא אכן הקטגוריה השנייה, העלות תהיה נמוכה.
פונקציית עלות Cross-Entropy לעומת MSE: זוהי נקודה קריטית לבחינה! הבנה מדוע Cross-Entropy עדיפה על MSE עבור רגרסיה לוגיסטית היא יסודית. MSE יוצר פונקציית עלות לא קמורה עם פונקציית סיגמואיד, מה שמוביל לבעיות אופטימיזציה (מינימום מקומיים). Cross-Entropy, לעומת זאת, מבטיחה קמירות ומינימום גלובלי יחיד, ומספקת ענישה אינטואיטיבית יותר על טעויות סיווג.

החלטת סף (Threshold Decision)

לאחר שהמודל חישב הסתברות שדגימה שייכת לקטגוריה 1 (למשל, \( P(y=1|\mathbf{x}) = 0.7 \)), עלינו להמיר הסתברות זו להחלטת סיווג בינארית (0 או 1). לשם כך, אנו משתמשים ב"סף החלטה".

החלטת סף: תהליך קביעת סף (בדרך כלל 0.5) שמעליו הסתברות חזויה מסווגת כקטגוריה חיובית (1), ומתחתיו כקטגוריה שלילית (0).

השפעת הסף:

  • סף ברירת מחדל (0.5): אם \( P(y=1|\mathbf{x}) \ge 0.5 \), אנו מסווגים כ-1; אחרת, כ-0. זהו הסף הנפוץ ביותר כאשר אין העדפה מיוחדת ל-False Positives או False Negatives.
  • שינוי הסף: ניתן לשנות את הסף בהתאם לצרכים הספציפיים של הבעיה. לדוגמה, במקרים רפואיים בהם חשוב לא לפספס מחלה (כלומר, להפחית False Negatives), ניתן להוריד את הסף. לעומת זאת, אם חשוב להיות בטוחים מאוד בחיזוי חיובי (למשל, זיהוי הונאה), ניתן להעלות את הסף. שינוי הסף משפיע על מדדי ביצועים כמו דיוק (Precision) והיזכרות (Recall).

השוואה בין רגרסיה לינארית ולוגיסטית

רגרסיה לינארית

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

רגרסיה לוגיסטית

מטרה: חיזוי הסתברות לקטגוריה (סיווג).
פלט: הסתברות בין 0 ל-1 (באמצעות סיגמואיד).
פונקציית עלות נפוצה: Cross-Entropy.
שימוש: זיהוי ספאם, חיזוי מחלה, סיווג תמונות.

שאלות לדיון

  • מדוע רגרסיה לינארית אינה מתאימה לפתרון בעיות סיווג בינאריות, וכיצד רגרסיה לוגיסטית מתגברת על מגבלות אלו?
  • הסבירו בפירוט את תפקידה של פונקציית הסיגמואיד ברגרסיה לוגיסטית, כולל ההיבט המתמטי והאינטואיטיבי.
  • השוו בין פונקציית העלות של שגיאה ריבועית (MSE) לפונקציית העלות Cross-Entropy בהקשר של רגרסיה לוגיסטית. מדוע Cross-Entropy עדיפה?
  • כיצד קביעת סף ההחלטה משפיעה על תוצאות הסיווג, ומתי נרצה לשנות את סף ברירת המחדל (0.5)?

נקודות לתשובת מודל

  • רגרסיה לינארית לסיווג: פלט רציף ולא מוגבל ל-[0,1], מה שמקשה על פרשנות כהסתברות. שימוש ב-MSE עם פונקציית סיגמואיד יוצר פונקציית עלות לא קמורה עם מינימום מקומיים רבים. רגרסיה לוגיסטית משתמשת בסיגמואיד להמרת פלט להסתברות וב-Cross-Entropy לפונקציית עלות קמורה.
  • פונקציית סיגמואיד: ממירה את הציון הלינארי \( z = \mathbf{w}^T \mathbf{x} + b \) לערך בין 0 ל-1, המפורש כהסתברות \( P(y=1|\mathbf{x}) \). היא חלקה וגזירה, חיונית לאופטימיזציה באמצעות ירידה בגרדיאנט.
  • השוואת פונקציות עלות: MSE אינה קמורה עבור רגרסיה לוגיסטית, מה שמקשה על מציאת המינימום הגלובלי. Cross-Entropy קמורה, מבטיחה מינימום גלובלי יחיד, ומענישה באופן פרופורציונלי יותר טעויות בטוחות (כאשר המודל בטוח בחיזוי שגוי).
  • החלטת סף: הסף קובע מתי הסתברות חזויה הופכת לסיווג 1 או 0. סף ברירת המחדל הוא 0.5. שינוי הסף משפיע על האיזון בין False Positives ל-False Negatives (לדוגמה, סף נמוך יותר יגדיל את ה-Recall ויקטין את ה-Precision, וסף גבוה יותר יגדיל את ה-Precision ויקטין את ה-Recall). נשנה את הסף כאשר יש חשיבות יתרה למניעת סוג מסוים של טעות (למשל, במקרים רפואיים או פיננסיים).
Spotted an error or something missing?
← Previous
מודלים לינאריים: רגרסיה
Next →
עצי החלטה ויערות אקראיים