【MATLAB第19期】基于贝叶斯Bayes算法优化CNN-LSTM长短期记忆网络的单列时间序列模型及多输入单输出回归预测模型

简介: 【MATLAB第19期】基于贝叶斯Bayes算法优化CNN-LSTM长短期记忆网络的单列时间序列模型及多输入单输出回归预测模型

基于贝叶斯Bayes算法优化CNN-LSTM长短期记忆网络的单列时间序列模型及多输入单输出回归预测模型


前言


前面在【MATLAB第8期】讲解了基于贝叶斯Bayes算法优化LSTM长短期记忆网络的时间序列预测模型,即单输入数据时间序列预测,见本人CSDN主页。


前面在【MATLAB第10期】讲解了基于贝叶斯Bayes算法优化LSTM长短期记忆网络的多输入单输出回归预测模型思路框架,见本人CSDN主页。


思路


本文分别使用单列时间序列数据及多输入单输出数据,进行BO-CNNLSTM预测。贝叶斯原理及内容不多介绍。


1.时间序列预测模型


时间序列数据:单列数据

超参数优化:有大量的超参数可供调整和优化,使用贝叶斯优化来优化CNN-LSTM参数

optimVars = [
    optimizableVariable('NoFilter1',[8 64],'Type','integer')                         %卷积层1卷积核数量 
    optimizableVariable('NoFilter2',[8 64],'Type','integer')                         %卷积层2卷积核数量
    optimizableVariable('FilterSize1',[3 16],'Type','integer')                       %卷积层1卷积核大小
    optimizableVariable('FilterSize2',[3 16],'Type','integer')                       %卷积层2卷积核大小
    optimizableVariable('Lag',[3 9],'Type','integer')                                %时间滞后阶数范围                 
    optimizableVariable('MiniBatchSize',{'16' '32' '48' },'Type','categorical')      %批处理范围选择 
    optimizableVariable('learningrate',[1e-5 1e-1],'Type','real',"Transform","log")];%学习率优化选择

贝叶斯优化次数:10

贝叶斯优化结果:(参数简化,如最大运行时间仅设置为10*60)

测试集MAE=

1.3433

测试集RMSE=

1.9390


2.回归预测模型


使用多输入单输出数据

80%训练 20%测试

超参数优化:有大量的超参数可供调整和优化,使用贝叶斯优化来优化CNN-LSTM参数

%% 优化CNNLSTM结构参数


optimVars = [
    optimizableVariable('numHiddenUnits1',[50 200],'Type','integer')% LSTM第一层隐含层神经元数
    optimizableVariable('numHiddenUnits2',[50 200],'Type','integer')% LSTM第二层隐含层神经元数
    optimizableVariable('NoFilter1',[8 64],'Type','integer') %卷积层卷积核数量 
    optimizableVariable('FilterSize1',[3 16],'Type','integer')%卷积层卷积核大小
  ];

**


预测结果:

**


CNNLSTM训练集均方根误差(RMSE):3.2152

CNNLSTM训练集平均绝对误差(MAE):2.5149

CNNLSTM训练集平均相对百分误差(MAPE):5.0728%

CNNLSTM训练集R-square决定系数(R2):0.98159

CNNLSTM测试集均方根误差(RMSE):2.9023

CNNLSTM测试集平均绝对误差(MAE):2.1754

CNNLSTM测试集平均相对百分误差(MAPE):3.4288%

CNNLSTM测试集R-square决定系数(R2):0.96609

BO-CNNLSTM训练集均方根误差(RMSE):1.6549

BO-CNNLSTM训练集平均绝对误差(MAE):1.2913

BO-CNNLSTM训练集平均相对百分误差(MAPE):2.9743%

BO-CNNLSTM训练集R-square决定系数(R2):0.99484

BO-CNNLSTM测试集均方根误差(RMSE):2.4997

BO-CNNLSTM测试集平均绝对误差(MAE):2.098

BO-CNNLSTM测试集平均相对百分误差(MAPE):3.5159%

BO-CNNLSTM测试集R-square决定系数(R2):0.98186


