正則化

数学・統計学・計算機科学において、特に機械学習と逆問題において、正則化（せいそくか、）とは、不良設定問題を解いたり過学習を防いだりするために、情報を追加する手法である。モデルの複雑さに罰則を科すために導入され、なめらかでないことに罰則をかけたり、パラメータのノルムの大きさに罰則をかけたりする。
正則化の理論的正当化はオッカムの剃刀にある。ベイジアンの観点では、多くの正則化の手法は、モデルのパラメータの事前情報にあたる。
統計および機械学習における正則化.
統計および機械学習において、正則化はモデルのパラメータの学習に使われ、特に過学習を防ぎ、汎化能力を高めるために使われる。
機械学習において最も一般的なのは L1 正則化 ("p"=1) と L2 正則化 ("p"=2) である。損失関数 formula_1 の代わりに、
を使用する。formula_3 はパラメータのベクトルで、formula_4 は L1 ノルム ("p"=1) や L2 ノルム ("p"=2) などである。formula_5 はハイパーパラメータで、正の定数で、大きくするほど正則化の効果が強くなるが、交差確認などで決める。
損失関数をパラメータで偏微分すると、
となり、これは、最急降下法や確率的勾配降下法を使用する場合は、L2 正則化はパラメータの大きさに比例した分だけ、L1 正則化は formula_5 だけ 0 に近づけることを意味する。
この手法は様々なモデルで利用できる。線形回帰モデルに利用した場合は、L1 の場合はラッソ回帰、L2 の場合はリッジ回帰と呼ぶ。ロジスティック回帰、ニューラルネットワーク、サポートベクターマシン、条件付き確率場 などでも使われる。ニューラルネットワークの世界では、L2 正則化は荷重減衰（）とも呼ばれる。
L1 正則化.
L1 正則化を使用すると、いくつかのパラメータを 0 にすることができる。つまり、特徴選択を行っていることになり、スパースモデルになる。0 が多いと疎行列で表現でき、高速に計算できる。しかし、L1 ノルムは評価関数に絶対値を含むため、非連続で微分不可能な点が存在する。勾配法を利用した最適化問題のアルゴリズムによっては変更が必要な場合がある。
損失関数が二乗和誤差の場合、L1 正則化は、パラメータの絶対値が "λ" 以下なら 0にし、そうで無いなら "λ" だけ 0 に近づけるのと等価である。損失関数をパラメータで偏微分することで確認できる。よって、小さな値のパラメータが 0 になる。
機械学習の手法において、データが平均0分散1に正規化されていないと上手く動作しないものが多いが、L1 正則化において全てのパラメータで同じように "λ" ずつ減らすということは、同じようなスケーリングでなければならず、平均0分散1に正規化されていないと上手く働かない。
L0 正則化.
L0 正則化 とは 0 では無いパラメータの数で正則化する方法のこと。ただし、組み合わせ最適化問題になるため、計算コストが非常に高いという問題がある。パラメータ数が多い場合は貪欲法を利用し、近似解を得る。線形モデルであれば残すパラメータを決めるのに一般化交差確認が利用できる。
情報量規準.
事前確率を使用するベイジアン学習法では、複雑なモデルにより小さな確率を割り振ることができる。よく使われるモデル選択手法としては、赤池情報量規準（AIC）、最小記述長（MDL）、ベイズ情報量規準（BIC）などがある。
線形モデルでの手法.
下記は一般化線形モデルで使用される正則化の手法の一覧である。
逆問題における正則化.
1943年に Andrey Nikolayevich Tikhonov が、L2 正則化をより一般化した Tikhonov 正則化を逆問題に対する手法として発表した。詳細は逆問題を参照。