1. 程式人生 > >為什麼L1正則項產生稀疏的權重,L2正則項產生相對平滑的權重

為什麼L1正則項產生稀疏的權重,L2正則項產生相對平滑的權重

  • L1 和L2正則項的定義如下:
    L 1 = i
    | w i | L 2 = i
    ( w i ) 2
  • 首先我們先計算一下他們對應的導數,匯入如下所示:
wi=1or−1→wit+1=wit+η(−1or1)∂L2∂wi=wi→wit+1=wit+ηwi" role="presentation"> L 1 w i = 1 o r 1 w i t + 1 = w i t + η ( 1 o r 1 ) L 2 w i = w i w i t + 1 = w i t + η w i
  • 所以我們看到L1每次更新的時候會更新一個定值,那麼若干次迭代之後,權重就有可能減少為0。但是L2每個更新的時候更新的值的大小和 w i 的值是有關係的。當 w i 趨近與0時,那麼對應的導數值也會更新,所以他會不停的接近0,但並不會是0。此外,我們還可以得到,L2相對L1更穩定一些。
  • L1 產生0的權重也可以起到特徵選擇的作用,假設我們有 X 0 . . . X i . . . X n n個特徵,通過分配不同的權重 w 0 . . . w i . . . w n ,然後使用L1 來做特徵選擇。
  • L2 可以迅速產生接近0的權值,但並不是0,所以會比較平滑。
  • 此外,我們還可以從幾何的角度來理解。
    • 假設我們的Loss函式是 ( y w x ) 2 , 那麼我們的幾何解釋如下圖所示:
    • image
    • 其中左圖表示L1,右圖表示L2。綠色代表的是loss的等高線, w 1 , w 2 在L1中的取值空間如左圖的菱形所示。在L2中的取值空間如右圖的圓形所示。從等高線和取值空間的交點可以看到L1更容易傾向一個權重偏大一個權重為0。L2更容易傾向權重都較小。
  • 主要參考