作者: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:narf(i)>=0;arf(i)<=C;
end
arf'*label==0;
cvx_end                        end
上面这段代码的主要目的是获得拉格朗日乘子α。一定有人想问知道α有什么用呢?这是因为超平面都可以用α来表示。


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

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

在matlab环境下实现支持向量机算法相关推荐

  1. MAC OX 10.8 环境下运行TLD算法(MATLAB版)

    关于TLD算法,就不具体阐述了,谷歌百度搜索一下,介绍的文章相当多. 概述: 一.安装和编译高性能OpenCV 2.4.6 二.安装xcode和command line tool 三.MATLAB安装 ...

  2. matlab腔内光子寿命,mcFORnp matlab环境下,利用蒙特卡洛模拟光子包在生物组织内的光路传输 271万源代码下载- www.pudn.com...

    文件名称: mcFORnp下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 215 KB 上传时间: 2014-12-29 下载次数: 8 提 供 者: 徐某 ...

  3. matlab系统分析与仿真,第9章 MATLAB环境下的仿真_Matlab系统分析与程序设计_ppt_大学课件预览_高等教育资讯网...

    第 9章 MATLAB环境下的仿真软件 Simulink 9.1 Simulink的基本操作 9.2 Simulink的几类基本模块 9.3 仿真模型参数的设置 9.4 子系统的建立与封装 9.5 在 ...

  4. 20180614 MATLAB环境下自动代码生成

    为加速软件开发过程,汽车电子开发过程会采用自动代码生成技术,目前该技术主要集中于应用层控制策略和算法的开发.将传统的算法与软件代码的两个步骤,实现为算法的开发及测试集成于一体的发开模式. 现阶段国内较 ...

  5. matlab usb cam,Matlab环境下使用USB2.0摄像头编程image acquisition tools(读书笔记) | 学步园...

    (1)Matlab环境下使用USB2.0摄像头编程 Matlab中的图像获取工具箱给我们提供了必要的函数,我们直接调用就可以了,主要就是简单的介绍如何使用该工具箱进行对USB2.0摄像头的编程. TA ...

  6. matlab 图像矢量量化,MATLAB环境下基于矢量量化的说话人识别系统(1)

    第21卷第6期湖 北 工 业 大 学 学 报2006年12月 Vol.21No.6 Journal of Hubei Univer sity of Technology Dec.2006 [收稿日期] ...

  7. 在MATLAB环境下使用深度学习网络DeepLabV3+进行语义分割(云图分割)

    摘要:本文主要讲述在MATLAB2020a环境下利用深度神经网络DeepLabV3+进行语义分割,分割感图像中的云层.讲述了:1.训练数据的获取.训练集制作:2.DeepLabV3+模型的构建:3.D ...

  8. matlab 数组去掉0,科学网—在Matlab环境下去除矩阵中的零向量 - 李航的博文

    主要用到了any()函数. e.g.1 找到矩阵中为零的列向量,并将其删除. >> a=[1,2,3;0,0,0;4,5,6;0,0,0;7,8,9]' a = 1     0     4 ...

  9. 在MATLAB环境下编写高斯贝塞尔-轨道角动量的光编解码代码

    以下是一个MATLAB环境下编写高斯贝塞尔-轨道角动量的光编解码代码的示例: 首先,我们需要定义一些参数.例如,我们可以选择使用高斯-贝塞尔光来传输信息.高斯-贝塞尔光是一种横向模式具有平面波前的光, ...

最新文章

  1. Docker基本使用命令
  2. android-async-http使用例子
  3. JS组件系列——封装自己的JS组件,你也可以
  4. (原创)Android6.0亮屏流程分析
  5. sql 计算 某字段 不同值出现 的次数_教你如何合理选用和计算电线规格,电线回路分配和注意事项...
  6. 【BZOJ1976】[BeiJing2010组队]能量魔方 Cube 最小割
  7. python 百分比输出_获取Linux系统负荷百分比的python脚本
  8. chm帮助文档编辑_零成本轻松制作帮助文档方法分享
  9. js 正则或_Web前端工程师要知道的JS 常用正则表达式
  10. SQLServer2005/2008新的高效分页方法-row_number()over函数的使用
  11. 谷歌浏览器不能用flash插件的问题
  12. android获取进程内存使用信息、一键加速(内存清理)与进程重要级别解析
  13. Web 3.0 :它是互联网的未来吗?
  14. 第一篇:微信公众平台开发实战Java版之了解微信公众平台基础知识以及资料准备...
  15. 天翼云内网服务器映射端口,天翼云服务器创建对等连接(不同账户组内网)
  16. Machine Learning With Spark--读书笔记
  17. ACM训练史上最详细计划(大神养成记)
  18. 3dsMax撤销不管用,3dsMax转成多边形之后无法撤回操作,3dsmax的操作步骤一直为空
  19. java实现零钱通系统
  20. 反编译华为U8825Dldquo;framework-res.apkrdquo;出现的错误提示(2)

热门文章

  1. Docker镜像篡改供应链攻击研究
  2. PyInstaller 打包依赖文件至目标程序目录
  3. 活塞式蒸汽减压阀行业现状调研及趋势分析报告
  4. mac 卸载 安装mysql_SQL----mySQl卸载for mac
  5. 惊艳的功能——SOLIDWORKS装配体可视化
  6. 入耳式耳机戴久了耳朵疼怎么办?不妨体验下骨传导耳机
  7. 地震频发,哪些技术帮助地震预测更精准?
  8. AI 辅助科学,预测地震余震位置
  9. windows安装达梦数据库
  10. 二十五、SQL 数据分析实战(9个中等难度的SQL题目)