關於L2範數如何避免過擬合?

如果小範圍內函數值波動非常大的話,知乎看到有人回答說為了擬合上多個點,過擬合的函數往往在小範圍內,函數值波動非常大,說明導數值絕對值非常大。也即參數值絕對值非常大。但是: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 使得權值衰減,(用最少的	heta去擬合)——奧卡姆剃刀

part1:奧卡姆剃刀

如上圖,讓儘可能多的	heta值很小

part2 權值衰減:

梯度下降:

沒有正則化時 	heta的權重為1,現在

即權重衰減


你需要先做feature scaling

x的不同次數視為不同feature,可以用zscore方法將不同樣本的各feature都scale到相同方差均值

做完feature scaling再訓練,最優參數的大小差異就會變小,正則化對各參數的懲罰相近


可以考慮用spline,在導數和函數值上加penalty

一般來說,只比較一階導數的時候,是不會fit一個五次多項式的 最多用到分段二次函數


和範數無關,防過擬合可以採用交叉驗證。將數據集隨機分成幾份,一份訓練,其他驗證。同樣的驗證集上性能,通常懲罰參數越大越好。


推薦閱讀:

中國基層編作曲從業人員是否可能被人工智慧取代?

TAG:機器學習 | 最優化 | 回歸 |