Русская Википедия:ROC-кривая

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Файл:Roccurves.png
ROC-кривые трёх методов предсказания эпитопов

ROC-кривая (Шаблон:Lang-en, рабочая характеристика приёмника) — график, позволяющий оценить качество бинарной классификации, отображает соотношение между долей объектов от общего количества носителей признака, верно классифицированных как несущие признак (Шаблон:Lang-en, TPR, называемой чувствительностью алгоритма классификации), и долей объектов от общего количества объектов, не несущих признака, ошибочно классифицированных как несущие признак (Шаблон:Lang-en, FPR, величина 1-FPR называется специфичностью алгоритма классификации) при варьировании порога решающего правила.

Также известна как кривая ошибок. Анализ классификаций с применением ROC-кривых называется ROC-анализом.

Количественная интерпретация ROC даёт показатель AUC (Шаблон:Lang-en, площадь под кривой) — площадь, ограниченная ROC-кривой и осью доли ложных положительных классификаций. Чем выше показатель AUC, тем качественнее классификатор, при этом значение 0,5 демонстрирует непригодность выбранного метода классификации (соответствует случайному гаданию). Значение менее 0,5 говорит, что классификатор действует с точностью до наоборот: если положительные назвать отрицательными и наоборот, классификатор будет работать лучше.

Основная концепция

Шаблон:See also Злокачественные опухоли — классическое приложение задач классификации: симптомы часто появляются, когда болезнь запущена до неизлечимости, а надёжные тесты крайне дороги. Потому востребованы дешёвые, хоть и не столь надёжные, тесты — а мы будем объяснять на примере здоровых и больных.

Задача классификации состоит в том, чтобы относить ранее неизвестные объекты к тому или иному классу. Примером такой задачи может быть диагностика болезни — заболел пациент (положительный результат) или нет (отрицательный результат). Тогда в результате классификации может наблюдаться четыре различных ситуации:

  • истинно-положительный результат (true-positive, TP) — пациент больной, диагноз положительный;
  • ложно-положительный результат (false-positive, FP) — пациент здоров, диагноз положительный;
  • истинно-отрицательный результат (true-negative, TN) — пациент здоров, диагноз отрицательный;
  • ложно-отрицательный результат (false-negative, FN) — пациент больной, диагноз отрицательный.

Четыре возможных выхода могут быть сформулированы и оформлены в виде таблицы сопряжённости размера 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).

Случай непрерывных случайных величин

Файл:ROC curves.svg

Классификация часто основывается на непрерывных случайных величинах. В этом случае удобно записать вероятность принадлежности к тому или иному классу в виде функции распределения вероятностей, зависящей от некоего порогового (граничного) значения параметра <math>T</math> в виде <math>P_1(T)</math>, а вероятность непринадлежности как <math>P_0(T)</math>. Тогда количество ложно-положительных (false-positive rate, FPR) решений можно выразить в виде <math> FPR(T)=\int_{T}^\infty P_0 (T) dT </math>. В то же время количество истинно-положительных решений (true-positive rate, TPR) можно выразить в виде <math> TPR(T)= \int_{T}^\infty P_1(T) dT </math>. При построении ROC-кривой по оси <math>Y</math> откладывают <math>TPR(T)</math> и по оси <math>X</math> — <math>FPR(T)</math>, полученных при разных значениях параметра <math>T</math>.

Например, представим, что уровни какого-нибудь белка в крови распределены нормально с центрами, равными 1 г/дЛ и 2 г/дЛ у здоровых и больных людей соответственно. Медицинский тест может давать показатель уровня какого-либо белка в плазме крови. Уровень белка выше определённой границы может рассматриваться как признак заболевания. Исследователь может сдвигать границу (черная вертикальная линия на рисунке), что приведет к изменению числа ложно-положительных результатов. Результирующий вид ROC-кривой зависит от степени пересечения двух распределений.

Частные случаи

Если генеральная совокупность конечная (что обычно и бывает на реальных наборах данных), то при движении порога t от −∞ до ∞ возможны следующие ситуации:

  • Если при увеличении t количества ложно-положительных и истинно-положительных оценок объектов не изменяются, то, соответственно, значения Sen и Spe также не изменяются, и ни одной новой точки ROC-кривой не появляется, построенная часть ROC-кривой остается прежней.
  • При увеличении t оценки одного или нескольких объектов переходят из ложно-положительных в истинно-отрицательные, а количество истинно-положительных не меняется. Соответственно, значение Sen остается прежнем, Spe увеличивается, X = 1 − Spe уменьшается, к кривой добавляется горизонтальный отрезок.
  • При увеличении t оценки одного или нескольких объектов переходят из истинно-положительных в ложно-отрицательные, а количество ложно-положительных не меняется. Тогда Y = Sen уменьшается, и к кривой добавляется вертикальный отрезок.
  • Если происходит одновременно второе и третье, уменьшаются X = 1 − Spe и Y=Sen, и к ROC-кривой добавляется соответствующий наклонный отрезок.

Поскольку вероятность четвёртого события мала, 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-кривые впервые использованы в теории обработки сигналов в США во время Второй мировой войны для повышения качества распознавания объектов противника по радиолокационному сигналу[1]. После атаки на Перл Харбор в 1941 году, американские военные начали новые исследования, направленные на попытки увеличения точности опознавания японских самолетов по радиолокационным сигналам.

