機械学習に詳しくなりたいブログ

機械学習や数学について勉強した内容を中心に書きます。100%趣味です。記事は数学的に厳密でなかったり誤りを含んでいるかもしれません。ご指摘頂ければ幸いです。

正則化項(罰金項)の意味

最小二乗法による線形回帰において、訓練データ数に対して近似式の表現能力が高すぎると過学習が発生します。(参考:線形回帰を最小二乗法で解く) それに対し、係数 \mathbf wが大きくなることに対してペナルティを与えることで過学習を防止する方法があります。(参考:正則化最小二乗法) 今回は、そのペナルティ(正則化項)を加えることの数学的な意味を確認したいと思います。

正則化最小二乗法で書いた通り、正則化項は


\displaystyle\frac{\lambda}{2} \sum_{j=1}^{M}|w_j|^q \tag{1}

で表されます。ここで、\displaystyle \frac{1}{2} \left(\sum_{j=1}^{M}|w_j|^q - \eta  \right)\leq 0 の制約条件において、二乗和誤差

E (\mathbf{w})= \displaystyle \frac{1}{2} \sum_{i=1}^{N}(y_i-t_i)^2 \tag{2}

の最小値を求める問題を考えます。 \displaystyle g(\mathbf w) = \frac{1}{2} \left(\sum_{j=1}^{M}|w_j|^q - \eta  \right)\leq 0とすると、制約条件および二乗和誤差は凸関数ですから、不等式制約におけるラグランジュの未定乗数法(KKT条件)より、


\lambda g(\mathbf{w}) = 0 \tag{3}

\lambda \ge 0 \tag{4} 

g(\mathbf{w}) \leq 0 \tag{5}

の条件の元で


\displaystyle  L(\mathbf{w},\lambda) = \frac{1}{2} \sum_{i=1}^{N}(y_i-t_i)^2 + \frac{\lambda}{2} \left(\sum_{j=1}^{M}|w_j|^q - \eta  \right) \tag{6}

を解けば、解が求められます。*1

さて、式(6)において \eta \mathbf wに依存しませんから、これを \mathbf wで偏微分してみると、二乗和誤差に正則化項を加えた


\displaystyle  E (\mathbf{w})= \frac{1}{2} \sum_{i=1}^{N}(y_i-t_i)^2 + \frac{\lambda}{2} \sum_{j=1}^{M}|w_j|^q  \tag{7}

 \mathbf wで偏微分するのと同じ式が得られます。今、正則化項において \lambda \gt 0であることを想定していますから、式(3) \lambda g(\mathbf{w}) = 0の条件より g(\mathbf{w}) = 0です。つまり\displaystyle  \sum_{j=1}^{M}|w_j|^q =\eta の制約条件で二乗和誤差を最小化しているのと等しいことがわかります。なおラグランジュの未定乗数法では \lambdaが未知数であったのに対し、これは制約条件を未知数としており、任意に設定する \lambdaによって \etaが決まります。 \etaを先に決めたほうが意味としてはわかりやすいように思いますが、そうすると解を求めるのが難しくなるのでしょうか。

さて、正則化項において q=1,q=2 のときは、それぞれlasso回帰、ridge回帰と名前が付いているようです。特にlasso回帰では疎な解(いくつかの係数が0になるような解)が求められます。これは以下の図から直感的にわかります。係数 \mathbf wが2種類の場合で、それぞれ縦軸、横軸にとっています。緑の線が\displaystyle \sum_{j=1}^{2}|w_j| =\etaの境界で、円は二乗和誤差の等高線です。

f:id:opabinia2:20180202011253p:plain

確かに境界の先端、つまり一方の係数が0の点で解が求まる可能性が高そうですね。正則化についてWebで調べていると、この図は載っていても、なぜこの境界上で解が求められるのか?の説明はほとんどありません。言わなくてもわかってるでしょってことなんでしょうが、初学者にとってはなかなか厳しいです、、、。

*1:符号は式(7)と揃えるため、不等式制約におけるラグランジュの未定乗数法(KKT条件)の説明から変えています。また、求める解が最大ではなく最小であることにも注意