数据建模及MATLAB实现(三)

随着信息技术的发展和成熟,各行业积累的数据越来越多,因此需要通过数据建模的方法,从看似杂乱的海量数据中找到有用的信息。

支持向量机(SVM)

支持向量机(Support Vector Machine,SVM)是新一代的基于统计理论的学习系统。SVM按照监督学习的方式,将训练集按照类别分开,或者是预测新的训练点所对应的类别。

SVM基本思想

SVM目的是构建一个分割两类的超平面,并且令这个超平面使得两类的分割达到最大化。以一个很大的边缘分隔两个类可以使得期望泛化误差最小化——即当出现新的样本时分类错误的概率尽可能得小。

一般来说,两类之间最中间的一个隔板分类错误概率最小,因此,在SVM中,我们也用两类之间的超平面ωTxi+b=0\omega^Tx_i+b=0ωTxi​+b=0作为两类的隔板,而ωTxi+b=α\omega^Tx_i+b=\alphaωTxi​+b=α与ωTxi+b=−α\omega^Tx_i+b=-\alphaωTxi​+b=−α分别是两类的平行的边界平面。边界平面,即与分类器平面平行且穿过数据集中的至少一个点的超平面。但边界平面的选择有许多种,要让超平面分割的准确,需要让两个边界平面的距离最大化,也就是边缘最大化。“通过SVM学习”的含义就是找到最大化边缘的超平面。

SVM理论基础

首先,假设存在一个容量为nnn的训练集样本{(xi,yi),i=1,2,⋯,n}\{(x_i,y_i),i=1,2,\cdots,n\}{(xi​,yi​),i=1,2,⋯,n}由两个类别组成,若xix_ixi​属于第一类,则记yi=1y_i=1yi​=1;若xix_ixi​属于第二类,则记yi=−1y_i=-1yi​=−1。

