ММООЗЗГГ.ru

Словарь ИИ

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

Коротко

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

Машинное обучение · underfitting

Михаил МозгПроверено: 1 минута чтения

Ребенку

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

Простыми словами

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

Для бизнеса

Недообученная модель выглядит честно слабой: подрядчик показывает невысокую точность и на обучении, и на проверке. Опасность в поспешном выводе «ИИ нам не подходит», хотя виновата постановка. Частые причины: модели не дали важных данных (сезонность, историю клиента, остатки из 1С), выбрали слишком простой алгоритм или переборщили с ограничениями против переобучения. Исправление обычно дешевле нового проекта: добавить признаки, перейти к более гибкой модели, например к случайному лесу, ослабить ограничения. Перед решением сравните результат с простым правилом, которым отдел пользуется сейчас. Если модель не обходит даже его, сначала ищут недостающие данные. Такую сверку удобно провести на пилоте.

Для специалиста

Недообучение (underfitting) это режим, в котором модель не достигает малой ошибки даже на обучающей выборке: ее емкости (capacity) или времени обучения не хватает, чтобы описать зависимость в данных. В разложении ошибки на смещение и дисперсию (bias-variance) это высокое смещение (bias). Документация scikit-learn формулирует признак через кривые: если и обучающий, и валидационный результат низкие, оценщик недообучен; если с ростом выборки оба сходятся к низкому значению, новые данные вряд ли помогут. Средства: более выразительная модель (полиномиальные признаки, более глубокие деревья, больше слоев), инженерия признаков (feature engineering), ослабление регуляризации или dropout, больше эпох и подбор скорости обучения. Для диагностики строят кривые обучения (learning curves) по объему данных и кривые валидации (validation curves) по одному гиперпараметру. Противоположный режим с высокой дисперсией называют переобучением, и настройку ведут между этими двумя полюсами.

Пример

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

Связанные термины

Вопросы и ответы

Как отличить недообучение от переобучения?

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

Поможет ли больше данных при недообучении?

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

Источники

Где это применяют в компании

Не уверены, нужно ли это вашей компании?

Карта ИИ-решений
Написать в Telegram