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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: == Введение == '''Матрица ошибок''' — способ представления результатов классификации, п...)
 
Строка 1: Строка 1:
-
== Введение ==
+
{{well|Статья написана с использованием LLM '''GPT-5.5 Thinking''' и проверена участником [[Участник:Aleksandra Ivanova|Aleksandra Ivanova]] [[Участник:Aleksandra Ivanova|Aleksandra Ivanova]] 18:06, 11 июля 2026 (MSD)}}
-
'''Матрица ошибок''' — способ представления результатов [[классификация|классификации]], при котором '''истинные классы''' объектов сопоставляются с '''классами, предсказанными моделью'''. В англоязычной литературе используется термин ''confusion matrix'', также встречается название ''error matrix''. Матрица ошибок показывает не только общее число правильных и неправильных решений, но и '''структуру ошибок''': какие классы модель смешивает между собой и какие типы ошибок возникают чаще.
+
'''Матрица ошибок''' — способ представления результатов работы [[классификация|классификатора]], показывающий, какие классы модель предсказала правильно, а какие перепутала между собой. В [[машинное обучение|машинном обучении]] матрица ошибок используется для анализа качества моделей классификации, выбора порога принятия решения, сравнения алгоритмов и интерпретации практических последствий ошибок.
-
В задачах [[машинное обучение|машинного обучения]] матрица ошибок применяется для анализа [[классификатор|классификаторов]], диагностических систем, систем распознавания образов, фильтров спама, моделей кредитного скоринга, медицинских алгоритмов и других систем, принимающих дискретные решения. В отличие от одной агрегированной метрики, например '''доли правильных ответов''', матрица ошибок сохраняет информацию о распределении ошибок по классам и поэтому служит исходной основой для многих показателей качества.
+
В отличие от одной агрегированной метрики, например [[точность|accuracy]], матрица ошибок сохраняет информацию о структуре ошибок. Она показывает не только долю верных ответов, но и направление ошибок: какой истинный класс был принят за какой предсказанный класс. Это особенно важно в задачах с несбалансированными классами, различной стоимостью ошибок и неодинаковой значимостью объектов разных классов.<ref>Fawcett T. An Introduction to ROC Analysis // Pattern Recognition Letters. 2006. Vol. 27, No. 8. P. 861–874.</ref>
-
== История возникновения концепции ==
+
== Общее определение ==
-
Исторически матрица ошибок связана с несколькими исследовательскими традициями. Её статистическая основа восходит к '''таблицам сопряжённости''', которые применялись для анализа зависимости между категориальными признаками. В таких таблицах строки и столбцы соответствуют возможным значениям двух категориальных переменных, а ячейки содержат частоты совместного появления этих значений.
+
Пусть имеется задача классификации с множеством классов <tex>C = \{c_1, c_2, \ldots, c_K\}</tex>. Для каждого объекта известен истинный класс и класс, предсказанный моделью. '''Матрица ошибок''' — это квадратная матрица размера <tex>K \times K</tex>, в которой элемент <tex>M_{ij}</tex> равен числу объектов, истинно принадлежащих классу <tex>c_i</tex>, но отнесённых моделью к классу <tex>c_j</tex>.
-
В середине XX века сходные представления получили развитие в '''теории обнаружения сигнала'''. В этой области различались события обнаружения сигнала, пропуска сигнала, ложной тревоги и правильного отклонения. Эти понятия стали особенно важны в радиолокации, психофизике и медицине, где решение часто принимается при наличии шума и неопределённости.<ref>Green D. M., Swets J. A. ''Signal Detection Theory and Psychophysics''. New York: Wiley, 1966.</ref>
+
:: <tex>M_{ij} = |\{x: y(x)=c_i,\ \hat{y}(x)=c_j\}|</tex>
-
В задачах распознавания образов матрицы ошибок использовались уже в ранних работах по [[искусственные нейронные сети|нейронным сетям]] и статистическому распознаванию. Например, Фрэнк Розенблатт применял сравнительные таблицы результатов для анализа поведения перцептрона при распознавании визуальных образов.<ref>Rosenblatt F. ''Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms''. Washington, D.C.: Spartan Books, 1962.</ref> Позднее матрица ошибок стала стандартным инструментом в машинном обучении, информационном поиске, компьютерном зрении и анализе медицинских тестов.
+
Здесь <tex>y(x)</tex> обозначает истинную метку объекта <tex>x</tex>, а <tex>\hat{y}(x)</tex> — метку, предсказанную моделью.
-
== Основные идеи и определения ==
+
Диагональные элементы матрицы <tex>M_{ii}</tex> соответствуют правильным классификациям. Внедиагональные элементы <tex>M_{ij}</tex>, где <tex>i \ne j</tex>, соответствуют ошибкам. Чем больше значение внедиагонального элемента, тем чаще модель путает один конкретный класс с другим.
-
Для '''бинарной классификации''' предполагается, что каждый объект относится к одному из двух классов: '''положительному''' или '''отрицательному'''. Положительный класс обычно обозначает событие, наличие которого требуется обнаружить: заболевание, мошенническую операцию, релевантный документ, дефект изделия. Отрицательный класс означает отсутствие такого события.
+
На практике строки матрицы обычно соответствуют истинным классам, а столбцы — предсказанным классам. Однако в разных источниках встречается и обратная конвенция, поэтому при интерпретации матрицы необходимо явно указывать, что расположено по строкам и столбцам.<ref>Provost F., Fawcett T. Data Science for Business. Sebastopol: O’Reilly Media, 2013.</ref>
-
В этом случае результат классификации каждого объекта относится к одному из четырёх типов. '''Истинно положительный результат''' (''true positive'', '''TP''') возникает тогда, когда объект действительно положителен и модель предсказывает положительный класс. '''Ложно положительный результат''' (''false positive'', '''FP''') возникает тогда, когда объект отрицателен, но модель ошибочно относит его к положительному классу. '''Истинно отрицательный результат''' (''true negative'', '''TN''') означает правильное распознавание отрицательного объекта. '''Ложно отрицательный результат''' (''false negative'', '''FN''') означает пропуск положительного объекта.
+
== Матрица ошибок в бинарной классификации ==
-
На основе этих четырёх величин определяются основные '''метрики качества классификации'''. '''Доля правильных ответов''' (''accuracy'') показывает, какая часть всех объектов классифицирована верно:
+
Наиболее известный случай — [[бинарная классификация]], где существует два класса. Один из них обычно называют положительным, другой — отрицательным. Например, в медицинской диагностике положительным классом может быть наличие заболевания, а отрицательным — его отсутствие.
-
:: <tex>\mathrm{Accuracy}=\frac{TP+TN}{TP+FP+TN+FN}</tex>
+
Для бинарной классификации матрица ошибок состоит из четырёх величин:
-
'''Точность положительного класса''' (''precision'') показывает, какая доля объектов, предсказанных как положительные, действительно является положительной:
+
* '''True Positive''' (<tex>TP</tex>) — объект положительного класса правильно отнесён к положительному классу.
 +
