• SCI一区级 | Matlab实现GJO-CNN-LSTM-Multihead-Attention多变量时间序列预测


    SCI一区级 | Matlab实现GJO-CNN-LSTM-Mutilhead-Attention多变量时间序列预测

    预测效果

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    基本介绍

    1.Matlab实现GJO-CNN-LSTM-Mutilhead-Attention金豺优化算法优化卷积长短期记忆神经网络融合多头注意力机制多变量时间序列预测,要求Matlab2023版以上;

    2.输入多个特征,输出单个变量,考虑历史特征的影响,多变量时间序列预测;

    3.data为数据集,main.m为主程序,运行即可,所有文件放在一个文件夹;

    4.命令窗口输出R2、MSE、MAE、MAPE和RMSE多指标评价;

    5.优化学习率,神经元个数,注意力机制的键值, 卷积核个数。

    程序设计

    • 完整源码和数据获取方式私信博主回复Matlab实现GJO-CNN-LSTM-Multihead-Attention多变量时间序列预测
    
    
    layers0 = [ ...
        % 输入特征
        sequenceInputLayer([numFeatures,1,1],'name','input')   %输入层设置
        sequenceFoldingLayer('name','fold')         %使用序列折叠层对图像序列的时间步长进行独立的卷积运算。
        % CNN特征提取
        convolution2dLayer([3,1],16,'Stride',[1,1],'name','conv1')  %添加卷积层,641表示过滤器大小,10过滤器个数,Stride是垂直和水平过滤的步长
        batchNormalizationLayer('name','batchnorm1')  % BN层,用于加速训练过程,防止梯度消失或梯度爆炸
        reluLayer('name','relu1')       % ReLU激活层,用于保持输出的非线性性及修正梯度的问题
          % 池化层
        maxPooling2dLayer([2,1],'Stride',2,'Padding','same','name','maxpool')   % 第一层池化层,包括3x3大小的池化窗口,步长为1,same填充方式
        % 展开层
        sequenceUnfoldingLayer('name','unfold')       %独立的卷积运行结束后,要将序列恢复
        %平滑层
        flattenLayer('name','flatten')
        
        lstmLayer(25,'Outputmode','last','name','hidden1') 
        selfAttentionLayer(2,2)          %创建2个头,2个键和查询通道的自注意力层  
        dropoutLayer(0.1,'name','dropout_1')        % Dropout层,以概率为0.2丢弃输入
    
        fullyConnectedLayer(1,'name','fullconnect')   % 全连接层设置(影响输出维度)(cell层出来的输出层) %
        regressionLayer('Name','output')    ];
        
    lgraph0 = layerGraph(layers0);
    lgraph0 = connectLayers(lgraph0,'fold/miniBatchSize','unfold/miniBatchSize');
    
    
    
    
    

    参考资料

    [1] https://blog.csdn.net/kjm13182345320/article/details/128577926?spm=1001.2014.3001.5501
    [2] https://blog.csdn.net/kjm13182345320/article/details/128573597?spm=1001.2014.3001.5501

  • 相关阅读:
    nestjs 新手入门第一章从入门到弃坑 解决运行中的启动错误
    ajax请求出错自动重发
    浮动哈哈哈
    嵌入式分享合集106
    分布式全局唯一ID生成方案(附源码)
    Semaphroe + CountDown
    NC13585 安卓图案解锁
    Spring boot java: 无效的目标发行版: 18
    人工智能1概论
    Z410 2023款无人机,专为零基础开发者打造的入门级开源无人机
  • 原文地址:https://blog.csdn.net/kjm13182345320/article/details/140408686