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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

Это связано с тем, что при построении такого алгоритма (или, как принято говорить в машинном обучении, "в процессе обучения") в обучающей выборке обнаруживаются некоторые случайные закономерности, которые отсутствуют в генеральной совокупности.

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

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

Методы предотвращения переобучения [править]

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

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

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

См. также [править]

Источники [править]

  1. Everitt B.S. (2002) Cambridge Dictionary of Statistics, CUP. ISBN 0-521-81099-X (entry for "Shrinkage")