Я начал изучать область под кривой (AUC) и немного запутался в ее полезности. Когда мне впервые объяснили, AUC показался отличным показателем производительности, но в моем исследовании я обнаружил, что некоторые утверждают, что его преимущество в основном незначительно, так как он лучше всего подходит для ловли «счастливых» моделей с высокой стандартной точностью измерений и низким AUC. ,
Так что мне следует избегать полагаться на AUC для проверки моделей или будет лучше комбинация? Спасибо за вашу помощь.
machine-learning
accuracy
aidankmcl
источник
источник
Ответы:
Действительно отличный вопрос, который, как мне кажется, большинство людей не понимают на интуитивном уровне.
AUC
на самом деле часто предпочтительнее, чем точность для двоичной классификации по ряду различных причин. Во-первых, давайте поговорим о том, что именноAUC
. Честно говоря, для того, чтобы быть одним из наиболее широко используемых показателей эффективности, на удивление тупо выяснить, как именноAUC
работает.AUC
обозначаетArea Under the Curve
, какую кривую вы спрашиваете? Ну, это было быROC
кривой.ROC
расшифровывается как эксплуатационная характеристика приемника , которая на самом деле немного неинтуитивна. Неявная цельAUC
состоит в том, чтобы иметь дело с ситуациями, когда у вас очень искаженный пример распределения, и вы не хотите соответствовать одному классу.Отличным примером является обнаружение спама. Как правило, наборы данных о спаме сильно смещены в сторону ветчины или не спама. Если ваш набор данных составляет 90%, вы можете получить чертовски хорошую точность, просто сказав, что каждое электронное письмо является ветчиной, что, очевидно, указывает на неидеальный классификатор. Давайте начнем с пары показателей, которые немного более полезны для нас, в частности, с истинно положительной оценкой (
TPR
) и ложноположительной оценкой (FPR
):Теперь на этом графике
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
. На практике вы получаете что-то вроде этого:Таким образом, в основном то, что вы на самом деле получаете, когда вы делаете
AUC
сверхточность, это то, что сильно отговорит людей, выбирающих модели, которые являются репрезентативными, но не дискриминационными, поскольку это будет фактически выбирать только для моделей, которые достигают ложноположительных и истинно положительных показателей, которые значительно выше случайного шанса, что не гарантируется для точности.источник
AUC и точность довольно разные вещи. AUC применяется к двоичным классификаторам, которые имеют внутреннее представление о пороге принятия решения. Например, логистическая регрессия возвращает положительный / отрицательный результат в зависимости от того, является ли логистическая функция больше / меньше порога, обычно 0,5 по умолчанию. Когда вы выбираете свой порог, у вас есть классификатор. Вы должны выбрать один.
Для заданного порогового значения вы можете вычислить точность, которая является пропорцией истинных положительных и отрицательных значений во всем наборе данных.
AUC измеряет, насколько истинная положительная ставка (напомним) и ложноположительная ставка компенсируется, поэтому в этом смысле она уже измеряет что-то еще Что еще более важно, AUC не является функцией порога. Это оценка классификатора, поскольку пороговое значение варьируется во всех возможных значениях. В некотором смысле это более широкий показатель, который проверяет качество внутреннего значения, которое генерирует классификатор, а затем сравнивает его с пороговым значением. Это не проверка качества конкретного выбора порога.
У AUC другая интерпретация, и это также означает, что вероятность того, что случайно выбранный положительный пример ранжируется выше случайно выбранного отрицательного, в соответствии с внутренним значением классификатора для примеров.
AUC вычислим, даже если у вас есть алгоритм, который производит ранжирование только на примерах. AUC не может быть вычислен, если у вас действительно есть только черный классификатор, а не класс с внутренним порогом. Обычно они определяют, какой из двух вариантов доступен для решения проблемы.
Я думаю, что AUC является более всеобъемлющей мерой, хотя она применима в меньшем количестве ситуаций. Это не строго лучше, чем точность; это другое. Частично это зависит от того, заботишься ли ты больше об истинных положительных, ложных отрицательных вещах и т. Д.
F-мера больше похожа на точность в том смысле, что она является функцией классификатора и его пороговой установки. Но он измеряет точность и отзыв (истинный положительный показатель), что не так, как выше.
источник
Я хотел бы сослаться на то, как вы должны выбрать показатель эффективности. Перед этим я коснусь конкретного вопроса точности и AUC.
Как уже было сказано ранее, при использовании несбалансированного набора данных использование большинства в качестве классификатора приведет к высокой точности, что сделает его вводящим в заблуждение показателем. Агрегат AUC превышает доверительный порог, хорошо и плохо. Для хорошего вы получите весовой результат для всех уровней доверия. Плохо то, что вы, как правило, заботитесь только о том уровне доверия, который вы на самом деле используете, а остальные не имеют значения.
Тем не менее, я хочу отметить, как правильно выбрать показатель производительности для модели. Вы должны сравнить модель по ее цели. Целью модели является не вопрос машинного обучения или статистики, а вопрос бизнеса и его потребностей.
Если вы ищете золото (сценарий, в котором вы получаете огромную выгоду от истинного позитива, а не слишком высокой стоимости ложного позитива), то отзыв - это хорошая мера.
Если вы пытаетесь решить, следует ли выполнять сложную медицинскую процедуру для людей (высокая стоимость ложных срабатываний, надеюсь, низкая стоимость ложных отрицательных результатов), точность - это мера, которую вы должны использовать.
Есть много мер, которые вы можете использовать. Вы также можете комбинировать их различными способами.
Однако не существует универсальной «наилучшей» меры. Существует лучшая модель для ваших нужд, которая максимизирует вашу выгоду.
источник