1. 程式人生 > >機器學習第三週(下)

機器學習第三週(下)

擬合

1、擬合程度

  • 對於線性迴歸:
    在這裡插入圖片描述
  • 對於邏輯迴歸:
    在這裡插入圖片描述
    左圖欠擬合,高偏差。中圖正合適。右圖過擬合,高方差。

1.1、過擬合

1.1.1、原因

  1. 由上面的右圖可知,特徵太多(線性迴歸中四個特徵: x
    x
    x 2 x^2 x 3
    x^3
    x 4 x^4 ;邏輯迴歸中特徵更多,不贅述),雖然能夠貼合訓練集中的樣本,但是無法“泛化”(也即無法將模型應用到新的樣本中)。
  2. 樣本數量不夠

1.1.2、理論解決方法

  1. 減少特徵數量:手動選取特徵或者採用模型選擇演算法(之後的博文會提到)。
  2. 減小模型引數 θ \theta ,如:正則化

1.1.3、實際解決方法之一:正則化

  1. 主要思想:減小模型引數 θ \theta
  2. 具體操作:在代價函式中新增懲罰項
    如果假設函式如下所示:
    h θ ( x ) = θ 0 + θ 1 x + θ 2 x 2 + + θ 4 x 4 h_\theta(x)=\theta_0+\theta_1x+\theta_2x^2+\cdots+\theta_4x^4
    則代價函式可新增懲罰項 1000 θ 3 2 1000\theta_3^2 1000 θ 4 2 1000\theta_4^2
    J ( θ ) = 1 2 m [ i = 1 m ( h θ ( x ( i ) y ( i ) ) ) 2 + 1000 θ 3 2 + 1000 θ 4 2 ] J(\overrightarrow{\theta})=\frac{1}{2m}[\sum_{i=1}^m(h_\theta(x^{(i)}-y^{(i)}))^2 + 1000\theta_3^2+1000\theta_4^2]
    這樣,在求目標函式(使代價函式最小)時,會要求 θ 3 \theta_3 θ 4 \theta_4 的值變小,因為這兩個值對代價函式的值有一定影響,一定程度上弱化了與這兩個模型引數對應的特徵( x 2 x^2 x 3 x^3 )在假設函式中的作用。

1.1.3.1、正則化線性迴歸

  • 懲罰項為: λ j = 1 n θ j 2 \lambda\sum_{j=1}^n\theta_j^2 ,其中, λ \lambda 為正規化引數,如果設定過大,則各模型引數過於接近零(除了 θ 0 \theta_0 ),相當於假設函式 h θ ( x ) = θ 0 h_\theta(x)=\theta_0

PS: 注意懲罰項的累加符號是從 j = 1 j=1 開始的,也就是說從 θ 1 \theta_1 開始,對 θ 0 \theta_0 沒有影響,因為 θ 0 \theta_0 並沒有對應的特徵 x x

  • 代價函式如下:
    J ( θ ) = 1 2 m [ i = 1 m ( h θ ( x ( i ) y ( i ) ) ) 2 + λ j = 1 n θ j 2 ] J(\overrightarrow{\theta})=\frac{1}{2m}[\sum_{i=1}^m(h_\theta(x^{(i)}-y^{(i)}))^2 + \lambda\sum_{j=1}^n\theta_j^2]
  • 梯度下降中的偏導數如下:
    θ 0 : = θ 0 α 1 m i = 1 m ( h θ ( x ( i ) y ( i ) ) ) ( x 0 ( i ) ) θ j : = θ j α [ 1 m i = 1 m ( h θ ( x ( i ) y ( i ) ) ) ( x j ( i ) ) + λ m θ j ] ( f o r j = 1 n ) \theta_0:=\theta_0-\alpha\frac{1}{m}\sum_{i=1}^m(h_\theta(x^{(i)}-y^{(i)}))(x^{(i)}_0) \\ \theta_j:=\theta_j-\alpha[\frac{1}{m}\sum_{i=1}^m(h_\theta(x^{(i)}-y^{(i)}))(x^{(i)}_j)+\frac{\lambda}{m}\theta_j] \quad (for\quad j = 1至n)