%_________________________________________________________________________%
% 基于遗传优化ELM回归预测 %
%_________________________________________________________________________%
clear all
clc
%% 导入数据
load data
% 随机生成训练集、测试集
k = randperm(size(input,1));
% 训练集——1900个样本
P_train=input(k(1:1900),:)';
T_train=output(k(1:1900));
% 测试集——100个样本
P_test=input(k(1901:2000),:)';
T_test=output(k(1901:2000));
%% 归一化
% 训练集
[Pn_train,inputps] = mapminmax(P_train,-1,1);
Pn_test = mapminmax('apply',P_test,inputps);
% 测试集
[Tn_train,outputps] = mapminmax(T_train,-1,1);
Tn_test = mapminmax('apply',T_test,outputps);
%训练数据相关尺寸
R = size(Pn_train,1);
S = size(Tn_train,1);
N = 20;%隐含层个数
%% 定义遗传优化参数
pop=20; %种群数量
Max_iteration=50; % 设定最大迭代次数
dim = N*R + N;%维度,即权值与阈值的个数
lb = [-1.*ones(N*R,1);zeros(N,1)];%下边界
ub = [ones(N*R,1);ones(N,1)];%上边界
fobj = @(x) fun(x,Pn_train,Tn_train,N);
[Best_score,Best_pos,GA_curve]=GA(pop,Max_iteration,lb,ub,dim,fobj); %开始优化
[fitness,IW,B,LW,TF,TYPE] = fun(Best_pos,Pn_train,Tn_train,N);%获取优化后的相关参数
figure
plot(GA_curve,'linewidth',1.5);
grid on
xlabel('迭代次数')
ylabel('适应度函数')
title('GA-ELM收敛曲线')
%% ELM仿真测试
Tn_sim = elmpredict(Pn_test,IW,B,LW,TF,TYPE);
% 反归一化
T_sim = mapminmax('reverse',Tn_sim,outputps);
% 均方误差
E = mse(T_sim - T_test);
%% 基础ELM测试
%% ELM创建/训练
[IW1,B1,LW1,TF1,TYPE1] = elmtrain(Pn_train,Tn_train,20,'sig',0);
%% ELM仿真测试
Tn_sim1 = elmpredict(Pn_test,IW1,B1,LW1,TF1,TYPE1);
% 反归一化
T_sim1 = mapminmax('reverse',Tn_sim1,outputps);
% 均方误差
E1 = mse(T_sim1 - T_test);
%% 数据对比绘图
figure
plot(T_test,'r*')
hold on
plot(T_sim,'b:o')
plot(T_sim1,'g:o')
xlabel('测试集样本编号')
ylabel('测试集输出')
title('ELM测试集输出')
grid on;
legend('期望输出','GA-ELM预测输出','ELM预测输出')
figure
plot(T_test-T_sim,'r-*')
hold on
plot(T_test-T_sim1,'b-*')
xlabel('测试集样本编号')
ylabel('绝对误差')
title('ELM测试集预测误差')
grid on;
legend('GA-ELM预测输出误差','ELM预测输出误差')
disp(['基础ELM MSE误差:',num2str(E1)])
disp(['GA-ELM MSE误差:',num2str(E)])
没有合适的资源?快使用搜索试试~ 我知道了~
【ELM回归预测】遗传算法优化极限学习机GA-ELM回归预测【含Matlab源码 1673期】.zip
共15个文件
m:11个
png:3个
mat:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 18 浏览量
2024-06-23
09:30:27
上传
评论
收藏 126KB ZIP 举报
温馨提示
Matlab领域上传的全部代码均可运行,亲测可用,尽我所能,为你服务; 1、代码压缩包内容 主函数:ga_2d_box_packing_test_task.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,可私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开除ga_2d_box_packing_test_task.m的其他m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博主博客文章底部QQ名片; 4.1 CSDN博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 **5 机器学习和深度学习方面** 卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
资源推荐
资源详情
资源评论
收起资源包目录
【ELM回归预测】遗传算法优化极限学习机GA-ELM回归预测【含Matlab源码 1673期】.zip (15个子文件)
【ELM回归预测】基于matlab遗传算法优化极限学习机GA-ELM回归预测【含Matlab源码 1673期】
elmtrain.m 2KB
运行结果1.png 25KB
GA.m 2KB
elmpredict.m 1KB
elmtrainNew.m 2KB
Code.m 386B
运行结果2.png 41KB
Main.m 2KB
Cross.m 1KB
test.m 274B
fun.m 462B
运行结果3.png 7KB
data.mat 45KB
Select2.m 889B
Mutation.m 1KB
共 15 条
- 1
资源评论
Matlab领域
- 粉丝: 3w+
- 资源: 3183
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功