正則化

統計モデルあるいは機械学習モデル(予測モデル)を構築するときに、データのサンプル数が説明変数(あるいは特徴量)の数よりも少ない場合、また、説明変数同士に相関が高いものが存在する場合、モデルのパラメーターが推定されない場合がある。

パラメーターが推定されない場合について考えてみる。例えば、説明変数を 3 つ含む回帰モデル y = β1x1 + β2x2 + β3x3 を考えたとき、サンプルが (y, x1, x2, x3) = (1.3, 0.9, 1.2, 1.1), (1.4, 0.7, 1.4, 0.7) のように 2 つしか存在しなかった場合、パラメーター β1, β2, β3 をすべて決定することができない。

また、説明変数同士の相関が高い場合も解けないことがある。例えば、上述同様の説明変数を 3 つ含む回帰モデルを考えたとき、サンプルが (y, x1, x2, x3) = (1.3, 0.9, 0.9, 1.1), (1.4, 1.1, 1.1, 0.7), (0.7, 1.4, 1.4, 1.2) が 3 つ以上存在したとしても、説明変数 x1 と x2 の値のように、同じ値をとる(説明変数同士の相関が高い)ときも、3 つのパラメーターをすべて決定することができない。

上述のような場合において、パラメーターを推定できなかったとき、パラメーターに制約条件を加えることによって、推定可能となる場合がある。例えば |β1| + |β2| + |β3| = 1 となるように制約条件を加えることで、パラメーターを全て求めることができるようになる。このように、パラメーター推定時に、パラメーターに対して制約条件を設けることを正則化という。

一般に、説明変数 X = (x1, x2, .., xp) と目的変数 y が与えられたとき、このモデルは p 個のパラメーター β = (β1, β2, ..., βp)T を用いて次式のようにかける。

\[ \mathbf{y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\epsilon}\]

このモデルにおけるパラメーター推定は、モデルで計算された値()と目的変数(y)の誤差がもっとも小さくなるように β を決めることである。ここで、その誤差を loss(β) としたとき、パラメーター推定は次式で書き表すことができるようになる。この loss(β) は二乗誤差としたりすることができる。

\[ \hat{\boldsymbol{\beta}} = \arg \min \left\{ loss(\boldsymbol{\beta}) \right\} \]

このパラメーター推定に対して正則化してみる。つまり、パラメーターに対してある制約条件を与える。この制約条件を R(β) とおく。そして、制約条件のもとでパラメーターを推定する場合の推定式に、次のように書き表すことができる。

\[ \hat{\boldsymbol{\beta}} = \arg \min \left\{ loss(\boldsymbol{\beta})\right\} \quad \text{subject to} \quad R(\boldsymbol{\beta}) \le t \]

このパラメーター推測式中の t は定数である。t は制約条件の寄与の大きさを調整する役割を果たす。t の値を大きくすると、実質、制約条件を与えていない場合に等しい。逆に、t の値を小さくすると、R(β) の値は t よりも小さくなる必要があるので、β の各成分がゼロになる。

上式をラグランジュの未定乗数法を用いて書くと次のようにある。このとき、λ は正則化パラメーターと呼ばれ、t の逆数と同じ効果を持つ。つまり、λ → 0 (t → ∞) ならば制約条件を与えていないときと同じ状況になり、逆に λ → ∞ (t → 0) ならばほぼすべてのパラメーターが 0 となる。

\[ \hat{\boldsymbol{\beta}} = \arg \min \left\{ loss(\boldsymbol{\beta}) + \lambda R(\boldsymbol{\beta}) \right\} \]

t または λ の値は自動的に決まらないので、パラメーター推測する前に与える必要がある。一般的に、クロスバリデーションによって t または λ の値を決める。

正則化の中で、最もよく使われているのが L1 正則化 (LASSO) (Tibshirani, 1996) と L2 正則化 (Ridge) (Hoerl et al., 1970)である。

References