L2正則化(リッジ回帰)完全ガイド:過学習対策・特異値分解で理解する縮小効果と実装(weight decay/AdamW)

L2正則化とは — 概要と目的

L2正則化(エルツー正則化、別名リッジ回帰やTikhonov正則化)は、機械学習や統計モデリングで過学習(オーバーフィッティング)を抑え、モデルの汎化性能を改善するためによく使われる手法です。損失関数にパラメータの二乗ノルム(L2ノルム)のペナルティ項を加えることで、重みを大きくしすぎないように「縮小(shrinkage)」します。

数学的定義

代表的な形式は次のようになります。既存の目的関数(例えば最小二乗誤差)を L(w) とすると、L2正則化付きの損失は

J(w) = L(w) + (λ/2) ||w||_2^2

ここで λ ≥ 0 は正則化強度(ハイパーパラメータ)で、||w||_2^2 = Σ_i w_i^2 です。λ を大きくすると重みはより強く抑制され、モデルは滑らかでバイアス寄りになります。逆に λ = 0 のとき正則化は効きません。

線形回帰における閉形式解(リッジ回帰)

線形回帰の最小二乗誤差 L(w) = ||Xw − y||_2^2 を考えると、L2正則化を加えた場合の解は解析的に求められます。設計行列を X、応答ベクトルを y とするとリッジ回帰の解は

ŵ = (X^T X + λ I)^{-1} X^T y

です。λ が 0 のときは通常の最小二乗解に戻り、λ > 0 は X^T X の固有値に λ を足すことで逆行列の数値安定性を高め、変動を抑える効果があります。

特異値分解で見た縮小効果

設計行列 X を特異値分解 X = U Σ V^T とすると、リッジ解は

ŵ = V diag(σ_i / (σ_i^2 + λ)) U^T y

のように表現できます。ここからわかるのは、特異値 σ_i が小さい(=情報が不安定・ノイズ寄り)方向ほど縮小率が大きくなり、モデルがノイズに引きずられにくくなるということです。

勾配降下法における実装と「重み減衰(weight decay)」の関係

  • 損失に L2 ペナルティを加えた場合、重みの勾配は ∂J/∂w = ∂L/∂w + λ w となり、通常の勾配降下での更新は

    w ← w − η (∂L/∂w + λ w)

    (η は学習率)となります。

  • 一方で「weight decay(重み減衰)」は実装的には更新式を

    w ← (1 − η λ) w − η ∂L/∂w

    とする方法です。標準的な確率的勾配降下法(SGD)の場合、この2つは等価になります(高次の差分は無視)。

  • ただし、Adam のような適応学習率アルゴリズムでは、単純な L2 正則化と weight decay は等価ではありません。このため AdamW のように「weight decay を分離して適用する」手法が提案されています(Loshchilov & Hutter)。

なぜ過学習が抑えられるのか — バイアス・分散の観点

L2 正則化はモデルの分散を下げる(学習結果の変動を抑える)一方でバイアスを増やす作用があります。複雑なモデルが訓練データに過度に適合するのを抑えることで、未知データに対する誤差(汎化誤差)を改善することが期待されます。特にサンプル数が少ない、あるいは特徴量が多く多重共線性がある場合に有効です。

L2正則化とベイズ解釈

L2 正則化はベイズ統計的にはパラメータに独立なゼロ平均のガウス事前分布を置くことに相当します。つまり w_i ∼ N(0, σ^2) の事前を置くとき、最大事後確率(MAP)推定は L2 ペナルティ付き損失の最小化と一致します(λ は事前分散に依存)。この解釈はハイパーパラメータの選び方やモデル選択に役立ちます。

L2とL1(ラッソ)との違い

  • L1 正則化(ラッソ)は係数の絶対値の和にペナルティをかけ、スパース性(多くの係数を正確にゼロにする)を促します。特徴選択を自然に行いたい場合は L1 が向きます。

  • L2 は係数を連続的に縮小しますが基本的にゼロにしないため、スパース性は生まれません。特徴間で相関がある場合は L2 の方が安定した解を与えることがあります。

  • 両者を組み合わせた Elastic Net もよく用いられ、L1 と L2 の利点を組み合わせられます。

深層学習における利用上の注意点

  • ニューラルネットワークでの L2 正則化は「重みの大きさを抑制」し、過学習を減らす効果があります。ただしドロップアウト、バッチ正規化(BatchNorm)など他の正則化手法と組み合わせる場合の相互作用に注意が必要です。

  • バイアス項(ネットワークのバイアスパラメータ)やバッチ正規化のパラメータなど、全てのパラメータに同じ正則化をかけるべきではない場面があります。実務ではバイアスやスケールパラメータは正則化対象から外すことが多いです。

  • 適応的最適化(Adam, RMSprop など)を使う場合、L2 を単に損失に加えるだけだと weight decay と異なる振る舞いになるため、AdamW のような「デカップリングされた重み減衰」を用いるのが一般的です。

ハイパーパラメータ λ の選び方

λ はモデルの汎化性能に直接影響するため、交差検証(k-fold CV)や検証データセットを用いたグリッドサーチ、もしくはベイズ最適化などで選択します。探索は通常対数スケール(例: 10^−6 から 10^2 の範囲)で行います。性能指標(検証誤差、AIC/BIC、ベイズ的なエビデンスなど)に基づいて決めます。

応用例と利点・欠点まとめ

  • 利点:過学習抑制、数値安定性の向上、マルチコロニアリティに強い、簡単に実装できる。

  • 欠点:スパース化を行わないため特徴選択には不向き、ハイパーパラメータのチューニングが必要、適応最適化との相性に注意。

  • 適用例:線形回帰(リッジ)、ロジスティック回帰、ニューラルネットワークの重み正則化、カーネルリッジ回帰(カーネル法における正則化)など。

実践的なチェックリスト

  • 特徴量スケーリング(標準化/正規化)を行う。L2 は特徴のスケールに敏感であるため必須。
  • バイアス項は正則化対象から除外することを検討する。
  • ハイパーパラメータ λ は交差検証で決定する(対数スケールで探索)。
  • Adam 等の適応オプティマイザを使う場合は AdamW のような重み減衰の実装を検討する。
  • モデルの複雑さ、データ量、ノイズレベルに応じて L1 や Elastic Net など他の正則化とも比較する。

まとめ

L2正則化はシンプルで効果的な過学習対策です。線形モデルでは解析解が得られ、行列の条件数改善といった数値的利点もあります。深層学習でも一般的に使われますが、適応的最適化手法や他の正則化技術との組み合わせについては注意が必要です。ハイパーパラメータの適切な選定と実装上の細部(バイアスの扱い、特徴スケーリング、weight decay の扱い)を押さえれば、汎化性能向上に大きく貢献します。

参考文献