吳恩達機器學習——第8章 正則化

1、目的

1.1 過擬合的定義

過擬合:指的是模型對訓練集數據過度匹配,而對於新數據不能正確預測的情況。

1.2 正則化

正則化是用來解決模型過擬合問題的一種思路。

基本思路是在保留所有特徵的基礎上,減小參數的大小(參數指的是θθ)。這樣每個特徵對於預測結果的權重都會減少。

原因是過擬合是由於多項式對曲線影響過大造成的(多項式指的就是x3,x4x^3,x^4這種,通過減小θ\theta就能降低這些多項式對結果的影響。

與之相對應的另一種優化思路是:把不能幫助我們正確預測結果的特徵去掉,剩下的特徵都是對預測結果起到關鍵作用的特徵。可以手工去除,也可以通過模型幫我們去除。該方式不是本文的重點。

2、原理

回憶一下線性迴歸的代價函數:
J(θ)=12mi=1m(hθ(xi)yi)2J(θ)=\frac{1}{2m}\sum_{i=1}^m(h_θ(x^{i})-y^{i})^2

正則化的目標是保證J(θ)J(θ)最小的情況下θθ最小,爲了使θθ變小,我們把代價函數變成如下的形式:
J(θ)=minθ12m[i=1m(hθ(xi)yi)2+10000θ12+10000θ22+10000θ32+......]J(θ)=min_θ\frac{1}{2m}\left[\sum_{i=1}^m(h_θ(x^{i})-y^{i})^2+10000θ_1^2+10000θ_2^2+10000θ_3^2+ ......\right]
簡寫爲:
J(θ)=minθ12m[i=1m(hθ(xi)yi)2+λj=1nθj2]J(θ)=min_θ\frac{1}{2m}\left[\sum_{i=1}^m(h_θ(x^{i})-y^{i})^2+\lambda\sum_{j=1}^nθ_j^2\right]

可以看到,如果想J(θ)J(θ)最小的情況下θ最小,則λ\lambda就要變大;

λ\lambda非常大的情況下,θ就只能是0了,則模型就成了一條直線了。

3、應用到線性迴歸

3.1 梯度下降

線性迴歸的梯度下降公式爲:
repeat{
θ0=θ0α1mi=1m(hθ(x(i))y(i))θ_0=θ_0-α\frac{1}{m}\sum_{i=1}^m(h_θ(x^{(i)})-y^{(i)})
θj=θjα1mi=1m(hθ(x(i))y(i))xj(i)θ_j=θ_j-α\frac{1}{m}\sum_{i=1}^m(h_θ(x^{(i)})-y^{(i)})*x^{(i)}_j
}

根據第2章的介紹,特徵正則化後梯度下降的公式變成了:
repeat{
θ0=θ0α1mi=1m(hθ(x(i))y(i))θ_0=θ_0-α\frac{1}{m}\sum_{i=1}^m(h_θ(x^{(i)})-y^{(i)})
θj=θj[α1mi=1m(hθ(x(i))y(i))xj(i)+λmθj]θ_j=θ_j-\left[α\frac{1}{m}\sum_{i=1}^m(h_θ(x^{(i)})-y^{(i)})*x^{(i)}_j+\frac{\lambda}{m}θ_j\right]
}
等價於:
repeat{
θ0=θ0α1mi=1m(hθ(x(i))y(i))θ_0=θ_0-α\frac{1}{m}\sum_{i=1}^m(h_θ(x^{(i)})-y^{(i)})
θj=(1λm)θjα1mi=1m(hθ(x(i))y(i))xj(i)θ_j=(1-\frac{\lambda}{m})θ_j-α\frac{1}{m}\sum_{i=1}^m(h_θ(x^{(i)})-y^{(i)})*x^{(i)}_j
}

由於λm\frac{\lambda}{m}是個正數,則1λm<11-\frac{\lambda}{m}<1,所以調整後的θjθ_j比之前要小。這樣就能得到比之前小的參數θθ.

3.2 正規方程

正規方程的表達式爲:

θ=(XTX)1XTyθ=(X^T*X)^{-1}*X^T*y

正則化後變成了:

θ=(XTX+[0000001000001000001000001])1XTyθ=(X^T*X + \left[\begin{matrix}0&0&0&0&0\\0&1&0&0&0\\0&0&1&0&0\\0&0&0&1&0\\0&0&0&0&1\end{matrix}\right])^{-1}*X^T*y

注意,新增的加數是一個矩陣,這個矩陣的維度與X有關聯,上述表達式只是爲了表示方便才寫成固定的矩陣;

這個矩陣與單位矩陣只差[1,1]這個座標,其它的都是一樣的。

4、應用到邏輯迴歸

應用到邏輯迴歸的方式與線性迴歸完全一致,這裏就不細說了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章