首页 > 行业资讯 > 【LSTM预测】基于双向长短时记忆(biLSTM)实现数据回归预测含Matlab源码

【LSTM预测】基于双向长短时记忆(biLSTM)实现数据回归预测含Matlab源码

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

【LSTM预测】基于双向长短时记忆(biLSTM)实现数据回归预测含Matlab源码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

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

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

1 简介

Bi-LSTM网络理论

LSTM 网络是循环神经网络 (Recurrent Neural Network,RNN) 的变体,改善了 RNN 存在的无法解决长期依赖的问题。LSTM 单元结构如图 1 所示。其中,ct,ht 分别表示模型的记忆状态和隐层状态,xt,yt 分别表示模型的输入与输出,σ 表示 sigmoid激活函数。LSTM 的单元内存在 4 个不同的全连接层,全连接层的每一个结点都与上一层的所有结点相连,其主要用途是把模型提取到的特征综合起来。主层是图中输出为 c~t 的层,其基本作用是分析当前输入xt 和前一个隐状态 ht -1。其他 3 个层是门限控制器,分别是:由 ft 控制的忘记门限,控制着哪些记忆状态应被丢弃;由 it 控制的输入门限,控制着 c~t 的哪些部分会被加入到记忆状态;由 ot 控制的输出门限,控制着哪些记忆状态应在这个时间迭代被读取和输出。随着记忆状态 ct -1 从左到右贯穿网络,它首先经过一个忘记门限丢弃一些记忆,然后通过输入门限选择添加一些新的记忆。因此,在每个时间迭代中,一些记忆被丢弃,同时一些记忆被增加。另外,经过额外操作,记忆状态被复制并传入 tanh 函数,然后其结果被输出门限过滤,从而产生新的隐状态ht。LSTM 就是在这样的循环之下,学习哪些记忆需要储存,哪些记忆需要丢弃,以及从哪些记忆中去

2 部分代码

clc clear close all %% load final.mat for i= 1 :size(record, 2 ) record(:,i)=record(:,i)/max(record(:,i)); end demands=record( 1 : 220 , 4 ); orgin=record( 1 : 220 , 1 : 3 ); in =orgin; out=demands; i= 1 ; while ~isempty( in ) pick= 3 ; if pick<=size( in , 1 ) X{i}=( in ( 1 :pick,:)) ’; Y(i)=out(pick); in(1,:)=[]; out(1,:)=[]; i=i+1; else X{i}=in’ ; Y(i)=out( end ); break ; end end

3 仿真结果

4 参考文献

[1]郭洪鹏, 刘斌, 肖尧. 基于Bi-LSTM网络的铁路短期货运量预测研究[J]. 铁道货运, 2022, 40(2):7.

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

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

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