Впоследствии широкое применение ROC-кривые получили в медицинской диагностике[2][3]. ROC-кривые используется в эпидемиологии и медицинских исследованиях, часто упоминаются в одном контексте с доказательной медициной. В радиологии ROC-кривые используются для проверки и тестирования новых методик[4]. В социальных науках ROC-кривые используются для того, чтобы делать суждения о качестве вероятностных моделей. Также кривые используются в вопросах управления качеством продукции и кредитном скоринге.

ROC-кривые широко используются в машинном обучении. Впервые в этом контексте они были использованы в работе 1989 года, где продемонстрировано применение ROC-кривых при сравнении нескольких алгоритмов классификации[5].

Дополнительные варианты использования

Площадь под кривой

В нормированном пространстве площадь под кривой (AUC — Area Under Curve, AUROC — Area Under Receiver Operating Characteristic) эквивалентна вероятности, что классификатор присвоит больший вес случайно выбранной положительной сущности, чем случайно выбранной отрицательной.[6] Это может быть показано следующим образом: площадь под кривой задаётся интегралом (ось <math>X</math> развёрнута со знаком минус — большему значению координаты соответствует меньшее значение параметра <math>T</math>): <math> A = \int_{\infty}^{-\infty} y(T) |x'(T)| dT = \int_{\infty}^{-\infty} TPR(T) FPR'(T) dT = \int_{-\infty}^{\infty} TPR(T) P_0(T) dT = \langle TPR \rangle </math>. Угловые скобки обозначают операцию взятия среднего.

Было показано, что AUC тесно связана с U-критерием Манна — Уитни[7][8], который является показателем того, присваивается ли позитивным элементам больший вес, чем негативным. Величина AUC также связана с Критерием Уилкоксона[8] и с коэффициентом Джини (<math>G_1</math>) следующим образом: <math>G_1 = 2 AUC - 1</math>, где:

<math>G_1 = 1 - \sum_{k=1}^n (X_{k} - X_{k-1}) (Y_k + Y_{k-1})</math>[9].

Показатель AUC также часто используется для того, чтобы сравнивать модели, полученные на основе обучающей выборки[10]. Однако, в некоторых случаях использование этого показателя затруднено тем, что AUC является чувствительным к шуму[11]. Также в некоторых работах отмечаются дополнительные проблемы, возникающие при использовании величины AUC для сравнения моделей[12][13]. Как уже было отмечено ранее, величина площади под кривой может быть использована как величина вероятности, с которой случайно выбранной позитивной сущности будет присвоен вес больший, чем случайно выбранной негативной. Однако, в ряде работ[11][12] выдвинуты предположения о сложности получения надежных оценок величин AUC. Так, практическая ценность показателя AUC была поставлена под сомнение[13], указывая на то, что зачастую величина может вносить больше неопределенности, чем ясности.

ROC-кривые в небинарных задачах классификации

Расширение ROC-кривых на случай задач классификации с более чем двумя классами всегда было сопряжено с трудностями, так как количество степеней свободы растет квадратично от количества классов, и ROC-пространство имеет <math>c(c-1)</math> измерений, где <math>c</math> — количество классов.[14] Также были развиты некоторые практические подходы для случая, когда количество классов равно трем.[15] Объем под ROC-поверхностью (VUS — Volume Under Surface) рассматривается как метрика качества классификаторов для небинарных задач классификации.[16] Однако, из-за сложности анализа переменной VUS, были развиты другие подходы[17], основанные на расширении понятия VUS.

В связи с успешным применением ROC-кривых для анализа качества классификаторов, были изучены расширения ROC-кривых для других задач обучения с учителем. Среди работ стоит отметить посвященные так называемым REC-кривым (regression error characteristic — REC-curve)[18] и RROC-кривым (Regression ROC curves)[19]. Стоит отметить, что площадь под RROC-кривой пропорциональна дисперсии ошибки регрессионной модели.

Примечания

Шаблон:Примечания

Шаблон:Rq

Внешние ссылки

  1. Шаблон:Книга
  2. Шаблон:Статья
  3. Шаблон:Книга
  4. Шаблон:Статья
  5. Шаблон:Cite conference
  6. Fawcett, Tom (2006); An introduction to ROC analysis, Pattern Recognition Letters, 27, 861—874.
  7. Шаблон:Статья
  8. 8,0 8,1 Шаблон:Статья
  9. Hand, David J.; and Till, Robert J. (2001); A simple generalization of the area under the ROC curve for multiple class classification problems, Machine Learning, 45, 171—186.
  10. Шаблон:Статья
  11. 11,0 11,1 Hanczar, Blaise; Hua, Jianping; Sima, Chao; Weinstein, John; Bittner, Michael; and Dougherty, Edward R. (2010); Small-sample precision of ROC-related estimates, Bioinformatics 26 (6): 822—830
  12. 12,0 12,1 Lobo, Jorge M.; Jiménez-Valverde, Alberto; and Real, Raimundo (2008), AUC: a misleading measure of the performance of predictive distribution models, Global Ecology and Biogeography, 17: 145—151
  13. 13,0 13,1 Hand, David J. (2009); Measuring classifier performance: A coherent alternative to the area under the ROC curve, Machine Learning, 77: 103—123
  14. Шаблон:Cite conference
  15. Шаблон:Статья
  16. Шаблон:Cite conference
  17. Шаблон:Статья
  18. Шаблон:Cite conference
  19. Шаблон:Статья

Шаблон:Выбор языка