Оценка качества в задачах классификации — различия между версиями
Melmon (обсуждение | вклад) м (→Различные виды агрегации Precision и Recall:  Добавила графики линий уровня)  | 
				Melmon (обсуждение | вклад)   (→F₁ score:  Обновление конспекта (Часть 4?) Подробнее про F-меры (6 видов))  | 
				||
| Строка 145: | Строка 145: | ||
| − | =   | + | = F score =  | 
| − | Для общей оценки качества классификатора часто используют F₁ меру — среднее гармоническое между precision и recall:  | + | |
| + | Для общей оценки качества классификатора часто используют F₁-меру — среднее гармоническое между precision и recall:  | ||
: <tex>F_1 = \left ( \dfrac{Prec^{-1} + Recall^{-1}}{2} \right )^{-1} = 2 \cdot \dfrac{Prec \cdot Recall}{Prec + Recall}</tex>  | : <tex>F_1 = \left ( \dfrac{Prec^{-1} + Recall^{-1}}{2} \right )^{-1} = 2 \cdot \dfrac{Prec \cdot Recall}{Prec + Recall}</tex>  | ||
| − | + | Если брать среднее '''геометрическое''' вместо гармонического, то получится  | |
| + | Индекс Фоулкса–Мэллова (Fowlkes–Mallows index). Менее строгая мера.   | ||
| + | : <math> FM = \sqrt{ \dfrac{TP}{TP+FP} \cdot \dfrac{TP}{TP+FN} }</math>  | ||
| + | |||
| + | Среднее гармоническое '''взвешенное''' F<sub>β</sub> (F<sub>1</sub>-мера - частный случай F<sub>β</sub>-меры для β = 1).   | ||
| + | F<sub>β</sub> измеряет эффективность классификатора учитывая recall в β раз более важным чем precision:  | ||
: <tex>F_β = (1 + β^2) \dfrac{Prec \cdot Recall}{β^2 \cdot Prec + Recall}</tex>  | : <tex>F_β = (1 + β^2) \dfrac{Prec \cdot Recall}{β^2 \cdot Prec + Recall}</tex>  | ||
| − | F<sub>  | + | '''F-мера для многоклассовой классификации'''  | 
| + | [[Файл:F_scores.png|thumb|400px|Принцип усреднения различных F-мер для нескольких классов]]  | ||
| + | [[Файл:F_scores_сomputing.png|thumb|left|150px|Вычисление TP, FP, FN для многоклассовой классификации]]  | ||
| + | |||
| + | Для вычисления F-меры (и других) метрик в рамках многоклассовой классификации используется подход "один против всех": каждый класс ровно один раз становится «положительным»,  | ||
| + | а остальные — отрицательным (пример вычисления изображён на матрице).  | ||
| + | |||
| + | Таким образом, в зависимости от этапа вычисления, на котором производится усреднение, можно вычислить micro-average, macro-average и average F-меры (логика вычисления изображена на схеме справа).  | ||
| + | Микро- и макро-:  | ||
| + | : <tex>F = 2 * \dfrac{\text{precision * recall}}{\text{precision + recall}}</tex>,   | ||
| + | |||
| + | где для micro-average precision и recall вычислены из усреднённых TP, FP, FN;  | ||
| + | |||
| + | для micro-average precision и recall вычислены из усреднённых precision<sub>i</sub>, recall<sub>i</sub>;  | ||
| − | + | Усреднённая:  | |
| − | : <tex>  | + | : <tex>F = \frac{1}{N} \sum_{i=0}^{N} {F_1score_i}</tex>,  | 
| − | + | где <math>i</math> - индекс класса, а <math>N</math> - количество классов.  | |
Версия 17:46, 17 июня 2022
Содержание
Общие понятия
- TP — true positive: классификатор верно отнёс объект к рассматриваемому классу.
 - TN — true negative: классификатор верно утверждает, что объект не принадлежит к рассматриваемому классу.
 - FP — false positive: классификатор неверно отнёс объект к рассматриваемому классу.
 - FN — false negative: классификатор неверно утверждает, что объект не принадлежит к рассматриваемому классу.
 
Здесь про TP, TN, FP, FN и понятия, через них выражающиеся, мы говорим в рамках одного класса бинарной классификации. То есть, в такой системе подразумевается, что реальное количество объектов класса 0 (для бинарного случая 0/1) может выражаться как
Confusion matrix (матрица ошибок / несоответствий / потерь, CM) — квадратная матрица размера k × k, где — число объектов класса , которые были квалифицированны как класс , а — число классов. Значения ячеек CM могут быть вычислены по формуле: , где - реальный класс объекта, а - предсказанный.
Для бинарного случая:
| Принадлежит классу (P) | Не принадлежит классу (N) | |
|---|---|---|
| Предсказана принадлежность классу | TP | FP | 
| Предсказано отсутствие принадлежности к классу | FN | TN | 
Для многоклассовой классификации матрица несоответствий строится по тому же принципу:
| Предсказанный класс | Класс 1 (C₁) | Класс 2 (C₂) | Класс 3 (C₃) | 
|---|---|---|---|
| 1 (P₁) | T₁ | F₁₂ | F₁₃ | 
| 2 (P₂) | F₂₁ | T₂ | F₂₃ | 
| 3 (P₃) | F₃₁ | F₃₂ | T₃ | 
В этом случае TP, TN, FP и FN считаются относительно некоторого класса следующим образом:
Простые оценки
- Accuracy — (точность) показывает долю правильных классификаций. Несмотря на очевидность и простоту, является одной из самых малоинформативных оценок классификаторов.
 
