回归预测 | MATLAB实现Attention-GRU多输入单输出回归预测(注意力机制融合门控循环单元,TPA-GRU)

回归预测 | MATLAB实现Attention-GRU多输入单输出回归预测----注意力机制融合门控循环单元,即TPA-GRU,时间注意力机制结合门控循环单元

目录

    • 回归预测 | MATLAB实现Attention-GRU多输入单输出回归预测----注意力机制融合门控循环单元,即TPA-GRU,时间注意力机制结合门控循环单元
      • 效果一览
      • 基本介绍
      • 模型结构
      • 程序设计
      • 参考资料

效果一览

1
2
3
4
5

基本介绍

MATLAB实现Attention-GRU多输入单输出回归预测(注意力机制融合门控循环单元,也可称呼TPA-GRU,时间注意力机制结合门控循环单元),将注意力机制( attention mechanism) 引入GRU( gated recurrent unit) 模型之中,最后,将特征数据集划分为训练集、验证集和测试集,训练集用于训练模型,确定最优模型参数,验证集和测试集用于对模型效果进行评估。

模型结构

相较于LSTM,GRU网络比较大的改动在于:
(1)GRU网络将单元状态与输出合并为隐藏状态,依靠隐藏状态来传输信息。
(2) GRU网络将LSTM 中的遗忘门和输入门整合成为了一个更新门限。正是由于这两个创新点的引入,使得GRU 模型较LSTM 模型具有如下优点: 参数量减少了三分之一,不容易发生过拟合的现象,在一些情况下可以省略dropout 环节; 在训练数据很大的时候可以有效减少运算时间,加速迭代过程,提升运算效率; 从计算角度看,其可扩展性有利于构筑较大的模型。同时,GRU继承了LSTM 处理梯度问题的能力,其门结构可以有效过滤掉无用信息,捕捉输入数据的长期依赖关系,在处理序列问题上具有非常出色的表现。

注意力机制是深度学习中的一种仿生机制,它的提出是由人类观察环境的习惯规律所总结而来的,人类在观察环境时,大脑往往只关注某几个特别重要的局部,获取需要的信息,构建出关于环境的描述,而注意力机制正是如此,其本质就是对关注部分给予较高权重,从而获取更有效的信息,从数学意义上来说,它可以理解为是一种加权求和。注意力机制的主要作用包括:
( 1) 对输入序列的不同局部,赋予不同的权重。
( 2) 对于不同的输出序列局部,给输入局部不一样赋权规划。

6
7

8

程序设计

  • 完整程序和数据下载:私信博主回复Attention-GRU多输入单输出回归预测
%%  注意力参数
Attentionweight = params.attention.weight;  % 计算得分权重
Ht = GRU_Y(:, :, end);                      % 参考向量
num_time = size(GRU_Y, 3);                  % 时间尺度

%%  注意力得分
socre = dlarray;
for i = 1: num_time - 1
    A = extractdata(squeeze(GRU_Y(:, :, i)));
    A = repmat(A, [1, 1, num_hidden]);
    A = permute(A, [1, 3, 2]);
    A = dlarray(A, 'SCB');
    B = squeeze(sum(A .* dlarray(Attentionweight, 'SC'), 1));
    C = squeeze(sum(B .* Ht, 1));
    socre = [socre; C];
end
%%  注意力得分
a = sigmoid(socre);
Vt = 0;
for i = 1: num_time - 1
    Vt = Vt + a(i, :) .* GRU_Y(:, :, i);
