首页 > 其他分享 >炸了!改进Transformer!Transformer-BiGRU多变量回归预测(Matlab)

炸了!改进Transformer!Transformer-BiGRU多变量回归预测(Matlab)

时间:2024-10-20 14:47:45浏览次数:7  
标签:Transformer num %% train BiGRU Matlab test

炸了!改进Transformer!Transformer-BiGRU多变量回归预测(Matlab)

目录

分类效果

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

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

基本介绍

1.Matlab实现Transformer-BiGRU多变量回归预测,Transformer-BiGRU;
2.运行环境为Matlab2023b及以上;
3.data为数据集,输入多个特征,输出单个变量,多变量回归预测,main.m为主程序,运行即可,所有文件放在一个文件夹;
4.命令窗口输出R2、MSE、RMSE、MAE、MAPE、MBE等多指标评价。

Transformer模型是一种采用注意力机制的深度学习模型,这一机制可以按输入数据各部分重要性的不同而分配不同的权重。该模型主要用于自然语言处理(NLP)与计算机视觉(CV)领域。

与循环神经网络(RNN)一样,Transformer模型旨在处理自然语言等顺序输入数据,可应用于翻译、文本摘要等任务。而与RNN不同的是,Transformer模型能够一次性处理所有输入数据。注意力机制可以为输入序列中的任意位置提供上下文。如果输入数据是自然语言,则Transformer不必像RNN一样一次只处理一个单词,这种架构允许更多的并行计算,并以此减少训练时间。

BiGRU模型是一种循环网咯,它由两个独立的GRU单元组成,一个按照时间序列正向处理数据,另一个按照时间序列的逆向处理数据。通过这种双向结构,BiGRU模型能够同时捕捉序列数据的前向和后向信息,从而更好地理解和预测序列中的模式。

在这里插入图片描述

程序设计

  • 完整程序和数据获取方式私信博主回复炸了!改进Transformer!Transformer-BiGRU多变量回归预测(Matlab)


%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

%%  导入数据
result = xlsread('data.xlsx');



%%  数据集分析
outdim = 1;                                  % 最后一列为输出
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);

%%  数据归一化
[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);

%%  数据平铺
P_train =  double(reshape(P_train, f_, 1, 1, M));
P_test  =  double(reshape(P_test , f_, 1, 1, N));

t_train = t_train';
t_test  = t_test' ;

%%  数据格式转换
for i = 1 : M
    p_train{i, 1} = P_train(:, :, 1, i);
end

for i = 1 : N
    p_test{i, 1}  = P_test( :, :, 1, i);
end


参考资料

[1] https://blog.csdn.net/kjm13182345320/category_11799242.html?spm=1001.2014.3001.5482
[2] https://blog.csdn.net/kjm13182345320/article/details/124571691

标签:Transformer,num,%%,train,BiGRU,Matlab,test
From: https://blog.csdn.net/kjm13182345320/article/details/143092742

相关文章

  • 【大数据分析与挖掘算法】matlab实现——DBSCAN聚类方法
    实验六:DBSCAN聚类方法一、实验目的掌握DBSCAN聚类方法的基本理论,通过编程对实例进行聚类。二、实验任务对DBSCAN聚类方法进行编码计算,实例如下:三、实验过程1.DBSCAN聚类模型介绍:2.具体步骤介绍:四、实验结果实现平台:Matlab2022A实验代码:%示例数据data=......
  • EKF、UKF、CKF的对比(MATLAB代码)
      扩展卡尔曼滤波(EKF)、无迹卡尔曼滤波(UKF)和容积卡尔曼滤波(CKF)。通过对比这三种算法在相同动态系统下的表现,用户能够深入理解每种滤波器的优缺点,为自己的项目选择最合适的技术方案。主要特点三种滤波算法对比:同时实现EKF、UKF和CKF,便于用户直观比较不同算法在相同条件下......
  • YOLOv11改进策略【卷积层】| ECCV-2024 Histogram Transformer 直方图自注意力 适用于
    一、本文介绍本文记录的是利用直方图自注意力优化YOLOv11的目标检测方法研究。在目标检测任务中,清晰准确的图像对于目标检测至关重要,本文创新方法通过恢复图像质量,可以减少因图像质量低导致的误检和漏检,实现有效涨点。专栏目录:YOLOv11改进目录一览|涉及卷积层、轻量化......
  • Matlab使用LSTM或BiLSTM对一维信号(语音信号、心电信号等)进行二分类源程序。也可以改
     Matlab使用LSTM或BiLSTM对一维信号(语音信号、心电信号等)进行二分类源程序。也可以改成多分类。包含数据和代码,数据可以直接替换为自己的数据。如果用BiLSTM,程序中只需要把lstmlayer改为bilstmlayer即为BiLSTM网络,其他地方不需要任何改动。工作如下:1、加载数据集,一共为......
  • 乘风破浪,遇见最佳跨平台跨终端框架.Net Core/.Net生态 - 开源数学库Math.NET,替代Matla
    Math.NEThttps://www.mathdotnet.comMath.NET是一个广泛使用的开源数学库,专为.NET语言(如C#和F#)设计,提供了各种高性能的数学和统计计算功能。它帮助开发者进行线性代数、统计分析、随机数生成、微积分、优化和信号处理等计算,尤其在科学计算、工程应用以及数据分析中被广泛使......
  • 层次聚类法(matlab实现)
    层次聚类法的优点包括能够揭示数据集的层次结构,有助于理解数据内在关系,无需预先设定聚类数目,并且可以通过树状图直观地裁剪得到不同粒度的聚类结果。然而,层次聚类的不足之处在于算法的时间复杂度大,结果依赖聚类的合并点和分裂点的选择,且层次聚类过程是不可逆的,一旦聚类结果形成......
  • matlab点击实时绘制bezier曲线
    贝塞尔曲线的原理贝塞尔曲线是通过一组控制点定义的参数曲线。曲线不会直接穿过这些点,但这些点会影响曲线的形状。控制点确定了曲线的弯曲程度和方向。贝塞尔曲线的数学公式基于伯恩斯坦多项式(BernsteinPolynomials)。对于一个n次的贝塞尔曲线,它由n+1个控制点​定义。曲线......
  • Transformer中的位置编码(Positional Encoding)
    Transformer中的位置编码(PositionalEncoding)标准位置编码原理上Transformer是无法隐式学到序列的位置信息的,为了可以处理序列问题,Transformer提出者的解决方案是使用位置编码(PositionEncode/Embedding,PE)[1][2].大致的处理方法是使用sin和cos函数交替来创建位置编码PE,......
  • MATLAB 工具箱详细重点知识点概述 MATLAB 工具箱使用案例
    一、章节目录MATLAB工具箱概述常见MATLAB工具箱介绍MATLAB工具箱使用案例展示学习MATLAB工具箱的方法MATLAB工具箱的发展趋势二、各章节知识点总结MATLAB工具箱概述MATLAB是一种广泛应用于科学计算、数据分析、算法开发等领域的高级编程语言和交互式环境。MA......
  • 数学建模与数学实验习题4.4.2答案matlab
    炼油厂将ABC三种原油加工成甲乙丙三种汽油,一桶原油加工成一桶汽油的费用为4元,每天至多能加工汽油14000桶,原油的买入价,买入量,辛烷值,硫的含量以及汽油的卖出价,需求量辛烷值和硫含量由下表给出,如何安排生产计划使利润最大一般来说,做广告可以增加销售,估计一天向一种汽油投......