これはばかげた質問に思えるかもしれませんが、合理的な答えを思いつくことができません。
正則化は、複雑なモデルよりも単純なモデルを取得して、オーバーフィッティングを回避するのに役立つと言われています。しかし、線形分類問題の場合:
f(x) = Wx
モデルの複雑さはある程度指定されています。それは線形であり、2 次またはより複雑なものではありません。では、なぜパラメータの正則化が必要なのでしょうか? このような場合、なぜ小さい重みを好むのでしょうか?
これはばかげた質問に思えるかもしれませんが、合理的な答えを思いつくことができません。
正則化は、複雑なモデルよりも単純なモデルを取得して、オーバーフィッティングを回避するのに役立つと言われています。しかし、線形分類問題の場合:
f(x) = Wx
モデルの複雑さはある程度指定されています。それは線形であり、2 次またはより複雑なものではありません。では、なぜパラメータの正則化が必要なのでしょうか? このような場合、なぜ小さい重みを好むのでしょうか?
モデルをトレーニングするサンプルの数を増やすか、モデルの複雑さを軽減するにつれて、モデルを正則化する必要性はますます少なくなる傾向があります。ただし、モデルをトレーニングするために必要なサンプルの数は、パラメータの数に応じて [超] 指数関数的に増加し、場合によっては他の要因がモデルに継承されます。
ほとんどの機械学習の問題では、必要な数のトレーニング サンプルがないか、モデルの複雑さが大きいため、過剰適合を回避または軽減するために正則化を使用する必要があります。直観的には、正則化が機能する方法は、モデルの予測が目的のターゲットからどれだけ逸脱するかを計算する損失関数のargmin∑L(desired,predictionFunction(Wx))
場所にペナルティ項を導入することです。L
したがって、新しい損失関数はargmin∑L(desired,predictionFunction(Wx)) + lambda*reg(w)
、reg
正則化のタイプ (例: squared L2
) でありlambda
、正則化効果を制御する係数です。次に、当然のことながら、コスト関数を最小化しながら、重みベクトルは小さな 2 乗長になるように制限されます (たとえば、squared L2 norm
) ゼロに向かって縮小します。これは、重みベクトルの長さの 2 乗が大きいほど、損失が大きくなるためです。したがって、重みベクトルは、最適化の実行中にモデルの損失を下げることを補う必要もあります。
ここで、正則化項 (ラムダ = 0) を削除した場合を想像してください。次に、モデル パラメーターは自由に任意の値を持つことができるため、線形または非線形モデルを使用していても、重みベクトルの長さの 2 乗は大きくなる可能性があります。これにより、(パラメーターの数に加えて) モデルの複雑さがさらに増し、最適化手順によって、トレーニング データ ポイントと完全に一致する重みベクトルが見つかる場合があります。ただし、目に見えない (検証またはテスト) データセットにさらされると、モデルはトレーニング データに過剰適合するため、うまく一般化できなくなります。