Десять минут на освоение показателей оценки алгоритмов классификации

машинное обучение
Десять минут на освоение показателей оценки алгоритмов классификации

Это 16-й день моего участия в августовском испытании обновлений.Подробности о событии:Испытание августовского обновления

Что такое оценочные показатели?

Индекс оценки представляет собой количественный показатель производительности модели. Индекс оценки может отражать только часть производительности модели.Если выбранный индекс оценки является необоснованным, это может привести к неверным выводам, поэтому его следуетВыбор различных показателей оценки для конкретных данных и моделей.

У нас есть разные метрики оценки для разных типов учебных задач.Здесь мы вводим некоторые метрики оценки для наиболее распространенных алгоритмов классификации. Обычно используемые индикаторы оценки для задач классификации включают точность, точность, полноту, оценку F1, кривую P-R (кривую точности-отзыва), ROC, AUC и т. д.

Основные понятия — матрица путаницы

матрица путаницы(матрица путаницы) является широко используемым инструментом для оценки проблем классификации.Для классификации k-элементов это фактически таблица k x k, используемая для записи результатов прогнозирования классификатора. Для общей бинарной классификации ее матрица путаницы равна 2x2.

В бинарной классификации образцы можно разделить на истинно положительные (TP), истинно отрицательные (TN), ложноположительные (FP) и ложноотрицательные в соответствии с комбинацией их истинных результатов и результатов прогнозирования модели (ложноотрицательные, ФН). Согласно TP, TN, FP, FN можно получить матрицу путаницы бинарной классификации, как показано на следующем рисунке.

image.png

  • TP: True Positives означаетистинное значение положительноеи былКлассификатор оценивается как положительный (прогнозируемое значение)количество образцов
  • FP: ложные срабатывания, означаетистинное значение отрицательноеи былКлассификатор оценивается как положительный (прогнозируемое значение)количество образцов
  • FN: ложноотрицательные результаты, означаетистинное значение положительноено былКлассификатор принимает решение как отрицательный пример (прогнозируемое значение)количество образцов
  • TN: True Negatives означаетистинное значение отрицательноеи былКлассификатор принимает решение как отрицательный пример (прогнозируемое значение)количество образцов

Уведомление:

Первая буква указывает, правильно ли разделение между фактическим значением и прогнозируемым значением, T указывает на правильность оценки (True), а F указывает на ошибку оценки (False).

Вторая буква представляет результат классификации (результат прогнозирования), P представляет собой положительный пример, а N представляет отрицательный пример.

Метрики оценки для алгоритмов классификации

Точность

ТочностьдаОтносится к доле правильно классифицированных образцов к общему количеству образцов.. Точность дляВсе образцыстатистика. Он определяется как:

Accuracy=TP+TNTP+FP+TN+FN=Количество образцов правильно предсказановсе образцыAccuracy=\frac{TP+TN}{TP+FP+TN+FN}=\frac{Количество правильно предсказанных отсчетов}{Количество всех отсчетов}

ТочностьПо ней можно четко судить о производительности нашей модели, но есть серьезный недостаток: в случае несбалансированных положительных и отрицательных выборок категория с большой долей часто будет становиться наиболее важным фактором, влияющим на Точность, а Точность в этот раз не очень хорошо Отражают общую ситуацию с моделью.

Например, тестовый набор содержит 99 положительных образцов и 1 отрицательный образец. Модель предсказывает все выборки как положительные выборки, тогда Точность модели составляет 99%.Глядя на оценочные показатели, модель работает хорошо, но по факту у модели нет предсказательной способности.

Точность

точностьТакже известен какТочность, который является индексом оценки результатов прогнозирования.Относится к пропорции количества правильно классифицированных положительных образцов к количеству положительных образцов, определенному классификатором.. точность правильнаячасть выборкиСтатистика фокусируется на статистике данных, определенных классификатором как положительные. Он определяется как:

Precision=TPTP+FP=Количество правильно классифицированных положительных образцовКоличество образцов, которые оцениваются классификатором как положительные образцы.Precision=\frac{TP}{TP+FP}=\frac{Количество правильно классифицированных положительных образцов}{Количество образцов, определенных классификатором как положительные}

Несколько вкладок:

Precision=l=1LTPll=1L(TPl+FPl)=Labelпредсказано, что будетlКоличество положительных образцов с правильной классификациейоценивается классификатором какLabelзаlколичество образцовPrecision=\frac{\sum_{l=1}^LTP_l}{\sum_{l=1}^L(TP_l+FP_l)}=\frac{Предполагается, что метка равна l и количество положительных образцов с правильной классификацией }{is Классификатор определяет количество образцов, метка которых равна l}

Отзывать

отзыватьдаОтносится к отношению количества правильно классифицированных положительных образцов к количеству истинно положительных образцов.. Скорость отзыва также правильнаячасть выборкиСтатистика фокусируется на статистике реальных положительных образцов. Он определяется как:

Recall=TPTP+FN=Количество правильно классифицированных положительных образцовКоличество истинно положительных образцовRecall=\frac{TP}{TP+FN}=\frac{Количество правильно классифицированных положительных образцов}{Количество истинно положительных образцов}

Несколько вкладок:

Recall=l=1LTPll=1L(TPl+FNl)=Labelпредсказано, что будетlКоличество положительных образцов с правильной классификациейдействительноLabelзаlколичество образцовRecall=\frac{\sum_{l=1}^LTP_l}{\sum_{l=1}^L(TP_l+FN_l)}=\frac{Предполагается, что метка равна l и количество положительных образцов с правильной классификацией }{true Метка — это количество l образцов}

Компромисс между точностью и отзывом

Высокая точность означает, что классификатор должен попытаться«Больше уверенности»Выборки предсказываются как положительные выборки только в случае , что означает, что уровень точности может хорошо отражать способность модели различать отрицательные выборки.Чем выше точность, тем сильнее способность модели различать отрицательные образцы..

Высокая скорость отзыва означает, что классификатор предсказывает образцы, которые могут быть положительными образцами, как положительные образцы в максимально возможной степени, а это означает, что уровень отзыва может хорошо отражать способность модели различать положительные образцы.Чем выше скорость отзыва, тем сильнее способность модели различать положительные образцы..

Из приведенного выше анализа видно, что показатель точности и уровень отзыва связаны друг с другом.Если классификатор предсказывает только образцы с высокой вероятностью как положительные образцы, он пропустит много образцов, которые относительно маловероятны, но все же удовлетворены. образцы, что приводит к снижению отзыва.

Так как же выбрать модель, когда у отзывов и точности разных моделей есть свои преимущества? На этом этапе для сравнения можно использовать F1 Score.

Оценка F1

Оценка F1 – это среднее гармоническое точности и полноты. Оно учитывает как точность, так и полноту модели классификации. Это показатель, используемый в статистике для измерения точности модели бинарной классификации (или многозадачной бинарной классификации). Он имеет максимальное значение 1 и минимальное значение 0, а большее значение означает лучшую модель. Он определяется как:

F1=2PrecisionRecallPrecision+RecallF1=2 \cdot \frac{ Precision \cdot Recall}{Precision+Recall}

F-Beta Score

более общийFβF_\beta, его физический смысл состоит в том, чтобы объединить две оценки точности и полноты в одну оценку В процессе объединения вес полноты в β раз больше, чем точность. мы определяемFβF_\betaОценки:

Fβ=(1+β2)precisiontrecall(β2precision)+recallF_\beta = (1 + \beta^2) \cdot \frac{precisiont \cdot recall}{(\beta^2 \cdot precision) + recall}

β\betaПо сути, это весовое отношение отзыва к точности, когдаβ=2\beta = 2 час, F2F_2Это показывает, что вес Отзыва выше, чем вес Точности, и его влияние больше; когдаβ=0.5\beta = 0.5 час, F0.5F_0.5Это показывает, что вес Recall ниже, чем у Precision, и соответствующее влияние меньше;

