שיפור הדרגתי (יחידה אופציונלית)

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

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

באופן רשמי, בהינתן פונקציית אובדן L(y,p), כאשר y הוא תווית ו-p הוא תחזית, התגובה המדומה z_i שמשמשת לאימון המודל החלש בשלב i היא:

zi=L(y,Fi)Fi

where:

  • Fi הוא החיזוי של המודל החזק.

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

L(y,p)=(yp)2

במקרה הזה, העקומה היא:

z=L(y,Fi)Fi=(yp)2p=2(yp)=2 signed error

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

אופטימיזציה של עלים ומבנה באמצעות שלב השיטה של ניוטון

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

שלב של ירידה בגרדינט מוגדר כך:

xi+1=xidfdx(xi)=xif(xi)

וגם בשיטה של ניוטון באופן הבא:

xi+1=xidfdx(xi)d2fd2x(xi)=xif(xi)f(xi)

אפשר לשלב את שיטת ניוטון באימון של עצים עם שיפור שיפוע בשתי דרכים:

  1. אחרי אימון העץ, חל שלב של ניוטון על כל עלה, והוא מבטל את הערך שלו. מבנה העץ לא משתנה, רק ערכי העלים משתנים.
  2. במהלך הצמיחה של עץ, התנאים נבחרים לפי ציון שמכיל רכיב של נוסחת ניוטון. המבנה של העץ מושפע.
קוד YDF
בקובץ YDF:
  • YDF תמיד מחילה שלב ניוטון על העלה (אפשרות 1).
  • אפשר להפעיל את האפשרות השנייה באמצעות use_hessian_gain=True.