Обсуждение участника:Imil Baltaniazov

Материал из MachineLearning.

Перейти к: навигация, поиск
Статья написана с использованием LLM Claude Sonnet 5 и проверена участником Imil Baltaniazov 16:49, 10 июля 2026 (MSD)


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

Содержание

Введение

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

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

Матрица ошибок

Матрица ошибок (англ. confusion matrix) для задачи бинарной классификации представляет собой таблицу размером 2×2, строки которой соответствуют истинным классам, а столбцы — предсказанным. Приняты следующие обозначения:

Матрица ошибок бинарного классификатора
Предсказанный класс
Положительный (P) Отрицательный (N)
Истинный класс Положительный (P) TP
(True Positive)
FN
(False Negative)
Отрицательный (N) FP
(False Positive)
TN
(True Negative)

Здесь:

  • \text{TP} (True Positive) — число верно предсказанных положительных объектов;
  • \text{TN} (True Negative) — число верно предсказанных отрицательных объектов;
  • \text{FP} (False Positive) — число ошибочно предсказанных положительных объектов (ошибка I рода);
  • \text{FN} (False Negative) — число ошибочно предсказанных отрицательных объектов (ошибка II рода).

Сумма всех элементов равна общему числу наблюдений: N = \text{TP} + \text{TN} + \text{FP} + \text{FN}.

Метрики для бинарной классификации

На основе матрицы ошибок вычисляются производные показатели, каждый из которых отражает определённый аспект качества классификации.

Accuracy (доля правильных ответов)

\text{Accuracy} = \frac{\text{TP} + \text{TN}}{\text{TP} + \text{TN} + \text{FP} + \text{FN}}

Accuracy показывает общую долю верных предсказаний. Метрика интуитивно понятна, но непригодна при сильном дисбалансе классов. Если отрицательный класс составляет 99% выборки, константный классификатор, всегда предсказывающий отрицательный класс, достигнет Accuracy = 0.99, будучи абсолютно бесполезным для детекции положительного класса.

Precision (точность)

\text{Precision} = \frac{\text{TP}}{\text{TP} + \text{FP}}

Precision измеряет долю истинно положительных объектов среди всех, кого модель отнесла к положительному классу. Высокая точность означает, что модель редко ошибается, называя объект положительным. Метрика критична в задачах, где цена ложноположительного срабатывания велика — например, при фильтрации спама, когда ложное отнесение легитимного письма к спаму нежелательно.

Recall (полнота)

\text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}}

Recall (также называемый Sensitivity или True Positive Rate) показывает, какую долю истинно положительных объектов модель сумела обнаружить. Метрика приоритетна в задачах, где пропуск положительного объекта недопустим — например, в скрининге онкологических заболеваний, когда ложноотрицательный диагноз стоит жизни.

Specificity (специфичность)

\text{Specificity} = \frac{\text{TN}}{\text{TN} + \text{FP}}

Specificity (True Negative Rate) — доля верно распознанных отрицательных объектов. Совместно с Recall образует пару, характеризующую способность модели разделять классы. В медицинской диагностике Specificity показывает, насколько хорошо тест исключает заболевание у здоровых пациентов.

F1-мера

F_1 = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}}

F1-мера — гармоническое среднее Precision и Recall. В отличие от арифметического, гармоническое среднее сильнее штрафует дисбаланс составляющих: если одна из метрик близка к нулю, F1 также будет близка к нулю. Это делает F1 удобной агрегированной метрикой, когда важен баланс между точностью и полнотой. Обобщением служит F_\beta-мера:

F_\beta = (1 + \beta^2) \cdot \frac{\text{Precision} \cdot \text{Recall}}{\beta^2 \cdot \text{Precision} + \text{Recall}}

Параметр \beta > 1 увеличивает вес Recall, \beta < 1 — вес Precision.

Сводная таблица метрик

