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

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

Узнайте, как использовать кривую ROC (Receiver Operating Characteristic) для оценки бинарных классификаторов. Изучите компромиссы между TPR и FPR с помощью Ultralytics .

Кривая ROC (Receiver Operating Characteristic) — это фундаментальный графический инструмент, используемый для оценки эффективности бинарных классификационных моделей. В области машинного обучения (ML) она визуализирует компромисс между чувствительностью модели и ее специфичностью по всем возможным пороговым значениям принятия решений. В отличие от однозначных метрик, таких как точность, которые могут быть вводящими в заблуждение, если набор данных несбалансирован, кривая ROC предоставляет всестороннее представление о том, как ведет себя классификатор, когда критерии идентификации положительных экземпляров становятся более или менее строгими. Эта визуализация необходима инженерам, использующим методы обучения с учителем, для определения оптимальной рабочей точки для их конкретного случая использования.

Интерпретация осей и компромиссов

Чтобы понять кривую ROC, необходимо рассмотреть два параметра, нанесенных на график друг относительно друга: коэффициент истинных положительных результатов (TPR) и коэффициент ложных положительных результатов (FPR).

  • Коэффициент истинных положительных результатов (TPR): Часто называемый «восстановлением» или «чувствительностью», этот показатель на оси Y измеряет долю фактических положительных наблюдений, которые модель правильно идентифицировала. Высокий TPR означает, что система редко пропускает цель.
  • Коэффициент ложных срабатываний (FPR): отображается на оси x и представляет собой соотношение отрицательных случаев, которые были неправильно классифицированы как положительные, также известное как «ложное срабатывание».

Кривая иллюстрирует динамическую взаимосвязь: по мере снижения порога достоверности для выявления большего количества положительных случаев (увеличение TPR) неизбежно возрастает риск неправильного выявления отрицательных случаев (увеличение FPR). Идеальный классификатор достиг бы верхнего левого угла графика, что означало бы 100% чувствительность и 0% ложных срабатываний. Модель, которая делает случайные предположения, будет отображаться в виде диагональной линии от нижнего левого угла к верхнему правому. Общая производительность часто оценивается по площади под кривой (AUC), где значение 1,0 означает идеальный результат.

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

Решение о том, где установить порог на кривой ROC, полностью зависит от стоимости ошибок в конкретной отраслевой области применения.

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

Генерация вероятностей для ROC-анализа

Для построения ROC-кривой нужны исходные вероятности прогнозирования, а не только окончательные метки классов. В следующем примере используется современная модель YOLO26 для генерации оценок классификации.

from ultralytics import YOLO

# Load a pretrained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")

# Run inference to get probability distribution
results = model("bus.jpg")

# Access the probability score for the predicted class
# These continuous scores are required to calculate TPR/FPR at different thresholds
print(f"Top Class Index: {results[0].probs.top1}")
print(f"Confidence Score: {results[0].probs.top1conf:.4f}")

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

ROC и связанные концепции

Важно отличать кривую ROC от других инструментов оценки:

  • vs. Кривая точности-восстановления (PR): В то время как ROC отображает TPR по отношению к FPR, кривая точности-восстановления отображает точность по отношению к восстановлению. Кривая PR обычно предпочтительна, когда набор данных сильно несбалансирован (например, обнаружение редких аномалий), поскольку кривая ROC в таких сценариях может иногда давать чрезмерно оптимистичную картину.
  • vs. Матрица путаницы: Матрица путаницы предоставляет моментальный снимок производительности при одном конкретном пороговом значении. В отличие от этого, кривая ROC визуализирует производительность по всем возможным пороговым значениям, что делает ее более широким инструментом для анализа прогнозного моделирования до того, как будет установлено окончательное правило принятия решений.

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

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

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