Регуляризация — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Основные виды регуляризации)
(Вероятная постановка)
Строка 39: Строка 39:
 
===<tex>L_{1}</tex>-регуляризация===
 
===<tex>L_{1}</tex>-регуляризация===
 
<tex>L_{1}</tex>-регуляризация (англ. ''lasso regression''), или регуляризация через манхэттенское расстояние:  
 
<tex>L_{1}</tex>-регуляризация (англ. ''lasso regression''), или регуляризация через манхэттенское расстояние:  
<tex>Q(\beta, x)=\sum _{i}\mathcal{L}(\beta, x_{i})+\lambda \sum _{j}{|\beta_{j}|}</tex>.
+
:<tex>Q(\beta, X^l)=\sum _{I}^l\mathcal{L}(y_{i}, g(x_{i}, \beta))+\lambda \sum _{j}{|\beta_{j}|}</tex>.
  
 
===<tex>L_{2}</tex>-регуляризация===
 
===<tex>L_{2}</tex>-регуляризация===
 
<tex>L_{2}</tex>-регуляризация, или регуляризация Тихонова (англ. ''ridge regression'' или ''Tikhonov regularization''):  
 
<tex>L_{2}</tex>-регуляризация, или регуляризация Тихонова (англ. ''ridge regression'' или ''Tikhonov regularization''):  
<tex>Q(\beta, x)=\sum _{i}\mathcal{L}(\beta, x_{i})+\lambda \sum _{j}{\beta_{j}}^{2}</tex>.
+
:<tex>Q(\beta, X^l)=\sum _{I}^l\mathcal{L}(y_{i}, g(x_{i}, \beta))+\lambda \sum _{j}{\beta_{j}}^{2}</tex>.
  
 
===Эластичная сеть===
 
===Эластичная сеть===
 
Эластичная сеть (англ. ''elastic net regularization''):
 
Эластичная сеть (англ. ''elastic net regularization''):
<tex>Q(\beta, x)=\sum _{i}\mathcal{L}(\beta, x_{i})+\lambda_{1} \sum _{j}{|\beta_{j}|}+\lambda_{2} \sum _{j}{\beta_{j}}^{2}</tex>.
+
:<tex>Q(\beta, X^l)=\sum _{I}^l\mathcal{L}(y_{i}, g(x_{i}, \beta))+\lambda_{1} \sum _{j}{|\beta_{j}|}+\lambda_{2} \sum _{j}{\beta_{j}}^{2}</tex>.
 +
 
 +
==Свойства регуляризаторов==
  
 
==Вероятностная интерпретация регуляризации==
 
==Вероятностная интерпретация регуляризации==
 +
===Эквивалентная вероятностная задача===
 +
Перед нами стоит задача - минимизировать эмпирический риск:
 +
:<tex>Q(\beta, X^l)=\sum _{i}^l\mathcal{L}(y_{i}, g(x_{i}, \beta)) \rightarrow min_{\beta}</tex>
 +
[[Байесовская классификация | Вероятностная модель данных]] дает возможность по-другому взглянуть на задачу. Пусть <tex>X \times Y</tex> - является вероятностным пространством. Тогда вместо <tex>g(x_{i}, \beta)</tex> задана совместная плотность распределение объектов и классов <tex>p(x, y|\beta)</tex>.
 +
 +
Для настройки вектора параметров \beta воспользуемся ''принципом максимума правдоподобия'':
 +
:<tex>p(X^l|\beta)=\prod_{i}^lp(x_{i},y_{i}|\beta) \rightarrow max_{\beta}</tex> 
 +
Удобнее рассматривать логарифм правдоподобия:
 +
:<tex>L(\beta, X^l)=\ln p(X^l|\beta)=\sum_{i}^l \ln p(x_{i}, y_{i}|\beta) \rightarrow max_{\beta}</tex>
 +
Можно заключить, что задачи в исходном и вероятностном представлении эквивалентны, если положить:
 +
:<tex>-\ln p(x_{i}, y_{i}|\beta)=\mathcal{L}(y_{i}, g(x_{i}, \beta))</tex>
 +
 +
===Принцип максимума совместного правдоподобия данных и модели===
 +
Допустим, что наряду с параметрической моделью плотности распределения <tex>p(x, y|\beta)</tex> имеется еще и ''априорное распределение в пространстве параметров модели'' <tex>p(\beta)</tex>. Чтобы ослабить априорные ограничения, вместо фиксированной функции <tex>p(w)</tex> вводится ''параметрическое семейство априорных распределений'' <tex>p(\beta; \gamma)</tex>, где <tex>\gamma</tex> - гиперпараметр.
 +
 +
Принцип максимума правдоподобия теперь будет записываться по-другому, так как не только появление выборки <tex>X^l</tex>, но и появление модели <tex>\beta</tex> также является случайным. Их совместное появление описывается, согласно формуле условной вероятности, плотностью распределения:
 +
:<tex>p(X^l, \beta; \gamma)=p(X^l|\beta)p(\beta;\gamma)</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_{1}</tex> и <tex>L_{2}</tex> регуляризаторам.
 +
 
===Нормальный регуляризатор===
 
===Нормальный регуляризатор===
 +
Пусть вектор <tex>\beta</tex>
 +
 
===Лапласовский регуляризатор===
 
===Лапласовский регуляризатор===
  

Версия 05:40, 20 января 2020

Определение:
Регуляризация (англ. regularization) в статистике, машинном обучении, теории обратных задач — метод добавления некоторых дополнительных ограничений к условию с целью решить неккоректно поставленную задачу или предотвратить переобучение. Чаще всего эта информация имеет вид штрафа за сложность модели.


Содержание

Мотивация

Как говорилось ранее, регуляризация полезна для борьбы с переобучением. Если вы выбрали сложную модель, и при этом у вас недостаточно данных, то легко можно получить итоговую модель, которая хорошо описывает обучающую выборку, но не обобщается на тестовую.

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

В качестве наглядного примера можно рассмотреть линейные регрессионные модели. Восстановить зависимость для нескольких точек можно пытаться полиномами разной степени M.

Рис 1. Норма. M=2
Рис 2. Переобучение. M=4

Как можно видеть на Рис 1. представлена зависимость, которая хорошо подходит для описания данных, а на Рис. 2 - модель слишком сильно заточилась под обучающую выборку.

Одним из способов бороться с этим эффектом - использовать регуляризацию, т. е. добавлять некоторый штраф за большие значения коэффициентов у линейной модели. Тем самым мы запретим слишком "резкие" изгибы и ограничим возможность подстраивания модели под данные.

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

Необходимость регуляризации можно увидеть и на другом примере. Представьте, что ваша обучающая выборка была линейно разделима. В таком случае в процессе оптимизации значения весов уйдут в бесконечность и вместо сигмойды получится "ступенька", как представлено на Рис. 3.

Рис 3. Сигмойда - "ступенька"

Это плохо, ибо мы переобучились на нашу обучающую выборку. Как и в предыдущем примере, побороться с этим можно путем добавлением регуляризации, не дающей весам принимать слишком большие значения.

Основные виды регуляризации

Переобучение в большинстве случаев проявляется в том, что итоговые модели имеют слишком большие значения параметров. Соответственно, необходимо добавить в целевую функцию штраф за это. Наиболее часто используемые виды регуляризации - [math]L_{1}[/math] и [math]L_{2}[/math], а также их линейная комбинация - эластичная сеть.

В представленных ниже формулах для эмпирического риска [math]Q[/math]: [math]\mathcal{L}[/math] является функцией потерь, а [math]\beta[/math] - вектором параметров элемента [math]g(x, \beta)[/math] модели алгоритмов.

[math]L_{1}[/math]-регуляризация

[math]L_{1}[/math]-регуляризация (англ. lasso regression), или регуляризация через манхэттенское расстояние:

[math]Q(\beta, X^l)=\sum _{I}^l\mathcal{L}(y_{i}, g(x_{i}, \beta))+\lambda \sum _{j}{|\beta_{j}|}[/math].

[math]L_{2}[/math]-регуляризация

[math]L_{2}[/math]-регуляризация, или регуляризация Тихонова (англ. ridge regression или Tikhonov regularization):

[math]Q(\beta, X^l)=\sum _{I}^l\mathcal{L}(y_{i}, g(x_{i}, \beta))+\lambda \sum _{j}{\beta_{j}}^{2}[/math].

Эластичная сеть

Эластичная сеть (англ. elastic net regularization):

[math]Q(\beta, X^l)=\sum _{I}^l\mathcal{L}(y_{i}, g(x_{i}, \beta))+\lambda_{1} \sum _{j}{|\beta_{j}|}+\lambda_{2} \sum _{j}{\beta_{j}}^{2}[/math].

Свойства регуляризаторов

Вероятностная интерпретация регуляризации

Эквивалентная вероятностная задача

Перед нами стоит задача - минимизировать эмпирический риск:

[math]Q(\beta, X^l)=\sum _{i}^l\mathcal{L}(y_{i}, g(x_{i}, \beta)) \rightarrow min_{\beta}[/math]

Вероятностная модель данных дает возможность по-другому взглянуть на задачу. Пусть [math]X \times Y[/math] - является вероятностным пространством. Тогда вместо [math]g(x_{i}, \beta)[/math] задана совместная плотность распределение объектов и классов [math]p(x, y|\beta)[/math].

Для настройки вектора параметров \beta воспользуемся принципом максимума правдоподобия:

[math]p(X^l|\beta)=\prod_{i}^lp(x_{i},y_{i}|\beta) \rightarrow max_{\beta}[/math]

Удобнее рассматривать логарифм правдоподобия:

[math]L(\beta, X^l)=\ln p(X^l|\beta)=\sum_{i}^l \ln p(x_{i}, y_{i}|\beta) \rightarrow max_{\beta}[/math]

Можно заключить, что задачи в исходном и вероятностном представлении эквивалентны, если положить:

[math]-\ln p(x_{i}, y_{i}|\beta)=\mathcal{L}(y_{i}, g(x_{i}, \beta))[/math]

Принцип максимума совместного правдоподобия данных и модели

Допустим, что наряду с параметрической моделью плотности распределения [math]p(x, y|\beta)[/math] имеется еще и априорное распределение в пространстве параметров модели [math]p(\beta)[/math]. Чтобы ослабить априорные ограничения, вместо фиксированной функции [math]p(w)[/math] вводится параметрическое семейство априорных распределений [math]p(\beta; \gamma)[/math], где [math]\gamma[/math] - гиперпараметр.

Принцип максимума правдоподобия теперь будет записываться по-другому, так как не только появление выборки [math]X^l[/math], но и появление модели [math]\beta[/math] также является случайным. Их совместное появление описывается, согласно формуле условной вероятности, плотностью распределения:

[math]p(X^l, \beta; \gamma)=p(X^l|\beta)p(\beta;\gamma)[/math]

Таким образом, приходим к принципу максимума совместного правдоподобия данных и модели:

[math]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}[/math]

Функционал L_{\gamma} распадается на два слагаемых: логарифм правдоподобия и регуляризатор, не зависящий от данных. Второе слагаемое ограничивает вектор параметров модели, не позволяя ему быть каким угодно.

В итоге мы получили, что с байесовской точки зрения многие методы регуляризации соответствуют добавлению некоторых априорных распределений на параметры модели. При этом можно определить распределения, которые соответствуют представленным ранее [math]L_{1}[/math] и [math]L_{2}[/math] регуляризаторам.

Нормальный регуляризатор

Пусть вектор [math]\beta[/math]

Лапласовский регуляризатор

Регуляризация в линейной регрессии

Гребневая регрессия

Лассо регрессия

Сравнение гребниевой и лассо регрессий

Байесовская регрессия

Другие использования регуляризации

Линейные классификаторы

Логистическая регрессия

Нейронные сети

Алгоритмы, использующие регуляризацию

Метод опорных векторов

Стохастический градиентный спуск

См. также

Примечания

Источники информации