Напомним и точность в классификации

40

Я прочитал некоторые определения отзыва и точности, хотя это каждый раз в контексте поиска информации. Мне было интересно, может ли кто-нибудь объяснить это немного подробнее в контексте классификации и, возможно, проиллюстрировать некоторые примеры. Скажем, например, у меня есть двоичный классификатор, который дает мне точность 60% и отзыв 95%, это хороший классификатор?

Может быть, чтобы помочь моей цели немного больше, какой по вашему мнению лучший классификатор? (набор данных несбалансирован. У класса большинства в два раза больше примеров, чем у класса меньшинства)

Я бы лично сказал 5 из-за площади под кривой оператора приемника.

(Как вы можете видеть здесь, модель 8 имеет низкую точность, очень высокую отзывчивость, но одну из самых низких AUC_ROC, делает ли это хорошую модель или плохую?)

введите описание изображения здесь


редактировать:

У меня есть файл Excel с дополнительной информацией: https://www.dropbox.com/s/6hq7ew5qpztwbo8/comparissoninbalance.xlsx

В этом документе можно найти область под кривой оператора приема и область под кривой возврата точности. Вместе с участками.

Olivier_s_j
источник
6
Почему отрицательный голос? Это кажется интересным вопросом (конечно, один человек считал возможным ответить).
Гала-концерт
Сколько тестовых случаев было задействовано при расчете показателей эффективности? Кроме того, если вы сравниваете несколько классификаторов в одном и том же наборе данных, вы можете использовать парный дизайн (есть несколько вопросов и ответов по CV, обсуждающих сравнение классификаторов).
cbeleites поддерживает Монику
У меня есть 799 образцов (если вы имеете в виду тестовый пример). Каждый раз я делю данные на 10 подмножеств. 1 подмножество для тестирования классификаторов и остальное для обучения классификаторов (сравниваемые классификаторы обучаются на тех же данных).
Olivier_s_j
Выводят ли классификаторы двоичное значение или выводят реальное значение, а затем используют пороговое значение, чтобы сделать его двоичным?
Галат
Они выводят двоичный вывод.
Olivier_s_j

Ответы:

40

Является ли классификатор «хорошим», действительно зависит от

  1. Что еще доступно для вашей конкретной проблемы. Очевидно, вы хотите, чтобы классификатор был лучше, чем случайные или наивные догадки (например, классификация всего как принадлежащего к наиболее распространенной категории), но некоторые вещи легче классифицировать, чем другие.
  2. Стоимость различных ошибок (ложная тревога против ложных негативов) и базовая ставка. Очень важно различать их и вырабатывать последствия, так как возможно иметь классификатор с очень высокой точностью (правильные классификации для некоторого тестового образца), который на практике совершенно бесполезен (например, вы пытаетесь обнаружить редкое заболевание или какое-то другое). неординарное вредное поведение и планирование действий при обнаружении; широкомасштабное тестирование чего-то стоит, а корректирующее действие / лечение также обычно сопряжено со значительными рисками / затратами, поэтому, учитывая, что большинство попаданий будут ложноположительными, с точки зрения затрат / выгод это может быть лучше ничего не делать).

Чтобы понять связь между отзывом / точностью, с одной стороны, и чувствительностью / специфичностью, с другой стороны, полезно вернуться к матрице путаницы:

                      Condition: A             Not A

  Test says “A”       True positive (TP)   |   False positive (FP)
                      ----------------------------------
  Test says “Not A”   False negative (FN)  |    True negative (TN)

Напомним, TP / (TP + FN), а точность TP / (TP + FP). Это отражает природу проблемы: при поиске информации вы хотите идентифицировать как можно больше релевантных документов (это можно вспомнить) и избегать сортировки мусора (это точно).

Используя ту же таблицу, традиционными классификационными метриками являются (1) чувствительность, определенная как TP / (TP + FN), и (2) специфичность, определенная как TN / (FP + TN). Таким образом, отзыв и чувствительность являются просто синонимами, но точность и специфичность определяются по-разному (например, отзыв и чувствительность, специфичность определяется по отношению к общему столбцу, тогда как точность относится к итоговому значению строки). Точность также иногда называют «положительной прогностической ценностью» или, редко, «ошибочно-положительным показателем» (но см. Мой ответ на « Отношение между истинно положительным, ложно положительным, ложно отрицательным и истинно отрицательным в отношении путаницы вокруг этого определения ложноположительного» показатель).

