Площадь под ROC-кривой

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Уточнение деталей стиля и неточностей)
(Обработка совпадающих скоров (ties): убрана излишние англицизмы)
 
(2 промежуточные версии не показаны)
Строка 35: Строка 35:
Эта формула, помимо прямой связи с теорией ранговых критериев, даёт вычислительно эффективный способ оценки AUC ([[Вычислительная сложность|сложность]] <tex>O(N \log N)</tex> за счёт сортировки) и подчёркивает устойчивость метрики к монотонным преобразованиям скора.
Эта формула, помимо прямой связи с теорией ранговых критериев, даёт вычислительно эффективный способ оценки AUC ([[Вычислительная сложность|сложность]] <tex>O(N \log N)</tex> за счёт сортировки) и подчёркивает устойчивость метрики к монотонным преобразованиям скора.
-
=== Обработка совпадающих скоров (ties) ===
+
=== Обработка совпадающих скоров ===
На практике модель может выдавать одинаковые значения скора для объектов разных классов. Такие совпадения (ties) требуют аккуратного обращения и влияют как на геометрию ROC-кривой, так и на вычисление AUC.
На практике модель может выдавать одинаковые значения скора для объектов разных классов. Такие совпадения (ties) требуют аккуратного обращения и влияют как на геометрию ROC-кривой, так и на вычисление AUC.
Строка 49: Строка 49:
# '''Прямой подсчёт через попарное сравнение.''' Подсчёт доли правильно упорядоченных пар; при наивной реализации требует <tex>O(mn)</tex> операций, но сортировкой по оценкам сводится к <tex>O(N \log N)</tex>.
# '''Прямой подсчёт через попарное сравнение.''' Подсчёт доли правильно упорядоченных пар; при наивной реализации требует <tex>O(mn)</tex> операций, но сортировкой по оценкам сводится к <tex>O(N \log N)</tex>.
-
При любых реализациях важно корректно обрабатывать совпадения оценок (см. раздел [[#Обработка совпадающих скоров (ties)|выше]]). Стандартный подход (включая трапециевидное правило Хэнли — МакНил и реализации в scikit-learn, pROC, ROCR) приписывает совпавшим парам вероятность ½, что соответствует линейной интерполяции ROC-кривой между соседними точками. Мушелли (Muschelli, 2020)<ref name="muschelli">Muschelli J. ROC and AUC with a binary predictor: a potentially misleading metric // Journal of Classification. — 2020. — Vol. 37. — P. 696–708. (препринт 2019)</ref> показал, что для бинарного (двузначного) предиктора AUC сводится к простой формуле <tex>\mathrm{AUC} = \tfrac{1}{2}(\text{Sens} + \text{Spec})</tex>, и что разные стратегии обработки совпадений могут давать заметно различающиеся значения — это важно учитывать при сравнении категориальных признаков.
+
При любых реализациях важно корректно обрабатывать совпадения оценок (см. раздел [[#Обработка совпадающих скоров (ties)|выше]]). Стандартный подход (включая трапециевидное правило Хэнли — МакНил и реализации в scikit-learn, pROC, ROCR) приписывает совпавшим парам вероятность ½, что соответствует линейной интерполяции ROC-кривой между соседними точками. Мушелли (Muschelli, 2020)<ref name="muschelli">Muschelli J. ROC and AUC with a binary predictor: a potentially misleading metric // Journal of Classification. — 2020. — Vol. 37. — P. 696–708. (препринт 2019)</ref> показал, что для бинарного (двузначного) предиктора AUC сводится к простой формуле <tex>\mathrm{AUC} = \frac{1}{2}(\text{Sens} + \text{Spec})</tex>, и что разные стратегии обработки совпадений могут давать заметно различающиеся значения — это важно учитывать при сравнении категориальных признаков.
== Свойства и особенности ==
== Свойства и особенности ==
Строка 80: Строка 80:
** '''micro-AUC''' — бинаризованные по схеме OvR метки и соответствующие им скоры всех классов конкатенируются в единые векторы (каждая пара «объект — класс» рассматривается как отдельное бинарное наблюдение), после чего вычисляется ''один'' AUC по объединённому набору. Эта метрика отражает среднее качество на уровне отдельных наблюдений и слабее реагирует на дисбаланс, но способна маскировать проблемы с отдельными классами.
** '''micro-AUC''' — бинаризованные по схеме OvR метки и соответствующие им скоры всех классов конкатенируются в единые векторы (каждая пара «объект — класс» рассматривается как отдельное бинарное наблюдение), после чего вычисляется ''один'' AUC по объединённому набору. Эта метрика отражает среднее качество на уровне отдельных наблюдений и слабее реагирует на дисбаланс, но способна маскировать проблемы с отдельными классами.
-
* '''One-vs-One''': строятся бинарные классификаторы для всех <tex>\binom{K}{2}</tex> пар классов, вычисляются попарные AUC, которые затем усредняются (обычно macro-усреднение). Такой подход вычислительно более затратен, но даёт более детальную информацию о способности модели разделять конкретные пары классов; именно это обобщение предложено Хэндом и Тиллом (2001)<ref name="handtill">Hand D. J., Till R. J. A simple generalisation of the area under the ROC curve for multiple class classification problems // Machine Learning. — 2001. — Vol. 45. — P. 171–186.</ref>. Практическая реализация многоклассового AUC в библиотеках вроде [[scikit-learn]] поддерживает обе стратегии, выбираемые параметром <code>multi_class</code> (<code>'ovr'</code> или <code>'ovo'</code>), с возможностью macro- или взвешенного усреднения.
+
* '''One-vs-One''': строятся бинарные классификаторы для всех <tex>C_K^2</tex> пар классов, вычисляются попарные AUC, которые затем усредняются (обычно macro-усреднение). Такой подход вычислительно более затратен, но даёт более детальную информацию о способности модели разделять конкретные пары классов; именно это обобщение предложено Хэндом и Тиллом (2001)<ref name="handtill">Hand D. J., Till R. J. A simple generalisation of the area under the ROC curve for multiple class classification problems // Machine Learning. — 2001. — Vol. 45. — P. 171–186.</ref>. Практическая реализация многоклассового AUC в библиотеках вроде [[scikit-learn]] поддерживает обе стратегии, выбираемые параметром <code>multi_class</code> (<code>'ovr'</code> или <code>'ovo'</code>), с возможностью macro- или взвешенного усреднения.
Критический разрыв между macro- и micro-AUC возникает именно в сценариях с сильным дисбалансом. Когда редкий класс составляет лишь доли процента от выборки, его вклад в micro-усреднение ничтожен, и высокий micro-AUC может наблюдаться даже при неспособности модели правильно ранжировать объекты редкого класса. Macro-усреднение, наоборот, усиливает влияние каждого класса, но становится статистически неустойчивым при малом числе примеров редкого класса. В инженерной практике рекомендуется отчитываться об обеих метриках и анализировать confusion matrix для миноритарных классов.
Критический разрыв между macro- и micro-AUC возникает именно в сценариях с сильным дисбалансом. Когда редкий класс составляет лишь доли процента от выборки, его вклад в micro-усреднение ничтожен, и высокий micro-AUC может наблюдаться даже при неспособности модели правильно ранжировать объекты редкого класса. Macro-усреднение, наоборот, усиливает влияние каждого класса, но становится статистически неустойчивым при малом числе примеров редкого класса. В инженерной практике рекомендуется отчитываться об обеих метриках и анализировать confusion matrix для миноритарных классов.

Текущая версия

Статья написана с использованием LLM DeepSeek-V3 & Claude Opus 4.8 и проверена участником Artyom Savov 19:29, 18 июня 2026 (MSD)


Содержание

Площадь под ROC-кривой (англ. Area Under the Receiver Operating Characteristic curve, ROC-AUC или AUC-ROC) — агрегированная метрика качества бинарной классификации, повсеместно используемая в машинном обучении для оценки способности модели ранжировать объекты двух классов. Численно равна площади фигуры, ограниченной ROC-кривой и осью доли ложноположительных классификаций. Значение лежит в диапазоне от 0 до 1; для совершенного классификатора AUC = 1, для случайного гадания AUC = 0.5, а для систематически инвертированного классификатора AUC может опускаться до 0. Благодаря пороговой инвариантности и глубокой связи с непараметрической U-статистикой Манна — Уитни метрика стала одной из основных в арсенале специалистов по анализу данных и машинному обучению.

Определение и геометрический смысл

Рассматривается задача бинарной классификации с положительным (целевым) классом \mathcal{C}_1 и отрицательным \mathcal{C}_0. Модель выдаёт для каждого объекта числовую оценку (score) s(\mathbf{x}) \in \mathbb{R}, и решение о принадлежности к классу принимается сравнением с порогом t: объект относят к \mathcal{C}_1, если s(\mathbf{x}) \geq t.

Для каждого фиксированного порога вычисляются две фундаментальные величины:

\mathrm{TPR} = \frac{\mathrm{TP}}{\mathrm{TP} + \mathrm{FN}}
  • Доля ложноположительных решений (False Positive Rate, FPR):
\mathrm{FPR} = \frac{\mathrm{FP}}{\mathrm{FP} + \mathrm{TN}},

где \mathrm{TP}, \mathrm{TN}, \mathrm{FP}, \mathrm{FN} — число истинно положительных, истинно отрицательных, ложноположительных и ложноотрицательных предсказаний соответственно.

ROC-кривая (Receiver Operating Characteristic) представляет собой график зависимости \mathrm{TPR} от \mathrm{FPR} при непрерывном изменении порога t от +\infty до -\infty. Кривая всегда начинается в точке (0,0) (ни одного положительного предсказания) и заканчивается в точке (1,1) (все объекты классифицированы как положительные). Диагональ \mathrm{TPR} = \mathrm{FPR} отвечает стратегии случайного угадывания.

Площадь под ROC-кривой определяется как интеграл доли истинноположительных решений по доле ложноположительных:

\mathrm{AUC} = \int_{0}^{1} \mathrm{TPR}\,d(\mathrm{FPR})

и геометрически равна доле единичного квадрата, лежащей под кривой. ROC-кривая всегда является неубывающей, однако она может целиком или частично лежать под диагональю: если классификатор систематически присваивает положительным объектам более низкие скоры, чем отрицательным, кривая провисает, а AUC оказывается меньше 0.5, вплоть до 0 для идеально инвертированного классификатора. Таким образом, вопреки распространённому представлению о диапазоне [0.5, 1], допустимый диапазон значений AUC — [0, 1]. В кредитном скоринге часто используют нормированную величину G = 2\,\mathrm{AUC} - 1, называемую индексом Джини (англ. Gini index, эквивалент статистики Сомерса D; не путать с коэффициентом Джини, измеряющим неравенство).

Вероятностная интерпретация и связь со статистикой Манна — Уитни

Ключевое свойство ROC-AUC, во многом объясняющее его популярность, — прозрачный вероятностный смысл. Пусть \mathbf{x}_+ \sim \mathcal{C}_1 и \mathbf{x}_- \sim \mathcal{C}_0 — независимые случайные объекты положительного и отрицательного классов. Тогда справедливо точное равенство

\mathrm{AUC} = P\bigl(s(\mathbf{x}_+) > s(\mathbf{x}_-)\bigr) + \frac{1}{2} P\bigl(s(\mathbf{x}_+) = s(\mathbf{x}_-)\bigr).

Иными словами, AUC есть вероятность того, что случайно выбранный положительный объект получит от классификатора более высокую оценку, чем случайно выбранный отрицательный, плюс половина вероятности получить одинаковые оценки. При отсутствии совпадающих скоров (ties) второе слагаемое обращается в нуль, и формула сводится к классической \mathrm{AUC} = P(s(\mathbf{x}_+) > s(\mathbf{x}_-)), впервые отмеченной Бамбером (1975)[1] и Хэнли и МакНилом (1982)[1].

Эквивалентная формулировка даётся через непараметрический U-критерий Манна — Уитни. Пусть имеется n_+ положительных и n_- отрицательных примеров, проранжированных по возрастанию скора (бóльшему скору соответствует бóльший ранг; совпадающим скорам присваиваются средние ранги). Если R_+ — сумма рангов положительных примеров, то

\mathrm{AUC} = \frac{R_+ - \frac{n_+(n_+ + 1)}{2}}{n_+ n_-}.

Эта формула, помимо прямой связи с теорией ранговых критериев, даёт вычислительно эффективный способ оценки AUC (сложность O(N \log N) за счёт сортировки) и подчёркивает устойчивость метрики к монотонным преобразованиям скора.

Обработка совпадающих скоров

На практике модель может выдавать одинаковые значения скора для объектов разных классов. Такие совпадения (ties) требуют аккуратного обращения и влияют как на геометрию ROC-кривой, так и на вычисление AUC.

Если в отсортированной по убыванию скора последовательности встречается группа объектов с одинаковым скором, содержащая и положительные, и отрицательные примеры, то при прохождении порога через эту группу классификатор одновременно меняет и число ложноположительных, и число истинноположительных предсказаний. Вместо строго вертикальных (увеличение TPR без изменения FPR) или горизонтальных (увеличение FPR без изменения TPR) шагов на ROC-кривой возникает диагональный участок. Наклон этого участка определяется локальной долей положительных примеров в группе совпадающих скоров. Геометрически такое поведение соответствует тому, что площадь под кривой учитывает частичный вклад совпадений.

С вычислительной точки зрения диагональным шагам отвечает правило присвоения средних рангов в критерии Манна — Уитни. Эквивалентно, при подсчёте AUC перебирают все пары «положительный–отрицательный» и суммируют 1, если скор положительного строго выше, 0.5, если скоры равны, и 0 в противном случае; результат делят на общее количество пар n_+ n_-. Тем самым вероятностная формула с половинным весом вероятности равенства скоров не только математически строга, но и непосредственно реализуется в алгоритмическом подсчёте.

Методы оценивания AUC

На практике AUC оценивается несколькими способами:

  1. Трапециевидное (эмпирическое, непараметрическое) правило. Площадь под эмпирической ломаной ROC-кривой суммируется по трапециям. Это самый распространённый метод, эквивалентный вычислению U-статистики Уилкоксона.
  2. Параметрический (бинормальный) метод. Предполагается, что оценки в обоих классах распределены нормально (возможно, после монотонного преобразования); параметры подбираются методом максимального правдоподобия, что даёт гладкую кривую. Метод следует применять с осторожностью: ему свойствен артефакт «крюка» (англ. hook) — провисание подобранной кривой ниже диагонали вблизи краёв, дающее неправдоподобную форму ROC.
  3. Прямой подсчёт через попарное сравнение. Подсчёт доли правильно упорядоченных пар; при наивной реализации требует O(mn) операций, но сортировкой по оценкам сводится к O(N \log N).

При любых реализациях важно корректно обрабатывать совпадения оценок (см. раздел выше). Стандартный подход (включая трапециевидное правило Хэнли — МакНил и реализации в scikit-learn, pROC, ROCR) приписывает совпавшим парам вероятность ½, что соответствует линейной интерполяции ROC-кривой между соседними точками. Мушелли (Muschelli, 2020)[1] показал, что для бинарного (двузначного) предиктора AUC сводится к простой формуле \mathrm{AUC} = \frac{1}{2}(\text{Sens} + \text{Spec}), и что разные стратегии обработки совпадений могут давать заметно различающиеся значения — это важно учитывать при сравнении категориальных признаков.

Свойства и особенности

Инвариантность к распределению классов

Поскольку TPR и FPR являются условными вероятностями внутри своего класса, форма ROC-кривой и площадь под ней не зависят от соотношения классов в выборке (prevalence). Изменение пропорции положительных и отрицательных примеров не меняет кривую; сдвигается лишь положение конкретного рабочего порога. Это свойство делает AUC удобным для сравнения классификаторов на датасетах с разным балансом, но, как обсуждается ниже, может порождать иллюзорно оптимистичные выводы в сильно несбалансированных задачах.

Поведение при сильном дисбалансе

Резкий дисбаланс классов (например, 1:1000) демонстрирует основное ограничение бездумного применения ROC-AUC. Высокий AUC не гарантирует приемлемой абсолютной точности. Рассмотрим пример: 100 положительных на 1 000 000 отрицательных. Классификатор, который ставит 90 истинных положительных выше 1 000 отрицательных, даёт в этой рабочей точке

  • \mathrm{TPR} = 0.9,
  • \mathrm{FPR} = 1\,000 / 1\,000\,000 = 0.001.

При таком поведении в области малых FPR ROC-кривая прижимается к левому верхнему углу, и AUC легко превышает 0.99. Однако точность (precision) в этой рабочей точке составляет лишь 90/(90 + 1\,000) \approx 0.083. Высокий AUC создаёт ложное ощущение почти идеальной модели при высоком уровне ложных срабатываний[1][1].

Причина эффекта — равномерное взвешивание всех точек пространства (FPR, TPR) при вычислении AUC, тогда как практический интерес часто сосредоточен в области малых FPR. Поэтому для резко несбалансированных задач рекомендуется дополнять анализ площадью под кривой точности-полноты (PR-AUC) и частичным AUC (см. ниже).

Частичный AUC (pAUC)

Частичный AUC (partial AUC, pAUC) — интеграл доли истинноположительных решений по ограниченному диапазону доли ложноположительных \mathrm{FPR} \in [0, f]:

\mathrm{pAUC}(f) = \int_{0}^{f} \mathrm{TPR}\,d(\mathrm{FPR}),

обычно нормированный на длину интервала или приводимый к стандартизованному виду (McClish, 1989[1]). Метрика отражает качество модели только в практически значимой области малых FPR и потому особенно полезна в задачах с высокой ценой ложных тревог. Недостаток — необходимость экспертного выбора границы f.

Связь с другими метриками

  • AUC и доля правильных ответов (accuracy) связаны лишь косвенно: accuracy зависит от выбранного порога и от распространённости классов, тогда как AUC не зависит ни от того, ни от другого.
  • В бинарной классификации AUC линейно связан с индексом Джини (статистикой Сомерса D): G = 2\,\mathrm{AUC} - 1, широко применяемым в кредитном скоринге.
  • В отличие от показателя Бриера, который является собственной (proper) скоринговой функцией и измеряет одновременно дискриминацию и калибровку вероятностей, AUC измеряет только качество ранжирования и абсолютно нечувствителен к калибровке (см. отдельный раздел).

Обобщение на многоклассовую классификацию

Для задач с K > 2 классами однозначного понятия ROC-AUC не существует. На практике применяют две стратегии сведения к бинарному случаю: One-vs-Rest (OvR) и One-vs-One (OvO).

  • One-vs-Rest: для каждого класса k строят бинарный классификатор «k против остальных», вычисляют AUC по соответствующей бинарной метке и усредняют. В зависимости от способа усреднения различают:
    • macro-AUC — арифметическое среднее индивидуальных AUC по классам. Каждый класс учитывается с равным весом, что может дать сильно искажённую картину при наличии редких классов: классификатор, полностью игнорирующий миноритарный класс, тем не менее может получить умеренно высокий macro-AUC.
    • micro-AUC — бинаризованные по схеме OvR метки и соответствующие им скоры всех классов конкатенируются в единые векторы (каждая пара «объект — класс» рассматривается как отдельное бинарное наблюдение), после чего вычисляется один AUC по объединённому набору. Эта метрика отражает среднее качество на уровне отдельных наблюдений и слабее реагирует на дисбаланс, но способна маскировать проблемы с отдельными классами.
  • One-vs-One: строятся бинарные классификаторы для всех C_K^2 пар классов, вычисляются попарные AUC, которые затем усредняются (обычно macro-усреднение). Такой подход вычислительно более затратен, но даёт более детальную информацию о способности модели разделять конкретные пары классов; именно это обобщение предложено Хэндом и Тиллом (2001)[1]. Практическая реализация многоклассового AUC в библиотеках вроде scikit-learn поддерживает обе стратегии, выбираемые параметром multi_class ('ovr' или 'ovo'), с возможностью macro- или взвешенного усреднения.

Критический разрыв между macro- и micro-AUC возникает именно в сценариях с сильным дисбалансом. Когда редкий класс составляет лишь доли процента от выборки, его вклад в micro-усреднение ничтожен, и высокий micro-AUC может наблюдаться даже при неспособности модели правильно ранжировать объекты редкого класса. Macro-усреднение, наоборот, усиливает влияние каждого класса, но становится статистически неустойчивым при малом числе примеров редкого класса. В инженерной практике рекомендуется отчитываться об обеих метриках и анализировать confusion matrix для миноритарных классов.

Оценка статистической значимости при сравнении моделей

При сравнении двух классификаторов на одной и той же тестовой выборке разность их AUC сама по себе является случайной величиной. Делать выводы о превосходстве одной модели над другой «на глаз» некорректно; необходимо статистическое тестирование. Два основных подхода — аналитический тест ДеЛонга (DeLong’s test) и бутстрап.

Для одиночного AUC доверительный интервал можно построить, опираясь на стандартную ошибку, выведенную Хэнли и МакНилом[1], либо непараметрически (через дисперсию U-статистики или бутстрап).

Тест ДеЛонга

DeLong et al. (1988)[1] предложили непараметрический метод сравнения коррелированных AUC, основанный на теории U-статистик. Идея заключается в том, что AUC каждого классификатора можно представить как U-статистику (среднее по всем парам «положительный–отрицательный»). Совместное распределение оценок AUC двух классификаторов, построенных на одних и тех же данных, аппроксимируется нормальным, а ковариационная матрица оценивается по выборке. Статистика теста

z = \frac{\mathrm{AUC}_1 - \mathrm{AUC}_2}{\sqrt{\mathrm{Var}(\mathrm{AUC}_1 - \mathrm{AUC}_2)}}

сравнивается с критическими значениями стандартного нормального распределения. Тест ДеЛонга реализован в специализированных пакетах (например, pROC в R); существует и быстрая версия с вычислительной сложностью O(N \log N) (Sun, Xu, 2014)[1]. При использовании на практике необходимо помнить о предположении асимптотической нормальности, которое может нарушаться на малых выборках или при экстремальных значениях AUC, близких к 1.

Бутстрап

Более универсальный подход — эмпирический бутстрап[1]. Из исходного тестового множества многократно (B = 1\,000\ldots10\,000 раз) генерируются псевдовыборки с возвращением. На каждой бутстрап-выборке вычисляются AUC обоих классификаторов, после чего строится эмпирическое распределение разности \mathrm{AUC}_1 - \mathrm{AUC}_2. Доверительный интервал уровня 1-\alpha получают методом процентилей (или, точнее, скорректированным методом BCa), а двустороннее p-значение — по доле бутстрап-разностей, не превосходящих нуля по модулю в соответствующем направлении. Бутстрап вычислительно затратен, но не опирается на асимптотические предположения и легко обобщается на любые метрики. Именно бутстрап часто рекомендуют в инженерной практике, когда условия применения теста ДеЛонга вызывают сомнения (малые выборки, сильный дисбаланс).

Проблема калибровки уверенности модели

Идеальное значение ROC-AUC, равное 1.0, гарантирует лишь, что все положительные объекты получили больший скор, чем все отрицательные. Это означает идеальное ранжирование, но абсолютно ничего не говорит о корректности самих числовых оценок. Модель может выдавать скоры в диапазоне [0.1, 0.2] для положительного класса и [0.0, 0.1] для отрицательного, и AUC будет равен 1.0, однако предсказанная «вероятность» для положительных объектов окажется далека от истинной частоты.

В задачах, где требуются не просто метки, а осмысленные вероятности (расчёт ожидаемых потерь в кредитном скоринге, оценка кликов в рекламе, медицинские прогностические модели), необходима калибровка скоров. Наиболее распространённые методы:

  • Шкалирование Платта (Platt scaling)[1] — обучение логистической регрессии на выходных скорах модели. Хорошо работает, когда искажение вероятностей носит гладкий монотонный характер.
  • Изотоническая регрессия[1] — более гибкий непараметрический метод, способный исправить практически любое монотонное искажение ценой повышения риска переобучения на малых выборках.

Важно понимать, что калибровка не меняет порядка объектов, а значит, сохраняет AUC. Следовательно, высокий AUC является необходимым, но недостаточным условием для доверия вероятностным выходам модели. Для оценки калиброванности применяют показатель Бриера, expected calibration error (ECE) и визуальные калибровочные диаграммы (reliability diagrams). Критика Хэнда (2009)[1] отчасти связана именно с тем, что AUC игнорирует калибровку и взвешивает ошибки не тем способом, который отвечает нуждам практического принятия решений.

Связь PR-AUC и Average Precision (AP)

Кривая точности-полноты (PR-кривая) визуализирует компромисс между точностью \mathrm{Precision} = \mathrm{TP}/(\mathrm{TP} + \mathrm{FP}) и полнотой \mathrm{Recall} = \mathrm{TPR}. В отличие от ROC, PR-кривая чрезвычайно чувствительна к дисбалансу классов, так как Precision напрямую зависит от соотношения положительных и отрицательных примеров. Площадь под PR-кривой (PR-AUC) даёт агрегированную оценку качества, однако её вычисление методом трапеций приводит к систематическому смещению.

Причина в том, что PR-кривая не является функцией от Recall в классическом смысле: одному значению Recall может соответствовать несколько значений Precision, а для корректной интерполяции между точками, полученными по конечной выборке, необходимо специальное определение. На практике повсеместно используется Average Precision (AP) — стандартная оценка площади под PR-кривой, не использующая линейную интерполяцию. Для выборки, отсортированной по убыванию скора, AP вычисляется как

\mathrm{AP} = \sum_{k=1}^{N} \bigl( \mathrm{Recall}_k - \mathrm{Recall}_{k-1} \bigr) \, \mathrm{Precision}_k, \qquad \mathrm{Recall}_0 = 0,

где \mathrm{Recall}_k, \mathrm{Precision}_k — значения полноты и точности после k-го объекта. Суммирование ведётся по всем N объектам выборки, однако разность \mathrm{Recall}_k - \mathrm{Recall}_{k-1} отлична от нуля только в том случае, если k-й объект действительно принадлежит к положительному классу (для отрицательных объектов полнота не меняется). Иными словами, AP усредняет Precision по тем шагам, на которых Recall увеличивается.

Приведённая формула (так называемая right-endpoint оценка) реализована, например, в функции average_precision_score библиотеки scikit-learn. В задачах информационного поиска и компьютерного зрения используют близкие, но не тождественные варианты с интерполяцией: 11-точечную интерполированную AP в Pascal VOC2007 и 101-точечную в COCO. Метод трапеций для PR-кривой даёт смещённую (как правило, завышенную) оценку, особенно заметную на малых выборках и при сильном дисбалансе, поэтому в ответственной практике следует использовать именно AP в одном из стандартизованных вариантов.

Ограничения и критика

Несмотря на статус стандартной метрики, ROC-AUC подвергается обоснованной критике.

  • Усреднение по всем порогам. AUC агрегирует информацию обо всём диапазоне FPR, тогда как практический интерес часто ограничен малой областью (например, FPR < 0.05). Частичный AUC (pAUC) смягчает проблему, но требует экспертного выбора границ.
  • Неразличимость стоимостей ошибок. AUC приписывает одинаковую важность ложноположительным и ложноотрицательным ошибкам во всех точках, что редко отражает реальные потери. Хэнд (2009)[1] показал, что AUC можно интерпретировать как среднее качество классификатора по некоторому скрытому распределению стоимостей, которое зависит от самой модели, ставя под сомнение корректность сравнения различных классификаторов одной этой метрикой; в качестве когерентной альтернативы он предложил так называемую H-меру (H-measure).
  • Слабая чувствительность к «хвостам». Изменения скора у самых высокоуверенных объектов почти не влияют на AUC, хотя могут быть критически важны в эксплуатации.
  • Маскировка проблем миноритарного класса (описана в разделе о дисбалансе).

В силу перечисленных ограничений при выборе метрики для проекта следует исходить из контекста: в задачах с резким дисбалансом и высокой ценой ложных срабатываний предпочтение отдаётся AP, а при фиксированных требованиях по FPR — F_\beta или pAUC.

Применение в машинном обучении

ROC-AUC широко применяется для:

  • Сравнения моделей в исследовательских экспериментах и на лидербордах соревнований (Kaggle). Пороговая инвариантность позволяет сопоставлять качество ранжирования без привязки к конкретному порогу.
  • Отбора признаков: AUC вычисляется для каждого отдельного признака как простейшего одномерного классификатора, выявляя наиболее информативные переменные.
  • Оптимизации гиперпараметров: многие фреймворки (scikit-learn, XGBoost, LightGBM) поддерживают максимизацию AUC напрямую или через ранжирующие функции потерь (например, LambdaRank). Существуют и алгоритмы прямой оптимизации AUC через попарные суррогатные функции потерь (Cortes, Mohri, 2004[1]; RankBoost).
  • Мониторинга качества моделей в промышленной эксплуатации — совместно с анализом PR-кривых, калибровочных графиков и статистических тестов на стабильность.

При любом применении AUC не следует рассматривать как единственную и исчерпывающую метрику: ответственный анализ обязательно привлекает несколько взаимодополняющих показателей и визуализаций.

Историческая справка

Термин «Receiver Operating Characteristic» зародился в 1950-х годах в теории обнаружения сигналов, выросшей из исследований радиолокационных систем времён Второй мировой войны. Оператор приёмника (receiver) должен был отличать отражённый от цели сигнал от шума. Питерсон, Бёрдсолл и Фокс (1954)[1] ввели кривую, описывающую компромисс между вероятностью правильного обнаружения и вероятностью ложной тревоги при изменении порога. Эта кривая получила название «характеристика работы приёмника» (receiver operating characteristic).

В 1960–1970-х годах аппарат теории обнаружения проник в психофизику (Грин и Светс)[1] и медицинскую диагностику (Ластед)[1], где AUC стал стандартным показателем диагностической точности. В машинное обучение ROC-анализ пришёл в конце 1990-х — начале 2000-х годов благодаря работам Брэдли (1997)[1], Провоста и Фосетта (2001)[1] и быстро занял положение одного из ключевых инструментов сравнения бинарных классификаторов.

См. также

Примечания


Литература

  • Fawcett T. An introduction to ROC analysis // Pattern Recognition Letters. — 2006. — Vol. 27, № 8. — P. 861–874.
  • Hanley J. A., McNeil B. J. The meaning and use of the area under a receiver operating characteristic (ROC) curve // Radiology. — 1982. — Vol. 143, № 1. — P. 29–36.
  • Bamber D. The area above the ordinal dominance graph and the area below the receiver operating characteristic graph // Journal of Mathematical Psychology. — 1975. — Vol. 12, № 4. — P. 387–415.
  • Davis J., Goadrich M. The relationship between Precision-Recall and ROC curves // Proceedings of the 23rd International Conference on Machine Learning (ICML). — 2006. — P. 233–240.
  • Saito T., Rehmsmeier M. The precision-recall plot is more informative than the ROC plot when evaluating binary classifiers on imbalanced datasets // PLoS ONE. — 2015. — Vol. 10, № 3. — e0118432.
  • Cortes C., Mohri M. AUC optimization vs. error rate minimization // Advances in Neural Information Processing Systems (NIPS). — 2004. — Vol. 16. — P. 313–320.
  • Hand D. J. Measuring classifier performance: a coherent alternative to the area under the ROC curve // Machine Learning. — 2009. — Vol. 77. — P. 103–123.
  • Hand D. J., Till R. J. A simple generalisation of the area under the ROC curve for multiple class classification problems // Machine Learning. — 2001. — Vol. 45. — P. 171–186.
  • Provost F., Fawcett T. Robust classification for imprecise environments // Machine Learning. — 2001. — Vol. 42, № 3. — P. 203–231.
  • DeLong E. R., DeLong D. M., Clarke-Pearson D. L. Comparing the areas under two or more correlated receiver operating characteristic curves: a nonparametric approach // Biometrics. — 1988. — Vol. 44, № 3. — P. 837–845.
  • Sun X., Xu W. Fast implementation of DeLong’s algorithm for comparing the areas under correlated receiver operating characteristic curves // IEEE Signal Processing Letters. — 2014. — Vol. 21, № 11. — P. 1389–1393.
  • McClish D. K. Analyzing a portion of the ROC curve // Medical Decision Making. — 1989. — Vol. 9, № 3. — P. 190–195.
  • Muschelli J. ROC and AUC with a binary predictor: a potentially misleading metric // Journal of Classification. — 2020. — Vol. 37. — P. 696–708.
  • Efron B., Tibshirani R. J. An introduction to the bootstrap. — CRC press, 1994.
  • Platt J. Probabilistic outputs for support vector machines and comparisons to regularized likelihood methods // Advances in large margin classifiers. — 1999. — Vol. 10, № 3. — P. 61–74.
  • Zadrozny B., Elkan C. Transforming classifier scores into accurate multiclass probability estimates // Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining. — 2002. — P. 694–699.