在matlab环境下实现支持向量机算法

原创 2015年11月21日 12:55:07

作者:faaronzheng 转载请注明出处!
关于支持向量机的理论部分我就不进行介绍了,网上有很多关于支持向量机的讲解。如: 支持向量机通俗导论(理解SVM的三层境界)有兴趣的可以自行查找一下。这里我主要介绍一下如何在matlab环境下自己实现支持向量机算法。

需要用到的工具:matlab,cvx工具包
首先需要配置一下cvx的环境。cvx的配置和具体语法请参考 CVX Users’ Guide。cvx工具包和手册
接下来我们直接从最后推导出的对偶形式入手(不清楚为什么是这个形式及各个符号意思的还请参考理论部分)
这里写图片描述

function arf=getArf(xapp1,xapp2,C,eveSigma)   
format long;
data=[xapp1;xapp2];
K=CreateKernelMatrix(data,data,eveSigma);      %构造核矩阵
label1=ones(size(xapp1,1),1);
label2=ones(size(xapp2,1),1);
label2(:,1)=2;
label=[label1;label2];
n=size(data,1);
vecone=ones(n,1);
cvx_begin                                     %用cvx优化目标函数
variable arf(n);
expression part1;
expression part2;
part1=vecone'*arf; 
part2=quad_form(arf,label'*K*label);
max part1-1/2*part2;
subject to                                    %约束条件
for i=1:n
    arf(i)>=0;
    arf(i)<=C;
end
arf'*label==0;
cvx_end                        

end
上面这段代码的主要目的是获得拉格朗日乘子α。一定有人想问知道α有什么用呢?这是因为超平面都可以用α来表示。

这里写图片描述
拉格朗日乘子α不为零的即为支持向量。这样就可以求出w和b了。将w和b求出后我们就可以得到超平面。有了超平面就可以进行分类啦!

PS.上面代码中构造核矩阵的代码我是参考的SimpleMKL中的代码。具体可以参考Code部分

支持向量机(SVM)算法的matlab的实现

支持向量机(SVM)的matlab的实现支持向量机是一种分类算法之一,matlab中也有相应的函数来对其进行求解;下面贴一个小例子,这个例子来源于我们实际的项目。...
  • u010412719
  • u010412719
  • 2015年07月07日 20:48
  • 21345

xilinx xapp 列表

xapp427   -  Implementation and Solder Reflow Guidelines for Pb-Free Packages 实施和无铅封装的回流焊指南     XAPP...
  • pengwangguo
  • pengwangguo
  • 2017年06月21日 05:59
  • 321

支持向量机SVM 原理、推导与Matlab实现

1 内容本文首先介绍SVM的原理,随后给出SVM的公式推导、并使用Matlab的二次规划函数进行求解。2 SVM原理我们前面学过了线性回归和线性分类器。我们来回顾一下。2.1 线性回归线性回归试图找到...
  • TaiJi1985
  • TaiJi1985
  • 2017年07月13日 19:00
  • 5165

支持向量机及MATLAB实现

应用背景:在我们使用其他一些分类方法对低维特征空间进行分类时,无论怎么设计分类器得不到好的分类效果,于是人们提出把低维空间映射到高维空间进行分类,而且达到了很好的分类效果,进而提出支持向量机(supp...
  • yi_tech_blog
  • yi_tech_blog
  • 2017年04月30日 17:15
  • 1262

关于支持向量机(SVM)的一个简单应用实例及matlab代码

******************************************************** ***数据集下载地址 :http://pan.baidu.com/s/1geb8...
  • mushiheng
  • mushiheng
  • 2016年09月09日 22:55
  • 9036

matlab libsvm支持向量机工具箱安装与使用

http://download.csdn.net/my这里可以下载支持向量机工具箱,本人maltab R2012B 和3.1匹配使用,其他的不行,大家在看着教程出现问题后,如果本文没有提到,先搜索错误...
  • qq_20823641
  • qq_20823641
  • 2016年05月07日 09:44
  • 8528

支持向量机进行预测(SVM)Matlab版

  • 2010年01月27日 02:20
  • 6KB
  • 下载

MATLAB支持向量机SVM代码实现

本栏目(Machine learning)包括单参数的线性回归、多参数的线性回归、Octave Tutorial、Logistic Regression、Regularization、神经网络、机器学...
  • wenyusuran
  • wenyusuran
  • 2014年06月30日 10:59
  • 17611

matlab支持向量机分类实例(十分详细)附数据

  • 2016年06月15日 10:58
  • 15KB
  • 下载

支持向量机Matlab实现

  • 2008年07月12日 20:02
  • 223KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在matlab环境下实现支持向量机算法
举报原因:
原因补充:

(最多只允许输入30个字)