- Recall — (полнота, sensitivity, TPR (true positive rate)) показывает отношение верно классифицированных объектов класса к общему числу элементов этого класса.
 
- Precision — (точность, перевод совпадает с accuracy)показывает долю верно классифицированных объектов среди всех объектов, которые к этому классу отнес классификатор.
 
- Specificity — показывает отношение верных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря, то, насколько часто классификатор правильно не относит объекты к классу.
 
- Fall-out — (FPR (false positive rate)) показывает долю неверных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря то, насколько часто классификатор ошибается при отнесении того или иного объекта к классу.
 
Ввиду того, что такие оценки никак не учитывают изначальное распределение классов в выборке (что может существенно влиять на полученное значение), также существуют взвешенные варианты этих оценок (в терминах многоклассовой классификации):
- Precision
 
- Recall
 
Различные виды агрегации Precision и Recall
Арифметическое среднее:
- Если precision = 0.05, recall = 1, то A = 0.525
 - Если precision = 0.525, recall = 0.525, то A = 0.525.
 - Первый классификатор — константный, не имеет смысла.
 - Второй классификатор показывает неплохое качество.
 
Таким образом, взятие среднего арифметического не является показательным.
Минимум:
- Если precision = 0.05, recall = 1, то M = 0.05
 - Если precision = 0.525, recall = 0.525, то M = 0.525.
 
То есть, довольно неплохо отражает качество классификатора, не завышая его.
- Если precision = 0.2, recall = 1, то M = 0.2.
 - Если precision = 0.2, recall = 0.3, то M = 0.2.
 
Но не отличает классификаторы с разными неминимальными показателями.
Гармоническое среднее, или F-мера:
- Если precision = 0.05, recall = 1, то F = 0.1.
 - Если precision = 0.525, recall = 0.525, то F = 0.525.
 - Если precision = 0.2, recall = 1, то F = 0.33.
 - Если precision = 0.2, recall = 0.3, то F = 0.24.
 
Является наиболее точным усреднением, учитывает оба показателя.
ROC кривая
Для наглядной оценки качества алгоритма применяется ROC кривая. Кривая строится на плоскости, определённой TPR (по оси ординат) и FPR (по оси абсцисс).
Алгоритм построения кривой:
- Запустить классификатор на тестовой выборке
 - Отсортировать результаты по уверенности классификатора в принадлежности объекта к классу
 -  Пока не кончились элементы:
- Взять объект с максимальной уверенностью
 - Сравнить метку с реальной
 - Пересчитать TPR и FPR на взятых объектах
 - Поставить точку, если обе характеристики не NaN / ±∞
 
 - Построить кривую по точкам
 
Таким образом: число точек не превосходит число объектов идеальному алгоритму соответствует ROC-кривая, проходящая через точку худшему алгоритму (например, монетке) соответствует прямая TPR = FPR.
Для численной оценки алгоритма по ROC-кривой используется значение площади под ней (AUC, area under curve). Идеальный алгоритм имеет AUC, равный 1, худший — 0,5.
Precision-Recall кривая
Обоснование: Чувствительность к соотношению классов.
Рассмотрим задачу выделения математических статей из множества научных статей. Допустим, что всего имеется 1.000.100 статей, из которых лишь 100 относятся к математике. Если нам удастся построить алгоритм , идеально решающий задачу, то его TPR будет равен единице, а FPR — нулю. Рассмотрим теперь "плохой" алгоритм, дающий положительный ответ на 95 математических и 50.000 нематематических статьях. Такой алгоритм совершенно бесполезен, но при этом имеет TPR = 0.95 и FPR = 0.05, что крайне близко к показателям идеального алгоритма. Таким образом, если положительный класс существенно меньше по размеру, то AUC-ROC может давать неадекватную оценку качества работы алгоритма, поскольку измеряет долю неверно принятых объектов относительно общего числа отрицательных. Так, алгоритм , помещающий 100 релевантных документов на позиции с 50.001-й по 50.101-ю, будет иметь AUC-ROC 0.95.
Precison-recall (PR) кривая. Избавиться от указанной проблемы с несбалансированными классами можно, перейдя от ROC-кривой к PR-кривой. Она определяется аналогично ROC-кривой, только по осям откладываются не FPR и TPR, а полнота (по оси абсцисс) и точность (по оси ординат). Критерием качества семейства алгоритмов выступает площадь под PR-кривой (англ. Area Under the Curve — AUC-PR)
F score
Для общей оценки качества классификатора часто используют F₁-меру — среднее гармоническое между precision и recall:
Если брать среднее геометрическое вместо гармонического, то получится Индекс Фоулкса–Мэллова (Fowlkes–Mallows index). Менее строгая мера.
Среднее гармоническое взвешенное Fβ (F1-мера - частный случай Fβ-меры для β = 1). Fβ измеряет эффективность классификатора учитывая recall в β раз более важным чем precision:
F-мера для многоклассовой классификации
Для вычисления F-меры (и других) метрик в рамках многоклассовой классификации используется подход "один против всех": каждый класс ровно один раз становится «положительным», а остальные — отрицательным (пример вычисления изображён на матрице).
Таким образом, в зависимости от этапа вычисления, на котором производится усреднение, можно вычислить micro-average, macro-average и average F-меры (логика вычисления изображена на схеме справа). Микро- и макро-:
- ,
 
где для micro-average precision и recall вычислены из усреднённых TP, FP, FN;
для micro-average precision и recall вычислены из усреднённых precisioni, recalli;
Усреднённая:
- ,
 
где - индекс класса, а - количество классов.