היזכרות (Recall)

יסודות בינה מלאכותית

הגדרה

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

ההגדרה: TP חלקי כל מה שבאמת חיובי

Recall עונה על השאלה ההפוכה מ-Precision: מתוך כל המקרים שהיו חיוביים באמת, כמה מהם המודל הצליח לתפוס בפועל? הנוסחה, לפי תיעוד-scikit-learn, היא TP חלקי (TP ועוד FN) — מספר החיוביים-האמיתיים (True Positives) מחולק בסך-כל המקרים החיוביים-האמיתיים שהיו קיימים, כלומר TP בתוספת השליליים-הכוזבים (False Negatives, מקרים חיוביים שהמודל פספס וסימן בטעות כ'שלילי'). ערך של 1.0 פירושו שהמודל תפס את כל המקרים החיוביים בלי לפספס אף אחד; ערך נמוך פירושו שחלק גדול מהמקרים החיוביים-האמיתיים חמק מהמודל.

מקור המושג: Sensitivity באבחון רפואי, Recall באחזור-מידע

כמו Precision, גם Recall שורשו במחקר אחזור-המידע — שם המדד נועד לבדוק כמה מהמסמכים הרלוונטיים שהיו קיימים באוסף, מנוע-חיפוש הצליח להחזיר בפועל, לפי ספר-היסוד של ואן-רייסברגן (1979) וההמשך שלו בספרות התחום. ויקיפדיה מציינת ש-Recall מוכר גם בשם 'שיעור-חיוביים-אמיתיים' (True Positive Rate) או 'Sensitivity' — כינוי נפוץ במיוחד באבחון רפואי ובבדיקות-סקר, שם השאלה הנשאלת זהה במהותה: מתוך כל האנשים שבאמת חולים, כמה הבדיקה זיהתה. השימוש המקביל בשני התחומים — אחזור-מסמכים ואבחון-רפואי — הוא שהפך את המדד לאחד המושגים הנפוצים ביותר, בכינויים שונים, כמעט בכל תחום שמצריך למיין תוצאות ל'רלוונטי' ו'לא-רלוונטי', ולעיתים אף גורם לבלבול כשקוראים מתחומים שונים משתמשים בכינוי אחר לאותו חישוב בדיוק.

דוגמה מספרית

באותה דוגמה ממדריך-המשתמש של scikit-learn: על תיוג-אמת [0, 1, 0, 1] ותחזיות-מודל [0, 1, 0, 0], ה-Recall יוצא 0.5 בלבד — מתוך שני המקרים שהיו חיוביים באמת, המודל תפס רק אחד ופספס את השני. לעומת זאת, ה-Precision של אותו מודל בדיוק הוא 1.0, כי התחזית-החיובית היחידה שהוא כן נתן הייתה נכונה. הפער הזה, בין מודל אחד עם Precision מושלם ו-Recall חלקי, ממחיש למה שני המדדים נבדקים כמעט תמיד יחד ולא בנפרד.

המלכודת: Recall מושלם בלי מאמץ

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

מתי Recall הוא המדד החשוב מביניהם

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

שימוש בפועל: multiclass ו'שיעור-חיוביים-אמיתיים'

בעיות עם יותר משתי מחלקות מחושבות באותה שיטה כמו Precision — recall_score מחשב Recall נפרד לכל מחלקה ומאחד לפי average ('macro', 'weighted' או 'micro'). בדוגמה מתיעוד-scikit-learn לשלוש מחלקות (0, 1, 2), עם תיוג-אמת [0, 1, 2, 0, 1, 2] ותחזיות [0, 2, 1, 0, 0, 1], ה-Recall לכל מחלקה בנפרד יוצא [1.0, 0.0, 0.0] — המודל תפס את כל מקרי מחלקה 0, אך אף לא מקרה אחד ממחלקות 1 ו-2 — כך שהממוצע ה'macro' על שלוש המחלקות יוצא נמוך במיוחד, 0.33 בלבד, אף שהמודל 'הצליח' לגמרי במחלקה אחת. באבחון רפואי ובתחומים סטטיסטיים אחרים, אותו מדד בדיוק מכונה 'Sensitivity' או 'שיעור-חיוביים-אמיתיים' (True Positive Rate) — ציר-ה-Y הסטנדרטי בעקומת-ROC, כלי-הערכה נפוץ נוסף להשוואת מודלים על-פני כל ספי-ההחלטה האפשריים, לא רק בנקודת-סף בודדת.

שאלות נפוצות ❓

מה ההבדל בין Recall ל-Precision?

Recall בודק מתוך כל המקרים החיוביים-האמיתיים כמה המודל תפס; Precision בודק מתוך כל מה שהמודל סימן 'חיובי' כמה מזה נכון. אפשר להצטיין באחד ולהיכשל בשני — הם נמדדים כמעט תמיד יחד.

איך אפשר להשיג Recall מושלם בקלות?

מודל שמסמן את כל המקרים כ'חיוביים' משיג Recall של 1.0 באופן טריוויאלי, כי הוא לא מפספס אף מקרה חיובי-אמיתי. המחיר: ה-Precision שלו יקרוס, כי הוא גם 'מסווג' בטעות את כל השליליים-האמיתיים כחיוביים.

מה זה 'שיעור-חיוביים-אמיתיים' (True Positive Rate)?

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

מתי Recall חשוב יותר מ-Precision?

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