1. 程式人生 > >機器學習筆記(三)——正則化最小二乘法

機器學習筆記(三)——正則化最小二乘法

一. 模型的泛化與過擬合

在上一節中,我們的預測函式為:

f(x;ω)=ωTx
其中,
x=[x1],ω=[ω1ω0]
上述稱為線性模型,我們也可以將x擴充套件為:
x=xnx2x1,ω=ωnω2ω1ω0
那麼預測函式f(x;w)就變為一個非線性函式。預測函式的次數越高,越能準確地擬合訓練資料。在某些情況下,高次預測函式會擬合大部分或全部訓練資料,這時,我們就說這個模型過擬合。因為這種過度擬合訓練資料的模型對未知資料的預測就不是那麼準確了,它對訓練資料外的其它資料是相當敏感的,也就是說它不夠泛化。所以我們需要一個最好的模型,也就是說我們需要的模型誤差要最小,而且還有一定的泛化能力。

二. 正則化最小二乘法

要避免模型過擬合,我們可以選擇部分資料進行模型的訓練,也可以利用正則化方法。一般來講,正則化,有L1正則和L2正則,它們都是基於Lp範數的:

Lp=(in|xi|p)1p
這裡我們選擇模型的複雜度為L2正則:niω2i,寫為向量形式為:ωTω關於正則化的詳細內容,可以參考:
http://blog.csdn.net/heyongluoyao8/article/details/49429629

那麼我們新的損失函式可以寫為:

L=L+λωTω=1N(ωTXTXω2ωTXTy+yTy)+λωTω
同樣的對上式求偏導數:
Lω=1N(2XTXω2XTy)+2λω=0(XTX+N
λI)ω=XTy
ω=(XTX+NλI)1XTy

選擇λ的值就是選擇多項式擬合函式時,折中過擬合/泛化的過程。值太小,過擬合;值太大,不利於資料的逼近。至於λ的選擇,可以採用交叉驗證獲得最好預測效能的λ