手帳と試行

学んだことをアウトプットしていきます。 日々、ノートあるのみ。

線形回帰モデルのL2正則化

事前分布に独立な正規分布を仮定してMAP推定を行なうと、L2正則化の効果が出現する。

過学習

線形回帰モデル p(yX,w)=Nd(yXw,σ2Id)p(\bm y | \bm X, \bm w) = \mathcal N_d(\bm y | \bm X \bm w, \sigma^2 \bm I_d)に対する w\bm w の最尤推定量は次式で与えられる。

w^=(XTX)1XTy\begin{aligned} \hat{\bm w} = (\bm X^\mathsf{T} \bm X)^{-1} \bm X^\mathsf{T} \bm y \end{aligned}

このとき、与えられたデータが少なすぎたり、あまりにも偏った値が集められている場合に最尤推定を行なうと、その偏った値にモデルが吸い寄せられて、本来の入出力関係をうまく表現できなくなることがある。これを過学習 (overfitting; 過剰適合) という。

データが少ない / 偏っている    overfitting\text{データが少ない / 偏っている} \implies \text{overfitting}

数式の上では、過学習は「逆行列 (XTX)1(\bm X^\mathsf{T} \bm X)^{-1} の計算が不安定になる」という形で出現する。特に、極端にデータがスカスカな (スパースな) 場合、行列 XTX\bm X^\mathsf{T} \bm X に逆行列が存在しないような状況も発生しうる。

w^=(XTX)1unstableXTy\begin{aligned} \hat {\bm w} &= \underbrace{(\bm X^\mathsf{T} \bm X)^{-1}}_{\text{unstable}} \bm X^\mathsf{T} \bm y \end{aligned}

このような問題の対処方法の1つは、事前分布 p(w)p(\bm w) として定数ではなく何らかの意味を持つ確率分布を仮定してMAP推定を行なうことである。

独立正規事前分布を仮定

パラメータ w\bm w の事前分布として、次のような独立な正規分布を考える。

p(w)=Nn(w0,τ2In)\begin{aligned} p(\bm w) &= \mathcal N_n (\bm w | \bm 0, \tau^2 \bm I_n) \end{aligned}

ベイズの定理により事後分布を計算してみる。

p(wX,y)p(yX,w)p(w)=Nd(yXw,σ2Id)Nn(w0,τ2In)exp(12σ2yXw22)exp(12τ2w22)=exp(12(1σ2yXw22+1τ2w22)(1))(1)=1σ2yXw22+1τ2w22=wT1σ2XTXw+wT1σ2σ2τ2λInw2wT1σ2XTy+const.=wT1σ2(XTX+λIn)Vd1w2wT1σ2XTyVd1md+const.=wTVd1w2wTVd1md+const.=(wmd)TVd1(wmd)+const.exp(12(wmd)TVd1(wmd))Nn(wmd,Vd)\begin{aligned} &\hspace{-1pc} p(\bm w | \bm X, \bm y) \\ \propto{}& p(\bm y | \bm X, \bm w) p(\bm w) \\ ={}& \mathcal N_d (\bm y | \bm X \bm w, \sigma^2 \bm I_d) \mathcal N_n (\bm w | \bm 0, \tau^2 \bm I_n) \\ \propto{}& \exp \left( -\frac{1}{2\sigma^2} \| \bm y - \bm X \bm w \|_2^2 \right) \exp \left( -\frac{1}{2\tau^2} \| \bm w \|_2^2 \right) \\ ={}& \exp \left( -\frac{1}{2} \underbrace{\left( \frac{1}{\sigma^2} \| \bm y - \bm X \bm w \|_2^2 + \frac{1}{\tau^2} \| \bm w \|_2^2 \right)}_{(1)} \right) \\ &\left|\quad\begin{aligned} (1) ={}& \frac{1}{\sigma^2} \| \bm y - \bm X \bm w \|_2^2 + \frac{1}{\tau^2} \| \bm w \|_2^2 \\ ={}& \bm w^\mathsf{T} \frac{1}{\sigma^2} \bm X^\mathsf{T} \bm X \bm w + \bm w^\mathsf{T} \frac{1}{\sigma^2} \underbrace{\frac{\sigma^2}{\tau^2}}_{\lambda} \bm I_n \bm w - 2 \bm w^\mathsf{T} \frac{1}{\sigma^2} \bm X^\mathsf{T} \bm y + \mathrm{const.} \\ ={}& \bm w^\mathsf{T} \underbrace{\frac{1}{\sigma^2} (\bm X^\mathsf{T} \bm X + \lambda \bm I_n)}_{\bm V_d^{-1}} \bm w - 2 \bm w^\mathsf{T} \underbrace{\frac{1}{\sigma^2} \bm X^\mathsf{T} \bm y}_{\bm V_d^{-1} \bm m_d} + \mathrm{const.} \\ ={}& \bm w^\mathsf{T} \bm V_d^{-1} \bm w - 2 \bm w^\mathsf{T} \bm V_d^{-1} \bm m_d + \mathrm{const.} \\ ={}& (\bm w - \bm m_d)^\mathsf{T} \bm V_d^{-1} (\bm w - \bm m_d) + \mathrm{const.} \end{aligned}\right. \\ \propto{}& \exp \left( -\frac{1}{2} (\bm w - \bm m_d)^\mathsf{T} \bm V_d^{-1} (\bm w - \bm m_d) \right) \\ \propto{}& \mathcal N_n (\bm w | \bm m_d, \bm V_d) \end{aligned}

