התאמת יתר: מורכבות המודל

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

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

המודל הקודם מכיל הרבה צורות מורכבות. היה פשוט יותר איך לטפל בנתונים חדשים בצורה טובה יותר? נניח שהחלפתם את המודל המורכב מודל פשוט להפליא--קו ישר.

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

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

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

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

אתם מפתחים משוואה פיזיקה. איזו מהנוסחאות הבאות מתאימים יותר לתער גילוח של Occam?
נוסחה עם שלושה משתנים.
שלושה משתנים מתאימים יותר ל-Occam מאשר 12 משתנים.
נוסחה עם 12 משתנים.
12 משתנים נראה מסובך מדי, לא? שתי נוסחאות הפיזיקה המפורסמות ביותר בכל הזמנים (F=ma E=mc2) כל אחד מהם כולל שלושה משתנים בלבד.
הצטרפת לפרויקט חדש לגמרי של למידת מכונה, ואנחנו עומדים לבחור את לתכונות הראשונות. כמה תכונות כדאי לבחור?
כדאי לבחור 1-3 תכונות שנראה שיש להן יכולות חיזוי חזקות.
מומלץ שצינור עיבוד הנתונים לאיסוף נתונים יתחיל רק עם שתי תכונות. כך תוכלו לוודא שמודל למידת המכונה פועל כמצופה. בנוסף, כשיוצרים את הבסיס מכמה תכונות תרגישו שאתם מתקדמים!
כדאי לבחור 4 עד 6 תכונות שנראה שיש להן יכולות חיזוי חזקות.
יכול להיות שבסופו של דבר תשתמשו בהרבה מהתכונות האלה, אבל עדיף להתחיל עם פחות. בדרך כלל, פחות תכונות מבטלות את הצורך סיבוכים.
כדאי לבחור כמה שיותר תכונות כדי להתחיל לראות אילו תכונות לתכונות יש את עוצמת החיזוי החזקה ביותר.
כדאי להתחיל בקטן יותר. כל תכונה חדשה מוסיפה מימד חדש לאימון של הכיתובים. כשהממדים גדלים, הנפח של המרחב המשותף גדל עולה במהירות רבה כל כך עד שנתוני האימון הזמינים הופכים להיות מועטים. לצמצם את הנתונים, כך שלמודל יהיה קשה יותר ללמוד את הקשר בין התכונות החשובות בפועל לבין התווית. התופעה הזו נקראת 'קללת הממדים'.

תקינה

מודלים של למידת מכונה חייבים לעמוד בו-זמנית בשני יעדים סותרים:

  • רצוי להתאים את הנתונים בצורה טובה.
  • להתאים את הנתונים בצורה פשוטה ככל האפשר.

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

אובדן ומורכבות

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

$$\text{minimize(loss)}$$

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

$$\text{minimize(loss + complexity)}$$

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

מהי המורכבות?

כבר ראיתם כמה דרכים שונות לכמת אובדן. איך לכמת את המורכבות? נסו להתחיל את התרגיל הבא:

פעילות גופנית: בדקו את האינטואיציה

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