【本記事の内容】正則化とは(L1正則化/L2正則化)
今回は、機械学習・統計学でモデル推定の際によく起こる「過学習」を抑制する手法として「正則化」の概要について説明していきます。
【目次】
正則化と過学習
過学習
過学習の例。直線はシンプルで多少の誤差はあるものの、大まかにデータを捉えている。曲がりくねった線は誤差0だが非常に複雑で、おそらくうまく一般化ができてない。
wikipedia「overfitting」https://ja.wikipedia.org/wiki/%E9%81%8E%E5%89%B0%E9%81%A9%E5%90%8 から引用
もっとかみ砕いていえば、過学習というのは
例えば、
「数学の期末テストで「計算問題集」しか勉強せずにテストに臨んで、計算問題に対してはいいパフォーマンス出すけど、文章問題・応用問題は全然できない」
みたいな感じです。
正則化
機械学習において、モデルの過学習を抑えるために損失関数(誤差関数)に正則化項を導入する手法のことを「正則化」と言います。
正則化の数式表現
正則化でよく使われるL1正則化, L2正則化の一般形のLq正則化は以下のように表せます。
\(L_q\)正則化
\begin{eqnarray}
S_{\lambda}(\boldsymbol{\beta}) &=& f(\boldsymbol{\beta}) + \lambda || \boldsymbol{\beta}||_q\\
&=& f(\boldsymbol{\beta}) + \lambda \sum_{i=0}^{p}| \boldsymbol{\beta}_i|^q\\
\end{eqnarray}
ただし、
- \(\boldsymbol{\beta} = (\beta_0,\beta_1, … , \beta_p)^T \): 回帰係数ベクトル(これが求めたいもの!!!)
- \(S_{\lambda}(\boldsymbol{\beta})\) : コスト関数(=損失関数+正則化項)
- \(f(\boldsymbol{\beta})\) : 損失関数(誤差関数)
- \(\lambda (≧0)\) : 正則化パラメータ →この値が大きいほど(モデルの複雑さに)より強いペナルティを与える
- \(\lambda || \boldsymbol{\beta}||_q\) : 正則化項(罰則項)→ モデルの複雑さ(回帰係数の大きさ)にペナルティを科すことで過学習を抑制している ; \(\beta_i 大\) →コスト大
L1正則化(Lasso)・L2正則化(Ridge)
正則化の中で、機械学習・統計学で特によく使われるのが「L1正則化(またはLasso)」「L2正則化(またはRidge)」です。(\(L_q\)正則化のq = 1,2を代入したものです。)
\begin{eqnarray}
・L1正則化 : S_{\lambda}(\boldsymbol{\beta}) &=& f(\boldsymbol{\beta}) + \lambda \sum_{i=0}^{p}| \boldsymbol{\beta}_i|^1\\
・L2正則化 : S_{\lambda}(\boldsymbol{\beta}) &=& f(\boldsymbol{\beta}) + \lambda \sum_{i=0}^{p} \boldsymbol{\beta}_i^{~2}\\
\end{eqnarray}
L1正則化・L2正則化の特徴・比較
特徴
・L2正則化の特徴 : 過学習を抑制する / 解析的に解が求まる
比較
【L1正則化】 | 【L2正則化】 |
スパース性がある(変数選択ができる) | スパース性がない |
解析的に解が求まらない(数値計算で推定) | 解析的に解が求まる |
過学習の抑制 〇 | 過学習の抑制 ◎ |
精度 〇 | 精度 ◎ |
スパース性
回帰係数の多くを0と推定する(疎な解が求まる)性質のこと。
0と推定された回帰係数を重要でない変数とみなすことで、変数選択にも使うことができる。
(例) モデル式 :
- $$\hat{y}=\beta_0+\beta_1 x_1 +\beta_2 x_2+ \beta_3 x_3$$
- $$\boldsymbol{\beta}_{lasso} = (\beta_0,\beta_1, \beta_2 , \beta_3)^T = (1, 0, 2, 0)^T$$
の場合、回帰式は
$$ \hat{y}= 1+2 x_2$$
となる。すなわち、\( \beta_1, \beta_3 \)に対応する変数\( x_1, x_3 \)は予測に影響を与えない → 重要でない変数 と考えることができる。
解析的に解が求まる
求めたい未知数(パラメータ)が式変形や近似式の利用によって求まることをいう。
→ L2正則化は式変形だけで回帰係数が求まる / L1正則化は式変形だけで回帰係数が求まらない
過学習の抑制と精度
L1正則化でもL2正則化でも過学習の抑制は行われる。
一方で、精度については、L1正則化は回帰係数の多くを0と推定することで「次元圧縮(変数選択)を行っている」ことから、L2正則化より式の表現力が小さい。そのため、L2正則化の方がL1正則化より精度が高い傾向にある。
参考文献
- 正則化の種類と目的 L1正則化 L2正則化について | 全人類がわかる統計学 view-source:https://to-kei.net/neural-network/regularization/
次回予告
次は「L2正則化」→「L1正則化」の順で解説していく予定です。
何かあればコメント欄にて。
コメント