Практика ML

Overfitting

Переобучение

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

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

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

  • Лечится данными, регуляризацией, упрощением модели и ранней остановкой.
  • Разрыв между train и val — основной индикатор.
  • Аугментация данных часто эффективнее любой архитектурной правки.

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

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

1

Диагностика по кривым обучения

Разрыв между train и validation говорит всё.

TrainValidationДиагнозЧто делать
низкая ошибкавысокаяпереобучениебольше данных, регуляризация, проще модель
высокаявысокаянедообучениесложнее модель, лучше признаки, дольше учить
низкаянизкаявсё хорошопроверить на утечку
высокаянизкаястраннопроверить разбиение — вероятно, ошибка
-3-113-4-2024xy
степень полинома3
ошибка на train0.568
ошибка на test0.395
диагнозбаланс
Увеличивайте степень полинома и следите за ошибками на train и test
2

План действий

Порядок от самых эффективных мер к косметическим.

  1. Больше данных или аугментаций — самое сильное средство.
  2. Проверить утечку и дубликаты между train и валидацией.
  3. Упростить модель: меньше глубина, меньше признаков.
  4. Усилить регуляризацию: weight decay, dropout, L1/L2.
  5. Ранняя остановка по валидации.
  6. Ансамблирование нескольких моделей.

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

Рабочий цикл ML-инженера · Переобучение и регуляризация

Regularization80%

Регуляризация · Оптимизация обучения

Любое ограничение сложности модели, снижающее переобучение.

Weight Decay80%

Затухание весов · Оптимизация обучения

Постепенное сжатие весов к нулю на каждом шаге оптимизации.

Early Stopping80%

Ранняя остановка · Оптимизация обучения

Обучение останавливается, когда валидационная метрика перестала улучшаться.

Underfitting80%

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

Модель слишком проста или недоучена: ошибка велика и на train, и на валидации.

Variance80%

Дисперсия · Математический справочник

Мера разброса значений вокруг среднего.

Random Forest80%

Случайный лес · Классическое машинное обучение

Бэггинг деревьев со случайными подвыборками объектов и признаков: усреднение резко снижает дисперсию.

Problem formulation70%

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

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

Baselines70%

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

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

Debugging models70%

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

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

Hyperparameter tuning70%

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

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

Error analysis70%

Анализ ошибок · Оценка моделей

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

Production ML70%

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

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