正則化

正則化とは

正則化とは、機械学習モデルが訓練データに過剰に適合する過学習を防ぐ代表的な手法の一つです。

損失関数 \(L(\boldsymbol{\theta})\) に正則化項と呼ばれる項 \(R(\boldsymbol{\theta})\) を加えたもの

\[ L(\boldsymbol{\theta})+\lambda R(\boldsymbol{\theta}) \]

を考えます。 \(\lambda~(\gt0)\) は正則化の強さを表します。

L2正則化

L2ノルムの二乗を用いた正則化をL2正則化といいます。

定義(L2正則化)

正則化項 \(R(\boldsymbol{\theta})\) を

\[ R(\boldsymbol{\theta})=\|\boldsymbol{\theta}\|_2^2 =\sum_j\theta_j^2 \]

とする正則化をL2正則化という。

L2正則化では、パラメータが全体的に小さくなる方向に引っ張られます。

L1正則化

L1ノルムを用いた正則化をL1正則化といいます。

定義(L1正則化)

正則化項 \(R(\boldsymbol{\theta})\) を

\[ R(\boldsymbol{\theta})=\|\boldsymbol{\theta}\|_1 =\sum_j|\theta_j| \]

とする正則化をL1正則化という。

L1正則化では、重要でない特徴量の係数をゼロにすること(特徴量選択)ができます。

エラスティックネット

L1正則化項とL2正則化項の両方を用いた正則化をエラスティックネットといいます。

定義(エラスティックネット)

\(\alpha\in[0,1]\) として、正則化項 \(R(\boldsymbol{\theta})\) を

\[ R(\boldsymbol{\theta})=\alpha\|\boldsymbol{\theta}\|_1+(1-\alpha)\|\boldsymbol{\theta}\|_2^2 \]

とする正則化をエラスティックネットという。

演習問題

問題
解答