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

Допустим, у вас есть модель логистической регрессии для обнаружения спама в электронной почте, которая предсказывает значение от 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. В общем, что происходит с количеством ложных срабатываний при увеличении порога классификации? А как насчет истинных срабатываний? Поэкспериментируйте с ползунком выше.
Уменьшается количество как истинных, так и ложных положительных результатов.
По мере увеличения порога модель, скорее всего, будет предсказывать меньше положительных результатов в целом, как истинных, так и ложных. Классификатор спама с порогом .9999 будет отмечать письмо как спам только в том случае, если он считает, что классификация имеет вероятность не менее 99,99%, что означает, что он вряд ли неправильно отметит законное письмо, но также, скорее всего, пропустит фактическое спам-письмо.
Увеличивается количество как истинных, так и ложных положительных результатов.
Используя ползунок выше, попробуйте установить порог на 0,1, а затем перетащить его на 0,9. Что происходит с количеством ложных и истинных положительных результатов?
Число истинно положительных результатов увеличивается, число ложноположительных результатов уменьшается.
Используя ползунок выше, попробуйте установить порог на 0,1, а затем перетащить его на 0,9. Что происходит с количеством ложных и истинных положительных результатов?
3. В общем, что происходит с количеством ложноотрицательных результатов при увеличении порога классификации? А как насчет истинно отрицательных результатов? Поэкспериментируйте с ползунком выше.
Увеличивается количество как истинно отрицательных, так и ложно отрицательных результатов.
По мере увеличения порога модель, скорее всего, будет предсказывать больше негативных значений в целом, как истинных, так и ложных. При очень высоком пороге почти все электронные письма, как спам, так и не спам, будут классифицироваться как не спам.
Уменьшается количество как истинно отрицательных, так и ложно отрицательных результатов.
Используя ползунок выше, попробуйте установить порог на 0,1, а затем перетащить его на 0,9. Что происходит с количеством ложноотрицательных и истинноотрицательных результатов?
Истинно отрицательных результатов становится больше, ложно отрицательных — меньше.
Используя ползунок выше, попробуйте установить порог на 0,1, а затем перетащить его на 0,9. Что происходит с количеством ложноотрицательных и истинноотрицательных результатов?