核方法 K(x,z)=ϕ(x)Tϕ(z) K ( x , z ) = ϕ ( x ) T ϕ ( z )
通常来说,直接将 x x ,代入 K(x,z) K ( x , z ) : Rn×Rn→R R n × R n → R 计算,复杂度较低
而先把 x x ,扩展成更高维的向量 ϕ(x) ϕ ( x ) : Rn→Rd R n → R d , ϕ(z) ϕ ( z ) : Rn→Rd R n → R d ,再对它们求内积 ϕ(x)Tϕ(z) ϕ ( x ) T ϕ ( z ) : Rd×Rd→R R d × R d → R ,计算量会很大
K(x,z) K ( x , z ) 相当于跳过了 ϕ(x) ϕ ( x ) 和 ϕ(z) ϕ ( z ) ,隐式地定义了 ϕ(x) ϕ ( x ) ,如果你仍然想知道 K(x,z) K ( x , z ) 对应的 ϕ(x) ϕ ( x ) 是什么,可以由 K(x,z) K ( x , z ) 的定义出发一步一步推导出来,但对应的 ϕ(x) ϕ ( x ) 可能不唯一
下面举例进行说明
假设 x x ,,考虑核函数 K(x,z)=(xTz)2 K ( x , z ) = ( x T z ) 2 ,现在需要推导出该核函数所对应的高维向量映射 ϕ(x) ϕ ( x ) (推导的思想:把 xizi x i z i 混杂的项分开)
K(x,z)=(xTz)2=(∑i=1nxizi)2=(∑i=1nxizi)(∑j=1nxjzj)=∑i=1n∑j=1nxixjzizj=∑i,j=1n(xixj)(zizj)=ϕ(x)Tϕ(z) K ( x , z ) = ( x T z ) 2 = ( ∑ i = 1 n x i z i ) 2 = ( ∑ i = 1 n x i z i ) ( ∑ j = 1 n x j z j ) = ∑ i = 1 n ∑ j = 1 n x i x j z i z j = ∑ i , j = 1 n ( x i x j ) ( z i z j ) = ϕ ( x ) T ϕ ( z )
当
n=3
n
=
3
时,对
x
x
的映射如下所示
ϕ(x)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢x1x1x1x2x1x3x2x1x2x2x2x3x3x1x3x2x3x3⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
ϕ
(
x
)
=
[
x
1
x
1
x
1
x
2
x
1
x
3
x
2
x
1
x
2
x
2
x
2
x
3
x
3
x
1
x
3
x
2
x
3
x
3
]
可以看出,由 x x ,计算 ϕ(x) ϕ ( x ) , ϕ(x) ϕ ( x ) 各自需要 O(n2) O ( n 2 ) 的时间复杂度,计算 ϕ(x)Tϕ(z) ϕ ( x ) T ϕ ( z ) 时,由于 ϕ(x) ϕ ( x ) , ϕ(z) ϕ ( z ) 的维度均为 n2 n 2 ,故需要 O(n2) O ( n 2 ) 的时间复杂度,总的来说,计算 ϕ(x)Tϕ(z) ϕ ( x ) T ϕ ( z ) 需要 O(n2) O ( n 2 ) 的时间复杂度
然而,计算 K(x,z)=(xTz)2 K ( x , z ) = ( x T z ) 2 只需要 O(n) O ( n ) 的时间复杂度
需要注意的是,给定 K(x,z) K ( x , z ) ,对应的 ϕ(x) ϕ ( x ) 不唯一
如 x x ,, K(x,z)=(xTz)2 K ( x , z ) = ( x T z ) 2
一种可能的 ϕ(x)=[x1x1,x1x2,x2x1,x2x2]T ϕ ( x ) = [ x 1 x 1 , x 1 x 2 , x 2 x 1 , x 2 x 2 ] T
另一种可能的
ϕ(x)=[x1x1,2–√x1x2,x2x2]T
ϕ
(
x
)
=
[
x
1
x
1
,
2
x
1
x
2
,
x
2
x
2
]
T
高斯核函数 K(x,z)=exp(−∥x−z∥22σ) K ( x , z ) = exp ( − ‖ x − z ‖ 2 2 σ )
当 x x 和相距很近时, K(x,z) K ( x , z ) 趋近于 1 1
当和
z
z
相距很远时,趋近于
0
0
对于个样本 {x(1),x(2),...x(m)} { x ( 1 ) , x ( 2 ) , . . . x ( m ) } ,定义 m×m m × m 的Kernel Matrix K K ,其中
然而并不是每一个 m×m m × m 的矩阵有资格称为Kernel Matrix,最基本的条件必须为对阵矩阵
因为 Kij=K(x(i),x(j))=ϕ(x(i))Tϕ(x(j))=ϕ(x(j))Tϕ(x(i))=K(x(j),x(i))=Kji K i j = K ( x ( i ) , x ( j ) ) = ϕ ( x ( i ) ) T ϕ ( x ( j ) ) = ϕ ( x ( j ) ) T ϕ ( x ( i ) ) = K ( x ( j ) , x ( i ) ) = K j i
此外,对于任意的向量 z z
即Kernel Matrix必须是半正定的
推导如下
zTKz=[z1z2⋯zm]⎡⎣⎢⎢⎢⎢K11K21⋮Km1K12K22⋮Km2⋯⋯⋯K1mK2m⋮Kmm⎤⎦⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢z1z2⋮zm⎤⎦⎥⎥⎥⎥=[∑i=1mziKi1∑i=1mziKi2⋯∑i=1mziKim]⎡⎣⎢⎢⎢⎢z1z2⋮zm⎤⎦⎥⎥⎥⎥=z1∑i=1mziKi1+z2∑i=1mziKi2+⋯+zm∑i=1mziKim=∑i=1mziKi1z1+∑i=1mziKi2z2+⋯+∑i=1mziKimzm=∑j=1m∑i=1mziKijzj=∑i=1m∑j=1mziKijzj=∑i=1m∑j=1mziϕ(x(i))Tϕ(x(j))zj=∑i=1m∑j=1mzi(∑k=1dϕk(x(i))ϕk(x(j)))zj=∑k=1d∑i=1m∑j=1mziϕk(x(i))ϕk(x(j))zj z T K z = [ z 1 z 2 ⋯ z m ] [ K 11 K 12 ⋯ K 1 m K 21 K 22 ⋯ K 2 m ⋮ ⋮ ⋮ K m 1 K m 2 ⋯ K m m ] [ z 1 z 2 ⋮ z m ] = [ ∑ i = 1 m z i K i 1 ∑ i = 1 m z i K i 2 ⋯ ∑ i = 1 m z i K i m ] [ z 1 z 2 ⋮ z m ] = z 1 ∑ i = 1 m z i K i 1 + z 2 ∑ i = 1 m z i K i 2 + ⋯ + z m ∑ i = 1 m z i K i m = ∑ i = 1 m z i K i 1 z 1 + ∑ i = 1 m z i K i 2 z 2 + ⋯ + ∑ i = 1 m z i K i m z m = ∑ j = 1 m ∑ i = 1 m z i K i j z j = ∑ i = 1 m ∑ j = 1 m z i K i j z j = ∑ i = 1 m ∑ j = 1 m z i ϕ ( x ( i ) ) T ϕ ( x ( j ) ) z j = ∑ i = 1 m ∑ j = 1 m z i ( ∑ k = 1 d ϕ k ( x ( i ) ) ϕ k ( x ( j ) ) ) z j = ∑ k = 1 d ∑ i = 1 m ∑ j = 1 m z i ϕ k ( x ( i ) ) ϕ k ( x ( j ) ) z j
对于 ∑i=1m∑j=1mziϕk(x(i))ϕk(x(j))zj ∑ i = 1 m ∑ j = 1 m z i ϕ k ( x ( i ) ) ϕ k ( x ( j ) ) z j ,以 m=3 m = 3 为例进行后续推导
∑i=13∑j=13ziϕk(x(i))ϕk(x(j))zj=z1ϕk(x(1))ϕk(x(1))z1+z1ϕk(x(1))ϕk(x(2))z2+z1ϕk(x(1))ϕk(x(3))z3+z2ϕk(x(2))ϕk(x(1))z1+z2ϕk(x(2))ϕk(x(2))z2+z2ϕk(x(2))ϕk(x(3))z3+z3ϕk(x(3))ϕk(x(1))z1+z3ϕk(x(3))ϕk(x(2))z2+z3ϕk(x(3))ϕk(x(3))z3=(z1ϕk(x(1))+z2ϕk(x(2))+z3ϕk(x(3)))2(3项之和的完全平方公式)=(∑i=13ziϕk(x(i)))2 ∑ i = 1 3 ∑ j = 1 3 z i ϕ k ( x ( i ) ) ϕ k ( x ( j ) ) z j = z 1 ϕ k ( x ( 1 ) ) ϕ k ( x ( 1 ) ) z 1 + z 1 ϕ k ( x ( 1 ) ) ϕ k ( x ( 2 ) ) z 2 + z 1 ϕ k ( x ( 1 ) ) ϕ k ( x ( 3 ) ) z 3 + z 2 ϕ k ( x ( 2 ) ) ϕ k ( x ( 1 ) ) z 1 + z 2 ϕ k ( x ( 2 ) ) ϕ k ( x ( 2 ) ) z 2 + z 2 ϕ k ( x ( 2 ) ) ϕ k ( x ( 3 ) ) z 3 + z 3 ϕ k ( x ( 3 ) ) ϕ k ( x ( 1 ) ) z 1 + z 3 ϕ k ( x ( 3 ) ) ϕ k ( x ( 2 ) ) z 2 + z 3 ϕ k ( x ( 3 ) ) ϕ k ( x ( 3 ) ) z 3 = ( z 1 ϕ k ( x ( 1 ) ) + z 2 ϕ k ( x ( 2 ) ) + z 3 ϕ k ( x ( 3 ) ) ) 2 (3项之和的完全平方公式) = ( ∑ i = 1 3 z i ϕ k ( x ( i ) ) ) 2
故有
zTKz=∑k=1d∑i=1m∑j=1mziϕk(x(i))ϕk(x(j))zj=∑k=1d(∑i=1mziϕk(x(i)))2⩾0
z
T
K
z
=
∑
k
=
1
d
∑
i
=
1
m
∑
j
=
1
m
z
i
ϕ
k
(
x
(
i
)
)
ϕ
k
(
x
(
j
)
)
z
j
=
∑
k
=
1
d
(
∑
i
=
1
m
z
i
ϕ
k
(
x
(
i
)
)
)
2
⩾
0
更正式的表达为Mercer定理
K
K
:,
K
K
是一个合法的核函数的充分必要条件为对于任意个样本
{x(1),x(2),...x(m)}
{
x
(
1
)
,
x
(
2
)
,
.
.
.
x
(
m
)
}
,
K
K
<script type="math/tex" id="MathJax-Element-1367">K</script>所对应的Kernel Matrix对称且半正定