当前位置: 首页 > news >正文

回归预测 | MATLAB实现SSA-CNN-GRU-Attention多变量回归预测(SE注意力机制)

回归预测 | MATLAB实现SSA-CNN-GRU-Attention多变量回归预测(SE注意力机制)

目录

    • 回归预测 | MATLAB实现SSA-CNN-GRU-Attention多变量回归预测(SE注意力机制)
      • 预测效果
      • 基本描述
      • 程序设计
      • 参考资料

预测效果

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

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

在这里插入图片描述

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

基本描述

1.Matlab实现SSA-CNN-GRU-Attention麻雀优化卷积门控循环单元注意力机制多变量回归预测;
2.运行环境为Matlab2021b;
3.data为数据集,excel数据,输入多个特征,输出单个变量,多变量回归预测,
main.m为主程序,运行即可,所有文件放在一个文件夹;
4.命令窗口输出R2、MSE、MAE、MAPE多指标评价;
5.麻雀算法优化学习率,隐藏层节点,正则化系数;### 模型描述
注意力机制模块:
SEBlock(Squeeze-and-Excitation Block)是一种聚焦于通道维度而提出一种新的结构单元,为模型添加了通道注意力机制,该机制通过添加各个特征通道的重要程度的权重,针对不同的任务增强或者抑制对应的通道,以此来提取有用的特征。该模块的内部操作流程如图,总体分为三步:首先是Squeeze 压缩操作,对空间维度的特征进行压缩,保持特征通道数量不变。融合全局信息即全局池化,并将每个二维特征通道转换为实数。实数计算公式如公式所示。该实数由k个通道得到的特征之和除以空间维度的值而得,空间维数为H*W。其次是Excitation激励操作,它由两层全连接层和Sigmoid函数组成。如公式所示,s为激励操作的输出,σ为激活函数sigmoid,W2和W1分别是两个完全连接层的相应参数,δ是激活函数ReLU,对特征先降维再升维。最后是Reweight操作,对之前的输入特征进行逐通道加权,完成原始特征在各通道上的重新分配。

1
2

程序设计

  • 完整程序和数据获取方式:私信博主回复MATLAB实现SSA-CNN-GRU-Attention多变量回归预测(SE注意力机制)
