定義

モデルが訓練データに過剰に適合(オーバーフィッティング)しないように、意図的に制約やペナルティを加えてモデルをシンプルに保つための手法です。

基本的な考え方

損失関数にパラメータの大きさに対するペナルティ項を加えます。

\[最終的な目的関数 = 訓練データへの誤差 + \lambda \times ペナルティ項\]

この λ(ラムダ、正則化係数)を調整することで、正則化の強さをコントロールします。

  • λを大きくする → ペナルティが強く効く → パラメータが小さく抑えられる → モデルが単純になる(正則化を強める)
  • λを小さくする(0に近づける) → ペナルティがほぼ効かない → パラメータが自由に動ける → モデルが複雑になれる(正則化を弱める)

代表的な種類

  • L2正則化(Ridge): パラメータの二乗和にペナルティをかける
    • パラメータ全体を滑らかに小さくする。最も一般的
  • L1正則化(Lasso): パラメータの絶対値の和にペナルティをかける
    • 一部のパラメータを完全に 0 にする性質があり、特徴量選択にも使える
  • Elastic Net: L1とL2を組み合わせたもの
  • Dropout: 学習時に一部のニューロンをランダムに無効化する(ニューラルネットワーク特有)
  • 重み減衰(weight decay): パラメータ更新の式に直接組み込む手法。現代的な実装(AdamW 等)では L2正則化とは別物として区別される
  • データ拡張(augmentation): 入力データ側を加工することで汎化性能を高める。
  • 早期終了(early stopping): 学習を打ち切るタイミングの工夫。
  • ラベルスムージング: 正解ラベルの確率分布自体を緩める手法。

損失関数への「足し算」になるか

種類 損失に「足し算」される?
L1 / L2正則化 される。$\lambda \times \sum W^2$ のような項を損失に追加する
Dropout されない。ランダムにニューロンを無効化する操作自体が正則化効果を生む
Weight decay(AdamW等) されない。パラメータ更新の式に直接組み込む
データ拡張 されない。入力データ側を加工する
早期終了 されない。学習を打ち切るタイミングの工夫する
ラベルスムージング 「足し算」というより「入力の加工」に近い

共通しているのは「モデルがオーバーフィッティングしにくくなるよう、何らかの制約や工夫を加える」という目的の部分。

バイアス・バリアンスとの関係