MATLAB环境下简单的基于双向长短时记忆网络的时间序列预测

基于RNN梯度消失和梯度爆炸的问题,有学者提出了RNN的变体长短时记忆网络LSTM,LSTM通过改进循环神经网络的内部结构使其能够训练"记忆"更长时间步的信息,遗忘掉不重要的信息。从而改善了循环神经网络RNN梯度消失和梯度爆炸的问题。LSTM的核心思想就是通过3个门结构来舍弃掉一定不必要的信息,保留比较重要的信息,从而实现对长期信息的保存和短期重要信息的关注。但LSTM只能进行单向学习,其对时序靠前的信息学习不足,又无法利用后向的信息,这将对模型准确率产生一定影响。

1997年Schuster提出了双向循环神经网络BiRNN,其由一个正向和反向的循环神经元组成,前向神经元的输出直接作为后向神经元的输入。受到BiRNN的启发,因此学者对LSTM进行改进,提出了双向长短时记忆网络BiLSTM。其在处理序列数据时不仅能访问过去时刻的信息,而且能够访问未来时刻的信息。

双向长短时记忆网络能够利用双向信息更好的处理序列数据,从而提高模型的准确率。鉴于双向长短时记忆网络的优势,本项目采用双向长短时记忆网络对若干时间序列进行预测,包括国际航空旅客人数预测、全球冰储量预测、感染水痘人数预测、极紫外光预测、事故预测和240年的太阳黑子预测,运行环境为MATLAB R2021B,部分代码如下:

复制代码
clc; clear; close all;
%% ---------------------------- init Variabels ----------------------------
opt.Delays = [1 2 3 4 5 6 7 8 9 10 12 16 20];
opt.dataPreprocessMode  = 'Data Standardization'; % 'None' 'Data Standardization' 'Data Normalization'
opt.learningMethod      = 'LSTM';                 % 'MLP' 'LSTM'    
opt.trPercentage        = 0.8;                    %  divide data into Test  and Train dataset

% ------------- BILSTM parameters 
opt.NumOfHiddenLayers = 2;                        %  number of (bi)LSTM layers

opt.NumOfUnitsInFirstlayer  = 100;                %  number of (bi)LSTM units in the first  layer
opt.NumOfUnitsInSecondlayer = 100;                %  number of (bi)LSTM units in the second layer
opt.NumOfUnitsInThirdlayer  = 75;                 %  number of (bi)LSTM units in the third  layer
opt.NumOfUnitsInFourthlayer = 75;                 %  number of (bi)LSTM units in the forth  layer

部分出图如下:

完整代码:MATLAB环境下简单的基于双向长短时记忆网络的时间序列预测

工学博士,担任《Mechanical System and Signal Processing》审稿专家,担任《中国电机工程学报》优秀审稿专家,《控制与决策》,《系统工程与电子技术》,《电力系统保护与控制》,《宇航学报》等EI期刊审稿专家。

擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
includei几秒前
【JavaScript】华为机试_HJ20_密码验证合格程序
开发语言·javascript·华为
Cosolar2 分钟前
Transformer训练与生成背后的数学基础
人工智能·后端·开源
肖恭伟8 分钟前
Cursor Superpowers 零基础开发 Qt 界面
开发语言·qt
CoovallyAIHub12 分钟前
MSSP | 不停机不贴标监测旋转风机叶片:无人机+YOLOv5+DeepSORT,2MW 风机现场测试频率误差<2%
人工智能·架构
liuyao_xianhui15 分钟前
优选算法_分治_快速排序_归并排序_C++
开发语言·数据结构·c++·算法·leetcode·排序算法·动态规划
marteker16 分钟前
Pinterest发布AI广告“增效秘籍”:全自动工具可降低超10%点击成本
人工智能·搜索引擎
喵叔哟17 分钟前
29_内容生产质量网关Skill:草稿生成+事实校验+发布前检查
网络·人工智能
不开大的凯207721 分钟前
B 端 AI 新图景:阿里悟空的战略价值与爱智能 ATOA 的行业实践
人工智能
qq_2837200529 分钟前
Qt QML 中为 CheckBox 设置鸿蒙字体(HarmonyOS Sans)——适配 Qt 5.6.x 与 Qt 5.12+
开发语言·qt·harmonyos