Основные метрики бинарной классификации
Метрика Формула Когда использовать
Accuracy \frac{\text{TP} + \text{TN}}{N} Сбалансированные классы, равнозначные ошибки
Precision \frac{\text{TP}}{\text{TP} + \text{FP}} Высокая цена ложных срабатываний
Recall \frac{\text{TP}}{\text{TP} + \text{FN}} Высокая цена пропуска цели
Specificity \frac{\text{TN}}{\text{TN} + \text{FP}} Дополнение к Recall, анализ обеих ошибок
F1 2 \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}} Компромисс между Precision и Recall

Компромисс Precision/Recall

Precision и Recall связаны обратной зависимостью: увеличение одной метрики часто ведёт к снижению другой. Фундаментальная причина — классификационный порог: понижая порог, модель относит к положительному классу больше объектов, что увеличивает Recall (находим больше истинно положительных), но одновременно снижает Precision (растёт число ложных срабатываний). Повышение порога даёт обратный эффект.

Рассмотрим задачу детекции мошеннических транзакций. Если банк установит низкий порог и будет блокировать любые подозрительные операции, Recall окажется высоким (почти все мошеннические транзакции заблокированы), но Precision — низким (множество легитимных операций ложно помечены как мошеннические, что вызывает недовольство клиентов). Если же банк повысит порог, Precision возрастёт, но часть мошеннических операций пройдёт незамеченной (Recall снизится). Выбор рабочей точки на кривой Precision-Recall определяется бизнес-ограничениями и относительной стоимостью ошибок FP и FN.

ROC-кривая и AUC-ROC

ROC-кривая (Receiver Operating Characteristic) строится в координатах True Positive Rate (Recall) против False Positive Rate:

\text{TPR} = \frac{\text{TP}}{\text{TP} + \text{FN}}, \quad \text{FPR} = \frac{\text{FP}}{\text{TN} + \text{FP}}

Каждая точка кривой соответствует определённому порогу классификации. При варьировании порога от 0 до 1 точка (FPR, TPR) перемещается от (1,1) до (0,0). Идеальный классификатор проходит через точку (0,1). Диагональ \text{TPR} = \text{FPR} соответствует случайному гаданию.

AUC-ROC (Area Under the ROC Curve) — площадь под ROC-кривой, принимающая значения от 0 до 1. Значение 0.5 означает бесполезный классификатор, 1.0 — идеальное разделение классов. AUC-ROC обладает вероятностной интерпретацией: это вероятность того, что случайно выбранный положительный объект получит от модели более высокую оценку принадлежности к положительному классу, чем случайно выбранный отрицательный.

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

PR-кривая и AUC-PR

PR-кривая (Precision-Recall curve) строится в координатах Precision против Recall. В отличие от ROC, PR-кривая не учитывает TN, что делает её чувствительной исключительно к качеству предсказаний положительного класса.

AUC-PR — площадь под PR-кривой. В условиях сильного дисбаланса (доля положительного класса < 5%) PR-кривая даёт более информативную картину, чем ROC. Причина в том, что FPR в знаменателе ROC-кривой доминируется огромным количеством TN, из-за чего даже значительный абсолютный рост FP слабо меняет FPR. Precision же непосредственно реагирует на каждый ложноположительный объект.

Сравнение ROC и PR кривых
Характеристика ROC PR
Оси TPR vs FPR Precision vs Recall
Учёт TN Да (через FPR) Нет
Чувствительность к дисбалансу Занижена Высокая
Рекомендуемое применение Сбалансированные классы Дисбаланс классов, фокус на положительном классе

Многоклассовые обобщения

Для задач многоклассовой классификации метрики Precision, Recall и F1 обобщаются путём усреднения по классам.

Пусть C — множество классов, P_c, R_c, F1_c — точность, полнота и F1-мера для класса c, вычисленные по схеме «один против всех» (класс c считается положительным, остальные — отрицательным), N_c — число истинных примеров класса c.

Micro-усреднение агрегирует элементы матрицы ошибок по всем классам перед вычислением метрики:

