Изменения

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

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

4587 байт добавлено, 19:13, 4 сентября 2022
м
rollbackEdits.php mass rollback
'''Переобучение''' (англ. overfitting, high variance) {{--- }} негативное явление , возникающее, когда величина средней ошибки обученного алгоритм обучения вырабатывает предсказания, которые слишком близко или точно соответствуют конкретному набору данных и поэтому не подходят для применения алгоритма на объектах тестовой выборки оказывается существенно выше, чем величина средней ошибки на обучающей выборкек дополнительным данным или будущим наблюдениям. Переобучение возникает при использовании избыточно сложных моделей.<br> '''Недообучение''' (англ. underfitting, high bias) {{-- -}} негативное явление возникающее, когда при котором алгоритм обучения не обеспечивает достаточно малой величины средней ошибки на обучающей выборке. Недообучение возникает при использовании недостаточно сложных моделей.
== Примеры ==
  === Недообучение на На примере [[Линейная регрессия | линейной регрессии ]] ===Представьте задачу предсказания y по x ∈ Rлинейной регрессии. Красные точки представляют исходные данные. Синие линии являются графиками полиномов различной степени M, аппроксимирующих исходные данные. {|align="center" |-valign="top" |[[Файл:High_bias_reg. png|200px|thumb|Рис 1 показывает результат использования модели <math>y. Недообучение. M=1]] |[[Файл:Normal_bias_reg.png|200px|thumb|Рис 2. Норма. M=θ_0+θ_1*x</math> для представленного датасета2]] |[[Файл:High_variance_reg.png|200px|thumb|Рис 3. Переобучение. M=4]] |} Как видно из Рис . 1 , данные не поддаются линейной зависимости при небольшой степени полинома и по этой причине модель , представленная на данном рисунке, не очень хороша. На Рис. 2 представлена ситуация, когда выбранная полиномиальная функция подходит для описания исходных данных. Рис. 3 иллюстрирует случай, когда высокая степень полинома ведет к тому, что модель слишком заточена на данные обучающего датасета. === На примере [[Логистическая регрессия | логистической регрессии]] ===  Представьте задачу классификации размеченных точек. Красные точки представляют данные класса 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 показывает результат использования слишком простой модели для представленного датасета == Кривые обучения =='''Кривая обучения''' {{---}} графическое представление того, как изменение меры обученности (по вертикальной оси) зависит от определенной единицы измерения опыта (по горизонтальной оси)<ref>[https://en.wikipedia.org/wiki/Learning_curve Wikipedia {{---}} Learning curve]</ref>. Например, в примерах ниже представлена зависимость средней ошибки от объема датасета. === Кривые обучения при переобучении ===При переобучении небольшая средняя ошибка на обучающей выборке не обеспечивает такую же малую ошибку на тестовой выборке.  
{|align="center"
|-valign="top"
|[[Файл:High_bias_regHigh_variance_learning_curve.png|200pxborder|thumb|Рис 1. Недообучение]] |[[Файл:Normal_bias_reg.png400px|200pxКривые обучения при переобучении|thumb|Рис 27. Кривые обучения при переобучении]]
|}
Если же добавить дополнительный параметр x^2, и использовать модель <math>y=θ_0+θ_1*x+θ_2*x^2</math>, как представлено на Рис 2, то модель значительно лучше подходит для представленного датасета.
Рис. 7 демонстрирует зависимость средней ошибки для обучающей и тестовой выборок от объема датасета при переобучении. === Недообучение на примере логистической регрессии Кривые обучения при недообучении ===Представьте задачу классификации размеченых точек. Рис 3 показывает результат использования модели <math>g(θ_0+θ_1*x_1+θ_2*x_2)</math> для представленного При недообучении независимо от объема обучающего датасета. Как как на обучающей выборке, так и в предыдущем примере данные на тестовой выборке небольшая средняя ошибка не поддаются классификации по линейной зависимостидостигается
{|align="center"
|-valign="top"
|[[Файл:High_bias_claHigh_bias_learning_curve.png|200pxborder|thumb|Рис 3. Недообучение]] |[[Файл:Normal_bias_cla.png400px|200pxКривые обучения при переобучении|thumb|Рис 48. Кривые обучения при недообучении]]
|}
В случае же выбора модели <math>g(θ_0+θ_1*x_1+θ_2*x_2+θ_3*x_1^2+θ_4*x_2^2+x_1*x_2)</math>, представленой на Рис 4, данные значительно лучше соответствуют модели.
Рис. 8 демонстрирует зависимость средней ошибки для обучающей и тестовой выборок от объема датасета при недообучении.
 
== High variance и high bias ==
'''Bias''' {{---}} ошибка неверных предположений в алгоритме обучения. Высокий '''bias''' может привести к недообучению.
 
'''Variance''' {{---}} ошибка, вызванная большой чувствительностью к небольшим отклонениям в тренировочном наборе. Высокая дисперсия может привести к переобучению.
=== Переобучение на примере линейной регрессии ===
Представьте задачу предсказания y по x ∈ R. Рис 5 показывает результат использования модели <math>y=θ_0+θ_1*x+θ_2*x^2+θ_3*x^3+θ_4*x^4</math> для представленного датасета. Как видно из Рис 5 данная модель слишком заточена для обучающего датасета и, веротяно, покажет плохой результат на тестовой.
{|align="center"
|-valign="top"
|[[Файл:High_variance_regHigh_bias.pngjpg|200pxborder|300px|thumb|right|Рис 59. Переобучение]] |[[Файл:Normal_bias_reg.png|200px|thumb|Рис 6High variance и high bias]]
|}
Если же добавить упростить модель, и использовать функцию <math>y=θ_0+θ_1*x+θ_2*x^2</math>, как представлено на Рис 6, то модель значительно лучше подходит для представленного датасета.
При использовании нейронных сетей '''variance''' увеличивается, а '''bias''' уменьшается с увеличением количества скрытых слоев. Для устранения '''high variance''' и '''high bias''' можно использовать смеси и ансамбли. Например, можно составить ансамбль ('''boosting''') из нескольких моделей с высоким '''bias''' и получить модель с небольшим '''bias'''. В другом случае при '''bagging''' соединяются несколько моделей с низким '''bias''', а результирующая модель позволяет уменьшить '''variance'''. === Переобучение на примере логистической регрессии Дилемма bias–variance ===Представьте задачу классификации размеченых точек  '''Дилемма bias–variance''' {{---}} конфликт в попытке одновременно минимизировать '''bias''' и '''variance''', тогда как уменьшение одного из негативных эффектов, приводит к увеличению другого. Данная дилемма проиллюстрирована на Рис 7 показывает результат использования модели <math>g(θ_0+θ_1*x_1+θ_2*x_1^2+θ_3*x_2*x_1^2+θ_4*x_1^2*x_2^2 + ...)</math> для представленного датасета10.  
{|align="center"
|-valign="top"
|[[Файл:High_variance_claBias-Variance-Tradeoff.png|200pxborder|400px|thumb|right|Рис 710. Переобучение]] |[[Файл:Normal_bias_cla.png|200px|thumb|Рис 8Дилемма bias–variance]]
|}
В случае же выбора модели <math>g(θ_0+θ_1*x_1+θ_2*x_2+θ_3*x_1^2+θ_4*x_2^2+x_1*x_2)</math>, представленой на Рис 8, данные значительно лучше соответствуют модели.
== Кривые обучения ===== Кривые обучения при переобучении ===[[Файл:High_variance_learning_curveПри небольшой сложности модели мы наблюдаем '''high bias'''.png|border|500px|Кривые обучения при переобучении]]=== Кривые обучения при недообучении ===[[Файл:High_bias_learning_curveПри усложнении модели '''bias''' уменьшается, но '''variance''' увеличится, что приводит к проблеме '''high variance'''.png|border|500px|Кривые обучения при недообучении]]
== Возможные решения ==
=== Возможные решения при переобучении ===
* Увеличение количества данных датасетав наборе;* Уменьшение количества параметровмодели;* Добавление регуляризации / увеличение коэффициента регуляризации. 
=== Возможные решения при недообучении ===
* Добавление новых параметровмодели;* Использование для описания модели функций с более высокой степенью ;* Уменьшение коэффициента регуляризации. == См. также ==* [[Модель алгоритма и ее выбор]]* [[Оценка качества в задачах классификации и регрессии]]<sup>[на 28.01.19 не создан]</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 с.
1632
правки

Навигация