%%  优化算法参数设置
SearchAgents_no = 8;                   % 数量
Max_iteration = 5;                    % 最大迭代次数
dim = 3;                               % 优化参数个数
lb = [1e-3,10 1e-4];                 % 参数取值下界(学习率,隐藏层节点,正则化系数)
ub = [1e-2, 30,1e-1];                 % 参数取值上界(学习率,隐藏层节点,正则化系数)fitness = @(x)fical(x,num_dim,num_class,p_train,t_train,T_train);[Best_score,Best_pos,curve]=SSA(SearchAgents_no,Max_iteration,lb ,ub,dim,fitness)
Best_pos(1, 2) = round(Best_pos(1, 2));   
best_hd  = Best_pos(1, 2); % 最佳隐藏层节点数
best_lr= Best_pos(1, 1);% 最佳初始学习率
best_l2 = Best_pos(1, 3);% 最佳L2正则化系数%% 建立模型
lgraph = layerGraph();                                                   % 建立空白网络结构
tempLayers = [sequenceInputLayer([num_dim, 1, 1], "Name", "sequence")              % 建立输入层,输入数据结构为[num_dim, 1, 1]sequenceFoldingLayer("Name", "seqfold")];                            % 建立序列折叠层
lgraph = addLayers(lgraph, tempLayers);                                  % 将上述网络结构加入空白结构中
tempLayers = [convolution2dLayer([3, 1], 16, "Name", "conv_1", "Padding", "same")  % 建立卷积层,卷积核大小[3, 1]16个特征图reluLayer("Name", "relu_1")                                          
tempLayers = [sequenceUnfoldingLayer("Name", "sequnfold")                      % 建立序列反折叠层flattenLayer("Name", "flatten")                                  % 网络铺平层fullyConnectedLayer(num_class, "Name", "fc")                                      % 分类层
lgraph = addLayers(lgraph, tempLayers);                              % 将上述网络结构加入空白结构中
lgraph = connectLayers(lgraph, "seqfold/out", "conv_1");             % 折叠层输出 连接 卷积层输入
lgraph = connectLayers(lgraph, "seqfold/miniBatchSize", "sequnfold/miniBatchSize"); %% 参数设置
options = trainingOptions('adam', ...     % Adam 梯度下降算法'MaxEpochs', 500,...                 % 最大训练次数 'InitialLearnRate', best_lr,...          % 初始学习率为0.001'L2Regularization', best_l2,...         % L2正则化参数'LearnRateSchedule', 'piecewise',...  % 学习率下降'LearnRateDropFactor', 0.1,...        % 学习率下降因子 0.1'LearnRateDropPeriod', 400,...        % 经过训练后 学习率为 0.001*0.1'Shuffle', 'every-epoch',...          % 每次训练打乱数据集'ValidationPatience', Inf,...         % 关闭验证'Plots', 'training-progress',...      % 画出曲线'Verbose', false);%% 训练
net = trainNetwork(p_train, t_train, lgraph, options);

参考资料

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

相关文章:

回归预测 | MATLAB实现SSA-CNN-GRU-Attention多变量回归预测(SE注意力机制)

回归预测 | MATLAB实现SSA-CNN-GRU-Attention多变量回归预测(SE注意力机制) 目录 回归预测 | MATLAB实现SSA-CNN-GRU-Attention多变量回归预测(SE注意力机制)预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab实现SSA…...

使用composer构建软件包时文件(夹)权限设置

在构建软件包的时候你可能会需要对包源内文件或文件夹的权限做出相应的调整,以确保软件包在部署到客户端后可以正常运行。在此之前我们先来了解一下Apple文件系统内文件或文件夹的权限设定。 常见的文件或文件夹会有Owner, Group, Everyone这三种类型的所有权&#…...

【C#】面向对象的三大特性,还记得吗,简单代码举例回顾

欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是《C#》序列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。…...

235.【2023年华为OD机试真题(C卷)】机器人搬砖(二分查找-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解…...

git hooks

介绍 当我们在执行git管理仓库代码时,想规范下每个用户的commit内容?想检查下提交的代码规范?想检查下PR是否通过,那么这个时候就需要用到git hooks,git hooks可以在我们进行git操作的关键时机插入我们想要执行的“脚…...

法规更新美国玩具标准ASTM F963-17有更新,最新标准为ASTM F963-23

美国材料试验协会 (ASTM)在10月13日发布了新的玩具安全标准:ASTM F963-23,ASTM F963-17美国联邦法规16 CFR 1250还在使用当中,出口美国的玩具的厂商要引起重视。 ASTM F963-17是什么标准? ASTM F963-17是美国玩具检测标准&#…...

【grpc】利用protobuf实现java或kotlin调用python脚本,含实现过程和全部代码

前言 在一些特殊场景中,我们可能需要使用java或者其他任意语言调用python脚本或sdk等。本文的需求衍生也不例外于此,python端有sdk,但只能在python中调用,于是就有了本文章。 常见的调用方式如jython、python提供http rest接口、…...

Linux网络 ----- 网络文件共享服务之FTP服务

引言 FTP服务是Internet上最早应用于主机之间进行数据传输的基本服务之一。是目前Internet上使用最广泛的文件传送协议 一、FTP概述 FTP(File TransferProtocol,文件传输协议)是典型的C/S架构的应用层协议,需要由服务端软件、客户端软件两个部分共同实…...

如何避免知识付费小程序平台的陷阱?搭建平台的最佳实践

随着知识经济的兴起,知识付费已经成为一种趋势。越来越多的人开始将自己的知识和技能进行变现,而知识付费小程序平台则成为了一个重要的渠道。然而,市面上的知识付费小程序平台琳琅满目,其中不乏一些不良平台,让老实人…...

第89讲:MySQL数据库迁移方面需要考虑的因素以及XBK企业级备份参数

文章目录 MySQL数据库迁移方面需要考虑的因素1.MySQL数据库迁移方面要考虑的因素2.MySQL5.6升级到5.7版本的方法3.MySQL迁移到其他数据库的方法4.为什么要从XBK备份中还原某张表的数据5.从XBK备份中还原某张表的数据6.XtrBackup企业级备份参数 MySQL数据库迁移方面需要考虑的因…...

Python爬虫经典实战项目——电商数据爬取!

电商数据采集爬虫背景 在如今这个网购风云从不间歇的时代,购物狂欢持续不断,一年一度的“6.18年中大促”、“11.11购物节”等等成为了网购电商平台的盛宴。在买买买的同时,“如何省钱?”成为了大家最关心的问题。 比价、返利、优…...

Qt 快捷键设置

以 “在编辑时自动补齐”快捷键 为例: 位置:红色 搜索快捷键:蓝色 修改方式:绿色 快捷键:黄色...

【C++】取整函数ceil(),floor(),round()

使用 //引入头文件 #include <cmath> //函数使用 double around(double x) double afloor(double x) double aceil(double x) 结果取值 floor(x) 返回是小于或等于x的最大整数&#xff0c;如floor(-9.9)-10,floor(9.9)9&#xff1b;若为整数&#xff0c;最后的结果等于本…...

GoLang刷题之leetcode

题目42&#xff1a;接雨水 题目描述&#xff1a; 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水 题解&#xff1a; 对于每一个横坐标能接到的雨水量max&#xff08;左侧最大纵坐标&#xff0c;右侧最大…...

uniapp如何分包加载

在uni-app中&#xff0c;可以通过配置manifest.json文件来实现分包加载。以下是具体操作步骤&#xff1a; 在项目根目录下找到并打开manifest.json文件。在"uni-app"节点中&#xff0c;找到并修改"subPackages"节点&#xff0c;添加需要分包的页面路径。 …...

019、错误处理:不可恢复错误与panic!

鉴于上一篇文章过长&#xff0c;不方便大家阅读和理解&#xff0c;因此关于Rust中的错误处理&#xff0c; 我将分以下3篇来讲。 另外&#xff0c;随着我们学习的不断深入&#xff0c;难度也会越来越大&#xff0c;但不用担心。接下来只需要让自己的脚步慢一些&#xff0c;认真搞…...

jar包部署到linux虚拟机的docker中之后连不上mysql

前言&#xff1a; 跟着黑马学习docker的时候&#xff0c;将java项目部署到了docker中&#xff0c;运行访问报错&#xff0c;反馈连不上mysql。 错误描述&#xff1a; 方法解决&#xff1a; 概述&#xff1a;在虚拟中中&#xff0c;我进入项目容器的内部&#xff0c;尝试ping…...

如何筛选小红书护肤达人,笔记类型怎么选?

网络时代&#xff0c;借助KOL来放大产品的声量和产量&#xff0c;是品牌的常见策略&#xff0c;但是&#xff0c;不同的产品对应不同的KOL&#xff0c;价值是完全不一样。如何筛选达人&#xff0c;已经成为了品牌方的必修课!今天我们和大家分享下如何筛选小红书护肤达人&#x…...

红黑树(RBTree)

目录​​​​​​​ 一、红黑树简介 二、红黑树的来源 三、什么是红黑树 四、红黑树的性质 五、红黑树的节点定义 六、红黑树的操作 6.1、红黑树的查找 6.2、红黑树的插入 七、红黑树的验证 八、红黑树和AVL树的比较 一、红黑树简介 红黑树是一种自平衡的二叉查找树…...

训练YOLOS-S

文章目录 1 数据处理2 配置训练参数3 可能会遇到的报错 1 数据处理 修改类别数&#xff1a;在models/detector.py中定位到def build(args):&#xff0c;将num_classes进行修改&#xff0c;改为最大的类别id1。我有4个类别&#xff0c;类别id是从0~3&#xff0c;因此max_id3&am…...

MS5611高精度气压温度传感器Arduino驱动库

1. 项目概述MS5611-Mike-Refactored 是一款面向嵌入式平台&#xff08;特别是 Arduino 兼容生态&#xff09;的 MS5611 高精度气压/温度传感器驱动库。该库并非简单封装&#xff0c;而是对 Korneliusz Jarzebski 原始实现的一次系统性重构与工程化增强。其核心目标是将一个基础…...

SEO_10个提升网站排名的SEO技巧与实战方法

SEO:10个提升网站排名的SEO技巧与实战方法 在当今数字化时代&#xff0c;网站排名不仅关乎网站的曝光率&#xff0c;更影响到业务的发展。因此&#xff0c;提升网站排名&#xff08;SEO&#xff09;成为了每一个网站主的首要任务。有哪些SEO技巧能够帮助提升网站的排名呢&…...

OpenClaw + Seedance 2.0实战:从零搭建全自动AI视频生成流水线

OpenClaw Seedance 2.0实战&#xff1a;从零搭建全自动AI视频生成流水线 前言 这篇记录我用OpenClaw Agent串联Seedance 2.0满血版API&#xff0c;搭建全自动视频生产流水线的完整过程。包括架构设计、Skill编写、API调用细节和踩坑记录。 一、架构设计 用户输入&#xff…...

嵌入式ONPS协议栈:轻量级TCP/IP实现与优化

1. ONPS协议栈概述ONPS是一款专为资源受限的嵌入式系统设计的开源网络协议栈&#xff0c;由国内开发者完全自主开发实现。作为一名长期从事嵌入式网络开发的工程师&#xff0c;我第一次接触ONPS时就对其轻量级设计和完整的功能实现印象深刻。与常见的LwIP等协议栈相比&#xff…...

MentorBit红外驱动库:裸机与RTOS下的精准时序控制

1. MentorBit-DetectorIR 库概述MentorBit-DetectorIR 是一款专为 MentorBit 红外发射/接收模块设计的嵌入式底层驱动库&#xff0c;其核心定位并非通用红外协议栈&#xff08;如 NEC、RC5 解码&#xff09;&#xff0c;而是面向硬件验证、模块级功能测试与快速原型开发的轻量级…...

元宇宙中的软件开发和测试:新场景,新挑战

从二维平面到三维宇宙的范式跃迁我们正站在一个数字时代的分水岭上。元宇宙&#xff0c;这个融合了虚拟现实、增强现实、区块链、人工智能与物联网的复杂数字生态&#xff0c;正将软件测试的战场从熟悉的二维平面界面&#xff0c;推向一个充满无限可能的三维沉浸式宇宙。对于软…...

libcimbar视觉传输工具实战指南:跨设备无网络数据传输解决方案

libcimbar视觉传输工具实战指南&#xff1a;跨设备无网络数据传输解决方案 【免费下载链接】libcimbar Optimized implementation for color-icon-matrix barcodes 项目地址: https://gitcode.com/GitHub_Trending/li/libcimbar 一、核心价值解析&#xff1a;突破网络限…...

效率倍增:用快马AI生成服务器批量管理工具,告别重复劳动

最近在团队里负责服务器运维工作&#xff0c;经常需要同时管理几十台服务器。每次登录、执行重复命令、检查状态都要耗费大量时间&#xff0c;直到发现了用InsCode(快马)平台快速搭建批量管理工具的方法&#xff0c;效率直接翻倍。今天就把这个自动化管理方案分享给大家。 痛点…...

解锁论文写作新姿势:书匠策AI,你的期刊论文智囊团

在学术的浩瀚海洋中&#xff0c;每一位探索者都渴望拥有一盏明灯&#xff0c;照亮前行的道路。对于广大教育领域的学者、研究生乃至本科生而言&#xff0c;撰写一篇高质量的期刊论文不仅是学术能力的体现&#xff0c;更是通往更高学术殿堂的钥匙。然而&#xff0c;面对繁琐的选…...

给 Claude Code 装上浏览器:Chrome 集成测试版详解

程序员们早就习惯了在终端里跟 AI 助手聊天、改代码、跑测试。但有一个场景始终有点绕——代码改完了&#xff0c;得切到浏览器里看看效果、查查报错、填填表单&#xff0c;然后再切回终端告诉 AI “好像还差点意思”。来回折腾几次&#xff0c;思路容易断。 Anthropic 最近放出…...