12种算法优化CNN-BiLSTM-Attention多特征输入单步预测,机器学习预测全家桶,持续更新,MATLAB代码...

截止到本期,一共发了12篇关于机器学习预测全家桶MATLAB代码的文章。参考文章如下:

1.五花八门的机器学习预测?一篇搞定不行吗?

2.机器学习预测全家桶,多步预测之BiGRU、BiLSTM、GRU、LSTM,LSSVM、TCN、CNN,光伏发电数据为例

3.机器学习预测全家桶,多步预测之组合预测模型,光伏发电数据为例

4.机器学习预测全家桶之Xgboost,交通流量数据预测为例,MATLAB代码

5.机器学习预测全家桶之CNN-RVM(相关向量机),风电功率预测,MATLAB代码

6.水N篇论文就靠它了!Adaboost风电功率预测,机器学习预测全家桶,MATLAB代码

7.机器学习预测全家桶之单变量输入单步预测,天气温度预测为例,MATLAB代码

8.2023年冠豪猪算法优化CNN-GRU-Attention多特征输入多步预测,MATLAB代码

9.机器学习预测全家桶之单变量输入多步预测,天气温度预测为例,MATLAB代码

10.机器学习预测全家桶新增VMD-TCN-GRU/BiGRU-Attention模型,MATLAB代码

11.金豺算法优化TCN-BiGRU-Attention多特征输入单步预测,MATLAB代码

12.LSTM实现递归预测。机器学习预测全家桶,持续更新,MATLAB代码


今天在机器学习预测全家桶中继续添加12种算法优化CNN-BiLSTM-Attention模型预测的代码。其中Attention模型可以改为单头或者多头,在代码中就是改个数字而已。代码注释已写好如何更改。

本期代码主要功能为:采用12种算法优化CNN-BiLSTM-Attention模型的四个参数,分别是分别是学习率,BiLSTM的神经元个数,注意力机制的键值, 正则化参数。并进行了优化前后的结果比较。

12种算法如下:

包括:  北方苍鹰算法(NGO)、蜣螂优化算法(DBO)、  灰狼优化算法(GWO)、 鱼鹰优化算法(OOA)、 粒子群算法(PSO)、 减法优化器算法(SABO)、 沙猫群优化算法(SCSO)、 麻雀优化算法(SSA)、 白鲸优化算法(BWO)、 霜冰优化算法(RIME)、 鲸鱼优化算法(WOA)、 哈里斯鹰优化算法(HHO)。

代码中12种算法可以随意切换!也可以搭配推出的改进智能算法使用。

学会这几种算法的调用,你就可以任意替换别的算法!代码设置如下:

% 可选:'DBO','GWO','OOA','PSO','SABO','SCSO','SSA','BWO','RIME','WOA','HHO','NGO';[Best_score,Best_pos,curve]=NGO(popsize,maxgen,lb,ub,dim,fobj); %修改这里的函数名字即可

CNN-BiLSTM-Attention模型

CNN能够对时间序列数据进行特征提取,但不能发掘出时间序列数据中的长依赖问题:BiLSTM能够很好地对时间序列数据进行学习,解决CNN不能处理的长依赖问题,因此将CNN和BiLSTM组合构成CNN-BiLSTM模型,能够充分发挥各自神经网络模型的优点,从而提高模型预测精度。

CNN-BiLSTM模型能够充分发挥模型各部分的优点,进行时间序列数据预测,但该模型在使用输入项多、数据量大的时间序列数据进行模型训练时,可能存在着忽略部分时刻数据的重要特征信息,导致模型学习能力下降,从而影响模型预测精度。Attention能够捕获时间序列数据中不同时刻数据的特征状态对预测值的影响程度,从而提高模型的预测精度。因此,在CNN-BiLSTM模型中引入Attention能够很好的解决原有模型忽略部分重要特征信息的问题,从而提高模型预测精度。

基于CNN-BiLSTM-Attention的预测模型结构如图所示,该模型由输入层、CNN层(卷积层和池化层)、BiLSTM层(前向LSTM层和后向LSTM层)、Attention层、输出层构成。使用CNN-BiLSTM-Attention模型进行预测时,输入层将对应的特征数据输入;CNN层中的卷积层对输入的数据进行特征提取,选取重要特征数据,池化层对特征数据进行降维处理;BiLSTM层将CNN层提取特征降维后的数据分别通过前向和后向链式连接的多个LSTM单元进行时间序列数据计算得到输出数据;Attention层计算不同时刻数据的特征状态对预测值的注意力值,得到时间序列各项数据与预测值的关联性;输出层对Attention层输出的数据进行输出计算,得到预测值。

5a64d99e6c9443fc08972538100fbdb4.png

CNN-BiLSTM-Attention网络模型搭建

本次搭建的模型如下:

9d8058c1ba9458d229da6f5bda8538a8.png

数据准备

数据集统一采用新疆某地风电发电功率数据。

数据包含特征如下:测风塔10m风速(m/s) 、测风塔30m风速(m/s) 、测风塔50m风速(m/s) 、测风塔70m风速(m/s)、 轮毂高度风速(m/s) 、测风塔10m风向(°) 、测风塔30m风向(°) 、测风塔50m风向(°) 、测风塔70m风向(°)、 轮毂高度风向(°) 、温度(°) 、气压(hPa)、 湿度(%) 实际发电功率(mw)。部分数据截图如下:

84ff31fc44bcff9195352322e355493d.png

选取3月份数据,每个样本组成为:延时步长为10,跨时间步长为1。也就是采用前10个样本的所有特征,去预测下一个样本的发电功率。

以表格中数据为例,以2019年1月1日0点~2019年1月1日2点的所有数据(包括功率)组合起来放一块并变成一行,然后把2点15的功率数据也组合到这一行,这就形成了第一个样本。最后一列是2点15的功率。就这样以此类推,得到好多好多样本。然后划分训练集和测试集就ok了。

以北方苍鹰算法优化CNN-BiLSTM-Attention进行展示

bb3b171dca7ace75c354d58297c88da0.png

00b1f02c3337c626d43e5f42b52a3b59.png

38728eaf52817af6d2d909d3d306e0b8.jpeg

7e37f27752badc6d1999826ad619a0c4.png

可以看到,优化后,CNN-BiLSTM-ATTENTION的预测精度有所提升!

本文代码获取链接:

https://mbd.pub/o/bread/ZZqXm5ds

识别此二维码也可跳转本文算法:

58c7fe6d2f0c1627ca5c5f71c8575034.png

代码包含了自注意力机制,需要2023及以上版本的matlab。安装包一并附在代码中了。

机器学习预测全家桶代码获取

已将本文算法加入机器学习预测全家桶中,需要的小伙伴可以跳转链接获取:

https://mbd.pub/o/bread/ZZmWk5xp

识别此二维码也可跳转全家桶

25f345f0792421c75ee75c1d923636f7.png

或点击下方阅读原文获取此全家桶。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【lesson8】高并发内存池Central Cache层释放内存的实现

文章目录 Central Cache层释放内存的流程Central Cache层释放内存的实现 Central Cache层释放内存的流程 当thread_cache过长或者线程销毁,则会将内存释放回central cache中的,释放回来时–use_count。当use_count减到0时则表示所有对象都回到了span&am…

备战蓝桥杯---数据结构与STL应用(进阶4)

今天主要围绕并查集的一些今典题目展开: 在这里,我们把逻辑真的组合,用并查集即可。一开始,我觉得把a,b,c等价,把第一个赋a,接下来推即可,但这样在判断矛盾时还需要选择合适的点find,于是我们把…

深度学习(10)-Keras项目详解(递归神经网络)

一.递归神经网络基础概念 递归神经网络(Recursive Neural Network, RNN)可以解决有时间序列的问题,处理诸如树、图这样的递归结构。 CNN主要应用在计算机视觉CV中,RNN主要应用在自然语言处理NLP中。 1.h0,h1.....ht对应的是不同输入得到的中…

debian12 解决 github 访问难的问题

可以在 /etc/hosts 文件中添加几个域名与IP对应关系,从而提高 github.com 的访问速度。 据搜索了解(不太确定),可以添加这几个域名:github.com,github.global.ssl.fastly.net,github.global.fa…

银河麒麟 aarch64 Mysql环境安装

一、操作系统版本信息 组件版本操作系统Kylin V10 (SP3) /(Lance)-aarch64-Build23/20230324Kernel4.19.90-52.22.v2207.ky10.aarch64MySQLmysql-8.3.0JDK1.8.0_312 二、MySQL下载 官网下载地址:https://dev.mysql.com/downloads/mysql/ 三、MySQL 安装 3.1 删…

年终奖,还得是腾讯。。。

腾讯年终奖 什么是真正的好公司? 一年到头,出不了几次裁员等劳务纠纷的吃瓜新闻。 只有到年底了,才因为年终奖远高于行业水平,实在没法低调了,"被迫"上热搜。 最近网友爆料了腾讯头牌部门的年终奖&#xff1…

JavaSE——流程控制-循环结构(for循环、while循环、小案例、do-while循环、死循环、循环嵌套)

目录 for循环 while循环 小案例 do-while循环 死循环 循环嵌套 for循环 for(int i 0; i < 5; i) {System.out.println("Hello world"); } 执行的流程&#xff1a; 循环一开始&#xff0c;执行int i0 一次。此时 i 0&#xff0c;接着计算机执行循环条件…

下载RTSP播放器

1.网站1 2.海康播放器 在海康官网上选择【服务支持】【工具软件】&#xff0c;往下滚动&#xff0c;打开VSPlayer_x64

陪女朋友学习计算机二级之栈和队列

栈 栈(堆栈)的定义 堆栈又名栈(stack),它是一种线性表。限定仅在表尾进行插入和删除操作的线性表。是一种后进先出的线性表. 空栈:不含任何元素的空表。 栈顶和栈底 进行插入和删除的这一端(表尾)被称为栈顶&#xff0c;相对地&#xff0c;把另一端称为栈底。 入栈和出栈 …

大小姐驾到!高德地图联合《王者荣耀》推出孙尚香导航语音包

“大小姐驾到&#xff01;统统闪开&#xff01;”如果你是一个手游爱好者&#xff0c;多半会对这句话耳熟能详&#xff0c;来自于国内手游界顶流《王者荣耀》中的高人气角色——孙尚香&#xff0c;并成为一代玩家们的记忆。 如今&#xff0c;随着高德地图与《王者荣耀》达成合…

java之ReentrantLock

在讲RentrantLock之前需要先讲一下AQS和LockSupport&#xff0c;因为rentrantLock底层是用AQS实现的&#xff0c;而AQS中获取阻塞和唤醒底使用LockSupport实现的。 1、LockSupport实现 下面代码中&#xff0c;LockSupport.park方法是当前线程等待&#xff0c;直到获得许可&am…

Istio-解决Zipkin对项目的侵入性问题

Istio采用SideCar模式注入的Enovy代理在某些情况下不能完全解决对项目的无侵入性&#xff0c;比如需要用到Istio的链路追踪功能的时候。需要在代码中手动注入链路追踪需要的header&#xff0c;这样就出现了Istio对业务功能的侵入性。 istio服务网格的调用链跟踪需要依赖在服务之…

大数据环境搭建(一)-Hive

1 hive介绍 由Facebook开源的,用于解决海量结构化日志的数据统计的项目 本质上是将HQL转化为MapReduce、Tez、Spark等程序 Hive表的数据是HDFS上的目录和文件 Hive元数据 metastore&#xff0c;包含Hive表的数据库、表名、列、分区、表类型、表所在目录等。 根据Hive部署模…

axios二次封装用法

axios二次封装 一、request.js import axios from axios import router from "/router";const request axios.create({baseURL: http://localhost:9090,timeout: 5000 })// request 拦截器 // 可以自请求发送前对请求做一些处理 // 比如统一加token&#xff0c;对…

什么是进销存?一文读懂进销存管理系统

阅读本文&#xff0c;你将了解&#xff1a;一、什么是进销存&#xff1b;二、什么是进销存管理系统&#xff1b;三、为什么有必要使用进销存管理系统&#xff1b;四、进销存管理系统的优势&#xff1b;五、好用的进销存管理系统。 这是我们公司搭建好的免费进销存系统模版&…

近屿智能引领行业前沿,精心打造AIGC大模型工程师和产品经理的进阶之路(附完整版学习路径图)

近屿智能&#xff0c;倾力打造了一套独特的AIGC大模型工程师和产品经理学习路径图。该路径图清晰地展示了从初学者到专家水平的技能进阶过程&#xff0c;为工程师和产品经理提供了明确的学习目标和成长路径。 这套学习路径图适用于不同背景和经验的学习者&#xff0c;无论您是初…

GPT在地学、GIS、气象、农业、生态、环境等领域中的高级应用

详情点击公众号&#xff1a;技术科研吧 链接&#xff1a;GPT在地学、GIS、气象、农业、生态、环境等领域中的高级应用 一开启大模型 1 开启大模型 1)大模型的发展历程与最新功能 2)大模型的强大功能与应用场景 3)国内外经典大模型&#xff08;ChatGPT、LLaMA、Gemini、DAL…

Python创建类的成员并访问

在Python中&#xff0c;类是面向对象编程的核心概念之一。通过类的定义&#xff0c;可以创建对象并定义对象的属性和方法。本文将介绍在Python中如何创建类的成员&#xff08;包括属性和方法&#xff09;&#xff0c;以及如何访问类的成员。 1. 创建类的属性 在Python…

【XR806开发板试用】TCP通信测试 Ping 命令测试

1.工程准备 由于要使用wifi功能&#xff0c;直接从wlan_demo复制一份出来&#xff0c;然后修改。 源文件只留下 main.c 就可以了。 BUILD.gn文件 import("//device/xradio/xr806/liteos_m/config.gni")static_library("app_mying") {configs []sources…

2024美赛C题完整解题教程及代码 网球运动的势头

2024 MCM Problem C: Momentum in Tennis &#xff08;网球运动的势头&#xff09; 注&#xff1a;在网球运动中&#xff0c;"势头"通常指的是比赛中因一系列事件&#xff08;如连续得分&#xff09;而形成的动力或趋势&#xff0c;这可能对比赛结果产生重要影响。球…