Overfitting/Underfitting

Overfitting (рус. переобуче́ние) и Underfitting (рус. недообуче́ние) — две противоположные проблемы обучения с учителем в машинном обучении, отражающие крайности в способности модели обобщать на новые данные. При переобучении модель чрезмерно подстраивается под обучающую выборку, включая случайные флуктуации и шум, из-за чего демонстрирует низкую ошибку на тренировочных примерах, но высокую — на тестовых. При недообучении модель, напротив, слишком проста, плохо захватывает закономерности и показывает высокую ошибку и на обучающем, и на тестовом наборе данных[1].

Общие сведения
Переобучение и недообучение
англ. Overfitting and Underfitting
Область использования Машинное обучение, Искусственный интеллект

Определение

  1. Переобучение — состояние модели, при котором она «запоминает» детали обучающих данных, включая шум, и теряет способность к обобщению.
  2. Недообучение — ситуация, когда модель недостаточно сложна или обучалась слишком мало и не способна уловить существенные зависимости в данных.

Ключевые отличия

  • При переобучении ошибка на обучающих данных мала, а на тестовых — высока.
  • При недообучении ошибки на обеих выборках велики и сопоставимы[2].

Основные причины переобучения

  • слишком высокая сложность модели
  • малый объём или низкое разнообразие обучающей выборки
  • наличие шума
  • длительное обучение без регуляризации[3]

Основные причины недообучения

  • чрезмерно простая модель
  • недостаток информативных признаков
  • преждевременная остановка обучения
  • неподходящий алгоритм или гиперпараметры[4]

Структурные элементы процесса обучения моделей

Данные
База примеров, на которой модель учится. Качество, разнообразие и объём данных критически влияют на итоговую точность[5].
Модель
Математическая структура, способная выявлять шаблоны и делать предсказания[6].
Функция потерь
Мера расхождения между предсказаниями и истинными значениями; оптимизируется в ходе обучения[7].
Оптимизатор
Алгоритм, который изменяет параметры модели, стремясь минимизировать функцию потерь (SGD, Adam, RMSprop и др.)[8].
Гиперпараметры
Настройки процесса обучения (скорость обучения, количество слоёв и т. д.), задаваемые до старта тренировки[9].
Метрики
Показатели, служащие для объективной оценки модели на невиданных данных (Accuracy, F1, MAE, MSE и др.)[10].

Этапы работы

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

1. Обнаружение

На этом этапе проводится сравнение ошибок на обучающей и тестовой выборках, строятся кривые обучения и применяется k-fold-валидация. Это позволяет выявить переобучение (характеризуется большим разрывом между ошибками на обучающей и тестовой выборках) или недообучение (высокие и близкие ошибки на обеих выборках)[11].

2. Диагностика

На этом этапе анализируется сложность модели, объём данных, наличие шума и значения гиперпараметров. Цель — уточнить причину возникновения переобучения или недообучения, чтобы выбрать корректную стратегию устранения проблемы[12].

3. Устранение

В зависимости от выявленной проблемы применяются различные методы:

  • Для переобучения: регуляризация (L1/L2), упрощение архитектуры модели, увеличение набора данных, аугментация, ранняя остановка (Early Stopping), Dropout, ансамблирование[2].
  • Для недообучения: увеличение сложности модели, дополнительное обучение, добавление информативных признаков, снижение силы регуляризации[1].

Преимущества и недостатки

Преимущества

  • Повышение обобщающей способности моделей и снижение ошибок на продакшн-данных.
  • Улучшение интерпретируемости (при L1-регуляризации или упрощении модели).
  • Экономия вычислительных ресурсов благодаря ранней остановке.

Недостатки

  • Необходимость тщательного подбора гиперпараметров (λ регуляризации, процент Dropout, «терпение» Early Stopping).
  • Увеличение времени обучения при ансамблировании или сложных архитектурах.
  • Риск недообучения при чрезмерном упрощении модели[2].

Сферы применения

  • Компьютерное зрение — классификация и сегментация изображений, где Dropout и аугментация уменьшают переобучение.
  • NLP — анализ тональности, машинный перевод; регуляризация и ранняя остановка стабилизируют большие языковые модели.
  • Финансы — оценка кредитного риска, обнаружение мошенничества; ансамблирование повышает устойчивость предсказаний.
  • Биоинформатика и медицина — диагностика заболеваний по ограниченным наборам данных, требующим строгого контроля переобучения.
  • Маркетинг и рекомендательные системы — персонализация предложений при изменяющемся поведении пользователей.

Инструменты для работы с переобучением и недообучением

  • Библиотеки — Scikit-learn, TensorFlow, PyTorch, Keras содержат встроенные реализации регуляризации, ранней остановки и кросс-валидации[13].
  • Визуализация кривых обучения — Matplotlib, Seaborn, TensorBoard.
  • Платформы автоматического ML — Azure AutoML, Google Cloud AutoML предлагают автоматический подбор гиперпараметров и встроенный контроль переобучения.
  • Функционал Jupyter / Google Colab упрощает интерактивную диагностику, позволяя оперативно строить графики ошибок[1].

Примечания

  1. 1 2 3 Переобучение и недообучение в машинном обучении. Переобучение и недообучение в машинном обучении. Дата обращения: 20 июня 2025.
  2. 1 2 3 Что такое переобучение и как его избежать: основы / Хабр. Habr — Как выявить переобучение и недообучение. Дата обращения: 20 июня 2025.
  3. Что такое переобучение модели. Причины переобучения. Дата обращения: 20 июня 2025.
  4. Underfitting — JET School IT курсы для детей, Курсы программирования! Недообучение — глоссарий. Дата обращения: 20 июня 2025.
  5. Данные в машинном обучении. Что такое датасет?  - Data Light. Что такое набор данных в ML. Дата обращения: 20 июня 2025.
  6. Обучаемая модель (Taught model) · Loginom Wiki. Loginom — Что такое обученная модель. Дата обращения: 20 июня 2025.
  7. Функция потерь (loss function) — что это такое, как она измеряет ошибку и почему на ней строится обучение — Анжела Богданова на vc.ru. Функция потерь — объяснение. Дата обращения: 20 июня 2025.
  8. Оптимизация в ML: ключ к качественной модели. Оптимизация в ML. Дата обращения: 20 июня 2025.
  9. Настройка гиперпараметров для модели (версии 2) - Azure Machine Learning — Microsoft Learn. Microsoft — Тонкая настройка гиперпараметров. Дата обращения: 20 июня 2025.
  10. Как выбрать метрику для ML-соревнования? Понятно и с примерами – Будьте в курсе лучших кейсов хакатонов, ML-турниров, CTF и соревнований по спортивному программированию на Codenrock. Как выбрать метрику для ML. Дата обращения: 20 июня 2025.
  11. Обнаружение переобучения и недообучения в машинном обучении. Кривые обучения и диагностика. Дата обращения: 20 июня 2025.
  12. Недообучение и переобучение в машинном интеллекте — все самое интересное на ПостНауке. ПостНаука — Вариспараметры модели. Дата обращения: 20 июня 2025.
  13. Инструменты и библиотеки для машинного обучения. Инструменты ML — Sky.pro. Дата обращения: 20 июня 2025.
© Правообладателем данного материала является АНО «Интернет-энциклопедия «РУВИКИ».
Использование данного материала на других сайтах возможно только с согласия АНО «Интернет-энциклопедия «РУВИКИ».