如何测试内核是否是有效的内核

Lon*_*guy 10 machine-learning data-mining svm

如果我定义自己的方法来确定我的支持向量机分类器的两个输入实体之间的相似性,从而将其定义为我的内核,我该如何验证它是否确实是一个我可以使用的有效内核?

例如,如果我的输入是字符串,并且我选择的内核是可以说某种字符串距离度量,那么我如何决定是否可以将它用于我的SVM.我知道有一些有效SVM内核的条件.任何人都可以告诉我它们是什么以及如何验证这些条件?

Dav*_*ing 9

最直接的测试基于以下内容:当且仅当任何特定数据点集的核矩阵具有所有非负特征值时,核函数才有效.您可以通过采用一组相当大的数据点并简单地检查它是否为真来轻松地对此进行测试.例如,如果您随机选择了2000个数据样本,创建了相应的2000x2000内核矩阵,并观察到它具有非负特征值,那么很可能您拥有一个合法的内核.或者,如果存在任何负特征值,则候选内核函数肯定不是合法内核.


小智 7

您还可以查看的参考资料是http://cs.nyu.edu/~dsontag/courses/ml12/slides/lecture6.pdf,其中作者提供了“内核代数”,该“内核代数”来自上述陈述——默瑟定理对应的核矩阵是对称半正定的,正特征值由此而来。作为一个例子,作者还展示了高斯函数是一个有效的内核。如果您不想查找参考资料,我将在此处提供: 核代数和高斯证明作为有效核的描述


AGS*_*AGS 6

内核函数必须满足Mercer的条件 您还可以在统计论坛上找到您所要求的答案 .