为什么L1稀疏,L2平滑?
問題
為什么L1正則化較容易產生稀疏解,而L2正則化較平緩穩定?
介紹L1和L2
??L1和L2正則常被用來解決過擬合問題。而L1正則也常被用來進行特征選擇,主要原因在于L1正則化會使得較多的參數為0,從而產生稀疏解。我們可以將0對應的特征遺棄,進而用來選擇特征。
角度一 ——從代價函數上來看
但為什么L1正則會產生稀疏解呢?這里利用公式進行解釋。
假設只有一個參數為w,損失函數為L(w),分別加上L1正則項和L2正則項后有:
假設L(w)在0處的倒數為d0,即
則可以推導使用L1正則和L2正則時的導數。
引入L2正則項,在0處的導數
引入L1正則項,在0處的導數
可見,引入L2正則時,代價函數在0處的導數仍是d0,無變化。而引入L1正則后,代價函數在0處的導數有一個突變。從d0+λ到d0?λ,若d0+λ和d0?λ異號,則在0處會是一個極小值點。因此,優化時,很可能優化到該極小值點上,即w=0處。
這里只解釋了有一個參數的情況,如果有更多的參數,也是類似的。因此,用L1正則更容易產生稀疏解。
角度二 ——L1正則化本身的導數性質
這個角度從權值的更新公式來看權值的收斂結果。
首先來看看L1和L2的梯度(導數的反方向):
所以(不失一般性,我們假定:wi等于不為0的某個正的浮點數,學習速率η 為0.5):
L1的權值更新公式為wi = wi - η * 1 = wi - 0.5 * 1,也就是說權值每次更新都固定減少一個特定的值(比如0.5),那么經過若干次迭代之后,權值就有可能減少到0。
L2的權值更新公式為wi = wi - η * wi = wi - 0.5 * wi,也就是說權值每次都等于上一次的1/2,那么,雖然權值不斷變小,但是因為每次都等于上一次的一半,所以很快會收斂到較小的值但不為0。
下面的圖很直觀的說明了這個變化趨勢:
L1能產生等于0的權值,即能夠剔除某些特征在模型中的作用(特征選擇),即產生稀疏的效果。
L2可以得迅速得到比較小的權值,但是難以收斂到0,所以產生的不是稀疏而是平滑的效果。
角度三 ——幾何空間
這個角度從幾何位置關系來看權值的取值情況。
直接來看下面這張圖
高維我們無法想象,簡化到2維的情形,如上圖所示。其中,左邊是L1圖示,右邊是L2圖示,左邊的方形線上是L1中w1/w2取值區間,右邊得圓形線上是L2中w1/w2的取值區間,綠色的圓圈表示w1/w2取不同值時整個正則化項的值的等高線(凸函數),從等高線和w1/w2取值區間的交點可以看到,L1中兩個權值傾向于一個較大另一個為0,L2中兩個權值傾向于均為非零的較小數。這也就是L1稀疏,L2平滑的效果。
參考
https://vimsky.com/article/969.html
https://blog.csdn.net/b876144622/article/details/81276818
https://blog.csdn.net/liangdong2014/article/details/79517638
總結
以上是生活随笔為你收集整理的为什么L1稀疏,L2平滑?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: shape的各种获取、更改以及设置方式辨
- 下一篇: L2正则化方法