• 機械学習では、過学習を防ぐ手段として正則化が行われることが多い
  • 機械学習でよく用いられる正則化には、L1正則化とL2正則化がある

 

過学習は未知のデータに対応できない原因をつくる

機械学習では大量のデータを扱いますが、偏り過ぎたデータにまで必要以上に対応してしまうという「過学習」の状態に陥る事があります。過学習の状態は、与えた学習データに対しては小さな誤差となるモデルが構築できています。ただし、ごく一部の例外的な学習データに過度に対応したモデルとなっているために、構築した学習モデルを未知データに適用すると必ずしも適切な予測値を返さない状態となります。学習データの中のごく一部の例外的なデータに過度に適用したモデルが構築されている状態ということで「過学習」といいます。

そのため、機械学習では過学習になるのを防ぐために、極端な重みのデータに対してペナルティを与える正則化が用いられます。

 

 

 

過学習を防ぐために用いられる正則化とは

機械学習で学習モデルを構築する時は、過学習に陥る事を避けなくてはなりません。

単に大量のデータを使って学習モデルを訓練したのでは、訓練用データに対してだけ正確な予測をする事になってしまいます。過学習を避けるためには、学習モデルの選択、特徴量・次元の選定およびそれらに対応した学習データの数を注意深く考慮して設定していく必要があります。

一般的には、学習モデルの表現力・特徴量の次元の大きさと比較して、学習データが十分に多くない場合に過学習の状態になりやすく、訓練で正確な予測がされているように見えても、訓練以外の未知のデータでは適切な予測が出来なくなります。

そのため、学習データを十分に多くできない場合でも過学習をおこしにくくして、汎化性能を高くする学習モデルの構築手段として「正則化」というものがあります。正則化とは、モデルを学習する際に、複雑さが増すことに対するペナルティを設け、このペナルティを訓練誤差に加えた量が最も小さくなる学習モデルを求めるようにすることにより汎化性能を高めようとするものです。

 

 

L1正則化とL2正則化

機械学習で一般的に使用されるのは、L1正則化とL2正則化です。L1正則化、L2正則化というのは、それぞれ上述のペナルティとして、学習モデルのパラメータのL1ノルム、L2ノルムを用いるものです。別の言い方をすると、L1正則化は、ペナルティとして学習モデルのパラメータの絶対値の総和を用いるものであり、L2正則化は、ペナルティとして学習モデルのパラメータの二乗の総和を用いるもので、それぞれ下記の特徴をもちます。

・L1正則化 特定のデータの重みを0にする事で、不要なデータを削除する
・L2正則化 データの大きさに応じて0に近づけて、滑らかなモデルとする

つまり、L1正則化もL2正則化も、モデルの次元が低い方がペナルティが小さくなる正則化のモデルです。従って、学習データの中に例外的なデータが含まれていた場合に、その例外的なデータに対応するために学習モデルの次元をいくつも増やす必要がある場合には、その例外データには対応しないようなモデルが選択されます。

L2正則化は微分可能なモデルであり解析的な解が存在しますが、L1正則化は解析的には解けないために数値計算的な手法により求めることになります。いずれにしても、さまざまなライブラリ・ソフトウェア・サービスにより実装は提供されていますので、データの内容を検討して適切な正則化を設定することにより、機械学習をより有効に行う事が出来ます。

 

 

 

 

本サイト上に掲載されているまとめ記事が、毎週ステップメールで受け取ることもできます。

 

参考文献