理解機器學習中的 L2 正則化

在機器學習建模過程中,正則化是控制模型複雜度,對抗過擬合,追求更優預測效果的重要手段。本文從多個角度對 L2 正則化進行講解,內容涵蓋線性回歸、嶺回歸、貝葉斯、主成分分析、奇異值分解、模型自由度、偏置-方差平衡等。

本文提綱為:

  1. 介紹線性回歸(Linear Regression)和嶺回歸(Ridge Regression),從嶺回歸引入 L2 正則化(L2 Regularization);
  2. 在貝葉斯視角下,從最大化似然概率(Likelihood Probability)和後驗概率(Posterior Probability)的角度理解最小二乘和 L2 正則化;
  3. 從主成分分析(principle component analysis)的角度理解 L2 正則化,闡述 L2 正則化如何對方差小的主成分方向進行懲罰;
  4. 從偏置(bias)-方差(variance)平衡和模型自由度的角度理解 L2 正則化如何對抗過擬合。

本文先導知識包括:線性代數(矩陣乘法、向量內積、轉置、線性獨立、向量正交、線性空間及其基、逆矩陣、矩陣的秩和跡、矩陣特徵值和特徵向量),概率(期望、方差、協方差、多元正態分布、貝葉斯公式)。

一、線性回歸、嶺回歸與 L2 正則化

xp 維向量 left(x^{left(1
ight)},x^{left(2
ight)},...x^{left(p
ight)}
ight)^Tar{y} 為標量。令 ar{y}x 之間滿足:

ar{y}=eta^{left(0
ight)}+eta^{left(1
ight)}x^{left(1
ight)}+eta^{left(2
ight)}x^{left(2
ight)}+...+eta^{left(p
ight)}x^{left(p
ight)}+epsilon \ =eta^{left(0
ight)}+sum_{i=1}^{p}{eta^{left(i
ight)}x^{left(i
ight)}}+epsilon quad[1.1]

epsilon 是服從 mathcal{N}left(0, sigma^2
ight)正態分布的隨機誤差,且對於每一個 ar{y} 是獨立同分布的。如果把 x 增加一維成為 left( x^{left(0
ight)},x^{left(1
ight)},x^{left(2
ight)},...x^{left(p
ight)} 
ight)^T ,其中 x^{left(0
ight)}equiv1 ,再令向量 etaleft( eta^{left(0
ight)},eta^{left(1
ight)},eta^{left(2
ight)},...eta^{left(p
ight)} 
ight)^T ,則 [1.1] 可以寫成向量形式:

ar{y}=x^Teta+epsilon quad[1.2]

下文默認向量 x 包含 x^{left(0
ight)}equiv1 且共有 p 維。訓練集由 N 個向量 x_i 和標量 ar{y}_i 構成: left[ x_1,ar{y}_1 
ight],left[ x_2,ar{y}_2 
ight],...left[ x_N,ar{y}_N 
ight] 。線性回歸的任務就是從訓練集中學習最優的參數 eta 。何謂最優?一種方法是定義損失函數 mathcal{L}left( eta 
ight) 如下:

mathcal{L}left( eta 
ight)=frac{1}{N}sum_{i=1}^{N}{left(ar{y}_i-x_i^Teta
ight)^2} quad[1.3]

對每一個樣本 left[ x_i,ar{y}_i
ight] 計算模型預測的平方誤差(squared error),在 N 個樣本上取平均就得到均方誤差 mse(mean squared error)。mse 衡量了 N 個預測值 x_i^Teta 與對應真實值 ar{y}_i 之間的總差異。

把每一個訓練樣本的轉置 x_i^T 作為一行構造一個 N 	imes p 矩陣 X 。模型對 N 個樣本的預測是 N 維向量 hat{y}

hat{y}=left(egin{array}{ccc}x_1^Teta\x_2^Teta\vdots\x_N^Tetaend{array}
ight)=left(egin{array}{ccc}x_1^T\x_2^T\vdots\x_N^Tend{array}
ight)eta=Xeta quad[1.4]

N 個真實輸出也列成 N 維向量 y=left(ar{y}_i,ar{y}_2,...ar{y}_N
ight)^T 。 mse 損失函數可以寫成:

mathcal{L}left( eta 
ight)=frac{1}{N}left( y-Xeta 
ight)^Tleft( y-Xeta 
ight)=frac{1}{N}left(y-hat{y}
ight)^Tleft(y-hat{y}
ight) quad[1.5]