end
%%  注意力机制
bias1 = params.attenout.bias1;
bias2 = params.attenout.bias2;
weight1 = params.attenout.weight1;
weight2 = params.attenout.weight2;
HVT = fullyconnect(Vt, weight1, bias1) + fullyconnect(Ht, weight2, bias2);
%%  全连接层
LastBias = params.fullyconnect.bias1;
LastWeight = params.fullyconnect.weight1;
%%  注意力参数初始化
params.attention.weight = gpuArray(dlarray(0.01 * randn(num_hidden, num_hidden)));
%%  注意力权重初始化
params.attenout.weight1 = gpuArray(dlarray(0.01 * randn(num_hidden, num_hidden)));
params.attenout.weight2 = gpuArray(dlarray(0.01 * randn(num_hidden, num_hidden)));

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/127944569?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/127944537?spm=1001.2014.3001.5502

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/40135.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何在无人机支持下完成自然灾害风险评估的原理和方法

对灾害的损失进行估算与测算是制定防灾、抗灾、救灾 及灾后重建方案的重要依据。 自然灾害评估按灾害客观地发展过程可分三种:一是灾前预评估,二是灾期跟踪或监测性评估,三是灾后实测评估。 灾前预评估要考虑三个因素,第一是未来…

真正的理解WPF中的TemplatedParent

童鞋们在WPF中经常看到 TemplatedParent ,或者经常看到下面的用法: {Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content} 是不是看的一脸蒙圈? 先看官方文档: 意思是 和这个控件的 模板上的 父亲,如果这个控件不是模板创建的,那么这个值就…

Python爬虫学习笔记(三)————urllib

目录 1.使用urllib来获取百度首页的源码 2.下载网页图片视频 3.总结-1 4.请求对象的定制(解决第一种反爬) 5.编解码 (1)get请求方式:urllib.parse.quote() (2)get请求…

使用 YOLOv8 和 Streamlit 构建实时对象检测和跟踪应用程序:第 1 部分-介绍和设置

示例:图像上的对象检测 介绍 实时视频中的目标检测和跟踪是计算机视觉的一个重要领域,在监控、汽车和机器人等各个领域都有广泛的应用。 由于需要能够识别和跟踪对象、确定其位置并对它们进行实时分类的自动化系统,对视频帧中的实时对象检测和跟踪的需求日益增加。 在这…

迁移 Gitee 仓库到 Github

Step1: 在Gitee找到你要迁移的仓库, 并复制 克隆|下载 链接 Step2: 打开 Github, 找到 按钮选择 Import Step3: 打开 Github, 找到 按钮选择 Import Step4: Waiting... 等待导入成功 Over~ 还有一种镜像更新的方案, Gitee 支持镜像同步, 但是我使用时无法获取到仓库名,…

初识vue3/setup/ ref()/ computed/watch/生命周期/父传子

创建项目先不着急学 main.js变了 新加setup reactive ref() computed watch 生命周期 父传子 子传父 ref/模板引用 暴露子组件属性 跨层传数据 defineOptions

RabbitMQ之交换机

RabbitMQ之交换机 1. Exchanges1.1 Exchanges 概念1.2 Exchanges 的类型1.3 无名 exchange 2. 临时队列3. 绑定(bindings)4. Fanout4.1 Fanout 介绍4.2 Fanout 实战 5. Direct exchange5.1 Direct exchange 介绍5.2 多重绑定5.3 实战 6. Topics6.1 之前类…

API漏洞检测研究

xray API漏洞检测_青霄的博客-CSDN博客 Swagger ui接口自动化批量漏洞测试_swgeer-ui 漏洞_山山而川的博客-CSDN博客 什么是 API 安全测试以及它是如何工作的? | Synopsys API 安全测试针对应用程序编程接口 (API) ,就其安全性、正确性和可靠性进行测试&…

LeetCode 75 第四题(605)种花问题

题目: 示例: 分析: 给一个数组表示一个花园,其中0表示空地,1表示已经有花种下去了. 空地可以种花,但是花和花之间不能相邻,即数组中不能有两个连续的1. 给一个数n,问我们能不能在花园里种n朵花. 我们可以找出我们所能种的最多的数量(而不是只种n朵),然后比较我们最多能种的…

Redis相关配置(3)

