L1范數與L2范數的區別與聯系


一、過擬合與正則化

  過擬合指的就是在機器學習模型訓練過程中把數據學習的太徹底,以至於把噪聲數據的特征也學習到了,這樣會導致在測試的時候不能夠很好地識別數據,即不能正確的分類,模型測試的時候不能夠很好地識別數據,即不能正確的分類,模型泛化能力較差,也就是高方差(variance),低偏差(bias)。例如:

  正則化就是用來解決過擬合問題的,防止我們的模型過分擬合我們的參數。監督機器學習問題無非就是“minimize your error while regularizing your parameters”,也就是在規則化參數的同時最小化誤差,最小化誤差是為了讓我們的模型擬合我們的訓練數據。正則化參數我理解就是尋找在模型擬合我們的數據以及過擬合之間尋找平衡點。參數太多,會導致我們的模型復雜度上升,容易過擬合,正則化可以約束參數,降低模型復雜度,同時規則項的使用可以約束我們模型的特性,使模型稀疏、低秩、平滑等。機器學習中幾乎都可以看到損失函數后面會添加一個額外項,稱作L1正則化和L2正則化,或者L1范數和L2范數。

  其中,第一項L(yi,f(xi;w)) 就是誤差平方和;第二項則為懲罰項,對參數w的正則化函數Ω(w)去約束我們的模型盡量的簡單。機器學習的大部分帶參模型都和這個不但形似,而且神似。是的,其實大部分無非就是變換這兩項而已。

第一項-Loss函數

如果是Square loss,那就是最小二乘了;\phi(v)=(1-v)^2

如果是Hinge Loss,那就是著名的SVM了;\phi(v)=\max(0,1-v)

如果是exp-Loss,那就是牛逼的 Boosting了;AdaBoost: \phi(v)=\exp(-v)

如果是log-Loss,那就是Logistic Regression了;\phi(v)=\ln(1+\exp(-v))

 

還有等等。不同的loss函數,具有不同的擬合特性,這個也得就具體問題具體分析的。但這里,我們先不究loss函數的問題,我們把目光轉向“規則項Ω(w)”

    

第二項-正則化參數

常見的有L1范數、L2范數等

線性回歸的中的正則化項舉例:

 

二、L1范數與L2范數

  • L1范數 -- (Lasso Regression)

L1范數表示向量中每個元素絕對值的和:

L1范數的解通常是稀疏性的,傾向於選擇數目較少的一些非常大的值或者數目較多的insignificant的小值。

參數稀疏的好處

1)特征選擇(Feature Selection):

  大家對稀疏規則化趨之若鶩的一個關鍵原因在於它能實現特征的自動選擇。一般來說,xi的大部分元素(也就是特征)都是和最終的輸出yi沒有關系或者不提供任何信息的,在最小化目標函數的時候考慮xi這些額外的特征,雖然可以獲得更小的訓練誤差,但在預測新的樣本時,這些沒用的信息反而會被考慮,從而干擾了對正確yi的預測。稀疏規則化算子的引入就是為了完成特征自動選擇的光榮使命,它會學習地去掉這些沒有信息的特征,也就是把這些特征對應的權重置為0。

2)可解釋性(Interpretability):

  另一個青睞於稀疏的理由是,模型更容易解釋。例如患某種病的概率是y,然后我們收集到的數據x是1000維的,也就是我們需要尋找這1000種因素到底是怎么影響患上這種病的概率的。假設我們這個是個回歸模型:y=w1*x1+w2*x2+…+w1000*x1000+b(當然了,為了讓y限定在[0,1]的范圍,一般還得加個Logistic函數)。通過學習,如果最后學習到的w*就只有很少的非零元素,例如只有5個非零的wi,那么我們就有理由相信,這些對應的特征在患病分析上面提供的信息是巨大的,決策性的。也就是說,患不患這種病只和這5個因素有關,那醫生就好分析多了。但如果1000個wi都非0,醫生面對這1000種因素,累覺不愛。

  • L2范數 -- (Ridge Regression)

L2范數即歐氏距離:

L2范數越小,可以使得w的每個元素都很小,接近於0,但L1范數不同的是他不會讓它等於0而是接近於0.

L2的作用=參數變小=模型變簡單≈模型參數信息變少

 

三、從幾何角度直觀理解L1范數、L2范數

假設有如下帶L1正則化的損失函數:

其中J0是原始的損失函數,加號后面的一項是L1正則化項,α是正則化系數。注意到L1正則化是權值的絕對值之和,J是帶有絕對值符號的函數,因此J是不完全可微的。機器學習的任務就是要通過一些方法(比如梯度下降)求出損失函數的最小值。當我們在原始損失函數J0后添加L1正則化項時,相當於對J0做了一個約束。令L=α∑w|w|,則J=J0+L,此時我們的任務變成在L約束下求出J0取最小值的解。考慮二維的情況,即只有兩個權值w1和w2,此時L=|w1|+|w2|對於梯度下降法,求解J0的過程可以畫出等值線,同時L1正則化的函數L也可以在w1w2的二維平面上畫出來。如下圖:

圖中等值線是J0的等值線,黑色方形是L函數的圖形。在圖中,當J0等值線與L圖形首次相交的地方就是最優解。上圖中J0與L在L的一個頂點處相交,這個頂點就是最優解。注意到這個頂點的值是(w1,w2)=(0,w)。可以直觀想象,因為L函數有很多『突出的角』(二維情況下四個,多維情況下更多),J0與這些角接觸的機率會遠大於與L其它部位接觸的機率,而在這些角上,會有很多權值等於0,這就是為什么L1正則化可以產生稀疏模型,進而可以用於特征選擇。而正則化前面的系數α,可以控制L圖形的大小。α越小,L的圖形越大(上圖中的黑色方框);α越大,L的圖形就越小,可以小到黑色方框只超出原點范圍一點點,這是最優點的值(w1,w2)=(0,w)中的w可以取到很小的值。類似,假設有如下帶L2正則化的損失函數:

同樣可以畫出他們在二維平面上的圖形,如下:

二維平面下L2正則化的函數圖形是個圓,與方形相比,被磨去了棱角。因此J0與L相交時使得w1或w2等於零的機率小了許多,這就是為什么L2正則化不具有稀疏性的原因。

 

一句話簡單總結L1、L2范數的區別

L1正則化可以產生稀疏權值矩陣,即產生一個稀疏模型,可以用於特征選擇。具有截斷性

L2正則化可以讓參數衰減,防止模型過擬合(overfitting);一定程度上,L1也可以防止過擬合。具有縮放性

 

 

參考鏈接:

http://blog.csdn.net/jinping_shi/article/details/52433975

https://www.cnblogs.com/little-YTMM/p/5879093.html

http://blog.csdn.net/sinat_26917383/article/details/52092040

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM