为了利⽤核替换,我们需要能够构造合法的核函数。有如下几种方法:
第⼀种⽅法是选择⼀个特征空间映射
ϕ
(
x
)
\phi(\textbf{x})
ϕ(x),然后使⽤这个映射寻找对应的核。按此方法⼀维空间的核函数被定义为
第二种⽅法是直接构造核函数。必须确保核函数是合法的,即它对应于某个(可能是⽆穷维)特征空间的标量积。
确保函数是核函数有如下几种方法:
- 函数能分解成
ϕ
(
x
)
T
ϕ
(
x
′
)
\phi(\textbf{x})^T\phi(\textbf{x}^{'})
ϕ(x)Tϕ(x′)的形式
例如
其中 ϕ ( x ) = ( x 1 2 , 2 x 1 x 2 , x 2 2 ) T \phi(\textbf{x})=(x_1^2, \sqrt2x_1x_2,x_2^2)^T ϕ(x)=(x12,2x1x2,x22)T
由此可见 ( x T z ) 2 (\textbf{x}^T\textbf{z})^2 (xTz)2是一个合法的核函数 - 更⼀般地,我们需要找到⼀种更简单的⽅法检验⼀个函数是否是⼀个合法的核函数。 k ( x , x ′ ) k(\textbf{x},\textbf{x}^{'}) k(x,x′)是⼀个合法的核函数的充要条件是Gram矩阵(元素由 k ( x n , x m ) k(\textbf{x}_n,\textbf{x}_m) k(xn,xm)给出)在所有的集合 { x n } \{\textbf{x}_n\} {xn}的选择下都是半正定的(半正定未必可逆,但是6.1节明明需要可逆。再想想看,6.1下未必一定要可逆)
- 构造新的核函数的⼀个强⼤的⽅法是使⽤简单的核函数作为基本的模块来构造。可以使⽤下⾯的性质来完成这件事。给定合法的核
k
1
(
x
,
x
′
)
k_1(\textbf{x},\textbf{x}^{'})
k1(x,x′)和
k
2
(
x
,
x
′
)
k_2(\textbf{x},\textbf{x}^{'})
k2(x,x′),下⾯的新核也是合法的
其 中 c > 0 c > 0 c>0是 ⼀ 个 常 数, f ( ⋅ ) f(·) f(⋅)是 任 意 函 数, q ( ⋅ ) q(·) q(⋅)是 ⼀ 个 系 数 ⾮ 负 的 多 项 式, ϕ ( x ) \phi(\textbf{x}) ϕ(x)是 ⼀ 个从x到 R M R^M RM的函数, k 3 ( ⋅ , ⋅ ) k_3(·,·) k3(⋅,⋅)是 R M R^M RM中的⼀个合法的核, A是⼀个对称半正定矩阵, x a \textbf{x}_a xa和 x b \textbf{x}_b xb是变量(未必相交),且 x = ( x a ; x b ) \textbf{x} = (\textbf{x}_a; \textbf{x}_b) x=(xa;xb)。
第三种方法是从⼀个概率⽣成式模型开始构造。
给定⼀个⽣成式模型p(x),我们可以定义⼀个核
可以把它看成由映射
p
(
x
)
p(\textbf{x})
p(x)定义的⼀维特征空间中的⼀个内积。它表明,如果两个输⼊x和
x
′
\textbf{x}^{'}
x′都具有较⾼的概率,那么它们就是相似的。
使⽤公式(6.13)和公式(6.17)扩展这类核,比如扩展为不同概率分布的乘积的加和,带有正的权值系数
p
(
i
)
p(i)
p(i),形式为
这个核就等价于⼀个混合概率密度。如果两个输⼊x和
x
′
\textbf{x}^{'}
x′在很多不同分量下都有较⼤的概率,那么这两个输⼊将会使核函数输出较⼤的值,因此就表现出相似性。
在⽆限求和的极限情况下,我们也可以考虑下⾯形式的核函数