סיווג: דיוק, ריקול, דיוק ומדדים קשורים

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

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

דיוק

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

\[\text{Accuracy} = \frac{\text{correct classifications}}{\text{total classifications}} = \frac{TP+TN}{TP+TN+FP+FN}\]

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

מודל מושלם לא ייצור אף תוצאה חיובית שגויה ואף תוצאה שלילית שגויה, ולכן רמת הדיוק שלו תהיה 1.0 או 100%.

מכיוון שהיא משלבת את כל ארבע התוצאות ממטריצת הבלבול (TP,‏ FP,‏ TN,‏ FN), בהינתן מערך נתונים מאוזן עם מספר דומה של דוגמאות בשני הכיתורים, הדיוק יכול לשמש כמדד גס של איכות המודל. לכן, לרוב זהו מדד ההערכה שמוגדר כברירת מחדל למודלים גנריים או לא מזוהים שמבצעים משימות גנריות או לא מוגדרות.

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

לגבי מערכי נתונים לא מאוזנים מאוד, שבהם מחלקה אחת מופיעה לעתים רחוקות מאוד, למשל, ב-1% מהזמן, מודל שחוזה שלילי ב-100% מהזמן יקבל ציון של 99% ברמת הדיוק, למרות שהוא לא שימושי.

זכירת המודעה, או שיעור החיובים האמיתיים

השיעור החיובי האמיתי (TPR), או היחס של כל התוצאות החיוביות בפועל שסווגו כחיוביות, נקרא גם recall.

מבחינה מתמטית, החזרה מוגדרת כך:

\[\text{Recall (or TPR)} = \frac{\text{correctly classified actual positives}}{\text{all actual positives}} = \frac{TP}{TP+FN}\]

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

למודל מושלם היפותטי לא יהיו תוצאות שליליות שגויות, ולכן שיעור החזרה (TPR) שלו יהיה 1.0, כלומר שיעור זיהוי של 100%.

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

שיעור תוצאות חיוביות שגויות

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

\[\text{FPR} = \frac{\text{incorrectly classified actual negatives}} {\text{all actual negatives}} = \frac{FP}{FP+TN}\]

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

למודל מושלם יהיו אפס תוצאות חיוביות מוטעות ולכן ערך ה-FPR הוא 0.0, כלומר 0% שיעור אזעקת שווא.

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

דיוק

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

\[\text{Precision} = \frac{\text{correctly classified actual positives}} {\text{everything classified as positive}} = \frac{TP}{TP+FP}\]

בדוגמה של סיווג ספאם, המדד 'דיוק' מתייחס לחלק מהאימיילים שסווגו כספאם ושהיו באמת ספאם.

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

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

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

רוצים לנסות בעצמכם?

מה המשמעות של NaN במדדים?

הערך NaN, או 'לא מספר', מופיע כשמחלקים ב-0, ויכול לקרות בכל אחד מהמדדים האלה. אם גם TP וגם FP הם 0, לדוגמה, הנוסחה לדיוק יש 0 במכנה, והתוצאה היא NaN. במקרים מסוימים, הערך NaN יכול להצביע על ביצועים מושלמים, וניתן להחליף אותו בציון 1.0. עם זאת, הוא יכול גם להופיע במודל שהוא למעשה חסר תועלת. לדוגמה, מודל שמעולם לא מנבא תוצאה חיובית יכלול 0 תוצאות חיוביות ו-0 תוצאות שליליות, ולכן החישוב של הדיוק שלו יניב את הערך NaN.

בחירת מדד ומאזני הרווח והפסד

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

מדד הנחיות
דיוק

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

לביצועי המודל, יש להשתמש בו רק בשילוב עם מדדים אחרים.

הימנעו משימוש במערכי נתונים לא מאוזנים. כדאי להשתמש במדד אחר.

ריקול
(שיעור חיובי אמיתי)
יש להשתמש במקרים שבהם תוצאות שליליות כוזבות יקרות יותר מתוצאות חיוביות מוטעות.
שיעור חיובי שווא משתמשים באפשרות הזו כשתוצאות חיוביות שגויות יקרות יותר מתוצאות שליליות שגויות.
דיוק מומלץ להשתמש בה כשחשוב מאוד שהתחזיות החיוביות יהיו מדויקות.

(אופציונלי, מתקדם) ציון F1

ציון F1 הוא הממוצע ההרמוני (סוג ממוצע) של הדיוק והזכירות.

מבחינה מתמטית, הנוסחה היא:

\[\text{F1}=2*\frac{\text{precision * recall}}{\text{precision + recall}} = \frac{2\text{TP}}{2\text{TP + FP + FN}}\]

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

תרגול: בדיקת ההבנה

הפלט של המודל הוא 5 TP , 6 TN , 3 FP ו-2 FN. מחשבים את אחוז הקריאה מחדש.
0.714
החזרה מחושב לפי [\frac{TP}{TP+FN}=\frac{5}{7}].
0.455
המדד 'החזר' מתייחס לכל התוצאות החיוביות בפועל, ולא לכל הסיווגים הנכונים. הנוסחה לזיהוי היא [\frac{TP}{TP+FN}].
0.625
המדד 'החזר' מתייחס לכל התוצאות החיוביות בפועל, ולא לכל הסיווגים החיוביים. הנוסחה לזיהוי היא [\frac{TP}{TP+FN}]
מודל מניב 3 TP,‏ 4 TN,‏ 2 FP ו-1 FN. מחשבים את רמת הדיוק.
0.6
הדיוק מחושב לפי הנוסחה [\frac{TP}{TP+FP}=\frac{3}{5}].
0.75
רמת הדיוק מביאה בחשבון את כל הסיווגים החיוביים, ולא את כל התוצאות החיוביות בפועל. הנוסחה לדיוק היא [\frac{TP}{TP+FP}].
0.429
המדד 'דיוק' מתייחס לכל הסיווגים החיוביים, ולא לכל הסיווגים הנכונים. הנוסחה לחישוב הדיוק היא [\frac{TP}{TP+FP}]
אתם יוצרים סיווג בינארי שבודק תמונות של מלכודות חרקים כדי לזהות אם יש בהן מינים פולשניים מסוכנים. אם המודל מזהה את המין, מודיע על כך לאנטומולוג (מדען חרקים) התורן. חשוב מאוד לזהות את החרק הזה בשלב מוקדם כדי למנוע התרבות שלו. קל לטפל בהתראה שקרית (תוצאה חיובית כוזבת): הבקטריולוג רואה שהתמונה סווגה בטעות ומסמן אותה ככזו. בהנחה שרמת הדיוק של המודל היא מספקת, באיזה מדד כדאי לבצע אופטימיזציה של המודל?
זכירות
בתרחיש הזה, התראות שווא (FP) הן בעלות נמוכה ועלויות שליליות כוזבות יקרות מאוד, לכן הגיוני להגדיל את שיעור הזכירות או את ההסתברות לזיהוי.
שיעור תוצאות חיוביות שגויות (FPR)
בתרחיש הזה, התראות שווא (FP) הן בעלות נמוכה. לא כדאי לנסות למזער אותן בסיכון של אובדן מידע חיובי בפועל.
דיוק
בתרחיש הזה, התראות שווא (FP) לא מזיקות במיוחד, ולכן אין טעם לנסות לשפר את הדיוק של הסיווגים החיוביים.