libsvm matlab 调参数,matlab – 使用libsvm调整svm

我是使用LIBSVM软件包的新手.我知道调整参数很重要,但我有几个问题.

如何选择正确的内核?我知道线性是最快的,但什么时候应该使用另一个呢?只有当精度太低或是否有其他方法来编程自动选择正确的内核?

其次,有没有一种有效的方法来调整matlab中的SVM?我唯一能想到的是为我想要测试的每个参数创建嵌套的for循环,然后使用分类器进行训练和预测.对于那些基本的东西来说,这是很多代码……

最佳答案

How to choose the correct kernel? I know linear is fastest, but when should we use another one? Only if the accuracy is too low or is there some other way to program automatic selection of the correct kernel?

最好的方法始终是从线性内核开始.如果您正在处理大型数据集(数千个维度中的数十万个实例),您可能需要使用专门的线性包(例如LIBLINEAR)或集合方法(EnsembleSVM).请注意,后者还没有合适的matlab接口.

如果你有高维稀疏数据,线性内核通常会表现得非常好,即使与更复杂的内核相比也是如此.

通常,如果使用线性内核的准确性不够,最好的选择是使用RBF内核.众所周知,它们在大多数数据集上表现都很好.但是,当您切换到RBF内核时,您将需要调整内核参数gamma.

Secondly, is there an efficient way to tune SVM in matlab?

是! LIBSVM在训练期间使用-v k标志提供k倍交叉验证.当您提供此选项时,培训将产生交叉验证的准确性(分类)或mse(回归)而不是模型.但是,您仍然需要遍历参数元组.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值