מערכי נתונים: חלוקה של מערך הנתונים המקורי

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

ערכות אימון, אימות ובדיקה

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

איור 8. עמודה אופקית שמחולקת לשני חלקים: כ-80% מתוכם
            הוא מערך האימון, ו-20% בערך הוא קבוצת הבדיקה.
איור 8. הפיצול לא אופטימלי.

 

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

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

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

  • קבוצת אימות מבצע את הבדיקה הראשונית של המודל בזמן האימון שלו.
איור 9. עמודה אופקית שמחולקת לשלושה חלקים: 70% מתוכם
            הוא מערך האימון, 15% ערכת האימות ו-15%
            קבוצת הבדיקה
איור 9. פיצול הרבה יותר טוב.

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

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

איור 10. תרשים של תהליך עבודה שמורכב מהשלבים הבאים:
            1. מאמנים את המודל בערכת האימון.
            2. הערכת המודל בקבוצת האימות.
            3. משנים את המודל בהתאם לתוצאות בקבוצת האימות.
            4. חוזרים על 1, 2 ו-3, ובסופו של דבר בוחרים את המודל
               הכי טוב בקבוצת האימות.
            5. מאמתים את התוצאות בערכת הבדיקה.
איור 10. תהליך עבודה טוב לפיתוח ובדיקה.

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

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

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

בעיות נוספות בערכות בדיקה

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

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

לסיכום, קבוצת בדיקה או קבוצת אימות טובים עומדים בכל הקריטריונים הבאים:

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

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

בהינתן מערך נתונים יחיד עם מספר קבוע של דוגמאות, איזה מההצהרות הבאות נכון?
כל דוגמה שמשמשת לבדיקת המודל היא דוגמה אחת פחות לשימוש באימון המודל.
חלוקה של דוגמאות לקבוצות של רכבת/בדיקה/אימות היא משחק סכום אפס. זה השילוב המרכזי.
מספר הדוגמאות בקבוצת הבדיקה חייב להיות גדול מ- מספר הדוגמאות בקבוצת האימות.
בתיאוריה, קבוצת האימות ובדיקת הבדיקה צריכות לכלול את אותם מספר דוגמאות, פחות או יותר.
מספר הדוגמאות בקבוצת הבדיקה חייב להיות גדול מ- מספר הדוגמאות בקבוצת האימות או בקבוצת האימון.
מספר הדוגמאות בערכת האימון בדרך כלל גדול מ- מספר הדוגמאות בקבוצת האימות או בקבוצת הבדיקה. עם זאת, אין דרישות באחוזים לקבוצות השונות.
נניח שקבוצת הבדיקה שלך מכילה מספיק דוגמאות כדי לבצע בדיקה בעלת מובהקות סטטיסטית. בנוסף, בדיקה כנגד קבוצת הבדיקות מניבה הפסד נמוך. עם זאת, המודל ביצע גרועות בעולם האמיתי. מה עליך לעשות?
מצאו את ההבדלים בין מערך הנתונים המקורי לבין נתונים מהמציאות.
כן. גם מערכי הנתונים הטובים ביותר הם רק תמונת מצב של הנתונים האמיתיים; הבסיס ground truth נוטה להשתנות עם הזמן. על אף שמערכת הבדיקות שלך התאימה שהאימון שלהן מספיק טוב כדי להציע איכות טובה של המודל, שמערך הנתונים לא מתאים במידה מספקת לנתונים מהעולם האמיתי. יכול להיות שתצטרכו לאמן מחדש מערך נתונים חדש ולבדוק אותו שוב.
בודקים שוב את אותה קבוצת בדיקה. תוצאות הבדיקה עשויות להיות היה חריגה.
בדיקה מחדש עשויה להניב תוצאות מעט שונות, סביר להניח שהשיטה הזו לא מאוד מועילה.
כמה דוגמאות צריכה לכלול קבוצת הבדיקה?
מספיק דוגמאות כדי להפיק בדיקה בעלת מובהקות סטטיסטית.
כן. כמה דוגמאות מדובר? מומלץ להתנסות.
לפחות 15% ממערך הנתונים המקורי.
15% זה לא תמיד מספיק דוגמאות.