【问题标题】:How to test if a kernel is a valid kernel如何测试内核是否是有效内核
【发布时间】:2012-07-31 17:14:53
【问题描述】:

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

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

【问题讨论】:

    标签: machine-learning data-mining svm


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      内核函数必须满足Mercer's condition 您也可以在stats forum 上找到您所问问题的答案。

      【讨论】:

      • 谢谢。其他帖子的链接非常有帮助。
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-05
        • 1970-01-01
        • 1970-01-01
        • 2022-12-11
        • 2015-03-28
        • 1970-01-01
        • 2019-06-11
        • 2016-03-19
        相关资源
        最近更新 更多