正則化による簡素化

正則化とは、モデルの複雑さにペナルティをかけて、過学習を減らすことを意味します。

簡素化のための正則化

トレーニング セットの損失関数は、徐々に減少します。対照的に、検証セットの損失関数は下降しましたが、その後上昇し始めます。
  • モデルの複雑さは可能な限り避けるべきです。
  • この考え方は、トレーニング時に行う最適化に組み込むことができます。
  • 実証的なリスクの最小化:
    • トレーニング誤差を低く抑えるのが狙い
    • $$ \text{minimize: } Loss(Data\;|\;Model) $$

  • モデルの複雑さは可能な限り避けるべきです。
  • この考え方は、トレーニング時に行う最適化に組み込むことができます。
  • 構造リスクの最小化:
    • トレーニング誤差を低く抑えるのが狙い
    • 複雑さとのバランスをとりつつ
    • $$ \text{minimize: } Loss(Data\;|\;Model) + complexity(Model) $$

  • 複雑さ(モデル)の定義方法
  • 複雑さ(モデル)の定義方法
  • 小さいほうがいい
  • 複雑さ(モデル)の定義方法
  • 小さいほうがいい
  • そこから逸脱すると費用が発生する
  • L2 正則化(リッジ)によってこのアイデアをエンコードできる
    • complexity(model) = 重みの二乗の和
    • かなり大きな重みにペナルティをかける
    • 線形モデルの場合: 傾きが平坦であること
    • ベイズの事前分布:
      • 重みは 0 を中心とする
      • 重みは正規分布になります

$$ Loss(Data|Model) + \lambda \left(w_1^2 + \ldots + w_n^2 \right) $$

\(\text{Where:}\)

\(Loss\text{: Aims for low training error}\) \(\lambda\text{: Scalar value that controls how weights are balanced}\) \(w_1^2+\ldots+w_n^2\text{: Square of}\;L_2\;\text{norm}\)