若存在分类超平面:
ωTxi+b=0\omega^Tx_i+b=0 ωTxi​+b=0
则能够将样本正确的分为两类,即相同类别的样本都都落在分类超平面的同一侧。即满足
{ωTxi+b≥αyi=1ωTxi+b≤−αyi=−1α>0\left\{ \begin{aligned} \omega^Tx_i+b&\ge\alpha \ \ \ y_i=1\\ \omega^Tx_i+b&\le-\alpha \ \ \ y_i=-1\\ \alpha&>0 \end{aligned} \right. ⎩⎨⎧​ωTxi​+bωTxi​+bα​≥α   yi​=1≤−α   yi​=−1>0​
两边同除以α\alphaα则可表示为
{ωTxi+b≥1yi=1ωTxi+b≤−1yi=−1\left\{ \begin{aligned} \omega^Tx_i+b&\ge1 \ \ \ y_i=1\\ \omega^Tx_i+b&\le-1 \ \ \ y_i=-1 \end{aligned} \right. {ωTxi​+bωTxi​+b​≥1   yi​=1≤−1   yi​=−1​
可以综合表达为
yi(ωTxi+b)≥1y_i(\omega^Tx_i+b)\ge1 yi​(ωTxi​+b)≥1
而超平面之间的距离,即边缘可表示为
2∣∣ωT∣∣\frac{2}{||\omega^T||} ∣∣ωT∣∣2​
则规划问题可表示为
max:2∣∣ω∣∣max:\frac{2}{||\omega||} max:∣∣ω∣∣2​
取倒数得
min:∣∣ω∣∣2min:\frac{||\omega||}{2} min:2∣∣ω∣∣​
得到最终目标规划问题:
min:∣∣ω∣∣2s.t.yi(ωTxi+b)≥1min:||\omega||^2\\ s.t.\ \ \ \ y_i(\omega^Tx_i+b)\ge1 min:∣∣ω∣∣2s.t.    yi​(ωTxi​+b)≥1
最后利用拉格朗日对偶理论,将该问题转化为对偶问题,使用二次规划方法求解,求得最优的ω∗\omega^*ω∗和b∗b^*b∗,构造最优分类函数f(x)f(x)f(x)。

在输入空间中,若数据不是线性可分的,支持向量机通过非线性映射∅:Rn→F\varnothing:R^n\rightarrow F∅:Rn→F将数据映射到某个点积空间FFF,然后在点积空间中执行上述线性算法。在文献中,这一函数称为“核函数”。

支持向量机MATLAB程序设计

支持向量机MATLAB程序设计——SVM.m如下:

function [x,W,R]=SVM(X0)
for i=1:3X(:,i)=(X0(:,i)-mean(X0(:,i)))/std(X0(:,i));
end
[m,n]=size(X);
e=ones(m,1);
D=[X0(:,4)];
B=zeros(m,m);
C=zeros(m,m);
for i =1:mB(i,i)=1;C(i,i)=D(i,1);
end
A=[-X(:,1).*D,-X(:,2).*D,-X(:,3).*D,D,-B];
b=-e;
f=[0,0,0,0,ones(1,m)];
lb=[-inf,-inf,-inf,-inf,zeros(1,m)]';
x=linprog(f,A,b,[],[],lb);
W=[x(1,1),x(2,1),x(3,1)];
CC=x(4,1);
R1=X*W'-CC;
R2=sign(R1);
R=[R1,R2];

SVM支持向量机——MATLAB在数学建模中的应用相关推荐

  1. matlab数学建模可应用到第几章,《MATLAB在数学建模中的应用(第2版)》

    <MATLAB在数学建模中的应用(第2版)> 卓金武 (编者)) 基本信息 •出版社: 北京航空航天大学出版社; 第2版 (2014年9月1日) •丛书名: MATLAB开发实例系列图书 ...

  2. MATLAB在数学建模中的应用

    MATLAB在数学建模中的应用 一.预备知识 1.1.关于MATLAB软件 由于科学技术及计算机的飞速发展,各类数学软件不断涌现,这使在解决各类复杂的问题变得非常简单.常用的数学软件有Mathemat ...

  3. 卓金武《MATLAB在数学建模中的应用》 第2版

    内容介绍 本书的作者都具有实际的数学建模参赛经历和竞赛指导经验.书中内容完全是根据数学建模竞赛的需要而编排的,涵盖了绝大部分数学建模问题的matlab求解方法.本书内容分上下两篇.上篇介绍数学建模中常 ...

  4. 地面搜索matlab算法,数学建模中的地面搜索问题

    tRs)时小( 第30卷第8期湖南科技学院学报 Vbl_30NO.82009年8月 JournalofHunanUniversityofScienceandEngineering Aug.2009 数 ...

  5. 数学建模中matlab程序,数学建模中常用的30个MATLAB程序和函数

    <数学建模中常用的30个MATLAB程序和函数>由会员分享,可在线阅读,更多相关<数学建模中常用的30个MATLAB程序和函数(15页珍藏版)>请在人人文库网上搜索. 1.内部 ...

  6. MATLAB在数学建模中的应用 随手笔记(二)----- 数据拟合方法

    声明:本篇文章只是个人知识点归纳总结,不代表全书内容,望各位大佬不喜勿喷.梳理顺序是按照书籍的实际顺序梳理. 作者:sumjess 目前内容:第一章 数学建模常规方法及其MATLAB实现---数据拟合 ...

  7. MATLAB在数学建模中的应用(三)

    optimset函数 功能:创建或编辑优化选项参数结构. 语法: 1 options = optimset('param1',value1,'param2',value2,-) 2 options = ...

  8. 灰色关联度矩阵——MATLAB在数学建模中的应用

    灰色预测及其MATLAB实现(一) 灰色预测是一种常规的预测手段,具有操作简便,所需数据量少等优点,一般只需有4个数据就可以进行预测. 灰色预测是基于灰色系统理论的预测方法.灰色系统由我国著名学者邓聚 ...

  9. matlab在数学建模中的应用pdf

    复制这段内容后打开百度网盘手机App,操作更方便哦 链接:https://pan.baidu.com/s/1vi4gNYaUwSDhdWDjrtsPow 提取码:MD34

最新文章

  1. vim编辑器异常退出产生备份文件
  2. scratch学习_学习scratch编程能学到什么?对孩子有帮助吗?
  3. C2679 二进制 没有找到接受 std::string 类型的右操作数的运算符(或没有可接受的转换)
  4. SpringCloud之微服务
  5. Linq之隐式类型、自动属性、初始化器、匿名类
  6. Tomcat Script(python)
  7. android 手机型号 命名规则,自己整理:各大品牌安卓手机的型号命名规律
  8. Qt 字符编码转换(UTF-8 转换为 GBK)
  9. 修改 QQ 任务栏托盘区小图标和等级图标
  10. 微软电脑管家登陆微软商店 简单无打扰 支持杀毒和垃圾清理等
  11. matlab 关于interpreter的使用
  12. 把数字用拼音表示并输出
  13. 2021年汽车激光雷达行业研究报告
  14. Android拦截黑名单(简易版)
  15. 安装Photon虚拟机
  16. visio跨职能流程图带区背景及大小及改变格式 (转)
  17. CentOS常用命令50个含示例
  18. 破解SQLyog 30天试用
  19. DynaTrace Ajax Edition:IE浏览器性能分析工具
  20. 工业相机的传感器靶面大小

热门文章

  1. wordpress实现文章阅读次数
  2. 高级项目管理师培训!看优秀的领导者如何给团队注入激情?
  3. [转载] 信息系统项目管理师视频教程——25 战略管理
  4. table动态修改表格内容
  5. [KANZI]Kanzi中使用shader实现效果
  6. Centos 7 ngrok服务器搭建
  7. 应用之星教你制作电子书(包括图文电子书),与技术无关
  8. 日常收入和支出怎么记账
  9. swapidc如何销售服务器,swapidc对接云服务器
  10. 研发人员绩效考核案例