Интересно, что показатели поиска информации не включают «истинно отрицательный» счет. Это имеет смысл: при поиске информации вас не заботит правильная классификация отрицательных экземпляров как таковых , вы просто не хотите, чтобы слишком много из них загрязняли ваши результаты (см. Также Почему не помните, учитывают истинные отрицания? ).

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

В контексте поиска информации целью обычно является выявление небольшого количества совпадений из большого количества документов. Из-за этой асимметрии на самом деле гораздо сложнее получить хорошую точность, чем хорошую специфичность при сохранении постоянной чувствительности / отзыва. Поскольку большинство документов не имеют значения, у вас есть гораздо больше поводов для ложных тревог, чем истинных положительных результатов, и эти ложные тревоги могут затмить правильные результаты, даже если классификатор имеет впечатляющую точность в сбалансированном наборе тестов (это фактически то, что происходит в сценариях I упоминается в моем пункте 2 выше). Следовательно, вам действительно необходимо оптимизировать точность, а не просто обеспечить приличную специфичность, потому что даже впечатляющих показателей, таких как 99% или более, иногда недостаточно, чтобы избежать многочисленных ложных срабатываний.

Обычно существует компромисс между чувствительностью и специфичностью (или воспоминанием и точностью). Интуитивно понятно, что если вы разыгрываете более широкую сеть, вы обнаружите больше релевантных документов / положительных случаев (более высокая чувствительность / отзыв), но вы также получите больше ложных тревог (более низкая специфичность и более низкая точность). Если вы классифицируете все в положительную категорию, у вас 100% отзыв / чувствительность, плохая точность и практически бесполезный классификатор («в основном», потому что, если у вас нет никакой другой информации, вполне разумно предположить, что она не собирается дождь в пустыне и действовать соответственно, так что, возможно, результат не бесполезен в конце концов, конечно, вам не нужна сложная модель для этого).

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


Некоторая дополнительная информация относительно последних комментариев / правок:

Опять же, производительность, которую вы можете ожидать, зависит от специфики (в этом контексте это могут быть такие вещи, как точный набор эмоций, присутствующих в тренировочном наборе, качество изображения / видео, яркость, окклюзия, движения головы, сыгранные или спонтанные видео, личностно-зависимая или личностно-независимая модель и т. д.), но F1 более 0,7 звучит хорошо для этого типа приложений, даже если самые лучшие модели могут работать лучше в некоторых наборах данных [см. Valstar, MF, Mehu, M., Jiang, B., Pantic, M. & Scherer, K. (2012). Метаанализ первой задачи распознавания выражений лица. IEEE Труды по системам, человеку и кибернетике, часть B: кибернетика, 42 (4), 966-979.]

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

Наконец, сравнение между моделями - еще один вопрос. Мое представление о числах, которые вы представили, заключается в том, что между моделями нет существенной разницы (если вы ссылаетесь на статью, которую я цитировал выше, диапазон баллов F1 для известных моделей в этой области намного шире). На практике технические аспекты (простота / доступность стандартных библиотек, скорость различных методов и т. Д.), Вероятно, будут определять, какая модель будет реализована, за исключением, возможно, того, что затраты / выгоды и общая скорость заставляют вас решительно отдавать предпочтение либо точности, либо отзыву.

гала
источник
Мой классификатор классифицирует лица по положительным или отрицательным эмоциям. Я запустил несколько алгоритмов классификации с 10-кратной перекрестной проверкой, и иногда я даже получаю 100% отзыв, хотя точность для всех классификаторов почти одинакова (около 65%). Я работаю с несбалансированным набором данных (класс большинства имеет вдвое больше выборок, чем класс меньшинства). Я поэтому думал, что это, вероятно, означало, что мои модели не изучали образец.
Olivier_s_j
1
@Gala: В чем разница между «ложной тревогой» и «ложным отрицанием»? Вы имеете в виду «ложную тревогу» и «ложное срабатывание»?
Мэтт О'Брайен
@ MattO'Brien Ложная тревога - это ложное срабатывание (т. Е. Система говорит «Осторожно!» Или «Найден что-то!», Но ничего не нужно и не нужно действовать, следовательно, «ложная тревога»). Возможно, терминология немного сбивает с толку, ответ я рассмотрю позже.
Гала
@Ojtwist Если положительный имеет предшествующую вероятность 67%, то вы можете получить 100% отзыва и ~ 67% точности, предсказав все как положительное.
Mark
21