P_{\text{micro}} = \frac{\sum_{c} \text{TP}_c}{\sum_{c} (\text{TP}_c + \text{FP}_c)}, \quad R_{\text{micro}} = \frac{\sum_{c} \text{TP}_c}{\sum_{c} (\text{TP}_c + \text{FN}_c)}

Micro-усреднение даёт больший вес классам с большим числом примеров. В пределе micro-averaged Accuracy, Precision и Recall численно совпадают.

Macro-усреднение вычисляет метрику независимо для каждого класса, затем берёт арифметическое среднее:

P_{\text{macro}} = \frac{1}{|C|} \sum_{c} P_c, \quad R_{\text{macro}} = \frac{1}{|C|} \sum_{c} R_c

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

Weighted-усреднение берёт средневзвешенное по числу истинных примеров класса:

P_{\text{weighted}} = \frac{\sum_{c} N_c \cdot P_c}{\sum_{c} N_c}, \quad R_{\text{weighted}} = \frac{\sum_{c} N_c \cdot R_c}{\sum_{c} N_c}

Weighted-усреднение занимает промежуточную позицию: учитывает размер классов, но чувствительнее к миноритарным классам, чем micro-усреднение.

Метрики для регрессии

В задачах регрессии, где целевая переменная непрерывна, используются метрики, основанные на отклонениях предсказаний \hat{y}_i от истинных значений y_i.

Основные метрики регрессии
Метрика Формула Особенности
MSE
(Mean Squared Error)
\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 Сильно штрафует большие ошибки (квадратичная зависимость). Дифференцируема, используется как функция потерь. Чувствительна к выбросам.
RMSE
(Root Mean Squared Error)
\sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2} Интерпретируется в единицах целевой переменной. Сохраняет чувствительность к выбросам.
MAE
(Mean Absolute Error)
\frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i| Менее чувствительна к выбросам, чем MSE. Даёт линейный штраф. Не дифференцируема в нуле.
MAPE
(Mean Absolute Percentage Error)
\frac{100\%}{n} \sum_{i=1}^{n} \left| \frac{y_i - \hat{y}_i}{y_i} \right| Выражается в процентах, интуитивно понятна бизнес-пользователям. Неприменима при y_i = 0. Асимметрична: штраф за занижение и завышение различен.
R^2
(Коэффициент детерминации)
1 - \frac{\sum_i (y_i - \hat{y}_i)^2}{\sum_i (y_i - \bar{y})^2} Показывает долю дисперсии целевой переменной, объяснённой моделью. Значение 1 — идеальное предсказание, 0 — модель не лучше константы (среднего). Может быть отрицательным.

Выбор метрики в регрессии диктуется распределением ошибок и бизнес-требованиями. При наличии выбросов предпочтительнее MAE; если большие ошибки критичны — MSE или RMSE. R^2 удобен для сравнительного анализа моделей на одном наборе данных, но не отражает абсолютную величину ошибки.

Метрики для ранжирования

В задачах ранжирования оценивается качество упорядочивания объектов согласно их релевантности запросу.

MRR (Mean Reciprocal Rank) — среднее обратное значение позиции первого релевантного документа:

\text{MRR} = \frac{1}{|Q|} \sum_{q \in Q} \frac{1}{\text{rank}_q}

где \text{rank}_q — позиция первого релевантного документа для запроса q. Метрика проста и интерпретируема, но учитывает только первый релевантный результат.

MAP (Mean Average Precision) — среднее по запросам значение средней точности:

\text{MAP} = \frac{1}{|Q|} \sum_{q \in Q} \frac{1}{R_q} \sum_{k=1}^{n_q} P_q(k) \cdot [\text{rel}_q(k) = 1]

где P_q(k) — Precision на глубине k, \text{rel}_q(k) — индикатор релевантности документа на позиции k. MAP учитывает все релевантные документы и их позиции.

NDCG (Normalized Discounted Cumulative Gain) — нормализованный накопленный выигрыш с дисконтированием:

\text{DCG}_q@k = \sum_{i=1}^{k} \frac{2^{\text{rel}_i} - 1}{\log_2(i + 1)}
\text{NDCG}_q@k = \frac{\text{DCG}_q@k}{\text{IDCG}_q@k}

