Глава 3. Вводим нелинейность: теперь не только взвешенные суммы
131
Название метрики
Определение
Использование в кривых ROC или кривых
зависимости «точность/полнота»
Площадь под кривой
(AUC)
Вычисляется
путем численного
интегрирования
площади под кривой
ROC; см. пример
в листинге 3.7
Не используется в кривых ROC,
но вычисляется на основе кривых ROC
Семь кривых ROC на рис. 3.6 нарисованы в начале семи различных эпох: от
первой (001) до последней (400). Все они созданы на основе предсказаний модели
на контрольном (а не обучающем) наборе данных. В листинге 3.6 приводятся по
дробности того, как это было сделано, с помощью обратного вызова
onEpochBegin
API
Model.fit()
. Благодаря этому подходу можно выполнить интересный анализ
и визуализацию модели во время обучения без необходимости писать цикл
for
или
использовать несколько вызовов
Model.fit()
.
Листинг 3.6.
Визуализация кривых ROC во время обучения модели с помощью
обратного вызова
Подробности того, как рисуется кривая ROC, содержатся в функции
drawROC()
(листинг 3.7). Она делает следующее.
z
z
Варьирует пороговое значение выходного сигнала сигмафункции (вероятностей)
нейронной сети для получения различных наборов результатов классификации.
z
z
Вычисляет TPR и FPR для каждого результата классификации, сопоставляя его
с фактическими (целевыми) метками.
z
z
Строит график зависимости TPR и FPR, формируя кривую ROC.
132
Часть II • Введение в TensorFlow.js
Как видно на рис. 3.6, в начале обучения (эпоха 001) в силу инициализации весо
вых коэффициентов модели случайными числами кривая ROC очень близка к диа
гонали, соединяющей точку (0,0) с точкой (1,1). По мере обучения кривые ROC все
больше прижимаются к верхнему левому углу — месту, где показатель FPR близок
к 0, а TPR — к 1. При любом конкретном уровне FPR, например 0,1, наблюдается
монотонное возрастание соответствующего значения TPR по мере обучения. Проще
говоря, по мере обучения можно получать все более и более высокий уровень полно
ты (TPR) при фиксированном уровне ложных срабатываний (FPR).
«Идеальной» ROC является кривая, изогнутая в сторону верхнего левого
угла настолько, что она приобретает
γ
образную форму. При таком сценарии
достигается 100%ная TPR и 0%ная FPR — заветная мечта любого бинарного
классификатора. На практике, однако, можно лишь подталкивать кривую ROC
как можно ближе к верхнему левому углу — теоретический идеал верхнего левого
угла недостижим.
Из этого обсуждения формы кривой ROC видно: можно определить, насколько
хороша кривая ROC, просто по площади под ней, то есть площади в квадратных
единицах, ограничиваемой кривой ROC и осью координат
X
. Этот показатель на
зывается
площадью под кривой
(area under the curve, AUC) и также рассчитывается
в коде из листинга 3.7. Это более удобная метрика, чем точность, полнота и безоши
бочность, — она учитывает баланс между ложнопозитивными и ложнонегативными
результатами. AUC кривой ROC для случайного угадывания (диагональ) равна 0,5,
в то время как у идеальной ROC
γ
образной формы AUC равна 1,0. После обучения
наша модель обнаружения фишинга достигает AUC 0,981.
Помимо визуализации характеристик бинарного классификатора, кривая ROC
помогает обоснованно выбрать пороговое значение вероятности в реальных усло
виях. Например, представьте себе коммерческую компанию, разрабатывающую
детектор фишинга в качестве сервиса. Какой же из вариантов лучше выбрать?
z
z
Относительно низкое пороговое значение, поскольку пропуск действительно
фишингового сайта может привести к серьезным неприятностям и потерянным
контрактам.
z
z
Относительно высокое пороговое значение, поскольку нас больше беспокоят воз
можные жалобы пользователей, чьи нормальные сайты оказались заблокированы
изза того, что модель ошибочно классифицировала их как фишинговые.
Каждому пороговому значению соответствует точка на кривой ROC. При по
степенном повышении порогового значения от 0 до 1 мы перемещаемся из верхнего
правого угла графика (где FPR и TPR равны 1) в нижний левый (где FPR и TPR
равны 0). В реальных инженерных задачах точка на кривой ROC всегда выбирается
исходя из баланса подобных противоположных затрат и может варьироваться для
различных клиентов и фаз развития бизнеса.
Помимо кривой ROC, для визуализации бинарной классификации часто приме
няется
кривая «точность/полнота»
(которую иногда называют кривой P/R), мель
ком упомянутая в табл. 3.3. В отличие от кривой ROC, график «точность/полнота»
отражает зависимость точности от полноты. Поскольку кривые «точность/полнота»
по своей сути не отличаются от кривых ROC, мы не станем обсуждать их здесь.
Do'stlaringiz bilan baham: |