מהו התאמת יתר בלמידת מכונה ואיך להימנע מכך?



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

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

כיצד ליצור סט

מהו התאמת יתר בלמידת מכונה?

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





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



דוגמאות להתאמת יתר

דוגמה 1

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



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

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

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

הבה נבחן דוגמה תיאורית יותר בעזרת הצהרת בעיה.

דוגמה 2

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

עכשיו דמיין, אנחנו מתאמנים ומתאימים למודל עם 10,000 שחקנים כאלה עם תוצאות. כאשר אנו מנסים לחזות את התוצאה במערכת הנתונים המקורית, נניח שקיבלנו דיוק של 99%. אך הדיוק במערך נתונים אחר מגיע לכ -50 אחוז. המשמעות היא שהמודל אינו כללי היטב מנתוני ההדרכה שלנו ונתונים בלתי נראים.

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

אות מול רעש

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

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

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

מה זה Underfitting?

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

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

איך לזהות התאמת יתר?

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

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

הבה נבין זאת בדוגמה, דמיין שאנו מקבלים דיוק של 90+ אחוזים על מערך האימונים ודיוק של 50 אחוזים על מערך המבחנים. ואז, באופן אוטומטי זה יהיה דגל אדום עבור הדגם.

דרך נוספת לאתר התאמת יתר זה להתחיל במודל פשטני שישמש אמת מידה.

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

כיצד להימנע מכיסוי יתר בלמידת מכונה?

ישנן מספר טכניקות כדי למנוע התאמה יתרה של למידת מכונה המפורטת להלן.

  1. אימות צולב

  2. אימונים עם יותר נתונים

  3. הסרת תכונות

  4. עצירה מוקדמת

  5. הסדרה

  6. הרכבה

1. אימות צולב

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

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

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

2. אימונים עם יותר נתונים

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

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

3. הסרת תכונות

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

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

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

4. עצירה מוקדמת

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

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

5. הסדרה

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

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

6. הרכבה

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

  • שקיות ניסיונות להפחית את הסיכוי להתאמת הדגמים

  • הגברת הניסיונות לשפר את הגמישות הניבוי של דגמים פשוטים יותר

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

מהו טובת הכושר?

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

מהי מילה שמורה בג'אווה

הפשרה בין הטיה לשונות

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

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

הֲטָיָה

אין זה אלא ההבדל בין הערכים החזויים לערכים האמיתיים או האמיתיים במודל. לא תמיד קל למודל ללמוד מאותות מורכבים למדי.

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

שׁוֹנוּת

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

דמיין אלגוריתם שמתאים למודל הלא מוגבל והגמיש במיוחד, הוא ילמד גם מהרעש במערך האימונים הגורם להתאמת יתר.

פשרה בין הטיה-שונות

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

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

  • הם יאמנו את הדגמים העקביים, אך לא מדויקים בממוצע.

  • אלה כוללים אלגוריתמים ליניאריים או פרמטריים, כגון רגרסיה, , וכו.

אלגוריתמי הטיה עם שונות גבוהה-נמוכה נוטים להיות מורכבים יותר, עם מבנה גמיש.

  • הם יאמנו את הדגמים שאינם עקביים אך מדויקים בממוצע.

  • אלה כוללים אלגוריתמים לא ליניאריים או לא פרמטריים כגון , , וכו.

זה מביא אותנו לסוף מאמר זה בו למדנו התאמת יתר בלמידת מכונה ועל טכניקות שונות להימנע מכך. אני מקווה שברור לך עם כל מה ששותף איתך במדריך זה.

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

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

אם אתה נתקל בשאלות כלשהן, אל תהסס לשאול את כל השאלות שלך בקטע ההערות של 'Overfitting In Machine Learning' והצוות שלנו ישמח לענות.