正則化
#テーマ4
機械学習で学習モデルを構築する時は、過学習に陥る事を避けなくてはならない。
過学習を避けるためには、学習モデルの選択、特徴量・次元の選定およびそれらに対応した学習データの数を注意深く考慮して設定していく必要がある。
一般的には、学習モデルの表現力・特徴量の次元の大きさと比較して、学習データが十分に多くない場合に過学習の状態になりやすく、訓練で正確な予測がされているように見えても、訓練以外の未知のデータでは適切な予測が出来なくなる。
そのため、学習データを十分に多くできない場合でも過学習を起こしにくくして、汎化性能を高くする学習モデルの構築手段として「正則化」というものがある。正則化とは、モデルを学習する際に、複雑さが増すことに対するペナルティを設け、このペナルティを訓練誤差に加えた量が最も小さくなる学習モデルを求めるようにすることにより汎化性能を高めようとするもの。
L1正則化とL2正則化
機械学習で一般的に使用される、L1正則化とL2正則化
L1正則化、L2正則化というのは、それぞれ上述のペナルティとして、学習モデルのパラメータのL1ノルム、L2ノルムを用いるもので、別の言い方をすると、L1正則化は、ペナルティとして学習モデルのパラメータの絶対値の総和を用いるものであり、L2正則化は、ペナルティとして学習モデルのパラメータの二乗の総和を用いるもので、それぞれ下記の特徴をもつ。
L1正則化 特定のデータの重みを0にする事で、不要なデータを削除する
L2正則化 データの大きさに応じて0に近づけて、滑らかなモデルとする
つまり、L1正則化もL2正則化も、モデルの次元が低い方がペナルティが小さくなる正則化のモデルである。従って、学習データの中に例外的なデータが含まれていた場合に、その例外的なデータに対応するために学習モデルの次元をいくつも増やす必要がある場合には、その例外データには対応しないようなモデルが選択される。
L2正則化は微分可能なモデルであり解析的な解が存在するが、L1正則化は解析的には解けないために数値計算的な手法により求めることになる。いずれにしても、さまざまなライブラリ・ソフトウェア・サービスにより実装は提供されているので、データの内容を検討して適切な正則化を設定することにより、機械学習をより有効に行う事が出来る。
参考:TechCrowd/過学習を防ぐ正則化/2021.01.06/
https://www.techcrowd.jp/machinelearning/regularization/