核方法

核方法 K(x,z)=ϕ(x)Tϕ(z) K ( x , z ) = ϕ ( x ) T ϕ ( z )

通常来说,直接将 x x z代入 K(x,z) K ( x , z ) Rn×RnR R n × R n → R 计算,复杂度较低

而先把 x x z扩展成更高维的向量 ϕ(x) ϕ ( x ) RnRd R n → R d ϕ(z) ϕ ( z ) RnRd R n → R d ,再对它们求内积 ϕ(x)Tϕ(z) ϕ ( x ) T ϕ ( z ) Rd×RdR 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 zRn,考虑核函数 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=1nj=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)如下所示
ϕ(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 z计算 ϕ(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 zRn 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,2x1x2,x2x2]T ϕ ( x ) = [ x 1 x 1 , 2 x 1 x 2 , x 2 x 2 ] T

高斯核函数 K(x,z)=exp(xz22σ) K ( x , z ) = exp ⁡ ( − ‖ x − z ‖ 2 2 σ )

x x z相距很近时, K(x,z) K ( x , z ) 趋近于 1 1

x z z 相距很远时,K(x,z)趋近于 0 0

对于m个样本 {x(1),x(2),...x(m)} { x ( 1 ) , x ( 2 ) , . . . x ( m ) } ,定义 m×m m × m 的Kernel Matrix K K ,其中Kij=K(x(i),x(j))

然而并不是每一个 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

zTKz=i=0mj=0mziKijzj0

即Kernel Matrix必须是半正定的

推导如下

zTKz=[z1z2zm]K11K21Km1K12K22Km2K1mK2mKmmz1z2zm=[i=1mziKi1i=1mziKi2i=1mziKim]z1z2zm=z1i=1mziKi1+z2i=1mziKi2++zmi=1mziKim=i=1mziKi1z1+i=1mziKi2z2++i=1mziKimzm=j=1mi=1mziKijzj=i=1mj=1mziKijzj=i=1mj=1mziϕ(x(i))Tϕ(x(j))zj=i=1mj=1mzi(k=1dϕk(x(i))ϕk(x(j)))zj=k=1di=1mj=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=1mj=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=13j=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)))23=(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=1di=1mj=1mziϕk(x(i))ϕk(x(j))zj=k=1d(i=1mziϕk(x(i)))20 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 Rn×RnR K K 是一个合法的核函数的充分必要条件为对于任意m个样本 {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对称且半正定

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值