Оценка моделей

Error analysis

Анализ ошибок

актуальноТекущий рабочий стандарт

Направления: Машинное обучение · Оценка моделей, Доверенный ИИ · Безопасность поведения, Доверенный ИИ · Справедливость

Ручной разбор случаев, где модель ошибается: почти всегда даёт больше, чем очередной перебор .

Ключевые тезисы

  • Кластеризуйте ошибки по сегментам данных, а не смотрите вразнобой.
  • Отдельно измеряйте метрики по важным срезам аудитории.
  • Часть ошибок окажется ошибками разметки — их надо исправить.

Какую задачу решает

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

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

Как это выглядит на практике

Классификатор обращений даёт 82% . Разбор 100 ошибок: 40 — обращения короче 5 слов (сигнала мало), 25 — смешанные темы (проблема постановки: нужна многометочная задача), 20 — ошибки разметки, 15 — разное. Выводы конкретны: короткие обращения отправлять на уточняющий вопрос, а не классифицировать; постановку менять на многометочную; разметку 20% ошибочных примеров перепроверить. Ни один из этих шагов не связан с выбором модели — и все они дадут больше, чем переход на .

Подробный разбор

2 подтемы — объяснения, формулы, примеры и интерактивные графики.

  1. Собрать объекты с наибольшей ошибкой или уверенно неверные предсказания.
  2. Разложить их по сегментам: регион, тип клиента, длина текста, источник данных.
  3. Посчитать метрику отдельно по каждому сегменту — почти всегда найдётся сегмент, где всё плохо.
  4. Для 30–50 случаев прочитать данные глазами и выписать причину ошибки.
  5. Сгруппировать причины и оценить, сколько ошибок закроет каждое исправление.
На практике

Часть «ошибок» окажется ошибками разметки. Это не повод расстраиваться: исправленная разметка часто даёт больший прирост, чем новая архитектура.

for col in ["region", "channel", "segment"]:
    print(df.groupby(col).apply(
        lambda g: roc_auc_score(g.y, g.pred)).sort_values())
Пара строк, которые регулярно находят сегмент с провалом качества
На практике

Срезы стоит закрепить как регрессионные тесты модели: при каждом релизе метрика по каждому важному сегменту не должна падать ниже порога.

Где применяется

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

Плюсы, минусы и альтернативы

Плюсы

  • Даёт конкретный план действий вместо общего «улучшить модель».
  • Часто вскрывает проблемы данных, а не модели, — и это дешевле чинить.
  • Показывает провалы на важных сегментах, скрытые средним значением.
  • Не требует никаких инструментов, кроме таблицы и .

Минусы

  • Ручная работа, плохо масштабируется.
  • Требует понимания предметной области.
  • Легко переобучиться под конкретные примеры и увидеть закономерность там, где её нет.
  • Результат зависит от того, кто смотрит.

Брать, если

  • Метрика перестала расти от смены моделей и .
  • Перед выводом модели в прод — обязательно.
  • После падения метрики в эксплуатации.

Не брать, если

  • Модель ещё не побила тривиальную базовую линию — сначала базовые вещи.

Чем заменяют

Тема также относится к главам:Практика MLДиагностика

Связанные темы

Разметка и слабый надзор · Рабочий цикл ML-инженера

Data Labeling85%

Разметка данных · Данные

Организация разметки: инструкция, согласие аннотаторов и контроль качества. Потолок качества модели задаётся именно здесь.

Synthetic Data85%

Синтетические данные · Данные

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

Active Learning85%

Активное обучение · Практика ML

Размечать в первую очередь те объекты, которые дадут наибольший прирост качества.

Weak Supervision85%

Слабая разметка · Практика ML

Программная разметка эвристиками и правилами вместо ручной: быстро, шумно и часто достаточно.

Cohen's Kappa85%

Каппа Коэна · Метрики

Согласие двух разметчиков или модели с разметкой с поправкой на случайные совпадения.

Problem formulation70%

Постановка задачи · Практика ML

Перевод бизнес-вопроса в ML-задачу с целевой переменной, метрикой и ограничениями.

Baselines70%

Бейзлайны · Практика ML

Простейшее решение, с которым сравнивается всё остальное: константа, правило, логистическая регрессия.

Debugging models70%

Отладка моделей · Практика ML

Систематический поиск причины, почему модель не учится или ведёт себя странно.

Hyperparameter tuning70%

Настройка гиперпараметров · Практика ML

Поиск конфигурации модели по валидационной метрике — последний, а не первый шаг работы.

Overfitting70%

Переобучение · Практика ML

Модель запомнила обучающую выборку вместе с шумом: train-метрика отличная, val — плохая.

Production ML70%

ML в продакшене · Практика ML

Модель в проде — это сервис с SLA, мониторингом, версионированием и планом отката.

Проверить себя

Тема встречается в тестах по направлениям — ошибки приведут обратно на эту страницу.

Следующий шагПроверить себя: Computer VisionТема встречается в этом тесте 1 раз. Ошибка приведёт обратно на эту страницу — с объяснением, что именно не сошлось.Перейти →

Глава «Оценка моделей» последний раз правилась . Нашли ошибку — напишите.