【数学建模】支持向量机代码
来源:互联网 发布:淘宝手机回收靠谱吗 编辑:程序博客网 时间:2024/05/22 03:09
支持向量机
使用条件
线性可分的数据下进行分类
MATLAB代码
首先由于版本原因要将svc.m进行一些修改(原版svc.m基于老版本MATLAB),需要将60行附近的
[alpha lambda how] =qp(H, c, A, b, vlb, vub, x0, neqcstr);
替换成
[alpha lambda how] = quadprog(H, c, A, b,[],[], vlb, vub, x0);
注意输入参数不能有neqcstr(原因未知,后果位置)否则会报错。
接下来随机生成线性可分的数据
N =100;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,:),'bx',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 p2p1=3;p2=1;
生成数据如图
然后运行以下命令执行SVM训练操作
[nsv alpha bias] = svc(X,Y,ker,C)
输出(详细说明见注释)
Execution time: 0.6 secondsStatus : |w0|^2 : 0.781879Margin : 2.261832Sum alpha : 0.781878Support Vectors : 3 (1.5%)nsv = 3%支持向量的个数alpha = 0.0000 0.0000 0.1461 ! 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2448 ! 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.3909 ! 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000%非0的3个alpha即为有效向量参数bias = 3.1826%分类面参数bias
输入(必须先进行SVM训练)
svcplot(X,Y,ker,alpha,bias)
输出
0 0
- 【数学建模】支持向量机代码
- 数学建模(10)——支持向量机的MATLAB应用
- 读 支持向量机建模与应用
- 支持向量机(SVM)的数学原理
- 支持向量机算法及其代码实现
- 支持向量机算法及其代码实现
- 支持向量机算法及其代码实现
- 学习支持向量机SVM及其代码
- MATLAB支持向量机SVM代码实现
- 中文分词、支持向量机代码实现
- SVM支持向量机代码实现流程
- 支持向量机(SVM)算法代码
- 支持向量机学习笔记:数学过程及经典Tutorial
- SVM支持向量机学习笔记 _ 1 数学基础
- 机器学习12-支持向量机的数学上定义
- 基于SMO方法的支持向量机Pascal代码实现
- 分类算法 之 支持向量机--原理+案例+代码
- 第10节--支持向量机(SVM)算法代码
- 判断某一年是否为闰年(Java)
- Android Studio NDK配置及使用
- JavaSE自学笔记整理(一)
- Spring事务原理
- 同步直播(5):数据的正态分布
- 【数学建模】支持向量机代码
- Java I/O系统之InputStream
- 设计模式-行为型-中介者模式(Mediator)
- JMeter学习(二十五)HTTP属性管理器HTTP Cookie Manager、HTTP Request Defaults
- centos7 安装拼音输入法
- 数字图像处理学习笔记六
- qsort bsearch的应用
- 【一步一步学习VBA】Excel VBA 读取txt文件并写入Excel单元格
- iOS 【UIKit-实现tableViewCell间的全屏分割线】