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

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

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

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

  2. מצאו את הכיוון של הזזת המשקולות וההטיה שמפחיתות את הירידה.

  3. צריך להזיז את ערכי המשקל וההטיה במידה קטנה בכיוון שקטן .

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

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

איור 12. איור של תהליך ירידה הדרגתית.

איור 12. ירידה הדרגתית היא תהליך איטרטיבי שמוצא את המשקולות והטיות שיוצרות את המודל עם האובדן הנמוך ביותר.

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

ברמת הבטון, אנחנו יכולים לצעוד במדרגות הירידה ההדרגתית באמצעות מערך נתונים קטן עם שבע דוגמאות לכבדות של מכונית בק"ג ודירוג המיילים שלו לגלון:

לירה 2000 ש"ח (תכונה) מייל לגלון (תווית)
3.5 18
3.69 15
3.44 18
3.43 16
4.34 15
4.42 14
2.37 24
  1. המודל מתחיל באימון על ידי הגדרת המשקל וההטיה לאפס:
  2. $$ \small{Weight:\ 0} $$ $$ \small{Bias:\ 0} $$ $$ \small{y = 0 + 0(x_1)} $$
  3. חישוב של הפסד MSE עם הפרמטרים הנוכחיים של המודל:
  4. $$ \small{Loss = \frac{(18-0)^2 + (15-0)^2 + (18-0)^2 + (16-0)^2 + (15-0)^2 + (14-0)^2 + (24-0)^2}{7}} $$ $$ \small{Loss= 303.71} $$
  5. חשבו את השיפוע של הטנגנס לפונקציית ההפסד בכל משקולת ואת ההטיה:
  6. $$ \small{Weight\ slope: -119.7} $$ $$ \small{Bias\ slope: -34.3} $$

    כדי לקבל מידע על חישוב השיפוע, צריך ללחוץ על סמל הפלוס.

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

    נכתוב את המשוואה ליצירת חיזוי כך:
    $ f_{w,b}(x) = (w*x)+b $.

    נכתוב את הערך בפועל כך: $ y $.

    נחשב את MSE באמצעות:
    $ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $
    כאשר $i$ מייצג את הדוגמה לאימון $ith$ ו-$M$ מייצג את מספר הדוגמאות.

    נגזרת משקל

    הנגזרת של פונקציית האובדן ביחס למשקל נכתבת כך:
    $ \frac{\partial }{\partial w} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $

    והתוצאה היא:
    $ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2x_{(i)} $

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

    אם נפתור את המשוואה הזו עם משקל ומיטות ששווה ל- אפס, מקבלים -119.7 עבור השיפוע של הקו.

    נגזרת הטיה

    הנגזרת של פונקציית הפסד ביחס ההטיה נכתבת כך:
    $ \frac{\partial }{\partial b} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $

    והתוצאה היא:
    $ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2 $

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

    אם נפתור את המשוואה הזו עם משקל ומיטות ששווה ל- אפס, מקבלים -34.3 עבור השיפוע של הקו.

  7. צריך להזיז כמות קטנה בכיוון של השיפוע השלילי כדי לקבל את המשקולות ואת ההטיות הבאים. בינתיים נגדיר באופן שרירותי את כמות קטנה בתור 0.01:
  8. $$ \small{New\ weight = old\ weight - (small\ amount * weight\ slope)} $$ $$ \small{New\ bias = old\ bias - (small\ amount * bias\ slope)} $$ $$ \small{New\ weight = 0 - (0.01)*(-119.7)} $$ $$ \small{New\ bias = 0 - (0.01)*(-34.3)} $$ $$ \small{New\ weight = 1.2} $$ $$ \small{New\ bias = 0.34} $$

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

איטרציה משקל דעה קדומה הפסד (MSE)
1 0 0 303.71
2 1.2 0.34 170.67
3 2.75 0.59 67.3
4 3.17 0.72 50.63
5 3.47 0.82 42.1
6 3.68 0.9 37.74

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

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

עקומות התכנסות ואובדן של המודל

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

איור 13. תרשים של עקומת הפסד שמציגה ירידה תלולה ואז ירידה עדינה.

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

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

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

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

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

איור 14. עקומת אובדן ותרשים תואם של המודל, שנוטה החוצה מהנקודות על הגרף.

איור 14. עקומת אובדן הנתונים ותמונת המצב של המודל בתחילת המודל תהליך האימון.

בסביבות ה-400 איטרציה, אפשר לראות שירידה הדרגתית מצאה והטיות שיוצרות מודל טוב יותר.

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

איור 15. עקומת אובדן ותמונת מצב של המודל לגבי אמצע האימון.

ובסביבות ה-1,000 איטרציה, אפשר לראות שהמודל התכנס, הפקת מודל עם שיעור הפסדים נמוך ככל האפשר.

איור 16. עקומת אובדן ותרשים תואם של המודל, שמתאים היטב לנתונים.

איור 16. עקומת אובדן הנתונים ותמונת המצב של המודל לקראת סיום האימון תהליך האימות.

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

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

פונקציות התכנסות וקומרות

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

אם נתאר את שטח האובדן של מודל עם מאפיין אחד בגרף, נוכל לראות קמורה. הבאה היא שטח אובדן הנתונים של מערך הנתונים במיילים לגלון שבה נעשה שימוש בדוגמאות הקודמות. המשקל הוא על ציר ה-X, ההטיה נמצאת על ציר ה-Y, וההפסד נמצא על ציר ה-z:

איור 17. תרשים תלת-ממדי של שטח אובדן.

איור 17. פני שטח של אובדן שמראה את הצורה הקמורה שלו.

בדוגמה הזו, משקל של -5.44 והטיות של 35.94 יוצרים את אובדן ההפסד הנמוך ביותר ב-5.54:

איור 18. תרשים תלת-ממדי של שטח אובדן, עם (-5.44, 35.94, 5.54) בחלק התחתון.

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

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

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

איור 19. תרשים אובדן שמראה נקודות ירידה הדרגתיות שנעצרות ברמה הנמוכה ביותר על הגרף.

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

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

שימוש בערכי המשקל וההטיה שמניבים את הירידה הנמוכה ביותר — במקרה זה משקולת של -5.44 והטיה של 35.94 – אפשר להציג את המודל בתרשים מתאימה לנתונים:

איור 20. תרשים של פאונדים ב-1,000 שניות לעומת מיילים לגלון, כשהמודל מתאים לנתונים.

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

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