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

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

Версия от 14:06, 11 июля 2026; Aleksandra Ivanova (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Статья написана с использованием LLM GPT-5.5 Thinking и проверена участником Aleksandra Ivanova Aleksandra Ivanova 18:06, 11 июля 2026 (MSD)


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

В отличие от одной агрегированной метрики, например accuracy, матрица ошибок сохраняет информацию о структуре ошибок. Она показывает не только долю верных ответов, но и направление ошибок: какой истинный класс был принят за какой предсказанный класс. Это особенно важно в задачах с несбалансированными классами, различной стоимостью ошибок и неодинаковой значимостью объектов разных классов.[1]

Содержание

Общее определение

Пусть имеется задача классификации с множеством классов C = \{c_1, c_2, \ldots, c_K\}. Для каждого объекта известен истинный класс и класс, предсказанный моделью. Матрица ошибок — это квадратная матрица размера K \times K, в которой элемент M_{ij} равен числу объектов, истинно принадлежащих классу c_i, но отнесённых моделью к классу c_j.

M_{ij} = |\{x: y(x)=c_i,\ \hat{y}(x)=c_j\}|

Здесь y(x) обозначает истинную метку объекта x, а \hat{y}(x) — метку, предсказанную моделью.

Диагональные элементы матрицы M_{ii} соответствуют правильным классификациям. Внедиагональные элементы M_{ij}, где i \ne j, соответствуют ошибкам. Чем больше значение внедиагонального элемента, тем чаще модель путает один конкретный класс с другим.

На практике строки матрицы обычно соответствуют истинным классам, а столбцы — предсказанным классам. Однако в разных источниках встречается и обратная конвенция, поэтому при интерпретации матрицы необходимо явно указывать, что расположено по строкам и столбцам.[1]

Матрица ошибок в бинарной классификации

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

Для бинарной классификации матрица ошибок состоит из четырёх величин:

  • True Positive (TP) — объект положительного класса правильно отнесён к положительному классу.
  • False Positive (FP) — объект отрицательного класса ошибочно отнесён к положительному классу.
  • False Negative (FN) — объект положительного класса ошибочно отнесён к отрицательному классу.
  • True Negative (TN) — объект отрицательного класса правильно отнесён к отрицательному классу.

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

Смысл этих четырёх величин зависит от того, какой класс выбран положительным. Например, если положительный класс — «мошенническая транзакция», то FN означает пропущенное мошенничество, а FP — ошибочную блокировку нормальной транзакции. Если положительный класс изменить, интерпретация FP и FN также изменится.

Основные метрики, вычисляемые по матрице ошибок

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

Доля правильных ответов

Доля правильных ответов или accuracy показывает, какая часть всех объектов классифицирована верно.

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

Эта метрика проста для понимания, но может быть неинформативной при сильном дисбалансе классов. Если в выборке 99 % объектов относятся к отрицательному классу, модель, всегда предсказывающая отрицательный класс, получит accuracy около 99 %, хотя полностью игнорирует положительный класс. Поэтому accuracy отражает общее совпадение предсказаний с метками, но не всегда отражает практическую полезность модели.[1]

Точность положительного класса

Precision показывает, какая доля объектов, предсказанных как положительные, действительно является положительной.

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

Высокое значение precision означает, что модель редко делает ложноположительные ошибки. Эта метрика важна, когда ошибочное присвоение положительного класса приводит к значительным издержкам. Например, в антифрод-системах ложноположительная ошибка может привести к блокировке добросовестного пользователя.

Полнота положительного класса

Recall показывает, какая доля всех объектов положительного класса была найдена моделью.

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

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

F-мера

F-мера объединяет precision и recall в одну величину. Наиболее распространена F_1-мера, являющаяся гармоническим средним precision и recall.

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

Гармоническое среднее чувствительно к малым значениям. Поэтому F_1-мера высока только тогда, когда и precision, и recall достаточно велики. Она часто используется в задачах информационного поиска, обработки текстов и классификации при дисбалансе классов.[1]

Специфичность

Specificity показывает, какая доля отрицательных объектов была правильно распознана как отрицательная.

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

Эта метрика дополняет recall положительного класса. Если recall отвечает на вопрос о том, насколько хорошо модель находит положительные объекты, то specificity показывает, насколько хорошо модель не принимает отрицательные объекты за положительные.

Многоклассовая классификация

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

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

Для каждого класса в многоклассовой задаче можно рассматривать его как положительный, а все остальные классы — как отрицательные. Такой подход называется схемой one-vs-rest. Он позволяет вычислять precision, recall и F-меру отдельно для каждого класса.

Усреднение метрик в многоклассовых задачах

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

Micro-усреднение сначала суммирует значения TP, FP и FN по всем классам, а затем вычисляет метрику. Такой подход учитывает каждый объект одинаково и поэтому сильнее зависит от качества на крупных классах.

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

\mathrm{MacroRecall} = \frac{1}{K}\sum_{i=1}^{K}\mathrm{Recall}_i

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

Weighted-усреднение также вычисляет метрику отдельно для каждого класса, но затем усредняет её с весами, пропорциональными числу объектов соответствующего класса.

\mathrm{WeightedRecall} = \sum_{i=1}^{K} w_i \mathrm{Recall}_i

где w_i — доля объектов класса c_i в выборке.

Выбор способа усреднения зависит от задачи. Если все объекты имеют одинаковую практическую важность, micro-усреднение может быть оправданным. Если каждый класс имеет самостоятельную значимость, macro-усреднение часто оказывается более информативным. Если необходимо учесть вклад классов пропорционально их распространённости, применяется weighted-усреднение.

Нормализация матрицы ошибок

Абсолютные значения в матрице ошибок показывают количество объектов каждого типа. Однако при разных размерах классов их трудно сравнивать напрямую. Поэтому часто используется нормализованная матрица ошибок.

При нормализации по строкам каждый элемент делится на сумму соответствующей строки. Тогда строка показывает распределение предсказаний для объектов одного истинного класса.

\tilde{M}_{ij} = \frac{M_{ij}}{\sum_{j=1}^{K} M_{ij}}

Такой вариант удобен для анализа recall по каждому классу. Он показывает, какая доля объектов истинного класса c_i была отнесена к каждому из возможных классов.

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

Связь с порогом классификации

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

\hat{y}=1 \Longleftrightarrow s(x)\geq t

Здесь s(x) — численная оценка, выданная моделью для объекта x, а t — выбранный порог классификации. Класс 1 обычно называют положительным, а класс 0 — отрицательным.

Изменение порога меняет матрицу ошибок. При снижении порога модель чаще предсказывает положительный класс. Это обычно увеличивает recall, но может уменьшить precision из-за роста числа ложноположительных ошибок. При повышении порога модель становится более строгой, что может увеличить precision, но уменьшить recall.

Поэтому матрица ошибок не является неизменной характеристикой вероятностной модели. Она фиксирует качество модели при конкретном пороге принятия решения. Для полного анализа пороговых моделей также используют ROC-кривую, AUC, precision-recall-кривую и анализ калибровки вероятностей.[1]

Стоимость ошибок

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

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

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

L = \sum_{i=1}^{K}\sum_{j=1}^{K} C_{ij}M_{ij}

Здесь C_{ij} — стоимость решения, при котором объект истинного класса c_i был отнесён к классу c_j. Если i=j, стоимость обычно мала или равна нулю. Если i\ne j, стоимость отражает практический ущерб от соответствующего типа ошибки.

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

Несбалансированные классы

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

Например, если положительный класс составляет 1 % выборки, классификатор, всегда предсказывающий отрицательный класс, получит accuracy 99 %. Однако его recall по положительному классу будет равен нулю, поскольку он не найдёт ни одного положительного объекта.

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

Для задач с дисбалансом классов обычно рассматривают не только accuracy, но и precision, recall, F-меру, balanced accuracy, ROC-AUC, PR-AUC и метрики, учитывающие стоимость ошибок. Выбор метрики зависит от природы редкого класса и последствий ошибок.

Интерпретация матрицы ошибок

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

После диагонали анализируются внедиагональные элементы. Они показывают, какие классы модель путает. В прикладных задачах это часто даёт более полезную информацию, чем единая метрика качества. Например, если модель распознавания рукописных цифр часто путает 3 и 8, это указывает на конкретную область для улучшения данных, признаков или архитектуры модели.

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

Также важно учитывать статистическую неопределённость. Матрица ошибок, построенная на малой тестовой выборке, может давать нестабильные выводы. Если в классе мало объектов, одна или две ошибки способны заметно изменить значения precision и recall. Поэтому матрицу ошибок следует рассматривать вместе с размером тестовой выборки, способом разбиения данных и доверительными интервалами для метрик.[1]

Матрица ошибок и качество данных

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

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

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

Ограничения матрицы ошибок

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

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

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

Практическое использование

В практическом машинном обучении матрица ошибок применяется на нескольких этапах работы с моделью.

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

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

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

Связанные понятия

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

Заключение

Матрица ошибок является одним из базовых инструментов анализа классификаторов. Её ценность состоит в том, что она показывает структуру ошибок, а не только общее число правильных и неправильных ответов. По матрице ошибок вычисляются precision, recall, specificity, F-мера и другие метрики качества.

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

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

Литература

Личные инструменты