【回归预测-LSTM预测】基于布谷鸟算法优化LSTM实现数据回归预测含Matlab代码

1 内容介绍

一种基于布谷鸟搜索算法优化LSTM的瓦斯浓度预测方法和系统。该方法包括:对获取的煤矿井下瓦斯浓度数据进行处理,得到标准化瓦斯浓度数据;确定预先构建的LSTM预测模型的优化参数组合以及所述LSTM预测模型的准确性评价指标;基于布谷鸟搜索算法,根据所述LSTM预测模型的准确性评价指标和所述LSTM预测模型的优化参数组合,构建CS‑LSTM预测模型;根据所述煤矿井下的瓦斯浓度监测数据,对所述CS‑LSTM预测模型进行准确性评价。籍此,以通过优化完成的CS‑LSTM预测模型对煤矿瓦斯浓度进行预测,提高煤矿瓦斯浓度预测的精确性,指导煤矿安全生产。

2 仿真代码

function [ result ] = func_fitness( pop )

global inputn outputn shuru_num shuchu_num

tic

pop(1)=round(pop(1));

layers = [ ...

    sequenceInputLayer(shuru_num)

    lstmLayer(pop(1))

    fullyConnectedLayer(shuchu_num)

    regressionLayer];

options = trainingOptions('adam', ...  % 梯度下降

    'MaxEpochs',50, ...                % 最大迭代次数

     'GradientThreshold',1, ...         % 梯度阈值 

    'InitialLearnRate',pop(2));

% 划分训练集=训练集中选取80%进行训练,20%进行训练测试

n = randperm(size(inputn,2));%随机选取

xun_n = round(size(inputn,2)*0.8);

xunx = inputn(:,n(1:xun_n));

xuny = outputn(:,n(1:xun_n));  

cex = inputn(:,n((xun_n+1):end));

cey = outputn(:,n((xun_n+1):end)); 

% 训练LSTM

net = trainNetwork(xunx,xuny,layers,options);

% 预测

net = resetState(net);% 网络的更新状态可能对分类产生了负面影响。重置网络状态并再次预测序列。

[~,Ytrain]= predictAndUpdateState(net,cex);

% cg = mse(Ytrain,cey);

error = Ytrain-cey;

num=length(cey);

cg=sum(error.*error)/num;

 toc

disp('-------------------------')

result = cg;

end

3 运行结果

​4 参考文献

[1]李全贵, 栗小雨, 梁运培,等. 基于布谷鸟搜索算法优化LSTM的瓦斯浓度预测方法和系统:. 

[2]张伟豪. 基于长短期记忆神经网络的股票时间序列预测[J]. 信息与电脑, 2022, 34(9):5.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值