Макро Средний балл F1 (Макро F1)

Когда алгоритм макроусреднения F1 вычисляет точность и полноту, он сначала вычисляет точность и полноту для каждой категории, а затем усредняет их.

Precisioni=TPiTPi+FPiPrecision_i=\frac{TP_i}{TP_i+FP_i}
Precisionmacro=i=1LPrecisioniLPrecision_{macro}=\frac{\sum_{i=1}^L Precision_i}{|L|}
Recalli=TPiTPi+FNiRecall_i=\frac{TP_i}{TP_i+FN_i}
Recallmacro=i=1LRecalliLRecall_{macro}=\frac{\sum_{i=1}^L Recall_i}{|L|}

Формула макросреднего балла F1:

F1macro=2PrecisionmacroRecallmacroPrecisionmacro+RecallmacroF1_{macro}=2 \cdot \frac{ Precision_{macro} \cdot Recall_{macro}}{Precision_{macro}+Recall_{macro}}

Примечание: макрос F1 по существу получается средним арифметическим всех категорий статистических показателей, поэтому простое среднее игнорирует ситуацию, когда распределение между выборками может быть сильно несбалансированным.

Средняя микро-оценка F1 (Микро-F1)

Алгоритм микроусреднения F1 вычисляет точность и полноту, объединяя все классы напрямую.

Precisionmicro=i=1LTPii=1LTPi+i=1LFPiPrecision_{micro}=\frac{ \sum_{i=1}^L TP_i}{\sum_{i=1}^L TP_i + \sum_{i=1}^L FP_i}
Recallmicro=i=1LTPi=1LTP+i=1LFNRecall_{micro}=\frac{ \sum_{i=1}^L TP}{ \sum_{i=1}^L TP + \sum_{i=1}^L FN}

Формула микросреднего балла F1:

F1micro=2PrecisionmicroRecallmicroPrecisionmicro+RecallmicroF1_{micro}=2 \cdot \frac{ Precision_{micro} \cdot Recall_{micro}}{Precision_{micro}+Recall_{micro}}

Разница между макро и микро

По сравнению с Micro, категория small играет большую роль. Например, для задачи четырех классов:

  • класс А: 1 ТП, 1 ОП
  • класс B: 10 ТП, 90 ОП
  • класс C: 1 ТП, 1 ОП
  • класс D: 1 ТП, 1 ОП

Тогда расчет для Precision выглядит следующим образом:

PA=PC=PD=PE=0.5,PB=0.1P_a = p_c = p_d = p_e = 0,5, p_b = 0,1
Pmicro=0.5+0.1+0.5+0.54=0.4P_{micro}=\frac{0.5+0.1+0.5+0.5}{4}=0.4
Pmicro=1+10+1+12+100+2+2=0.123P_{micro}=\frac{1+10+1+1}{2+100+2+2}=0.123

Мы видим, что для Макро малая категория значительно повышает значение Точности, но на самом деле не так много выборок классифицируются правильно, учитывая, что в реальной среде распределение реальных выборок такое же, как распределение обучающих выборок. В данном случае этот показатель явно проблематичен, а роль мелких категорий слишком велика, так что классификация больших выборок не годится.Для Micro он учитывает проблему дисбаланса этой выборки, поэтому в этом случае он относительно лучше..

Обобщенно следующим образом:

  1. Если ваши категории более сбалансированы, просто используйте Micro или Macro;
  2. Если вы считаете, что категория больших выборок должна занимать более важное место, используйте Micro;
  3. Используйте Macro, если вы считаете, что небольшие выборки также должны играть важную роль;
  4. Если Micro
  5. Если Macro

Взвешенный балл F1 (взвешенный F1)

Чтобы решить проблему, связанную с тем, что макрос не может измерить баланс пробы, хорошим методом является поиск взвешенного макроса, поэтому появляется взвешенный F1.

