關於L2範數如何避免過擬合?
01-11
如果小範圍內函數值波動非常大的話,知乎看到有人回答說為了擬合上多個點,過擬合的函數往往在小範圍內,函數值波動非常大,說明導數值絕對值非常大。也即參數值絕對值非常大。但是:5階曲線的導數是:5t1x^4 + 4t2x^3 + 3t3x^2 + 2t4x + t5
3階曲線的導數是:3q1x^2 + 2q2x + q3 明顯5階的參數值只需要很小很小就可以達到導數值比3階大的效果,但是這個並不意味這參數值的絕對值會非常大。
在知乎第一個認真回答的問題,快給我點贊ㄟ(≧◇≦)ㄏ
===============================================================1.02更新:你們為什麼都不贊,不開心  ̄へ ̄
舉個栗子好了一般用的公式都長類似這個樣子F=2
(我就隨手截了一個,不要在意這都是什麼。。。)要求w我們就愉快的梯度下降啦於是就有part2裡面說的,有了l2 norm這一項,要擬合w的每個xi分量權值衰減了(W是X的函數),參照part1就避免overfitting啦===============================================================
一句話:l2 norm 使得權值衰減,(用最少的去擬合)——奧卡姆剃刀part1:奧卡姆剃刀如上圖,讓儘可能多的值很小
part2 權值衰減:即權重衰減
你需要先做feature scaling
x的不同次數視為不同feature,可以用zscore方法將不同樣本的各feature都scale到相同方差均值
做完feature scaling再訓練,最優參數的大小差異就會變小,正則化對各參數的懲罰相近可以考慮用spline,在導數和函數值上加penalty
一般來說,只比較一階導數的時候,是不會fit一個五次多項式的 最多用到分段二次函數和範數無關,防過擬合可以採用交叉驗證。將數據集隨機分成幾份,一份訓練,其他驗證。同樣的驗證集上性能,通常懲罰參數越大越好。
推薦閱讀: