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

Материал из Викиконспекты
Версия от 12:48, 5 мая 2021; 77.111.245.14 (обсуждение) (Источники информации)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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