Кривая ошибок
Материал из MachineLearning.
м |
(дополнение) |
||
Строка 24: | Строка 24: | ||
Подробнее об этих функционалах можно прочесть [http://en.wikipedia.org/wiki/ROC_curve#Basic_concept здесь]. | Подробнее об этих функционалах можно прочесть [http://en.wikipedia.org/wiki/ROC_curve#Basic_concept здесь]. | ||
+ | |||
+ | [[Изображение:RoC-1.jpg|thumb|Рис.1. «Случайное гадание»]] [[Изображение:RoC-2.jpg|thumb|Рис.2. Хороший случай]] | ||
ROC-кривая показывает зависимость количества верно классифицированных положительных объектов из <tex>X^l</tex> (по оси Y) от количества неверно классифицированных отрицательных объектов из <tex>X^l</tex> (по оси X). | ROC-кривая показывает зависимость количества верно классифицированных положительных объектов из <tex>X^l</tex> (по оси Y) от количества неверно классифицированных отрицательных объектов из <tex>X^l</tex> (по оси X). | ||
- | + | На рисунке 1 приведена RoC-кривая, соответствующая алгоритму «случайного гадания», когда классификация объекта происходит методом «подбрасывания монетки» с вероятностью исходов <tex>\frac12</tex>. На рисунке 2 изображён общий случай. | |
+ | |||
+ | Визуально, чем выше лежит кривая, тем лучше характеристики качества алгоритма. | ||
- | |||
== Алгоритм построения RoC-кривой == | == Алгоритм построения RoC-кривой == | ||
Строка 56: | Строка 59: | ||
== Функционал качества == | == Функционал качества == | ||
- | В качестве функционала качества, инвариантного относительно выбора цен ошибок, используют площадь под RoC-кривой. Эту величину также называют AUC (Area Under Curve). Чем больше значение AUC, тем «лучше» алгоритм. | + | В качестве функционала качества, инвариантного относительно выбора цен ошибок, используют площадь под RoC-кривой. Эту величину также называют AUC (Area Under Curve). Чем больше значение AUC, тем «лучше» алгоритм. Данный показатель предназначен скорее для сравнительного анализа нескольких моделей, не предоставляя полезной информации о конкретном классификаторе. |
+ | |||
+ | Намного большую информацию о ценности бинарного классификатора несут в себе такие показатели, как ''чувствительность'' и ''специфичность'': | ||
+ | [[Изображение:RoC-3.jpg|thumb|Рис. 3. Чувствительность и специфичность алгоритма на RoC-кривой]] | ||
+ | |||
+ | * ''Чувствительность'' алгоритма — совпадает с True Positive Rate <tex>(TPR)</tex>, изменяется в интервале <tex>[0,1]</tex>; | ||
+ | * ''Специфичность'' алгоритма — вводится, как <tex>(1-FPR)</tex>, и также изменяется в интервале <tex>[0,1]</tex>. | ||
+ | |||
+ | Идеальный случай — когда значения показателей чувствительности и специфичности близки к 1, однако на практике это достигается редко. | ||
+ | |||
+ | Модель с высокой чувствительностью часто дает истинный результат при наличии положительного исхода (обнаруживает положительные примеры). Наоборот, модель с высокой специфичностью чаще дает истинный результат при наличии отрицательного исхода (обнаруживает отрицательные примеры). Если рассуждать в терминах медицины – задачи диагностики заболевания, где модель классификации пациентов на больных и здоровых называется ''диагностическим тестом'', то получится следующее: | ||
+ | * Чувствительный ''диагностический тест'' проявляется в гипердиагностике – максимальном предотвращении пропуска больных; | ||
+ | * Специфичный ''диагностический тест'' диагностирует только доподлинно больных. Это важно в случае, когда, например, лечение больного связано с серьезными побочными эффектами и гипердиагностика пациентов нежелательна. | ||
== См. также == | == См. также == |
Версия 18:19, 19 января 2010
Кривая ошибок или ROC-кривая – часто применяемый способ представления характеристик качества бинарного классификатора.
Содержание |
Кривая ошибок в задаче классификации
Рассмотрим задачу логистической регрессии в случае двух классов. Традиционно, один из этих классов будем называть классом «с положительными исходами», другой - «с отрицательными исходами» и обозначим множество классов через . Рассмотрим линейный классификатор для указанной задачи: .
Параметр полагается равным , где – штраф за ошибку на объекте класса , . Эти параметры выбираются из эмперических соображений и зависят от задачи.
Нетрудно заметить, что в задаче существенны не сами параметры , а их отношение: .
RoC-кривая является распространённым способом оценки качества алгоритма, вне зависимости от выбора цен ошибок.
TPR и FPR
Рассмотрим два следующих функционала:
1. False Positive Rate доля объектов выборки ошибочно отнесённых алгоритмом к классу {+1}:
2. True Positive Rate доля объектов выборки правильно отнесённых алгоритмом к классу {+1}:
Подробнее об этих функционалах можно прочесть здесь.
ROC-кривая показывает зависимость количества верно классифицированных положительных объектов из (по оси Y) от количества неверно классифицированных отрицательных объектов из (по оси X).
На рисунке 1 приведена RoC-кривая, соответствующая алгоритму «случайного гадания», когда классификация объекта происходит методом «подбрасывания монетки» с вероятностью исходов . На рисунке 2 изображён общий случай.
Визуально, чем выше лежит кривая, тем лучше характеристики качества алгоритма.
Алгоритм построения RoC-кривой
На основе обучающей выборки можно очень эффективно аппроксимировать RoC-кривую для заданного классификатора. Ниже приведён алгоритм, строящий эту зависимость.
Входные данные
- Обучающая выборка
- — вероятность того, что принадлежит классу {+1}.
Результат
— последовательность из точек на координатной плоскости из области , аппроксимирующая RoC-кривую по обучающей выборке .
Описание алгоритма
1. Вычислим количество представителей классов {+1} и {-1} в обучающей выборке: ; 2. Упорядочим выборку по убыванию значения ; 3. Начальная точка кривой — ; 4. Повторять для всех : Если , то сместиться вправо: ; иначе сместиться вверх: ;
Функционал качества
В качестве функционала качества, инвариантного относительно выбора цен ошибок, используют площадь под RoC-кривой. Эту величину также называют AUC (Area Under Curve). Чем больше значение AUC, тем «лучше» алгоритм. Данный показатель предназначен скорее для сравнительного анализа нескольких моделей, не предоставляя полезной информации о конкретном классификаторе.
Намного большую информацию о ценности бинарного классификатора несут в себе такие показатели, как чувствительность и специфичность:
- Чувствительность алгоритма — совпадает с True Positive Rate , изменяется в интервале ;
- Специфичность алгоритма — вводится, как , и также изменяется в интервале .
Идеальный случай — когда значения показателей чувствительности и специфичности близки к 1, однако на практике это достигается редко.
Модель с высокой чувствительностью часто дает истинный результат при наличии положительного исхода (обнаруживает положительные примеры). Наоборот, модель с высокой специфичностью чаще дает истинный результат при наличии отрицательного исхода (обнаруживает отрицательные примеры). Если рассуждать в терминах медицины – задачи диагностики заболевания, где модель классификации пациентов на больных и здоровых называется диагностическим тестом, то получится следующее:
- Чувствительный диагностический тест проявляется в гипердиагностике – максимальном предотвращении пропуска больных;
- Специфичный диагностический тест диагностирует только доподлинно больных. Это важно в случае, когда, например, лечение больного связано с серьезными побочными эффектами и гипердиагностика пациентов нежелательна.
См. также
Ссылки
Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |