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

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

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

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

  2. קובעים את הכיוון להזזת המשקלים וההטיות שמפחיתים את ההפסד.

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

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

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

איור 11. איור של תהליך הגרדיאנט.

איור 11. Gradient descent הוא תהליך איטרטיבי שמוצא את המשקלים ואת הטיה שמפיקים את המודל עם ההפסד הכי נמוך.

התכנסות המודל ועקומות ההפסד

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

Figure 12. תרשים של עקומת הפסד שמראה ירידה חדה ואז ירידה מתונה.

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

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

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

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

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

איור 13. עקומת הפסד והתרשים התואם של המודל, שמוטה הרחק מנקודות הנתונים.

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

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

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

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

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

איור 15. עקומת הפסד וגרף תואם של המודל, שמתאימים לנתונים.

איור 15. עקומת ההפסד ותמונת מצב של המודל לקראת סוף תהליך האימון.

תרגיל: בדיקת ההבנה

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

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

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

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

איור 16. תרשים תלת-ממדי של משטח הפסד.

איור 16. משטח הפסד שמציג את הצורה הקמורה שלו.

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

איור 17. גרף תלת-ממדי של משטח הפסד, עם הערכים (‎-5.44, 35.94, 5.54) בחלק התחתון.

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

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

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

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

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

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

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

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

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