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

Материал из Викиконспекты
Версия от 01:19, 3 декабря 2018; Evaleria (обсуждение | вклад) (High variance и high bias)
Перейти к: навигация, поиск

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

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

Примеры

На примере линейной регрессии

Представьте задачу предсказания [math]y[/math] по [math]x \in R[/math]. Рис 1 показывает результат использования модели [math]y=θ_0+θ_1*x[/math] для представленного датасета. Как видно из Рис 1 данные не поддаются линейной зависимости, и по этой причине модель не очень хороша.

Рис 1. Недообучение
Рис 2. Модель подходит
Рис 3. Переобучение

Если же добавить дополнительный параметр [math]x^2[/math], и использовать модель [math]y=θ_0+θ_1*x+θ_2*x^2[/math], как представлено на Рис 2, то модель значительно лучше подходит для представленного датасета. Рис 3 показывает результат использования модели [math]y=θ_0+θ_1*x+θ_2*x^2+θ_3*x^3+θ_4*x^4[/math] для представленного датасета. Как видно из Рис 3 данная модель слишком заточена для обучающего датасета и, веротяно, покажет плохой результат на тестовой.

На примере логистической регрессии

Представьте задачу классификации размеченых точек. Рис 4 показывает результат использования модели [math]g(θ_0+θ_1*x_1+θ_2*x_2)[/math] для представленного датасета. Как и в предыдущем примере, данные не поддаются классификации по линейной зависимости.

Рис 4. Недообучение
Рис 5. Модель подходит
Рис 6. Переобучение

В случае же выбора модели [math]g(θ_0+θ_1*x_1+θ_2*x_2+θ_3*x_1^2+θ_4*x_2^2+θ_5*x_1*x_2)[/math], представленой на Рис 5, данные значительно лучше соответствуют модели. Рис 6 показывает результат использования модели [math]g(θ_0+θ_1*x_1+θ_2*x_1^2+θ_3*x_2*x_1^2+θ_4*x_1^2*x_2^2 + ...)[/math] для представленного датасета — это яркий пример явления переобучения.

Кривые обучения

Кривые обучения при переобучении

Кривые обучения при переобучении

Кривые обучения при недообучении

Кривые обучения при недообучении

High variance и high bias

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

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

High variance и high bias

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

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

Возможные решения

Возможные решения при переобучении

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

Возможные решения при недообучении

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

См. также

Примечания

Источники информации

  1. Overfitting - статься на Википедии
  2. Переобучение - вводная статься на MachineLearning.ru
  3. The Problem of Overfitting - курс Andrew Ng
  4. Hastie, T., Tibshirani, R., Friedman, J. The Elements of Statistical Learning, 2nd edition. — Springer, 2009. — 533 p.
  5. Vapnik V.N. Statistical learning theory. — N.Y.: John Wiley & Sons, Inc., 1998.
  6. Воронцов, К. В. Комбинаторная теория надёжности обучения по прецедентам: Дис. док. физ.-мат. наук: 05-13-17. — Вычислительный центр РАН, 2010. — 271 с.