当前位置: 首页 > news >正文

回归预测 | MATLAB实现NGO-BiLSTM北方苍鹰算法优化双向长短期记忆网络多输入单输出回归预测

回归预测 | MATLAB实现NGO-BiLSTM北方苍鹰算法优化双向长短期记忆网络多输入单输出回归预测

目录

    • 回归预测 | MATLAB实现NGO-BiLSTM北方苍鹰算法优化双向长短期记忆网络多输入单输出回归预测
      • 预测效果
      • 基本介绍
      • 程序设计
      • 参考资料

预测效果

1
2
3
4
5
6
7
8

基本介绍

Matlab实现NGO-BiLSTM北方苍鹰算法优化双向长短期记忆网络多输入单输出回归预测(完整源码和数据)
1.data为数据集,输入7个特征,输出1个变量。
2.MainNGOBiLSTMNN.m为程序主文件,其他为函数文件无需运行。
3.命令窗口输出MAE、MSE、RMSEP、R^2、RPD和MAPE,可在下载区获取数据和程序内容。
4.北方苍鹰算法优化参数为学习率,隐藏层节点个数,正则化参数。
注意程序和数据放在一个文件夹,运行环境为Matlab2018及以上.

程序设计

  • 完整程序和数据下载方式1(资源处直接下载):MATLAB实现NGO-BiLSTM北方苍鹰算法优化双向长短期记忆网络多输入单输出回归预测
  • 完整程序和数据下载方式2(订阅《智能学习》专栏,同时获取《智能学习》专栏收录程序6份,数据订阅后私信我获取):MATLAB实现NGO-BiLSTM北方苍鹰算法优化双向长短期记忆网络多输入单输出回归预测
%% ------------------利用优化参数重新训练BiLSTM并预测----------------------------
% 数据输入x的特征维度
inputSize  = size(inputn_train,1);
% 数据输出y的维度
outputSize = size(outputn_train,1);%  设置网络结构
layers = [ ...sequenceInputLayer(inputSize)     %输入层,参数是输入特征维数bilstmLayer(NumOfUnits)        %学习层,隐含层神经元的个数dropoutLayer(0.2)                  %权重丢失率fullyConnectedLayer(outputSize)   %全连接层,也就是输出的维数regressionLayer];    %回归层,该参数说明是在进行回归问题,而不是分类问题% trainoption(lstm)
opts = trainingOptions('adam', ...      %优化算法'MaxEpochs',100, ...                %最大迭代次数'GradientThreshold',1,...           %梯度阈值,防止梯度爆炸'ExecutionEnvironment','cpu',...   %对于大型数据集合、长序列或大型网络,在 GPU 上进行预测计算通常比在 CPU 上快。其他情况下,在 CPU 上进行预测计算通常更快。'InitialLearnRate',InitialLearnRate, ...'LearnRateSchedule','piecewise', ...'LearnRateDropPeriod',120, ...'LearnRateDropFactor',0.2, ...   % 指定初始学习率 0.005,在 100 轮训练后通过乘以因子 0.2 来降低学习率。'L2Regularization', L2Regularization, ...       % 正则化参数'Verbose',false, ...         %如果将其设置为true,则有关训练进度的信息将被打印到命令窗口中。'Plots','training-progress'...   %构建曲线图,   若将'training-progress'替换为'none',则不画出曲线);   % 'MiniBatchSize',outputSize*30, ...%  训练
BiLSTMnet = trainNetwork(inputn_train ,outputn_train ,layers,opts);    %  网络训练%  预测
[BiLSTMnet,BiLSTMoutputr_train]= predictAndUpdateState(BiLSTMnet,inputn_train);   % 训练样本拟合值
BiLSTMoutput_train = mapminmax('reverse',BiLSTMoutputr_train,outputps);  % 数据反归一化%网络测试输出
BiLSTMoutputr_test= [];
for i = 1:Nu_test[BiLSTMnet,BiLSTMoutputr_test(:,i)] = predictAndUpdateState(BiLSTMnet,inputn_test(:,i),'ExecutionEnvironment','cpu');
end
%% -----------------预测结果-------------------------
%  数据格式转换
BiLSTM_train =BiLSTMoutput_train';
BiLSTM_test = BiLSTMoutput_test';train_DATA=output_train';    %训练样本标签
test_DATA= output_test'; %测试样本标签

参考资料

[1] https://blog.csdn.net/article/details/126072792?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/article/details/126044265?spm=1001.2014.3001.5502

http://www.lryc.cn/news/9119.html

相关文章:

  • Linux——操作系统安装
  • AFLNET lightftp项目报错解决方法
  • av 146 003
  • 干了1年“点点点”,自己辞职了,下一步是继续干测试还是转开发?
  • 国产技术迎来突破,14nm芯片横空出世,低代码也有好消息
  • 使用clickhouse-backup工具备份clickhouse数据库
  • python cartopy绘制扇形区域图/cartopy绘制北极部分区域
  • 如何设置股票接口版交易软件的指标涨跌家数?
  • C++之lambda函数(匿名函数)
  • WGCNA | 值得你深入学习的生信分析方法!~(网状分析-第四步-模块的功能注释)
  • 如何看待年轻人躺平式生活观?
  • JS 设计模式 - 怎么让你的代码提示一个档次
  • 遮挡贴图(Occlusion Map)和微表面贴图(Microsurface Map)
  • 【Vue】基本交互指令
  • MySQL 中的 distinct 和 group by 哪个效率更高?
  • Spring 框架源码(六) Bean的生命周期全流程源码解析
  • 运维服务商低成本提升服务质量解决方案
  • Raft 一致性算法
  • 驱动程序开发:基于EC20 4G模块自动拨号联网的两种方式(GobiNet工具拨号和PPP工具拨号)
  • Web自动化测试——常见问题篇
  • 快速实现Modbus TCP转BACnet IP协议的方案
  • Unity CircleLayoutGroup 如何实现一个圆形自动布局组件
  • springcloud+nacos+gateway案例
  • 实习这么久,你知道Maven是如何从代码仓库中找到需要的依赖吗?
  • 低代码/零代码的快速开发框架
  • C# 中常见的设计模式
  • promethues/servicemonitor
  • postman使用简介
  • @DS注解在事务中实现数据源的切换@DS在事务中失效【已解决】
  • Java I/O之文件系统