Практика ML

Overfitting

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

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

Направления: Машинное обучение · Классический ML

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

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

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

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

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

Причина всегда в соотношении сложности модели и количества информации в данных. Отсюда и два направления лечения: уменьшить сложность (, меньше параметров, раньше остановиться) или увеличить информацию (больше данных, , лучше ). Второе работает лучше, но стоит дороже.

Как кривая обучения подсказывает решение

Постройте метрику на обучении и на валидации в зависимости от объёма обучающих данных (10%, 25%, 50%, 100%). Если кривые сходятся и валидационная всё ещё растёт — добавление данных поможет, занимайтесь сбором. Если кривые вышли на плато с большим разрывом — данные не помогут, нужна или более простая модель. Если обе кривые низкие и почти сомкнулись — это : нужны более сложная модель или лучшие . Один график экономит недели работы не в ту сторону.

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

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

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

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

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

  • Диагностика после первого обученияСтандартная проверка: сравнить метрики на обучении и валидации.
  • Малые выборкиОсновной риск, когда данных сотни или тысячи.
  • Глубокие сетиМиллионы параметров на небольшой выборке переобучаются гарантированно без мер.
  • Без переобучается почти всегда.

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

Плюсы

  • Диагностируется мгновенно и однозначно.
  • Набор проверенных средств лечения широк и хорошо изучен.
  • Кривая обучения прямо подсказывает, что делать дальше.

Минусы

  • Лечение через всегда стоит немного смещения.
  • Слишком агрессивные меры приводят к — обратной проблеме.
  • Разрыв метрик может отсутствовать при утечке, маскирующей .

Брать, если

  • Метрика на обучении заметно выше валидационной.
  • Валидационная метрика начала ухудшаться по ходу обучения.

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

  • Модель плоха и на обучении — это , только навредит.

Чем заменяют

Видеолекции

Тайм-кода именно на эту тему в записях нет. Но глава «Практика ML» разобрана в курсах целиком — с той оговоркой, что место в записи придётся искать самому.

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

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

Кому эта тема нужна

Усиливает профиль: Исследователь.

Спрашивают на собеседовании: Газпромбанк — Корпоративные риски.

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

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

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

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