首页 > 学院 > 开发设计 > 正文

分类器设计之线性分类器和线性SVM(含Matlab代码)

2019-11-06 08:19:33
字体:
来源:转载
供稿:网友
 

分类器设计之线性分类器和线性SVM(含Matlab代码)

标签: 线性规化线性分类器二次规化Matlab2013-08-25 16:48 3196人阅读 评论(0) 收藏 举报 分类: 

对于高维空间的两类问题,最直接的方法是找到一个最佳的分类超平面,使得并且,对于所有的正负训练样本. 因此,以上问题可以表达为:

%% training...%Linear programmingfor i=1:n    A(i,:) = [-x(:,i)',-1];endfor i=1:m    A(i+n,:) = [y(:,i)',1];endc = ones(n+m,1)*(-1);w = linprog(zeros(d+1,1),A,c);hold on;%% visualize the classification areax1 = -shift-2:0.1:shift+2*sigma;y1 = (-w(3)-w(1)*x1)/w(2);plot(x1,y1,'-','LineWidth',2);legend('Positive samples','Negative samples','Linear programming');

由于采用线性规化来解线性可分问题存在无数多个解,那么哪个一解是最优的呢? 我们希望找到一个超平面,使得该平面前后平移d的距离后分类碰到正负样本并且使d最大化。2*d 即为以下两个平面之间的距离:

从上图可见,线性SVM分类的效果要好于线性分类器。

PS: 本文所有代码可在http://download.csdn.net/detail/ranchlai/6009209下载。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表