Переобучение — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м (Поправить номера риссунков)
Строка 3: Строка 3:
  
 
== Примеры ==
 
== Примеры ==
=== Недообучение на примере линейной регрессии ===
+
=== На примере линейной регрессии ===
 
Представьте задачу предсказания y по x ∈ R. Рис 1 показывает результат использования модели <math>y=θ_0+θ_1*x</math> для представленного датасета. Как видно из Рис 1 данные не поддаются линейной зависимости и по этой причине модель не очень хороша.
 
Представьте задачу предсказания y по x ∈ R. Рис 1 показывает результат использования модели <math>y=θ_0+θ_1*x</math> для представленного датасета. Как видно из Рис 1 данные не поддаются линейной зависимости и по этой причине модель не очень хороша.
 
{|align="center"
 
{|align="center"
 
  |-valign="top"
 
  |-valign="top"
 
  |[[Файл:High_bias_reg.png|200px|thumb|Рис 1. Недообучение]]
 
  |[[Файл:High_bias_reg.png|200px|thumb|Рис 1. Недообучение]]
  |[[Файл:Normal_bias_reg.png|200px|thumb|Рис 2]]
+
  |[[Файл:Normal_bias_reg.png|200px|thumb|Рис 2. Модель подходит]]
 +
|[[Файл:High_variance_reg.png|200px|thumb|Рис 3. Переобучение]]
 
  |}
 
  |}
Если же добавить дополнительный параметр x^2, и использовать модель <math>y=θ_0+θ_1*x+θ_2*x^2</math>, как представлено на Рис 2, то модель значительно лучше подходит для представленного датасета.  
+
Если же добавить дополнительный параметр x^2, и использовать модель <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 данная модель слишком заточена для обучающего датасета и, веротяно, покажет плохой результат на тестовой.
  
=== Недообучение на примере логистической регрессии ===
+
=== На примере логистической регрессии ===
Представьте задачу классификации размеченых точек. Рис 3 показывает результат использования модели <math>g(θ_0+θ_1*x_1+θ_2*x_2)</math> для представленного датасета. Как и в предыдущем примере данные не поддаются классификации по линейной зависимости.
+
Представьте задачу классификации размеченых точек. Рис 4 показывает результат использования модели <math>g(θ_0+θ_1*x_1+θ_2*x_2)</math> для представленного датасета. Как и в предыдущем примере, данные не поддаются классификации по линейной зависимости.
 
{|align="center"
 
{|align="center"
 
  |-valign="top"
 
  |-valign="top"
  |[[Файл:High_bias_cla.png|200px|thumb|Рис 3. Недообучение]]
+
  |[[Файл:High_bias_cla.png|200px|thumb|Рис 4. Недообучение]]
  |[[Файл:Normal_bias_cla.png|200px|thumb|Рис 4]]
+
  |[[Файл:Normal_bias_cla.png|200px|thumb|Рис 5. Модель подходит]]
 +
|[[Файл:High_variance_cla.png|200px|thumb|Рис 6. Переобучение]]
 
  |}
 
  |}
В случае же выбора модели <math>g(θ_0+θ_1*x_1+θ_2*x_2+θ_3*x_1^2+θ_4*x_2^2+x_1*x_2)</math>, представленой на Рис 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> для представленного датасета - это яркий пример явления переобучения.  
 
 
 
 
=== Переобучение на примере линейной регрессии ===
 
Представьте задачу предсказания 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_reg.png|200px|thumb|Рис 5. Переобучение]]
 
|[[Файл:Normal_bias_reg.png|200px|thumb|Рис 6]]
 
|}
 
Если же добавить упростить модель, и использовать функцию <math>y=θ_0+θ_1*x+θ_2*x^2</math>, как представлено на Рис 6, то модель значительно лучше подходит для представленного датасета.
 
 
 
=== Переобучение на примере логистической регрессии ===
 
Представьте задачу классификации размеченых точек. Рис 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> для представленного датасета.
 
{|align="center"
 
|-valign="top"
 
|[[Файл:High_variance_cla.png|200px|thumb|Рис 7. Переобучение]]
 
|[[Файл:Normal_bias_cla.png|200px|thumb|Рис 8]]
 
|}
 
В случае же выбора модели <math>g(θ_0+θ_1*x_1+θ_2*x_2+θ_3*x_1^2+θ_4*x_2^2+x_1*x_2)</math>, представленой на Рис 8, данные значительно лучше соответствуют модели.
 
  
 
== Кривые обучения ==
 
== Кривые обучения ==

Версия 18:43, 15 октября 2018

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

Примеры

На примере линейной регрессии

Представьте задачу предсказания y по x ∈ R. Рис 1 показывает результат использования модели [math]y=θ_0+θ_1*x[/math] для представленного датасета. Как видно из Рис 1 данные не поддаются линейной зависимости и по этой причине модель не очень хороша.

Рис 1. Недообучение
Рис 2. Модель подходит
Рис 3. Переобучение

Если же добавить дополнительный параметр x^2, и использовать модель [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 данная модель слишком заточена для обучающего датасета и, веротяно, покажет плохой результат на тестовой.

На примере логистической регрессии

Представьте задачу классификации размеченых точек. Рис 4 показывает результат использования модели [math]g(θ_0+θ_1*x_1+θ_2*x_2)[/math] для представленного датасета. Как и в предыдущем примере, данные не поддаются классификации по линейной зависимости.

Рис 4. Недообучение
Рис 5. Модель подходит
Рис 6. Переобучение

В случае же выбора модели [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] для представленного датасета - это яркий пример явления переобучения.

Кривые обучения

Кривые обучения при переобучении

Кривые обучения при переобучении

Кривые обучения при недообучении

Кривые обучения при недообучении

Возможные решения

Возможные решения при переобучении

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

Возможные решения при недообучении

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