正则化参数
λ
\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
{xi,yi}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[di−F(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=1∑N[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=1∑Naki(λ)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)
且
(式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(λ)=N1∣∣f−Fλ∣∣2=N1∣∣f−A(λ)d∣∣2(式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(λ)f∣∣2]=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(λ)]=N1∣∣f−A(λ)f∣∣2+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^(λ)=N1∣∣I−A(λ)d∣∣2+Nσ2tr[A2(λ)]−Nσ2tr[(I−A(λ))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=1∑N[di−Fλ(xi)]2+2λ∣∣DF(x)∣∣2(式17)
其中标准误差项中省略了第
k
k
k项
[
d
k
−
F
λ
(
x
k
)
]
[d_k - F_{\lambda}(x_k)]
[dk−Fλ(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=1∑N[dk−Fλ[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
d1,d2,...,dk−1,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)∂dk∂Fλ(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}
∂dk∂Fλ(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)=1−akk(λ)Fλ(xk)−akkdk=1−akk(λ)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=1∑N[1−akk(λ)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=1∑Nwk[1−akk(λ)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[I−A(λ)]1−akk(λ)]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[I−A(λ))2N1∑k=1N(dk−Fλ(xk))2](式24)
据此得到的
V
0
(
λ
)
V_0(\lambda)
V0(λ)仅依赖与数据d相关的数据量。