核方法
K(x,z)=ϕ(x)Tϕ(z)
通常来说,直接将
x
,
z
代入
K(x,z)
:
Rn×Rn→R
计算,复杂度较低
而先把
x
,
z
扩展成更高维的向量
ϕ(x)
:
Rn→Rd
,
ϕ(z)
:
Rn→Rd
,再对它们求内积
ϕ(x)Tϕ(z)
:
Rd×Rd→R
,计算量会很大
K(x,z)
相当于跳过了
ϕ(x)
和
ϕ(z)
,隐式地定义了
ϕ(x)
,如果你仍然想知道
K(x,z)
对应的
ϕ(x)
是什么,可以由
K(x,z)
的定义出发一步一步推导出来,但对应的
ϕ(x)
可能不唯一
下面举例进行说明
假设
x
,
z∈Rn
,考虑核函数
K(x,z)=(xTz)2
,现在需要推导出该核函数所对应的高维向量映射
ϕ(x)
(推导的思想:把
xizi
混杂的项分开)
K(x,z)=(xTz)2=(∑i=1nxizi)2=(∑i=1nxizi)(∑j=1nxjzj)=∑i=1n∑j=1nxixjzizj=∑i,j=1n(xixj)(zizj)=ϕ(x)Tϕ(z)
当
n=3
时,对
x
的映射
ϕ(x)
如下所示
ϕ(x)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢x1x1x1x2x1x3x2x1x2x2x2x3x3x1x3x2x3x3⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
可以看出,由
x
,
z
计算
ϕ(x)
,
ϕ(x)
各自需要
O(n2)
的时间复杂度,计算
ϕ(x)Tϕ(z)
时,由于
ϕ(x)
,
ϕ(z)
的维度均为
n2
,故需要
O(n2)
的时间复杂度,总的来说,计算
ϕ(x)Tϕ(z)
需要
O(n2)
的时间复杂度
然而,计算
K(x,z)=(xTz)2
只需要
O(n)
的时间复杂度
需要注意的是,给定
K(x,z)
,对应的
ϕ(x)
不唯一
如
x
,
z∈Rn
,
K(x,z)=(xTz)2
一种可能的
ϕ(x)=[x1x1,x1x2,x2x1,x2x2]T
另一种可能的
ϕ(x)=[x1x1,2–√x1x2,x2x2]T
高斯核函数
K(x,z)=exp(−∥x−z∥22σ)
当
x
和
z
相距很近时,
K(x,z)
趋近于
1
当
x
和
z
相距很远时,
K(x,z)
趋近于
0
对于
m
个样本
{x(1),x(2),...x(m)}
,定义
m×m
的Kernel Matrix
K
,其中
Kij=K(x(i),x(j))
然而并不是每一个
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
此外,对于任意的向量
z
zTKz=∑i=0m∑j=0mziKijzj⩾0
即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
对于
∑i=1m∑j=1mziϕk(x(i))ϕk(x(j))zj
,以
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
故有
zTKz=∑k=1d∑i=1m∑j=1mziϕk(x(i))ϕk(x(j))zj=∑k=1d(∑i=1mziϕk(x(i)))2⩾0
更正式的表达为Mercer定理
K
:
Rn×Rn→R
,
K
是一个合法的核函数的充分必要条件为对于任意
m
个样本
{x(1),x(2),...x(m)}
,
K
所对应的Kernel Matrix对称且半正定