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

Материал из Викиконспекты
Версия от 18:57, 14 декабря 2018; 81.3.129.2 (обсуждение) (Кривые обучения)
Перейти к: навигация, поиск

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

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

Примеры

На примере линейной регрессии[на 14.12.18 не создан]

Представьте задачу предсказания [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 данная модель слишком заточена для точки обучающего датасета и, веротяно, покажет плохой результат на тестовом датасете.

На примере логистической регрессии[на 14.12.18 не создан]

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

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

Кривая обучения — графическое представление того, как изменение меры обученности (по вертикальной оси) зависит от некой еденицы измерения опыта (по горизонтальной оси)[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.

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

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

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

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

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

См. также

Примечания

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

  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 с.
    1. Learning curve, Wikipedia
    Источник — «http://neerc.ifmo.ru/wiki/index.php?title=Переобучение&oldid=67912»