Недообучение (underfitting) — это ситуация, когда модель машинного обучения слишком слабо извлекает закономерности из обучающих данных и поэтому предсказывает плохо. В официальных источниках Google, TensorFlow и scikit-learn это состояние описывается как слабое качество не только на валидации, но и на обучении: модель не справляется даже там, где уже должна была что-то выучить.
Английский термин: underfitting. Также встречается: недообученная модель, модель недообучается. В разных источниках термин подают либо через симптом — слабые предсказания на train, либо через причины — недостаточная емкость модели, слишком короткое обучение, слишком маленький learning rate, слишком сильная regularization или неподходящие признаки.
Практический вывод: если у вас низкие показатели и на train, и на validation, сначала проверяйте не одну «волшебную настройку», а весь типовой набор причин underfitting: признаки, емкость модели, длительность обучения, learning rate и силу регуляризации.
Простыми словами
Грубо говоря, недообучение — это когда вы дали модели задачу сложнее, чем ее текущие возможности. Можно представить это как попытку пересказать длинную книгу по слишком короткому конспекту: часть структуры просто теряется, поэтому ошибки остаются даже на знакомом материале.
Важно не путать это с переобучением (overfitting). При underfitting модель не «перестаралась», а наоборот, не дошла до нужного уровня понимания данных.
Как это работает
Официальные материалы описывают underfitting с нескольких сторон, и это не противоречие, а разные углы зрения на одну проблему. Google Crash Course делает акцент на симптоме: недообученная модель не делает хорошие предсказания даже на обучающих данных. Документация scikit-learn дает удобный диагностический критерий: если и training score, и validation score низкие, оценщик недообучается. Google ML Glossary, TensorFlow и академические статьи перечисляют типичные причины: признаки не подходят задаче, модель слишком слабая, скрытых слоев слишком мало, обучение длилось слишком мало эпох, learning rate слишком мал или регуляризация слишком сильна.
Данные и признаки
↓
Модель выбирает форму зависимости
↓
Обучение пытается подстроить параметры
↓
Если модель слишком простая
или обучение слишком короткое
или ограничения слишком жесткие
↓
Структура данных захватывается плохо
↓
Низкий результат на train
и низкий результат на validation
↓
Практический диагноз: underfitting
Последовательность проверки обычно выглядит так:
- Вы обучаете модель на данных.
- Сравниваете качество на обучающей и валидационной части.
- Если модель слаба уже на train, значит в данных еще остается «запас для улучшения», как формулирует tutorial TensorFlow.
- Дальше ищете причину: признаки, недостаточная мощность модели, слишком короткое обучение, маленький learning rate, сильная регуляризация или слишком мало скрытых слоев.
По состоянию на 2026-08-14 именно такой набор признаков и причин подтверждается официальными страницами и дополнительными работами из source pack.
Где применяется
- При настройке моделей в машинном обучении (ML). Underfitting — один из базовых диагнозов, когда модель еще до продакшена показывает, что не извлекает полезную структуру из данных.
- В задачах обучения с учителем. Здесь особенно полезно смотреть на train/validation метрики: низкие значения сразу в обоих наборах обычно указывают не на «слишком хорошее обобщение», а на недообучение.
- В глубоком обучении (Deep Learning). Google ML Glossary отдельно указывает на слишком малое число скрытых слоев как на одну из возможных причин underfitting.
- В практической диагностике через learning curves. Документация scikit-learn использует learning_curve и validation_curve как рабочий способ увидеть, что и train score, и validation score остаются низкими.
Практический пример
Ниже — безопасный пошаговый сценарий без привязки к одной библиотеке. Он опирается только на то, что прямо подтверждено в официальной документации.
- Обучите базовую модель. Не пытайтесь сразу «лечить» качество, сначала снимите исходную картину.
- Измерьте метрику на train и validation. В логике scikit-learn ключевой сигнал underfitting — обе оценки низкие.
- Проверьте, делает ли модель хорошие предсказания на обучающих данных. Если нет, Google Crash Course предлагает рассматривать это как типичный симптом недообучения.
- Разберите возможные причины по списку из Google и TensorFlow:
- признаки могут быть неподходящими;
- модель может быть недостаточно мощной;
- обучение могло идти слишком мало эпох;
- learning rate мог быть слишком маленьким;
- регуляризация могла быть слишком сильной;
- в нейросети могло быть слишком мало скрытых слоев.
- Исправляйте причину, а не симптом. Если проблема в емкости модели, простое добавление эпох может не помочь. Если проблема в слишком коротком обучении, наоборот, увеличение времени обучения может быть уместно.
- Переоцените метрики. Если train начинает заметно улучшаться, а validation растет вместе с ним, вы действительно устраняете underfitting, а не маскируете его.
Редакционное ограничение: в этой статье нет универсального численного порога для «низкого» score. В supplied sources его тоже нет: официальные документы дают качественный критерий, а не единую цифру для всех задач и метрик.
Чем отличается от…
Underfitting часто путают не только с другими состояниями модели, но и с его собственными причинами. Полезно разделять результат и источник проблемы.
| Термин | Что это | Как связано с underfitting |
|---|---|---|
| Недообучение (underfitting) | Состояние, в котором модель плохо захватывает структуру данных | Диагноз: слабые предсказания на train; по критерию scikit-learn — низкие train и validation scores |
| Недостаточная емкость модели | Модель слишком простая для задачи | Одна из типичных причин underfitting, о которой пишут Google, TensorFlow и академические источники |
| Слишком короткое обучение / слишком маленький learning rate | Оптимизация не успевает извлечь полезную структуру | Это не синоним underfitting, а еще одна частая причина |
| Слишком сильная регуляризация | Ограничения на модель слишком жесткие | Может привести к underfitting, потому что модель становится слишком «зажатой» |
| Неподходящие признаки | Во входных данных недостаточно полезного представления задачи | Google ML Glossary прямо перечисляет это как возможный источник underfitting |
Ограничения и заблуждения
- Заблуждение: «Недообучение видно только по плохой валидации». Точнее: по официальной логике underfitting важен именно тем, что модель слаба уже на обучающих данных; scikit-learn добавляет рабочий критерий низких train и validation scores.
- Заблуждение: «Нужно просто учить дольше». Точнее: TensorFlow и Google указывают и другие причины: слабая модель, неподходящие признаки, слишком сильная регуляризация, слишком маленький learning rate.
- Заблуждение: «Underfitting — это всегда одна и та же вещь». Точнее: в одних источниках термин описывается через симптом, в других — через причины или через недостаточную емкость/недостаточное обучение.
- Ограничение практики: сам факт низких метрик не раскрывает единственную причину. Диагноз underfitting полезен как отправная точка, но не заменяет разбор признаков, архитектуры и режима обучения.
- Практический вердикт: underfitting — это не «модель плохая вообще», а сигнал, что текущая конфигурация еще не позволяет ей извлечь сложность обучающих данных.
Связанные термины и материалы
- Машинное обучение (ML)
- Обучение с учителем
- Глубокое обучение (Deep Learning)
- Переобучение (overfitting): что это такое
Источники
Материал сверен по source pack, актуальному на 2026-08-14. В нем указано, что Google ML Glossary обновлен 2026-04-13 UTC, страница Google Crash Course — 2025-12-03 UTC, tutorial TensorFlow — 2024-04-03 UTC. Ниже — основные ссылки, на которые опирается статья.
- Machine Learning Glossary | Google for Developers
- Overfitting and underfitting | Machine Learning Crash Course | Google for Developers
- Overfit and underfit | TensorFlow
- validation_curve and learning_curve — scikit-learn 1.9.0 documentation
- What’s new in 1.9 — scikit-learn documentation
- The Theory Behind Overfitting, Cross Validation, Regularization, Bagging, and Boosting: Tutorial
- Underestimation Bias and Underfitting in Machine Learning
- An Information-Theoretic Perspective on Overfitting and Underfitting
Вопросы и ответы
Что такое недообучение простыми словами?
Это состояние, когда модель пока слишком плохо понимает закономерности данных и ошибается даже на примерах, на которых ее обучали.
Как понять, что модель недообучается?
Практический ориентир из документации scikit-learn: и training score, и validation score остаются низкими. Google Crash Course добавляет еще один признак: модель не делает хорошие предсказания даже на обучающих данных.
Что чаще всего вызывает underfitting?
По официальным источникам — неподходящие признаки, недостаточная мощность модели, слишком мало эпох, слишком маленький learning rate, слишком сильная регуляризация и, для нейросетей, слишком малое число скрытых слоев.
Можно ли исправить недообучение просто долгим обучением?
Не всегда. Если причина в слишком слабой модели, признаках или чрезмерной регуляризации, дополнительные эпохи могут не решить проблему.
Почему разные источники определяют underfitting по-разному?
Потому что они акцентируют разные уровни описания: симптом, метрики или причины. Для практики это удобно: вы можете сначала заметить проблему по train/validation качеству, а потом уже искать конкретный источник underfitting.