Регуляризация — различия между версиями
(Вероятная постановка) |
(Все вероятностное) |
||
Строка 73: | Строка 73: | ||
:<tex>L_{\gamma}(\beta, X^l)=\ln p(X^l, \beta;\gamma)=\sum_{i}^l \ln p(x_{i}, y_{i}|\beta) + \ln p(\beta; \gamma) \rightarrow max_{\beta}</tex> | :<tex>L_{\gamma}(\beta, X^l)=\ln p(X^l, \beta;\gamma)=\sum_{i}^l \ln p(x_{i}, y_{i}|\beta) + \ln p(\beta; \gamma) \rightarrow max_{\beta}</tex> | ||
− | Функционал L_{\gamma} распадается на два слагаемых: логарифм правдоподобия и ''регуляризатор'', не зависящий от данных. Второе слагаемое ограничивает вектор параметров модели, не позволяя ему быть каким угодно. | + | Функционал <tex>L_{\gamma}</tex> распадается на два слагаемых: логарифм правдоподобия и ''регуляризатор'', не зависящий от данных. Второе слагаемое ограничивает вектор параметров модели, не позволяя ему быть каким угодно. |
В итоге мы получили, что с байесовской точки зрения многие методы регуляризации соответствуют добавлению некоторых априорных распределений на параметры модели. | В итоге мы получили, что с байесовской точки зрения многие методы регуляризации соответствуют добавлению некоторых априорных распределений на параметры модели. | ||
Строка 79: | Строка 79: | ||
===Нормальный регуляризатор=== | ===Нормальный регуляризатор=== | ||
− | Пусть вектор <tex>\beta</tex> | + | Пусть вектор <tex>\beta</tex> имеет ''нормальное распределение'', все его компоненты независимы и имеют равные дисперсии: |
− | + | :<tex>\beta \sim N(0, \sigma^2)</tex> | |
+ | Логарифмируя, получаем ''квадратичный регуляризатор'': | ||
+ | :<tex>\ln p(\beta; \sigma) = \ln (\frac{1}{(2 \pi \sigma)^{n/2}} \exp(- \frac{\| \beta \| ^ 2}{2 \sigma})) = - \frac{1}{2 \sigma}\| \beta \| ^ 2 + const(\beta),</tex> | ||
+ | где <tex>const(\beta)</tex> - слагаемое, не зависящее от <tex>\beta</tex>, которым можно пренебречь, поскольку оно не влияет на решение оптимизационной задачи. В итоге имеем <tex>L_{2}</tex> - регуляризатор. | ||
+ | |||
===Лапласовский регуляризатор=== | ===Лапласовский регуляризатор=== | ||
+ | Пусть вектор <tex>\beta</tex> имеет ''распределение Лапласа'', все его компоненты независимы и имеют равные дисперсии: | ||
+ | :<tex>\beta \sim Laplace(0, C)</tex> | ||
+ | Тогда: | ||
+ | :<tex>\ln p(\beta; C) = \ln (\frac{1}{(2C)^n} \exp(- \frac{\| \beta \|_{1}}{C})) = - \frac{1}{C}\| \beta \|_{1} + const(\beta), \| \beta \|_{1} = \sum_{j}|\beta_{j}|</tex> | ||
+ | Аналогично случаю с нормальным регуляризатором, <tex>const(\beta)</tex> можно опустить и, таким образом, получаем <tex>L_{1}</tex> - регуляризатор. | ||
==Регуляризация в линейной регрессии== | ==Регуляризация в линейной регрессии== |
Версия 06:10, 20 января 2020
Определение: |
Регуляризация (англ. regularization) в статистике, машинном обучении, теории обратных задач — метод добавления некоторых дополнительных ограничений к условию с целью решить неккоректно поставленную задачу или предотвратить переобучение. Чаще всего эта информация имеет вид штрафа за сложность модели. |
Содержание
Мотивация
Как говорилось ранее, регуляризация полезна для борьбы с переобучением. Если вы выбрали сложную модель, и при этом у вас недостаточно данных, то легко можно получить итоговую модель, которая хорошо описывает обучающую выборку, но не обобщается на тестовую.
На примере линейной регрессии
В качестве наглядного примера можно рассмотреть линейные регрессионные модели. Восстановить зависимость для нескольких точек можно пытаться полиномами разной степени M.
Как можно видеть на Рис 1. представлена зависимость, которая хорошо подходит для описания данных, а на Рис. 2 - модель слишком сильно заточилась под обучающую выборку.
Одним из способов бороться с этим эффектом - использовать регуляризацию, т. е. добавлять некоторый штраф за большие значения коэффициентов у линейной модели. Тем самым мы запретим слишком "резкие" изгибы и ограничим возможность подстраивания модели под данные.
На примере логистической регрессии
Необходимость регуляризации можно увидеть и на другом примере. Представьте, что ваша обучающая выборка была линейно разделима. В таком случае в процессе оптимизации значения весов уйдут в бесконечность и вместо сигмойды получится "ступенька", как представлено на Рис. 3.
Это плохо, ибо мы переобучились на нашу обучающую выборку. Как и в предыдущем примере, побороться с этим можно путем добавлением регуляризации, не дающей весам принимать слишком большие значения.
Основные виды регуляризации
Переобучение в большинстве случаев проявляется в том, что итоговые модели имеют слишком большие значения параметров. Соответственно, необходимо добавить в целевую функцию штраф за это. Наиболее часто используемые виды регуляризации -
и , а также их линейная комбинация - эластичная сеть.В представленных ниже формулах для эмпирического риска модели алгоритмов.
: является функцией потерь, а - вектором параметров элемента-регуляризация
-регуляризация (англ. lasso regression), или регуляризация через манхэттенское расстояние:
- .
-регуляризация
-регуляризация, или регуляризация Тихонова (англ. ridge regression или Tikhonov regularization):
- .
Эластичная сеть
Эластичная сеть (англ. elastic net regularization):
- .
Свойства регуляризаторов
Вероятностная интерпретация регуляризации
Эквивалентная вероятностная задача
Перед нами стоит задача - минимизировать эмпирический риск:
Вероятностная модель данных дает возможность по-другому взглянуть на задачу. Пусть - является вероятностным пространством. Тогда вместо задана совместная плотность распределение объектов и классов .
Для настройки вектора параметров \beta воспользуемся принципом максимума правдоподобия:
Удобнее рассматривать логарифм правдоподобия:
Можно заключить, что задачи в исходном и вероятностном представлении эквивалентны, если положить:
Принцип максимума совместного правдоподобия данных и модели
Допустим, что наряду с параметрической моделью плотности распределения
имеется еще и априорное распределение в пространстве параметров модели . Чтобы ослабить априорные ограничения, вместо фиксированной функции вводится параметрическое семейство априорных распределений , где - гиперпараметр.Принцип максимума правдоподобия теперь будет записываться по-другому, так как не только появление выборки
, но и появление модели также является случайным. Их совместное появление описывается, согласно формуле условной вероятности, плотностью распределения:Таким образом, приходим к принципу максимума совместного правдоподобия данных и модели:
Функционал
распадается на два слагаемых: логарифм правдоподобия и регуляризатор, не зависящий от данных. Второе слагаемое ограничивает вектор параметров модели, не позволяя ему быть каким угодно.В итоге мы получили, что с байесовской точки зрения многие методы регуляризации соответствуют добавлению некоторых априорных распределений на параметры модели. При этом можно определить распределения, которые соответствуют представленным ранее
и регуляризаторам.Нормальный регуляризатор
Пусть вектор
имеет нормальное распределение, все его компоненты независимы и имеют равные дисперсии:Логарифмируя, получаем квадратичный регуляризатор:
где
- слагаемое, не зависящее от , которым можно пренебречь, поскольку оно не влияет на решение оптимизационной задачи. В итоге имеем - регуляризатор.Лапласовский регуляризатор
Пусть вектор
имеет распределение Лапласа, все его компоненты независимы и имеют равные дисперсии:Тогда:
Аналогично случаю с нормальным регуляризатором,
можно опустить и, таким образом, получаем - регуляризатор.