SVM 参数调优
Posted
技术标签:
【中文标题】SVM 参数调优【英文标题】:SVM parameter tuning 【发布时间】:2015-07-12 10:53:50 【问题描述】:我是使用 svm 进行分类的新手。我想通过 EmguCV 中的.TrainAuto
function 调整 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参数