2017-04-08 5 views
0

入力値と出力値の両方が標準化されているデータがあるので、YとY_predの差は常に非常に小さくなります。標準化のコスト関数としてのL1ノルム対l2ノルム

l2ノルムは、l1ノルムよりもモデルのペナルティが小さくなると感じています。なぜなら、0と1の間の数を二乗すると、常に数値が小さくなるからです。

私の質問は、入力と出力の両方が標準化されているときにl2ノルムを使用してもよろしいですか?

答えて

1

問題ではありません。

基本的な考え方/動機づけは、偏差をどのようにペナルティするかです。 L1ノルムは外れ値についてはあまり気にしないが、L2ノルムはこれらを大きくペナルティする。これは基本的な違いであり、ウィキペディアでも多くの長所と短所を見つけることができます。

したがって、予想される偏差が小さいときには意味をなさえますが、確かに同じように動作します。

のは、例を作ってみましょう:

y_real 1.0  ||| y_pred 0.8  ||| y_pred 0.6 
l1:    |0.2| = 0.2   |0.4| = 0.4 => 2x times more error! 
l2:    0.2^2 = 0.04  0.4^2 = 0.16 => 4x times more error! 

あなたが見る、基本的な考え方は、まだ適用されます!

+0

返信いただきありがとうございます。 L2ノルムを使用すると、誤差が小さくなるにつれて、勾配降下の各繰り返しにおいて、重みが非常に軽く訂正されるだけである。それで、最適な重みに収束するために、より多くのトレーニング反復が必要ですか? –

+0

実際には1つの重量のグラジエントサイズだけではありません。これはジョイントグラデーションの詳細です。ローカル(この体重のみ)とグローバル(どのようにこれらの体重が一緒に挙動するか)の設定のようなものです。さらに:学習率チューニングは常に重要です!だから、一般的な答え(これ以上話すことはありませんが、これについてはSOの円滑さと共同で議論するには複雑すぎます)は、問題に依存します。 – sascha

関連する問題