Словарь ИИ
Что такое недообучение
Коротко
Недообучение это ошибка, при которой модель слишком проста или недоучена и не улавливает закономерность даже в тех данных, на которых училась.
Машинное обучение · underfitting
Михаил МозгПроверено: 1 минута чтения
Ребенку
Представь, что ты рисуешь кошку одним кружочком. Такой кружок не похож ни на кошку, ни на собаку, ни на зайца: в нем слишком мало деталей. Компьютер иногда учится так же и запоминает слишком грубое правило. Тогда он путается и на знакомых картинках, и на новых. Это и называют недообучением.
Простыми словами
Модель ищет в примерах правило, по которому из входных сведений получается ответ. Если она слишком простая или ее рано остановили, правило выходит грубым. Например, цену квартиры пытаются угадать только по площади, а район, этаж и ремонт не учитывают. Такая программа ошибается везде: и на знакомых примерах, и на новых. Этим она отличается от переобученной, которая на знакомых данных блестяща. Помогает усложнить модель, дать ей больше полезных сведений или учить дольше. Как ученик, который прочитал только оглавление учебника и поэтому плохо отвечает на любой вопрос.
Для бизнеса
Недообученная модель выглядит честно слабой: подрядчик показывает невысокую точность и на обучении, и на проверке. Опасность в поспешном выводе «ИИ нам не подходит», хотя виновата постановка. Частые причины: модели не дали важных данных (сезонность, историю клиента, остатки из 1С), выбрали слишком простой алгоритм или переборщили с ограничениями против переобучения. Исправление обычно дешевле нового проекта: добавить признаки, перейти к более гибкой модели, например к случайному лесу, ослабить ограничения. Перед решением сравните результат с простым правилом, которым отдел пользуется сейчас. Если модель не обходит даже его, сначала ищут недостающие данные. Такую сверку удобно провести на пилоте.
Для специалиста
Недообучение (underfitting) это режим, в котором модель не достигает малой ошибки даже на обучающей выборке: ее емкости (capacity) или времени обучения не хватает, чтобы описать зависимость в данных. В разложении ошибки на смещение и дисперсию (bias-variance) это высокое смещение (bias). Документация scikit-learn формулирует признак через кривые: если и обучающий, и валидационный результат низкие, оценщик недообучен; если с ростом выборки оба сходятся к низкому значению, новые данные вряд ли помогут. Средства: более выразительная модель (полиномиальные признаки, более глубокие деревья, больше слоев), инженерия признаков (feature engineering), ослабление регуляризации или dropout, больше эпох и подбор скорости обучения. Для диагностики строят кривые обучения (learning curves) по объему данных и кривые валидации (validation curves) по одному гиперпараметру. Противоположный режим с высокой дисперсией называют переобучением, и настройку ведут между этими двумя полюсами.
Пример
Сеть пекарен прогнозировала спрос на хлеб линейной моделью только по дню недели. Прогноз промахивался одинаково сильно и на старых неделях, и на новых. Когда в модель добавили погоду и праздники, ошибка упала и на обучении, и на проверке.
Связанные термины
Вопросы и ответы
Как отличить недообучение от переобучения?
Поможет ли больше данных при недообучении?
Источники
Где это применяют в компании
Не уверены, нужно ли это вашей компании?
Карта ИИ-решений