Понимание концепции в различных сценариях

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

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

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

В задаче ML/DL после огромных вычислений, написания кода в фоновом режиме, оценки производительности и иногда объяснений вашему боссу результаты могут быть довольно сложными. Важно понимать потребности пользователей и адаптировать модель в соответствии с этими потребностями.

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

Сценарий 1:

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

Сценарий 2:

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

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

Но в некоторых других сценариях ваш интерес может быть другим.

Сценарий 3:

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

Сценарий 4:

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

Итак, что происходит в техническом плане:

Сценарий 1 и 2.
В этих сценариях я ищу или с высокой точностью. Это означает, что, когда моя модель утверждает, что это ПОЛОЖИТЕЛЬНО, я ожидаю, что это ПОЛОЖИТЕЛЬНО с высоким процентом. Другими словами, я не хочу видеть (почти) никаких ОТРИЦАТЕЛЬНЫХ результатов в моих ПОЛОЖИТЕЛЬНО классифицированных образцах.

С точки зрения математики, отношение количества ИСТИННО классифицированных ПОЛОЖИТЕЛЬНЫХ результатов к количеству целей, классифицированных как ПОЛОЖИТЕЛЬНЫЕ, называется точностью, и оно должно быть как можно выше.

Итак, сказанное выше можно сформулировать так: (Я намеренно оставил некоторые слова в верхнем регистре, так как они относятся к элементам матрицы путаницы.)

точность = (количество ИСТИННО классифицированных образцов как ПОЛОЖИТЕЛЬНЫЕ)/(количество ИСТИННО и ЛОЖНО классифицированных образцов как ПОЛОЖИТЕЛЬНЫЕ)

Отношение ИСТИННО классифицированных ПОЛОЖИТЕЛЬНЫХ результатов ко всем ПОЛОЖИТЕЛЬНЫМ должно быть как можно выше.

Говоря простым языком, когда модель говорит, что это ПОЛОЖИТЕЛЬНО, я должен ей доверять!!!

Сценарий 3 и 4.
В этих сценариях мне нужен высокий показатель отзыва. Это означает, что я хочу, чтобы моя модель не пропустила ни одного ПОЗИТИВА.

Вспомнить проще, из общего числа ПОЗИТИВНЫХ, сколько из них классифицируются ИСТИННО как ПОЗИТИВНЫЕ.

С точки зрения математики, это отношение количества ИСТИННО классифицированных образцов как ПОЛОЖИТЕЛЬНЫЕ к общему количеству ПОЛОЖИТЕЛЬНЫХ результатов в наборе образцов.

отзыв = (количество ИСТИННО классифицированных образцов как ПОЛОЖИТЕЛЬНЫЕ) / ((количество ИСТИННО классифицированных образцов как ПОЛОЖИТЕЛЬНЫХ) + (количество ЛОЖНО классифицированных образцов как ОТРИЦАТЕЛЬНЫХ — на самом деле ПОЛОЖИТЕЛЬНЫХ) (то есть все ПОЛОЖИТЕЛЬНЫЕ))

Вот матрица путаницы, показывающая все ячейки TRUE/FALSE POSITIVE/NEGATIVE для расчетов.

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

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

Предположим, что в воздухе 20 самолетов 10/10 враждебных и дружественных. Красные враждебны, а синие дружелюбны. Я собрал данные, провел некоторую подготовку данных и обучил модель как бинарный классификатор. Моя модель дает оценку для каждой выборки, и путем сравнения этой оценки с «пороговым» значением определяется, является ли она положительной (враждебной) или отрицательной (дружественной). Для простоты оценки модели показаны в размере самолета. Это означает, что если оценка выше для этого образца, то он отображается в экспонате большего размера. Справа налево я меняю порог и смотрю, как это повлияет на точность и отзыв. В двух таблицах ниже показаны истинные метки и прогнозируемые классы на основе оценок и порога. График справа внизу показывает изменение точности и отзыва на каждом уровне порога. Как вы заметите, при перемещении порога влево точность снижается, полнота увеличивается, а точность остается прежней. Это хороший пример того, что точность не меняется, в то время как точность и полнота колеблются.

В качестве примера результаты на простом английском языке могут быть сформулированы так:

Порог 1:
ТОЧНОСТЬ: положительные утверждения модели верны на 100 %
НАПОМИНАНИЕ: модель правильно предсказывает 30 % от общего числа положительных результатов
ТОЧНОСТЬ: точность модели составляет 65 %.

Порог 2:
ТОЧНОСТЬ : положительные утверждения модели верны на 80 %
НАПОМИНАНИЕ : модель правильно предсказывает 40 % от общего числа положительных результатов
ТОЧНОСТЬ : точность модели составляет 65 %.

Вот код, который вычисляет метрики, а также генерирует график.

Также рекомендуется сопоставить точность и полноту, увидеть компромисс и принять решение.

Предостережения:

  • К сожалению, у вас не может быть и того, и другого: повышение точности снижает полноту, и наоборот. Это называется компромиссом точность/отзыв.
  • Точность, полнота также являются хорошими показателями для оценки различных классификаторов.
  • F1 не упоминается, что дает одинаковые веса точности и полноте.

Вопрос для размышления:
Что касается проблемы обнаружения вражеских самолетов, как бы вы изменили свой порог, если досматриваемая цель приближается к вашей границе? Не могли бы вы подумать о разных порогах для разных ситуаций?

Имейте в виду:
тонкая настройка и представление являются важными этапами вашего анализа.

Целью этой статьи было продемонстрировать точность, полноту и влияние порога на производительность модели.

Я надеюсь, что это помогает. И если вам интересно читать, хлопайте в ладоши :)

Код можно найти здесь.