Редактирование: Переобучение

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

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
'''Переобучение''' (англ. overfitting) {{---}} негативное явление, возникающее, когда алгоритм обучения вырабатывает предсказания, которые слишком близко или точно соответствуют конкретному набору данных и поэтому не подходят для применения алгоритма к дополнительным данным или будущим наблюдениям.
+
'''Переобучение''' (англ. overfitting) {{---}} негативное явление, возникающее, когда алгоритм обучения вырабатывает предсказания, которые слишком близко или точно соответствуют конкретному набору данных, и поэтому не подходят для применения алгоритма к дополнительным данным или будущим наблюдениям.
  
 
'''Недообучение''' (англ. underfitting) {{---}} негативное явление, при котором алгоритм обучения не обеспечивает достаточно малой величины средней ошибки на обучающей выборке. Недообучение возникает при использовании недостаточно сложных моделей.
 
'''Недообучение''' (англ. underfitting) {{---}} негативное явление, при котором алгоритм обучения не обеспечивает достаточно малой величины средней ошибки на обучающей выборке. Недообучение возникает при использовании недостаточно сложных моделей.
  
 
== Примеры ==
 
== Примеры ==
=== На примере [[Линейная регрессия | линейной регрессии]] ===
+
=== На примере [[Линейная регрессия | линейной регрессии]]<sup>[на 14.12.18 не создан]</sup> ===
Представьте задачу линейной регрессии. Красные точки представляют исходные данные. Синие линии являются графиками полиномов различной степени M, аппроксимирующих исходные данные.
+
Представьте задачу предсказания <math>y</math> по <math>x \in R</math>. Рис 1 показывает результат использования модели <math>y=θ_0+θ_1*x</math> для представленного датасета. Как видно из Рис 1 данные не поддаются линейной зависимости, и по этой причине модель не очень хороша.
 
 
 
