スパースモデルのL1ノルムを選ぶ理由


97

私は線形回帰に関する本を読んでいます。L1とL2の規範についての文章があります。私はそれらを知っていますが、スパースモデルのL1ノルムの理由を理解していないだけです。誰かが簡単な説明を与えることができますか?


4
基本的に、スパース性は等値面の軸上にある鋭いエッジによって引き起こされます。私がこれまでに見つけた最高のグラフィカルな説明は、このビデオにあります:youtube.com/watch
v


次のメディアの投稿を確認してください。medium.com/@vamsi149/…に
solver149

回答:


111

ベクトル考えます。ここでは小さいです。のおよびノルムは、それぞれによって与えられますε>0L1L2Xx=(1,ε)R2ε>0l1l2x

||x||1=1+ε,  ||x||22=1+ε2

さて、いくつかの正則化手順の一部として、私たちはの要素の一つの大きさが軽減しようとしていると言うすることによって。を変更すると、結果のノルムは δεX11-δxδεx11δ

||x(δ,0)||1=1δ+ε,  ||x(δ,0)||22=12δ+δ2+ε2

一方、減少で規範を与えます δx2δ

||x(0,δ)||1=1δ+ε,  ||x(0,δ)||22=12εδ+δ2+ε2

ここで注意すべきことは、ペナルティの場合、大きい項正規化すると、小さい項比べてノルムが大幅に減少するということです。ペナルティ、しかし、減少は同じです。したがって、ノルムを使用してモデルにペナルティを課す場合、がになるノルムの減少はが小さいときにほとんど存在しないため、何かがゼロに設定されることはほとんどありません。一方、ノルムの減少は常に等しくなります、X 1 、X 20 、L 1 、L 2 、L 2 ε 0 εのL 1 δl2x1x20l1l2l2ε0εl1δ、罰せられる量に関係なく。

別の考え方:ペナルティがスパース性を助長することはあまりありませんが、ペナルティはある意味で要素がゼロに近づくにつれて減少するリターンをもたらすことでスパース性を妨げます。l1l2


3
ご回答有難うございます!しかし、私は最後の点に納得していません。ペナルティのない線形回帰を実行する場合、スパースソリューションはほとんど得られません(L1ペナルティを追加するとスパース性が得られることがよくあります)。そのため、実際には、L1のペナルティーは、ゼロからゼロにほぼ正確に始まる係数を送信することにより、スパース性を促進します。
ステファンウェイガー14

2
@StefanWagerは、多分それは誇張のビットだが、私はそれがおよそ何も特別なことがないというのは本当だと思いますここでのペナルティ:任意のためのペナルティもスパースを誘発するであろうが、しかし、あなたは実際にはあまり頻繁にそれらを参照してください(おそらく、それらが非凸であるため)。本当にスパース性が必要な場合は、ペナルティ(非ゼロエントリの数に比例する)を使用する方法があります。l1lαα1l0
bnaul 14

1
それは正解です。スパースにつながる多くの標準があります(たとえば、前述のように、p <= 1のLp標準)。一般に、ゼロの鋭い角を持つノルムはスパース性を誘発します。したがって、元の質問に戻ります-L1ノルムは、ゼロで不連続勾配を持つことでスパース性を誘発します(このプロパティのその他のペナルティも同様です)。
ステファンウェイガー14

3
誰かがもっと読みたい場合には、L1ノルムの代替物である非凸ペナルティ関数に関する活発な文献があります(たとえば、最近、papers.nips.cc / paper /…)。
ステファンウェイガー14

1
これを見つけるまで、私はしばらく疑問に思っていました。
ハディエルサハル

73

スパースモデルでは、重みの多くが0であるモデルを考えます。したがって、L1正規化が0重みを作成する可能性が高い方法について説明します。

重み構成されるモデルを考えます。(w1,w2,,wm)

L1正則化では、損失関数 =によってモデルにペナルティを科します。L1(w)Σi|wi|

L2正則化では、損失関数 =によってモデルにペナルティを科します。L2(w)12Σiwi2

勾配降下を使用する場合、ステップサイズに勾配を掛けて、勾配の反対方向に重みを繰り返し変更します。これは、勾配が急なほどステップが大きくなり、勾配が平坦になるとステップが小さくなることを意味します。グラデーション(L1の場合のサブグラデーション)を見てみましょう。η

