<金融アトラス/a>

金融アトラス

個人の勉強も兼ねて、少しずつまとめます。

正則化とは何か

本ページでは、機械学習における正則化とは何かについてまとめたい。正則化は、機械学習における過学習を防ぐための手法の一つである。

 

過学習とは

学習を行う際、過学習と呼ばれる問題に留意する必要がある。過学習とは、総務省の定義によれば、「教師データ全てを用いてモデルの構築を行うと、そのデータには適合することができても、その後入ってくる未知のデータには全く合わないモデルが形成されてしまうこと」である。例えば説明変数と目的変数の関係を高次式で表現することを考える。教師データへのフィットをよりよくするには、次数を上げていけばよい。3次式よりも20次式の方が教師データへのフィットが良い。しかし、20次式のモデルは、未知のデータには全く合わないものとなっている可能性がある。過学習が生じているモデルを見てみると、教師データの各サンプルデータを通過する(フィットする)ように設計されるため、未知のデータにはフィットしない状況に陥る可能性が高い。過学習となっているモデルでは、パラメータ(係数)の値が大きくなる傾向にある。正則化は、パラメータの値を抑制することで過学習を防ぐ手法である。

 

正則化の考え方

以下、機械学習の中でも、回帰モデルによる予測を行うことを考える。回帰式は以下のようになる。

y^ = w1X1 + w2X2 + ... wnXn

n種類の特徴量Xを用いて、yの値を予測するのである。これをベクトル表記を用いて表すと、 

となる。w^Tは行ベクトル、xは列ベクトルである。パラメータwは、推計値(y^)と実際の値(y)が最小になるように決定される。

以上の前提を基に、以下、L2正則化(Ridge)とL1正則化(Lasso)という2種類の正則化の考え方について説明していく。

 

L2正則化(Ridge)

L2正則化においては、二乗誤差項にL2正則化項を加えたものを最小化することを考える。具体的には、

を最小化する。ここで、Mはサンプル数、Nは特徴量の数である。

右辺の第一項は、真の値と推計値の差(誤差)の二乗和となっている。第二項が正則化項であり、各特徴量のパラメータの2乗和にλをかけたものとなっている。パラメータが大きくなりすぎると、第二項の値は大きくなるため、上記式は最小化されない。λは正則化パラメータと呼ばれ、どれほど正則化の働きを強めるかを決定する。

 

L1正則化(Lasso)

もう一つのL1正則化では、第二項の正則化項がパラメータの二乗和ではなく、絶対値の和になっている。

 

(参考):

towardsdatascience.com