分类预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)多特征分类预测

分类预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)多特征分类预测

目录

*
分类预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)多特征分类预测

+ 预测效果
+ 基本介绍
+ 模型描述
+ 程序设计
+ 学习总结
+ 参考资料

预测效果

分类预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)多特征分类预测
分类预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)多特征分类预测
分类预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)多特征分类预测
分类预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)多特征分类预测
分类预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)多特征分类预测

; 基本介绍

本次运行测试环境MATLAB2020b
总体而言,CNN用作特征(融合)提取,然后将输出的feature映射为序列向量输入到LSTM当中。

模型描述

  • 长短期记忆神经网络(LSTM)是一种特殊循环神经网络(RNN),在RNN的基础上引入了门控单元系统,采用输入门、遗忘门和输出门对信息进行选择性控制,适当遗忘历史信息并依据新信息更新细胞状态。
    分类预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)多特征分类预测
    分类预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)多特征分类预测
  • CNN模型对输入数据进行逐层卷积和池化操作,主要由输入层、卷积层、池化层、全连接层和输出层组成。
  • 与LSTM模型的构建类似,也需要将数据生成为堆叠数据类型,同时还在输入矩阵中添加了各变量的变动率作为额外的输入向量。
  • 在数据集选取方面,本模型数据集选取思路与LSTM模型基本保持一致。但由于变动率特征的存在,原始时间序列的第一个样本将缺少变动率的特征。考虑到异常数据在全体中所占比例较小,故选择直接将原始时间序列的第一个样本剔除,从而保证特征的完备性。
  • 考虑到CNN模型在预测系统中起到的作用主要是捕捉交叉特征,故引入膨胀卷积这一特殊的卷积模式,并使用残差学习和瓶颈方法来规避深化卷积神经网络带来的梯度消失问题,将原始特征直接作为全连接层的一部分特征加入到模型之中,以防止过拟合和退化问题。
  • 可以将货币价格图像与同一数据的价格时间序列数据同时训练,从而使两个模型互补。针对LSTM-CNN结构的构建方法, 提出了联合RMSE损失的LSTM-CNN模型。其构建过程为先分别建立CNN模型与LSTM模型,利用损失函数计算各模型的损失值,再按照一定比例联合两个模型的损失值使总RMSE损失尽可能小且预测精度较高。本文采取类似的构建方法,同样将CNN-LSTM模型的构建过程分三步进行。
  • 第一阶段采用CNN模型架构,采用与上文单一CNN模型相同的架构;第二步建立LSTM模型,同样采用与上文LSTM模型相同的架构;而在第三步,本文采取按串联合两个模型预测准确度的方法。
  • 利用既有数据的白噪检验P值作为CNN-LSTM模型预测的置信水平,并通过公式计算混合模型的预测数值。

; 程序设计

%% CNNLSTM训练选项
% 批处理样本
miniBatchSize =10;
% 最大迭代次数
MaxEpochs = 100;
% 学习率
learningrate = 0.005;
% 一些参数调整
if gpuDeviceCount>0
    mydevice = 'gpu';
else
    mydevice = 'cpu';
end
    options = trainingOptions( 'adam', ...

        'MaxEpochs',100, ...

        'MiniBatchSize',miniBatchSize,...

        'GradientThreshold',1, ...

        'InitialLearnRate',learningrate, ...

        'LearnRateSchedule','piecewise', ...

        'LearnRateDropPeriod',20, ...

        'LearnRateDropFactor',0.8, ...

        'L2Regularization',1e-3,...

        'Verbose',false, ...

        'ExecutionEnvironment',mydevice,...

        'Plots','training-progress');

学习总结

通过将两个模型进行加权得到CNN-LSTM多特征分类预测模型,其预测效果均优于两个单一模型,有效融合了LSTM提取时序特征的优点和CNN提取深层特征的优点。

参考资料

[1] 郭思涵. 基于改进循环神经网络的比特币价格预测及交易策略研究[D]: [硕士学位论文]. 上海: 上海师范大学, 2021.

[2] 张宁, 方靖雯, 赵雨宣. 基于LSTM混合模型的比特币价格预测[J]. 计算机科学, 2021, 48(S2): 39-45.

[3] 曹超凡, 罗泽南, 谢佳鑫, 李路. MDT-CNN-LSTM模型的股价预测研究[J]. 计算机工程与应用, 2022, 58(5): 280-286.

Original: https://blog.csdn.net/kjm13182345320/article/details/126217975
Author: 机器学习之心
Title: 分类预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)多特征分类预测

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/688668/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球