top of page

מדריך רגולריזצייה בלמידת מכונה

  • Writer: shlomoyona
    shlomoyona
  • Apr 26
  • 14 min read

הניסוח המתמטי של פונקציית ההפסד והקנס


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


min_w L(w) = 1/(2n) ∑ (yᵢ - ŷᵢ)² = 1/(2n) ||Xw - y||₂²


הבעיה בגישה זו היא שהיא מעניקה לאלגוריתם חופש פעולה מוחלט. אם ישנם משתנים רבים (למשל, p מאפיינים שמתקרב ל-n תצפיות), המודל יכול להעניק ערכים קיצוניים וחריגים (כגון מקדמים של 15,000 או 10,000-) רק כדי למזער את השגיאה בנקודה בודדת.

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


min_w [ Loss(X, y, w) + λ ⋅ Penalty(w) ]


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


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


כאשר,

λ → ∞,

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


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


פונקציית הפסד וקנס ברגולריזציה
פונקציית הפסד וקנס ברגולריזציה

ריסון, סלקציה ומה שביניהם


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


המרסנת, L2, Ridge Regulatization


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


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


min_w ( (1/2n) ||Xw - y||₂² + λ Σⱼ₌₁ᵖ wⱼ² )


או בכתיב וקטורי: λ‖w‖₂². העונש כאן גדל באופן מעריכי-ריבועי ביחס לגודל המקדם. המשמעות שגידול ליניארי בגודל המקדם מוביל לגידול דרמטי בעונש. מקדם שערכו הוא 2 יספוג קנס של 4, אך מקדם שערכו הוא 10 יספוג קנס כבד של 100. המערכת שונאת מקדמים גדולים במיוחד ומוכנה להתפשר על דיוק כדי למנוע אותם.


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


כאשר מקדם הוא בעל ערך גדול מאוד (למשל wⱼ = 100), הגרדיאנט של העונש יהיה אדיר (200λ), והמקדם יידחף בעוצמה כלפי מטה. אולם, ככל שהמקדם מתקרב לאפס (למשל wⱼ = 0.01), הגרדיאנט של העונש דועך ומתקרב לאפס גם הוא (0.02λ). הכוח המכווץ נחלש בהדרגה. בשל היחלשות כוח זו, L2 תדחף את המקדמים להתכווץ משמעותית לכיוון האפס, אך ברוב המכריע של המקרים היא לעולם לא תאפס אותם לחלוטין. מדובר בריסון חלק ומדורג.


רגולריזציית L2 מצטיינת ומהווה ברירת מחדל מועדפת במצבים שבהם קיימת סבירות או אמונה שכל המשתנים במאגר הנתונים רלוונטיים ותורמים מידע, גם אם חלקם תורמים מעט מאוד. דוגמה קלאסית היא חיזוי רפואי: אם אנו מעוניינים לחזות את סיכוייו של אדם לפתח מחלת לב על סמך עשרות מדדים (לחץ דם סיסטולי, לחץ דם דיאסטולי, רמות סוכר, רמות כולסטרול HDL, LDL, גיל, מדד מסת גוף - BMI, וכדומה). כל אחד מהמשתנים הללו מכיל רסיס של מידע רלוונטי. סילוק מוחלט של חלקם עלול לפגוע ביכולת ההכללה של המודל. רגולריזציית L2 תאפשר למודל לשמור את כל המשתנים, תוך כיווץ השפעתם של המשתנים הפחות חשובים וריסון המשתנים המרכזיים.


