רגוליזציה בהקשר של למידת מכונה היא טכניקה חשובה המשמשת לשיפור ביצועי ההכללה של מודלים, במיוחד כאשר עוסקים בנתונים בעלי ממדים גבוהים או מודלים מורכבים הנוטים להתאמת יתר. התאמה יתר מתרחשת כאשר מודל לומד לא רק את הדפוסים הבסיסיים בנתוני האימון אלא גם את הרעש, וכתוצאה מכך ביצועים גרועים בנתונים בלתי נראים. הרגולציה מציגה מידע נוסף או אילוצים למודל כדי למנוע התאמת יתר על ידי ענישה של מודלים מורכבים מדי.
הרעיון הבסיסי מאחורי ההסדרה הוא לשלב מונח ענישה בפונקציית ההפסד שהמודל מנסה למזער. מונח עונש זה מרתיע את המודל מלהתאים את הרעש בנתוני האימון על ידי הטלת עלות על מורכבות, הנמדדת בדרך כלל לפי גודל הפרמטרים של המודל. על ידי כך, רגוליזציה מסייעת בהשגת איזון בין התאמה טובה של נתוני האימון לבין שמירה על יכולת המודל להכליל לנתונים חדשים.
ישנם מספר סוגים של טכניקות רגוליזציה הנפוצות בשימוש בלמידת מכונה, כאשר הנפוצות שבהן הן סדירות L1, סדירות L2 ונשירה. לכל אחת מהטכניקות הללו יש מאפיינים ויישומים משלה.
1. רגרסיית L1 (רגרסיית לאסו): הסדרת L1 מוסיפה עונש השווה לערך המוחלט של גודל המקדמים לפונקציית ההפסד. מבחינה מתמטית, זה יכול להיות מיוצג כך:
איפה היא פונקציית האובדן המקורית,
הוא פרמטר ההסדרה, ו
הם הפרמטרים של הדגם. ההשפעה של הסדרת L1 היא שהיא נוטה לייצר מודלים דלילים, כלומר היא דוחפת חלק מהמקדמים לאפס, ומבצעת למעשה בחירת תכונה. זה יכול להיות שימושי במיוחד כאשר עוסקים בנתונים בעלי ממדים גבוהים שבהם תכונות רבות עשויות להיות לא רלוונטיות.
2. רגרסיית L2 (רגרסיית רכס): הסדרת L2 מוסיפה עונש השווה לריבוע של גודל המקדמים לפונקציית ההפסד. זה מתבטא מתמטית כך:
הסדרת L2 מרתיעה מקדמים גדולים על ידי ענישה של ערכי הריבוע שלהם, מה שמוביל לקבוצת משקלים מחולקת יותר באופן שווה. בניגוד ל-L1, הסדרת L2 אינה מייצרת מודלים דלילים, מכיוון שהיא לא מאלצת את המקדמים להיות אפס בדיוק, אלא שומרת אותם קטנים. זה שימושי במיוחד למניעת התאמת יתר כאשר לכל התכונות יש רלוונטיות מסוימת.
3. וויסות רשת אלסטי: Elastic Net משלבת את הסדרת L1 ו-L2 כאחד. זה שימושי במיוחד במצבים שבהם יש מספר תכונות מתואמות. העונש האלסטי נטו הוא שילוב ליניארי של העונשים L1 ו-L2:
על ידי כוונון הפרמטרים ו
, Elastic Net יכולה לאזן את היתרונות של הסדרת L1 וגם L2.
4. נשר: נשירה היא טכניקת רגוליזציה שתוכננה במיוחד עבור רשתות עצביות. במהלך האימון, נשירה מגדירה באופן אקראי חלק מהצמתים (נוירונים) בשכבה לאפס בכל איטרציה. זה מונע מהרשת להסתמך יותר מדי על כל צומת בודד ומעודד את הרשת ללמוד תכונות חזקות יותר. נשירה יעילה במיוחד במודלים של למידה עמוקה שבהם התאמת יתר היא בעיה שכיחה בגלל מספר הפרמטרים הרב.
5. עצירה מוקדמת: למרות שאינה טכניקת רגולציה במובן המסורתי, עצירה מוקדמת היא אסטרטגיה למניעת התאמת יתר על ידי עצירת תהליך האימון ברגע שהביצועים בסט אימות מתחילים להתדרדר. זה שימושי במיוחד בשיטות איטרטיביות כמו ירידה בהדרגה שבה המודל מתעדכן כל הזמן.
רגוליזציה חיונית בלמידת מכונה מכיוון שהיא מאפשרת למודלים לבצע ביצועים טובים על נתונים בלתי נראים על ידי שליטה במורכבותם. בחירת טכניקת ההסדרה וכוונון הפרמטרים שלה ( עבור L1 ו-L2, שיעור הנשירה לנשירה) חשובים ולעיתים דורשים ניסויים ואימות צולב כדי להשיג תוצאות מיטביות.
לדוגמה, שקול מודל רגרסיה לינארית מאומן על מערך נתונים עם תכונות רבות. ללא רגולציה, המודל עשוי להקצות משקלים גדולים לתכונות מסוימות, תוך התאמת נתוני האימון באופן הדוק מאוד, אך ביצועים גרועים בנתוני הבדיקה עקב התאמת יתר. על ידי יישום הסדרת L2, מעודדים את המודל לחלק משקלים בצורה שווה יותר, מה שעלול להוביל להכללה טובה יותר על נתונים חדשים.
בתרחיש אחר, רשת עצבית מאומנת על נתוני תמונה עשויה להתאים יתר על המידה על ידי שינון דפוסים ספציפיים בתמונות האימון. על ידי החלת נשירה, הרשת נאלצת ללמוד תכונות כלליות יותר שימושיות בתמונות שונות, ולשפר את הביצועים שלה על נתונים בלתי נראים.
רגוליזציה היא מושג בסיסי בלמידת מכונה המסייעת במניעת התאמת יתר על ידי הוספת עונש על מורכבות לתפקוד האובדן של המודל. על ידי שליטה במורכבות המודל, טכניקות רגוליזציה כגון L1, L2, Elastic Net, נשירה ועצירה מוקדמת מאפשרות הכללה טובה יותר לנתונים חדשים, מה שהופך אותם לכלים חיוניים בערכת הכלים של מתאמן למידת מכונה.
שאלות ותשובות אחרונות אחרות בנושא EITC/AI/GCML Google Cloud Machine Learning:
- כאשר חומרי הקריאה מדברים על "בחירת האלגוריתם הנכון", האם זה אומר שבעצם כל האלגוריתמים האפשריים כבר קיימים? איך נדע שאלגוריתם הוא ה"נכון" לבעיה ספציפית?
- מהם ההיפרפרמטרים המשמשים בלמידת מכונה?
- Whawt היא שפת התכנות ללמידת מכונה היא רק Python
- כיצד מיושמת למידת מכונה בעולם המדע?
- איך מחליטים באיזה אלגוריתם למידת מכונה להשתמש ואיך מוצאים אותו?
- מה ההבדלים בין פדרציית למידה, מחשוב קצה ולמידת מכונה במכשיר?
- איך להכין ולנקות נתונים לפני אימון?
- מהן המשימות והפעילויות הראשוניות הספציפיות בפרויקט למידת מכונה?
- מהם כללי האצבע לאימוץ אסטרטגיית למידת מכונה ומודל ספציפיים?
- אילו פרמטרים מצביעים על כך שהגיע הזמן לעבור ממודל לינארי ללמידה עמוקה?
הצג שאלות ותשובות נוספות ב-EITC/AI/GCML Google Cloud Machine Learning