機器學習中的正則化問題(2)——理解正則化


理解正則化

正則化的由來

  有幾種角度來看待正則化(Regularization),它符合奧卡姆剃刀(Occam’s razor)原理:在所有可能選擇的模型中,能夠很好地解釋已知數據並且十分簡單的才是最好的模型。從貝葉斯估計的角度來看,正則化項對應於模型的先驗概率。還有個說法就是,正則化是結構風險最小化策略的實現,是在經驗風險上加一個正則化項(regularizer)或懲罰項(penalty term)。

  高維統計分析模型通常都是稀疏模型,即真正有效的變量只占一小部分,絕大多數變量都是噪聲數據。因此當模型的參數過多時,不僅無法提高模型的解釋力,反而會降低模型的解釋力。
  在這個背景下,統計學家提出了各種各樣的變量選擇方法來篩選模型中重要的解釋變量,從而防止過擬合問題。其中正則化是最常用的一種方法,而正則化方法中最常見的就是L0, L1 和L2范數。

  正則化方法的思想:處理最優化函數問題時,在目標函數中加入對參數的約束懲罰項,從而達到簡化模型的目的。

  L0, L1和L2范數指的就是三種不同懲罰函數的形式,它們的通式形如

\[L_p=||β||_p=(|β_1|^p+|β_2|^p+...+|β_n|^p)^{1/p} \]

  因此:

  • L0范數是指向量中非0元素的個數。如果我們用L0范數來規則化一個參數矩陣W的話,就是希望W的大部分元素都是0,即讓參數W是稀疏的;
  • L1范數是向量中各系數絕對值之和,它還有一個名字-LASSO;
  • L2范數是向量中各系數平方和的平方根,在計量經濟學里面,它又稱為“嶺回歸”。

這三者的區別:

  L0范數和L1范數都具有變量選擇的功能,但L0范數很難優化求解(NP問題),而L1范數是L0范數的最優凸近似,L1范數比L0范數更容易求解,所以L1范數被廣泛應用到各種各樣的模型中。
  L2范數的規則項可以使得每個系數都很小,都接近於0,但與L1范數不同,它不會讓它等於0,而是接近於0L2范數,因此L2范數沒有變量選擇的功能。但是利用L2范數(嶺回歸方法)我們可以解決多重共線性問題並求出回歸系數。一句話總結下:通過L2范數,我們可以實現了對模型空間的限制,從而在一定程度上避免了過擬合。

L1、L2對模型空間限制的解釋:

  我們將模型空間限制在系數\(w\)的一個norm-ball 中。為了便於可視化,我們考慮兩維的情況,在 \((w1, w2)\) 平面上可以畫出目標函數的等高線,而約束條件則成為平面上半徑為C的一個 norm ball 。等高線與 norm ball 首次相交的地方就是最優解:


lk:圖(a)中 \(\pm C=w_1\pm w_2, 圖(b)中 C=w^2_1+w^2_2\)

  可以看到,L1-ball 與L2-ball 的不同就在於L1在和每個坐標軸相交的地方都有“角”出現,而目標函數的測地線除非位置擺得非常好,大部分時候都會在角的地方相交。注意到在角的位置就會產生稀疏性,例如圖中的相交點就有w1=0,而更高維的時候(想象一下三維的L1-ball 是什么樣的?)除了角點以外,還有很多邊的輪廓也是既有很大的概率成為第一次相交的地方,又會產生稀疏性。

  相比之下,L2-ball 就沒有這樣的性質,因為沒有角,所以第一次相交的地方出現在具有稀疏性的位置的概率就變得非常小了。這就從直觀上來解釋了為什么L1-regularization 能產生稀疏性,而L2-regularization 不行的原因了。

  因此,一句話總結就是:L1會趨向於產生少量的特征,而其他的特征都是0,而L2會選擇更多的特征,這些特征都會接近於0。Lasso在特征選擇時候非常有用,而Ridge就只是一種規則化而已。
  

關於正則化是貝葉斯先驗,整個優化目標是最大后驗概率的解釋:

  1. LR正則化與數據先驗分布的關系?

  2. 回歸系列之L1和L2正則化

參考文獻:
[1] 機器學習中的范數規則化之(一)L0、L1與L2范數


免責聲明!

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



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