רגרסיה לוגיסטית: חישוב הסתברות באמצעות פונקציית sigmoid

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

  • החלה "כפי שהיא". לדוגמה, אם מודל לחיזוי ספאם מקבל כקלט אימייל ומפיק את הערך 0.932, המשמעות היא שיש סבירות של 93.2% שהאימייל הוא ספאם.

  • הומרה לקטגוריה בינארית למשל True או False, Spam או Not Spam.

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

פונקציית Sigmoid

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

\[f(x) = \frac{1}{1 + e^{-x}}\]

באיור 1 מוצג הגרף התואם של פונקציית הסיגמואיד.

עקומה סיגמואידית (בצורת S) שמוצגת בתרשים במישור הקואורדינטות הקרטזי, עם מרכז בנקודת המקור.
איור 1. תרשים של פונקציית sigmoid. העקומה מתקרבת ל-0 כשערכי x יורדים לאינסוף שלילי, ו-1 הוא x והערכים עולים לכיוון האינסוף.

ככל שהקלט, x, גדל, הפלט של פונקציית הסיגמואיד מתקרב ל-1 אבל אף פעם לא מגיע אליו. באופן דומה, ככל שהקלט קטן יותר, הפלט של פונקציית הסיגמוייד מתקרב ל-0 אבל אף פעם לא מגיע אליו.

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

בטבלה הבאה מוצגים ערכי הפלט של פונקציית sigmoid עבור ערכי קלט בטווח של -7 עד 7. שימו לב באיזו מהירות מתבצע ה-sigmoid 0 להקטנת ערכי הקלט השליליים, והמהירות שבה הסיגמואיד מתקרב 1 להגדלת ערכי קלט חיוביים.

עם זאת, לא משנה כמה ערך הקלט יהיה גדול או קטן, הפלט להיות תמיד גדול מ-0 וקטן מ-1.

קלט פלט Sigmoid
-7 0.001
-6 0.002
-5 0.007
-4 0.018
-3 0.047
-2 0.119
-1 0.269
0 0.50
1 0.731
2 0.881
3 0.952
4 0.982
5 0.993
6 0.997
7 0.999

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

המשוואה הבאה מייצגת את הרכיב הליניארי של מודל רגרסיה לוגיסטית:

\[z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N\]

איפה:

  • z הוא הפלט של המשוואה הלינארית, שנקראת גם הסיכויים ביומן.
  • b היא ההטיה.
  • ערכי w הם המשקולות שנלמדו במודל.
  • ערכי x הם ערכי המאפיינים לדוגמה מסוימת.

כדי לקבל את החיזוי של הרגרסיה הלוגיסטית, הערך z מועבר אל את פונקציית sigmoid, שמחזירה ערך (הסתברות) בין 0 ל-1:

\[y' = \frac{1}{1 + e^{-z}}\]

איפה:

  • y' הוא הפלט של מודל הרגרסיה הלוגיסטית.
  • z הוא הפלט הלינארי (כפי שחושב במשוואה הקודמת).

מידע נוסף על log-odds

במשוואה $z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N$, z מכונה log-odds כי אם מתחילים עם פונקציית הסיגמוייד הבאה (כאשר $y$ הוא הפלט של מודל רגרסיה לוגיסטית שמייצג הסתברות):

$$y = \frac{1}{1 + e^{-z}}$$

ואז פותרים את הבעיה z:

$$ z = \log\left(\frac{y}{1-y}\right) $$

אז z מוגדר כיומן של יחס ההסתברויות מבין שתי התוצאות האפשריות: y ו-1 – y.

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

ימין: קו עם הנקודות (-7.5, -10),‏ (-2.5, 0) ו-(0, 5) שמודגשות. שמאל: עקומת סיגמואיד עם הנקודות המומרות המקבילות (-10,‏ 0.00004),‏ (0,‏ 0.5) ו-(5,‏ 0.9933) מודגשות.
איור 2. ימין: גרף של הפונקציה הליניארית z = 2x + 5, עם שלושה נקודות מודגשות. ימינה: עקומה סיגמואידית עם אותן שלוש נקודות מודגשות אחרי שהן עברו טרנספורמציה באמצעות פונקציית הסיגמואיד.

באיור 2, משוואה לינארית הופכת לקלט של פונקציית הסיגמואיד, שמכופף את הקו הישר לצורת s. שימו לב שהמשוואה הליניארית יכולה להפיק ערכים גדולים מאוד או קטנים מאוד של z, אבל הפלט של פונקציית הסיגמואיד, y', תמיד נמצא בין 0 ל-1, לא כולל. לדוגמה, בריבוע הצהוב בתרשים הימני הערך של z הוא -10, אבל פונקציית הסיגמואיד בתרשים הימני ממפה את הערך -10 לערך y' של 0.00004.

תרגיל: בדקו את ההבנה שלכם

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

\[\begin{align} b &= 1 \\ w_1 &= 2 \\ w_2 &= -1 \\ w_3 &= 5 \end{align} \]

בהינתן ערכי הקלט הבאים:

\[\begin{align} x_1 &= 0 \\ x_2 &= 10 \\ x_3 &= 2 \end{align} \]

עונים על שתי השאלות הבאות.

1. מהו הערך של z בערכי הקלט האלה?
1-
0
0.731
1
תשובה נכונה! המשוואה הליניארית שמוגדרת על ידי המשקלים וההטיה היא z = 1 + 2x1 – x2 + 5 x3. חיבור של והתוצאה שמתקבלת היא z = 1 + (2)(0) - (10) + (5)(2) = 1
2. מהי התחזית של הרגרסיה הלוגיסטית לגבי ערכי הקלט האלה?
0.268
0.5
0.731

כפי שחושב בפסקה 1 למעלה, הערך של log-odds לערכים של הקלט הוא 1. חיבור הערך של z לפונקציית sigmoid:

\(y = \frac{1}{1 + e^{-z}} = \frac{1}{1 + e^{-1}} = \frac{1}{1 + 0.367} = \frac{1}{1.367} = 0.731\)

1
חשוב לזכור, הפלט של פונקציית sigmoid תמיד יהיה גדול מ-0 וקטן מ-1.