dL1(w)dw=sign(w)、ここでsign(w)=(w1|w1|,w2|w2|,,wm|wm|)

dL2(w)dw=w

損失関数をプロットし、単一のパラメーターのみで構成されるモデルの導関数の場合、L1の場合は次のようになります。

ここに画像の説明を入力してください

L2の場合は次のようになります。

ここに画像の説明を入力してください

ためのことに注意してください、勾配が場合を除いて、1または-1のいずれかである。つまり、L1正規化は、重みの値に関係なく、同じステップサイズで任意の重みを0に向かって移動します。対照的に、重みが0に、勾配が0に向かって線形に減少していることがわかります。したがって、L2正規化も重みを0に向かって移動しますが、重みが0に近づくにつれて、ステップは小さくなります。L1w1=0L2

モデルから開始し、を使用することを想像してみてください。次の図では、L1正規化を使用した勾配降下法が10の更新行う方法を確認できます、モデルに到達するまで:w1=5η=12w1:=w1ηdL1(w)dw=w1121w1=0

ここに画像の説明を入力してください

制約では、L2正規化で場合、勾配はであり、すべてのステップは0に向かって半分だけになります。つまり、更新 したがって、実行するステップ数に関係なく、モデルの重みが0になることはありません。η=12w1w1:=w1ηdL2(w)dw=w112w1

ここに画像の説明を入力してください

ステップサイズが1ステップでゼロに達するほど大きい場合、L2正規化により重みがゼロになる可能があることに注意してください。L2正規化がそれ自体でオーバーシュートまたはアンダーシュート0であったとしても、重みに関するモデルの誤差を最小化しようとする目的関数と併用すると、重み0に達する可能性があります。その場合、モデルの最適な重みを見つけることは、正則化(重みが小さい)と損失の最小化(トレーニングデータのフィッティング)のトレードオフであり、そのトレードオフの結果は、いくつかの重みの最適な値になる可能性があります0です。η


3
誰かが私に説明できますか、なぜ開始ウェイトを5の代わりにw1 = 5.1にしたときに無限ループにならないのでしょうか? w = 0.1、w> 0とするので、偏微分は1その後、2番目のステップを実行、w <0 =>導関数= -1:だから我々は、0に近い無限振動する
η=0.5
wfirst step=0.10.5(+1)=>w=0.4
wsecondstep=0.40.5(1)=0.1.
アレックス・ヤシン

5
正しい@AlexYashin-L1正則化に基づいて重みのみを更新した場合、0近くで振動する重みを持つことになります。しかし、重みの調整に正則化のみを使用することはありません。正則化と損失関数の最適化を組み合わせて使用​​します。そのようにして、正則化は重みをゼロに押し上げますが、同時に、予測を最適化する値に重みを押し付けようとします。2番目の側面は学習率です。小さな学習率で、我々はその正則は、我々はそれを無視することができますことを周りに振動して値に近い得ることができます
ケントムンテCaspersen

1
なぜdL2(w)/dw単なる「モジュール」であり、線形ではないのですか?
mrgloom

1
@mrgloom dL2(w)/dwL2(w)、重量の変化ごとの変化として読み取ることができます。L2正規化は重みを2乗するので、重みL2(w)が大きくなると、同じ重みの変化に対してより大きく変化します。これが、関数をプロットしたときに凸になる理由です。ただし、L1の場合L1(w)、重みの変化ごとの変化は、重みが何であるかに関係なく同じです。これにより、線形関数が得られます。
ケントムンテキャスパーセン

1
@KentMuntheCaspersen素晴らしい説明!グラフと、これを直感的にするために投資した努力に感謝します!
-layser

15

Hastie、Tibshirani、Friedmanによる統計的学習の要素からの図3.11 は非常に説明的です。ここに画像の説明を入力してください

説明:は、制約のない最小二乗推定です。赤い楕円は(この図のキャプションで説明されているように)パラメーターおよびに関して最小二乗誤差関数の輪郭です。制約がない場合、エラー関数はMLEで最小化され、赤い楕円が広がるにつれてその値は増加します。ダイアモンド領域とディスク領域は、それぞれ投げ縄()回帰とリッジ()回帰の実行可能領域です。目的は実行可能性を維持しながらエラー関数を最小化することであるため、各方法について、赤い楕円と青い領域の交差点を発見的に探しています。β^β1β2β^L1L2

