【LSSVM分类】基于遗传算法优化LSSVM实现烟叶识别含Matlab源码
【LSSVM分类】基于遗传算法优化LSSVM实现烟叶识别含Matlab源码
TT_Matlab
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。
1 简介
针对最小二乘支持向量机(LSSVM)在建模中的重要参数如何选择问题。提出利用具有随机性、遍历性及规律性的混沌优化算法对LSSVM建模过程中的参数进行优化搜索,为了加快对较大搜索空间中的搜索速度,提出遗传算法对LSSVM中的参数优化。组合算法克服了单一算法存在的早熟、局部收敛及寻优速度慢等问题,把混沌变量种群映射到LSSVM参数取值区间,按照遗传算法训练,同时利用训练集训练LSSVM,最终得到参数优化值。将该方法应用的烟叶识别的建模研究,取得了较高建模精度,。
2 部分代码
%% 基于遗传算法与最小二乘支持向量机的特征选择的烟叶识别
clc
clear all
close all
% 加载工具箱
addpath(’LSSVM工具箱’)
%% 加载数据
data=csvread(’最小二乘支持向量机.csv’,1,0);
tr_len=36;
[W,D]=size(data);% 数据行和列
% %% 训练数据
X = data(1:tr_len,1:D-1);%输入属性特征数据
Y= data(1:tr_len,D);%标签,即类别
% %% 测试数据
Xt= data(tr_len+1:end,1:D-1);%输入属性特征数据
Yt =data(tr_len+1:end,D);%标签,即类别
%% 归一化
[Xn,inputps] = mapminmax(X’);
Xtn= mapminmax(’apply’,Xt’,inputps);
% 转置,符合LSSVM数据格式要求
X=Xn’;
Xt=Xtn’;
%% LSSVM参数设置
gam=5;
sig2=50;
plot(trace(:,2),’b-*’,’linewidth’,2)
xlabel(’迭代次数’)
ylabel(’识别率(%)’)
legend(’平均适应度’,’最佳适应度’)
axis tight
title(’GA-LSSVM特征选择’)
%% 运用最优特征识别烟叶
L_fold =10;
model = initlssvm(X(:,find(bestchrom==1)),Y,’c’,gam,sig2,’RBF_kernel’);
model = tunelssvm(model,’simplex’,’crossvalidatelssvm’,{L_fold,’misclass’},’code_OneVsOne’);
model = trainlssvm(model);
%% 训练样本
Y_sim = simlssvm(model,X(:,find(bestchrom==1)));
accuracy_1=100*length(find(Y==Y_sim))/length(Y);
figure
plot(1:length(Y),Y,’bo’,’linewidth’,1)
hold on
plot(1:length(Y_sim),Y_sim,’r*’,’linewidth’,1)
xlabel(’训练样本’,’FontSize’,12);
ylabel(’烟叶类别’,’FontSize’,12);
legend(’实际类别’,’预测类别’);
set(gca,’YTick’,[0:1:6])
string={’GA-LSSVM识别率’;
[’accuracy=’ num2str(accuracy_1) ’%’]};
title(string);
grid on
axis tight
%% 测试样本
Yt_sim = simlssvm(model,Xt(:,find(bestchrom==1)));
accuracy_2=100*length(find(Yt==Yt_sim))/length(Yt);
figure
plot(1:length(Yt),Yt,’bo’,’linewidth’,1)
hold on
plot(1:length(Yt_sim),Yt_sim,’r*’,’linewidth’,1)
xlabel(’测试样本’,’FontSize’,12);
ylabel(’烟叶类别’,’FontSize’,12);
legend(’实际类别’,’预测类别’);
set(gca,’YTick’,[0:1:6])
string={’GA-LSSVM识别率’;
[’accuracy=’ num2str(accuracy_2) ’%’]};
title(string);
grid on
axis tight
%% 输出结果
XX=individuals.chrom(end,:);
[m,n]=find(XX==1);
disp([’优化筛选后的输入自变量编号为:’ num2str(n)]);
3 仿真结果
4 参考文献
[1]田珂, 常华俊. 基于遗传算法优化LSSVM的着靶速度建模与预测[J]. 兵器装备工程学报, 2021, 42(S02):5.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
