Изменения

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

Регуляризация

329 байт добавлено, 05:57, 5 апреля 2021
Градиентный спуск
{{Определение
|definition=
'''Регуляризация''' (англ. ''regularization'') в статистике, машинном обучении, теории обратных задач — метод добавления некоторых дополнительных ограничений к условию с целью решить неккоректно некорректно поставленную задачу или предотвратить переобучение. Чаще всего эта информация имеет вид штрафа за сложность модели.
}}
:<tex>\beta \sim N(0, \sigma^2)</tex>
Логарифмируя, получаем ''квадратичный регуляризатор'':
:<tex>\ln p(\beta; \sigma) = \ln \left(\dfrac{1}{(2 \pi \sigma)^{n/2}} \exp\left(- \dfrac{\| \beta \| ^ 2}{2 \sigma}\right)\right) = - \dfrac{1}{2 \sigma}\| \beta \| ^ 2 + const(\beta),</tex>
где <tex>const(\beta)</tex> {{---}} слагаемое, не зависящее от <tex>\beta</tex>, которым можно пренебречь, поскольку оно не влияет на решение оптимизационной задачи. В итоге имеем <tex>L_{2}</tex>-регуляризатор.
:<tex>\beta \sim Laplace(0, C)</tex>
Тогда:
:<tex>\ln p(\beta; C) = \ln \left(\dfrac{1}{(2C)^n} \exp\left(- \dfrac{\| \beta \|_{1}}{C}\right)\right) = - \dfrac{1}{C}\| \beta \|_{1} + const(\beta), \| \beta \|_{1} = \sum\limits_{j}|\beta_{j}|</tex>
Аналогично случаю с нормальным регуляризатором, <tex>const(\beta)</tex> можно опустить и, таким образом, получаем <tex>L_{1}</tex> -регуляризатор.
==Регуляризация в линейной регрессии==
В [[Линейная регрессия | линейной регрессии]] моделируется линейная зависимость между зависимой и независимой переменной. Таким образомКаждому объекту $x \in X^l$ соответствует признаковое описание $(f_{1}(x), модель \dots,f_{n}(x))$, где $f_{j}:X \rightarrow \mathbb{R}$ {{---}} числовые признаки. Модель алгоритмов для нее линейной регрессии состоит из функций вида::$g(x, \beta) = \sum\limits_{j}^n \beta_{j} \,f_{j}(x)$
В итоге оптимизируемый функционал эмпирического риска выглядит следующим образом:
:$Q(a) = \|F\beta - y\|^2$,
где $F = (ff_{j}(x_{i}))_{l \times n}$ {{---}} матрица объекты-признаки, $y = (y_{i})_{l \times 1}$ {{---}} целевой вектор, $\beta = (\beta_{j})_{n \times 1}$ {{---}} вектор параметров.
Приравняв нулю производную $Q(\beta)$ по параметру $\beta$, получаем:
:$\beta^* = (F^TF)^{-1}F^Ty$
:$\beta_{t}^* = (UD^2U^T + \tau I_{n})^{-1}UDV^{T}y=U(D^2+\tau I_{n})^{-1}DV^Ty=\sum\limits_{j=1}^n \dfrac{\sqrt{\lambda_{j}}}{\lambda_{j} + \tau}u_{j}(v_{j}^Ty)$
Теперь найдём регуляризованную МНК-аппроксимацию целевого вектора y:
:$F \beta_{\tau}^* = VDU^T \beta_{\tau}^* = V diag\left(\dfrac{\lambda_{j}}{\lambda_{j} + \tau}\right)V^Ty = \sum\limits_{j=1}^n \dfrac{\lambda_{j}}{\lambda_{j} + \tau}v_{j}(v_{j}^Ty)$
Как можно видеть, проекции на собственные векторы сокращаются, умножаясь $\dfrac{\lambda_{j}}{\lambda_{j} + \tau} \in (0, 1)$.
В случае с гребнем:
:$n_{effective} = tr\:F(F^TF + \tau I_{n})^{-1}F^T = tr\:diag\left(\dfrac{\lambda_{j}}{\lambda_{j} + \tau}\right) = \sum\limits_{j=1}^n \dfrac{1}{\lambda_{j}} < n$
===Лассо регрессия===
Также полезно будет рассмотреть простую модельную задачу. Пусть $l = n$ и матрица объекты-признаки является единичной $F = I$. Тогда МНК-решение дает вектор коэффициентов $\beta$:
:$\beta^* = argmin\left(\sum\limits_{i=1}^l(\beta_{i} - y_{i})^2\right)$
:$\beta_{j}^* = y_{j}$
В случае с гребневой регрессией:
:<tex>Q_{\tau}(w) = Q(w) + \dfrac{\tau}{2}\|w\|^2</tex>
Это приводит к появлению аддитивной поправки в градиенте:
:<tex>Q_{\tau}'(w) = Q′(w) + \tauw</tex>
В результате правило обновления весов принимает вид:
:<tex>w := w(1 - \eta \tau) - \eta Q'(w)</tex>
Также существуют разновидности SVM с другими регуляризаторами.
* Метод релевантных векторов (англ. ''RVM, Relevance vector Machine''):
:$\dfrac{1}{2}\sum\limits_{i=1}^l\left(\ln w_{i} + \dfrac{\lambda_{i}^2}{w_{i}}\right)$
* Метод опорных векторов с лассо (англ. ''LASSO SVM''):
:$\mu \sum\limits_{i=1}^n|w_{i}|$
Анонимный участник

Навигация