где \text{rel}_i — оценка релевантности (возможно, многозначная), IDCG — DCG идеального ранжирования. NDCG учитывает как многоградационную релевантность, так и позицию документа, придавая больший вес верхним позициям списка.

Выбор метрики под задачу

Выбор метрики определяется следующими факторами:

  1. Тип задачи. Классификация, регрессия или ранжирование задают семейство метрик.
  2. Сбалансированность классов. При дисбалансе избегают Accuracy, предпочитая F1, AUC-PR или macro-F1.
  3. Цена ошибок. При асимметричной стоимости ошибок ориентируются на Recall (высокая цена FN) или Precision (высокая цена FP).
  4. Требования к интерпретируемости. Для коммуникации с заказчиком часто выбирают метрики в абсолютных величинах (RMSE в рублях, Recall в процентах обнаруженных дефектов).
  5. Наличие нескольких классов. Выбирают micro- (важна общая эффективность) или macro-усреднение (важен каждый класс).

Рекомендуется использовать не единственную метрику, а батарею взаимодополняющих показателей для всесторонней оценки модели.

Пример: медицинская диагностика редкого заболевания

Рассмотрим задачу скрининга заболевания с распространённостью 0.1% (один случай на тысячу пациентов). Разрабатывается классификатор, предсказывающий наличие болезни по лабораторным показателям.

Характеристики задачи:

  • Сильный дисбаланс классов (1:999).
  • Критически высокая цена ложноотрицательного результата: пропуск заболевания может привести к летальному исходу.
  • Ложноположительный результат также нежелателен (назначается ненужное дорогостоящее обследование), но его цена ниже.

Анализ метрик:

  • Accuracy неприемлема. Модель, всегда предсказывающая «здоров», имеет Accuracy = 0.999, но не обнаруживает ни одного больного.
  • Precision важна для оценки нагрузки на систему здравоохранения: низкая точность означает, что большинство направленных на доп. обследование окажутся здоровы.
  • Recall — ключевая метрика. Необходимо максимизировать долю обнаруженных больных, возможно, ценой снижения Precision.
  • F1 или F2-мера\beta = 2) дают сбалансированную оценку с повышенным приоритетом полноты.
  • ROC-AUC может дать завышенно оптимистичную картину из-за доминирования TN. Предпочтительнее использовать AUC-PR, которая непосредственно оценивает способность модели находить редкий положительный класс.

Рекомендуемый набор метрик для данной задачи: Recall (основная), Precision (контролируемая), AUC-PR (интегральная оценка ранжирования), F2-мера (агрегированная).

См. также

Литература

  1. Powers D. M. W. Evaluation: From Precision, Recall and F-Measure to ROC, Informedness, Markedness & Correlation // Journal of Machine Learning Technologies. — 2011. — Vol. 2, no. 1. — P. 37–63.
  2. Davis J., Goadrich M. The Relationship Between Precision-Recall and ROC Curves // Proceedings of the 23rd International Conference on Machine Learning (ICML). — 2006. — P. 233–240.
  3. Fawcett T. An Introduction to ROC Analysis // Pattern Recognition Letters. — 2006. — Vol. 27, no. 8. — P. 861–874.
  4. Saito T., Rehmsmeier M. The Precision-Recall Plot Is More Informative than the ROC Plot When Evaluating Binary Classifiers on Imbalanced Datasets // PLOS ONE. — 2015. — Vol. 10, no. 3. — e0118432.
  5. Järvelin K., Kekäläinen J. Cumulated Gain-Based Evaluation of IR Techniques // ACM Transactions on Information Systems. — 2002. — Vol. 20, no. 4. — P. 422–446.
  6. Груздев А. В. Прогнозное моделирование в IBM SPSS Statistics, R и Python. Метод деревьев решений и случайный лес. — М.: ДМК Пресс, 2018. — Гл. 4: Оценка качества моделей.
Личные инструменты