Преимущества AUC по сравнению со стандартной точностью


64

Я начал изучать область под кривой (AUC) и немного запутался в ее полезности. Когда мне впервые объяснили, AUC показался отличным показателем производительности, но в моем исследовании я обнаружил, что некоторые утверждают, что его преимущество в основном незначительно, так как он лучше всего подходит для ловли «счастливых» моделей с высокой стандартной точностью измерений и низким AUC. ,

Так что мне следует избегать полагаться на AUC для проверки моделей или будет лучше комбинация? Спасибо за вашу помощь.


5
Рассмотрим крайне несбалансированную проблему. Именно здесь ROC AUC очень популярен, потому что кривая уравновешивает размеры классов. Точность 99% достигается в наборе данных, где 99% объектов находятся в одном классе.
Anony-Mousse

3
«Неявная цель AUC - справляться с ситуациями, когда у вас очень искаженный пример распределения, и вы не хотите соответствовать одному классу». Я думал, что в этих ситуациях AUC работал плохо, и под ними использовались графики / области точного отзыва.
JenSCDC

@JenSCDC, Исходя из моего опыта в этих ситуациях, AUC работает хорошо, и, как указано ниже, как показано в индикаторе, именно из кривой ROC вы получаете эту область. График PR также полезен (обратите внимание, что Recall - это то же самое, что и TPR, одна из осей в ROC), но точность не совсем такая же, как FPR, поэтому график PR связан с ROC, но не совпадает. Источники: stats.stackexchange.com/questions/132777/… и stats.stackexchange.com/questions/7207/…
alexey

Ответы:


60

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

AUCобозначает Area Under the Curve, какую кривую вы спрашиваете? Ну, это было бы ROCкривой. ROCрасшифровывается как эксплуатационная характеристика приемника , которая на самом деле немного неинтуитивна. Неявная цель AUCсостоит в том, чтобы иметь дело с ситуациями, когда у вас очень искаженный пример распределения, и вы не хотите соответствовать одному классу.

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

Оси ROC

Теперь на этом графике TPRконкретно указано соотношение истинных положительных результатов ко всем положительным, а FPRтакже отношение ложных положительных результатов ко всем отрицательным. (Имейте в виду, что это только для двоичной классификации.) На графике, подобном этому, должно быть довольно просто выяснить, что предсказание всех 0 или всех 1 приведет к точкам (0,0)и (1,1)соответственно. Если вы проведете линию через эти линии, вы получите что-то вроде этого:

Вроде как треугольник

Который выглядит в основном как диагональная линия (так оно и есть), и с помощью некоторой простой геометрии вы можете видеть, что AUCтакой модели будет 0.5(высота и основание равны 1). Аналогично, если вы прогнозируете случайный ассортимент из 0 и 1, скажем, 90% 1, вы можете получить точку (0.9, 0.9), которая снова падает вдоль этой диагональной линии.

Теперь начинается интересная часть. Что если бы мы не только предсказывали 0 и 1? Что если вместо этого мы хотим сказать, что теоретически мы собираемся установить отсечение, выше которого каждый результат равен 1, а ниже которого каждый результат равен 0. Это будет означать, что в крайних случаях вы получите исходную ситуацию, когда вы иметь все 0 и все 1 (с отсечением 0 и 1 соответственно), но также и ряд промежуточных состояний, которые попадают в 1x1граф, который содержит ваш ROC. На практике вы получаете что-то вроде этого: Предоставлено Wikipedia

Таким образом, в основном то, что вы на самом деле получаете, когда вы делаете AUCсверхточность, это то, что сильно отговорит людей, выбирающих модели, которые являются репрезентативными, но не дискриминационными, поскольку это будет фактически выбирать только для моделей, которые достигают ложноположительных и истинно положительных показателей, которые значительно выше случайного шанса, что не гарантируется для точности.


Не могли бы вы добавить, как AUC сравнивается со счетом F1?
Дан