能夠使 mathcal{L}left( eta 
ight) 達到最小的 hat{eta}=argmin_{eta}mathcal{L}left(eta
ight) 就是線性回歸問題的最小二乘解(least square)。 mathcal{L}left( eta 
ight) 是一個二次函數,具有唯一的最小值。 hat{eta} 滿足必要條件:

frac{dmathcal{L}}{deta}left(hat{eta}
ight)=-frac{2}{N}X^Tleft( y-X hat{eta} 
ight)=0 quad[1.6]

解此方程得到:

hat{eta}=left( X^TX 
ight)^{-1}X^Ty quad[1.7]

於是模型對訓練集的預測就是:

hat{y}=Xhat{eta}=Xleft( X^TX 
ight)^{-1}X^Ty=Sy quad[1.8]

S=Xleft( X^TX 
ight)^{-1}X^T 為變換矩陣。它的跡(trace,對角線元素之和)是:

trleft( S 
ight)=trleft( Xleft( X^TX 
ight)^{-1}X^T 
ight)=trleft( left( X^TX 
ight)^{-1}X^TX 
ight)=trleft( I_p 
ight) = p quad[1.9]

其中 I_pp	imes p 單位矩陣。上式利用了 AB 的跡等於 BA 的跡這個事實。可以看到 S 的跡就是模型參數的數量 p 。將變換矩陣的跡定義為模型的自由度,則最小二乘線性回歸模型的自由度就是模型參數的數量。

最小化 mathcal{L}left(eta
ight) 就是尋找 hat{eta} 使 left|left|y-Xeta
ight|
ight|^2=left( y-Xeta 
ight)^Tleft( y-Xeta 
ight) 達到最小。由 X 的列線性組合而成的向量集合是一個線性空間—— X 的列空間。最小化 mathcal{L}left(eta
ight) 就是在 X 的列空間中尋找一個與 y 距離最小的向量,即 yX 列空間上的投影。 hat{y} 就是這個投影。

式 [1.7] 存在一個問題。假如 X 的列線性相關,即訓練樣本的各特徵線性相關,則 X 的秩小於 p 。那麼 p 	imes p 矩陣 X^TX 不滿秩,為奇異矩陣不可逆。於是 [1.7] 不再成立。為了避免這個問題,可人為將 X^TX 的對角線元素增大一個量 lambda ,變成 X^TX+lambda I 。其中 I 為單位矩陣。在矩陣 X^TX 的對角線上加上一個值增高了它的「山嶺」。山嶺增高後的矩陣變成可逆的。把它代入 [1.7] 得到:

hat{eta}_{ridge}=left( X^TX+lambda I 
ight)^{-1}X^Ty quad[1.10]

這就是嶺回歸(Ridge Regression)的解公式。嶺回歸的預測值是:

hat{y}_{ridge}=Xleft( X^TX+lambda I 
ight)^{-1}X^Ty=Hy quad[1.11]

按照上面對自由度的定義,嶺回歸的自由度應該是變換矩陣 H 的跡。它比最小二乘的自由度是大是小呢?這裡先賣個關子,留待後文揭曉。

最小二乘解是使均方誤差 mse 最小的解。那麼嶺回歸的解是否最小化了什麼東西呢?請看下面的損失函數:

