Ответ вслух Junior Постановка задачи обновлено

Как бороться с переобучением

Вопрос

Модель переобучилась. Перечислите, как вы это диагностируете и какие есть способы борьбы.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

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

Что должно прозвучать в ответе

  • Диагностика: разрыв трейн и валидации, кривые обучения

  • Больше данных или аугментации

  • Регуляризация: L1/L2, dropout, ограничение глубины деревьев

  • Упростить модель или убрать шумные признаки

  • Early stopping и ансамблирование

Что могут спросить следом

  • Как понять, что разрыв вызван утечкой, а не переобучением?
  • Почему бэггинг снижает variance?

Разбор

Сначала убеждаюсь, что это переобучение: ошибка на трейне заметно ниже валидационной, а на кривых обучения валидационная ошибка перестаёт падать или растёт. Ещё проверяю, что валидация честная, без утечек и с правильным разбиением. Способы борьбы: больше данных или аугментации, если данные картинки или тексты; регуляризация (L1 и L2 для линейных моделей, ограничение глубины, минимальное число объектов в листе и subsampling для деревьев, dropout и weight decay для сетей); упрощение модели и отбор признаков; early stopping по валидации; ансамбли вроде бэггинга, которые усредняют разброс отдельных моделей.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.