正則化とは
数学、
統計学、
計算機科学、特に機械学習と
逆問題において、正則化とは、不良設定問題を解決したり、過学習を抑制したりするために、追加情報を導入する手法です。モデルの複雑さにペナルティを課すことで、モデルの滑らかさを向上させたり、パラメータの
ノルムの大きさを制限したりします。正則化の理論的な根拠は、
オッカムの剃刀の考え方に由来します。ベイジアンの視点から見ると、多くの正則化手法は、モデルのパラメータに関する事前情報と解釈できます。
統計および機械学習における正則化
統計学および機械学習では、正則化はモデルのパラメータを学習する際に、特に過学習を防ぎ、汎化性能を向上させるために利用されます。機械学習で最も一般的な正則化手法は、L1正則化(p=1)とL2正則化(p=2)です。損失関数`E(w)`の代わりに、以下の式で表される正則化項を加えた関数を最小化します。
E(w) + λ(1/p)||w||p^p = E(w) + λ(1/p)∑|wi|^p
ここで、`w`はパラメータのベクトル、`||⋅||p`はL1
ノルムやL2
ノルムなどの
ノルム、`λ`は正則化の強さを調整するハイパーパラメータです。λが大きいほど、正則化の効果は強まります。このハイパーパラメータは、交差検証などの手法を用いて最適化されます。
損失関数をパラメータで偏微分すると、以下のようになります。
∂E(w)/∂wi + λwi
∂E(w)/∂wi + λsgn(wi)
これらの式からわかるように、
最急降下法や
確率的勾配降下法を用いる場合、L2正則化はパラメータの大きさに比例して、L1正則化はλの大きさでパラメータを0に近づける効果があります。
これらの手法は、
線形回帰、
ロジスティック回帰、
ニューラルネットワーク、
サポートベクターマシン、条件付き確率場など、様々なモデルに応用できます。
線形回帰モデルに適用した場合、L1正則化は
ラッソ回帰、L2正則化は
リッジ回帰として知られています。
ニューラルネットワークにおいては、L2正則化は荷重減衰とも呼ばれます。
L1正則化
L1正則化は、いくつかのパラメータを正確に0にすることができます。これにより、特徴選択が行われ、モデルがスパースになります。スパースなモデルは、0の要素が多いため、高速に計算できるという利点があります。ただし、L1
ノルムは絶対値を含むため、微分不可能な点が存在します。そのため、勾配法を利用する際には、アルゴリズムの変更が必要な場合があります。
損失関数が二乗誤差の場合、L1正則化は、パラメータの絶対値がλ以下であればパラメータを0にし、そうでなければλだけ0に近づける操作に相当します。このことは、損失関数をパラメータで偏微分することで確認できます。この性質から、小さな値のパラメータが0になる傾向があります。
機械学習では、データが
平均0分散1に
正規化されていないと正しく機能しない手法が多いですが、L1正則化の場合、全てのパラメータで同じようにλずつ減らすという処理は、データが
正規化されていないと適切に機能しないことがあります。
L0正則化
L0正則化は、0ではないパラメータの数を用いて正則化を行う方法です。しかし、組み合わせ最適化問題となるため、計算コストが非常に高くなるという問題があります。パラメータ数が多い場合は、貪欲法を用いて近似解を得る必要があります。線形モデルにおいては、残すべきパラメータを決定するために一般化交差検証が利用できます。
情報量規準
[事前確率]]を使用するベイズ学習では、複雑なモデルに小さい確率を割り当てることができます。モデル選択に用いられる手法としては、[[赤池情報量規準]、
[最小記述長]、
[ベイズ情報量規準]などがよく知られています。
線形モデルでの手法
以下に、
一般化線形モデルで利用される正則化の手法をまとめます。
L1正則化 (ラッソ回帰)
L2正則化 (
リッジ回帰)
Elastic Net
L0正則化
逆問題における正則化
1943年、Andrey Nikolayevich Tikhonovが、L2正則化を一般化したTikhonov正則化を
逆問題に対する手法として発表しました。詳細については、
逆問題の項目を参照してください。
関連項目
逆問題
オッカムの剃刀
*
過剰適合
参照
[参考文献]など