首页 > 编程语言 >CNN-BiLSTM-Attention(12种算法优化CNN-BiLSTM-Attention多输入单输出)

CNN-BiLSTM-Attention(12种算法优化CNN-BiLSTM-Attention多输入单输出)

时间:2024-08-23 09:54:13浏览次数:12  
标签:BiLSTM 模型 Attention 算法 CNN 优化

  •  12种算法优化CNN-BiLSTM-Attention模型预测的代码。其中Attention模型可以改为单头或者多头,在代码中就是改个数字而已。代码注释已写好如何更改。
12种算法优化CNN-BiLSTM-Attention多特征输入单步预测代码获取戳此处代码获取戳此处代码获取戳此处
  • 主要功能为:采用12种算法优化CNN-BiLSTM-Attention模型的四个参数,分别是学习率,BiLSTM的神经元个数,注意力机制的键值,正则化参数。并进行了优化前后的结果比较。

  • 12种算法如下:北方苍鹰算法(NGO)、蜕螂优化算法(DBO)、灰狼优化算法(GWO)、鱼鹰优化算法(OOA)、粒子群算法(PSO)、减法优化器算法(SABO)、沙猫群优化算法(SCSO)、麻雀优化算法(SSA)、白鲸优化算法(BWO)、霜冰优化算法(RIME)、鲸鱼优化算法(WOA)、哈里斯鹰优化算法(HHO)。代码中12种算法可以随意切换!
  • 部分代码:
  • net = trainNetwork(trainD,targetD',lgraph0,options0);
    toc
    %analyzeNetwork(net);% 查看网络结构
    %  预测
    %% 测试与评估
    t_sim = net.predict(testD);  
    analyzeNetwork(net);% 查看网络结构
    
    %  数据反归一化
    T_sim = mapminmax('reverse', t_sim, ps_output);
    
    %  数据格式转换
    
    T_sim = double(T_sim);
    T_sim = T_sim';
    
    %% 优化CNN-BiLSTM-Attention
    
    disp(' ')
    disp('优化CNN_BiLSTM_attention神经网络:')
    
    %% 初始化参数 
    popsize=5;   %初始种群规模 
    maxgen=10;   %最大进化代数
    fobj = @(x)objectiveFunction(x,f_,trainD,targetD',testD,T_test,ps_output);
    % 优化参数设置
    lb = [0.001 10 2  0.0001]; %参数的下限。分别是学习率,biLSTM的神经元个数,注意力机制的键值, 正则化参数
    ub = [0.01 50 50 0.001];    %参数的上限
    dim = length(lb);%数量
    
    % 可选:'DBO','GWO','OOA','PSO','SABO','SCSO','SSA','BWO','RIME','WOA','HHO','NGO';
    
    [Best_score,Best_pos,curve]=NGO(popsize,maxgen,lb,ub,dim,fobj); %修改这里的函数名字即可
    setdemorandstream(pi);

网络结构:

CNN-BiLSTM-Attention模型
  CNN能够对时间序列数据进行特征提取,但不能发掘出时间序列数据中的长依赖问题:BiLSTM能够很好地对时间序列数据进行学习,解决CNN不能处理的长依赖问题,因此将CNN和BiLSTM组合构成CNN-BiLSTM模型,能够充分发挥各自神经网络模型的优点,从而提高模型预测精度。
  CNN-BiLSTM模型能够充分发挥模型各部分的优点,进行时间序列数据预测,但该模型在使用输入项多、数据量大的时间序列数据进行模型训练时,可能存在着忽略部分时刻数据的重要特征信息,导致模型学习能力下降,从而影响模型预测精度。Attention能够捕获时间序列数据中不同时刻数据的特征状态对预测值的影响程度,从而提高模型的预测精度。因此,在CNN-BiLSTM模型中引入Attention能够很好的解决原有模型忽略部分重要特征信息的问题,从而提高模型预测精度。
基于CNN-BiLSTM-Attention的预测模型结构如图所示,该模型由输入层、CNN层(卷积层和池化层)、BiLSTM层(前向LSTM层和后向LSTM层)、Attention层、输出层构成。使用CNN-BiLSTM-Attention模型进行预测时,输入层将对应的特征数据输入;CNN层中的卷积层对输入的数据进行特征提取,选取重要特征数据,池化层对特征数据进行降维处理;BiLSTM层将CNN层提取特征降维后的数据分别通过前向和后向链式连接的多个LSTM单元进行时间序列数据计算得到输出数据;Attention层计算不同时刻数据的特征状态对预测值的注意力值,得到时间序列各项数据与预测值的关联性;输出层对Attention层输出的数据进行输出计算,得到预测值。

北方苍鹰NGO优化CNN-BiLSTM-Attention进行展示效果如下

标签:BiLSTM,模型,Attention,算法,CNN,优化
From: https://blog.csdn.net/bonul1/article/details/141435665

相关文章

  • PCA原理与水果成熟状态数据分析实例:Python中PCA-LDA 与卷积神经网络CNN
    全文链接:https://tecdat.cn/?p=37450 主成分分析(PCA)作为数据科学中用于可视化和降维的重要工具,在处理具有大量特征的数据集时非常有用。就像我们难以找到时间阅读一本1000页的书,而更倾向于2到3页的总结以抓住整体概貌一样,当数据集中特征过多时,PCA可以帮助我们减少维度,提......
  • 多模态学习之论文阅读:《Pre-gating and Contextual Attention Gate — A new fusion m
    《Pre-gatingandContextualAttentionGate—Anewfusionmethodformulti-modaldatatasks》 -2024.11 影响因子7.9  (一)要点提出一种新的多模态数据融合方法,即PCAG(Pre-gatingandContextualAttentionGate),以解决现有跨模态交互学习中的噪声问题和不确定性问......
  • 时序预测|基于贝叶斯BO-卷积-双向门控单元-注意力机制的单变量时间序列预测模型BO-CNN
    时序预测|基于贝叶斯BO-卷积-双向门控单元-注意力机制的单变量时间序列预测模型BO-CNN-BiGRU-Attention文章目录前言时序预测|基于贝叶斯BO-卷积-双向门控单元-注意力机制的单变量时间序列预测模型BO-CNN-BiGRU-Attention一、BO-CNN-BiGRU-Attention模型1.贝叶斯优......
  • limu|P19-22|卷积神经网络(CNN)基础
    目录:1、卷积是什么:在数学、实际生活、数字图像处理和机器学习中的卷积2、卷积层是什么:从全连接层到卷积层3、卷积层的kernal_size、padding、stride等超参数4、卷积层的输入和输出的通道数(in_channels和out_channels)的意义5、池化层参考资料:1、李沐动手学深度学习课程2、b......
  • [Base] Agent Attention
    1.BaseInfoTitleAgentAttention:OntheIntegrationofSoftmaxandLinearAttentionAdresshttps://arxiv.org/pdf/2312.08874Journal/Time202312ECCV2024Author清华自动化系Codehttps://github.com/LeapLabTHU/Agent-AttentionTableAttention2.CreativeQ&AQ:Swin......
  • 叠Buff!经典麻雀优化算法+多重双向深度学习!SSA-BiTCN-BiGRU-Attention多输入单输出回
    叠Buff!经典麻雀优化算法+多重双向深度学习!SSA-BiTCN-BiGRU-Attention多输入单输出回归预测目录叠Buff!经典麻雀优化算法+多重双向深度学习!SSA-BiTCN-BiGRU-Attention多输入单输出回归预测效果一览基本介绍程序设计参考资料效果一览基本介绍1.Matlab实现SS......
  • ncnn operators
    operatorshttps://github.com/Tencent/ncnn/blob/master/docs/developer-guide/operators.mdAbsValArgMaxBatchNormBiasBinaryOpBNLLCastCELUClipConcatConvolutionConvolution1DConvolution3DConvolutionDepthWiseConvolutionDepthWise1DConvolutionDepth......
  • yolov5s ncnn practice
     Tutorial-deployYOLOv5withncnnhttps://github.com/Tencent/ncnn/discussions/4541 ncnnmodel制作(yolov5s.pt->ncnn.paramandncnn.bin) 使用ncnn库编译后生成的工具https://github.com/Tencent/ncnn/wiki/use-ncnn-with-pytorch-or-onnxhttps://ncnn.readt......
  • Self-Attention自注意力机制解读(2):图解版!
    文章目录一、前言二、流程解读1.它整体做了一件什么事2.多层Self-attention3.self-attention做了一件什么事4.具体流程三、流程的矩阵表示三、Softmax层的解释一、前言上一篇文章Self-Attention自注意力机制:深度学习中的动态焦点|手把手实例解析看不懂你打我以......
  • SciTech-BigDataAIML-LLM-Transformer Series-Self-Attention:由Dot-Product(向量点乘)
    SelfAttention:由Dot-Product(向量点乘)说起https://lulaoshi.info/deep-learning/attention/transformer-attention.html#self-attention-从向量点乘说起Transformer[1]论文提出了一种Self-Attention(自注意力机制),Self-Attention的最核心的公式为:\(\large\begin{align*}......