Переобучение

Сегодня поговорим про переобучение. С этим явлением можно столкнуться в задачах обучения по прецедентам. Проблема переобучения часто встречается в задачах распознавания образов. Ей успешно занимались советские математики В.Н. Вапник и А.Я. Червоненкис, заложив основы теории вычислительного обучения, которая активно развивается и по сей день.

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

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

Может показаться странным, но высокая точность модели на обучающем наборе данных может привести к очень плохому результату на тестовом. Это объясняется тем, что, начиная с некоторого момента, подгонка модели к обучающему набору приводит к меньшей обобщающей способности. Модель начинает «запоминать» шумы и выбросы в данных, которые могли быть внесены посторонними факторами, придавая им большое значение, становясь при этом более сложной. Тем не менее, существует оптимальное значение сложности модели, при которой переобучение минимальное.

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

Другой метод связан с отбором признаков, входящих в обучение. Добавление новых факторов не всегда приводит к увеличению точности модели. Бывают случаи, когда точность падает, это объясняется тем, что:
1. В признаках много «мусорных» данных
2. Прогнозная величина не зависит от признака
3. Имеет место ложная зависимость прогнозной величины от признака на тренировочных данных в силу их ограниченности.

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

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