SVM试验的一些困惑。

今天用在Matlab中做SVM分类试验,采用SVM通用工具箱,训练数据数据量为1250,使用的核函数为rbf。但训练速度非常慢,大概3个小时,并且训练得到的支持向量数等于样本数。SVM求解得到的是解析解,因此算法的训练过程应该很快。由于以前没有使用SVM进行过相关试验,因此对于训练慢的原因不是太清楚。

在网上查阅了相关资料,并且重新设计了一个试验,数据量为100,且线性可分.实验效果非常好,训练速度快,得到的支持向量机数业很少。试验程序如下:

N = 50;
n=2*N;
randn('state',6);
x1 = randn(2,N);
y1 = ones(1,N);
x2 = 5+randn(2,N);
y2 = -ones(1,N);
figure;
plot(x1(1,:),x1(2,:),'b+',x2(1,:),x2(2,:),'k.');
axis([-3 8 -3 8]);
title('C-SVC')
hold on;
X1 = [x1,x2]';
Y1 = [y1,y2]';
X=X1;
Y=Y1;
C=Inf;
ker='linear';
global p1 p2
p1=3;
p2=1;
[nsv alpha bias] =svc(X,Y,ker,C)

--------------------

因此,我分析之前训练速度慢的主要是采用的数据位非线性可分。不过这个理由好像不太通,因为SVM本身是可以处理非线性可分的问题的。到底是什么原因呢?......

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值