matlab cdfx,matlab自带工具箱svmtrain函数参数的选择

1、在使用svmtrain函数时,需要使用核函数进行分类,百度大部分的都是关于libsvm下的核函数使用,看到了一篇写matlab的svmtrain参数选择,如下

https://blog.csdn.net/shenziheng1/article/details/54178685/

还可以使用 help svmtrain查看svmtrain函数的参数示例和使用示例,如需要阅读体验更好,请使用doc svmtrain 查看

例子:

1 e.g.2 clc;clear all3 load fisheriris %载入matlab自带的数据[有关数据的信息可以自己到UCI查找,这是UCI的经典数据之一],4 % UCI数据库http://archive.ics.uci.edu/ml/该数据库得到大家认可5%其中meas是150*4的矩阵代表着有150个样本每个样本有4个属性描述

6 %species代表着这150个样本的分类7 data = [meas(:,1), meas(:,2)]; %在这里只取meas的第一列和第二列,即只选取前两个属性.8 groups = ismember(species,'setosa');9 %由于species分类中是有三个分类:setosa,versicolor,virginica,为了使问题简单,我们将其变为二分类问题:Setosa10 %and non-Setosa,groups中只有0和111 [train, test] = crossvalind('holdOut',groups);%生成索引,一部分用来训练,其他部分用来测试12 cp = classperf(groups);%随机选择训练集合测试集,其中cp作用是后来用来评价分类器的.*/

13svmStruct = svmtrain(data(train,:),groups(train),'showplot',true);14 %svmStruct= svmtrain(data(train,:),groups(train),'Kernel_Function','rbf','RBF_Sigma',1,'boxconstraint',1,'showplot',true);15 %使用svmtrain进行训练,得到训练后的结构svmStruct,在预测时使用.

上述 ‘Kernel_Function’表示核函数,包括'linear'  (线性)默认、 'quadratic' (二次)、 'polynomial' (多项式默认三阶)、'rbf'(高斯径向基函数)

线性核函数用于数据线性可分的情况下,后面三个一般应用于数据线性不可分的情况(将而二维数据映射到更高的维度从而使数据可区分)

吴恩达老师 机器学习讲义  https://pan.baidu.com/s/1boGzeDx

机器学习视频  http://open.163.com/special/opencourse/machinelearning.html

高斯核函数为

$$f(X_{i})=e^{-\frac{||x_{i}-l_{i}||^2}{2\sigma^2 }}$$

‘Rbf_sigma’表示高斯核函数的参数,

’boxconstraint‘表示惩罚系数,类同于libsvm中svmtrain的参数c

C越大,相当于惩罚松弛变量,希望松弛变量接近0,即对误分类的惩罚增大,趋向于对训练集全分对的情况,这样对训练集测试时准确率很高,但泛化能力弱。C值小,对误分类的惩罚减小,允许容错,将他们当成噪声点,泛化能力较强。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值