Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

F1-мера

Узнайте о важности F1-меры в машинном обучении! Узнайте, как она балансирует между точностью и полнотой для оптимальной оценки модели.

F1-Score — это важный показатель эффективности в машинном обучении, который объединяет точность и полноту в одно гармоническое среднее. Он особенно полезен для оценки моделей классификации, в которых набор данных несбалансирован или в которых ложные срабатывания и ложные отказы имеют разную стоимость. В отличие от простой точности, которая может вводить в заблуждение, если один класс доминирует в наборе данных, F1-Score дает более сбалансированное представление о способности модели правильно идентифицировать релевантные экземпляры при минимальном количестве ошибок. Штрафуя экстремальные значения, он гарантирует, что высокий балл достигается только тогда, когда и точность, и полнота достаточно высоки, что делает его основным показателем в различных областях, от медицинской диагностики до поиска информации.

Почему F1-Score важен в машинном обучении

Во многих реальных сценариях простого знания процента правильных предсказаний (точности) недостаточно. Например , при обнаружении аномалий нормальные случаи значительно превосходят по количеству аномалии. Модель, которая предсказывает «нормальное» состояние для каждого ввода, может достигать 99% точности, но будет бесполезна для обнаружения реальных проблем. Показатель F1-Score решает эту проблему, уравновешивая два конкурирующих показателя:

  • Точность: Этот показатель измеряет качество положительных прогнозов. Он отвечает на вопрос: «Из всех случаев, которые модель пометила как положительные, сколько действительно были положительными?»
  • Recall: Этот показатель измеряет количество положительных прогнозов. Он отвечает на вопрос: «Из всех фактических положительных случаев, сколько из них модель правильно определила?»

Поскольку часто приходится идти на компромисс — повышение точности, как правило, снижает полноту, и наоборот — F1-Score выступает в качестве единого показателя для поиска оптимальной точки баланса. Это имеет решающее значение при настройке моделей с использованием оптимизации гиперпараметров для обеспечения надежной работы в различных условиях.

Применение в реальном мире

Полезность F1-Score распространяется на различные отрасли, в которых стоимость ошибок является значительной.

  • Медицинская диагностика: В сфере искусственного интеллекта в здравоохранении, в частности при выполнении таких задач, как обнаружение опухолей, ложноотрицательный результат (пропуск опухоли) угрожает жизни, а ложноположительный результат (пометка доброкачественной ткани) вызывает ненужную тревогу. Показатель F1-Score помогает исследователям оптимизировать такие модели, как YOLO26, чтобы система была достаточно чувствительной для обнаружения заболеваний, но при этом не перегружала врачей ложными тревогами.
  • Поиск и извлечение информации: Поисковые системы и системы классификации документов используют F1-Score для оценки релевантности. Пользователи хотят видеть все релевантные документы (высокая полнота), но не хотят просматривать нерелевантные результаты (высокая точность). Высокий F1-Score указывает на то, что система эффективно извлекает нужную информацию без лишних нагромождений.
  • Фильтрация спама: Почтовые сервисы используют классификацию текста для отделения спама. Система должна улавливать спам-сообщения (возврат), но при этом не должна помечает важные рабочие письма как нежелательные (точность). Показатель F1-Score служит основным критерием оценки для этих фильтров.

Расчет F1-Score с помощью Ultralytics

Современные фреймворки компьютерного зрения упрощают расчет этих метрик. При обучении моделей обнаружения объектов F1-Score автоматически вычисляется на этапе валидации. Ultralytics визуализирует эти метрики в виде графиков в реальном времени, позволяя пользователям видеть кривую F1-Score при различных порогах достоверности.

Вот как можно получить доступ к метрикам валидации, включая компоненты F1-Score, с помощью Python :

from ultralytics import YOLO

# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")

# Validate the model on a dataset (metrics are computed automatically)
# This returns a validator object containing precision, recall, and mAP
metrics = model.val(data="coco8.yaml")

# Print the Mean Average Precision (mAP50-95), which correlates with F1 performance
print(f"mAP50-95: {metrics.box.map}")

# Access precision and recall arrays to manually inspect the balance
print(f"Precision: {metrics.box.p}")
print(f"Recall: {metrics.box.r}")

F1-Score по сравнению с родственными метриками

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

  • Отличие от точности: Точность рассматривает все ошибки одинаково. F1-Score превосходит для несбалансированных наборов данных, поскольку он фокусируется на производительности положительного класса (меньшинства класса, представляющего интерес).
  • Связь с mAP: Средняя средняя точность (mAP) — это стандарт для сравнения моделей обнаружения объектов по всем порогам достоверности. Однако для определения оптимального порога достоверности для развертывания часто используется показатель F1. Вы можете выбрать порог, при котором кривая F1 достигает пика, для развертывания вашего приложения.
  • Матрица путаницы: Матрица путаницы предоставляет исходные подсчеты (истинные положительные, ложные положительные и т. д.), из которых выводится показатель F1. В то время как матрица дает подробную информацию, показатель F1 предоставляет единую сводную статистику для быстрого сравнения.
  • ROC-AUC: Площадь под кривой (AUC) измеряет разделимость по всем порогам. F1-Score обычно предпочтительнее ROC-AUC, когда у вас сильно асимметричное распределение классов (например, обнаружение мошенничества, когда мошенничество встречается редко).

Улучшение вашего F1-показателя

Если ваша модель страдает от низкого показателя F1-Score, можно воспользоваться несколькими стратегиями. Увеличение объема данных может повысить разнообразие положительных примеров, помогая модели лучше обобщать. Использование переноса обучения из надежных базовых моделей позволяет сети использовать заранее выученные функции. Кроме того, настройка порога достоверности во время вывода может вручную изменить баланс между точностью и воспроизводимостью, чтобы максимизировать показатель F1-Score для вашего конкретного случая использования.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас