ゆるふわクオンツの日常

正則化でノイズの影響を減らすしくみ

f:id:dw_dw_dt:20201119203355j:plain

ノイズの影響が大きいデータを扱う際(以下のmediumなど)は、

正則化などで対応することが多いと思いますが、

具体的にどういうロジックでノイズの影響を緩和しているのかを、

Ridgeを題材に確認したいと思います。

medium.com

Ridge回帰

確率ベクトル (\tilde{X}, \tilde{Y})の標本 (x_{1},y_{1}),...,(x_{n},y_{n})が得られたとします。

いわゆる線形な回帰モデル y_{i} = x_{i} \beta + \epsilon_{i} \epsilonN(0,\sigma^{2}))を想定し、

真のモデルがこの回帰モデルで表現できる場合を考えます。

最小二乗法による\betaの推定では、

x_{i}を縦に並べた Xy_{i}を縦に並べたYを用いて、

損失関数を || Y-X\beta ||_{2} と想定し、

これを最小化する \beta_{OLS}=(X'X)^{-1}X'Yを求めることになります。

一方、

Ridge回帰はというと、

寝室関数を||Y-X\beta||_{2}+\lambda ||\beta||_{2} と見て、

これを最小化する \beta_{Ridge}=(X'X+\lambda I)^{-1}X'Yとなります。

さて、

得られた \beta_{OLS}, \beta_{Ridge}とノイズの関係性を確認するため、

 Y = X\beta + \epsilonを代入します。

すると、 \beta_{OLS}=(X'X)^{-1}X'(X\beta + \epsilon)となるわけですが、

この式から、ノイズ\epsilonがあと1だけ大きかったら

 \beta_{OLS}がどれくらい違っていたか等が分かります。

ただ、これだと少し見づらいので

特異値分解 X = UΛV'=\sum{\gamma_{i}u_{i}v_{i}'}を用いることで

 \beta_{OLS} = \beta + \sum\frac{v_{i} u_{i}'}{\gamma_{i}}\epsilon

 \beta_{Ridge}=(\sum\frac{\gamma_{i}^{2}}{\gamma_{i}^{2}+\lambda}v_{i}v_{i}')\beta+\sum\frac{\gamma_{i}v_{i} u_{i}'}{\gamma_{i}^{2}+\lambda} \epsilon

と変形します。

すると、

 \beta_{OLS}は、期待値的には\betaに一致することがわかります。

ただし、\epsilonの分散が大きかったり、Xにゼロに近い特異値などがあった場合は、

推定結果があまり信頼できないものになっている可能性があります。

一方で \beta_{Ridge}は、期待値が \betaじゃなくなっていますが(不偏推定じゃない)

その代わりに \epsilonの分散や特異値による影響を \lambdaで緩和していることがわかります。

ベイズ的に解釈すると

さて、

Ridgeによってノイズの影響が大きい時でも抗えることがわかりましたが

これは実はベイズ的に考えると自然に辿り着くという話があります。

はい、それでは自然に辿り着く様を確認していきましょう。

 y_{i} = x_{i} \beta + \epsilon_{i}において、 \betaの事前分布をN(0,\alpha I)とします。

( \sigma^{2}の事前分布は逆ガンマとすることが多いですが、今回は無視します)

すると、尤度は p(Y|\beta)=N(X\beta, \sigma^{2}I)となります。

ここで、天下り式ですが \betaは共役事前分布になっているので、

事後分布が正規分布になっていることがわかります。

そこで、事後分布を p(\beta|Y)=N(\bar{\beta}, \Gamma^{-1})とし、この\bar{\beta}, \Gamma^{-1}を求めていきます。

 p(\beta|Y) \sim p(Y|\beta)p(\beta)において

両辺の正規分布の指数の中を比較すると

 p(\beta|Y)の指数関数の中身は

 -\frac{1}{2}(\beta-\bar{\beta})'\Gamma(\beta-\bar{\beta})=-\frac{1}{2}\beta' \Gamma \beta+\beta' \Gamma \bar{\beta} + constとなり

 p(Y|\beta)p(\beta)の指数関数の中身は

 -\frac{1}{2}(\frac{1}{\alpha}\beta'I\beta+\frac{1}{\sigma^{2}}(Y-X\beta)'I(Y-X\beta))=-\frac{1}{2}\beta'(\frac{1}{\alpha}I+\frac{1}{\sigma^{2}}X'X)\beta+\frac{1}{\alpha}\beta'X'Y+const

であることから係数比較して

 \Gamma=\frac{1}{\alpha}I+\frac{1}{\sigma^{2}}X'X

 \bar{\beta}=(\frac{\sigma^{2}}{\alpha}I+X'X)^{-1}X'Y

となります。

ここで、\betaの事後分布の期待値である\bar{\beta}

実は\beta_{Ridge}と同じ形をしていることがわかります。

解釈としては

ベイズは事前分布を得られたデータ(尤度)によって調整していく手法ですが、

いわゆる普通のOLSなどはデータのみによって推定を行います。

その違いは、事前分布の考慮によってデータのバリアンスの影響を緩和するかどうかということでしょうか。

最尤法は \ln{p(Data|\beta)}を最大にする\betaの推定であり、

MAP推定では \ln{p(Data|\beta)}+ \ln{p(\beta)}を最大にする\betaの推定ということです。

(ここでは最尤法との比較のためにMAP推定を持ち出しましたが、

\betaの事後分布による期待値とするのが一般的ですかね)

具体的にpの関数に正規分布を考えると、

それぞれ上で見たOLSやRidgeの損失関数と大体一致することがわかりますね。

ちなみに、分散の事前分布をいじってスパースベイズにするとLassoみたいな

スパースな解が得られるようになるみたいです。

ではまた〜

今回の関連書籍

今回の話が載ってました。