יתרון הליבה החשוב ביותר של רגולריזציית L2 הוא יכולתה המופלאה להתמודד עם מולטי-קוליניאריות. מולטי-קוליניאריות מתרחשת כאשר ישנו מתאם סטטיסטי גבוה מאוד בין שני משתנים או יותר במערך הנתונים (למשל, גובה בסנטימטרים וגובה באינצ'ים, או לחץ דם סיסטולי ודיאסטולי). ברגרסיה ליניארית סטנדרטית, OLS, קוליניאריות גורמת למטריצת התצפיות XᵀX להיות קרובה לסינגולרית, בלתי הפיכה מתמטית. הדבר גורם למקדמים להתפוצץ לממדים עצומים ולא יציבים: האלגוריתם עשוי להעניק משקל חיובי אסטרונומי למשתנה אחד, ומשקל שלילי אסטרונומי למשתנה שמתואם עמו, בניסיון לבטל את ההשפעה ההדדית. הכנסת L2 משנה את התמונה לחלוטין. ברמת האלגברה הליניארית, המשוואה הסגורה לפתרון הרכס היא


(XᵀX + λI)⁻¹ Xᵀy


תוספת ה-λI (מטריצת היחידה מוכפלת בעונש) על האלכסון הראשי, מבטיחה שהמטריצה תמיד תהיה הפיכה ויציבה. ברמת האינטואיציה, הריבוע wᵢ² + wⱼ² ממזער את העונש כאשר המקדמים שווים בגודלם (לדוגמה: 2² + 2² = 8 הוא עונש קטן הרבה יותר מ-4² + 0² = 16). לכן, L2 מכריחה את האלגוריתם לפזר את המשקלים באופן חצי-שווה בין המשתנים המתואמים, ואז מקבלים מודל איתן ועמיד בפני תנודות. מודלים שמבוססים על L2 נוטים להיות חסינים מאוד בפני רעש, אך קשים יותר לפירוש כאשר מספר המשתנים עצום, מכיוון שכולם מקבלים משקל שאינו אפס.


הסלקטורית, L1, Lasso Regularization


רגולריזציית L1, שביישום על מודל ליניארי מוכרת גם כ-Lasso, שמשמעותו Least Absolute Shrinkage and Selection Operator, מציגה פרדיגמה שונה לחלוטין. היא איננה מסתפקת בכיווץ חלק, אלא מציעה גישה אגרסיבית של ברירה טבעית מתמטית.


במודל L1, הקנס המוטל על המודל שווה לסכום הערכים המוחלטים של המקדמים:


min_w ( 1/(2n) ‖Xw - y‖₂² + λ ∑ⱼ₌₁ᴾ |wⱼ| )


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


בואו נבחן את הדינמיקה של הגרדיאנט עבור L1. הנגזרת של פונקציית הערך המוחלט w (בכל נקודה למעט באפס עצמו, שם אנו משתמשים בתת-גרדיאנט או Sub-gradient) היא פשוט פלוס או מינוס 1 קבוע. המשמעות היא שעוצמת כוח הכיווץ המופעלת על המקדם אינה תלויה כלל בגודל המקדם. אם ב-L2 ראינו שהדחיפה כלפי מטה נחלשת ככל שהמקדם מתקרב לאפס, ב-L1 הדחיפה נשארת אגרסיבית ועוצמתית באותה מידה לאורך כל הדרך. אם מקדם אינו מספק תרומה משמעותית במיוחד ליכולת החיזוי של המודל, קנס ה-L1 לא ישאיר אותו על אש קטנה, אלא ידחוף אותו בנחישות, ללא הרף, עד שהוא ייחצה את האפס ויתאפס לחלוטין.


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


אחת השאלות היא מדוע L1 מאפסת מקדמים בעוד L2 רק מקטינה אותם. ניתן לייצג את בעיית האופטימיזציה עם רגולריזציה כמערכת של אילוצים במרחב. הבה נדמיין מרחב דו-מימדי הכולל שני מקדמים בלבד: w₁ ו-w₂. קווי המתאר של פונקציית ההפסד ללא הרגולריזציה, השגיאה הטהורה, נראים כמו אליפסות קונצנטריות ההולכות ומתרחבות מנקודת המינימום הגלובלי המקורי, הפתרון האופטימלי ללא קנסות. במקביל, רכיב הרגולריזציה יוצר צורה גיאומטרית סביב ראשית הצירים, המייצגת את אזור האילוץ, דהיינו, התקציב המותר. המטרה היא למצוא את המפגש, נקודת ההשקה, הראשון בין קווי המתאר המתרחבים של ההפסד, לבין אזור האילוץ המרחבי של הרגולריזציה.


ב-L2 הפונקציה הריבועית w₁² + w₂² ≤ C מתווה במרחב מעגל מושלם ומעוגל, או כדור במרחבים מרובי מימדים. כאשר האליפסות של פונקציית ההפסד מתרחבות לקראת המעגל, הן בדרך כלל ישיקו לו בנקודה אקראית כלשהי על הקשת החלקה. בנקודה כזו על הקשת, קואורדינטות ה-X וה-Y, המקדמים, תמיד יהיו ערכים שונים מאפס. התוצאה: שריד קטן אך קיים לכל המקדמים.


ב-L1 פונקציית הערך המוחלט,

|w₁| + |w₂| ≤ C

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


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


עם זאת, ל-Lasso יש שתי מגרעות מהותיות:


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


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


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


השילוב הלינארי Elastic Net


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


min_w ( 1/(2n) ‖Xw - y‖₂² + λ₁ ∑ⱼ₌₁ᴾ |wⱼ| + λ₂ ∑ⱼ₌₁ᴾ wⱼ² )


הבעיה מוגדרת לעיתים תכופות באמצעות שני היפר-פרמטרים שמעוצבים אחרת כמו למשל ב Scikit Learn: משתנה α שקובע את העוצמה הכוללת של הקנס, ומשתנה נוסף בשם l1_ratio שמסומן לעיתים קרובות באות היוונית ρ, כאשר 0 ≤ ρ ≤ 1, שמגדיר את האיזון העדין ואת יחס הערבוב בין L1 לבין L2. כאשר l1_ratio = 1 אנו נמצאים במצב Lasso טהור, וכאשר הוא אפס אנו ב-Ridge טהור.


הוספת הרכיב הריבועי L2 לתוך משוואת ה-L1 יוצרת שיטה שנהנית משני העולמות באופן סינרגי. ראשית, Elastic Net מתגבר על הבעיה החמורה ביותר של Lasso: הקושי בהתמודדות עם משתנים קוליניאריים. בזכות מרכיב ה-L2, המודל אינו בוחר באופן שרירותי במשתנה אחד מתוך קבוצה תוך איפוס האחרים. במקום זאת, הוא יוצר אפקט קיבוץ אינהרנטי. כאשר קבוצה של משתנים מתנהגת באופן מתואם ומכילה קורלציה גבוהה ביחס למשתנה המטרה המיועד לחיזוי, Elastic Net תזהה אותם כגוש ותעניק מקדמים דומים בגודלם ולא אפסיים לכל משתני הקבוצה יחדיו. קיים משפט בספרות הסטטיסטית, שפותח במאמר המקורי של Elastic Net, שמוכיח כי ההפרש בין מסלולי המקדמים של שני משתנים בעלי קורלציה קיצונית, חסום וקטן ככל שהקורלציה שואפת ל-1. אם Xᵢ ו-Xⱼ הם במתאם מושלם, המשקלים שהם יקבלו במודל יהיו זהים לחלוטין (β̂ᵢ = β̂ⱼ).


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


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


חשוב לציין שבספרות נהוג להבחין בין ה-Naive Elastic Net, שמכווץ את המקדמים פעמיים, פעם בגלל הרכס ופעם בגלל לאסו, ופוגע בתחזיות, לבין האלסטיק נט המעשי, המבצע תיקון קנה-מידה למקדמים באמצעות הכפלתם בגורם של (1 + λ₂) כדי להחזיר להם חלק מערכם שאבד כתוצאה מכיווץ היתר, שמעניק לו תכונות אקסטרפולציה מרשימות וביצועים מעולים, כמו אלגוריתם ה-LARS-EN שייעודי לאופטימיזציה של נתיב הפתרון בדומה לאלגוריתם LARS עבור הלאסו.


נקודת המבט הבייסיאנית


בלמידת מכונה קלאסית, אנו מחפשים את הוקטור w שממקסם את נראות הנתונים בהינתן המודל, Maximum Likelihood Estimation. כאשר פועלים ללא כל רגולריזציה, אנו יוצאים מנקודת הנחה סמויה שכל גודל אפשרי של מקדם במודל הוא שווה-הסתברות וסביר באותה מידה. גישה בייסיאנית משנה תפיסה זו מקצה לקצה. היא מאמצת אומדן מתקדם יותר שנקרא אומדן ,MAP Maximum A Posteriori. על פי משפט בייס, ההסתברות של מודל בהינתן הנתונים יחסית למכפלה של סבירות הנתונים בהסתברות המוקדמת שלנו על המודל עצמו.


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


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


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

-log P(θ) ∝ |θ|

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


אז מדוע אנו נעצרים בסדר הראשון והשני? מדוע לא להשתמש בנורמות מתקדמות יותר, כגון רגולריזציית L3, L4, או L10? ישנן שתי תשובות עיקריות שמסבירות מדוע נמנעים משימוש בנורמות גבוהות מ-2:


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


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


נקודת המבט הבייסיאנית על רגולריזציה
נקודת המבט הבייסיאנית על רגולריזציה

בחירת ה-Hyperparameters באמצעות Cross Validation


תיאוריה אינה יכולה לספק לנו את הערך המדויק והנכון של עוצמת הקנס, הפרמטר λ (או α). זהו אינו פרמטר שהמודל יכול ללמוד בעצמו מתוך מזעור פונקציית המטרה, כי אם היה רשאי, היה בוחר λ = 0 כדי למזער את ההפסד בלבד. לפיכך, זהו היפר-פרמטר חיצוני שדורש כיוונון, ניסויי ידני או אוטומטי.


הטכניקה המקובלת שמבטיחה שהשאיפה לפשטות אכן משפרת את הכללת המודל, היא אימות צולב, Cross-Validation, או בקיצור, CV. מדען הנתונים מגדיר מראש רשימת ערכים אפשריים לעוצמת הקנס (למשל, 0.001, 0.01, 0.1, 1, 10, 100). בגישת ה-K-Foldה-CV פועל כך, אנו מחלקים את סט נתוני האימון ל-K קבוצות קטנות שוות בגודלן. בכל פעם מחדש, עבור ערך λ ספציפי, המודל מתאמן רק על K-1 קבוצות יחד (סופג את הקנס, מתכווץ בהתאם), ולאחר מכן נבחן יכולת החיזוי שלו על הקבוצה ה-K שנותרה בחוץ (קבוצת האימות). הציון הממוצע מכל הניסויים נרשם לזכות אותו ה-λ. התהליך חוזר על עצמו עבור כל הערכים ברשת שהגדרנו. בסוף התהליך, מוגדר המנצח, ה-λ שהוביל לממוצע השגיאות הנמוך ביותר בנתונים בלתי נראים. התהליך מאפשר זיהוי אנפירי של הגשר החזק והיעיל ביותר.


ספריות כמו Scikit-Learn בפייתון מקלות מאוד על התהליך ומספקות אובייקטים מובנים שמשלבים את שלב בחירת ההיפר-פרמטרים היישר אל תוך מודל הלמידה. כלים כגון RidgeCV, LassoCV ו-ElasticNetCV מבצעים חישובים יעילים, מנצלים את תוצאות שלבי החישוב הקודמים, ובוחרים את מודל הבסיס המתאים ללא צורך בכתיבת לולאות ארוכות, כל זאת תוך שמירה על יציבות (למעט חריג טכני במקרים שבהם α = 0 מוביל לפתרון לא מוגדר בשיטת Leave-One-Out). כאשר משתמשים ב-Elastic Net, החישוב הופך למאמץ רשת אופטימיזציה דו-מימדית, Grid Search, כי אנו נדרשים לסרוק ולאמת במקביל גם את גודל הקנס המוחלט (α) וגם את יחס השילוב (l1_ratio המשמש לאיזון L1 ו-L2), שמגדיל את כמות החישובים, אך מבטיח ביצועים טובים.


רגולריזציה כמכניקה אוניברסלית מעבר לרגרסיה הליניארית


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


רגרסיה לוגיסטית


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


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


כדי לרסן התלהבות זו, משתמשים ברגולריזציה. למעשה, בספרייה המובילה Scikit-learn, רגרסיה לוגיסטית מופעלת כברירת מחדל תמיד יחד עם קנס מסוג L2. בניגוד לנוסחאות הקודמות, ההיפר-פרמטר ששולט בעוצמת הקנס מוגדר בספרייה באות C, שמהווה את ההפכי המדויק של תוספת העונש, כלומר C = 1 / λ.


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


רשתות עצביות עמוקות


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


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


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


הגיאומטריה היא רגולריזציה


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


מתברר שמיקסום גיאומטרי של השוליים ב-SVM שקול מתמטית אחד לאחד להפעלת רגולריזציית L2 על משקולות קו ההפרדה.


גודלם של השוליים נתון ביחס ההפוך ל-

2 / ||w||

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

½||w||²,

כלומר את נורמת אוקלידס של הוקטור, נורמת L2, בדיוק אופטימלי. המשוואה המלאה של רגולריזציה ב-SVM מסוג Soft Margin (אשר בניגוד ל-Hard Margin, מרשה שגיאות נקודתיות כדי לא ליצור קו מפותל ולעבור התאמת יתר) מבוססת על הוספת משתני עזר, שמסומנים באות ζ, שדואגים לכיול הסלחנות מול השגיאות.


התהליך של מזעור

||w||² + C Σ ζᵢ

הוא בעצם יישום של מודל שמכונה רגולריזציית טיכונוב שמשלב מנגנון עונש יציב. בהקבלה למה שלמדנו, פונקציית המטרה של SVM היא למעשה בעיית Empirical Risk Minimization של פונקציית הפסד ייעודית בשם הפסד ציר, Hinge Loss, שמקבלת את צורת max(0, 1 - yᵢz), כאשר עליה מורכב קנס של רגולריזציית L2 שבוחן את מורכבות ההשערה R(f). זהו הגילוי שחיבר באופן תיאורטי את כל תחומי למידת המכונה לתפיסת ענישה אחידה.


סיכום


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


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


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


מדריך רגולריזצייה בלמידת מכונה
מדריך רגולריזצייה בלמידת מכונה

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


שלמה יונה,

מייסד ומדען ראשי, 

מתמטיקאי מחקר ופיתוח בע"מ

053-7326360


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



 
 
 

Comments


  • Facebook Social Icon
  • LinkedIn Social Icon

© 2010-2026 mathematic.ai

bottom of page