多维时序 | Matlab实现CNN-BiGRU-Mutilhead-Attention卷积双向门控循环单元融合多头注意力机制多变量时间序列预测

多维时序 | Matlab实现CNN-BiGRU-Mutilhead-Attention卷积双向门控循环单元融合多头注意力机制多变量时间序列预测

目录

    • [多维时序 | Matlab实现CNN-BiGRU-Mutilhead-Attention卷积双向门控循环单元融合多头注意力机制多变量时间序列预测](#多维时序 | Matlab实现CNN-BiGRU-Mutilhead-Attention卷积双向门控循环单元融合多头注意力机制多变量时间序列预测)

效果一览






基本介绍

Matlab实现CNN-BiGRU-Mutilhead-Attention卷积双向门控循环单元融合多头注意力机制多变量时间序列预测

1.data为数据集,格式为excel,4个输入特征,1个输出特征,考虑历史特征的影响,多变量时间序列预测;

2.main.m为主程序文件,运行即可;

3.命令窗口输出R2、MAE、MAPE、MSE和MBE,可在下载区获取数据和程序内容;

注意程序和数据放在一个文件夹,运行环境为Matlab2023a及以上。

CNN卷积核大小:卷积核大小决定了CNN网络的感受野,即每个卷积层可以捕获的特征的空间范围。选择不同大小的卷积核可以影响模型的特征提取能力。较小的卷积核可以捕获更细粒度的特征,而较大的卷积核可以捕获更宏观的特征。

BiGRU双向门控循环单元个数:BiGRU是一种适用于序列数据的循环神经网络,其单元个数决定了模型的复杂性和记忆能力。较多的BiGRU单元可以提高模型的学习能力,但可能导致过拟合。

多头自注意力层 (Multihead-Self-Attention):Multihead-Self-Attention多头注意力机制是一种用于模型关注输入序列中不同位置相关性的机制。它通过计算每个位置与其他位置之间的注意力权重,进而对输入序列进行加权求和。注意力能够帮助模型在处理序列数据时,对不同位置的信息进行适当的加权,从而更好地捕捉序列中的关键信息。在时序预测任务中,注意力机制可以用于对序列中不同时间步之间的相关性进行建模。

程序设计

  • 完整源码和数据获取方式私信回复Matlab实现CNN-BiGRU-Mutilhead-Attention卷积双向门控循环单元融合多头注意力机制多变量时间序列预测
clike 复制代码
%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

%%  导入数据
res =xlsread('data.xlsx','sheet1','A2:H104');

%%  数据分析
num_size = 0.7;                              % 训练集占数据集比例

num_train_s = round(num_size * num_samples); % 训练集样本个数
f_ = size(res, 2) - outdim;                  % 输入特征维度

%%  划分训练集和测试集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, f_ + 1: end)';
M = size(P_train, 2);

P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, f_ + 1: end)';
N = size(P_test, 2);

f_ = size(P_train, 1);                  % 输入特征维度

%%  数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);

[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);

参考资料

1\] https://blog.csdn.net/kjm13182345320/article/details/129215161 \[2\] https://blog.csdn.net/kjm13182345320/article/details/128105718

相关推荐
西西弗Sisyphus7 天前
从零实现Transformer:第 4 部分 - Residual Connection的两种实现 Pre-LN 和 Post-LN
transformer·attention·unsqueeze·self-attention·残差·residual·squeeze
西西弗Sisyphus7 天前
从零实现Transformer:第 9 部分 - 推理(Inference )
transformer·attention·注意力机制·注意力·decoder·self-attention
机器学习之心7 天前
多工况车速数据集训练BiLSTM-Attention用于车速预测,输出未来多个时间步车速,MATLAB代码
matlab·attention·bilstm·车速预测
机器学习之心13 天前
CNN-xLSTM-Attention 回归模型:从原理到 SHAP 可解释性全解析
回归·cnn·attention·cnn-xlstm
庞轩px17 天前
Transformer的核心思想——Attention机制直观理解
人工智能·rnn·深度学习·transformer·attention·q-k-v
索木木18 天前
Flash Attention反向梯度优化显存
人工智能·机器学习·大模型·attention·训练·显存优化·aiinfra
西西弗Sisyphus18 天前
从零实现Transformer:第 4 部分 - 残差连接、层归一化与前馈网络(Add & Norm, Feed-Forward)
resnet·transformer·attention·注意力机制·注意力
西西弗Sisyphus20 天前
从零实现Transformer:第 2 部分 - 缩放点积注意力(Scaled Dot-Product Attention)
transformer·attention·注意力机制·注意力
西西弗Sisyphus22 天前
Transformer 架构里关于 Attention 概念的澄清
transformer·attention·注意力机制·注意力·self-attention
空巢青年_rui1 个月前
【翻译】现代LLM中注意力变体的可视化指南:从MHA和GQA到MLA、稀疏注意力机制和混合架构
llm·attention·mha·gqa·dsa·mla·swa