機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

正則化の意味

正則化

目的関数に正則化項を加えることにより、過学習を防ぐことができます。
一般的な正則化項を用いて目的関数を表してみます。

\begin{eqnarray}
&&E({\bf w})=\frac{1}{2}\sum_{n=1}^N(t_n-{\bf w}^\top{\boldsymbol\phi}({\bf x}_n))^2+\frac{\lambda}{2}\sum_{j=1}^M|w_j|^q\tag{1}\\
\end{eqnarray}

(1)において、q=1の時をラッソ回帰、q=2の時をリッジ回帰というのでした。
異なるqの値に対する正則化関数のグラフを示します。

f:id:olj611:20210313011528p:plain:w800

正則化の意味

\begin{eqnarray}
&&E_D({\bf w})=\frac{1}{2}\sum_{n=1}^N(t_n-{\bf w}^\top{\boldsymbol\phi}({\bf x}_n))^2\tag{2}\\
&&\sum_{j=1}^M|w_j|^q\leq\eta\tag{3}\\
\end{eqnarray}

正則化していない目的関数(2)を、(3)の制約条件の下で最小化することを考えます。

(3)を変形します。

\begin{eqnarray}
&&\frac{1}{2}\left(\sum_{j=1}^M|w_j|^q-\eta\right)\leq0\tag{4}\\
\end{eqnarray}

(2)、(4)より、ラグランジュ関数は以下のようになります。

\begin{eqnarray}
L({\bf w},\lambda)=\frac{1}{2}\sum_{n=1}^N(t_n-{\bf w}^\top{\boldsymbol\phi}({\bf x}_n))^2+\frac{\lambda}{2}\left(\sum_{j=1}^M|w_j|^q-\eta\right)\tag{5}
\end{eqnarray}

(1)と(5)は{\bf w}に関して同じ式であるので、
(1)を{\bf w}について最小化するのと、(5)を{\bf w}について最小化するのは等価です。

(5)の最小化を\lambda>0で考えると、KKT条件より

\begin{eqnarray}
&&\frac{\lambda}{2}\left(\sum_{j=1}^M|w_j^*|^q-\eta\right)=0\\
&&\Leftrightarrow \eta=\sum_{j=1}^M|w_j^*|^q\tag{6}
\end{eqnarray}

となることが分かります。(6)では(5)の最小化時のw_jw_j^*としました。
以上の幾何学的解釈が下のグラフです。

f:id:olj611:20210313014215p:plain:w600

ラッソ回帰のパラメータは、疎な解が得られますが
それはグラフからも直感的に解釈することができます。

偉人の名言

f:id:olj611:20210313015120p:plain:w300
1日1日を無駄に消費せず、毎日を価値あるものにせよ。
モハメド・アリ

参考文献

パターン認識機械学習 上巻

動画

目次へ戻る