我正在閱讀有關線性回歸的書。關於L1和L2範數有一些句子。我了解它們,只是不明白為什麼L1規範適用於稀疏模型。有人可以給一個簡單的解釋嗎?
我正在閱讀有關線性回歸的書。關於L1和L2範數有一些句子。我了解它們,只是不明白為什麼L1規範適用於稀疏模型。有人可以給一個簡單的解釋嗎?
考慮向量$ \ vec {x} =(1,\ varepsilon)\ in \ mathbb {R} ^ 2 $,其中$ \ varepsilon>0 $很小。 $ \ vec {x} $的$ l_1 $和$ l_2 $範數分別由
$$ || \ vec {x} || _1 = 1+ \ varepsilon,\ \給出|| \ vec {x} || _2 ^ 2 = 1+ \ varepsilon ^ 2 $$
現在說,作為某些正則化程序的一部分,我們將減小其中之一的大小。 $ \ vec {x} $中$ \ delta \ leq \ varepsilon $的元素。如果我們將$ x_1 $更改為$ 1- \ delta $,則得出的範數為
$$ || \ vec {x}-(\ delta,0)|| _1 = 1- \ delta + \ varepsilon ,\ \ || \ vec {x}-(\ delta,0)|| _2 ^ 2 = 1-2 \ delta + \ delta ^ 2 + \ varepsilon ^ 2 $$
,將$ x_2 $減去$ \ delta $給出範數
$$ || \ vec {x}-(0,\ delta)|| _1 = 1- \ delta + \ varepsilon,\ \ || \ vec {x}-(0,\ delta)|| _2 ^ 2 = 1-2 \ varepsilon \ delta + \ delta ^ 2 + \ varepsilon ^ 2 $$
這裡要注意的是,對於$ l_2 $的罰款,對較大項$ x_1 $進行正則化會導致範數減少的幅度要比對較小項$ x_2 \約0 $的減少幅度大得多。但是,對於$ l_1 $罰款,減少幅度是相同的。因此,當使用$ l_2 $範數對模型進行懲罰時,幾乎不可能將任何東西設置為零,因為當$ \ varepsilon時,從$ \ varepsilon $到$ 0 $的$ l_2 $範數的減少幾乎不存在$很小。另一方面,$ l_1 $範數的減少總是等於$ \ delta $,而不管受到懲罰的數量如何。
另一種思考方式:$ l_1 $的含義並不多懲罰鼓勵稀疏,但是在某種意義上,$ l_2 $的懲罰在元素接近零的位置上會產生遞減的收益,從而在某種程度上不鼓勵。
對於稀疏模型,我們考慮一個模型,其中許多權重為0。因此,讓我們對L1正則化如何更可能創建0權重進行推理。
請考慮一個模型,該模型由權重$(w_1,w_2,\ dots,w_m)$。
使用L1正則化,可以通過損失函數$ L_1(w)$ = $ \ Sigma_i | w_i | $來懲罰模型。
使用L2正則化,您可以通過損失函數$ L_2(w)$ = $ \ frac {1} {2} \ Sigma_i w_i ^ 2 $
If使用梯度下降,您將使步長大小\\ eta $乘以梯度,使權重沿梯度的相反方向反複變化。這意味著,較陡峭的漸變將使我們採取更大的步幅,而較平緩的漸變將使我們採取更小的步幅。讓我們看一下漸變(在L1情況下為次漸變):
$ \ frac {dL_1(w)} {dw} =符號(w)$,其中$ sign(w)=(\ frac {w_1} {| w_1 |},\ frac {w_2} {| w_2 |},\ dots,\ frac {w_m} {| w_m |})$
$ \ frac {dL_2(w) } {dw} = w $
如果我們繪製損失函數,並且它是僅由一個參數組成的模型的導數,則L1看起來像這樣:
對於L2來說是這樣的:
請注意,對於$ L_1 $,梯度為1或-1,除了$ w_1 = 0 $時。這意味著無論權重值如何,L1正則化將以相同步長將任何權重移向0。相反,您可以看到隨著權重接近0,$ L_2 $梯度朝著0線性減小。因此,L2-正則化也將任何權重移向0,但是當權重接近0時,步長會越來越小
嘗試想像一下,從一個$ w_1 = 5 $的模型開始,然後使用$ \ eta = \ frac {1} {2} $。在下面的圖片中,您可以看到使用L1正則化的梯度下降如何使10個更新$ w_1:= w_1-\ eta \ cdot \ frac {dL_1(w)} {dw} = w_1-\ frac {1} { 2} \ cdot 1 $,直到達到$ w_1 = 0 $的模型:
相反,通過L2正規化,其中$ \ eta = \ frac {1} {2} $,梯度為$ w_1 $,導致每一步僅接近0。即,我們進行更新$ w_1:= w_1-\ eta \ cdot \ frac {dL_2(w)} {dw} = w_1-\ frac {1} {2} \ cdot w_1 $因此,無論有多少個模型,權重永遠不會達到0我們採取的步驟:
請注意,如果步長$ \ eta $如此之高,L2-正則化可以使權重達到零它一步就達到零。即使L2正則化本身超過或低於0,當與目標函數一起使用時,它仍然可以達到0的權重,該目標函數試圖使模型相對於權重的誤差最小。在那種情況下,找到模型的最佳權重是在正則化(權重較小)和最小化損失(擬合訓練數據)之間進行權衡,而權衡的結果可能是某些權重的最佳值是0。
Hastie,Tibshirani和Friedman的統計學習要素中的圖3.11非常具有說明性:
說明:$ \ hat {\ beta} $是無約束的最小二乘估計。紅色橢圓是最小二乘誤差函數的輪廓(如該圖的標題中所述),以參數$ \ beta_1 $和$ \ beta_2 $表示。在沒有約束的情況下,誤差函數在MLE $ \ hat {\ beta} $處被最小化,並且其值隨著紅色橢圓的擴展而增加。菱形和圓盤區域分別是套索($ L_1 $)回歸和山脊($ L_2 $)回歸的可行區域。啟發式地,對於每種方法,我們都在尋找紅色橢圓和藍色區域的交點,目的是在保持可行性的同時使誤差函數最小化。
話雖如此,很明顯,可以看到與菱形可行區域相對應的$ L_1 $約束更有可能產生一個交點,該交點的解的一個分量為零(即,稀疏模型)是由於橢圓,圓盤和菱形的幾何特性。僅僅是因為鑽石的角(其中一個分量為零)更容易與對角線延伸的橢圓相交。
看看統計學習的要素的圖3.11(第71頁)。它顯示了使平方誤差函數最小化的無約束$ \ hat \ beta $的位置,橢圓表示平方誤差函數的水平,以及受約束$ \ ell_1(\ hat \ beta)< t $和$ \ ell_2(\ hat \ beta)< t $。
這將使您從幾何角度理解在$ \ ell_1 $約束下,您會得到一些空組件。這基本上是因為$ \ ell_1 $球$ \ {x:\ ell_1(x)\ le 1 \} $在軸上具有“邊緣”。
更一般地說,這本書是不錯的參考書關於這個主題:既嚴謹又說明充分,很好的解釋。
圖像顯示了L1和L2範數所占區域的形狀。第二張圖像由各種梯度下降等高線組成,用於各種回歸問題。在所有等高線圖中,觀察與Ridge或L2 Norm相交的紅色圓圈。交點不在軸上。所有輪廓中的黑色圓圈代表與L1範數或套索相交的輪廓。它相交於相對靠近軸的位置。這導致係數為0,從而進行特徵選擇。因此,L1範數使模型變得稀疏。
以下鏈接的詳細說明:單擊發佈到數據科學上
一個簡單的非數學答案應該是:
對於L2:Penalty項是的平方,因此 平方小將使其變小。 為了達到最小平方誤差的目的,我們不必將其設置為零,我們會在此之前得到它。
對於L1:P保金期限是絕對的,我們 可能需要將 歸零 ,因為有使變小/ em> 。
這是我的觀點。
l2正則化器不會將權重向量的值從一個迭代更改為另一迭代,因為l2範數的斜率一直都在減小,而l1正則化器不斷朝著最優W *減小權重向量的值,這是0,因為L1範數的常數是恆定的