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

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

English Overfitting, overtraining
Синонимы Переподгонка, перетренировка, overfitting, переоснащение

Переобучение (overfitting) — это состояние модели машинного обучения, при котором она демонстрирует высокую точность на обучающей выборке, но значительно худшие результаты на новых, ранее не виденных данных. Модель не изучает общие закономерности, а запоминает конкретные примеры вместе со случайным шумом и выбросами, которые не отражают реальную структуру данных.

Проще говоря, переобученная модель «зазубрила» ответы, но не поняла правило. Она отлично работает в лабораторных условиях, но бесполезна в реальном мире.

Как это работает

В основе переобучения лежит дисбаланс между сложностью модели и объёмом доступных данных. Если нейронная сеть имеет слишком много параметров относительно количества обучающих примеров, она получает достаточно «свободы», чтобы подстроиться под каждую конкретную точку данных, включая случайные флуктуации.

Математически это описывается через компромисс между смещением и дисперсией (bias-variance tradeoff). Переобучение соответствует низкому смещению и высокой дисперсии: модель очень гибкая, но её предсказания сильно зависят от конкретного набора данных, на котором она обучалась. При изменении выборки результаты могут кардинально меняться.

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

Зачем это нужно

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

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

Примеры

  • Классификация изображений. Модель, обученная на 500 фотографиях кошек, запоминает фон и освещение каждого снимка. На новых фотографиях с другим фоном точность падает с 98% до 60%.
  • Прогнозирование цен на недвижимость. Регрессионная модель с 50 признаками на 100 объектах идеально предсказывает цены в обучающей выборке, но при тестировании на новых объектах ошибка возрастает в разы.
  • Обработка текстов. Языковая модель, дообученная на небольшом корпусе из 1000 диалогов, начинает дословно воспроизводить фразы из обучающего набора вместо генерации осмысленных ответов.
  • Компьютерное зрение в промышленности. Система контроля качества, обученная на 200 изображениях дефектов, «запоминает» конкретные дефекты и пропускает новые типы брака.

Формула или метрика

Количественно переобучение можно оценить через разрыв обобщения (generalization gap):

Gap = Error_train − Error_test

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

Типичные ошибки

  • Обучение слишком долго. Продолжение тренировки после достижения минимума валидационной ошибки приводит к запоминанию шума. Без ранней остановки модель деградирует.
  • Игнорирование валидационной выборки. Оценка только на тренировочных данных создаёт иллюзию успеха. Без отдельного набора для проверки переобучение остаётся незамеченным.
  • Слишком сложная архитектура. Использование глубокой сети с миллионами параметров для задачи с сотней примеров почти гарантированно приводит к переобучению.
  • Отсутствие регуляризации. Обучение без dropout, weight decay или аугментации данных оставляет модели слишком много свободы для подгонки под шум.

Как улучшить

  • Увеличьте объём данных. Больше примеров — меньше возможностей для запоминания шума. Если сбор данных невозможен, используйте аугментацию: повороты, отражения, добавление шума для изображений; синонимические замены для текстов.
  • Примените регуляризацию. L1 и L2-штрафы ограничивают величину весов. Dropout случайно отключает нейроны во время обучения, заставляя сеть учить более устойчивые признаки. Weight decay — частный случай L2-регуляризации.
  • Используйте раннюю остановку (early stopping). Отслеживайте ошибку на валидационной выборке и прекращайте обучение, когда она перестаёт улучшаться. Это простой и эффективный метод борьбы с переобучением.
  • Упростите модель. Уменьшите число слоёв и нейронов, сократите количество признаков. Меньше параметров — меньше риск подгонки под шум.
  • Проверяйте кросс-валидацией. K-fold кросс-валидация даёт более устойчивую оценку обобщающей способности, чем одно разбиение на train/test.

Источники

Google for Developers — Machine Learning Crash Course: Overfitting (https://developers.google.com/machine-learning/crash-course/overfitting/overfitting)

MachineLearning.ru — Воронцов К.В. «Математические методы обучения по прецедентам», раздел 1.1.6 (http://www.machinelearning.ru/wiki/images/9/92/Voron-ML-Intro1.pdf)

Ultralytics — Glossary: Overfitting (https://www.ultralytics.com/ru/glossary/overfitting)

AWS — What is Overfitting? (https://aws.amazon.com/what-is/overfitting/)