使用支持向量机时,是否有关于选择线性核与非线性核(如 RBF)的指南?我曾经听说,一旦特征数量很大,非线性内核往往表现不佳。有没有关于这个问题的参考资料?
支持向量机的线性核和非线性核?
机器算法验证
机器学习
分类
支持向量机
参考
内核技巧
2022-01-19 07:32:32
2个回答
通常,决定是使用线性核还是 RBF(又名高斯)核。有两个主要因素需要考虑:
- 解决线性内核的优化问题要快得多,例如 LIBLINEAR。
- 通常,非线性内核的最佳预测性能更好(或至少与线性内核一样好)。
已经证明线性内核是 RBF 的退化版本,因此线性内核永远不会比经过适当调整的 RBF 内核更准确。引用我链接的论文的摘要:
分析还表明,如果使用高斯核进行了完整的模型选择,则无需考虑线性 SVM。
NTU 的支持向量分类实用指南(附录 C)简要介绍了一个基本的经验法则。
如果特征数量很大,则可能不需要将数据映射到更高维空间。也就是说,非线性映射不会提高性能。使用线性核就足够了,而且只搜索参数 C。
你的结论或多或少是正确的,但你的论点倒退了。在实践中,当特征数量很大时(例如,不需要映射到更高维的特征空间),线性核往往表现得非常好。一个典型的例子是文档分类,输入空间有数千个维度。
在这些情况下,非线性内核不一定比线性内核更准确。这基本上意味着非线性内核失去了吸引力:它们需要更多的资源来训练,而预测性能几乎没有增益,所以何苦呢。
TL;博士
总是先尝试线性,因为训练(和测试)要快得多。如果准确度足够,请拍拍自己的好成绩,然后继续下一个问题。如果没有,请尝试非线性内核。
Andrew Ng 从 14:46 开始在这个视频中给出了一个很好的经验法则解释,尽管整个视频都值得一看。
关键点
- 当特征数大于观察数时使用线性核。
- 当观察数大于特征数时使用高斯核。
- 如果观察数大于 50,000,则使用高斯核时速度可能会成为问题;因此,人们可能想要使用线性内核。
其它你可能感兴趣的问题