נניח שיש לכם מודל רגרסיה לוגיסטי לזיהוי ספאם באימייל חוזה ערך בין 0 ל-1, שמייצג את ההסתברות האימייל הוא ספאם. חיזוי של 0.50 מציין סבירות של 50% שהודעת האימייל ספאם, חיזוי של 0.75 מציין סבירות של 75% שהאימייל הוא ספאם, וכן הלאה.
אתם רוצים לפרוס את המודל הזה באפליקציית אימייל כדי לסנן ספאם ל-
בתיקיית אימייל נפרדת. אבל לשם כך צריך להמיר את
פלט מספרי (למשל, 0.75
) לאחת משתי קטגוריות: 'ספאם' או "לא
ספאם".
כדי לבצע את ההמרה הזו, צריך לבחור הסתברות סף, שנקראת
סף הסיווג.
לאחר מכן, דוגמאות עם הסתברות מעל ערך הסף מוקצות
למחלקה החיובית,
הכיתה שמוצגת בה הבדיקה (כאן, spam
). דוגמאות עם ערך נמוך יותר
מוקצות למחלקה שלילית,
המחלקה החלופית (כאן, not spam
).
כאן אפשר למצוא פרטים נוספים על סף הסיווג
ייתכן שאתם תוהים: מה קורה אם הציון החזוי שווה ל- סף הסיווג (למשל, ציון 0.5, גם סף הסיווג הוא 0.5)? טיפול במקרה הזה תלוי באופן ההטמעה הספציפי שנבחר לסיווג מודל טרנספורמר. לדוגמה, הערכים Keras יוצרת חיזוי של המחלקה השלילית אם הציון והסף זהים, אבל כלים או frameworks אחרים עשויים לטפל במקרה הזה אחרת.
לדוגמה, נניח שהמודל נותן ציונים לאימייל אחד כ-0.99, ומבצע חיזוי לאימייל הזה יש סיכוי של 99% להיות ספאם, 0.51, המשמעות היא שיש סיכוי של 51% לספאם. אם מגדירים לסיווג של 0.5, המודל יסווג את שתי הודעות האימייל בתור ספאם. אם תגדירו את הסף כ-0.95, רק האימייל עם ציון 0.99 יקבל יסווג כספאם.
0.5 עשוי להיראות כמו סף אינטואיטיבי, אבל לא כדאי אם עלות של סוג אחד של סיווג שגוי גבוהה יותר מהאחר, או אם חוסר איזון בין המחלקות. אם רק 0.01% מהאימיילים הם ספאם או אם השליחה שגויה הודעות אימייל לגיטימיות הן יותר גרועות מהכנסת ספאם לתיבת הדואר הנכנס, תיוג כל דבר שהמודל מחשיב כ-50% לפחות כספאם כי ספאם מניב תוצאות לא רצויות.
מטריצת בלבול
ציון ההסתברות אינו מציאותי, או ground truth. לכל פלט יש ארבע תוצאות אפשריות ממסווג בינארי. בדוגמה של מסווג הספאם, אם תפרסו את היסודות כעמודות ואת החיזוי של המודל כשורות, הטבלה הבאה, שנקראת מטריצת הבלבול, תוצאה:
ערך חיובי בפועל | שלילי בפועל | |
---|---|---|
צפי חיובי | חיובי אמיתי (TP): ספאם אימייל שסווג כראוי כאימייל ספאם. אלה הודעות הספאם נשלחת באופן אוטומטי לתיקיית הספאם. | חיובי שגוי (FP): אימייל שאינו ספאם מסווג באופן שגוי בתור ספאם. אלה הודעות האימייל הלגיטימיות לתיקיית הספאם. |
ערך שלילי חזוי | לא נכון שלילי (FN): הודעת ספאם שסווגה באופן שגוי כ'לא ספאם'. אלה ספאם אימיילים שלא שנתפס על ידי מסנן הספאם ומגיעים לתיבת הדואר הנכנס. | True negative (TN): A אימייל שלא ספאם מסווג כראוי כלא ספאם. אלו הודעות האימייל הלגיטימיות שנשלחות ישירות לתיבת הדואר הנכנס. |
שימו לב שהסכום הכולל בכל שורה מציין את כל התוצאות החיוביות החזויות (TP + FP) וגם כל הערכים השליליים החזויים (FN + TN), ללא קשר לתוקף. הסכום הכולל בכל העמודה הזו נותנת בינתיים את כל התוצאות החיוביות האמיתיות (TP + FN) וכל הערכים השליליים האמיתיים (FP + TN) ללא קשר לסיווג המודל.
כאשר המספר הכולל של ביקורות חיוביות בפועל לא קרוב לסכום הכולל של שליליים, מערך הנתונים לא מאוזן. מופע של מערך נתונים לא מאוזן יכול להיות מקבץ של אלפי תמונות של עננים, סוג הענן הנדיר שמעניין אותך, למשל, ענני עוצמת קול, מופיעים רק כמה פעמים.
השפעת הסף על תוצאות חיוביות ושליליות נכון או לא נכון
ערכי סף שונים בדרך כלל מובילים למספרים שונים של TRUE ו-FALSE תוצאות חיוביות או שליליות נכון או לא. הסרטון הבא מסביר למה במקרה הזה.
אפשר לנסות לשנות את הסף בעצמך.
הווידג'ט כולל שלושה מערכי נתונים של צעצועים:
- מופרדים, כאשר דוגמאות חיוביות ודוגמאות שליליות בדרך כלל שונות במידה רבה, כאשר רוב הדוגמאות החיוביות קיבלו ציונים גבוהים יותר דוגמאות לשליליות.
- לא מופרדים, כאשר לדוגמאות חיוביות רבות יש ציונים נמוכים מ- ודוגמאות שליליות רבות קיבלו ציונים גבוהים יותר דוגמאות חיוביות.
- לא תקין, שמכיל רק כמה דוגמאות של הסיווג החיובי.