סיווג: חיזוי הטיה

יש להימנע מהטיות של חיזוי רגרסיה לוגיסטית. כלומר:

"ממוצע של חיזויים" צריך ≈ "ממוצע של תצפיות"

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

$$\text{prediction bias} = \text{average of predictions} - \text{average of labels in data set}$$

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

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

סיבות אפשריות להטיה של חיזוי:

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

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

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

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

הטיה וקטגוריית חיזוי

רגרסיה לוגיסטית חוזה את הערך בין 0 ל-1. עם זאת, כל הדוגמאות שתויגו הן 0 בדיוק (כלומר, "לא ספאם") או 1 בדיוק (כלומר, "spam"). לכן, כאשר בודקים את הטיה של חיזוי, לא ניתן לקבוע במדויק את ההטיה של התחזית על סמך דוגמה אחת בלבד. עליכם לבדוק את הטיה בחיזוי לפי דוגמאות של "bucket" כלומר, ההטיה בחיזוי של רגרסיה לוגיסטית חשובה רק כשמקבצים יחד מספיק דוגמאות כדי להשוות בין ערך חזוי (לדוגמה, 0.392) לערכים שנצפו (לדוגמה, 0.394).

ניתן ליצור קטגוריות בדרכים הבאות:

  • פירוט לינארי של היעדים.
  • יצירת רבעונים.

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

  • ציר ה-x מייצג את הממוצע של הערכים שהמודל צפוי עבור הקטגוריה הזו.
  • ציר ה-Y מייצג את הממוצע הממוצע של הערכים במערך הנתונים.

שני הצירים הם משקלי לוגריתמי.

ציר ה-X הוא חיזוי; ציר ה-Y הוא תווית. במקרה של ערכי חיזוי אמצעיים וגבוהים, ההטיה בחיזוי תהיה זניחה. לערכים נמוכים של חיזוי, הטיה גבוהה יחסית.

איור 8. עקומת הטיה לפי חיזוי (סקולי לוגריתמי)

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

  • מערך ההדרכה לא מייצג כראוי קבוצות משנה מסוימות של מרחב הנתונים.
  • קבוצות משנה מסוימות של קבוצת הנתונים רועשות יותר מקבוצות אחרות.
  • המודל מבוקר מדי. (מומלץ להפחית את הערך של lambda.)