⭐ 作者简介:码上言 ⭐ 代表教程:Spring Boot vue-element 开发个人博客项目实战教程 ⭐专栏内容:个人博客系统 ⭐我的文档网站:http://xyhwh-nav.cn/ 文章目录 Redis相关配置1、units2、Include3、loadmodule 加载模块4、NET…

你认为大数据的特点是什么?_光点科技

随着信息技术的迅猛发展,大数据已成为当今社会不可忽视的重要资源。它是指规模庞大且快速增长的数据集合,其中包含着宝贵的信息和见解。大数据的特点是多样而复杂的,它们塑造了我们的世界并深刻地影响着各行各业。 巨大的规模:大数…

css学习知识总结

一、css与html连接&#xff1a; 可以将css语句放在html内部&#xff0c;一般放在<head>之下&#xff0c;定义在<style>中&#xff0c;格式一般是一个“.”然后加上一个“名称”再加上一个“{}”&#xff0c;再在“{}”内部定义具体的语句。 二、调整元素 2.1 字体…

HIVE SQL 根据主键去重并实现其余字段分组聚合

相同个人id下所有字段按时间顺序补位&#xff0c;取首个不为空值 --数据建表 drop table if exists db.tb_name; create table if not exists db.tb_name ( id string,name string,tele string,email string,date string ) ; insert overwrite table db.tb_name values (&qu…

无涯教程-Javascript - Switch语句

从JavaScript 1.2开始&#xff0c;您可以使用 switch 语句来处理这种情况&#xff0c;它比重复的 if ... else if 语句更有效。 流程图 以下流程图说明了switch-case语句的工作原理。 switch 语句的目的是给出一个要求值的表达式&#xff0c;并根据表达式的值执行多个不同的语…

springboot项目中添加自定义日志

文章目录 当前项目使用的springboot为 2.2.2.release。低版本的话logging下的子标签有可能不是这样的。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.2.2.RELE…

Jetpack Compose之学习前的准备~

作者&#xff1a;TimeFine 一、为啥学习Compose 学习Compose一开始我是拒绝的&#xff0c;因为习惯改变太大&#xff0c;写xml挺好的为啥要卷Compose&#xff1f; 后来看了郭霖大佬的文章 写给初学者的Jetpack Compose教程&#xff0c;为什么要学习Compose&#xff1f; 觉得大…

K8S集群内部署Rancher2.5.16

K8S集群内部署Rancher2.5.16 一、环境 k8s&#xff1a;1.18.20 OS&#xff1a;Anolis OS 7.9 rancher&#xff1a;2.5.16 参考官网部署文档&#xff1a;https://ranchermanager.docs.rancher.com/zh/v2.6/pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster 二…

springboot整合feign实现RPC调用,并通过Hystrix实现服务降级

目录 一、服务提供者 二、服务消费者 三、测试效果 四、开启Hystrix实现服务降级 feign/openfeign和dubbo是常用的微服务RPC框架&#xff0c;由于feigin内部已经集成ribbon&#xff0c;自带了负载均衡的功能&#xff0c;当有多个同名的服务注册到注册中心时&#xff0c;会根…

Linux中常用的指令

ls ls [选项] [目录或文件] 功能&#xff1a;对于目录&#xff0c;列出该目录下所有的子目录和文件&#xff1b;对于文件&#xff0c;列出该文件的文件名和其他属性 常用选项&#xff1a; -a:列出目录下的所有文件&#xff0c;包括以.开头的隐藏文件 -l:列出文件的详细信息。…

知识图谱推理的学习逻辑规则(上)7.19+(下)7.20

知识图谱推理的学习逻辑规则 摘要介绍相关工作模型 &#xff08;7.20&#xff09;知识图谱推理逻辑规则概率形式化参数化规则生成器具有逻辑规则的推理预测器 优化E步骤M步骤 实验实验设置实验结果 总结 原文&#xff1a; 摘要 本文研究了在知识图谱上进行推理的学习逻辑规则…