正则化参数估计

正则化参数 λ \lambda λ在径向基函数网络,最小二乘估计和支持向量机的正则化理论中起着核心作用,因此需要一个估计 λ \lambda λ的相当原理性的方法。
先考虑一个非线性回归问题:
(式1) d i = f ( x i ) + ε i , i = 1 , 2 , . . . , N d_i = f(x_i)+\varepsilon _i,i=1,2,...,N \tag{式1} di=f(xi)+εi,i=1,2,...,N(1)
此处 f ( x i ) f(x_i) f(xi)是一条"光滑的曲线", ε i \varepsilon _i εi是一个均值为零和方差如下的白噪声过程的采样,即
(式2) E [ ε i , ε k ] = { σ 2 , 若k=i 0 , 否则 E[\varepsilon _i,\varepsilon _k] = \begin{cases} \sigma ^2, & \text {若k=i} \\ 0, & \text{否则} \end{cases} \tag{式2} E[εi,εk]={σ2,0,k=i否则(2)
给定一组训练样本 { x i , y i } i = 1 N \lbrace x_i,y_i \rbrace _{i=1} ^N {xiyi}i=1N,重建该模型的固有函数 f ( x i ) f(x_i) f(xi)
F λ ( X ) F_{\lambda}(X) Fλ(X)为f(x)相对于某个正则化参数 λ \lambda λ的正则化估计,即 F λ ( X ) F_{\lambda}(X) Fλ(X)为使表示非线性回归问题的Tikhonov泛函达到最小的最小化函数。
在这里插入图片描述
(式3) \tag{式3} (3)
选择合适的 λ \lambda λ,由下述两条件加以权衡
(1)由 ∣ ∣ D F ( X ) ∣ ∣ 2 ||DF(X)||^2 DF(X)2项来度量解的粗糙度;
(2)由 ∑ i = 1 N [ d i − F ( x i ) ] 2 \sum_{i=1}^N[d_i - F(x_i)]^2 i=1N[diF(xi)]2项来度量数据的失真度。

均方误差

R ( λ ) R(\lambda) R(λ)表示模型的回归函数 f ( x ) f(x) f(x)和表示在正则化参数 λ \lambda λ某一值下的解的逼近函数 F λ ( x ) F_{\lambda}(x) Fλ(x)之间在整个给定集合上的均方误差,即:
(式4) R ( λ ) = 1 N ∑ i = 1 N [ f ( x i ) − F λ ( x i ) ] 2 R(\lambda) = \frac{1}{N} \sum _{i=1} ^N[f(x_i) - F_{\lambda}(x_i)]^2 \tag{式4} R(λ)=N1i=1N[f(xi)Fλ(xi)]2(4)
所谓最佳 λ \lambda λ指的是使 R ( λ ) R(\lambda) R(λ)取最小的值;
F λ ( x k ) F_{\lambda} (x_k) Fλ(xk)表示为给定的一组可观察值的线性组合:
(式5) F λ = ∑ i = 1 N a k i ( λ ) d i F_{\lambda} = \sum _{i=1} ^N a_{ki}(\lambda)d_i \tag{式5} Fλ=i=1Naki(λ)di(5)
用等价的矩阵形式写成:
(式6) F λ = A ( λ ) d F_{\lambda} = A(\lambda)d \tag{式6} Fλ=A(λ)d(6)
其中 d d d是预期响应向量,
(式7) F λ = [ F λ ( x 1 ) , F λ ( x 2 ) , . . . , , F λ ( x N ) ] T F_{\lambda} = [F_{\lambda}(x_1),F_{\lambda}(x_2),...,,F_{\lambda}(x_N)]^T \tag{式7} Fλ=[Fλ(x1),Fλ(x2),...,,Fλ(xN)]T(7)

正则化参数估计_第1张图片 (式8) \tag{式8} (8)
其中N x N矩阵 A ( λ ) A(\lambda) A(λ)称为影响矩阵。
用上述矩阵符号,可以 R ( λ ) R(\lambda) R(λ)重新写成:
(式9) R ( λ ) = 1 N ∣ ∣ f − F λ ∣ ∣ 2 = 1 N ∣ ∣ f − A ( λ ) d ∣ ∣ 2 R(\lambda) = \frac{1}{N} ||f - F_{\lambda}||^2 = \frac{1}{N} ||f - A({\lambda})d||^2 \tag{式9} R(λ)=N1fFλ2=N1fA(λ)d2(9)
其中向量N x 1的向量 f f f为:
f = [ f ( x 1 ) , f ( x 2 ) , . . . , f ( x N ) ] T f = [f(x_1),f(x_2),...,f(x_N)]^T f=[f(x1),f(x2),...,f(xN)]T
也可写成
d = f + ε d = f + \varepsilon d=f+ε
其中:
(式10) ε = [ ε 1 , ε 2 , . . . . , ε N ] T \varepsilon = [ \varepsilon _1, \varepsilon _2,...., \varepsilon _N]^T \tag{式10} ε=[ε1,ε2,....,εN]T(10)
整理可得:
在这里插入图片描述 (式11) \tag{式11} (11)
其中I是N x N的单位矩阵,求 R ( λ ) R(\lambda) R(λ)的期望值,需要注意:
(1)式(11)的右边第一项是一个常数,因此它不受期望算子的影响;
(2)第二项的期望为零;
(3)标量 ∣ ∣ A ( λ ) ∣ ∣ 2 ||A(\lambda)||^2 A(λ)2的期望为:
在这里插入图片描述 (式12) \tag{式12} (12)
(4)利用矩阵代数中如下规则:给定两个具有相容维数的矩阵B和C,BC的迹等于CB的迹,
B = ε T B =\varepsilon ^{T} B=εT, C = A T ( λ ) A ( λ ) ε C = A^T(\lambda)A(\lambda) \varepsilon C=AT(λ)A(λ)ε则式12可以写成:
(式13) E [ ∣ ∣ A ( λ ) f ∣ ∣ 2 ] = E [ t r [ A T ( λ ) A ( λ ) ε ε T ] ] = σ 2 t r ( A 2 ( λ ) ) E[||A(\lambda) f||^2] = E[tr[ A^T(\lambda)A(\lambda) \varepsilon \varepsilon^T ]]=\sigma ^2 tr(A^2(\lambda))\tag{式13} E[A(λ)f2]=E[tr[AT(λ)A(λ)εεT]]=σ2tr(A2(λ))(13)
上式最后一行根据(式2)可得,其中 A T ( λ ) A ( λ ) A^T(\lambda)A(\lambda) AT(λ)A(λ)的迹等于 A 2 ( λ ) A^2(\lambda) A2(λ)的迹。
将三项结果结合起来, R ( λ ) R(\lambda) R(λ)期望值可表示为:
(式14) E [ R ( λ ) ] = 1 N ∣ ∣ f − A ( λ ) f ∣ ∣ 2 + σ 2 N t r [ A 2 ( λ ) ] E[R(\lambda)] = \frac{1}{N} ||f - A(\lambda) f||^2 + \frac{\sigma ^2}{N} tr[A^2(\lambda)]\tag{式14} E[R(λ)]=N1fA(λ)f2+Nσ2tr[A2(λ)](14)
但是,一个给定数据集的均方误差 R ( λ ) R(\lambda) R(λ)在实际中并不好用,因其需要回归函数 f ( x ) f(x) f(x)的知识,它是一个有待重建的函数,因此定义如下作为 R ( λ ) R(\lambda) R(λ)的估计:
(式15) R ^ ( λ ) = 1 N ∣ ∣ I − A ( λ ) d ∣ ∣ 2 + σ 2 N t r [ A 2 ( λ ) ] − σ 2 N t r [ ( I − A ( λ ) ) 2 ] \hat{R}(\lambda) = \frac{1}{N}||I - A(\lambda)d||^2 + \frac{\sigma ^2}{N}tr[A^2(\lambda)] - \frac{\sigma ^2}{N}tr[(I - A(\lambda))^2]\tag{式15} R^(λ)=N1IA(λ)d2+Nσ2tr[A2(λ)]Nσ2tr[(IA(λ))2](15)
(式16) E [ R ^ ( λ ) ] = E ( R ( λ ) ) E[\hat{R}(\lambda)] =E(R(\lambda)) \tag{式16} E[R^(λ)]=E(R(λ))(16)


因此使得估计 R ^ ( λ ) \hat{R}(\lambda) R^(λ)最小的 λ \lambda λ值可以作为正则化参数 λ \lambda λ一个好的选择,即使得其模型均方误差最小。

但是从(式15)可以看出需要估计 R ^ ( λ ) \hat{R}(\lambda) R^(λ)还需要知道噪声方差 σ 2 \sigma ^2 σ2,而实际情况中,它通常是未知的。为处理该情况,引入广义交叉验证


广义交叉验证

F i [ k ] ( x ) F_i ^{[k]}(x) Fi[k](x)为使泛函数最小化的函数:
(式17) ξ m o d i f i e d ( F ) = 1 2 ∑ i = 1 N [ d i − F λ ( x i ) ] 2 + λ 2 ∣ ∣ D F ( x ) ∣ ∣ 2 \xi _{modified}(F) = \frac{1}{2} \sum_ {i=1} ^N[d_i - F_{\lambda}(x_i)]^2 +\frac{\lambda}{2}||DF(x)||^2 \tag{式17} ξmodified(F)=21i=1N[diFλ(xi)]2+2λDF(x)2(17)
其中标准误差项中省略了第 k k k [ d k − F λ ( x k ) ] [d_k - F_{\lambda}(x_k)] [dkFλ(xk)],将用该项预报缺省数据点 d k d_k dk的能力来衡量参数 λ \lambda λ的好坏。因此,引入性能度量:
(式18) V 0 ( λ ) = 1 N ∑ k = 1 N [ d k − F λ [ k ] ( x k ) ] 2 V_0(\lambda) = \frac{1}{N}\sum _{k=1} ^N [d_k - F_{\lambda} ^{[k]}(x_k)]^2 \tag{式18} V0(λ)=N1k=1N[dkFλ[k](xk)]2(18)
V 0 ( λ ) V_0(\lambda) V0(λ)仅依赖数据点本身,这样 λ \lambda λ 的普通交叉验证估计即为 V 0 ( λ ) V_0(\lambda) V0(λ)最小化的函数。
F λ [ k ] ( x k ) ] F_{\lambda} ^{[k]}(x_k)] Fλ[k](xk)] 一个有用的性质是:
如果用预测 F λ [ k ] ( x k ) F_{\lambda} ^{[k]}(x_k) Fλ[k](xk) 来代替数据点 d k d_k dk的值,使用数据点 d 1 , d 2 , . . . , d k − 1 , d k , . . . d N d_1,d_2,...,d_{k-1},d_k,...d_N d1d2,...,dk1,dk,...dN使式3的泛函数最小,则 F λ [ k ] ( x k ) F_{\lambda} ^{[k]}(x_k) Fλ[k](xk) 就是所求的解,对于每一个输入向量 x x x,该性质使得 ξ ( F ) \xi(F) ξ(F)的最小化函数 F λ ( x ) F_{\lambda} (x) Fλ(x)线性依赖于 d k d_k dk,这使得有:
(式19) F λ [ k ] ( x k ) = F λ ( x k ) + ( F λ [ k ] ( x k ) − d k ) ∂ F λ ( x k ) ∂ d k F_{\lambda} ^{[k]}(x_k) = F_{\lambda}(x_k) +(F_{\lambda} ^{[k]}(x_k) -d_k) \frac{\partial F_{\lambda(x_k)}}{\partial d_k} \tag{式19} Fλ[k](xk)=Fλ(xk)+(Fλ[k](xk)dk)dkFλ(xk)(19)
由式5可以得出:
(式20) ∂ F λ ( x k ) ∂ d k = a k k ( λ ) \frac{\partial F_{\lambda(x_k)}}{\partial d_k} = a_{kk}(\lambda) \tag{式20} dkFλ(xk)=akk(λ)(20)
a k k ( λ ) a_{kk}(\lambda) akk(λ)是影响矩阵 A ( λ ) A(\lambda) A(λ)对角线上的第 k k k个元素,将式20代入式19可以得到:
(式21) F λ [ k ] ( x k ) = F λ ( x k ) − a k k d k 1 − a k k ( λ ) = F λ ( x k ) − d k 1 − a k k ( λ ) + d k F_{\lambda} ^{[k]}(x_k) = \frac{F_{\lambda}(x_k) - a_{kk}d_k}{1-a_{kk}(\lambda)} = \frac{F_{\lambda}(x_k)-d_k}{1-a_{kk}(\lambda)}+d_k \tag{式21} Fλ[k](xk)=1akk(λ)Fλ(xk)akkdk=1akk(λ)Fλ(xk)dk+dk(21)
式18可重新定义成:
(式22) V 0 ( λ ) = 1 N ∑ k = 1 N [ F λ ( x k ) − d k 1 − a k k ( λ ) ] 2 V_0(\lambda) = \frac{1}{N}\sum _{k=1} ^N [\frac{F_{\lambda}(x_k)-d_k}{1-a_{kk}(\lambda)}]^2 \tag{式22} V0(λ)=N1k=1N[1akk(λ)Fλ(xk)dk]2(22)
但是对于不同的k, a k k ( λ ) a_{kk}(\lambda) akk(λ)的值是不同的,这说明不同的数据点在 V 0 ( λ ) V_0(\lambda) V0(λ)中具有不同的作用。为了避免通常的交叉验证的这一特性,将上式改变为:
(式23) V 0 ( λ ) = 1 N ∑ k = 1 N w k [ F λ ( x k ) − d k 1 − a k k ( λ ) ] 2 V_0(\lambda) = \frac{1}{N}\sum _{k=1} ^N w_k[\frac{F_{\lambda}(x_k)-d_k}{1-a_{kk}(\lambda)}]^2 \tag{式23} V0(λ)=N1k=1Nwk[1akk(λ)Fλ(xk)dk]2(23)
w k w_k wk的定义为:
(式23) w k = [ 1 − a k k ( λ ) 1 N t r [ I − A ( λ ) ] ] 2 w_k = [\frac{1-a_{kk}(\lambda)}{\frac{1}{N} tr[I- A(\lambda)]}]^2\tag{式23} wk=[N1tr[IA(λ)]1akk(λ)]2(23)
据此:
(式24) V 0 ( λ ) = 1 N ∑ k = 1 N ( d k − F λ ( x k ) ) 2 ( 1 N t r [ I − A ( λ ) ) 2 ] V_0(\lambda) = \frac{ \frac{1}{N}\sum _{k=1} ^N (d_k - F_{\lambda}(x_k))^2}{(\frac{1}{N} tr[I - A(\lambda))^2}] \tag{式24} V0(λ)=(N1tr[IA(λ))2N1k=1N(dkFλ(xk))2](24)
据此得到的 V 0 ( λ ) V_0(\lambda) V0(λ)仅依赖与数据d相关的数据量。

你可能感兴趣的:(神经网络与机器学习笔记)