ROC-кривая
Управление готовностью назначать положительный класс
Рассмотрим бинарный классификатор:
Его относительная дискриминантная функция характеризует степень уверенности классификатора в том, что объект принадлежит положительному классу.
Решающее правило можно обобщить, введя порог , с которым производится сравнение:
Чем выше, тем более осторожно классификатор начинает предсказывать положительный класс для тех же самых объектов, и наоборот, для более низких положительный класс назначается более охотно. Это полезный параметр, чтобы управлять готовностью назначать объектам положительный класс без перенастройки самой модели.
Рассмотрим задачу кредитного скоринга, в которой для клиентов (объектов ) нужно предсказывать, вернут они кредит или нет , на основе чего принимается решение о выдаче им кредита. Для низких мы более склонны давать кредиты, и это обосновано в периоды экономического подъёма. В периоды же экономического спада разумно выдавать кредиты более осторожно, повысив гиперпараметр , причём саму модель при этом перенастраивать не нужно!
Меры TPR и FPR
Определим две меры качества бинарной классификации - true positive rate (TPR) и false positive rate (FPR):
где - число объектов положительного и отрицательного класса соответственно.
Мера TPR совпадает с ранее изученной мерой Recall. Также её называют recognition rate, поскольку по смыслу она характеризует долю верных (положительных) детекций среди объектов положительного кла сса.
Мера FRP также называется false alarm rate, поскольку она характеризует долю неверных детекций (положительным классом) среди объектов отрицательного класса.
В примере с кредитным скорингом TPR будет измерять долю клиентов, которые могли бы вернуть кредит, и мы действительно сочли их кредитоспособными. FPR же будет измерять долю клиентов, которые не способны вернуть кредит, но которых мы ошибочно сочли кредитоспособными.
ROC-кривая
ROC-кривая (ROC-curve, receiver operating characteristic) показывает зависимость от при изменении порога . Обе величины изменяются от нуля до единицы по неубывающему закону, как показано на графике:

При высоком классификатор будет очень редко назначать положительный класс - только в тех случаях, когда он очень уверен в положительности класса. Тогда:
-
TPR будет близок к нулю (будет мало верно распознанных объектов положительного класса)
-
FPR также будет мал (поскольку положительный класс будет назначаться редко).
Если же уменьшать , то частота назначения положительного класса будет увеличиваться, увеличивая и TPR, и FPR, в результате чего мы прочертим ROC-кривую.
Рассмотрим классификатор, который случайно назначает классы, независимо от вектора признаков , по формуле
где - равномерно распределённая случайная величина на отрезке . Докажите, что ROC-кривая, соответствующая этому классификатору, будет диагональю TPR=FPR. Существуют ли классификаторы, для которых ROC-кривая проходит ниже этой прямой? Можем ли мы извлечь пользу из таких классификаторов?
Построение ROC-кривой по данным
При практическом построении ROC-кривой нам не нужно перебирать все вещественные пороги , поскольку мы работаем с конечной выборкой
Мы рассчитываем относительную дискриминантную функцию нашего классификатора для каждого объекта и отсортируем все объекты по возрастанию этой функции:
Далее ROC-кривая строится итеративно, стартуя из точки ()=(0,0) при движении вдоль значений от больших значений к меньшим, перебирая в качестве пороговых только следующие значения:
При сдвиге порога от до прогноз для объект по правилу (1) поменяется с отрицательного на положительный класс. В зависимости от реального класса это будет соответствовать двум разным изменениям на ROC-кривой:
-
При следующая точка ROC-кривой получается сдвигом вверх на , поскольку при этом на один верно-положительный объект станет больше при том же уровне FPR.
-
При следующая точка ROC-кривой получается сдвигом вправо на , поскольку стало на один объект больше среди ложно-положительных срабатываний. FPR увеличится, а TPR останется неизменным.
Пример построения ROC-кривой показан на рисунке:

Далее ROC-кривая может сглаживаться линейной интерполяцией между точками.
Площадь под ROC-кривой
Чем выше ROC-кривая, тем лучше классификатор, поскольку нам бы хотелось иметь более высокий TPR при том же уровне FPR.
Агрегированной мерой качества классификации служит площадь под ROC-кривой, называемая AUC (area under curve).
Классификатору, назначающему классы сл учайно независимо от входа, будет соответствовать диагональная ROC-кривая, площадь под которой равна 0.5 - см. ROC-кривую для случайного угадывания.
Поскольку ROC-кривая описывает не один классификатор, а целое семейство классификаторов, параметризованных гиперпараметром , далее мы рассмотрим нахождение наилучшего классификатора из этого семейства.
Мы также изучим эквивалентное определение величины AUC и способ её численной оптимизации.