L2正則化,L1正則化
メモ書きみたいなものです。ではさっそく…
線形モデル
を考えます。
は目的変数
は計画行列
は回帰係数
は誤差とし
誤差 は
(1)不偏性
(2)等分散性
(3)無相関性
を満たすものとします。
です。
ここで、求めたい(推定したい)のは です。そこで最小自(二)乗法を用います。つまり
は となるような です。
損失関数を最小化するには微分して0と置いてやればいい。かくかくしかじかあって…
(実際にやってみるか東大出版の青本を読むかすれば簡単なのでわかります。是非やって見てください。)
正規方程式
が得られ、左から を掛けることにより
となります。
ご覧の通り を求めるのに逆行列 を求めなければなりません。
です。しかし、特徴量の中に相関の強いものが含まれると(多重共線性) の値が非常に小さくなります。
さて、逆行列は余因子行列 を用いて
で表されます。つまり、
となり、また
の 要素
であるから で共分散も発散する。
これを回避しようというのが正則化という考え方です。
《Ridge回帰 〜L2正則化〜》
上記の問題を解決するためにL2正則化では、損失関数 にL2ノルムを加えてやります。つまり、
ここで は正則化の強さを調整する値(ハイパーパラメータ)です。
これにより逆行列を持たなかった が逆行列を持つようになります。
そしてこの時、解は次のように書けます。
このように、L2正則化では解が陽に書ける事が特徴の1つです。
《Lasso回帰 〜L1正則化〜》
L1正則化では にL1ノルムを加えてやります。つまり、
ここでやはり は正則化の強さを調整する値(ハイパーパラメータ)です。
L1正則化では変数選択もできるためスパース性を持つモデルを構築できます。
しかし、L1正則化では微分♬微分♬で解が得られないので数値計算を行うことになります。
また、相関の強い変数は1つしか選ばないのでその辺注意する必要があります。