Взвешенный алгоритм F1Это улучшенная версия макроалгоритма. Это связано с тем, что дисбаланс выборки не учитывается в макросе. При расчете точности и полноты точность и полнота каждой категории должны быть умножены на долю категории в общая выборка для подведения итогов.

Precisioni=TPiTPi+FPiPrecision_i=\frac{TP_i}{TP_i+FP_i}
Precisionweighted=i=1L(Precisioni×wi)LPrecision_{weighted}=\frac{\sum_{i=1}^L (Precision_i \times w_i)}{|L|}
Recalli=TPiTPi+FNiRecall_i=\frac{TP_i}{TP_i+FN_i}
Recallweighted=i=1L(Recalli×wi)LRecall_{weighted}=\frac{\sum_{i=1}^L (Recall_i \times w_i)}{|L|}

Формула взвешенной оценки F1:

F1weighted=2PrecisionweightedRecallweightedPrecisionweighted+RecallweightedF1_{weighted}=2 \cdot \frac{ Precision_{weighted} \cdot Recall_{weighted}}{Precision_{weighted}+Recall_{weighted}}

Коэффициент корреляции Мэтьюза - MCC

MCC в основном используется для измерения проблемы двух категорий, он комплексно рассматривает TP, TN, FP и FN, является относительно сбалансированным показателем и может также использоваться в случае несбалансированных выборок.

Диапазон значений MCC составляет[-1, 1], значение 1 указывает, что прогноз полностью соответствует фактическому результату, значение 0 указывает, что прогнозируемый результат не так хорош, как результат случайного прогноза, а -1 указывает, что прогнозируемый результат полностью не соответствует фактическому результату. результат.

Итак, мы видим, что MCC по существу описывает коэффициент корреляции между прогнозируемым результатом и фактическим результатом.

Формула коэффициента корреляции Мэтьюса:

MCC=TP×TNFP×FN(TP+FP)×(TP+FN)×(TN+FP)×(TN+FN)MCC = \frac{TP \times TN - FP \times FN}{\sqrt{(TP + FP) \times (TP + FN) \times (TN + FP) \times (TN +FN)}}
MCC=Прогностическая выборкаошибочно предсказанные выборкиПрогнозируемое количество положительных образцов×количество истинно положительных образцов×количество истинно отрицательных образцов×Прогнозируется как отрицательное количество выборокMCC = \frac{ правильно предсказанные образцы - предсказанные неправильные образцы }{\sqrt{предсказанные положительные образцы\количество истинно положительных образцов \количество истинно отрицательных образцов \количество предсказанных отрицательных образцов}}

ROC-кривая

В задачах классификации тестовая выборка обычно получает вероятность, которая представляет собой вероятность того, что текущая выборка является положительным примером, мы часто берем вероятностьпорог, те, которые больше порога, являются положительными примерами, а те, которые меньше порога, являются отрицательными примерами. Если мы уменьшим этот порог, больше образцов будет распознано как положительный класс, что увеличит скорость распознавания положительного класса, но снизит скорость распознавания отрицательного класса.

Чтобы наглядно описать вышеуказанные изменения, вводится ROC-кривая для оценки качества классификатора. Кривая ROC также является индикатором комплексной модели оценки, которая на китайском языке называется «кривая рабочих характеристик приемника». Кривая ROC возникла в военной области и широко использовалась в области медицины. Название «кривая рабочей характеристики приемника» также пришло из области медицины.

По оси абсцисс ROC-кривой отложен показатель ложноположительных результатов (False Positive Rate, FPR), то есть вероятность того, что отрицательный пример ошибочно классифицируется как положительный пример,частота ошибочных диагнозов; По оси ординат указан показатель истинного положительного результата (TPR), вероятность объединения положительных случаев.

Абсцисса:

