L1, L2 Regularization 原理與L1 Regularization的稀疏性
L1 Regularization & L2 Regularization,這兩種方式其實就是在 Loss Function 中加上對應的 L1 及 L2 penalty (懲罰項),以此來減緩overfitting的情形。
角度一: 解空間形狀
從上圖來看,在二維的情況下,黃色的部分是L2和L1正則項約束後的解空間,藍色的等高線試凸最佳化問題中目標函數的等高線,我們可以觀察到L2正則項約束後的解空間是圓形的,而L1正則項約束後的解空間是多邊形的。顯然的,多邊形的解空間更容易在尖角處與等高線碰撞出稀疏解。
稀疏解:說白了就是模型有很多參數是0,相當於對模型進行了一次特徵選擇
然而上方的解釋有點不構精確,這邊我們其實可以透過KKT條件來更清楚地做解釋
事實上,帶正則項和帶約束條件是一樣的,為了約束w的可能取值空間進而防止overfitting,也就是我們不要無條件的求得最低 error,寧可犧牲一點精準度來換取一個更泛化的模型,一般會為最佳化問題加上一個約束,就是w的L2範數的平方不能大於m。
為了求解帶約束條件的凸最佳化問題,寫出拉格朗日函數,後面的條件便為我們最開始介紹的 L2 penalty
若w*和λ*分別是原問題和對偶問題的最佳解,根據KKT條件,他們應該滿足
第一個式子就是w*為帶L2正則項時,最佳化問題的最佳解,而λ*就是L2正則項前面的正則參數。
這時就可以明顯的看出,L2正則化相當於為參數定義一個圓形的解空間,而L1正則化相當於為參數定義一個菱形的解空間,如果原問題目標函數的最佳解不是巧好落在解空間內,那麼約束條件下的最佳解一定是在解空間的邊界上,而L1菱角分明的解空間顯然更容易與目標函數等高線再繳點碰撞,進而產生稀疏解。
角度二:貝式先驗(MAP)
詳細的推導可以參考下方這篇文章
簡單來說,從貝式的角度來看L1正則化相當於對模型參數w引入拉普拉斯先驗,L2正則化相當於對模型參數w引入高斯先驗,而拉普拉斯分布使參數為0的可能性更大。
從上圖可以看出高斯分布在極值點(0點)處是平滑的,也就是高斯先驗分布認為w在極值點附近取不同值的可能性十分接近,這就是L2正則化只會讓w更接近於0但不會等於0的原因;而拉普拉斯分布在極值點(0點)是一個尖峰,所以在拉普拉斯先驗分布中,參數w取值為0的可能性更高。
- L1正規化:有可能導致零權重,因刪除更多特徵而使模型稀疏。
- L2正規化:會對更大的權重值造成更大的影響,將使權重值保持較小。