相关文章
|
1月前
|
机器学习/深度学习 数据采集 存储
时间序列预测新突破:深入解析循环神经网络(RNN)在金融数据分析中的应用
【10月更文挑战第7天】时间序列预测是数据科学领域的一个重要课题,特别是在金融行业中。准确的时间序列预测能够帮助投资者做出更明智的决策,比如股票价格预测、汇率变动预测等。近年来,随着深度学习技术的发展,尤其是循环神经网络(Recurrent Neural Networks, RNNs)及其变体如长短期记忆网络(LSTM)和门控循环单元(GRU),在处理时间序列数据方面展现出了巨大的潜力。本文将探讨RNN的基本概念,并通过具体的代码示例展示如何使用这些模型来进行金融数据分析。
216 2
|
1月前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第7天】本文将深入探讨卷积神经网络(CNN)的基本原理,以及它如何在图像识别领域中大放异彩。我们将从CNN的核心组件出发,逐步解析其工作原理,并通过一个实际的代码示例,展示如何利用Python和深度学习框架实现一个简单的图像分类模型。文章旨在为初学者提供一个清晰的入门路径,同时为有经验的开发者提供一些深入理解的视角。
|
6天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第36天】探索卷积神经网络(CNN)的神秘面纱,揭示其在图像识别领域的威力。本文将带你了解CNN的核心概念,并通过实际代码示例,展示如何构建和训练一个简单的CNN模型。无论你是深度学习的初学者还是希望深化理解,这篇文章都将为你提供有价值的见解。
|
21天前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习中的卷积神经网络(CNN)及其应用
【10月更文挑战第21天】本文旨在深入探讨深度学习领域的核心组成部分——卷积神经网络(CNN)。通过分析CNN的基本结构、工作原理以及在图像识别、语音处理等领域的广泛应用,我们不仅能够理解其背后的技术原理,还能把握其在现实世界问题解决中的强大能力。文章将用浅显的语言和生动的例子带领读者一步步走进CNN的世界,揭示这一技术如何改变我们的生活和工作方式。
|
22天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化CNN-LSTM网络的数据分类识别算法matlab仿真
本项目展示了基于贝叶斯优化(BO)的CNN-LSTM网络在数据分类中的应用。通过MATLAB 2022a实现,优化前后效果对比明显。核心代码附带中文注释和操作视频,涵盖BO、CNN、LSTM理论,特别是BO优化CNN-LSTM网络的batchsize和学习率,显著提升模型性能。
|
28天前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
81 1
|
1月前
|
机器学习/深度学习 SQL 数据采集
基于tensorflow、CNN网络识别花卉的种类(图像识别)
基于tensorflow、CNN网络识别花卉的种类(图像识别)
25 1
|
10天前
|
机器学习/深度学习 人工智能 TensorFlow
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第32天】本文将介绍深度学习中的一个重要分支——卷积神经网络(CNN),以及其在图像识别领域的应用。我们将通过一个简单的代码示例,展示如何使用Python和TensorFlow库构建一个基本的CNN模型,并对其进行训练和测试。
|
1月前
|
机器学习/深度学习 算法 数据挖掘
基于GWO灰狼优化的GroupCNN分组卷积网络时间序列预测算法matlab仿真
本项目展示了基于分组卷积神经网络(GroupCNN)和灰狼优化(GWO)的时间序列回归预测算法。算法运行效果良好,无水印展示。使用Matlab2022a开发,提供完整代码及详细中文注释。GroupCNN通过分组卷积减少计算成本,GWO则优化超参数,提高预测性能。项目包含操作步骤视频,方便用户快速上手。
|
1月前
|
机器学习/深度学习 存储 自然语言处理
从理论到实践:如何使用长短期记忆网络(LSTM)改善自然语言处理任务
【10月更文挑战第7天】随着深度学习技术的发展,循环神经网络(RNNs)及其变体,特别是长短期记忆网络(LSTMs),已经成为处理序列数据的强大工具。在自然语言处理(NLP)领域,LSTM因其能够捕捉文本中的长期依赖关系而变得尤为重要。本文将介绍LSTM的基本原理,并通过具体的代码示例来展示如何在实际的NLP任务中应用LSTM。
67 4

热门文章

最新文章