用于二进制分类问题的哪个SVM内核?


9

我是支持向量机的初学者。是否有一些准则说明哪个内核(例如线性,多项式)最适合特定问题?就我而言,我必须根据网页是否包含某些特定信息对网页进行分类,即我存在二进制分类问题。

您能否总体说出最适合此任务的内核?还是我必须在特定的数据集上尝试其中的几个才能找到最佳数据集?顺便说一句,我正在使用利用libSVM库的Python库scikit-learn


您如何代表您的网页?一袋字?内核的选择取决于您在输入空间中想要的相似性度量。
2013年

@Memming是的,我使用的是词袋表示法。您对相似性度量的确切解释是什么?我正在调查网页是否包含某些特定类型的信息。
pemistahl 2013年

如果您尚未检查本教程,可能会发现它很有用(csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf)。Libsvm具有内置的k折交叉验证方案,可以在模型和模型参数之间进行选择。
Zoran

@PeterStahl另外,这取决于您期望的类边界。我没有使用词袋空间的经验,所以我不能为您提供太多帮助。
2013年

Answers:


10

实际上,您在文献中遇到了一个未解决的问题。如您所说,有各种各样的内核(例如,线性,径向基函数,S形,多项式),它们将在由它们各自的方程式定义的空间中执行分类任务。据我所知,没有人明确表明一个内核在一种类型的文本分类任务上总是表现最佳。

需要考虑的一件事是,每个内核功能都有一个或多个参数,需要针对您的数据集进行优化,这意味着,如果操作正确,您应该拥有第二个支持训练集合,您可以在该集合上进行操作研究这些参数的最佳值。(我说第二个保留集合,因为您应该已经有了一个集合,可以用来为分类器找出最佳输入功能。)我做了一段时间的实验,在其中我对每个模型进行了大规模优化。这些参数可用于简单的文本分类任务,并且发现每个内核看起来表现都相当不错,但是在不同的配置下却表现良好。如果我没记错我的结果,则S型曲线的性能最好,但在非常具体的参数调整中却表现最佳-这项调整花了我一个多月的时间才能找到我的机器。


非常感谢您的想法。对不起,我迟来了。目前,我正在写我的硕士论文,我需要评估几个分类器的结果,而不仅仅是SVM。不幸的是,我没有时间测试许多参数组合。这就是为什么我可能会坚持使用线性内核的原因。
pemistahl

祝好运!我认为这是个好电话。
凯尔。

7

尝试使用高斯核。

高斯内核经常被首先尝试,并且被证明是许多应用程序中最好的内核(也具有您的词袋功能)。您也应该尝试线性核。不要指望它能产生良好的结果,文本分类问题往往是非线性的。但这使您对数据有感觉,并且非线性可以极大地改善结果,您可以对此感到满意。

确保正确交叉验证内核宽度,并考虑如何标准化功能(tf-idf等)。

我想说,与选择其他内核(即不是高斯模型)相比,您可以通过更好的特征规范化来改善结果。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.