L0、L1、L2範數學習筆記
阿新 • • 發佈:2019-02-17
1 L0範數
L0範數表示向量中非0元素的個數,即希望資料集中的大部分元素都是0(即希望資料集是稀疏的),
所以可以用於ML中做稀疏編碼,特徵選擇,即通過L0範數來尋找最少最優的稀疏特徵項。
但不幸的是,L0範數的最優化問題是一個NP hard問題,而且理論上有證明,L1範數是L0範數的最優凸近似,
因此通常使用L1範數來代替。
2 L1範數
常見應用為:Lasso Regression
L1範數表示向量中每個元素絕對值的和,L1範數的解通常是稀疏性的,
傾向於選擇數目較少的一些非常大的值或者數目較多的insignificant的小值。
3 L2範數
常見應用為:Ridge Regression
L2範數即歐氏距離,L2範數越小,可以使得w的每個元素都很小,接近於0,
但L1範數不同的是他不會讓它等於0而是接近於0.但由於L1範數並沒有平滑的函式表示,
起初L1最優化問題解決起來非常困難,但隨著計算機技術的到來,
利用很多凸優化演算法使得L1最優化成為可能。
從貝葉斯先驗的角度看,加入正則項相當於加入了一種先驗。即當訓練一個模型時,
僅依靠當前的訓練資料集是不夠的,為了實現更好的泛化能力,往往需要加入先驗項。
L1範數相當於加入了一個Laplacean先驗;
L2範數相當於加入了一個Gaussian先驗。
在機器學習中正則化是指在損失函式中通過引入一些額外的資訊,來防止ill-posed問題或過擬合問題。
一般這些額外的資訊是用來對模型複雜度進行懲罰(Occam's razor)。