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

ROC-кривая (Receiver Operating Characteristic)

Узнайте, как ROC-кривые и AUC оценивают производительность классификаторов в AI/ML, оптимизируя TPR и FPR для таких задач, как обнаружение мошенничества и медицинская диагностика.

Кривая операционной характеристики получателя (Receiver Operating Characteristic, ROC) - это графическое представление, используемое для оценки эффективности бинарной модели классификации. Она визуализирует компромисс между показателями истинно положительных (TPR) и ложноположительных (False Positive Rate, FPR) при различных порогах классификации. В машинном обучении (ML) эта кривая является фундаментальной для оценки того, насколько хорошо модель может различать два класса, такие как "спам" и "не спам" или "больной" от "здорового". Построив график этих показателей, ROC-кривая дает полное представление о диагностических способностях модели, выходя за рамки таких показателей, как точность, которые сами по себе могут вводить в заблуждение.

Понимание осей

Чтобы правильно интерпретировать ROC-кривую, необходимо понимать две метрики, нанесенные на ее оси:

  • Показатель истинных положительных результатов (TPR): Часто упоминается как Recall или чувствительность, эта метрика измеряет долю реальных положительных случаев, которые модель правильно идентифицирует. Например, в системе безопасности это будет процент правильно обнаруженных нарушителей.
  • Коэффициент ложноположительных результатов (FPR): Эта метрика рассчитывает долю реальных отрицательных экземпляров, которые неправильно идентифицированы как положительные (ложные тревоги). Более низкий FPR указывает на меньшее количество ложных срабатываний, что очень важно для для доверия пользователей в таких системах, как биометрической аутентификации.

Кривая строится путем изменения порога доверия классификатора от 0 до 1. Каждая точка на ROC-кривой представляет собой пару чувствительность/специфичность, соответствующую определенному порогу принятия решения. A Диагональная линия, проведенная снизу вверх слева направо, представляет случайный классификатор, не обладающий прогностическими способностями (монета В то время как кривая, круто склоняющаяся к левому верхнему углу, указывает на высокоэффективную модель.

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

ROC-кривые широко используются в различных отраслях промышленности для оптимизации порогов принятия решений для развертывания модели.

  1. Медицинская диагностика: На сайте В анализе медицинских изображений исследователи используют ROC-кривые для настройки моделей для выявления таких заболеваний, как пневмония или опухоли. Приоритет отдается высокому TPR, чтобы не пропустить ни одного чтобы не пропустить ни одного положительного случая, даже если это означает согласие с немного более высоким FPR. Этот баланс очень важен для соблюдения стандартам безопасности, установленным такими организациями, как FDA.
  2. Обнаружение финансового мошенничества: Финансовые учреждения используют ИИ в финансовой сфере для выявления мошеннических операций. Здесь ROC-кривая помогает аналитикам выбрать порог, который позволяет выявить большинство попыток мошенничества попыток мошенничества (высокий показатель Recall), не отмечая при этом слишком много законных транзакций, что негативно скажется на обслуживании клиентов. опыт.

Вычисление вероятностей для ROC

Чтобы построить ROC-кривую, вам нужны предсказанные вероятности для положительного класса, а не просто итоговые метки класса метки. В следующем примере показано, как извлечь эти вероятности с помощью функции YOLO11 модель классификации из ultralytics пакет.

from ultralytics import YOLO

# Load a pretrained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")

# Run inference on an image to get prediction results
results = model("path/to/image.jpg")

# Access the probability distribution for all classes
# These scores are necessary inputs for calculating ROC and AUC
probs = results[0].probs.data
print(f"Class probabilities: {probs}")

После того как эти вероятности получены для тестового набора данных, такие библиотеки, как Scikit-learn, можно для вычисления значений FPR и TPR, необходимых для построения кривой.

ROC в сравнении с другими показателями оценки

Хотя ROC-кривая является мощным инструментом, полезно отличать ее от смежных концепций оценки:

  • Площадь под кривой (AUC): Сайт Площадь под кривой (AUC) - это скалярное значение, полученное из ROC-кривой. В то время как ROC представляет собой визуальный график, AUC выражает общую эффективность в виде одно число от 0 до 1, что облегчает сравнение между различными моделями контролируемого обучения.
  • Кривая точности-результата: При работе с сильно несбалансированными наборами данных (например, редкое заболевание поражающее 1 % населения), ROC-кривая иногда может представлять слишком оптимистичную картину. В таких случаях необходимо использовать кривая Precision-Recall часто более информативна, поскольку она сосредоточена непосредственно на производительности класса меньшинств без учета истинных отрицательных результатов.
  • Матрица путаницы: A Матрица запутанности дает представление о производительности при одном конкретном пороге, показывая точное количество истинно положительных, ложноположительных и ложноотрицательных результатов, истинно отрицательных и ложноотрицательных результатов. ROC-кривая эффективно обобщает информацию, полученную с помощью матриц путаницы полученных при каждом возможном пороге.

Для задач, связанных с обнаружением объектов, используются такие метрики, как средняя точность (mAP) хотя ROC-кривые остаются актуальными для классификационного компонента этих моделей. Понимание этих различий позволяет разработчикам выбрать правильную метрику для решения конкретных задач компьютерного зрения (КВ).

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

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

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