זה אמנם נוגד את השכל הישר, אבל ניסיון להשתמש בצורה אופטימלית בנתונים הזמינים בשלב פיתוח טכנולוגיה, עלול דווקא להכשיל אותה בשלב היישום בשטח. הכיצד? נספר על "התאמת יתר" [1], בעיה נפוצה של מודלים מתמטיים, שמתארת פגיעה ביכולת ההסקה של המודל כי הוא למד טוב מדי דוגמאות מסוימות. ומה הקשר לדבשתו של הגמל?
נפתח בבדיחה של מהנדסים: "מהו גמל?"
תשובה: "סוס שתוכנן על ידי ועדה."
מה הכוונה? נסביר בדוגמה: נדמיין ישיבת ועדה העוסקת בקפיץ שנועד למעבדה בפיזיקה. מטרת הישיבה היא לפתח משוואה המתארת עד כמה מתארך הקפיץ כשתולים עליו משקולות. הדובר הראשון סיפר שכשהוא תלה על הקפיץ משקולת של 300 גרם, הקפיץ התארך ב-31 ס"מ. השני סיפר שעבור משקולת של 500 גרם, הקפיץ מתארך בכ-49 ס"מ, וכך המשיכו גם שאר שמונת החברים. הפיזיקאית בצוות טענה שהמשוואה המתאימה היא תלות קווית לפי "חוק הוק" [2], שאומר שמידת ההתארכות של קפיץ פרופורציונלית למשקל שתלוי עליו. לדעתה, "הסטייה של המדידות מהמשוואה נובעת מטעויות שונות שקורות תמיד במדידות, למשל אי-דיוק במשקולות או בשימוש בסרגל."
אולם חברי הוועדה התרגזו: "אל תגידי שיש לנו טעויות, עשינו מדידות מדויקות!" יושב הראש דרש להתחשב בדיווחים של כל חברי הוועדה הנכבדים, ולבנות משוואה שתייצג אותם במדויק. המתמטיקאית שישבה בפינה משכה בכתפיה, ובמקום ליצור משוואה של קו ישר שתתאים בקירוב טוב לנתונים (המכונה "רגרסיה לינארית") לפי חוק הוק, היא יצרה משוואה שהתאימה לכל עשרת הדיווחים, הנקראת בפי המתמטיקאים "פולינום מדרגה תשע". כשהציגה בישיבה את התיאור הגרפי של הפונקציה, ניתן היה לראות שהגרף אכן עובר דרך כל הנקודות המייצגות את התצפיות של החברים, ומתפתל ביניהם בצורה נאה שמזכירה דבשת של גמל. החברים יצאו מהישיבה מרוצים: אין טעויות.
אך בהמשך היום התחילו לזרום דיווחים נזעמים מאנשי המעבדה: במדידות רבות במעבדה שהיו מדויקות יותר, וכללו גם משקלים אחרים, התגלה שהשימוש במשוואה שפותחה על ידי הוועדה גרם לשגיאה גדולה, לעומת משוואה של קו ישר בהתאם לחוק הוק (ראו תרשים). מה שהתרחש בוועדה היה דוגמה לניסיון לא מוצלח לעשות שימוש מירבי במעט אינפורמציה, שכוללת גם "רעשים", כלומר טעויות אקראיות, טעויות מדידה או שימוש בנתונים שאינם מייצגים לפיתוח המשוואה.
תופעה זו נקראת "התאמת יתר" (overfitting), והיא מופיעה במקומות רבים, למשל בסטטיסטיקה, ב"למידת מכונה" ובמודלים הנדסיים. היא מתארת משוואה שמתאימה יתר על המידה לאוסף מסוים של נתונים שזמין לשם בנייתה בשלב הפיתוח, שנקרא גם שלב האימון, ועל כן מצליחה פחות בביצוע תחזיות בעולם האמיתי. לעתים, בדומה לדוגמה, הסיבה היא כמות קטנה של נתונים הכוללים גם טעויות, מה שמאפשר לייצג אותם במדויק באמצעות משוואה. במקרים אחרים יש אמנם הרבה נתונים בשלב האימון, אבל רובם אינם מייצגים את כלל המקרים האפשריים והם רק מוסיפים רעשים.
התאמת יתר מתרחשת במקרים רבים כאשר חסרה תאוריה לביצוע אנליזה מעמיקה של הנתונים, כדוגמת התיאוריה שהוצעה על ידי הפיזיקאית בוועדה ("חוק הוק"). התופעה חמורה במיוחד ב"למידת מכונה", שבה לעתים קרובות אין שום תאוריה, אלא תהליך ארוך של ניסוי וטעייה. כמו למשל במשימה הטיפוסית של זיהוי כלבים בתמונה נתונה. ואכן, כל מי שעוסק ב"למידת מכונה" נתקל לעתים קרובות בהתאמת יתר.
כיצד להימנע מהבעיה? יש כמה שיטות שיכולות לצמצם את חומרת הבעיה. נציין כאן שתיים: נחזור לסיפור של הוועדה ונוסיף טוויסט לסופה. רגע לפני שחברי הוועדה יצאו מהחדר, הפיזיקאית והמתמטיקאית קמו ממקומן, פתחו את הדלת והכניסו עוד עדים שסיפקו נתונים חדשים על שימוש במשקלים שונים למתיחת הקפיץ. באמצעות הנתונים הללו, המתמטיקאית חישבה והראתה לצוות הנדהם את הטעות הגדולה שנוצרת בשימוש בפולינום לעומת קו ישר, והדגימה בכך את הכשל בהתאמת יתר. אכן, לפי מתודולוגיה נפוצה בלמידת מכונה הנקראת "אימות צולב" (cross-validation) יש לשים בצד בשלב האימון סט של נתונים, שישמשו רק לבקרה, כדי לבדוק לפני סיום שלב האימון אם המשוואה שפותחה באמת עובדת.
דרך אחרת להקטין את הבעיה היא לבחון את המורכבות של המודל המתמטי ולחפש דרכים לפשט אותו. אחד העקרונות המרכזיים בתכנון הנדסי נקרא "תַערו של אוקאם" [2] ( Occam's razor). כלל פילוסופי זה גורס שתמיד יש לבחור בפתרון הפשוט ביותר. לפיכך, אם חבר מציע לכם לפתוח סטארטאפ כדי לסייע לסטודנטים לחשב באמצעות רשת נוירונים ("למידה עמוקה") את משוואת הקפיץ במעבדה בפיזיקה, תגידו לו שירד מזה, שלא יסבך ולא ינסה לתכנן דבשת של גמל, או פשוט תגידו לו KISS, כלומר [4], "Keep It Simple, Stupid".
הערות:
[1] התאמת יתר
[2] חוק הוק
[3] Occam's razor