首页 > 行业资讯 > 【LSSVM分类】基于遗传算法优化LSSVM实现烟叶识别含Matlab源码

【LSSVM分类】基于遗传算法优化LSSVM实现烟叶识别含Matlab源码

时间:2022-07-10 来源: 浏览:

【LSSVM分类】基于遗传算法优化LSSVM实现烟叶识别含Matlab源码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于合集 #神经网络预测matlab源码 298个

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代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