在機器學習中,無論是分類還是回歸,都可能存在由於特征過多而導致的過擬合問題。當然解決的辦法有
(1)減少特征,留取最重要的特征。
(2)懲罰不重要的特征的權重。
但是通常情況下,我們不知道應該懲罰哪些特征的權重取值。通過正則化方法可以防止過擬合,提高泛化能力。
先來看看L2正則化方法。對於之前梯度下降講到的損失函數來說,在代價函數后面加上一個正則化項,得到
注意是從1開始的。對其求偏導后得到
然后得到梯度下降的表達式如下
注意當為0的時候,可以認為
的值為0。可以看出沒有正則化時,系數
的權重為1,而現在明顯
也就是說權值進行了衰減。那么為什么權值衰減就能防止overfitting呢 ?
首先,我們要知道一個法則-奧卡姆剃刀,用更少的東西做更多事。從某種意義上說,更小的權值就意味着模型的復雜度更低,對數據的擬合更好。接下來,引用知乎上的解釋。
(1)當權值系數更大時,會過擬合。
(2)在PRML中,正則化就是通過對模型的參數設定一個先驗來防止過擬合。
試想一下,在上圖中,如果不加正則化項,那么最優參數對應的等高線離中心點的距離可能會更近,加入正
則化項后使得訓練出的參數對應的等高線離中心點的距離不會太近,也不會太遠。從而避免了過擬合。