よって事後分布は次のようになる。

p(wX,y)=Nn(wmd,Vd)p(\bm w | \bm X, \bm y) = \mathcal N_n(\bm w | \bm m_d, \bm V_d)
{md=1σ2VdXTyVd1=1σ2(XTX+λIn)\left\lbrace\begin{aligned} \bm m_d &= \frac{1}{\sigma^2} \bm V_d \bm X^\mathsf{T} \bm y \\ \bm V_d^{-1} &= \frac{1}{\sigma^2} (\bm X^\mathsf{T} \bm X + \lambda \bm I_n) \end{aligned}\right.

Ridge回帰

事前分布として独立同分布な正規分布を仮定したMAP推定は、次式で表されるRidge回帰 (Ridge regression) と等価になる。

w^=arg minw(12yXw22+12λw22)=arg minw(12i=1d(yiwTxi)+12λw22)\begin{aligned} \hat {\bm w} &= \argmin_{\bm w} \left( \frac{1}{2} \| \bm y - \bm X \bm w \|_2^2 + \frac{1}{2} \lambda \| \bm w \|_2^2 \right) \\ &= \argmin_{\bm w} \left( \frac{1}{2} \sum_{i=1}^d \left( y_i - \bm w^\mathsf{T} \bm x_i \right) + \frac{1}{2} \lambda \| \bm w \|_2^2 \right) \end{aligned}

これは、次のようなL2ノルム罰金項を含む最小化問題と等価でもある。

minimizewi=1d(yiwTxi)+λj=1nwj2\begin{aligned} &\underset{\bm w}{\text{minimize}} && \sum_{i=1}^d \left( y_i - \bm w^\mathsf{T} \bm x_i \right) + \lambda \sum_{j=1}^n w_j^2 \end{aligned}

L2正則化

最小二乗法による推定とRidge回帰による推定を比較すると、Ridge回帰は行列 XTX\bm X^\mathsf{T} \bm X の対角項に定数 λ\lambda が加算された形となっていることがわかる。

p(wX,y)Nn(wmd,Vd),{md=1σ2VdXTyVd1=1σ2XTXp(wX,y)Nn(wmd,Vd),{md=1σ2VdXTyVd1=1σ2(XTX+λIn)\begin{darray}{ccl} p(\bm w | \bm X, \bm y) \propto \mathcal N_n(\bm w | \bm m_d, \bm V_d) ,&& \left\lbrace\begin{aligned} \bm m_d &= \frac{1}{\sigma^2} \bm V_d \bm X^\mathsf{T} \bm y \\ \bm V_d^{-1} &= \frac{1}{\sigma^2} \bm X^\mathsf{T} \bm X \end{aligned}\right. \\ \\ &\downarrow& \\ \\ p(\bm w | \bm X, \bm y) \propto \mathcal N_n(\bm w | \bm m_d, \bm V_d) ,&& \left\lbrace\begin{aligned} \bm m_d &= \frac{1}{\sigma^2} \bm V_d \bm X^\mathsf{T} \bm y \\ \bm V_d^{-1} &= \frac{1}{\sigma^2} (\bm X^\mathsf{T} \bm X + \lambda \bm I_n) \end{aligned}\right. \end{darray}

これによって次の2つの効果が期待できる:

  • 行列 XTX\bm X^\mathsf{T} \bm X が逆行列をもたない行列 (特異行列; singular matrix) である場合に、逆行列をもつ行列 (正則行列; regular matrix) に変換する
  • 逆行列 (XTX)1(\bm X^\mathsf{T} \bm X)^{-1} の各要素の値が極端に大きくなることを防ぐ

すなわち、逆行列 (XTX)1(\bm X^\mathsf{T} \bm X)^{-1}計算を安定化させるという効果が期待できるのである。

ML:md=(XTX)1unstableXTyMAP:md=(XTX+λIn)1stableXTy\begin{aligned} &\text{ML}:& \bm m_d &= \underbrace{(\bm X^\mathsf{T} \bm X)^{-1}}_{\text{unstable}} \bm X^\mathsf{T} \bm y \\ &\text{MAP}:& \bm m_d &= \underbrace{(\bm X^\mathsf{T} \bm X + \lambda \bm I_n)^{-1}}_{\text{stable}} \bm X^\mathsf{T} \bm y \\ \end{aligned}

特異行列を正則行列に変換するということを強調するために、Ridge回帰はしばしばL2正則化を伴う線形回帰などと呼ばれる。

一般のL2正則化

L2正則化は、事前分布として独立な正規分布を設定したことで、目的関数にL2ノルムの項が追加されたことに由来する。このことの類推から、一般に回帰問題において目的関数にL2ノルム罰金項を追加することをL2正則化 (L2 regularization) と呼ぶ。

minimizewf(w)regularizationminimizewf(w)+λw22\begin{aligned} &\underset{\bm w}{\text{minimize}} && f(\bm w) \\ &&& \downarrow \text{regularization} \\ &\underset{\bm w}{\text{minimize}} && f(\bm w) + \lambda \| \bm w \|_2^2 \end{aligned}

線形回帰モデルの場合と同様に、L2正則化はデータが少ない場合に過学習を防ぐという効果を持つ。ただし、これは行列を正則行列化しているのではなく、パラメータの値の二乗和をできるだけ小さくすることにより、特定のパラメータの値が極端に大きくなることを防いでいるという説明が適しているだろう。「正則化」という言葉がもつ本来の意味を消失し、まったく別の意味に変化しているのは特筆に値する。