Изменения

Перейти к: навигация, поиск

Оценка качества в задачах классификации

2493 байта добавлено, 17:43, 14 июня 2022
Обновление конспекта (Часть 1): Добавлена информация про Precison-recall кривую, кое-где исправлены опечатки и формулировки.
= Общие понятия =
* '''TP''' — true positive, : классификатор верно отнёс объект к рассматриваемому классу.* '''TN''' — true negative, : классификатор верно утверждает, что объект не принадлежит к рассматриваемому классу.* '''FP''' — false positive, : классификатор неверно отнёс объект к рассматриваемому классу.* '''FN''' — false negative, : классификатор неверно утверждает, что объект не принадлежит к рассматриваемому классу.
'''Confusion matrix''' ('''матрица несоответствий''') наглядно показывает суть этих показателей:
| style="color: #22aa22;" | T₃
|}
В этом случае TP, TN, FP и FN считаются относительно некоторого класса <math>(i) </math> следующим образом:
: <tex>TP_i = T_i</tex>
: <tex>FP_i = \sum\limits_{c \in Classes} F_{i,c}</tex>
= Простые оценки =
* '''Accuracy''' (точность), показывает долю правильных классификаций. Несмотря на очевидность и простоту , является одной из самых малоинформативных оценок классификаторов.
: <tex>Acc = \dfrac{TP + TN}{TP + TN + FP + FN}</tex>
* '''Recall''' (полнота), так же '''sensitivity''' и , '''TPR''' (true positive rate), ) показывает долю найденных отношение верно классифицированных объектов класса к общему числу объектов класса. Иначе говоря то, насколько хорошо наш классификатор находит объекты из элементов этого класса.
: <tex>Recall = \dfrac{TP}{TP + FN}</tex>
* '''Precision''' (даточность, тоже точностьперевод совпадает с accuracy), показывает долю верно классифицированных объектов класса среди всех объектов выделенных классификатором, которые к этому классу отнес классификатор.
: <tex>Prec = \dfrac{TP}{TP + FP}</tex>
* '''Specificity''', показывает долю отношение верных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря , то, насколько часто классификатор правильно '''не''' относит объекты к классу.
: <tex>Spc = \dfrac{TN}{FP + TN}</tex>
* '''Fall-out''', так же — ('''FPR''' (false positive rate), ) показывает долю неверных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря то, насколько часто классификатор ошибается при отнесении того или иного объекта к классу.
: <tex>FPR = \dfrac{FP}{FP + TN}</tex>
В виду Ввиду того, что такие оценки никак не учитывают изначальное распределение классов в выборке (что может существенно влиять на полученное значение), так же также существуют взвешенные варианты этих оценок (в терминах многоклассовой классификации):
* '''Precision'''
: <tex>Prec_W = \dfrac{\sum\limits_{i = 1}^{N} \dfrac{T_i P_i}{C_i}}{All}</tex>
[[Файл:ROC.png|thumb|300px|ROC кривая; оранжевым показан идеальный алгоритм, фиолетовым — типичный, а синим — худший]]
Для наглядной оценки качества алгоритма применяется [https://ru.wikipedia.org/wiki/ROC-кривая ROC кривая]. Кривая строится на плоскости, определённой осями полноты '''TPR''' (recall, TPRпо оси ординат) по вертикали и частоты ложных срабатываний '''FPR''' (FPR, 1-Spcпо оси абсцисс).
Чтобы построить кривуюАлгоритм построения кривой:
# Запустить классификатор на тестовой выборке
# Отсортировать результаты по уверенности классификатора в принадлежности объекта к классу
# Построить кривую по точкам
Таким образом : число точек не превосходит число объектовидеальному алгоритму соответствует ROC-кривая, идеальный алгоритм проходит проходящая через точку <math>(0;1), худший </math>худшему алгоритму (например, монеткамонетке) соответствует прямая TPR = FPR. Для численной же оценки алгоритма по ROC -кривой используется значение площади под ней ('''AUC''', area under curve). Таким образом идеальный Идеальный алгоритм имеет AUC , равный 1, худший — 0,5. = Precision-Recall кривая =[[Файл:PR_curve.png|thumb|400px|PR кривая]] '''Обоснование: Чувствительность к соотношению классов.'''  Рассмотрим задачу выделения математических статей из множества научных статей. Допустим, что всего имеется 1.000.100 статей, из которых лишь 100 относятся к математике. Если нам удастся построить алгоритм <math>a(x)</math>, идеально решающий задачу, то его TPR будет равен единице, а FPR — нулю. Рассмотрим теперь "плохой " алгоритм, дающий положительный ответ на 95 математических и 50.000 нематематических статьях. Такой алгоритм совершенно бесполезен, но при этом имеет TPR = 0.95 и FPR = 0.05, что крайне близко к показателям идеального алгоритма.Таким образом, если положительный класс существенно меньше по размеру, то AUC-ROC может давать неадекватную оценку качества работы алгоритма, поскольку измеряет долю неверно принятых объектов относительно общего числа отрицательных. Так, алгоритм <math>b(x)</math>, помещающий 100 релевантных документов на позиции с 50.001-й по 50.101-ю, будет иметь AUC-ROC 0.95. '''Precison-recall (PR) кривая.''' Избавиться от указанной проблемы с несбалансированными классами можно,5перейдя от ROC-кривой к PR-кривой. Она определяется аналогично ROC-кривой, только по осям откладываются не FPR и TPR, а полнота (по оси абсцисс) и точность (по оси ординат). Критерием качества семейства алгоритмов выступает '''площадь под PR-кривой''' (англ.'''Area Under the Curve — AUC-PR''') 
= F₁ score =
18
правок

Навигация