נתונים לא מאוזנים

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

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

דרגת חוסר איזון דרגת פרופורציה
מתון 20-40% ממערך הנתונים
בינוני 1-20% ממערך הנתונים
קיצונית פחות מ-1% ממערך הנתונים

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

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

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

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

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

דגימה נמוכה מדי ושקלול יתר

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

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

שלב 1: משדרגים לאחור את סיווג הרוב. נסו שוב את הדוגמה של קבוצת נתוני ההונאה, עם תוצאה חיובית של 1 עד 200. דגימה מחדש לפי גורם 10 משפרת את היתרה (ב-1% עד 20%). למרות שקבוצת האימון שנוצרה היא עדיין לא כל כך מאוזנת, היחס של חיובי לשלילי הוא הרבה יותר טוב מהיחס המקורי (0.5%).

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

שלב 2: שדרוג דגימה של המחלקה שנדגמת את הדגימה: השלב האחרון הוא להוסיף משקלים לדוגמה לכיתות לדוגמה. מכיוון שדגמנו מחדש לפי גורם 10, המשקל לדוגמה יהיה 10.

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

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

המשקל צריך להיות שווה לפקטור שבו השתמשתם בדגימה הבאה:

\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]

למה כדאי לדגום את משקל המשקל?

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

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