面試L0,L1,L2範數

 

在深度學習中,監督類學習問題其實就是在規則化參數同時最小化誤差。最小化誤差目的是讓模型擬合訓練數據,而規則化參數的目的是防止模型過分擬合訓練數據。

參數太多,會導致模型複雜度上升,容易過擬合,也就是訓練誤差小,測試誤差大。因此,我們需要保證模型足夠簡單,並在此基礎上訓練誤差小,這樣訓練得到的參數才能保證測試誤差也小,而模型簡單就是通過規則函數來實現的。

規則化項可以是模型參數向量的範數。如:L0、L1、L2等。 

一、L0範數與L1範數

       L0範數是指向量中非0的元素的個數。如果我們用L0範數來規則化一個參數矩陣W的話,就是希望W的大部分元素都是0。換句話說,讓參數W是稀疏的。

       L1範數是指向量中各個元素絕對值之和。L1範數是L0範數的最優凸近似。任何的規則化算子,如果他在Wi=0的地方不可微,並且可以分解爲一個“求和”的形式,那麼這個規則化算子就可以實現稀疏。W的L1範數是絕對值,|w|在w=0處是不可微。

       雖然L0可以實現稀疏,但是實際中會使用L1取代L0。因爲L0範數很難優化求解,L1範數是L0範數的最優凸近似,它比L0範數要容易優化求解。

二、L2範數

       L2範數,又叫“嶺迴歸”(Ridge Regression)、“權值衰減”(weight decay)。這用的很多吧,它的作用是改善過擬合。過擬合是:模型訓練時候的誤差很小,但是測試誤差很大,也就是說模型複雜到可以擬合到所有訓練數據,但在預測新的數據的時候,結果很差。

       L2範數是指向量中各元素的平方和然後開根。我們讓L2範數的規則項||W||2最小,可以使得W的每個元素都很小,都接近於0。而越小的參數說明模型越簡單,越簡單的模型則越不容易產生過擬合現象。

      

三、L1範數和L2範數的差別

一個是絕對值最小,一個是平方最小:

L1會趨向於產生少量的特徵,而其他的特徵都是0,而L2會選擇更多的特徵,這些特徵都會接近於0。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章