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

Error analysis

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

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

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

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

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

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

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

1

Как разбирать ошибки

Полтора часа ручного разбора обычно ценнее суток подбора гиперпараметров.

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

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

2

Анализ по срезам

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

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

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

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

Разметка и слабый надзор · Рабочий цикл 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, мониторингом, версионированием и планом отката.