正則化(regularization)是解決模型過擬合的重要手段之一,正則化是為了防止過擬合, 進而增強泛化能力,使測試集上的表現(或說效能 performance)一樣優秀,但是它為什麼能解決模型的過擬合問題呢?下面將慢慢展開。
過擬合在機器學習(ml)中,訓練的模型對於訓練集和驗證集有著優秀的擬合**能力,但是對於測試集或未見過的樣本(sample),擬合**能力很差,我們說泛化能力(generalization)較差,出現了過擬合(overfitting)。
正則化如何去做
無論是logistic regression、svm或是簡單的線性模型,都有乙個基函式 ϕ()
\phi()
ϕ() ,其中有很多引數 w
ww 需要通過對損失函式 los
sloss
loss
求極小值(或最大似然估計)來確定,求的過程,也就是使用訓練集的訓練過程:梯度下降到最小值點(或者推導直接求解)。最終,找到最合適的引數來確定模型。
如,乙個損失函式(loss function)為:
l (w
)=12
∑n=1
n(yn
−wtϕ
(xn)
)2
(1)l(\mathbf w) =\frac \sum_^(y_n-\mathbf w^t \phi (\mathbf x_n))^2 \tag
l(w)=2
1n=
1∑n
(yn
−wtϕ
(xn
))2(
1)其中,y
ny_n
yn是真實值,w
ww 是權重(需要訓練的部分,未知數,即引數),ϕ()
\phi()
ϕ()是基函式,例如多項式函式,核函式,1
2\frac
21 是為了求導時計算方便。
加入正則化項,得到最終的損失函式:
l (w
)=12
∑n=1
n2+λ
2wtw
(2)l(\mathbf w)=\frac \sum_^\^2 + \frac \mathbf w^t \mathbf w \tag
l(w)=2
1n=
1∑n
2+2λ
wtw
(2)其中,(2)式被稱為目標函式(評價函式)= 誤差函式(損失函式) + 正則化項,λ
\lambda
λ 是正則化係數,λ2w
tw
\frac \mathbf w^t \mathbf w
2λwtw
還可以寫成 λ2∥
w∥2=
w12+
w22+
…+wn
2\frac\parallel \mathbf w\parallel ^2 = w_^+w_^+\ldots+w_^
2λ∥w∥
2=w1
2+w
22+
…+wn
2。因此,用權重(引數)的平方和表示正則化項,仔細想想,它還可以表示模型的複雜度(區別於空間複雜度和時間複雜度,這裡的複雜度指引數的多少和大小) 在這種正則化策略中, 我們會對權重的平方和進行懲罰。用 l2l2
l2正則化公式來量化複雜度, 該公式將正則化項定義為所有特徵權重的平方和 。這種策略是:盡量選擇較小的權重 。也就是使引數小到幾乎可以讓我們忽略, 同時我們仍能獲取正確的訓練樣本 。
其實,l2正則的作用就是防止引數的值變得過大或過小。可以設想一下, 我們的訓練資料很少,實際使用模型進行推斷時,有些特徵是沒見過的,若模型裡面引數的值很大,就會造成模型對某一些特別的特徵響應過大,導致最終輸出的值偏離實際,其實我們更希望模型更從容淡定一些,這就是加入l2 normalization的作用。
一般的,正則化可以表示為:
l (w
)=12
∑n=1
n2+λ
2∑j=
1m∣w
j∣
q(3)
l(\mathbf w)=\frac \sum_^\^2 + \frac \sum_^ ^q \tag
l(w)=2
1n=
1∑n
2+2λ
j=1
∑m∣
wj∣
q(3)
其中,m
mm是模型的階次(表現形式是資料的維度),比如 m=2
m=2m=
2,就是乙個平面(二維)內的點,q=2
q=2q=
2 就是二次正則項。
目前,我們在目標函式新增了兩項:
目標函式中,使正則化項降低達到限制模型的複雜度,即 m
mm 的大小,m
mm 是模型的階次,m
mm 越大意味著需要決定的權重越多,模型越複雜。在多項式模型多,直觀理解是每乙個不同冪次的 x
xx 前的係數,0(或很小的值)越多,模型越簡單。這就從數學角度解釋了,為什麼正則化可以限制模型的複雜度,進而避免過擬合。總結
總之,正則化項量化了模型的複雜度。而複雜度越高,模型對訓練集的擬合程度越高,在測試集中的泛化能力可能越低,加入正則化項到目標函式之後,最小化目標函式,不僅使損失函式降低,還相對降低了模型的複雜度,可以簡單的理解為兩者相互博弈的過程。
【直觀詳解】什麼是正則化
過擬合 欠擬合 正則化
產生原因 緩解方法 合適的資料分布 合理的模型複雜性 合理的組合應該是 複雜的資料分布 簡單的模型 或者 簡單的資料分布 複雜的模型 神經網路中的過擬合 原理 或者說思考 從貝葉斯的角度來說,代價函式可以表示為p y w,x 的形式,而正則項則是對引數w做了乙個先驗分布的假設,使得代價函式變成p y...
過擬合與正則化
機器學習中經常遇到所謂的過擬合 overfitting 問題。所謂的過擬合問題,是指某個模型在訓練資料上能夠獲得比其他模型更好的擬合,但是在訓練資料外的資料集上卻不能很好的擬合。其本質是,模型對於隨機錯誤或者雜訊的刻畫超過其對於真實資訊的刻畫。而出現這種現象的主要原因是訓練資料中存在噪音或者訓練資料...
正則化防止過擬合
在之前的線性回歸就有提到正則化,下面就來更具體地介紹正則化。1.正則化的作用 當訓練資料比較少時,或模型訓練過度時,常常會導致過擬合。正則化主要作用就是通過減小模型的複雜度來防止過擬合,提高泛化能力。為了更好的了解過擬合以及為後面做鋪墊,還是先看乙個吳恩達機器學習系列課程中乙個線性回歸來 房價的例子...