Урок курса

Переобучение и недообучение модели: как отличить

Data Scientist: от данных до деплоя моделей

Недообучение возникает, когда модель или признаки не способны описать полезную закономерность: ошибка высока и на train, и на validation. Переобучение — когда модель хорошо подстроилась под train, включая шум, но заметно хуже работает на новых данных.

Сравнивать нужно одну и ту же целевую метрику на согласованных частях. Низкая train loss и высокая validation loss указывают на большой generalization gap, но сначала исключите разные preprocessing, утечку, сдвиг распределения и ошибку расчёта.

Сложность модели сама по себе не определяет overfitting. Большая модель с достаточными данными и регуляризацией может обобщать лучше маленькой. Важен наблюдаемый результат на корректном holdout.

Learning curves

Кривая по размеру train показывает качество train и validation при постепенном добавлении данных. Если validation продолжает улучшаться, а разрыв сокращается, дополнительные размеченные примеры могут помочь. Если обе кривые вышли на плохое плато, нужны более информативные признаки или другой класс моделей.

Кривая по эпохам или сложности помогает найти момент, когда train продолжает улучшаться, а validation начинает ухудшаться. Для итеративного обучения используют early stopping по validation, но test при этом не трогают.

Один случайный split может вводить в заблуждение. Для небольших независимых данных применяют cross-validation и смотрят разброс между folds, а для временных данных — последовательную backtesting-схему.

Что менять

При недообучении увеличивают выразительность модели, улучшают признаки, ослабляют чрезмерную регуляризацию или дольше обучают. При переобучении упрощают модель, усиливают регуляризацию, добавляют данные, применяют augmentation, уменьшают число признаков или останавливают обучение раньше.

Но сначала проверяют качество данных и соответствие train будущему production. Дубли между split создают иллюзию хорошего обобщения, а сильный temporal drift может выглядеть как overfitting, хотя проблема в изменившемся мире.

Фиксируйте baseline и меняйте один фактор за раз. Цель — не максимальная train-метрика, а стабильное качество на данных, представляющих реальное использование.

Как прочитать три пары train и validation

Пусть метрика — MAE, меньше лучше. Модель A получила train=2 и validation=18. Большой разрыв совместим с переобучением, но сначала проверьте одинаковые единицы ошибки и распределение данных. Модель B получила 17 и 19: маленький разрыв при плохом качестве совместим с недообучением. Модель C получила 6 и 7: разрыв небольшой и качество лучше B, но решение требует сравнения с baseline.

Если предсказание среднего даёт MAE=8, модель C улучшает baseline, B — ухудшает. Без такого ориентира фраза «ошибка 7 — хорошая» не имеет основания. На временной проверке резкий разрыв также может означать изменение рынка или отсутствие нужных признаков.

Проведите маленький эксперимент: увеличьте train-выборку, зафиксируйте validation и сравните learning curves. При переобучении дополнительная информация часто уменьшает разрыв. При недообучении обе ошибки могут выйти на высокое плато. На test не подбирайте параметры после каждого запуска — иначе он перестанет быть независимой финальной проверкой.

Продолжите разбор: Precision, Recall и F1-score: как выбрать метрику.

Задача 1

Как обычно выглядит явное переобучение?

Выберите один вариант
Без регистрации · результат не сохраняется

Продолжить с сохранением прогресса

Перейдите к уроку в учебном кабинете.

Перейти к интерактивному уроку