Что такое recall


Recall (полнота) — это метрика качества классификации в задачах машинного обучения, особенно в бинарной и многоклассовой классификации, которая измеряет долю действительно положительных объектов, корректно распознанных моделью.

📌 Формальное определение

Recall показывает, какую долю всех объектов положительного класса (реальных) модель сумела правильно предсказать.

Формула:

Recall=True PositiveTrue Positive+False Negative\\text{Recall} = \\frac{\\text{True Positive}}{\\text{True Positive} + \\text{False Negative}}

Где:

  • True Positive (TP) — количество объектов положительного класса, которые модель правильно классифицировала как положительные.

  • False Negative (FN) — количество объектов положительного класса, которые модель ошибочно классифицировала как отрицательные.

📊 Пример

Допустим, у вас задача определить больных пациентов на основе анализов:

  • Всего больных: 100 человек

  • Модель правильно определила 90 из них → **TP = 90
    **

  • Модель пропустила 10 больных → **FN = 10
    **
Recall=9090+10=0.9 или 90%\\text{Recall} = \\frac{90}{90 + 10} = 0.9 \\text{ или } 90\\%

🔁 Визуальное представление: Матрица ошибок (Confusion Matrix)

Предсказано: Позитив Предсказано: Негатив
Факт: Позитив TP FN
--- --- ---
Факт: Негатив FP TN
--- --- ---

Recall касается только первой строки (реально положительных случаев): TP / (TP + FN).

🔍 Отличие от precision (точности)

  • Precision (точность): доля предсказанных как положительные, которые действительно таковыми являются.
    Precision=TPTP+FP\text{Precision} = \frac{TP}{TP + FP}
  • Recall (полнота): доля реальных положительных, которые были предсказаны как положительные.
    Recall=TPTP+FN\text{Recall} = \frac{TP}{TP + FN}

Пример различия:

  • У модели может быть высокая точность (precision), но низкая полнота (recall), если она слишком осторожна и пропускает много истинных положительных примеров.

  • Или наоборот — она может захватывать почти все позитивы (высокий recall), но делать много ошибок (низкий precision).

⚖️ Компромисс между recall и precision

Чтобы сбалансировать эти метрики, часто используют F1-меру:

F1=2precisionrecallprecision+recallF1 = 2 \\cdot \\frac{\\text{precision} \\cdot \\text{recall}}{\\text{precision} + \\text{recall}}

F1-метрика особенно полезна, когда важно учитывать обе ошибки: и пропущенные положительные, и ложные срабатывания.

🧠 Когда важен высокий Recall

  • В медицине (обнаружение рака, COVID-19): лучше предсказать ложный диагноз, чем пропустить болезнь.

  • В системах безопасности (обнаружение атак, мошенничества).

  • В поисковых системах: лучше показать больше релевантных результатов, даже если некоторые не слишком точные.

📌 Примеры задач с приоритетом recall

  1. Распознавание спама: лучше отфильтровать все спам-письма (высокий recall), пусть даже пара полезных писем попадёт в спам.

  2. Поиск пропавших детей по фото: лучше выдать больше возможных совпадений, чем пропустить реальное.

  3. Сигнализация о пожаре: пусть сработает несколько раз ложная тревога, главное — не пропустить реальный пожар.

🧰 Управление Recall через порог

Многие модели (например, логистическая регрессия, нейросети) предсказывают вероятности, и решение о принадлежности к классу делается с помощью порогового значения (например, 0.5).

  • Уменьшая порог, можно повысить recall, т.к. больше объектов будут классифицированы как положительные.

  • Повышая порог, можно повысить точность, но потерять в полноте.

📈 Визуализация

  • Precision-Recall кривая: показывает, как изменяются precision и recall при варьировании порога.

  • ROC кривая и AUC: также показывают чувствительность (recall) по отношению к специфичности.

🛠 Методы повышения recall

  • Использование алгоритмов с регуляризацией, контролирующей недообучение.

  • Балансировка классов (если один сильно доминирует).

  • Взвешивание классов: penalize ошибки на положительном классе.

  • Data augmentation: расширение обучающей выборки позитивных примеров.

Таким образом, recall — это критически важная метрика в задачах, где цена пропущенного положительного случая высока, даже если это приведёт к увеличению ложных тревог.