Переобучение
Переобучение (англ. overfitting) — негативное явление, возникающее, когда алгоритм обучения вырабатывает предсказания, которые слишком близко или точно соответствуют конкретному набору данных, и поэтому не подходят для применения алгоритма к дополнительным данным или будущим наблюдениям.
Недообучение (англ. underfitting) — негативное явление, при котором алгоритм обучения не обеспечивает достаточно малой величины средней ошибки на обучающей выборке. Недообучение возникает при использовании недостаточно сложных моделей.
Содержание
Примеры
На примере линейной регрессии[на 14.12.18 не создан]
Представьте задачу предсказания
по . Рис 1 показывает результат использования модели для представленного датасета. Как видно из Рис 1 данные не поддаются линейной зависимости, и по этой причине модель не очень хороша.Если же добавить дополнительный параметр
, и использовать модель , как представлено на Рис 2, то модель значительно лучше подходит для представленного датасета. Рис 3 показывает результат использования модели для представленного датасета. Как видно из Рис 3 данная модель слишком заточена для точки обучающего датасета и, веротяно, покажет плохой результат на тестовом датасете.На примере логистической регрессии[на 14.12.18 не создан]
Представьте задачу классификации размеченых точек. Рис 4 показывает результат использования модели
для представленного датасета. Как и в предыдущем примере, данные не поддаются классификации по линейной зависимости.В случае же выбора модели
, представленой на Рис 5, данные значительно лучше соответствуют модели. Рис 6 показывает результат использования модели для представленного датасета — это яркий пример явления переобучения.Кривые обучения
Кривые обучения при переобучении
При переобучении небольшая средняя ошибка на обучающей выборке не обеспечивает такую же малую ошибку на тестовой выборке.
Рис. 7 демонстрирует зависимость средней ошибки на обучающей и тестовых выборках от объема датасета.
Кривые обучения при недообучении
High variance и high bias
Bias — ошибка неверных предположений в алгоритме обучения. Высокий bias может привести к недообучению.
Variance — это ошибка, вызванная большой чувствительностью к небольшим отклонениям в тренировочном наборе. Высокая дисперсия может привести к переобучению.
При использовании нейронных сетей variance увеличивается, а bias уменьшается с увеличением количества скрытых слоев.
Для устранения high variance и high bias можно использовать смеси и ансамбли. Например, можно составить ансамбль (boosting) из нескольких моделей с высоким bias и получить модель с небольшим bias. В другом случае при bagging соединяются несколько моделей с низким bias, а результирующая модель позволяет уменьшить variance.
Возможные решения
Возможные решения при переобучении
- Увеличение количества данных в наборе
- Уменьшение количества параметров модели
- Добавление регуляризации / увеличение коэффициента регуляризации
Возможные решения при недообучении
- Добавление новых параметров модели
- Использование для описания модели функций с более высокой степенью
- Уменьшение коэффициента регуляризации
См. также
- Модель алгоритма и ее выбор[на 01.12.18 не создан]
- Оценка качества в задачах классификации и регрессии[на 01.12.18 не создан]
- Оценка качества в задаче кластеризации[на 01.12.18 не создан]
- The Problem of Overfitting on Coursera, Andrew Ng
Примечания
- Overfitting: when accuracy measure goes wrong
- The Problem of Overfitting Data
- Overfitting in Machine Learning
Источники информации
- Overfitting - статься на Википедии
- Переобучение - вводная статься на MachineLearning.ru
- The Problem of Overfitting - курс Andrew Ng
- Hastie, T., Tibshirani, R., Friedman, J. The Elements of Statistical Learning, 2nd edition. — Springer, 2009. — 533 p.
- Vapnik V.N. Statistical learning theory. — N.Y.: John Wiley & Sons, Inc., 1998.
- Воронцов, К. В. Комбинаторная теория надёжности обучения по прецедентам: Дис. док. физ.-мат. наук: 05-13-17. — Вычислительный центр РАН, 2010. — 271 с.