kro*_*ike 6 machine-learning svm scikit-learn
我是机器学习领域的新手,现在正试图掌握最常见的学习算法是如何工作的,并了解何时应用它们.目前,我正在学习支持向量机的工作原理,并对自定义内核函数有疑问.
关于SVM的更标准(线性,RBF,多项式)内核,Web上有大量信息.但是,我想了解何时使用自定义内核函数是合理的.我的问题是:
1)SVM的其他可能内核是什么?
2)在哪种情况下会应用自定义内核?
3)定制内核能否显着提高SVM的预测质量?
1)SVM的其他可能内核是什么?
这些中有无数的,例如参见pykernels中实现的列表(这远非详尽无遗)
https://github.com/gmum/pykernels
2)在哪种情况下会应用自定义内核?
基本上有两种情况:
3)定制内核能否显着提高SVM的预测质量?
是的,特别是总是存在一个(假设的)贝叶斯最优内核,定义如下:
K(x, y) = 1 iff arg max_l P(l|x) == arg max_l P(l|y)
Run Code Online (Sandbox Code Playgroud)
换句话说,如果一个标签l的真实概率P(l | x)被分配给一个点x,那么我们就可以创建一个内核,它几乎将你的数据点映射到它们最可能的标签的单热编码上,从而导致贝叶斯最优分类(因为它将获得贝叶斯风险).
在实践中,当然不可能得到这样的内核,因为这意味着你已经解决了你的问题.然而,它表明有一个"最佳内核"的概念,显然没有经典的那个不属于这种类型(除非你的数据来自veeeery简单的发行版).此外,每个内核都是一种先验过度决策函数 - 越接近实际的函数系列 - 更可能的是使用SVM获得合理的分类器.
归档时间: |
|
查看次数: |
1342 次 |
最近记录: |