Что такое overfitting
Что проверяют
Понимаете ли, что цель обучения это обобщение, а не минимум ошибки на обучающей выборке, и умеете ли переобучение диагностировать, а не только перечислять рецепты против него.
Как отвечать
Overfitting это состояние, когда модель запомнила обучающую выборку вместе с её шумом: ошибка на обучении низкая, на отложенных данных заметно выше, и разрыв растёт с ростом ёмкости или числа эпох. В терминах разложения ошибки это высокий разброс при низком смещении.
Диагностика идёт раньше лечения: кривые обучения по обеим выборкам, сравнение метрик на фолдах, проверка на данных другого периода. Дальше лечение по возрастанию цены:
- больше данных, аугментация, чистка разметки;
- уменьшение ёмкости: глубина и число листьев у деревьев, размерность и число слоёв у сетей, отбор признаков;
- регуляризация: L1 и L2, dropout, ранняя остановка по валидации;
- ансамбли и бэггинг, усредняющие разброс.
Отдельно стоит сказать про схему валидации: разбиение обязано повторять реальность, по времени для рядов и по пользователю там, где на одного пользователя приходится много строк.
Где спотыкаются
Называют кросс-валидацию способом борьбы с переобучением. Она способ его измерить, модель от неё не меняется. Лечат данные, ёмкость и регуляризация, а кросс-валидация показывает, помогло ли.
Подбирают гиперпараметры по той же выборке, на которой потом отчитываются. Модель переобучается уже на процедуру отбора, поэтому нужен нетронутый отложенный набор, а при малых данных вложенная кросс-валидация.
Видят переобучение там, где на деле утечка целевого признака или недообучение. При утечке метрика прекрасна и на обучении, и на валидации, а падает только в проде. При недообучении высоки обе ошибки, и добавленная регуляризация сделает хуже.