Lpノルムと正則化

mathmachinelearning

ノルムとは

ノルムはベクトル空間の距離を表す、以下の条件を満たす関数p。

  • p(av) = |a| p(v): スケーラブル
  • p(u + v) ≦ p(u) + p(v): 三角不等式を満たす
  • p(v) ≧ 0: 負の値を取らない
  • p(v) = 0 <=> v=0: 距離が0 <=> 零ベクトル

以下の式で表されるノルムをLpノルムと呼ぶ。

Lpノルム

L1ノルム(マンハッタン距離)

L1ノルムの距離1

絶対値の和。座標軸方向にしか移動できない縛りでの距離。 StreetとAvenueが格子状になっているマンハッタンではタクシーが移動する距離はL1ノルムのようになる。

L2ノルム(ユークリッド距離)

L2ノルムの距離1

2乗の和の平方根。普通の距離。

正則化(regularization)

機械学習で過学習を防ぐためのもの。 Lp正則化は重みのLpノルムをp乗してハイパーパラメータΛを掛けたものを正則化項として 素の損失関数に加える。これを最小化するのだから重みがペナルティとしてはたらく。 L1正則化ではΛが大きければいくつかの重みが0になって次元削減できるが、 L2正則化では重みに比例して小さくなるだけ。それぞれLasso回帰、Ridge回帰ともいう。 また、これらを割合で足して使うElasticNetというものもある。

参考

Norm (mathematics) - Wikipedia

RでL1 / L2正則化を実践する - 六本木で働くデータサイエンティストのブログ