[機器學習]談談正則化

根據奧卡姆剃刀定律,或許咱們能夠經過下降複雜模型的複雜度來防止過擬合,這種原則稱爲正則化

1.過擬合

直接拿網上的圖來講明過擬合機器學習

clipboard.png

圖一欠擬合,圖二是符合預期,圖三過擬合
機器學習的模型是但願有良好的泛化效果,圖三的訓練結果太貼合訓練集,就會致使後面基於新數據的預測會不許確。學習

2.解決過擬合問題

咱們怎麼解決這個過擬合的狀況,根據奧卡姆剃刀定律(機器學習模型越簡單,良好的實證結果就越有可能不單單基於樣本的特性),因此咱們但願模型須要更簡單。
也就是說,模型訓練並不是只是以最小化損失(經驗風險最小化)爲目標,而是以最小(損失+模型複雜)爲目標,這也稱爲結構風險最小化:
minimize(Loss(Data|Model)+complexity(Model))
好了,這裏專家們出現了,定義:Loss(Data|Model)爲損失項,complexity(Model)爲正則化項,衡量模型複雜度。
上圖的數據公式爲:
f(x)=w0x0+w1x1+w2x2+...+wnxn
減小模型複雜度,減小特徵(x)數量就能夠。這裏就須要介紹0、一、2範數了。spa

3. 0、一、2範數

0範數,向量中非零元素的個數。
1範數,爲絕對值之和。
2範數,就是一般意義上的模。
這裏看0範數很符合咱們的要求,非零元素的個數少,模型就簡單。
可是0範數比較噁心,是個NP-hard問題。同時1範數是0範數的最優凸近似
minimize(Loss(Data|Model)+lambda|W|1 )code

L2範數就是指向量各元素的平方和而後求平方根。咱們讓L2範數的正則項||W||2最小,可使得W的每一個元素都很小,都接近於0,但與L1範數不一樣,它不會讓它等於0,而是接近於0。ip

總結

a、1範數和0範數能夠實現稀疏,能夠來篩選特徵。
b、2範式主要在不減小特徵的狀況解決過擬合。it

相關文章
相關標籤/搜索