Пороги и матрица путаницы

Допустим, у вас есть модель логистической регрессии для обнаружения спама в электронной почте, которая прогнозирует значение от 0 до 1, представляющее вероятность того, что данное электронное письмо является спамом. Прогноз 0,50 означает 50% вероятность того, что электронное письмо является спамом, прогноз 0,75 означает 75% вероятность того, что электронное письмо является спамом, и так далее.

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

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

Нажмите здесь, чтобы получить более подробную информацию о пороге классификации.

Вам может быть интересно: что произойдет, если прогнозируемая оценка равна порогу классификации (например, оценка 0,5, где порог классификации также равен 0,5)? Обработка этого случая зависит от конкретной реализации, выбранной для модели классификации. Библиотека Keras прогнозирует отрицательный класс, если оценка и порог равны, но другие инструменты/платформы могут обрабатывать этот случай по-другому.

Предположим, что модель оценивает одно электронное письмо как 0,99, предсказывая, что вероятность того, что оно является спамом, составляет 99 %, а другое электронное письмо имеет рейтинг 0,51, прогнозируя, что оно имеет вероятность быть спамом 51 %. Если вы установите порог классификации равным 0,5, модель классифицирует оба письма как спам. Если вы установите пороговое значение 0,95, только электронное письмо с рейтингом 0,99 будет классифицировано как спам.

Хотя 0,5 может показаться интуитивным порогом, это не очень хорошая идея, если цена неправильной классификации одного типа больше, чем другого, или если классы несбалансированы. Если только 0,01% электронных писем являются спамом или если неправильная регистрация законных электронных писем хуже, чем попадание спама во входящие, маркировка всего, что модель считает спамом с вероятностью не менее 50%, поскольку спам приводит к нежелательным результатам.

Матрица путаницы

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

Фактический позитив Фактический отрицательный результат
Прогнозируемый положительный Истинно положительный результат (TP) : спам-сообщение правильно классифицируется как спам. Это спам-сообщения, автоматически отправляемые в папку «Спам». Ложное срабатывание (FP) : электронное письмо, не являющееся спамом, ошибочно классифицированное как спам. Это законные электронные письма, которые попадают в папку «Спам».
Прогнозируемый отрицательный Ложноотрицательный результат (FN) : спам-письмо, ошибочно классифицированное как не-спам. Это спам-сообщения, которые не улавливаются спам-фильтром и попадают во входящие. Истинно отрицательный результат (TN) : электронное письмо, не являющееся спамом, правильно классифицировано как неспам. Это законные электронные письма, которые отправляются непосредственно в почтовый ящик.

Обратите внимание, что сумма в каждой строке дает все прогнозируемые положительные результаты (TP + FP) и все прогнозируемые отрицательные значения (FN + TN), независимо от их достоверности. Между тем, сумма в каждом столбце дает все реальные положительные значения (TP + FN) и все реальные отрицательные значения (FP + TN) независимо от классификации модели.

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

Влияние порога на истинные и ложные положительные и отрицательные результаты

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

Попробуйте изменить порог самостоятельно.

Этот виджет включает в себя три набора данных игрушек:

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

Проверьте свое понимание

1. Представьте себе модель классификации фишинга или вредоносного ПО, в которой фишинговые и вредоносные веб-сайты относятся к классу с меткой 1 (истина), а безобидные веб-сайты — к классу с меткой 0 (ложь). Эта модель ошибочно классифицирует законный веб-сайт как вредоносное ПО. Как это называется?
Ложное срабатывание
Отрицательный пример (законный сайт) был ошибочно классифицирован как положительный пример (сайт вредоносного ПО).
Настоящий позитив
Настоящим положительным моментом будет сайт с вредоносным ПО, правильно классифицированный как вредоносное ПО.
Ложноотрицательный результат
Ложноотрицательным результатом будет сайт с вредоносным ПО, ошибочно классифицированный как законный.
Настоящий негатив
Истинно отрицательным будет законный сайт, правильно классифицированный как законный сайт.
2. Что вообще происходит с количеством ложных срабатываний при повышении порога классификации? А как насчет настоящих позитивов? Поэкспериментируйте с ползунком выше.
Как истинные, так и ложные срабатывания уменьшаются.
По мере увеличения порога модель, скорее всего, будет прогнозировать меньше положительных результатов, как истинных, так и ложных. Классификатор спама с пороговым значением 0,9999 пометит электронное письмо как спам только в том случае, если он считает, что классификация имеет вероятность не менее 99,99%. Это означает, что очень маловероятно, что он ошибочно пометит законное электронное письмо, но также есть вероятность пропустить настоящее спам-сообщение.
Как истинные, так и ложные срабатывания увеличиваются.
Используя ползунок выше, попробуйте установить пороговое значение на 0,1, а затем перетащить его на 0,9. Что происходит с количеством ложноположительных и истинных срабатываний?
Истинных положительных результатов становится больше. Ложноположительных результатов становится меньше.
Используя ползунок выше, попробуйте установить пороговое значение на 0,1, а затем перетащить его на 0,9. Что происходит с количеством ложноположительных и истинных срабатываний?
3. Что вообще происходит с количеством ложноотрицательных результатов при повышении порога классификации? А как насчет истинных негативов? Поэкспериментируйте с ползунком выше.
Как истинные, так и ложноотрицательные результаты увеличиваются.
По мере увеличения порога модель, скорее всего, будет предсказывать больше отрицательных результатов, как истинных, так и ложных. При очень высоком пороге почти все электронные письма, как спам, так и не-спам, будут классифицированы как не-спам.
Как истинные, так и ложноотрицательные результаты уменьшаются.
Используя ползунок выше, попробуйте установить пороговое значение на 0,1, а затем перетащить его на 0,9. Что происходит с количеством ложноотрицательных и истинноотрицательных результатов?
Истинных негативов становится больше. Ложноотрицательных результатов становится меньше.
Используя ползунок выше, попробуйте установить пороговое значение на 0,1, а затем перетащить его на 0,9. Что происходит с количеством ложноотрицательных и истинноотрицательных результатов?