FPR=FPFP+TN=Предсказать количество положительных образцов из отрицательных образцовистинное количество отрицательных образцовFPR = \frac{FP}{FP+TN} = \frac{Количество положительных образцов, предсказанное из отрицательных образцов}{Количество истинно отрицательных образцов}

Ось Y:

TPR=TPTP+FN=Количество образцов для предсказания положительных образцов как положительныхКоличество истинно положительных образцовTPR = \frac{TP}{TP+FN}= \frac{Количество положительных образцов, которые, по прогнозам, будут положительными}{Количество истинно положительных образцов}

image.png

На кривой ROC установите разныепорог, получат разные TPR и FPR, и по мере постепенного снижения порога все больше и больше экземпляров делятся на положительные классы, но эти положительные классы также смешиваются с отрицательными классами, то есть TPR и FPR будут увеличиваться одновременно. .

  • Когда порог является наибольшим, все положительные выборки прогнозируются как отрицательные выборки, а все отрицательные выборки также прогнозируются как отрицательные выборки, то есть числитель равен 0, поэтомуFPR = 0, TPR = 0, соответствующая точка координат равна (0,0).
  • Когда порог наименьший, все отрицательные выборки прогнозируются как положительные выборки, а все положительные выборки также прогнозируются как положительные выборки, т. е.FPR = 1, TPR = 1, соответствующий координатной точке (1,1).
  • и когдаFPR = 0, TPR = 1Когда является оптимальной точкой классификации, кривая ROC, соответствующая классификатору, должна быть как можно ближе к верхнему левому углу оси координат, а положение диагональной линии означает, что влияние классификатора столь же плохо, как и случайное угадывание .

Кривая ROC остается неизменной при изменении распределения выборок в тестовом наборе.Но, к сожалению, во многих случаях ROC-кривая не дает четкого представления о том, какой классификатор лучше, и AUC может просто сделать интуитивную оценку классификатора.

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

AUC - это площадь под ROC-кривой. Значение этой площади находится в диапазоне от 0 до 1, что позволяет интуитивно оценить качество классификатора. Чем больше значение AUC, тем лучше эффект классификатора.

  • AUC = 1: Идеальный классификатор, используя эту модель, вы можете получить идеальный прогноз независимо от установленного порога (в большинстве случаев он не существует)
  • 0,5
  • AUC = 0,5: модель не имеет прогностической ценности, поскольку машина угадывает
  • AUC

Стоит отметить, что одинаковая AUC двух моделей не означает, что эффекты моделей одинаковы, как показано на следующем рисунке:

image.png

В реальных сценариях AUC действительно является очень часто используемым индикатором.

Примечание. В сценарии с несколькими классификациями должно быть несколько кривых ROC и значений AUC.

AUC рассчитывается следующим образом:AUC=2C(C1)i=1CAUCiAUC=\frac{2}{|C|(|C|-1)}\sum_{i=1}^{|C|}{AUC_i}, где C — количество категорий.

Кривая PR

Мы знаем, что окончательный результат модели классификации часто представляет собой значение вероятности, и нам обычно нужно преобразовать значение вероятности в определенную категорию.Для двух категорий мы устанавливаем порог (порог), а затем оцениваем его как положительный класс, если он больше этого порога, и наоборот, отрицательный класс.

Вышеуказанные показатели оценки (точность, точность, полнота) предназначены для определенного порога, поэтому, когда разные модели принимают разные пороги, как всесторонне оценить разные модели? иКривая PRпредставляет собой кривую, описывающую изменение точности и полноты.

Как я могу построить кривую P-R для всех положительных образцов?

Установите различные пороговые значения, модель предскажет все положительные образцы и вычислит соответствующую точность и полноту. Горизонтальная ось — это полнота, а вертикальная — точность, как показано ниже.

PR曲线1.png

