Recall
Изучи важность полноты в машинном обучении. Узнай, как измерять и повышать чувствительность моделей Ultralytics YOLO26, чтобы обеспечить высокий уровень обнаружения.
Полнота, также известная как чувствительность или доля истинно положительных результатов, — это фундаментальная метрика производительности в машинном обучении, которая измеряет способность модели выявлять все релевантные экземпляры в наборе данных. В контексте обнаружения объектов или классификации она отвечает на конкретный вопрос: «Из всех фактически положительных случаев сколько модель правильно обнаружила?» Высокая полнота критически важна в сценариях, где пропуск положительного экземпляра — часто называемый ложноотрицательным результатом — имеет серьёзные последствия. В отличие от точности, которая может вводить в заблуждение при работе с несбалансированными данными, полнота даёт сфокусированное представление об эффективности модели при «охвате» целевого класса.
Важность высокой полноты#
Во многих приложениях искусственного интеллекта цена необнаружения объекта значительно выше цены ложной тревоги. Модель, оптимизированная по полноте, минимизирует ложноотрицательные результаты, обеспечивая достаточно широкий охват системы для выявления потенциальных угроз, аномалий или критических состояний. Это часто связано с компромиссом: увеличение полноты иногда приводит к снижению показателя точности, то есть модель может помечать больше нерелевантных объектов как положительные. Понимание этого баланса играет ключевую роль в разработке надёжных решений для машинного обучения.
Практические применения#
Полнота — ключевая метрика для многих решений на базе ИИ, критически важных для безопасности. Ниже приведены два ярких примера, в которых чувствительность имеет приоритет:
- Медицинская диагностика: При анализе медицинских изображений, например при проверке рентгеновских снимков на ранние признаки заболевания, высокая полнота обязательна. Если система ИИ в здравоохранении используется для обнаружения опухолей, гораздо лучше, если система отметит подозрительную тень, которая окажется доброкачественной (ложноположительный результат), чем полностью пропустит злокачественную опухоль. Врачи полагаются на такие инструменты как на дополнительный уровень безопасности, помогающий не упустить потенциальные риски для здоровья.
- Безопасность и наблюдение: Для системы охранной сигнализации главная цель — обнаруживать каждую попытку вторжения. Система, оптимизированная для высокой полноты, гарантирует срабатывание тревоги, если человек входит в зону ограниченного доступа. Хотя это может привести к отдельным ложным тревогам, вызванным животными, такой вариант предпочтительнее, чем необнаружение реального нарушителя. В таких сценариях модели обнаружения объектов настраиваются для обеспечения максимальной чувствительности к потенциальным угрозам.
Полнота и точность#
Важно отличать полноту от её противоположной метрики — точности. Если полнота измеряет количество найденных релевантных случаев (полноту охвата), то точность измеряет качество положительных предсказаний (правильность).
- Полнота: ориентирована на предотвращение пропусков. «Нашли ли мы все яблоки?»
- Точность: ориентирована на минимизацию ложных тревог. «Все ли объекты, которые мы назвали яблоками, действительно являются яблоками?»
Эти две метрики часто имеют обратную зависимость, которая отображается на кривой точность–полнота. Чтобы оценить общий баланс между ними, разработчики часто используют F1-меру, представляющую собой гармоническое среднее этих показателей. В несбалансированных наборах данных анализ полноты вместе с матрицей ошибок даёт гораздо более ясное представление о производительности, чем одна только точность.
Измерение полноты с помощью Ultralytics YOLO#
При обучении таких моделей, как передовая YOLO26, полнота автоматически вычисляется на этапе валидации. Фреймворк вычисляет полноту для каждого класса и среднюю точность по всем классам (mAP), помогая разработчикам оценить, насколько хорошо модель обнаруживает объекты.
Ты можешь легко проверить обученную модель и просмотреть её метрики полноты с помощью Python. В этом фрагменте показано, как загрузить модель и проверить её производительность на стандартном наборе данных:
from ultralytics import YOLO
# Load a pretrained YOLO26 model
model = YOLO("yolo26n.pt")
# Validate the model on the COCO8 dataset
# The results object contains metrics like Precision, Recall, and mAP
metrics = model.val(data="coco8.yaml")
# Access and print the mean recall score for box detection
print(f"Mean Recall: {metrics.results_dict['metrics/recall(B)']:.4f}")Этот код использует API Ultralytics для запуска валидации. Если полнота ниже необходимого для твоего проекта уровня, можно рассмотреть такие методы, как аугментация данных для создания более разнообразных обучающих примеров или настройка гиперпараметров для регулировки чувствительности модели. Использование платформы Ultralytics также может упростить управление наборами данных и отслеживание этих метрик в рамках нескольких запусков обучения.
Повышение полноты модели#
Чтобы повысить полноту модели, специалисты по анализу данных часто корректируют порог уверенности, используемый во время инференса. Снижение порога делает модель более «оптимистичной»: она принимает больше предсказаний за положительные, что повышает полноту, но может снизить точность. Кроме того, сбор более разнообразных обучающих данных помогает модели научиться распознавать сложные негативные примеры и малозаметные объекты. Для сложных задач применение продвинутых архитектур, например блоков Transformer, или изучение ансамблевых методов также может улучшить способность системы обнаруживать тонкие признаки, которые простые модели могут пропустить.









