Словарь ИИ

Что такое недообучение модели

Что такое недообучение модели

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

Содержание статьи

Как понять, что модель недообучена

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

Обычно причина в том, что модель выбрана слишком простой или обучение остановили слишком рано. Иногда проблема связана с тем, что в данных мало полезных признаков, и модели просто не на что опереться.

С практической точки зрения недообучение означает одно: модель не выделила основной закономерности в данных. Она видит картину слишком грубо, как будто пытается описать сложный график одной прямой линией.

Почему возникает недообучение

Недообучение появляется, когда модели не хватает выразительности или времени на обучение. В результате она не может приблизиться к реальной зависимости в данных.

Есть несколько типичных причин:

  • модель слишком простая для задачи;
  • обучение завершили слишком рано;
  • применили слишком сильную регуляризацию;
  • использовали слишком мало значимых признаков.

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

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

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

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

В терминах статистики недообучение часто связано с высоким смещением и низкой вариативностью. Переобучение, наоборот, чаще проявляется как низкое смещение и высокая вариативность. Это и есть известный компромисс между bias и variance.

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

Почему недообучение обычно заметить проще

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

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

Для оценки обобщающей способности модели часто используют кросс-валидацию, в том числе k-fold cross-validation. Данные делят на несколько частей, затем по очереди обучают модель на одних частях и проверяют на другой. После нескольких прогонов результаты усредняют и смотрят, насколько стабильно работает алгоритм.

Как уменьшить недообучение

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

Уменьшить регуляризацию

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

Этот шаг требует аккуратности. Если снять ограничения слишком резко, можно перейти в другую крайность и получить переобучение.

Увеличить время обучения

Преждевременная остановка обучения — частая причина недообучения. Если модель не успела настроить параметры, она останется на слишком грубом уровне качества.

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

Пересмотреть признаки

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

Смысл здесь простой: модель учится на том, что ей дали. Если в данных мало полезного сигнала, хорошего качества ждать не приходится.

Повысить сложность модели

Когда модель слишком простая, ей не хватает гибкости. Тогда помогает выбор более выразительного алгоритма или изменение его параметров.

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

Краткое сравнение недообучения и переобучения

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

Параметр Недообучение Переобучение
Качество на обучающей выборке Низкое Высокое
Качество на новых данных Низкое Часто низкое
Типичная причина Слишком простая модель или ранняя остановка Слишком сложная модель или слишком долгое обучение
Характер ошибки Высокое смещение Высокая вариативность
Замечается Обычно быстро Часто только после проверки на валидации

Что важно запомнить

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

Чаще всего проблему исправляют тремя путями: уменьшают регуляризацию, обучают модель дольше или улучшают набор признаков. Если этого мало, пересматривают саму модель и её сложность.