Кривая ошибок
Материал из 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 в учебном процессе.  | 

