過学習と正則化について簡単解説

過学習とは

機械学習モデルは、未知データへの予測精度を高めるために訓練データを用いて学習します。

機械学習モデルが訓練データを過剰に学習すると未知データへの予測精度が落ちることがあります。このような現象を過学習(overfitting)といいます。

データ数が少ない、変数が多い、パラメータが大きすぎるといった要因で、過学習に陥ります。

正則化とは

過学習を防ぐための手法として正則化があります。正則化を用いた機械学習モデルは、損失関数とパラメータの和であるペナルティ項(正則化項)を最小にするパラメータを学習します。

正則化に用いるパラメータλ \lambda を大きくすると過学習に陥りにくくなります。

正則化項なしの損失関数

min f(x) \min  f(x)

正則化項ありの損失関数

min f(x)+正則化項 \min  f(x) + 正則化項

正則化の代表的な手法として、L1正則化とL2正則化を紹介します。

L1正則化

L1正則化を行うモデルは、損失関数f(x) f(x) λi=1nwi \lambda \sum_{ i = 1 }^{ n } |w_i| の合計を最小にするパラメータwi w_i を求めます。

L1正則化は、ペナルティ項にパラメータの絶対値の和を用いています。

L1正則化 ... 損失関数 + L1正則化項

min f(x)+λi=1nwi \min  f(x) + \lambda \sum_{ i = 1 }^{ n } |w_i|

L1正則化は、余分な説明変数を省くこと(次元圧縮)を目的とした手法です。

これはL1正則化を用いた学習ではパラメータwi w_i が0になりやすいためです。パラメータwi w_i が0とされた説明変数は目的変数に対して無関係であることを意味します。

L2正則化

L2正則化を行うモデルは、損失関数f(x) f(x)  λ2i=1nwi2 \displaystyle \frac{ \lambda }{ 2 } \sum_{ i = 1 }^{ n } |w_i|^2 の合計を最小にするパラメータwi w_i を求めます。

L2正則化は、ペナルティ項にパラメータの二乗和を用いています。

L2正則化 ... 損失関数 + L2正則化項

min f(x)+  λ2i=1nwi2 \min  f(x) + \displaystyle \frac{ \lambda }{ 2 } \sum_{ i = 1 }^{ n } |w_i|^2

L2正則化は、過学習を防ぐことでモデルの精度を高めるために用いられます。

正則化と線形回帰の関係

正則化を施した線形回帰として、代表的なものに以下のようなものがあります。関係性を覚えておきましょう。

線形回帰

正則化手法

Lasso回帰(ラッソ回帰)

L1正則化

Ridge回帰(リッジ回帰)

L2正則化

関連サービス

講座一覧ページ

記事一覧はこちら

無料で統計学を学ぶ