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