%% 基于智能优化算法优化的深度极限学习机DLM的预测算法
clear;clc;close all;
%% 导入数据
load data
%训练集——400个样本
P_train=input(:,(1:550));
T_train=output((1:550));
% 测试集——200个样本
P_test=input(:,(250:350));
T_test=output((250:350));
%% 归一化
% 训练集
[Pn_train,inputps] = mapminmax(P_train,0,1);
Pn_test = mapminmax('apply',P_test,inputps);
% 测试集
[Tn_train,outputps] = mapminmax(T_train,0,1);
Tn_test = mapminmax('apply',T_test,outputps);
%所有的数据输入类型应该为 N*dim,其中N为数据组数,dim为数据的维度
Pn_train = Pn_train';
Pn_test = Pn_test';
Tn_train = Tn_train';
Tn_test = Tn_test';
%% DELM参数设置
ELMAEhiddenLayer = [2,3];%ELM—AE的隐藏层数,[n1,n2,...,n],n1代表第1个隐藏层的节点数。
ActivF = 'sig';%ELM-AE的激活函数设置
C = inf; %正则化系数
%% 优化算法参数设置:
%计算权值的维度
dim = ELMAEhiddenLayer(1)*size(Pn_train,2);
if length(ELMAEhiddenLayer)>1
for i = 2:length(ELMAEhiddenLayer)
dim = dim + ELMAEhiddenLayer(i)*ELMAEhiddenLayer(i-1);
end
end
popsize = 20;%种群数量
Max_iteration = 50;%最大迭代次数
lb = -1;%权值下边界
ub = 1;%权值上边界
fobj = @(X)fun(X,Pn_train,Tn_train,Pn_test,Tn_test,ELMAEhiddenLayer,ActivF,C);
[Best_score,Best_pos,WOA_cg_curve]=GSA(popsize,Max_iteration,lb,ub,dim,fobj);
figure
plot(WOA_cg_curve,'k','linewidth',2)
xlabel('迭代次数')
ylabel('适应度值')
grid on
title('智能优化算法收敛曲线')
%% 利用鲸鱼获得的初始权重,进行训练
BestWeitht = Best_pos;
%DELM训练
OutWeight = DELMTrainWithInitial(BestWeitht,Pn_train,Tn_train,ELMAEhiddenLayer,ActivF,C);
%训练集测试结果
predictValueTrainWOA = DELMPredict(Pn_train,OutWeight,ELMAEhiddenLayer);
% 反归一化
predictValueTrainWOA = mapminmax('reverse',predictValueTrainWOA,outputps);
% 均方误差
Error1WOA = (predictValueTrainWOA' - T_train);
MSE1WOA = mse(Error1WOA);
%测试集测试结果
predictValueTestWOA = DELMPredict(Pn_test,OutWeight,ELMAEhiddenLayer);
% 反归一化
predictValueTestWOA = mapminmax('reverse',predictValueTestWOA,outputps);
% 均方误差
Error2WOA = (predictValueTestWOA' - T_test);
MSE2WOA = mse(Error2WOA);
%% 基础DELM训练
%DELM训练
OutWeight = DELMTrain(Pn_train,Tn_train,ELMAEhiddenLayer,ActivF,C);
%% 训练集测试结果
predictValueTrain = DELMPredict(Pn_train,OutWeight,ELMAEhiddenLayer);
% 反归一化
predictValueTrain = mapminmax('reverse',predictValueTrain,outputps);
% 均方误差
Error1 = (predictValueTrain' - T_train);
MSE1 = mse(Error1);
%% 测试集测试结果
predictValueTest = DELMPredict(Pn_test,OutWeight,ELMAEhiddenLayer);
% 反归一化
predictValueTest = mapminmax('reverse',predictValueTest,outputps);
% 均方误差
Error2 = (predictValueTest' - T_test);
MSE2 = mse(Error2);
%% 训练集结果画图
figure
plot(T_train,'ms-','linewidth',2);
hold on
plot(predictValueTrainWOA,'co-','linewidth',2);
plot(predictValueTrain,'r*-','linewidth',2);
grid on;
title('训练集结果')
legend('真实值','智能优化算法-DELM预测值','DELM预测值');
figure
hold on
plot(Error1,'g-','linewidth',2);
plot(Error1WOA,'r-','linewidth',2);
legend('DELM误差','智能优化算法-DELM误差')
grid on;
title('训练集误差')
%% 测试集结果画图
figure
plot(T_test,'gs-','linewidth',2);
hold on
plot(predictValueTestWOA,'ko-','linewidth',2);
plot(predictValueTest,'r*-','linewidth',2);
grid on;
title('测试集结果')
legend('真实值','智能优化算法-DELM预测值','DELM预测值');
figure
plot(Error2WOA,'g-','linewidth',2);
hold on
plot(Error2,'r-','linewidth',2);
legend('智能优化算法-DELM误差','DELM误差')
title('测试集误差')
grid on;
disp(['DELM训练集MSE:',num2str(MSE1)]);
disp(['DELM测试集MSE:',num2str(MSE2)]);
disp(['智能优化算法_DELM训练集MSE:',num2str(MSE1WOA)]);
disp(['智能优化算法_DELM测试集MSE:',num2str(MSE2WOA)]);
没有合适的资源?快使用搜索试试~ 我知道了~
【创新发文】基于引力搜索优化算法GSA-DELM的多输入单输出预测Matlab实现.rar
共24个文件
m:18个
png:5个
mat:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 40 浏览量
2024-09-03
22:06:48
上传
评论
收藏 206KB RAR 举报
温馨提示
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手 5.作者介绍:某大厂资深算法工程师,从事Matlab算法仿真工作10年;擅长智能优化算法、神经网络预测、信号处理、元胞自动机等多种领域的算法仿真实验,更多仿真源码、数据集定制私信+。 替换数据可以直接使用,注释清楚,适合新手
资源推荐
资源详情
资源评论
收起资源包目录
【创新发文】基于引力搜索优化算法GSA-DELM的多输入单输出预测Matlab实现.rar (24个子文件)
【创新发文】基于引力搜索优化算法GSA-DELM的多输入单输出预测Matlab实现
DELMTrain.m 822B
initialization.m 2KB
3.png 32KB
evaluateF.m 238B
ELM_AE.m 1KB
massCalculation.m 405B
Gfield.m 740B
main.m 4KB
1.png 23KB
test_functions.m 3KB
pinv.m 788B
ELM_AEWithInitial.m 1KB
Gconstant.m 145B
DELMPredict.m 271B
5.png 34KB
4.png 38KB
move.m 142B
fun.m 540B
GSA.m 2KB
space_bound.m 219B
data.mat 18KB
2.png 58KB
DELMTrainWithInitial.m 1KB
test_functions_range.m 1KB
共 24 条
- 1
资源评论
matlab科研助手
- 粉丝: 3w+
- 资源: 5951
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 使用koa+mysql创建一个web工程 (没有页面显示,只有后台)-koa-msyql.zip
- 用struts2,spring,hibernate框架,搭建在线考试系统 网站支持(1)老师创建题库,创建题目,查看题目对题目进
- 整合文件 pdf版本(动图不动)
- SpringBoot 0基础入门到进阶教程,从第一个项目的创建,到接口的开发,请求、响应的规范;以及
- PPServ是一个Web开发集成环境,可以使用Apache,PHP,Mysql创建Web应用 -PPServ.zip
- 利用 express-generator 创建的 express 项目,包括数据库自执行脚本、express 与 mysql
- 基于C++ OpenGL 的3D虚拟场景构建之城镇漫游
- 基于51单片机的电子琴设计
- python烟花代码 (71).zip
- 斯坦福最新2017年cs231n课程ppt-11
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功