Изменения

Перейти к: навигация, поиск

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

3011 байт добавлено, 15:50, 23 января 2020
Источники информации
'''Переобучение''' (англ. overfitting) {{---}} негативное явление, возникающее, когда алгоритм обучения вырабатывает предсказания, которые слишком близко или точно соответствуют конкретному набору данных, и поэтому не подходят для применения алгоритма к дополнительным данным или будущим наблюдениям.
'''Недообучение''' (англ. underfitting) {{---}} негативное явление, при котором алгоритм обучения не обеспечивает достаточно малой величины средней ошибки на обучающей выборке. Недообучение возникает при использовании недостаточно сложных моделей.
== Примеры ==
=== На примере [[Линейная регрессия | линейной регрессии ]] ===Представьте задачу предсказания <math>y</math> по <math>x \in R</math>линейной регрессии. Рис 1 показывает результат использования модели <math>y=θ_0+θ_1*x</math> для представленного датасетаКрасные точки представляют исходные данные. Как видно из Рис 1 Синие линии являются графиками полиномов различной степени M, аппроксимирующих исходные данные не поддаются линейной зависимости, и по этой причине модель не очень хороша
{|align="center"
|-valign="top"
|[[Файл:High_bias_reg.png|200px|thumb|Рис 1. Недообучение. M=1]] |[[Файл:Normal_bias_reg.png|200px|thumb|Рис 2. Модель подходитНорма. M=2]] |[[Файл:High_variance_reg.png|200px|thumb|Рис 3. Переобучение. M=4]]
|}
Если же добавить дополнительный параметр <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 данная модель слишком заточена для точки обучающего датасета и, веротяно, покажет плохой результат на тестовом датасете.
Как видно из Рис. 1, данные не поддаются линейной зависимости при небольшой степени полинома и по этой причине модель, представленная на данном рисунке, не очень хороша. На Рис. 2 представлена ситуация, когда выбранная полиномиальная функция подходит для описания исходных данных. Рис. 3 иллюстрирует случай, когда высокая степень полинома ведет к тому, что модель слишком заточена на данные обучающего датасета. === На примере [[Логистическая регрессия | логистической регрессии ]] ===Представьте задачу классификации размеченых размеченных точек. Рис 4 показывает результат использования модели <math>g(θ_0+θ_1*x_1+θ_2*x_2)</math> для представленного датасетаКрасные точки представляют данные класса 1. Голубые круглые точки {{---}} класса 2. Как и в предыдущем примереСиние линии являются представлением различных моделей, данные не поддаются классификации по линейной зависимостикоторыми производится классификация данных
{|align="center"
|-valign="top"
|[[Файл:High_bias_cla.png|200px|thumb|Рис 4. Недообучение]]
|[[Файл:Normal_bias_cla.png|200px|thumb|Рис 5. Модель подходитПодходящая модель]]
|[[Файл:High_variance_cla.png|200px|thumb|Рис 6. Переобучение]]
|}
В случае же выбора Рис. 4 показывает результат использования слишком простой модели <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> для представленного датасета {{---}} это яркий пример явления переобучения.
== Кривые обучения ==
'''Кривая обучения''' {{---}} графическое представление того, как изменение меры обученности (по вертикальной оси) зависит от определенной единицы измерения опыта (по горизонтальной оси)<ref>[https://en.wikipedia.org/wiki/Learning_curve Wikipedia {{---}} Learning curve]</ref>. Например, в примерах ниже представлена зависимость средней ошибки от объема датасета.
 
=== Кривые обучения при переобучении ===
При переобучении небольшая средняя ошибка на обучающей выборке не обеспечивает такую же малую ошибку на тестовой выборке.  {|align="center" |-valign="top" |[[Файл:High_variance_learning_curve.png|border|500px400px|Кривые обучения при переобучении|thumb|Рис 7. Кривые обучения при переобучении]] |} Рис. 7 демонстрирует зависимость средней ошибки для обучающей и тестовой выборок от объема датасета при переобучении. 
=== Кривые обучения при недообучении ===
При недообучении независимо от объема обучающего датасета как на обучающей выборке, так и на тестовой выборке небольшая средняя ошибка не достигается.  {|align="center" |-valign="top" |[[Файл:High_bias_learning_curve.png|border|500px400px|Кривые обучения при переобучении|thumb|Рис 8. Кривые обучения при недообучении]] |} Рис. 8 демонстрирует зависимость средней ошибки для обучающей и тестовой выборок от объема датасета при недообучении.
== High variance и high bias ==
'''Bias''' {{---}} ошибка неверных предположений в алгоритме обучения. Высокий '''bias ''' может привести к недообучению.
'''Variance''' {{---}} это ошибка, вызванная большой чувствительностью к небольшим отклонениям в тренировочном наборе. Высокая дисперсия может привести к переобучению.
{|align="center"
|}
При использовании нейронных сетей '''variance ''' увеличивается, а '''bias ''' уменьшается с увеличением количества скрытых слоев. Для устранения '''high variance''' и '''high bias''' можно использовать смеси и ансамбли. Например, можно составить ансамбль ('''boosting''') из нескольких моделей с высоким '''bias''' и получить модель с небольшим '''bias'''. В другом случае при '''bagging''' соединяются несколько моделей с низким '''bias''', а результирующая модель позволяет уменьшить '''variance'''. ===Дилемма bias–variance ==='''Дилемма bias–variance''' {{---}} конфликт в попытке одновременно минимизировать '''bias''' и '''variance''', тогда как уменьшение одного из негативных эффектов, приводит к увеличению другого. Данная дилемма проиллюстрирована на Рис 10. {|align="center" |-valign="top" |[[Файл:Bias-Variance-Tradeoff.png|border|400px|thumb|right|Рис 10. Дилемма bias–variance]] |}
Для устранения high variance и При небольшой сложности модели мы наблюдаем '''high bias можно использовать смеси и ансамбли'''. НапримерПри усложнении модели '''bias''' уменьшается, можно составить ансамбль (boosting) из нескольких моделей с высоким bias и получить модель с небольшим bias. В другом случае при bagging соединяются несколько моделей с низким biasно '''variance''' увеличится, а результирующая модель позволяет уменьшить что приводит к проблеме '''high variance'''.
== Возможные решения ==
=== Возможные решения при переобучении ===
* Увеличение количества данных в наборе;* Уменьшение количества параметров модели;* Добавление регуляризации / увеличение коэффициента регуляризации.
=== Возможные решения при недообучении ===
* Добавление новых параметров модели;* Использование для описания модели функций с более высокой степенью ;* Уменьшение коэффициента регуляризации.
== См. также ==
* [[Модель алгоритма и ее выбор]]<sup>[на 01.12.18 не создан]</sup>* [[Оценка качества в задачах классификации и регрессии]]<sup>[на 28.01.12.18 19 не создан]</sup>* [[Оценка качества в задаче кластеризации]]<sup>[на 01.12.18 не создан]</sup>
== Примечания ==
<references/>
 
== Источники информации ==
* [https://www.coursera.org/lecture/machine-learning/the-problem-of-overfitting-ACpTQ The Problem of Overfitting on Coursera, Andrew Ng]
* [http://blog.lokad.com/journal/2009/4/22/overfitting-when-accuracy-measure-goes-wrong.html Overfitting: when accuracy measure goes wrong]
* [http://www3.cs.stonybrook.edu/~skiena/jaialai/excerpts/node16.html The Problem of Overfitting Data]
* [https://elitedatascience.com/overfitting-in-machine-learning Overfitting in Machine Learning]
 == Источники информации ==# * [https://en.wikipedia.org/wiki/Overfitting Overfitting] - статься на Википедии# * [http://www.machinelearning.ru/wiki/index.php?title=Переобучение Переобучение] - вводная статься на MachineLearning.ru# * [https://www.coursera.org/lecture/machine-learning/the-problem-of-overfitting-ACpTQ The Problem of Overfitting] - курс Andrew Ng# * ''Hastie, T., Tibshirani, R., Friedman, J. '' [http://www-stat.stanford.edu/~tibs/ElemStatLearn The Elements of Statistical Learning, 2nd edition.] — Springer, 2009. — 533 p.# * ''Vapnik V.N. '' [http://lib.mexmat.ru/books/9220 Statistical learning theory.] — N.Y.: John Wiley & Sons, Inc., 1998. # * ''Воронцов, К. В. '' [http://www.machinelearning.ru/wiki/images/b/b6/Voron10doct.pdf Комбинаторная теория надёжности обучения по прецедентам]: Дис. док. физ.-мат. наук: 05-13-17. — Вычислительный центр РАН, 2010. — 271 с.
Анонимный участник

Навигация