Форро
- 1 year ago
- 0
- 0
ROC-кривая ( англ. receiver operating characteristic , рабочая характеристика приёмника ) — график, позволяющий оценить качество бинарной классификации , отображает соотношение между долей объектов от общего количества носителей признака, верно классифицированных как несущие признак ( англ. true positive rate , TPR, называемой чувствительностью алгоритма классификации), и долей объектов от общего количества объектов, не несущих признака, ошибочно классифицированных как несущие признак ( англ. false positive rate , FPR, величина 1-FPR называется специфичностью алгоритма классификации) при варьировании порога решающего правила.
Также известна как кривая ошибок . Анализ классификаций с применением ROC-кривых называется ROC-анализом .
Количественная интерпретация ROC даёт показатель AUC ( англ. Area Under Curve , площадь под кривой ) — площадь, ограниченная ROC-кривой и осью доли ложных положительных классификаций. Чем выше показатель AUC, тем качественнее классификатор, при этом значение 0,5 демонстрирует непригодность выбранного метода классификации (соответствует случайному гаданию). Значение менее 0,5 говорит, что классификатор действует с точностью до наоборот: если положительные назвать отрицательными и наоборот, классификатор будет работать лучше.
Злокачественные опухоли — классическое приложение задач классификации: симптомы часто появляются, когда болезнь запущена до неизлечимости, а надёжные тесты крайне дороги. Потому востребованы дешёвые, хоть и не столь надёжные, тесты — а мы будем объяснять на примере здоровых и больных.
Задача классификации состоит в том, чтобы относить ранее неизвестные объекты к тому или иному классу. Примером такой задачи может быть диагностика болезни — заболел пациент ( положительный результат ) или нет ( отрицательный результат ). Тогда в результате классификации может наблюдаться четыре различных ситуации:
Четыре возможных выхода могут быть сформулированы и оформлены в виде таблицы сопряжённости размера 2×2.
Тогда значение Sen=TP/(TP+FN), способность алгоритма «видеть» больных, называется чувствительность или частота истинно-положительных , Spe=TN/(TN+FP) — специфичность или частота истинно-отрицательных , способность алгоритма не принимать здоровых за больных. Экономический эффект от этих ошибок разный: ложно-отрицательный больной придёт с запущенной болезнью, на дообследование ложно-положительного будут потрачены ресурсы. Величина 1−Spe=FP/(TN+FP) называется частота ложно-положительных .
Часто классификатор выдаёт не бит «здоров-болен», а число из непрерывной шкалы: например, 0=«явно здоров», 25=«скорее всего, здоров», 50=«неопределённо», 75=«скорее всего, больной», 100=«явно больной». Но всё равно набор принимаемых решений обычно конечный, а то и бинарный: отправлять ли пациента на дообследование? Должен ли сработать толкатель, сбрасывающий деталь в контейнер с браком ? Варьируя порог срабатывания, мы меняем характеристики чувствительности и специфичности: чем выше одна, тем ниже другая.
В результате изменения порога от −∞ до ∞ и нанесения точек X=1−Spe и Y=Sen в пространстве координат X,Y получается график, который и называется ROC-кривой. При пороге −∞ классификатор относит всех пациентов к больным (1−Spe=1, Sen=1). При пороге +∞ все классифицируются как здоровые (1−Spe=0, Sen=0). Потому ROC-кривая всегда идёт от (0,0) до (1,1).
Классификация часто основывается на непрерывных случайных величинах . В этом случае удобно записать вероятность принадлежности к тому или иному классу в виде функции распределения вероятностей , зависящей от некоего порогового (граничного) значения параметра в виде , а вероятность непринадлежности как . Тогда количество ложно-положительных (false-positive rate, FPR) решений можно выразить в виде . В то же время количество истинно-положительных решений (true-positive rate, TPR) можно выразить в виде . При построении ROC-кривой по оси откладывают и по оси — , полученных при разных значениях параметра .
Например, представим, что уровни какого-нибудь белка в крови распределены нормально с центрами, равными 1 г / дЛ и 2 г / дЛ у здоровых и больных людей соответственно. Медицинский тест может давать показатель уровня какого-либо белка в плазме крови . Уровень белка выше определённой границы может рассматриваться как признак заболевания . Исследователь может сдвигать границу (черная вертикальная линия на рисунке), что приведет к изменению числа ложно-положительных результатов. Результирующий вид ROC-кривой зависит от степени пересечения двух распределений .
Если генеральная совокупность конечная (что обычно и бывает на реальных наборах данных), то при движении порога t от −∞ до ∞ возможны следующие ситуации:
Поскольку вероятность четвёртого события мала, ROC-кривая конечной генеральной совокупности имеет ступенчатый вид, с небольшим количеством наклонных отрезков там, где погрешности сбора и обработки данных дали одинаковый результат на объектах разных классов.
Соответственно, алгоритм построения ROC-кривой для конечной генеральной совокупности таков. Упорядочим объекты по значению критерия. Берём набор объектов с равным значением критерия, пересчитываем Sen и Spe, и рисуем отрезок. Продолжаем, пока объекты не кончатся.
ROC-кривая бинарного классификатора, выдающего 0 или 1 (например, решающего дерева ), выглядит как два отрезка (0,0) → (1−Spe,Sen) → (1,1).
В идеальном случае, когда классификатор полностью разделяет положительные и отрицательные члены генеральной совокупности, сначала все ложно-положительные становятся истинно-отрицательными (отрезок (1,1)—(0,1)), затем — все истинно-положительные становятся ложно-отрицательными (отрезок (0,1)—(0,0)). То есть ROC-кривая идеального классификатора, независимо от того, какие цифры выдаёт критерий и конечна ли генеральная совокупность, выглядит как два отрезка (0,0)—(0,1)—(1,1).
При тех пороговых t , где ROC-кривая ниже диагонали 1−Spe = Sen , можно инвертировать критерий (всё, что меньше t , объявить положительным), и классификатор будет действовать лучше, чем изначально: повышается и чувствительность, и специфичность.
ROC-кривые впервые использованы в теории обработки сигналов в США во время Второй мировой войны для повышения качества распознавания объектов противника по радиолокационному сигналу . После атаки на Перл Харбор в 1941 году , американские военные начали новые исследования , направленные на попытки увеличения точности опознавания японских самолетов по радиолокационным сигналам.
Впоследствии широкое применение ROC-кривые получили в медицинской диагностике . ROC-кривые используется в эпидемиологии и медицинских исследованиях, часто упоминаются в одном контексте с доказательной медициной . В радиологии ROC-кривые используются для проверки и тестирования новых методик . В социальных науках ROC-кривые используются для того, чтобы делать суждения о качестве вероятностных моделей. Также кривые используются в вопросах управления качеством продукции и кредитном скоринге .
ROC-кривые широко используются в машинном обучении . Впервые в этом контексте они были использованы в работе 1989 года, где продемонстрировано применение ROC-кривых при сравнении нескольких алгоритмов классификации .
В нормированном пространстве площадь под кривой ( AUC — Area Under Curve, AUROC — Area Under Receiver Operating Characteristic ) эквивалентна вероятности , что классификатор присвоит больший вес случайно выбранной положительной сущности, чем случайно выбранной отрицательной. Это может быть показано следующим образом: площадь под кривой задаётся интегралом (ось развёрнута со знаком минус — большему значению координаты соответствует меньшее значение параметра ): . Угловые скобки обозначают операцию взятия среднего.
Было показано, что AUC тесно связана с U-критерием Манна — Уитни , который является показателем того, присваивается ли позитивным элементам больший вес, чем негативным. Величина AUC также связана с Критерием Уилкоксона и с коэффициентом Джини ( ) следующим образом: , где:
.
Показатель AUC также часто используется для того, чтобы сравнивать модели, полученные на основе обучающей выборки . Однако, в некоторых случаях использование этого показателя затруднено тем, что AUC является чувствительным к шуму . Также в некоторых работах отмечаются дополнительные проблемы, возникающие при использовании величины AUC для сравнения моделей . Как уже было отмечено ранее, величина площади под кривой может быть использована как величина вероятности, с которой случайно выбранной позитивной сущности будет присвоен вес больший, чем случайно выбранной негативной. Однако, в ряде работ выдвинуты предположения о сложности получения надежных оценок величин AUC . Так, практическая ценность показателя AUC была поставлена под сомнение , указывая на то, что зачастую величина может вносить больше неопределенности, чем ясности.
Расширение ROC-кривых на случай задач классификации с более чем двумя классами всегда было сопряжено с трудностями, так как количество степеней свободы растет квадратично от количества классов, и ROC-пространство имеет измерений , где — количество классов. Также были развиты некоторые практические подходы для случая, когда количество классов равно трем. Объем под ROC-поверхностью ( VUS — Volume Under Surface ) рассматривается как метрика качества классификаторов для небинарных задач классификации. Однако, из-за сложности анализа переменной VUS , были развиты другие подходы , основанные на расширении понятия VUS .
В связи с успешным применением ROC-кривых для анализа качества классификаторов, были изучены расширения ROC-кривых для других задач обучения с учителем . Среди работ стоит отметить посвященные так называемым REC-кривым ( regression error characteristic — REC-curve ) и RROC-кривым ( Regression ROC curves ) . Стоит отметить, что площадь под RROC-кривой пропорциональна дисперсии ошибки регрессионной модели .