{|align="center"
 
{|align="center"
 
  |-valign="top"
 
  |-valign="top"
  |[[Файл:High_bias_reg.png|200px|thumb|Рис 1. Недообучение. M=1]]
+
  |[[Файл:High_bias_reg.png|200px|thumb|Рис 1. Недообучение]]
  |[[Файл:Normal_bias_reg.png|200px|thumb|Рис 2. Норма. M=2]]
+
  |[[Файл:Normal_bias_reg.png|200px|thumb|Рис 2. Модель подходит]]
  |[[Файл:High_variance_reg.png|200px|thumb|Рис 3. Переобучение. M=4]]
+
  |[[Файл:High_variance_reg.png|200px|thumb|Рис 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 данная модель слишком заточена для точки обучающего датасета и, веротяно, покажет плохой результат на тестовом датасете.
  
Как видно из Рис. 1, данные не поддаются линейной зависимости при небольшой степени полинома и по этой причине модель, представленная на данном рисунке, не очень хороша.
+
=== На примере [[Логистическая регрессия | логистической регрессии]]<sup>[на 14.12.18 не создан]</sup> ===
 
+
Представьте задачу классификации размеченых точек. Рис 4 показывает результат использования модели <math>g(θ_0+θ_1*x_1+θ_2*x_2)</math> для представленного датасета. Как и в предыдущем примере, данные не поддаются классификации по линейной зависимости.
На Рис. 2 представлена ситуация, когда выбранная полиномиальная функция подходит для описания исходных данных.
 
 
 
Рис. 3 иллюстрирует случай, когда высокая степень полинома ведет к тому, что модель слишком заточена на данные обучающего датасета.
 
 
 
=== На примере [[Логистическая регрессия | логистической регрессии]] ===
 
Представьте задачу классификации размеченных точек. Красные точки представляют данные класса 1. Голубые круглые точки {{---}} класса 2. Синие линии являются представлением различных моделей, которыми производится классификация данных.  
 
 
 
 
{|align="center"
 
{|align="center"
 
  |-valign="top"
 
  |-valign="top"
 
  |[[Файл:High_bias_cla.png|200px|thumb|Рис 4. Недообучение]]
 
  |[[Файл:High_bias_cla.png|200px|thumb|Рис 4. Недообучение]]
  |[[Файл:Normal_bias_cla.png|200px|thumb|Рис 5. Подходящая модель]]
+
  |[[Файл:Normal_bias_cla.png|200px|thumb|Рис 5. Модель подходит]]
 
  |[[Файл:High_variance_cla.png|200px|thumb|Рис 6. Переобучение]]
 
  |[[Файл: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> для представленного датасета {{---}} это яркий пример явления переобучения.
 
 
При выявлении недообучения следует выбрать более сложную модель (Рис. 5), которая бы смогла лучше описать представленные данные.
 
 
 
Выбор слишком сложной модели приводит к ситуации, когда модель максимально точно классифицирует обучающую выборку, но сильно ошибается на новых измерениях. Данная ситуация представлена на Рис. 6.
 
  
 
== Кривые обучения ==
 
== Кривые обучения ==
'''Кривая обучения''' {{---}} графическое представление того, как изменение меры обученности (по вертикальной оси) зависит от определенной единицы измерения опыта (по горизонтальной оси)<ref>[https://en.wikipedia.org/wiki/Learning_curve Wikipedia {{---}} Learning curve]</ref>. Например, в примерах ниже представлена зависимость средней ошибки от объема датасета.
 
 
 
=== Кривые обучения при переобучении ===
 
=== Кривые обучения при переобучении ===
 
При переобучении небольшая средняя ошибка на обучающей выборке не обеспечивает такую же малую ошибку на тестовой выборке.  
 
При переобучении небольшая средняя ошибка на обучающей выборке не обеспечивает такую же малую ошибку на тестовой выборке.  
Строка 46: Строка 33:
 
  |}
 
  |}
  
Рис. 7 демонстрирует зависимость средней ошибки для обучающей и тестовой выборок от объема датасета при переобучении.
+
Рис. 7 демонстрирует зависимость средней ошибки для обучающей и тестовых выборок от объема датасета.
  
 
=== Кривые обучения при недообучении ===
 
=== Кривые обучения при недообучении ===
Строка 61: Строка 48:
 
'''Bias''' {{---}} ошибка неверных предположений в алгоритме обучения. Высокий '''bias''' может привести к недообучению.
 
'''Bias''' {{---}} ошибка неверных предположений в алгоритме обучения. Высокий '''bias''' может привести к недообучению.
  
'''Variance''' {{---}} ошибка, вызванная большой чувствительностью к небольшим отклонениям в тренировочном наборе. Высокая дисперсия может привести к переобучению.
+
'''Variance''' {{---}} это ошибка, вызванная большой чувствительностью к небольшим отклонениям в тренировочном наборе. Высокая дисперсия может привести к переобучению.
  
 
{|align="center"
 
{|align="center"
Строка 71: Строка 58:
  
 
Для устранения '''high variance''' и '''high bias''' можно использовать смеси и ансамбли. Например, можно составить ансамбль ('''boosting''') из нескольких моделей с высоким '''bias''' и получить модель с небольшим '''bias'''. В другом случае при '''bagging''' соединяются несколько моделей с низким '''bias''', а результирующая модель позволяет уменьшить '''variance'''.
 
Для устранения '''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 bias'''. При усложнении модели '''bias''' уменьшается, но '''variance''' увеличится, что приводит к проблеме '''high variance'''.
 
  
 
== Возможные решения ==
 
== Возможные решения ==
 
=== Возможные решения при переобучении ===
 
=== Возможные решения при переобучении ===
* Увеличение количества данных в наборе;
+
* Увеличение количества данных в наборе
* Уменьшение количества параметров модели;
+
* Уменьшение количества параметров модели
* Добавление регуляризации / увеличение коэффициента регуляризации.
+
* Добавление регуляризации / увеличение коэффициента регуляризации
  
 
=== Возможные решения при недообучении ===
 
=== Возможные решения при недообучении ===
* Добавление новых параметров модели;
+
* Добавление новых параметров модели
* Использование для описания модели функций с более высокой степенью;
+
* Использование для описания модели функций с более высокой степенью  
* Уменьшение коэффициента регуляризации.
+
* Уменьшение коэффициента регуляризации
  
 
== См. также ==
 
== См. также ==
* [[Модель алгоритма и ее выбор]]
+
* [[Модель алгоритма и ее выбор]]<sup>[на 01.12.18 не создан]</sup>
* [[Оценка качества в задачах классификации и регрессии]]<sup>[на 28.01.19 не создан]</sup>
+
* [[Оценка качества в задачах классификации и регрессии]]<sup>[на 01.12.18 не создан]</sup>
* [[Оценка качества в задаче кластеризации]]
+
* [[Оценка качества в задаче кластеризации]]<sup>[на 01.12.18 не создан]</sup>
 
+
* [https://www.coursera.org/lecture/machine-learning/the-problem-of-overfitting-ACpTQ The Problem of Overfitting on Coursera, Andrew Ng]
 
== Примечания ==
 
== Примечания ==
<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://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]
 
* [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://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
+
# [https://en.wikipedia.org/wiki/Overfitting Overfitting] - статься на Википедии
* ''Hastie, T., Tibshirani, R., Friedman, J. '' [http://www-stat.stanford.edu/~tibs/ElemStatLearn The Elements of Statistical Learning, 2nd edition.] — Springer, 2009. — 533 p.
+
# [http://www.machinelearning.ru/wiki/index.php?title=Переобучение Переобучение] - вводная статься на MachineLearning.ru
* ''Vapnik V.N. '' [http://lib.mexmat.ru/books/9220 Statistical learning theory.] — N.Y.: John Wiley & Sons, Inc., 1998.  
+
# [https://www.coursera.org/lecture/machine-learning/the-problem-of-overfitting-ACpTQ The Problem of Overfitting] - курс Andrew Ng
* ''Воронцов, К. В. '' [http://www.machinelearning.ru/wiki/images/b/b6/Voron10doct.pdf Комбинаторная теория надёжности обучения по прецедентам]: Дис. док. физ.-мат. наук: 05-13-17. — Вычислительный центр РАН, 2010. — 271 с.
+
# ''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 с.

Пожалуйста, учтите, что любой ваш вклад в проект «Викиконспекты» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Викиконспекты:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Чтобы изменить эту страницу, пожалуйста, ответьте на приведённый ниже вопрос (подробнее):

Отменить | Справка по редактированию (в новом окне)

Шаблон, используемый на этой странице: