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

时序预测 | MATLAB实现WOA-CNN-BiLSTM-Attention时间序列预测(SE注意力机制)

时序预测 | MATLAB实现WOA-CNN-BiLSTM-Attention时间序列预测(SE注意力机制)

目录

    • 时序预测 | MATLAB实现WOA-CNN-BiLSTM-Attention时间序列预测(SE注意力机制)
      • 预测效果
      • 基本描述
      • 模型描述
      • 程序设计
      • 参考资料

预测效果

在这里插入图片描述

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

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

基本描述

1.MATLAB实现WOA-CNN-BiLSTM-Attention时间序列预测(SE注意力机制);
2.运行环境为Matlab2021b;
3.data为数据集,excel数据,单变量时间序列预测,
main.m为主程序,运行即可,所有文件放在一个文件夹;
4.命令窗口输出R2、MSE、MAE、MAPE和MBE多指标评价;
5.鲸鱼算法优化学习率,隐藏层节点,正则化系数;

模型描述

注意力机制模块:
SEBlock(Squeeze-and-Excitation Block)是一种聚焦于通道维度而提出一种新的结构单元,为模型添加了通道注意力机制,该机制通过添加各个特征通道的重要程度的权重,针对不同的任务增强或者抑制对应的通道,以此来提取有用的特征。该模块的内部操作流程如图,总体分为三步:首先是Squeeze 压缩操作,对空间维度的特征进行压缩,保持特征通道数量不变。融合全局信息即全局池化,并将每个二维特征通道转换为实数。实数计算公式如公式所示。该实数由k个通道得到的特征之和除以空间维度的值而得,空间维数为H*W。其次是Excitation激励操作,它由两层全连接层和Sigmoid函数组成。如公式所示,s为激励操作的输出,σ为激活函数sigmoid,W2和W1分别是两个完全连接层的相应参数,δ是激活函数ReLU,对特征先降维再升维。最后是Reweight操作,对之前的输入特征进行逐通道加权,完成原始特征在各通道上的重新分配。

1
2

程序设计

  • 完整程序和数据获取方式:私信博主回复MATLAB实现WOA-CNN-BiLSTM-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]=WOA(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")                                          % Relu 激活层lgraph = addLayers(lgraph, tempLayers);                                  % 将上述网络结构加入空白结构中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"); % 折叠层输出连接反折叠层输入
lgraph = connectLayers(lgraph, "relu_2", "sequnfold/in");            % 激活层输出 连接 反折叠层输入%% 参数设置
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实现WOA-CNN-BiLSTM-Attention时间序列预测(SE注意力机制)

时序预测 | MATLAB实现WOA-CNN-BiLSTM-Attention时间序列预测(SE注意力机制) 目录 时序预测 | MATLAB实现WOA-CNN-BiLSTM-Attention时间序列预测(SE注意力机制)预测效果基本描述模型描述程序设计参考资料 预测效果 基本描述 1.MAT…...

VINS-Mono-后端优化 (一:预积分残差计算-IMU预积分约束)

这里先回顾一下预积分是怎么来的 VINS-Mono-IMU预积分 (三:为什么要预积分预积分推导) 这里贴出预积分的公式 具体含义解释看对对应的文章 整个误差函数如下 预积分 α \alpha α β \beta β γ \gamma γ 是用 IMU 预积分获得的增量&a…...

怎么调整excel表里面所有单元格中,某个相同字体大小,单元格中其他文字大小不变?

环境: excel 2021 python3.8 问题描述: 怎么调整excel表里面所有单元格里面1这个字体大小,单元格里面其他文字不变? excel表里面。很多单元格都有1,1和文字都是10号字体,现在想把全部1字字体调整为16号其他字大小都不变 解决方案: 一、使用python来实现,经过测…...

流式数据库引擎备受关注,亚信安慧AntDB数据库受邀参加“2023中国PostgreSQL数据库生态大会”

11月3日至5日,2023中国PostgreSQL数据库生态大会在北京中科院软件所大报告厅盛大召开,大会现场百余位专家学者、企业、用户代表及线上数千位观众,就近年来国产数据库技术与市场变革进行深入探讨。湖南亚信安慧科技有限公司(简称&a…...

kafka开启SSL认证(包括内置zookeeper开启SSL)

zookeeper和kafka的SSL开启都可单独进行 生成SSL证书 使用jre自带的keytool工具生成,linux和windows下生成的证书可以通用 生成含有一个私钥的keystore文件,有效期10年(本文证书密码统一使用test123) keytool -genkeypair -ali…...

Powerpoint不小心被覆盖?PPT误删文件如何恢复?

PowerPoint不小心删除了,这可能是众多学生和工作人员最头痛的事情了。PPT被覆盖或误删可能意味着几个小时的努力付之东流。那么PPT覆盖的文档要如何救回来呢?小编将会在本篇文章中为大家分享几个解决方案,使PPT文档覆盖还原操作成为可能&…...

美团产品经理面试题大解密:流量VS口碑,如何找到最佳平衡点?

大家好,我是你们的小米。最近我参加了一场美团的产品经理面试,其中一个问题让我颇为犯愁:“产品应该追求高流量还是高口碑?”这个问题困扰了很多产品经理,因为两者似乎都对产品的成功有着重要影响。今天我就来和大家一…...

docker部署tomcat

1.下载tomcat镜像 尽量去下载最新版本 直接输入docker pull tomcat 后面不跟版本号(要是跟版本号,你还要去官网去查看是否有此版本,太麻烦了) 2.查看镜像 3.通过镜像去run启动容器 -d 就是后台运行 --name 给容器取个新名字 -p 3355:8080…...

大语言模型(LLM)综述(七):大语言模型设计应用与未来方向

A Survey of Large Language Models 前言8 A PRACTICAL GUIDEBOOK OF PROMPT DESIGN8.1 提示创建8.2 结果与分析 9 APPLICATIONS10 CONCLUSION AND FUTURE DIRECTIONS 前言 随着人工智能和机器学习领域的迅速发展,语言模型已经从简单的词袋模型(Bag-of-…...

牛客网:链表分割

一、题目 函数原型: ListNode* partition(ListNode* pHead, int x) 二、思路 根据题意,可以设置两个新的链表,将原链表中所有小于x的结点链接到链表1中,大于x的结点链接到链表2中,最后再将两个链表合并即可。 此题有两…...

pytorch(小土堆)深度学习

第五节课讲项目的创建和对比 第六节:Dataset,Dataloader Dataset提供一种方式区获取数据及其label(如何获取每一个数据及其label,告诉我们总共有多少的数据) Dataloader为后面的网络提供不同的数据形式 第七节:Dataset类代码实战 显示图片 f…...

统计 boy girl 复制出来多少次。 浴谷 P1321题

统计 boy girl 复制出来多少次。 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <iomanip>void fun(char* s) {int boy 0, girl 0;int t 0;while (*s) {if (t 0 && *s!.) {t 1;if (*s b || *s o || *s y)boy 1;elsegirl 1;}…...

odoo16前端框架分析1 boot.js

odoo16前端框架分析1 boot.js odoo16的前端基于owl组件系统&#xff0c;这是一个类似vue&#xff0c;react的现代js框架。 前端框架都放在了web模块中&#xff0c;具体的位置是addons/web/static/src 不过今天要说的不是owl&#xff0c;而是跟前端启动有关的几个重要文件 1、…...

酷开科技持续推动智能投影行业创新发展

近年来&#xff0c;投影仪逐渐成为年轻人追捧的家居时尚单品。据国际数据公司&#xff08;IDC&#xff09;报告显示&#xff0c;2022年中国投影机市场总出货量505万台&#xff0c;超80%为家用投影仪。相比于电视&#xff0c;投影仪外观小巧、屏幕大小可调节&#xff0c;无论是卧…...

TIA博途中已经被调用的变量,为什么交叉引用时却没有显示调用信息?

TIA博途中已经被调用的变量&#xff0c;为什么交叉引用时却没有显示调用信息&#xff1f; 故障现象&#xff1a; 如下图所示&#xff0c;在HMI的画面中&#xff0c;已经连接了对应的变量&#xff0c; 如下图所示&#xff0c;这里为HMI变量表&#xff0c; 如下图所示&#xff…...

OSPF下的MGRE实验

一、实验要求 1、R1-R3-R4构建全连的MGRE环境 2、R1-R5-R6建立hub-spoke的MGRE环境&#xff0c;其中R1为中心 3、R1-R3...R6均存在环回网段模拟用户私网&#xff0c;使用OSPF使全网可达 4、其中R2为ISP路由器&#xff0c;仅配置IP地址 二、实验拓扑图 三、实验配置 1、给各路…...

论文速览 | TRS 2023: 使用合成微多普勒频谱进行城市鸟类和无人机分类

注1:本文系“最新论文速览”系列之一,致力于简洁清晰地介绍、解读最新的顶会/顶刊论文 论文速览 | TRS 2023: Urban Bird-Drone Classification with Synthetic Micro-Doppler Spectrograms 原始论文:D. White, M. Jahangir, C. J. Baker and M. Antoniou, “Urban Bird-Drone…...

《网络协议》02. 物理层 · 数据链路层 · 网络层

title: 《网络协议》02. 物理层 数据链路层 网络层 date: 2022-08-31 22:26:48 updated: 2023-11-08 06:58:52 categories: 学习记录&#xff1a;网络协议 excerpt: 物理层&#xff08;数据通信模型&#xff0c;信道&#xff09;、数据链路层&#xff08;封装成帧&#xff0c…...

【chatgpt问答记录】双端队列、栈和函数调用栈

collections.deque和queue.Queue的区别 Q&#xff1a;collections.deque()跟queue.Queue()有什么区别&#xff1f; collections.deque() 和 queue.Queue 是两种不同的数据结构&#xff0c;它们有一些区别&#xff1a; 实现方式&#xff1a; collections.deque() 是 Python 标…...

另辟蹊径者 PoseiSwap:背靠潜力叙事,构建 DeFi 理想国

前不久&#xff0c;灰度在与 SEC 就关于 ETF 受理的诉讼案件中&#xff0c;以灰度胜诉告终。灰度的胜利&#xff0c;也被加密行业看做是加密 ETF 在北美地区阶段性的胜利&#xff0c; 该事件也带动了加密市场的新一轮复苏。 此前&#xff0c;Nason Smart Money 曾对加密市场在 …...

基于SimAM无参数注意力机制的YOLOv10改进:提升目标检测性能的新范式

摘要 在计算机视觉领域,目标检测任务一直是研究的热点与难点。YOLOv10作为YOLO系列的最新成员,凭借其出色的实时性能和检测精度,已经在工业界和学术界获得了广泛应用。然而,如何在保持模型轻量化的同时进一步提升特征表达能力,仍然是一个值得深入探索的问题。本文提出了一…...

智慧学生管理系统怎么选?学校管理效率轻松翻倍!

✅作者简介&#xff1a;合肥自友科技 &#x1f4cc;核心产品&#xff1a;智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…...

互联网大厂Java求职面试:从Spring Boot到微服务的技术探讨

互联网大厂Java求职面试&#xff1a;从Spring Boot到微服务的技术探讨 在某个阳光明媚的下午&#xff0c;互联网大厂的面试室里&#xff0c;面试官严肃地坐在桌子后面&#xff0c;准备对候选人燕双非进行一轮面试。第一轮提问 面试官&#xff1a;燕双非&#xff0c;你能给我讲讲…...

别再死记硬背了!用Python脚本帮你秒懂UDS诊断中的ISO15765-2 PDU

别再死记硬背了&#xff01;用Python脚本帮你秒懂UDS诊断中的ISO15765-2 PDU 每次面对ISO15765-2协议文档中那些晦涩的PDU格式描述&#xff0c;你是否也感到头疼&#xff1f;单帧(SF)、首帧(FF)、流控帧(FC)、连续帧(CF)这些概念看似简单&#xff0c;但当它们以十六进制字节流的…...

ETASOLUTIONS钰泰 ETA9740E8A ESOP8 电池管理

特性单电感双向功率转换自动模式切换开关充电器5V同步升压&#xff0c;效率高达96%最大充电电流达3A&#xff0c;放电电流达2.4A无电池检测无需外部检测电阻4个LED电量指示...

Telegram数据恢复避坑指南:为什么专业工具有时也救不了你的聊天记录?

Telegram数据恢复的深层解析&#xff1a;当技术遇上物理极限 "我的聊天记录还能找回来吗&#xff1f;"这个看似简单的问题背后&#xff0c;隐藏着从密码学到存储介质的复杂技术链条。当你在Telegram上按下"删除"的那一刻&#xff0c;实际上触发的是一系列精…...

SAP STO跨公司交易流程

STO跨公司交易实战排错手册&#xff1a;从采购订单到发票校验的深度解析 当你在凌晨两点接到用户紧急电话&#xff0c;告知VL02N发货过账报错导致生产线即将停工时&#xff0c;作为SAP顾问的你是否能快速定位STO配置的致命缺陷&#xff1f;这份手册将解剖STO全流程中的21个关键…...

云原生环境中的DevOps最佳实践:从基础设施即代码到GitOps的全面指南

云原生环境中的DevOps最佳实践&#xff1a;从基础设施即代码到GitOps的全面指南 &#x1f525; 硬核开场 各位技术大佬们&#xff0c;今天咱们来聊聊云原生环境中的DevOps最佳实践。别跟我说你的运维还在手动配置&#xff0c;那都不叫DevOps&#xff01;在云原生时代&#xf…...

酷特AGI:从“自家试验田”到“全球输出”

近期&#xff0c;青岛酷特智能股份有限公司签约了一份意义深远的合同。这不是一份普通的商业合同&#xff0c;而是酷特AGI首次落地海外制造企业的“出征令”。 签约对象是一家美国知名家具连锁企业。合作内容清晰而笃定&#xff1a;用酷特AGI对其位于越南的工厂进行全面数智化改…...

回调函数bind是否需要std::placeholder::_1

不是必须&#xff01; 只有“调用时才传参数的”才需要占位符 std::placeholders 一、核心规则 1. 如果回调函数不需要参数 → 不需要占位符 2. 如果回调函数需要参数&#xff0c;但绑定时已经直接给死了 → 不需要占位符 3. 如果参数是【调用时才传进来的】 → 必须用占位符 _…...