核函数的有效性判定

来源:互联网 发布:java并编程实战百度云 编辑:程序博客网 时间:2024/06/05 04:51

问题:给定一个函数K,我们能否使用K来替代计算clip_image022[11],也就说,是否能够找出一个clip_image061[12],使得对于所有的x和z,都有clip_image018[9]

比如给出了clip_image063[8],是否能够认为K是一个有效的核函数。

下面来解决这个问题,给定m个训练样本clip_image065[6],每一个clip_image067[8]对应一个特征向量。那么,我们可以将任意两个clip_image067[9]clip_image069[6]带入K中,计算得到clip_image071[6]。I可以从1到m,j可以从1到m,这样可以计算出m*m的核函数矩阵(KernelMatrix)。为了方便,我们将核函数矩阵和clip_image073[10]都使用K来表示。

如果假设K是有效地核函数,那么根据核函数定义

clip_image075[6]

可见,矩阵K应该是个对称阵。让我们得出一个更强的结论,首先使用符号clip_image077[6]来表示映射函数clip_image020[12]的第k维属性值。那么对于任意向量z,得

clip_image078[6]

最后一步和前面计算clip_image063[9]时类似。从这个公式我们可以看出,如果K是个有效的核函数(即clip_image073[11]clip_image080[6]等价),那么,在训练集上得到的核函数矩阵K应该是半正定的(clip_image082[6]

这样我们得到一个核函数的必要条件:

K是有效的核函数 ==>核函数矩阵K是对称半正定的。

可幸的是,这个条件也是充分的,由Mercer定理来表达。

Mercer定理:

如果函数K是clip_image084[26]上的映射(也就是从两个n维向量映射到实数域)。那么如果K是一个有效核函数(也称为Mercer核函数),那么当且仅当对于训练样例clip_image065[7],其相应的核函数矩阵是对称半正定的。

Mercer定理表明为了证明K是有效的核函数,那么我们不用去寻找clip_image061[13],而只需要在训练集上求出各个clip_image086[6],然后判断矩阵K是否是半正定(使用左上角主子式大于等于零等方法)即可。

许多其他的教科书在Mercer定理证明过程中使用了clip_image088[16]范数和再生希尔伯特空间等概念,但在特征是n维的情况下,这里给出的证明是等价的。

核函数不仅仅用在SVM上,但凡在一个模型后算法中出现了clip_image090[4],我们都可以常使用clip_image073[12]去替换,这可能能够很好地改善我们的算法。

0 0
原创粉丝点击