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

Материал из Викиконспекты
Версия от 19:31, 5 сентября 2019; Dmozze (обсуждение | вклад) (2 правки орфографии)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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

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

Примеры[править]

На примере линейной регрессии[править]

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

Рис 1. Недообучение. M=1
Рис 2. Норма. M=2
Рис 3. Переобучение. M=4

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

На Рис. 2 представлена ситуация, когда выбранная полиномиальная функция подходит для описания исходных данных.

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

На примере логистической регрессии[править]

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

Рис 4. Недообучение
Рис 5. Подходящая модель
Рис 6. Переобучение

Рис. 4 показывает результат использования слишком простой модели для представленного датасета. Как видно из рисунка, данные плохо классифицируются такой моделью.

При выявлении недообучения следует выбрать более сложную модель (Рис. 5), которая бы смогла лучше описать представленные данные.

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

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

Кривая обучения — графическое представление того, как изменение меры обученности (по вертикальной оси) зависит от определенной единицы измерения опыта (по горизонтальной оси)[1]. Например, в примерах ниже представлена зависимость средней ошибки от объема датасета.

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

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

Рис 7. Кривые обучения при переобучении

Рис. 7 демонстрирует зависимость средней ошибки для обучающей и тестовой выборок от объема датасета при переобучении.

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

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

Рис 8. Кривые обучения при недообучении

Рис. 8 демонстрирует зависимость средней ошибки для обучающей и тестовой выборок от объема датасета при недообучении.

High variance и high bias[править]

Bias — ошибка неверных предположений в алгоритме обучения. Высокий bias может привести к недообучению.

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

Рис 9. High variance и high bias

При использовании нейронных сетей variance увеличивается, а bias уменьшается с увеличением количества скрытых слоев.

Для устранения high variance и high bias можно использовать смеси и ансамбли. Например, можно составить ансамбль (boosting) из нескольких моделей с высоким bias и получить модель с небольшим bias. В другом случае при bagging соединяются несколько моделей с низким bias, а результирующая модель позволяет уменьшить variance.

Дилемма bias–variance[править]

Дилемма bias–variance — конфликт в попытке одновременно минимизировать bias и variance, тогда как уменьшение одного из негативных эффектов, приводит к увеличению другого. Данная дилемма проиллюстрирована на Рис 10.

Рис 10. Дилемма bias–variance

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

Возможные решения[править]

Возможные решения при переобучении[править]

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

Возможные решения при недообучении[править]

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

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

Примечания[править]

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