* '''False Positive''' (<tex>FP</tex>) — объект отрицательного класса ошибочно отнесён к положительному классу.
 +
* '''False Negative''' (<tex>FN</tex>) — объект положительного класса ошибочно отнесён к отрицательному классу.
 +
* '''True Negative''' (<tex>TN</tex>) — объект отрицательного класса правильно отнесён к отрицательному классу.
-
:: <tex>\mathrm{Precision}=\frac{TP}{TP+FP}</tex>
+
В русскоязычной литературе используются переводы '''истинно положительное решение''', '''ложно положительное решение''', '''ложно отрицательное решение''' и '''истинно отрицательное решение'''. Английские сокращения <tex>TP</tex>, <tex>FP</tex>, <tex>FN</tex>, <tex>TN</tex> широко применяются в научных статьях, библиотеках машинного обучения и технической документации.
-
'''Полнота''' (''recall'') показывает, какая доля всех положительных объектов была найдена моделью:
+
Смысл этих четырёх величин зависит от того, какой класс выбран положительным. Например, если положительный класс — «мошенническая транзакция», то <tex>FN</tex> означает пропущенное мошенничество, а <tex>FP</tex> — ошибочную блокировку нормальной транзакции. Если положительный класс изменить, интерпретация <tex>FP</tex> и <tex>FN</tex> также изменится.
-
:: <tex>\mathrm{Recall}=\frac{TP}{TP+FN}</tex>
+
== Основные метрики, вычисляемые по матрице ошибок ==
-
В медицинской диагностике полнота положительного класса часто называется '''чувствительностью''' (''sensitivity''). '''Специфичность''' (''specificity'') показывает, какая доля отрицательных объектов была правильно распознана:
+
Матрица ошибок сама по себе является не одной метрикой, а исходным объектом для вычисления разных показателей качества. Эти показатели выделяют разные аспекты поведения классификатора.
-
:: <tex>\mathrm{Specificity}=\frac{TN}{TN+FP}</tex>
+
=== Доля правильных ответов ===
-
Для совместного учёта precision и recall часто используется '''F-мера''':
+
'''Доля правильных ответов''' или '''accuracy''' показывает, какая часть всех объектов классифицирована верно.
-
:: <tex>F_1=2\cdot\frac{\mathrm{Precision}\cdot\mathrm{Recall}}{\mathrm{Precision}+\mathrm{Recall}}</tex>
+
:: <tex>\mathrm{Accuracy} = \frac{TP + TN}{TP + FP + FN + TN}</tex>
-
В '''многоклассовой классификации''' матрица ошибок расширяется до квадратной матрицы размера <tex>K \times K</tex>, где <tex>K</tex> — число классов. Строки обычно соответствуют истинным классам, а столбцы — предсказанным классам. '''Диагональные элементы''' такой матрицы показывают правильные классификации, а '''внедиагональные элементы''' показывают ошибки между конкретными парами классов.
+
Эта метрика проста для понимания, но может быть неинформативной при сильном дисбалансе классов. Если в выборке 99 % объектов относятся к отрицательному классу, модель, всегда предсказывающая отрицательный класс, получит accuracy около 99 %, хотя полностью игнорирует положительный класс. Поэтому accuracy отражает общее совпадение предсказаний с метками, но не всегда отражает практическую полезность модели.<ref>He H., Garcia E. A. Learning from Imbalanced Data // IEEE Transactions on Knowledge and Data Engineering. 2009. Vol. 21, No. 9. P. 1263–1284.</ref>
-
== Ключевые принципы работы и интерпретации ==
+
=== Точность положительного класса ===
-
Матрица ошибок строится после применения обученной модели к '''размеченной выборке'''. Для каждого объекта известны два значения: истинная метка и предсказанная метка. Каждая пара значений увеличивает один элемент матрицы. Поэтому матрица ошибок является '''эмпирической характеристикой''' работы модели на конкретных данных, а не универсальным свойством алгоритма.
+
'''Precision''' показывает, какая доля объектов, предсказанных как положительные, действительно является положительной.
-
Интерпретация матрицы зависит от предметной области. В системе медицинской диагностики ложно отрицательный результат может означать пропущенное заболевание, а ложно положительный — лишнее обследование. В антифрод-системе ложно положительный результат может привести к блокировке добросовестного пользователя, а ложно отрицательный — к пропуску мошеннической операции. Следовательно, одна и та же численная структура ошибок может иметь разные практические последствия.
+
:: <tex>\mathrm{Precision} = \frac{TP}{TP + FP}</tex>
-
Особенно важно учитывать '''дисбаланс классов'''. Если положительный класс встречается редко, высокая accuracy может быть достигнута моделью, которая почти всегда предсказывает отрицательный класс. Например, при доле положительных объектов 1% классификатор, всегда выбирающий отрицательный класс, получит accuracy около 99%, но не обнаружит ни одного положительного случая. Поэтому в задачах с редкими событиями обычно анализируются precision, recall, specificity, F-мера, '''ROC-кривые''' и '''PR-кривые'''.<ref>Fawcett T. An Introduction to ROC Analysis // ''Pattern Recognition Letters''. 2006. Vol. 27, No. 8. P. 861–874.</ref>
+
Высокое значение precision означает, что модель редко делает ложноположительные ошибки. Эта метрика важна, когда ошибочное присвоение положительного класса приводит к значительным издержкам. Например, в антифрод-системах ложноположительная ошибка может привести к блокировке добросовестного пользователя.
-
Матрица ошибок также связана с выбором '''порога классификации'''. Многие модели выдают не готовый класс, а оценку вероятности или скор. Изменение порога изменяет соотношение между FP и FN. При низком пороге растёт полнота, но обычно увеличивается число ложноположительных решений. При высоком пороге уменьшается число ложноположительных решений, но растёт риск пропуска положительных объектов.
+
=== Полнота положительного класса ===
-
== Связь с искусственным интеллектом и машинным обучением ==
+
'''Recall''' показывает, какая доля всех объектов положительного класса была найдена моделью.
-
В [[искусственный интеллект|искусственном интеллекте]] матрица ошибок выполняет '''диагностическую функцию'''. Она позволяет изучать не только итоговое качество модели, но и характер её поведения. Для практикующего специалиста это важно при сравнении моделей, анализе ошибок, выборе признаков, настройке порогов и оценке пригодности системы к внедрению.
+
:: <tex>\mathrm{Recall} = \frac{TP}{TP + FN}</tex>
-
В [[обучение с учителем|обучении с учителем]] матрица ошибок используется на '''валидационной''' и '''тестовой выборках'''. На обучающей выборке она может показывать переобучение, если качество слишком высоко по сравнению с независимыми данными. На тестовой выборке она служит одним из способов оценки '''обобщающей способности модели'''.<ref>Hastie T., Tibshirani R., Friedman J. ''The Elements of Statistical Learning''. 2nd ed. New York: Springer, 2009.</ref>
+
Высокое значение recall означает, что модель редко пропускает положительные объекты. Эта метрика важна в задачах, где пропуск положительного объекта особенно опасен: медицинский скрининг, обнаружение аварийных событий, выявление мошенничества, поиск дефектов.
-
В задачах [[компьютерное зрение|компьютерного зрения]] матрица ошибок помогает понять, какие визуально похожие классы смешиваются чаще всего. В обработке естественного языка она применяется для анализа классификации текстов, определения тональности, тематической категоризации и фильтрации нежелательных сообщений. В рекомендательных и ранжирующих системах прямое применение матрицы ошибок ограничено, но близкие идеи используются при анализе релевантности, ошибок отбора и бинаризации откликов пользователя.
+
=== F-мера ===
-
== Современные исследования и практическое применение ==
+
'''F-мера''' объединяет precision и recall в одну величину. Наиболее распространена <tex>F_1</tex>-мера, являющаяся гармоническим средним precision и recall.
-
В современной практике матрица ошибок редко рассматривается изолированно. Она входит в более широкий процесс оценки моделей, включающий '''кросс-валидацию''', анализ устойчивости, проверку на смещённых подвыборках, оценку калибровки вероятностей и анализ справедливости алгоритмических решений.
+
:: <tex>F_1 = 2 \cdot \frac{\mathrm{Precision} \cdot \mathrm{Recall}}{\mathrm{Precision} + \mathrm{Recall}}</tex>
-
В медицинских приложениях матрица ошибок лежит в основе анализа диагностических тестов. Чувствительность и специфичность позволяют оценивать способность теста обнаруживать заболевание и исключать его отсутствие. Однако для клинической интерпретации также важны распространённость заболевания и '''прогностические значения''' положительного и отрицательного результата.<ref>Altman D. G., Bland J. M. Diagnostic tests 1: sensitivity and specificity // ''BMJ''. 1994. Vol. 308. P. 1552.</ref>
+
Гармоническое среднее чувствительно к малым значениям. Поэтому <tex>F_1</tex>-мера высока только тогда, когда и precision, и recall достаточно велики. Она часто используется в задачах информационного поиска, обработки текстов и классификации при дисбалансе классов.<ref>Manning C. D., Raghavan P., Schütze H. Introduction to Information Retrieval. Cambridge: Cambridge University Press, 2008.</ref>
-
В информационном поиске и анализе текстов из матрицы ошибок происходят понятия precision и recall. Эти показатели использовались ещё до распространения современных методов машинного обучения и стали фундаментальными для оценки поисковых систем, классификаторов документов и систем извлечения информации.<ref>Manning C. D., Raghavan P., Schütze H. ''Introduction to Information Retrieval''. Cambridge: Cambridge University Press, 2008.</ref>
+
=== Специфичность ===
-
В задачах '''ответственного искусственного интеллекта''' матрицы ошибок применяются для сравнения качества модели на разных группах объектов. Например, модель может иметь одинаковую общую accuracy, но существенно разные значения FP и FN для разных демографических или социальных групп. Такой анализ важен при оценке '''алгоритмической справедливости''', особенно в кредитовании, найме, медицине и правоприменении.<ref>Barocas S., Hardt M., Narayanan A. ''Fairness and Machine Learning: Limitations and Opportunities''. MIT Press, 2023.</ref>
+
'''Specificity''' показывает, какая доля отрицательных объектов была правильно распознана как отрицательная.
-
== Критика, ограничения и открытые проблемы ==
+
:: <tex>\mathrm{Specificity} = \frac{TN}{TN + FP}</tex>
-
Главное ограничение матрицы ошибок состоит в том, что она описывает качество модели только относительно имеющейся размеченной выборки. Если разметка содержит ошибки, отражает предвзятость экспертов или плохо представляет будущие данные, то матрица ошибок создаёт иллюзию точной оценки. В этом смысле она измеряет соответствие модели заданной разметке, а не непосредственное соответствие истине.
+
Эта метрика дополняет recall положительного класса. Если recall отвечает на вопрос о том, насколько хорошо модель находит положительные объекты, то specificity показывает, насколько хорошо модель не принимает отрицательные объекты за положительные.
-
Это обстоятельство имеет '''эпистемологическое значение'''. В машинном обучении '''истинная метка''' часто является результатом человеческой процедуры классификации, медицинского протокола, экспертного решения или исторической записи. Такая метка может быть приближением, а не абсолютным фактом. Поэтому высокая точность по матрице ошибок не доказывает истинность модели в философском смысле; она показывает согласованность модели с принятой системой наблюдения и разметки.
+
== Многоклассовая классификация ==
-
Другое ограничение связано с потерей информации. Матрица ошибок фиксирует только итоговые дискретные решения, но не показывает '''уверенность модели''', распределение вероятностей, расстояние до порога и степень неопределённости. Две модели могут иметь одинаковую матрицу ошибок, но различаться по '''калибровке вероятностей''' и устойчивости к изменению данных.<ref>Guo C., Pleiss G., Sun Y., Weinberger K. Q. On Calibration of Modern Neural Networks // ''Proceedings of the 34th International Conference on Machine Learning''. 2017. P. 1321–1330.</ref>
+
В многоклассовой классификации число классов больше двух. Матрица ошибок в этом случае имеет размер <tex>K \times K</tex>. Диагональ показывает правильные ответы по каждому классу, а остальные элементы показывают конкретные типы смешения классов.
-
Для многоклассовых задач матрица ошибок может становиться трудной для анализа при большом числе классов. В задачах с сотнями или тысячами категорий отдельные элементы матрицы становятся разреженными, а визуальная интерпретация затрудняется. В таких случаях применяются агрегированные показатели, группировка классов, иерархические метрики и специальные методы анализа ошибок.
+
Например, в задаче распознавания изображений животных внедиагональный элемент, соответствующий истинному классу «кошка» и предсказанному классу «собака», показывает, сколько кошек модель ошибочно распознала как собак. Если такое значение велико, это означает, что модель плохо различает признаки этих двух классов.
-
Открытой практической проблемой остаётся выбор метрики, согласованной с реальными затратами ошибок. В некоторых задачах FP и FN имеют несопоставимую цену. Простое сравнение моделей по accuracy или F-мере может быть недостаточным, если бизнес-цели, риски или этические последствия требуют явной '''функции потерь'''. Поэтому матрица ошибок должна рассматриваться как инструмент анализа, а не как окончательный критерий качества.<ref>Sokolova M., Lapalme G. A systematic analysis of performance measures for classification tasks // ''Information Processing & Management''. 2009. Vol. 45, No. 4. P. 427–437.</ref>
+
Для каждого класса в многоклассовой задаче можно рассматривать его как положительный, а все остальные классы — как отрицательные. Такой подход называется схемой '''one-vs-rest'''. Он позволяет вычислять precision, recall и F-меру отдельно для каждого класса.
-
== Заключение ==
+
== Усреднение метрик в многоклассовых задачах ==
-
Матрица ошибок является одним из базовых инструментов оценки классификаторов в статистике, машинном обучении и искусственном интеллекте. Её ценность состоит в том, что она показывает структуру ошибок и позволяет перейти от общей оценки качества к содержательному анализу поведения модели. Через величины TP, FP, TN и FN определяются многие важные метрики: accuracy, precision, recall, specificity и F-мера.
+
При наличии нескольких классов возникает вопрос, как получить одно итоговое значение метрики. Наиболее распространены три способа усреднения: micro, macro и weighted.
-
При этом матрица ошибок не устраняет неопределённость, связанную с качеством данных, выбором порога, дисбалансом классов и ценой ошибок. Она не является самостоятельным доказательством корректности модели, но служит необходимой основой для диагностики, сравнения и ответственного применения алгоритмов классификации.
+
'''Micro-усреднение''' сначала суммирует значения <tex>TP</tex>, <tex>FP</tex> и <tex>FN</tex> по всем классам, а затем вычисляет метрику. Такой подход учитывает каждый объект одинаково и поэтому сильнее зависит от качества на крупных классах.
-
== Литература ==
+
'''Macro-усреднение''' сначала вычисляет метрику отдельно для каждого класса, а затем усредняет результаты без учёта размера классов.
-
<references />
+
:: <tex>\mathrm{MacroRecall} = \frac{1}{K}\sum_{i=1}^{K}\mathrm{Recall}_i</tex>
-
* Bishop C. M. ''Pattern Recognition and Machine Learning''. New York: Springer, 2006.
+
Macro-усреднение полезно, когда важно качество по каждому классу, включая редкие классы. Оно может быть строгим к модели, которая хорошо работает на частых классах, но плохо распознаёт редкие.
-
* Murphy K. P. ''Machine Learning: A Probabilistic Perspective''. Cambridge, MA: MIT Press, 2012.
+
-
* Powers D. M. W. Evaluation: From Precision, Recall and F-Measure to ROC, Informedness, Markedness and Correlation // ''Journal of Machine Learning Technologies''. 2011. Vol. 2, No. 1. P. 37–63.
+
-
== Ссылки ==
+
'''Weighted-усреднение''' также вычисляет метрику отдельно для каждого класса, но затем усредняет её с весами, пропорциональными числу объектов соответствующего класса.
-
* [https://scikit-learn.org/stable/modules/model_evaluation.html Scikit-learn: Model evaluation]
+
:: <tex>\mathrm{WeightedRecall} = \sum_{i=1}^{K} w_i \mathrm{Recall}_i</tex>
-
* [https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html Scikit-learn: confusion_matrix]
+
 
-
* [https://developers.google.com/machine-learning/crash-course/classification/accuracy-precision-recall Google Machine Learning Crash Course: Accuracy, Precision, Recall]
+
где <tex>w_i</tex> — доля объектов класса <tex>c_i</tex> в выборке.
-
* [https://en.wikipedia.org/wiki/Confusion_matrix Confusion matrix]
+
 
 +
Выбор способа усреднения зависит от задачи. Если все объекты имеют одинаковую практическую важность, micro-усреднение может быть оправданным. Если каждый класс имеет самостоятельную значимость, macro-усреднение часто оказывается более информативным. Если необходимо учесть вклад классов пропорционально их распространённости, применяется weighted-усреднение.
 +
 
 +
== Нормализация матрицы ошибок ==
 +
 
 +
Абсолютные значения в матрице ошибок показывают количество объектов каждого типа. Однако при разных размерах классов их трудно сравнивать напрямую. Поэтому часто используется нормализованная матрица ошибок.
 +
 
 +
При нормализации по строкам каждый элемент делится на сумму соответствующей строки. Тогда строка показывает распределение предсказаний для объектов одного истинного класса.
 +
 
 +
:: <tex>\tilde{M}_{ij} = \frac{M_{ij}}{\sum_{j=1}^{K} M_{ij}}</tex>
 +
 
 +
Такой вариант удобен для анализа recall по каждому классу. Он показывает, какая доля объектов истинного класса <tex>c_i</tex> была отнесена к каждому из возможных классов.
 +
 
 +
При нормализации по столбцам каждый элемент делится на сумму соответствующего столбца. Такой вариант показывает, из каких истинных классов состоят объекты, предсказанные моделью как данный класс. Он связан с анализом precision.
 +
 
 +
== Связь с порогом классификации ==
 +
 
 +
Многие классификаторы выдают не только готовый класс, но и численную оценку уверенности: вероятность, скор, логит или расстояние до разделяющей поверхности. В бинарной классификации итоговый класс часто получают с помощью порога. Если оценка модели не меньше порога, объект относят к положительному классу; если меньше — к отрицательному.
 +
 
 +
:: <tex>\hat{y}=1 \Longleftrightarrow s(x)\geq t</tex>
 +
 
 +
Здесь <tex>s(x)</tex> — численная оценка, выданная моделью для объекта <tex>x</tex>, а <tex>t</tex> — выбранный порог классификации. Класс <tex>1</tex> обычно называют положительным, а класс <tex>0</tex> — отрицательным.
 +
 
 +
Изменение порога меняет матрицу ошибок. При снижении порога модель чаще предсказывает положительный класс. Это обычно увеличивает recall, но может уменьшить precision из-за роста числа ложноположительных ошибок. При повышении порога модель становится более строгой, что может увеличить precision, но уменьшить recall.
 +
 
 +
Поэтому матрица ошибок не является неизменной характеристикой вероятностной модели. Она фиксирует качество модели при конкретном пороге принятия решения. Для полного анализа пороговых моделей также используют [[ROC-кривая|ROC-кривую]], [[AUC]], precision-recall-кривую и анализ калибровки вероятностей.<ref>Murphy K. P. Machine Learning: A Probabilistic Perspective. Cambridge, MA: MIT Press, 2012.</ref>
 +
 
 +
== Стоимость ошибок ==
 +
 
 +
Не все ошибки классификации одинаково важны. В некоторых задачах ложноположительная ошибка и ложноотрицательная ошибка имеют разные последствия.
 +
 
 +
В медицинском скрининге ложноотрицательная ошибка может означать пропуск заболевания. Ложноположительная ошибка может привести к дополнительному обследованию. В банковском скоринге ложноположительная ошибка в задаче выявления мошенничества может привести к блокировке обычной операции, а ложноотрицательная — к пропуску мошеннической операции. В задаче модерации контента ложноположительная ошибка может означать удаление допустимого материала, а ложноотрицательная — сохранение нарушающего материала.
 +
 
 +
В общем случае можно задать матрицу стоимостей, где каждой паре истинного и предсказанного класса соответствует цена ошибки. Тогда задача оценки модели переходит от подсчёта количества ошибок к подсчёту ожидаемых потерь.
 +
 
 +
:: <tex>L = \sum_{i=1}^{K}\sum_{j=1}^{K} C_{ij}M_{ij}</tex>
 +
 
 +
Здесь <tex>C_{ij}</tex> — стоимость решения, при котором объект истинного класса <tex>c_i</tex> был отнесён к классу <tex>c_j</tex>. Если <tex>i=j</tex>, стоимость обычно мала или равна нулю. Если <tex>i\ne j</tex>, стоимость отражает практический ущерб от соответствующего типа ошибки.
 +
 
 +
Такой подход показывает, что наилучшая модель не всегда совпадает с моделью, имеющей максимальную accuracy. В прикладной задаче может быть предпочтительна модель с большим числом формальных ошибок, если она снижает число наиболее дорогостоящих ошибок.<ref>Elkan C. The Foundations of Cost-Sensitive Learning // Proceedings of the Seventeenth International Joint Conference on Artificial Intelligence. 2001. P. 973–978.</ref>
 +
 
 +
== Несбалансированные классы ==
 +
 
 +
'''Несбалансированность классов''' возникает, когда одни классы встречаются существенно чаще других. В таких задачах матрица ошибок особенно важна, поскольку агрегированные метрики могут скрывать низкое качество на редких классах.
 +
 
 +
Например, если положительный класс составляет 1 % выборки, классификатор, всегда предсказывающий отрицательный класс, получит accuracy 99 %. Однако его recall по положительному классу будет равен нулю, поскольку он не найдёт ни одного положительного объекта.
 +
 
 +
Матрица ошибок позволяет увидеть такую проблему напрямую: строка положительного класса будет содержать большое число ложноотрицательных ошибок и нулевое или почти нулевое число истинно положительных решений.
 +
 
 +
Для задач с дисбалансом классов обычно рассматривают не только accuracy, но и precision, recall, F-меру, balanced accuracy, ROC-AUC, PR-AUC и метрики, учитывающие стоимость ошибок. Выбор метрики зависит от природы редкого класса и последствий ошибок.
 +
 
 +
== Интерпретация матрицы ошибок ==
 +
 
 +
Интерпретация матрицы ошибок начинается с анализа диагонали. Большие значения на диагонали означают, что соответствующие классы хорошо распознаются. Однако сами по себе они не всегда достаточны: крупный класс может иметь большое число правильных ответов просто из-за большого числа объектов.
 +
 
 +
После диагонали анализируются внедиагональные элементы. Они показывают, какие классы модель путает. В прикладных задачах это часто даёт более полезную информацию, чем единая метрика качества. Например, если модель распознавания рукописных цифр часто путает 3 и 8, это указывает на конкретную область для улучшения данных, признаков или архитектуры модели.
 +
 
 +
Нормализованная матрица помогает отделить абсолютную частоту ошибок от относительной. Если редкий класс имеет мало ошибок в абсолютном выражении, но большая доля объектов этого класса классифицируется неправильно, проблема может быть серьёзной.
 +
 
 +
Также важно учитывать статистическую неопределённость. Матрица ошибок, построенная на малой тестовой выборке, может давать нестабильные выводы. Если в классе мало объектов, одна или две ошибки способны заметно изменить значения precision и recall. Поэтому матрицу ошибок следует рассматривать вместе с размером тестовой выборки, способом разбиения данных и доверительными интервалами для метрик.<ref>Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. 2nd ed. New York: Springer, 2009.</ref>
 +
 
 +
== Матрица ошибок и качество данных ==
 +
 
 +
Матрица ошибок отражает не только свойства модели, но и свойства данных. Ошибки могут возникать из-за недостаточной выразительности алгоритма, неподходящих признаков, шума в данных, ошибок разметки, неоднозначности классов или смещения обучающей выборки.
 +
 
 +
Если модель систематически путает два класса, возможны несколько объяснений. Классы действительно могут быть близки по признакам. Разметка может быть непоследовательной. В обучающей выборке может быть мало примеров одного из классов. Также возможно, что используемые признаки не содержат информации, достаточной для различения этих классов.
 +
 
 +
Поэтому матрица ошибок часто применяется как инструмент диагностики. Она помогает понять, нужно ли менять модель, собирать дополнительные данные, уточнять правила разметки, объединять близкие классы или вводить новую иерархию классов.
 +
 
 +
== Ограничения матрицы ошибок ==
 +
 
 +
Матрица ошибок является полезным, но ограниченным инструментом анализа. Она требует дискретных предсказаний классов и не показывает напрямую качество вероятностных оценок. Две модели могут иметь одинаковую матрицу ошибок при выбранном пороге, но сильно различаться по калибровке вероятностей и уверенности в предсказаниях.
 +
 
 +
Матрица ошибок также зависит от состава тестовой выборки. Если распределение классов в тестовой выборке отличается от реального распределения объектов, выводы о практическом качестве модели могут быть искажены. Это особенно важно при сдвиге распределения данных, когда модель применяется в условиях, отличающихся от условий обучения и тестирования.
 +
 
 +
Ещё одно ограничение связано с тем, что матрица ошибок фиксирует только соответствие между истинной и предсказанной метками. Она не объясняет причин ошибок. Для объяснения причин могут потребоваться анализ признаков, интерпретируемые модели, методы объяснения предсказаний, проверка разметки и изучение отдельных ошибочных объектов.
 +
 
 +
== Практическое использование ==
 +
 
 +
В практическом машинном обучении матрица ошибок применяется на нескольких этапах работы с моделью.
 +
 
 +
Во время первичной оценки она показывает, какие классы распознаются хорошо, а какие требуют внимания. При сравнении моделей она позволяет увидеть, улучшается ли качество равномерно или рост одной метрики достигается за счёт ухудшения по отдельным классам. При настройке порога она помогает выбрать баланс между ложноположительными и ложноотрицательными ошибками.
 +
 
 +
После внедрения модели матрица ошибок может использоваться для мониторинга качества. Если распределение ошибок меняется со временем, это может указывать на изменение данных, появление новых типов объектов, деградацию модели или изменение поведения пользователей. В таких условиях матрица ошибок становится частью системы контроля качества модели.
 +
 
 +
Особенно важен анализ отдельных ошибок. Сама матрица показывает, где возникают ошибки, но не показывает, почему они возникают. Поэтому после построения матрицы часто изучаются конкретные объекты из наиболее проблемных ячеек. Такой анализ помогает обнаружить ошибки разметки, недостаток данных, неоднозначность классов и ограничения признакового описания.
 +
 
 +
== Связанные понятия ==
 +
 
 +
С матрицей ошибок тесно связаны следующие понятия:
 +
 
 +
* [[Классификация]]
 +
* [[Бинарная классификация]]
 +
* [[Точность]]
 +
* [[Полнота]]
 +
* [[F-мера]]
 +
* [[ROC-кривая]]
 +
* [[AUC]]
 +
* [[Несбалансированные данные]]
 +
* [[Оценивание качества классификации]]
 +
* [[Кросс-валидация]]
 +
 
 +
== Заключение ==
 +
 
 +
Матрица ошибок является одним из базовых инструментов анализа классификаторов. Её ценность состоит в том, что она показывает структуру ошибок, а не только общее число правильных и неправильных ответов. По матрице ошибок вычисляются precision, recall, specificity, F-мера и другие метрики качества.
 +
 
 +
В бинарной классификации матрица ошибок сводится к четырём величинам: <tex>TP</tex>, <tex>FP</tex>, <tex>FN</tex> и <tex>TN</tex>. В многоклассовой классификации она показывает все направления смешения классов. В задачах с дисбалансом классов, различной стоимостью ошибок и сложной природой разметки матрица ошибок особенно важна, поскольку позволяет обнаружить проблемы, скрытые за агрегированными метриками.
 +
 
 +
При этом матрица ошибок не является полной характеристикой модели. Она зависит от порога классификации, состава тестовой выборки, качества разметки и выбранной постановки задачи. Поэтому её следует рассматривать как часть более широкого анализа, включающего метрики качества, исследование данных, анализ ошибок и оценку практических последствий решений модели.
 +
 
 +
== Литература ==
 +
 
 +
<references />
[[Категория:Машинное обучение]]
[[Категория:Машинное обучение]]
[[Категория:Классификация]]
[[Категория:Классификация]]
-
[[Категория:Оценка качества моделей]]
+
[[Категория:Оценка качества]]
-
[[Категория:Статистика]]
+
-
[[Категория:Искусственный интеллект]]
+

Текущая версия

Статья написана с использованием 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. В многоклассовой классификации она показывает все направления смешения классов. В задачах с дисбалансом классов, различной стоимостью ошибок и сложной природой разметки матрица ошибок особенно важна, поскольку позволяет обнаружить проблемы, скрытые за агрегированными метриками.

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

Литература

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