とはいえ、幾何学的特性により、ダイヤモンド実行可能領域に対応する制約は、解の1つの成分がゼロ(つまり、スパースモデル)である交差を生成する可能性が高いことは明らかです。楕円、ディスク、およびダイヤモンドの。これは、ダイヤモンドの角(片方の成分がゼロ)が斜めに伸びている楕円と交差しやすいためです。L1


16
この図は、追加情報なしではあまり説得力がありません。たとえば、エラーの等高線を図のどこに配置する必要があるのでしょうか?
-wabbit

@HrishikeshGanu最終的に投稿を編集する時間ができました。
Zhanxiong

すべての輪郭が...同じ形式を持っています
はKjetil BはHalvorsenの

1
L1エッジでは、がおよび軸に対して異なる分散を持つ場合にのみ優先されることに注意してください。言い換えれば、レッドライン分布が対角線軸上で対称ではない場合。対称である場合、エッジ全体の距離/値/コストは同じです。β^β1β2β1=β2
タウトヴィダス

13

統計学習の要素の図3.11(71ページ)をご覧ください。二乗誤差関数を最小化する制約のないの位置を示し、楕円は二乗誤差関数のレベルを示し、は制約を受けるおよび。β^β^1(β^)<t2(β^)<t

これにより、制約、いくつかのnullコンポーネントが取得されることを非常に幾何学的に理解できます。これは、基本的にボールの軸に「エッジ」があるためです。11{x:1(x)1}

より一般的には、この本はこの主題に関する優れた参考資料です。厳密で説明が良く、素晴らしい説明です。


3
少なくとも私の直感では、2番目の段落が重要だと思います。l1「ボール」は、軸に沿ってスパイク状のダイヤモンドのようなものです。つまり、ヒットするように拘束された超平面は、軸。
ウェイン

2
制約のない方の魅力:はい、私は二つの力に提出点の移動として最適化プロセスを想像するために使用するに0 thaksに向けた魅力、二乗誤差関数のおかげでまたは当たり前。ここでは、この引力の「ジオメトリ」がポイントの動作を変更します。自由に移動できる小さなまたはボールを修正すると、ボールの境界上をスライドしてます。その結果は... aforementionned本のイラストに示されているβ^1212β^
エルビス

3
この本は優れていますが、どこから来たのか、そしてその背後にある数学については説明しません。
-user13985

2

単純な非数学的な答えは次のとおりです。

L2の場合:ペナルティ項は2乗であるため、小さい値を2乗すると小さくなります。 最小二乗誤差を取得するという目的を達成するためにゼロにする必要はありません。その前に取得します。

L1の場合、ペナルティ項は絶対です。小さくする触媒ないため、ゼロにする必要あります。

これが私の視点です。


私にはあまり説得力がありません。
タイラー十三将士归玉门

2

L1ノルムとL2ノルム

この画像は、L1およびL2ノルムが占める領域の形状を示しています。2番目の画像は、さまざまな回帰問題のさまざまな勾配降下輪郭で構成されています。すべての等高線図で、リッジまたはL2ノルムと交差する赤い円を観察します。交差点は軸上にありません。すべての輪郭の黒い円は、L1ノルムまたはなげなわと交差するものを表します。軸の比較的近くで交差します。これにより、係数が0になり、したがって機能が選択されます。したがって、L1ノルムはモデルをスパースにします。

次のリンクの詳細説明:データサイエンスに向けて投稿をクリックします。


これは良い説明ですが、コスト関数の例の表現に関する追加のコメントも役立ちます。つまり、 -normエラーの円形は直感的に見えますが、(他のほとんどの例でも使用されている)細長い形は、自明で自明ではないようです。(ここで、私は(b)の左上のコスト関数について話している:なぜその主な方向はポイントに向いており、たとえばないのか?等高線は異なり、最小化ポイントは0になりません!)β 1 = 1 β 1 = 0 L 12β1=1β1=0L1
Nutle
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.