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

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

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

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

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

פונקציית Sigmoid

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

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

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

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

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

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

בטבלה הבאה מוצגים ערכי הפלט של פונקציית 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

שינוי פלט לינארי באמצעות פונקציית sigmoid

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

\[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 הוא הפלט הלינארי (כפי שחושב במשוואה הקודמת).

כאן אפשר למצוא מידע נוסף על סיכויים לרישום ביומן

במשוואה $z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N$, z נקרא log-odds, כי אם מתחילים פונקציית sigmoid הבאה (כאשר $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, עם שלוש מודגשות. ימין: עקומת סיגמואיד עם אותן שלוש נקודות מודגשת לאחר הטרנספורמציה באמצעות הפונקציה sigmoid.

באיור 2, משוואה לינארית הופכת לקלט של פונקציית הסיגמואיד, שמכופף את הקו הישר לצורת s. שימו לב שהמשוואה הלינארית יכול להפיק פלט של ערכים גדולים מאוד או קטנים מאוד של z, אבל הפלט של הסיגמואיד הפונקציה, y', היא תמיד בין 0 ל-1, לא כולל. לדוגמה, הכתום בגרף השמאלי, הערך z הוא 10-, אבל הפונקציה sigmoid מיפוי של גרף ימני שהופך את y-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 למעלה, סיכויי הרישום ביומן של ערכי הקלט הם 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.