支持向量机分类识别的MATLAB别代码
更新时间:2023-05-21 08:30:01 阅读量: 实用文档 文档下载
- 基于支持向量机的人脸识别推荐度:
- 相关推荐
% 支持向量机用于多类模式分类 - 必须选择最优参数 gam,sig2
% 工具箱:LS_SVMlab
% 使用平台:Matlab6.5
% 作者:陆振波,海军工程大学
% 欢迎同行来信交流与合作,更多文章与程序下载请访问我的个人主页
% 电子邮件:luzhenbo@
% 个人主页:
clc
clear
close all
%---------------------------------------------------
% 产生训练样本与测试样本,每一列为一个样本
n1 = [rand(3,5),rand(3,5)+1,rand(3,5)+2];
x1 = [1*ones(1,5),2*ones(1,5),3*ones(1,5)]; % 特别注意:这里的目标与神经网络不同
n2 = [rand(3,5),rand(3,5)+1,rand(3,5)+2];
x2 = [1*ones(1,5),2*ones(1,5),3*ones(1,5)]; % 特别注意:这里的目标与神经网络不同
xn_train = n1; % 训练样本
dn_train = x1; % 训练目标
xn_test = n2; % 测试样本
dn_test = x2; % 测试目标
%---------------------------------------------------
% 参数设置
X = xn_train';
Y = dn_train';
Xt = xn_test';
Yt = dn_test';
type = 'c';
kernel_type = 'RBF_kernel';
gam = 2;
sig2 = 2;
preprocess = 'preprocess';
codefct = 'code_MOC';
% 将“多类”转换成“两类”的编码方案
% 1. Minimum Output Coding (code_MOC)
% 2. Error Correcting Output Code (code_ECOC)
% 3. One versus All Coding (code_OneVsAll)
% 4. One Versus One Coding (code_OneVsOne)
%---------------------------------------------------
% 编码
[Yc,codebook,old_codebook] = code(Y,codefct);
%---------------------------------------------------
% 交叉验证优化参数
%[gam,sig2] = tunelssvm({X,Yc,type,gam,sig2,kernel_type,preprocess})
%---------------------------------------------------
% 训练与测试
[alpha,b] = trainlssvm({X,Yc,type,gam,sig2,kernel_type,preprocess}); % 训练 Yd0 = simlssvm({X,Yc,type,gam,sig2,kernel_type,preprocess},{alpha,b},Xt); % 分类
%---------------------------------------------------
% 解码
Yd = code(Yd0,old_codebook,[],codebook);
%---------------------------------------------------
% 结果统计
Result = ~abs(Yd-Yt) % 正确分类显示为1
Percent = sum(Result)/length(Result) % 正确分类率
%---------------------------------------------------
% 注意:以这两种写法等价
% -- 1 --
% [Yc,codebook,old_codebook] = code(Y, codefct)
% [alpha, b] = trainlssvm({X,Yc,type,gam,sig2,kernel,preprocess}) % Yd0 = simlssvm({X,Yc,type,gam,sig2,kernel}, {alpha,b}, Xt)
% Yd = code(Yd0,old_codebook,[],codebook)
% -- 2 --
% model = initlssvm(X,Y,type,gam,sig2,kernel,preprocess)
% model = changelssvm(model,'codetype',codefct)
% model = trainlssvm(model)
% Yd = simlssvm(model, Xt)
正在阅读:
支持向量机分类识别的MATLAB别代码05-21
人之初 性本善 性相近 习相远06-24
2014中国食品产业发展论坛麦当劳中国首席食品安全官蒋刚女士演讲05-30
财务会计参考答案05-24
2018年四川省绵阳市中考数学试卷03-08
国债期货研究06-24
全国计算机等级考试二级VF全套02-27
现代测试技术课程习题库05-04
地下室高压注浆防水堵漏维修施工方案12-14
飞鹤乳业文献综述10-07
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 向量
- 别的
- 代码
- 支持
- MATLAB
- 分类