1. Главная
  2. Docs
  3. Глоссарий
  4. Матрица ошибок

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

7

Матрица ошибок (confusion matrix) — таблица исходов классификации: сколько положительных и отрицательных случаев модель назвала положительными и сколько отрицательными. Из четырёх клеток выводятся точность, полнота, F1 и доля правильных ответов; сама матрица показывает не только «сколько ошибок», но и каких — а от вида ошибки зависит стоимость.

Четыре клетки: TP, FP, FN, TN

Разметка на примере классификатора срочности. Система помечает обращения как «срочные» — они уходят в отдельную очередь. Исходов четыре: срочное помечено срочным — истинно положительный (TP); несрочное помечено срочным — ложно положительный (FP, ложная тревога); срочное прошло как несрочное — ложно отрицательный (FN, пропуск); несрочное прошло как несрочное — истинно отрицательный (TN).

Положительный класс — тот, о котором спрашиваем, а не «хороший». В этой задаче положительный — срочное. Смените вопрос на «какие обращения точно несрочные и годятся для автоответа» — и роли клеток поменяются: пропуском станет несрочное, отправленное в срочную очередь. Формулы те же, интерпретация другая; недоразумения в отчётах чаще всего отсюда.

Матрица — это счётчики, а не проценты. Абсолютные числа необходимы: полнота 0,9 на 20 срочных и на 2 000 срочных — разная уверенность. На 20 случаях один переложенный в другую клетку меняет метрику на пять пунктов; на 2 000 — на пять сотых. Проценты считают поверх счётчиков, не вместо них.

Ошибки первого и второго рода и их разная цена

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

Цена клеток разная — это главное. Продолжая пример: FN, пропущенное срочное, — сорванный SLA и риск потери клиента, тысячи рублей на случай; FP — одна-две минуты оператора, десятки рублей; TP — срочная очередь отработала как задумано; TN — общий поток отработал как задумано. Пока матрица в процентах, этот факт невидим; в деньгах он определяет выбор порога.

Правильные клетки тоже имеют стоимость и ценность. TP не «бесплатно правильно»: каждое срочное обращение в очереди с SLA стоит человеко-часов. Если на уверенно несрочных включается автоответ, экономика считается по TN — доля уверенно несрочных, умноженная на стоимость ручной обработки. Так считают эффект автоматизации; подробнее — про метрики бизнес-эффекта.

Как из матрицы выводятся точность, полнота и F1

Точность — первая строка матрицы. Доля верных срабатываний среди всех срабатываний: TP делить на TP плюс FP. Отвечает на вопрос «когда система говорит „срочно“, как часто она права» — то есть сколько стоит верить каждому срабатыванию.

Полнота — первый столбец. Доля найденных положительных среди всех положительных: TP делить на TP плюс FN. Отвечает «какая доля срочных доедет до срочной очереди».

Доля правильных ответов — диагональ. TP плюс TN, делить на все случаи. На несбалансированных данных почти не чувствительна: при 2% срочных перенос 10 срочных из пропусков в находки меняет её на десятые доли пункта — поэтому её смотрят вместе с остальными, а не вместо.

F1 — комбинация строки и столбца. Среднее гармоническое точности и полноты; когда ей пользоваться и чем она опасна — в статье про F1-меру. TN в F1 не входит вовсе: метрика игнорирует правильные ответы про несрочное — это её слепая зона.

Иллюстративный расчёт. Из 1 000 обращений 100 срочных; система пометила срочными 90, из них верно 60. Тогда TP=60, FP=30, FN=40, TN=870. Точность — 60 из 90, то есть 0,67; полнота — 60 из 100, то есть 0,60; доля правильных — 930 из 1 000, то есть 0,93. Три цифры одной матрицы рассказывают три разные истории — и только матрица показывает, какая из них ваша.

Анализ по сегментам, а не только итоговой цифрой

Итоговая матрица усредняет сегменты с разной ценой ошибок. Общая полнота 0,90 может складываться из 0,97 на обращениях из веб-формы и 0,55 на письмах с вложениями. Если вложения присылают корпоративные клиенты с высоким чеком, деградация на них стоит дороже, чем улучшение на массовом сегменте, — и итоговая цифра это прячет.

Порядок сегментации. Сначала по источнику и формату — канал, длина, наличие вложений; затем по темам, как в классификации обращений; затем по времени — неделя к неделе, чтобы увидеть дрейф. На каждом срезе смотрят те же четыре клетки; сегментов в отчёте пять–десять, иначе чтение теряет смысл.

Малые сегменты не оценивают точечно. На 30 обращениях сегмента полнота прыгает на три пункта от одного случая; такие сегменты укрупняют или оценивают накопленным итогом за месяц.

Типичные ошибки

Докладывать одну сводную метрику без матрицы. Сводная цифра не отвечает на операционный вопрос «сколько ложных тревог обработает смена»; матрица в абсолютных числах отвечает на него напрямую.

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

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

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

Частые вопросы

Что делать с четырьмя классами вместо двух?

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

Какая клетка самая важная?

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

Как собрать данные для матрицы в эксплуатации?

Случайную выборку обращений за период размечают вручную и сравнивают с решениями системы. Для контроля дрейфа достаточно 200–400 обращений в месяц; для редкого класса выборку искусственно пополняют его примерами и учитывают это при пересчёте долей. О процедуре — в статье про разметку данных.

Почему нельзя ограничиться долей правильных ответов?

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

Как матрица связана с выбором порога?

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

Что почитать по теме