问题:给定一个函数K,我们能否使用K来替代计算,也就说,是否能够找出一个
,使得对于所有的x和z,都有
?
下面来解决这个问题,给定m个训练样本,每一个
对应一个特征向量。那么,我们可以将任意两个
和
带入K中,计算得到
。I可以从1到m,j可以从1到m,这样可以计算出m*m的核函数矩阵(KernelMatrix)。为了方便,我们将核函数矩阵和
都使用K来表示。
如果假设K是有效地核函数,那么根据核函数定义
可见,矩阵K应该是个对称阵。让我们得出一个更强的结论,首先使用符号来表示映射函数
的第k维属性值。那么对于任意向量z,得
最后一步和前面计算时类似。从这个公式我们可以看出,如果K是个有效的核函数(即
和
等价),那么,在训练集上得到的核函数矩阵K应该是半正定的(
)
这样我们得到一个核函数的必要条件:
K是有效的核函数 ==>核函数矩阵K是对称半正定的。
可幸的是,这个条件也是充分的,由Mercer定理来表达。
Mercer定理: 如果函数K是 |
Mercer定理表明为了证明K是有效的核函数,那么我们不用去寻找,而只需要在训练集上求出各个
,然后判断矩阵K是否是半正定(使用左上角主子式大于等于零等方法)即可。
许多其他的教科书在Mercer定理证明过程中使用了范数和再生希尔伯特空间等概念,但在特征是n维的情况下,这里给出的证明是等价的。