В контексте бинарной классификации примеры являются либо положительными, либо отрицательными.

  • В отзыве рассматривается вопрос: «Приведу положительный пример, обнаружит ли его классификатор?»
  • Точность обращается к вопросу: «При условии положительного прогноза от классификатора, насколько вероятно, что он будет правильным?»

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

Можно сказать, «при отзыве не менее 90% классификатор с наивысшей точностью равен 4». Но если значение имеет качество прогнозов, среди классификаторов с точностью не менее 70% тот, который достигает наивысшего отзыва, равен 6.

galath
источник
6

Переход от непрерывных предсказаний, используемых при вычислении области ROC (вероятность согласования; c-индекс), к прерывистому неправильному правилу оценки (точность классификации с принудительным выбором) приводит к всевозможным аномалиям и вводит аналитика в заблуждение при выборе неправильных предикторов и / или неправильная модель. Гораздо лучше принимать решения на основе надлежащих правил оценки (например, логарифмического правила оценки вероятности / отклонения / логарифмической вероятности; оценка Бриера (оценка точности квадратичной вероятности)). Среди многих преимуществ такого подхода - выявление наблюдений, для которых классификация опасна для вашего здоровья из-за неопределенности, вызванной средними вероятностями.

Фрэнк Харрелл
источник
Разве эти правила оценки не применимы только тогда, когда модель дает вероятностные результаты?
Olivier_s_j
3
Вы упомянули ROC AUC, который требует вероятностных выходов (или что-то, что является монотонной функцией того же самого). Лучшие методы прогнозирования имеют вероятности под капотом.
Фрэнк Харрелл
DxyY
Проблема с использованием ROC и критериев точности классификации без «принудительного выбора» заключается в том, что они фактически ничего не значат в контексте приложения, где нужно фактически выбрать порог в соответствии с экономическим обоснованием. Например, в продукте для раскрытия финансовой преступности для инвестиционно-банковской деятельности у бизнеса могут быть только человеческие ресурсы для расследования 100 классификаций в год, что приводит к фиксированному порогу, который следует оптимизировать. Джини, ROC и т. Д. Не скажут, насколько хороша модель на этом пороге. ...
Самбест
2
Весьма разумно иметь бюджетное ограничение на количество расследований. Это не требует никаких порогов, никакой новой оптимизации, никакой классификации и никакого анализа ROC. Один просто сортирует наблюдения в порядке убывания прогнозируемого риска и выбирает первые 100 наблюдений для исследования. Это связано с кривой подъема, используемой в маркетинге.
Фрэнк Харрелл
5

Ни точность, ни отзыв не рассказывают всю историю, и трудно предсказать предиктор с, скажем, 90% -ным отзывом и 60% -ной точностью с предиктором, скажем, с 85% -ой точностью и 65% -ым отзывом - если, конечно, вы затраты / выгоды, связанные с каждой из 4 ячеек (tp / fp / tn / fn) в матрице путаницы .

Интересный способ получить единственное число ( умение , то есть коэффициент неопределенности ), описывающее работу классификатора, состоит в использовании теории информации :

proficiency = I(predicted,actual) / H(actual)

то есть, он говорит вам, какая часть информации, представленной в фактических данных, была восстановлена ​​классификатором. Это 0, если либо точность, либо отзыв равен 0, и это 100%, если (и только если) и точность, и отзыв равны 100%. В этом она похожа на оценку F1 , но умение имеет четкое информационно-теоретическое значение, в то время как F1 - просто гармоническое среднее двух чисел со значением.

Вы можете найти бумагу, презентацию и код (Python) для вычисления показателя Proficidity здесь: https://github.com/Magnetic/proficidity-metric

ДСН
источник
интересный! Можете ли вы дать нам пример того, как рассчитать мастерство? потому что формула выглядит странно для меня.
одинокий
Пожалуйста, смотрите github.com/Magnetic/proficidity-metric
sds
Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат .
Scortchi - Восстановить Монику