Регуляризация — различия между версиями
(→На примере линейной регрессии) |
(→Основные виды регуляризации) |
||
Строка 34: | Строка 34: | ||
==Основные виды регуляризации== | ==Основные виды регуляризации== | ||
− | Переобучение в большинстве случаев проявляется в том, что итоговые модели имеют слишком большие значения параметров. Соответственно, необходимо добавить в целевую функцию штраф за | + | Переобучение в большинстве случаев проявляется в том, что итоговые модели имеют слишком большие значения параметров. Соответственно, необходимо добавить в целевую функцию штраф за это. Наиболее часто используемые виды регуляризации - <tex >L_{1}</tex> и <tex >L_{2}</tex>, а также их линейная комбинация - эластичная сеть. |
===<tex>L_{1}</tex>-регуляризация=== | ===<tex>L_{1}</tex>-регуляризация=== | ||
<tex>L_{1}</tex>-регуляризация (англ. ''lasso regression''), или регуляризация через манхэттенское расстояние: | <tex>L_{1}</tex>-регуляризация (англ. ''lasso regression''), или регуляризация через манхэттенское расстояние: |
Версия 03:53, 20 января 2020
Определение: |
Регуляризация (англ. regularization) в статистике, машинном обучении, теории обратных задач — метод добавления некоторых дополнительных ограничений к условию с целью решить неккоректно поставленную задачу или предотвратить переобучение. Чаще всего эта информация имеет вид штрафа за сложность модели. |
Содержание
Мотивация
Как говорилось ранее, регуляризация полезна для борьбы с переобучением. Если вы выбрали сложную модель, и при этом у вас недостаточно данных, то легко можно получить итоговую модель, которая хорошо описывает обучающую выборку, но не обобщается на тестовую.
На примере линейной регрессии
В качестве наглядного примера можно рассмотреть линейные регрессионные модели. Восстановить зависимость для нескольких точек можно пытаться полиномами разной степени M.
Как можно видеть на Рис 1. представлена зависимость, которая хорошо подходит для описания данных, а на Рис. 2 - модель слишком сильно заточилась под обучающую выборку.
Одним из способов бороться с этим эффектом - использовать регуляризацию, т. е. добавлять некоторый штраф за большие значения коэффициентов у линейной модели. Тем самым мы запретим слишком "резкие" изгибы и ограничим возможность подстраивания модели под данные.
На примере логистической регрессии
Необходимость регуляризации можно увидеть и на другом примере. Представьте, что ваша обучающая выборка была линейно разделима. В таком случае в процессе оптимизации значения весов уйдут в бесконечность и вместо сигмойды получится "ступенька", как представлено на Рис. 3.
Это плохо, ибо мы переобучились на нашу обучающую выборку. Как и в предыдущем примере, побороться с этим можно путем добавлением регуляризации, не дающей весам принимать слишком большие значения.
Основные виды регуляризации
Переобучение в большинстве случаев проявляется в том, что итоговые модели имеют слишком большие значения параметров. Соответственно, необходимо добавить в целевую функцию штраф за это. Наиболее часто используемые виды регуляризации -
и , а также их линейная комбинация - эластичная сеть.-регуляризация
-регуляризация (англ. lasso regression), или регуляризация через манхэттенское расстояние: .
-регуляризация
-регуляризация, или регуляризация Тихонова (англ. ridge regression или Tikhonov regularization): .
Эластичная сеть
Эластичная сеть (англ. elastic net regularization):
.