核方法

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

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

而先把 x z 扩展成更高维的向量 ϕ ( x ) R n R d ϕ ( z ) R n R d ,再对它们求内积 ϕ ( x ) T ϕ ( z ) R d × R d R ,计算量会很大

K ( x , z ) 相当于跳过了 ϕ ( x ) ϕ ( z ) ,隐式地定义了 ϕ ( x ) ,如果你仍然想知道 K ( x , z ) 对应的 ϕ ( x ) 是什么,可以由 K ( x , z ) 的定义出发一步一步推导出来,但对应的 ϕ ( x ) 可能不唯一

下面举例进行说明

假设 x z R n ,考虑核函数 K ( x , z ) = ( x T z ) 2 ,现在需要推导出该核函数所对应的高维向量映射 ϕ ( x ) (推导的思想:把 x i z i 混杂的项分开)

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 时,对 x 的映射 ϕ ( x ) 如下所示
ϕ ( 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 z 计算 ϕ ( x ) ϕ ( x ) 各自需要 O ( n 2 ) 的时间复杂度,计算 ϕ ( x ) T ϕ ( z ) 时,由于 ϕ ( x ) ϕ ( z ) 的维度均为 n 2 ,故需要 O ( n 2 ) 的时间复杂度,总的来说,计算 ϕ ( x ) T ϕ ( z ) 需要 O ( n 2 ) 的时间复杂度

然而,计算 K ( x , z ) = ( x T z ) 2 只需要 O ( n ) 的时间复杂度

需要注意的是,给定 K ( x , z ) ,对应的 ϕ ( x ) 不唯一

x z R n K ( x , z ) = ( x T z ) 2

一种可能的 ϕ ( x ) = [ x 1 x 1 , x 1 x 2 , x 2 x 1 , x 2 x 2 ] T

另一种可能的 ϕ ( x ) = [ x 1 x 1 , 2 x 1 x 2 , x 2 x 2 ] T

高斯核函数 K ( x , z ) = exp ( x z 2 2 σ )

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

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

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

然而并不是每一个 m × m 的矩阵有资格称为Kernel Matrix,最基本的条件必须为对阵矩阵

因为 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 T K z = i = 0 m j = 0 m z i K i j z j 0

即Kernel Matrix必须是半正定的

推导如下

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 = 1 m j = 1 m z i ϕ k ( x ( i ) ) ϕ k ( x ( j ) ) z j ,以 m = 3 为例进行后续推导

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

故有
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 R n × R n R K 是一个合法的核函数的充分必要条件为对于任意 m 个样本 { x ( 1 ) , x ( 2 ) , . . . x ( m ) } K 所对应的Kernel Matrix对称且半正定

猜你喜欢

转载自blog.csdn.net/o0Helloworld0o/article/details/81537394
今日推荐