7
@ Dan- Самое большое отличие состоит в том, что вам не нужно устанавливать порог принятия решения с помощью AUC (это, по сути, измерение вероятности того, что спам ранжируется выше, чем спам). F1-счет требует порога принятия решения. Конечно, вы всегда можете установить порог принятия решения в качестве рабочего параметра и построить F1-оценки.
DSea

17

AUC и точность довольно разные вещи. AUC применяется к двоичным классификаторам, которые имеют внутреннее представление о пороге принятия решения. Например, логистическая регрессия возвращает положительный / отрицательный результат в зависимости от того, является ли логистическая функция больше / меньше порога, обычно 0,5 по умолчанию. Когда вы выбираете свой порог, у вас есть классификатор. Вы должны выбрать один.

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

AUC измеряет, насколько истинная положительная ставка (напомним) и ложноположительная ставка компенсируется, поэтому в этом смысле она уже измеряет что-то еще Что еще более важно, AUC не является функцией порога. Это оценка классификатора, поскольку пороговое значение варьируется во всех возможных значениях. В некотором смысле это более широкий показатель, который проверяет качество внутреннего значения, которое генерирует классификатор, а затем сравнивает его с пороговым значением. Это не проверка качества конкретного выбора порога.

У AUC другая интерпретация, и это также означает, что вероятность того, что случайно выбранный положительный пример ранжируется выше случайно выбранного отрицательного, в соответствии с внутренним значением классификатора для примеров.

AUC вычислим, даже если у вас есть алгоритм, который производит ранжирование только на примерах. AUC не может быть вычислен, если у вас действительно есть только черный классификатор, а не класс с внутренним порогом. Обычно они определяют, какой из двух вариантов доступен для решения проблемы.

Я думаю, что AUC является более всеобъемлющей мерой, хотя она применима в меньшем количестве ситуаций. Это не строго лучше, чем точность; это другое. Частично это зависит от того, заботишься ли ты больше об истинных положительных, ложных отрицательных вещах и т. Д.

F-мера больше похожа на точность в том смысле, что она является функцией классификатора и его пороговой установки. Но он измеряет точность и отзыв (истинный положительный показатель), что не так, как выше.


Поэтому, если я хочу предсказать бинарный результат для набора наблюдений, для которых размеры групп равны (а именно, исследование «случай-контроль»), получу ли я что-нибудь, используя точность AUC? Или типичное использование AUC в таких исследованиях только из-за соглашения?
Джо

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

4

Я хотел бы сослаться на то, как вы должны выбрать показатель эффективности. Перед этим я коснусь конкретного вопроса точности и AUC.

Как уже было сказано ранее, при использовании несбалансированного набора данных использование большинства в качестве классификатора приведет к высокой точности, что сделает его вводящим в заблуждение показателем. Агрегат AUC превышает доверительный порог, хорошо и плохо. Для хорошего вы получите весовой результат для всех уровней доверия. Плохо то, что вы, как правило, заботитесь только о том уровне доверия, который вы на самом деле используете, а остальные не имеют значения.

Тем не менее, я хочу отметить, как правильно выбрать показатель производительности для модели. Вы должны сравнить модель по ее цели. Целью модели является не вопрос машинного обучения или статистики, а вопрос бизнеса и его потребностей.

Если вы ищете золото (сценарий, в котором вы получаете огромную выгоду от истинного позитива, а не слишком высокой стоимости ложного позитива), то отзыв - это хорошая мера.

Если вы пытаетесь решить, следует ли выполнять сложную медицинскую процедуру для людей (высокая стоимость ложных срабатываний, надеюсь, низкая стоимость ложных отрицательных результатов), точность - это мера, которую вы должны использовать.

Есть много мер, которые вы можете использовать. Вы также можете комбинировать их различными способами.

Однако не существует универсальной «наилучшей» меры. Существует лучшая модель для ваших нужд, которая максимизирует вашу выгоду.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.