SVM 参数调优

Posted

技术标签:

【中文标题】SVM 参数调优【英文标题】:SVM parameter tuning 【发布时间】:2015-07-12 10:53:50 【问题描述】:

我是使用 svm 进行分类的新手。我想通过 EmguCV 中的.TrainAutofunction 调整 svm 参数。但我不知道我应该给这个函数搜索的以下参数的范围(最小值-最大值)是多少:

1- C(用于 poly 和 RBF 内核)

2- Gamma(用于多边形和 RBF 内核)

3- 系数(用于多核)

4- 度(用于多核)

这些参数的范围是多少?

这些范围是否取决于样本数量?

当我收到内存不足分配错误时,是否可以将 step 参数设置为较大的值,当我找到近似最佳值时,将这些范围设置为较小的值,然后以较小的 step 搜索第二个范围?

【问题讨论】:

【参考方案1】:

一般来说,您应该首先考虑 RBF 内核,除非您有充分的理由不这样做。以下是有关如何选择参数 C 和 gamma 的一些指南:

http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf

http://scikit-learn.org/stable/auto_examples/svm/plot_rbf_parameters.html

【讨论】:

Tnx 很多!我正在阅读它们。但我测试了 RBF 和线性内核(我不知道测试是否正确,我正在阅读你的链接才知道)所以我决定测试多内核。 @EYx:线性 SVM 将比所有内核版本快得多,但仅当您的数据或多或少线性可分时才会起作用。所以如果你能让它为你工作,那就太好了,否则试试 RBF。 对不起,我忘了说 RBF 和线性,都给了我微弱的回应!

以上是关于SVM 参数调优的主要内容,如果未能解决你的问题,请参考以下文章

R语言使用caret包的train函数构建支持向量机SVM模型模型调优自定义设置trainControl函数和tuneLength参数

参数调优和特征工程,应该先哪个?

GC调优配置参数

Hive调优参数篇

「JVM」调优参数总结

hadoop 调优措施 调优参数