Кто они такие? Как мы их интерпретируем? Как выбрать оптимальный порог для вашего варианта использования?

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

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

В этом сообщении в блоге мы стремимся достичь двух целей:

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

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

Чтобы ответить на этот вопрос, давайте сначала разберемся с кривыми ROC с некоторыми определениями общих технических терминов; а именно: Показатель истинных положительных результатов (TPR), также известный как Отзыв и Показатель ложных положительных результатов (FPR).

True Positive Rate (TPR) - вероятность обнаружения

False Positive Rate (FPR) - вероятность ложной тревоги

Давайте рассмотрим модель с положительным классом «Джон» и отрицательным классом «Не Джон». Приведенная ниже диаграмма (также называемая матрицей путаницы) помогает нам понять определения истинно положительных, истинно отрицательных, ложных и ложно отрицательных.

В приведенном выше сценарии предсказание и достоверность (или фактический результат) могут привести к одному из четырех результатов:

Истинно-положительный (TP) - модель идентифицирует Джона как Джона.
Ложно-положительный (FP) - модель идентифицирует другого человека как Джона.
Ложно-отрицательный (FN) - модель идентифицирует Джона как кого-то другого. < br /> True Negatives (TN) - модель идентифицирует другого человека как «Не Джона».

С помощью этих определений мы можем определить TPR и FPR как:

TPR = TP / (TP + FP)

FPR = FP / (FP + TN)

Определив эти термины, мы теперь можем понять кривую ROC, подобную показанной ниже. Эта кривая описывает производительность модели распознавания лиц Trueface на наборе данных LFW. Для справки, вы можете просмотреть кривые ROC для всех моделей Trueface здесь.

Как выбрать подходящий порог классификации для вашей модели.

Обычно нам нужна модель с высоким TPR и низким FPR. Но есть компромисс, связанный с этими показателями, как видно на приведенном выше графике. Когда мы изменяем наш порог для увеличения TPR, FPR увеличивается вместе с ним. У предприятий будут разные требования к вариантам использования.

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

Как мы видим, Джону следует поддерживать порог 0,7, чтобы поддерживать TPR = 1,0, сохраняя при этом FPR как можно меньше.

В то же время посмотрите на точку на графике, где TPR = 0,999. Соответствующий FPR = 0,35. Это означает, что на каждую пропущенную 1 из 1000 положительных проб вы уменьшаете количество ложных срабатываний примерно на 40%.

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

Как мы видим, 0,955 - хороший выбор порога, который дает нам FPR 0,0 и сохраняет TPR очень близким к 1,0.

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

  1. Определите относительную стоимость одного ложного срабатывания по отношению к одному истинному положительному результату (стоимость идентификации кого-то еще как Джона по сравнению с идентификацией Джона как Джона).
  2. Посмотрите на кривую ROC и выберите точку, которая максимизирует прибыль и минимизирует убытки (правильно идентифицируя Джона как Джона и не идентифицируя кого-то еще как Джона)
  3. Возьмите пороговое значение этой точки и используйте его, чтобы преобразовать вероятностный выход алгоритма ML в двоичное решение.

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