На изображении выше мы находим:

  • Для двух разных классификаторов A полностью покрывает C, что означает, что Precision и Recall A выше, чем у C, а A лучше, чем C. При сравнении A и B между ними есть пересечение. В настоящее время площадь под кривой используется для измерения производительности. Чем больше площадь, тем лучше производительность. Здесь A лучше, чем B.
  • Для того же классификатора компромисс между точностью и полнотой: чем ближе кривая к правому верхнему углу, тем лучше производительность.Область под кривой называется оценкой AP, которая может в определенной степени отражать пропорцию высокой точности модели и ее полноты.. Однако это значение неудобно вычислять.Учитывая точность и скорость отзыва, обычно используется значение F1 или значение AUC (поскольку кривую ROC легко нарисовать, и площадь под кривой ROC также относительно легко вычислить). .

журнал потерь

Логистические потери — это оценка прогнозируемой вероятности, и ее стандартная форма такова:LogLoss=logP(YX)LogLoss = - \log { P(Y|X)}

LogLoss измеряет разницу между прогнозируемым распределением вероятностей и истинным распределением вероятностей, и чем меньше значение, тем лучше. В отличие от AUC, LogLoss чувствителен к прогнозируемой вероятности.

Формула расчета бинарной классификации, соответствующая логарифмическим потерям:

LogLoss=1Ni=1N(yilogpi+(1yi)log(1pi))LogLoss = - \frac{1}{N} \sum_{i=1}^N{(y_i \cdot \log{p_i}+(1-y_i) \cdot \log(1-p_i))},

где N — количество выборок,yiе{0,1}y_i \in { \{ 0,1 \} },yiy_iэто реальная стоимость,pip_i- вероятность предсказания 1 для i-й выборки,pip_iявляется прогнозируемым значением.

Логарифмическая потеря также широко используется в задачах с несколькими классификациями, и ее формула расчета:

LogLoss=1N1Ci=1Nj=1CyijlogpijLogLoss = - \frac{1}{N} \cdot \frac{1}{C} \sum_{i=1}^N\sum_{j=1}^C{ y_{ij} \cdot \log{p_{ij} }}

Среди них N — количество образцов, C — количество категорий,yijy_{ij}представляет классификационную метку класса j i-го образца,pijp_{ij}представляет вероятность класса j для i-й выборки.

Разница между LogLoss и AUC

  • LogLoss в основном оценивает точность, AUC используется для оценки способности ранжировать положительные образцы на передний план, и аспекты оценки различаются.
  • LogLoss в основном оценивает общую точность и в основном используется в случае баланса данных. AUC используется для оценки точности модели в случае несбалансированных данных.
  • Если это проблема сбалансированной классификации, то и AUC, и LogLoss в порядке.

Суммировать

Сравнивая вышеприведенные показатели оценки, можно сделать следующие выводы:

  • Точность относится к доле всех «истинных» выборок, определенных системой, которые действительно являются истинными.
  • Припоминание относится к доле «истинных», признанных истинными, среди всех истинных образцов.
  • Значение F1 — это индикатор, предназначенный для всестороннего учета точности и полноты.
  • MCC описывает коэффициент корреляции между прогнозируемыми и фактическими результатами.
  • Определение TPR (истинная положительная скорость) такая же, как вспомнить.
  • FPR (ложноположительный показатель), также известный какЧастота ошибочных диагнозов, то есть среди всех выборок, которые действительно являются «ложными», есть выборки, ошибочно принятые за истинные.
  • Кривая ROC показывает кривую TPR и FPR.; что соответствуетКривая PR, показывающая кривую точности и отзыва.
  • AUC - это площадь под ROC-кривой. Значение этой площади находится в диапазоне от 0 до 1, что позволяет интуитивно оценить качество классификатора. Чем больше значение AUC, тем лучше эффект классификатора.
  • Логарифмическая потеря — это оценка прогнозируемой вероятности, которая измеряет разницу между прогнозируемым распределением вероятностей и истинным распределением вероятностей.

Для выбора показателей окончательной классификации будут разные варианты в разных наборах данных, в разных сценариях и в разное время. Для задач бинарной классификации обычно используется AUC, а для многоклассовой классификации обычно используется значение F1.