mathcal{L}^{

hat{eta}_{ridge}=argmin_etamathcal{L^{ 滿足極小值必要條件:

frac{dmathcal{L}^{

解該式得到:

hat{eta}_{ridge}=left( X^TX+lambda I 
ight)^{-1}X^Ty quad[1.14]

可看到 hat{eta}_{ridge} 最優化 mathcal{L}^{mathcal{L}^{ 是 mse 加上 mathcal{R}left(eta
ight)=eta^Teta=sum_{i=1}^{N}{eta_i^2}frac{lambda}{N} 倍。 mathcal{R}left(eta
ight) 就是 L2 正則化項。它其實是 eta 的模(長度)的平方。它度量的是各個係數的絕對值大小。將它作為懲罰項加入損失函數,迫使最優解的各係數接近 0 。 lambda 是一個超參數,它控制著 mathcal{R}left(eta
ight) 的重要程度。若 lambda=0 則沒有正則化;若 lambda=infty 則各參數只能是 0 。lambda 相對於樣本個數 N 越大則正則化越強。下節將從貝葉斯觀點出發,為理解 L2 正則提供另一視角。

二、貝葉斯觀點下的最小二乘和 L2 正則

所謂訓練,是指觀察到一組訓練樣本和目標值 left[X,y
ight] left[x_i,ar{y}_i
ight]_{i=1}^{N} ),找到使後驗概率 pleft( eta | X,y 
ight) 達到最大的 eta 。根據貝葉斯公式:

pleft( eta | X,y 
ight)=frac{pleft( X,y|eta 
ight)pleft( eta 
ight)}{pleft( X,y 
ight)} quad[2.1]

等號右側分子的第一項是似然概率,第二項是先驗概率。第一節提到線性回歸問題預設:

ar{y}=x^Teta+epsilon quad[2.2]

其中 epsilon 服從 mathcal{N}left(0,sigma^2
ight) 。且每一個 ar{y}epsilon 獨立。那麼向量 y 就服從多元正態分布 mathcal{N}left(X^Teta, sigma^2I_N
ight) 。似然概率的密度函數是:

pleft(X,y|eta
ight)=frac{1}{left(2pisigma^2
ight)^frac{N}{2}}e^{-frac{left( y-Xeta 
ight)^Tleft( y-Xeta 
ight)}{2sigma^2}} quad[2.3]

pleft(X,y|eta
ight) 施加 log ,並將一些與 eta 無關的常數項整理到一起,得到:

log^{ p(X,y|eta)}=Constant-frac{1}{2sigma^2}left( y-Xeta 
ight)^Tleft( y-Xeta 
ight) quad[2.4]

注意右邊的第二項。撇開與 eta 無關的係數它就是負的均方誤差 mse 。也就是說最小化 mse 等價於最大化似然概率。

但是我們的終極目標是最大化後驗概率。最小二乘解最大化的是似然概率,相當於預設 eta 的先驗概率與 eta 取值無關。如果預設 eta 服從多元正態分布 mathcal{N}left(0,  	ilde{sigma}^{2}I_p
ight) ,則後驗概率可以寫為:

pleft( eta | X,y 
ight)=frac{frac{1}{left(2pisigma^2
ight)^frac{N}{2}}e^{-frac{left( y-Xeta 
ight)^Tleft( y-Xeta 
ight)}{2sigma^2}}frac{1}{left(2pi	ilde{sigma}^2
ight)^frac{p}{2}}e^{-frac{eta ^Teta }{2	ilde{sigma}^2}}}{pleft( X,y 
ight)} quad[2.5]

pleft( eta | X,y 
ight) 施加 log 並將無關的常數項整理到一起,得到:

log^{ p(eta|X,y)}=Constant-frac{1}{2sigma^2}left( y-Xeta 
ight)^Tleft( y-Xeta 
ight)-frac{1}{2	ilde{sigma}^2}eta^Teta quad[2.6]

忽略與 eta 無關的常數項和係數項,最大化後驗概率等價於最小化帶 L2 正則項的 mse 損失函數。正則係數 lambda 反比於 eta 的先驗方差 	ilde{sigma}^2lambda 越大相當於先驗方差 	ilde{sigma}^2 越小, eta 的取值越集中。這就是控制了模型的自由度。第一節說過將模型自由度定義為變換矩陣的跡。那麼變換矩陣的跡與此處的自由度有關么?下一節將從主成分角度出發為理解 L2 正則提供又一個洞見。同時 L2 正則化對模型自由度的影響也將清晰起來。

三、主成分與 L2 正則

本節假設訓練集 X 中的樣本 x_{i,  i=1,...N} 經過中心化,也就是 x_i 每一個分量的平均值都為 0 。那麼訓練樣本的協方差矩陣就是:

Covleft(x,x
ight)=frac{1}{N-1}sum_{i=1}^{N}{x_ix_i^T}=frac{1}{N-1}X^TX quad[3.1]

X^TX 是對稱矩陣,它的特徵值都是非負實數(可以多重)。這些特徵值對應的特徵向量線性獨立且兩兩正交(此事實本文不證明,可參考 [1])。令 Lambda 為對角矩陣,其對角線上的元素為從大到小排列的 X^TX 特徵值 d_1,d_2,...d_p 。令 Gamma 為以這些特徵值對應的標準特徵向量 v_1,v_2,...v_p 做列組成的 p 	imes p 矩陣。這些標準特徵向量兩兩正交且模都為 1 。於是有 Gamma^TGamma=GammaGamma^T=I 。由特徵值和特徵向量的定義,有:

X^TXGamma=X^TXleft(v_1, v_2, ... v_p
ight)=left(d_1v_1,d_2v_2,...d_pv_p
ight)=left(v_1, v_2, ... v_p
ight)left(egin{array}{ccc}d_1\0\vdots\0end{array}egin{array}{ccc}0\d_2\vdots\0end{array}egin{array}{ccc}cdots\cdots\ddots\cdotsend{array}egin{array}{ccc}0\0\vdots\d_pend{array}
ight)=Gamma Lambda quad[3.2]

也就是:

X^TX=Gamma Lambda Gamma^T quad[3.3]

一個對稱矩陣(這裡是 X^TX )可分解成一個正交矩陣 Gamma 和一個對角矩陣 Lambda 的乘積形式 [3.3] 。這稱為對稱矩陣的譜分解。Gammap 個列向量構成 p 維空間的一組標準正交基,也就是一個標準正交坐標系。令:

X^{

X^{ 的第一列為 N 個樣本在坐標系 Gamma 第一個坐標軸上的投影, 第二列是在第二個坐標軸上的投影,依此類推 。 X^{N 個行向量構成一組新的 p 維特徵向量。它們的協方差矩陣為:

Covleft(x^{

其非對角線元素為 0 ,即 p 個特徵兩兩不相關。 X^{ 的第一個分量的方差 frac{d_1}{N+1} 最大, d_1X^TX 的第一大特徵值。 X^{ 的第二個分量的方差 frac{d_2}{N+1} 次大, d_2X^TX 的第二大特徵值,依此類推。 X^{ 的列分別為 X 的第一主成分、第二主成分,依此類推。若 X^TX 只有 r 個非零特徵值,則 X^{ 只有 r<p 個方差不為 0 的特徵。由於 X^{ 只是原數據在新坐標系 Gamma 的投影,這說明原數據的真實維度只有 r 維。也可以把 X^TX 排在後面的小特徵值忽略,因為在這些小特徵值對應的特徵方向上原數據方差很小,可以認為是雜訊。主成分分析是一種降維手段,將原始數據降到真實維度或更低的維度。降維後的數據保留了原始數據的絕大部分信息。新數據各維之間擺脫了共線性,有利於減少模型的方差。

要談主成分與 L2 正則的關係,就需要先介紹奇異值分解。若 X^TXr 個非 0 特徵值 d_1,d_2,...d_r ,則它們的平方根 sqrt{d_1},sqrt{d_2}, ... sqrt{d_r} 就是矩陣 X 的奇異值。用這 r 個奇異值做對角線元素組成一個 r 	imes r 的對角矩陣 D 。用 d_1,d_2,...d_r 對應的標準特徵向量 v_1,v_2,...v_r 做列組成一個 p 	imes r 的矩陣 V 。再用 frac{Xv_1}{sqrt{d_1}},frac{Xv_2}{sqrt{d_2}},...frac{Xv_r}{sqrt{d_r}}rN 維向量做列組成一個 N 	imes r 的矩陣 U 。則有:

XV=Xleft(v_1,v_2,...v_r
ight)\ =left(Xv_1,Xv_2,...Xv_r
ight)\ =left(frac{Xv_1}{sqrt{d_1}}sqrt{d_1},frac{Xv_2}{sqrt{d_2}}sqrt{d_2},...frac{Xv_r}{sqrt{d_r}}sqrt{d_r} 
ight)\ =left(frac{Xv_1}{sqrt{d_1}},frac{Xv_2}{sqrt{d_2}},...frac{Xv_r}{sqrt{d_r}}
ight)left(egin{array}{ccc}sqrt{d_1}\0\vdots\0end{array}egin{array}{ccc}0\sqrt{d_2}\vdots\0end{array}egin{array}{ccc}cdots\cdots\ddots\cdotsend{array}egin{array}{ccc}0\0\vdots\sqrt{d_r}end{array}
ight)\ =UD quad[3.6]

因為 V 的列為對稱矩陣 X^TX 的標準特徵向量,它們模為 1 且兩兩正交。於是 VV^T=V^TV=I 。如此:

X=XVV^T=UDV^T quad[3.7]

這就是矩陣 X 的奇異值分解。另外, U 的列可以張成 X 的列空間,因為對於任意一個 X 列空間中的向量:

y=Xeta=Xsum_{i=1}^{p}{alpha_iv_i}=sum_{i=1}^{p}{alpha_iXv_i}=sum_{i=1}^{r}{alpha_iXv_i}=sum_{i=1}^{r}{alpha_i^{

上式第四個等號成立是因為 X^TX 只有前 r 個特徵值非 0 ,對於 0 特徵值對應的特徵向量 v_{j,  j>r} 有:

left|left|Xv_j
ight|
ight|^2=v_j^TX^TXv_j=d_jv_j^Tv_j=0 quad j>r quad[3.9]

所以有 Xv_j=0,  j>r 。 另外 U 的列兩兩正交:

left(frac{Xv_i}{sqrt{d_i}}
ight)^Tfrac{Xv_j}{sqrt{d_j}} = frac{1}{sqrt{d_id_j}}v_i^TX^TXv_j=sqrt{frac{d_j}{d_i}}v_i^Tv_j=0 quad[3.10]

最後, U 的列向量是標準的(模為 1):

left|left|frac{Xv_i}{sqrt{d_i}}
ight|
ight|^2=left(frac{Xv_i}{sqrt{d_i}}
ight)^Tfrac{Xv_i}{sqrt{d_i}} = frac{1}{d_i}v_i^TX^TXv_i=v_i^Tv_i=1 quad[3.11]

X^TXr 個非 0 特徵值,說明 X 的秩為 r 。它的列空間為 r 維空間。則 U 的列構成 X 列空間的一組標準正交基。且 Ur 個列是經過標準化的 X 的前 r 個主成分。看一下線性回歸最小二乘解的公式(推導過程中記住 UU^T=U^TU=I , VV^T=V^TV=I 以及 left(AB
ight)^{-1}=B^{-1}A^{-1} ):

hat{y}=Xleft(X^TX
ight)^{-1}X^Ty\=UDV^Tleft(VDU^TUDV^T
ight)^{-1}VDU^Ty\=UDV^Tleft(V^T
ight)^{-1}left(D^2
ight)^{-1}left(V
ight)^{-1}VDU^Ty\=Uleft(egin{array}{ccc}sqrt{d_1}\0\vdots\0end{array}egin{array}{ccc}0\sqrt{d_2}\vdots\0end{array}egin{array}{ccc}cdots\cdots\ddots\cdotsend{array}egin{array}{ccc}0\0\vdots\sqrt{d_r}end{array}
ight)left(egin{array}{ccc}frac{1}{d_1}\0\vdots\0end{array}egin{array}{ccc}0\frac{1}{d_2}\vdots\0end{array}egin{array}{ccc}cdots\cdots\ddots\cdotsend{array}egin{array}{ccc}0\0\vdots\frac{1}{d_r}end{array}
ight) left(egin{array}{ccc}sqrt{d_1}\0\vdots\0end{array}egin{array}{ccc}0\sqrt{d_2}\vdots\0end{array}egin{array}{ccc}cdots\cdots\ddots\cdotsend{array}egin{array}{ccc}0\0\vdots\sqrt{d_r}end{array}
ight)U^Ty\=UU^Ty\=sum_{i=1}^{r}{u_iu_i^Ty} quad[3.12]

U 的列作為 X 列空間的基,上式最後一個等號告訴我們 hat{y}yX 列空間上的投影(與之前的結論一致)。 hat{y}X 的主成分的線性組合,係數為 y 在各個主成分方向上的投影 U^Ty 長度。

L2 正則化終於要登場了:

hat{y}_{ridge}=Xleft( X^TX+lambda I 
ight)^{-1}X^Ty\ =UDV^Tleft( VDU^TUDV^T+lambda VV^T 
ight)^{-1}VDU^Ty\=UDV^T left(V^T
ight)^{-1}left( D^2+lambda I
ight)^{-1}V^{-1} VDU^Ty\=UDleft( D^2+lambda I
ight)^{-1}DU^Ty\=Uleft(egin{array}{ccc}sqrt{d_1}\0\vdots\0end{array}egin{array}{ccc}0\sqrt{d_2}\vdots\0end{array}egin{array}{ccc}cdots\cdots\ddots\cdotsend{array}egin{array}{ccc}0\0\vdots\sqrt{d_r}end{array}
ight)left(egin{array}{ccc}frac{1}{d_1+lambda}\0\vdots\0end{array}egin{array}{ccc}0\frac{1}{d_2+lambda}\vdots\0end{array}egin{array}{ccc}cdots\cdots\ddots\cdotsend{array}egin{array}{ccc}0\0\vdots\frac{1}{d_r+lambda}end{array}
ight) left(egin{array}{ccc}sqrt{d_1}\0\vdots\0end{array}egin{array}{ccc}0\sqrt{d_2}\vdots\0end{array}egin{array}{ccc}cdots\cdots\ddots\cdotsend{array}egin{array}{ccc}0\0\vdots\sqrt{d_r}end{array}
ight)U^Ty\=sum_{i=1}^{r}{u_ifrac{d_i}{d_i+lambda}u_i^Ty} quad[3.13]

在帶 L2 正則化的嶺回歸問題中, hat{y}_{ridge} 仍是 U 的列 u_i 的線性組合,但組合係數是 yX 的各個主成分方向上的投影 u_i^Ty 長度再各自乘上一個係數 frac{d_i}{d_i+lambda} 。該係數大於 0 而小於 1。 lambda 越大則係數越接近 0 ,越小則越接近 1 。同時大特徵值對應的係數比小特徵值對應的係數更接近 1 。若 lambda 為 0 則所有係數都為 1, hat{y}_{ridge} 退化成為 hat{y}

於是可以看到,相比於最小二乘, 嶺回歸在預測 hat{y}_{ridge} 的時候對每個主成分方向都施加了一個懲罰(乘上小於 1 的係數)。正則係數 lambda 越大則懲罰越強。 lambda 為 0 則無懲罰。相對於方差較大的主成分方向懲罰較輕;相對於方差較小的主成分方向,懲罰較重。如果認為方差較小的方向來自雜訊,則 L2 正則壓縮了雜訊的影響,降低了 hat{y}_{ridge} 的方差。主成分分析原樣保留大方差方向,去掉小方差方向,相當於一個硬選擇。而 L2 正則根據方差的大小施加不同程度的懲罰,相當於軟選擇。接下來再看自由度。式 [3.13] 表明嶺回歸的變換矩陣為:

H=UDleft( D^2+lambda I 
ight)^{-1}DU^T quad[3.14]

它的跡為:

trleft(H
ight)=trleft(UDleft( D^2+lambda I 
ight)^{-1}DU^T
ight)\= trleft(Dleft( D^2+lambda I 
ight)^{-1}DU^TU
ight)\=trleft(Dleft( D^2+lambda I 
ight)^{-1}D
ight) \=sum_{i=1}^{r}{frac{d_i}{d_i+lambda}} < pquad[3.15]

可見,加入 L2 正則化之後模型的自由度小於參數個數 p

四、偏置-方差權衡與 L2 正則化的作用

對於一個新樣本點 x ,其真實輸出為 ar{y} ,模型預測值為 hat{y} 。將平方誤差 left( ar{y}-hat{y} 
ight)^2 取期望得到期望誤差。這裡取期望的隨機因素包括真實值 ar{y} 的隨機性以及訓練集的隨機性(這導致了 hat{y} 的隨機性):

Eleft( ar{y}-hat{y} 
ight)^2=Varleft( ar{y}-hat{y} 
ight)+left( E ar{y}-Ehat{y} 
ight)^2\=sigma^2+Varleft( hat{y} 
ight)+left( x^Teta-Ehat{y} 
ight)^2\=sigma^2+Varleft( hat{y} 
ight) + Bias^2 quad[4.1]

第一步根據平方的期望等於期望的平方加上方差。第二步利用事實:訓練集外再觀察一次得到的 ar{y} 和預測值 hat{y} 之間的是獨立的。該式表明模型的期望誤差等於數據本身的方差,模型預測值的方差,模型預測偏置的平方三部分加和。偏置與方差是一對矛盾。模型複雜度高則偏差小方差大,產生過擬合。模型複雜度低則偏差大方差小,產生欠擬合。模型調參就是通過超參數控制模型複雜度,在偏置與方差權衡中找到一個平衡點使得期望誤差最小。

上節說過 L2 正則壓抑小方差主成分方向的影響從而降低預測的方差。這是有代價的。它使模型的預測變得有偏。考察一下最小二乘解和嶺回歸解在訓練樣本集 X 上預測值 hat{y}hat{y}_{ridge}式 [1.8] 和 式 [1.11])的均值和方差:

Eleft(hat{y}
ight)=Eleft(Xhat{eta}
ight)=Eleft(Xleft(X^TX
ight)^{-1}X^Ty
ight)=Xleft(X^TX
ight)^{-1}X^TEleft(y
ight)=Xleft(X^TX
ight)^{-1}X^TXeta=Xeta quad[4.2]

由此看出,最小二乘解的預測是無偏的。 hat{y} 的協方差矩陣為:

Covleft( hat{y},hat{y} 
ight)=Xleft( X^TX 
ight)^{-1}X^TCovleft( y 
ight)Xleft( X^TX 
ight)^{-1}X=sigma^2Xleft( X^TX 
ight)^{-1}X^T=sigma^2S quad[4.3]

預測值第 i 個分量 hat{y}^{left(i
ight)} 的方差為 S^{left(ii
ight)}sigma^2S^{left(ii
ight)} 是變換矩陣 S 的第 i 個對角線元素。全體 N 個預測值的方差之和為:

trleft(S
ight)sigma^2=trleft( Xleft( X^TX 
ight)^{-1}X^T 
ight)sigma^2=trleft( left( X^TX 
ight)^{-1}X^TX 
ight)sigma^2=trleft( I_{p}
ight)sigma^2=psigma^2 quad[4.4]

而嶺回歸的預測值 hat{y}_{ridge} 的期望為:

Eleft(hat{y}_{ridge}
ight)=x^Tleft(X^TX+lambda I
ight)^{-1}X^TXeta quad[4.5]

估計不再無偏。但是 hat{y}_{ridge} 的協方差矩陣是:

Cov left( hat{y}_{ridge}, hat{y}_{ridge} 
ight)=Cov left( Hy,Hy 
ight) =HCovleft(y,y
ight)H^T=sigma^2HH^T quad[4.6]

預測值第 i 個分量 hat{y}_{ridge}^left(i
ight) 的方差為 {HH^T}^{left(ii
ight)}sigma^2{HH^T}^{left(ii
ight)} 是矩陣 HH^T 的第 i 個對角線元素。全體 N 個預測值的方差之和為:

trleft(HH^T
ight)sigma^2\=trleft(UDleft( D^2+lambda I 
ight)^{-1}DU^TUDleft( D^2+lambda I 
ight)^{-1}DU^T
ight)sigma^2\=trleft(Dleft( D^2+lambda I 
ight)^{-1}DU^TUDleft( D^2+lambda I 
ight)^{-1}DU^TU
ight)sigma^2\=trleft(Dleft( D^2+lambda I 
ight)^{-1}D^2left( D^2+lambda I 
ight)^{-1}D
ight)sigma^2\=sigma^2sum_{i=1}^{r}left({frac{d_i}{d_i+lambda}}
ight)^2<psigma^2 quad[4.7]

可見 L2 正則化犧牲了偏置,但減小了預測值的方差。

模型自由度即模型複雜性。根據線性模型自由度的定義 trleft(H
ight)<trleft(S
ight) ,嶺回歸的自由度低於最小二乘的自由度。L2 正則化降低模型複雜度,使方差更低而偏差更高。在上圖中就是向著左側靠攏。通過調節正則化係數 lambda 可以控制模型自由度,在 bias-variance trade-off 中尋找最佳平衡點,追求最優的泛化效果。

五、參考數目

[1] 《線性代數及其應用》【美】David C. Laybook.douban.com

[2] 《統計學習基礎(第2版)(英文)》【美】Trevor Hastie / Robert Tibsiranl / Jerome Friedmanbook.douban.com


推薦閱讀:

人工智慧演算法會不會是最了解你的?可以完全信任演算法的推薦嗎?
滴滴演算法大賽賽題「供需預測」最終要解決什麼樣的實際問題?
那些深度學習《面試》你可能需要知道的
大數據背後的神秘公式—貝葉斯公式
能否訓練一個AI,能夠自動製作OSU!的鋪面?

TAG:机器学习 | 线性回归 | 人工智能算法 |