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

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

Переобучение (англ. 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] для представленного датасета — это яркий пример явления переобучения.

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

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

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

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

Рис 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.

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

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

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

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

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

См. также

Примечания

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

  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 с.