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

news2024/11/16 0:32:45

截止到本期,一共发了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.coloradmin.cn/o/1431147.html

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

相关文章

leetcode正则表达式匹配问题(困难)

1.题目描述 2.解题思路,这道题自己没做出来,看了官方的题解,感觉对自己来说确实是比较难想的。使用了动态规划的解决方案,这种方案看题解都不一定能看明白,不过有个评论画图讲解的非常明白。其实仔细看题解的话&#…

Vue服务端渲染

Vue服务端渲染 一、服务端渲染基础 1、概述 我们现在可以使用Vue,React等开发SPA单页面应用,单页面应用的优点,用户体验好,开发效率高,可维护性好等。 缺点:首屏渲染时间长(在客户端通过JS来生成html来…

ios搭建OpenGL环境

前言 本篇文章介绍在ios搭建OpenGL开发环境 在app的启动文章中,讲述了一个ios应用是如何启动的以及在IOS 13之后苹果公司推出的多窗口功能,通过app的启动这篇文章,我们基本能随心所欲的搭建一个app应用环境,搭建完成后的基本文件…

Vim工具使用全攻略:从入门到精通

引言 在软件开发的世界里,Vim不仅仅是一个文本编辑器,它是一个让你的编程效率倍增的神器。然而,对于新手来说,Vim的学习曲线似乎有些陡峭。本文将手把手教你如何从Vim的新手逐渐变为高手,深入理解Vim的操作模式&#…

高级编程 (1)

Linux软件编程: 1.Linux: 操作系统的内核 1.管理CPU 2.管理内存 3.管理硬件设备 4.管理文件系统 5.任务调度 2.Shell: 1.保护Linux内核(用户和Linux内核不直接操作,通过操作Shell,Shell和内核交互) 2.命令解释器 3.Shell命令: …

快速理解复杂系统组成学习内容整合

目录 一、复杂系统组成 二、接入系统 (Access System) 三、应用系统 (Application System) 四、基础平台 (Foundation Platform) 五、中间件 (Abundant External Middleware) 六、支撑系统 (Supporting System) 参考文章 一、复杂系统组成 复杂系统是由多个相互关联、相…

【c++】vector用法详解

vector用法详解 vector定义vector容器的构造函数vector容器内元素的访问1.通过下标 [ ]来访问2.通过迭代器来访问3.通过范围for来访问 vector常用函数的用法解析1.size()2.clear()3.capacity()4.reserve()5.resize()6.shrink_to_fit()7.pop_back()8.push_back()9.erase()10.in…

TQ15EG开发板教程:使用vivado2023.1建立hello world工程

1:打开软件建立工程 2:使用vivado创建设计模块并生成bit文件 3:导出硬件平台,使用vitis建立工程 4:使用vitis创建应用程序项目 5:硬件设置与调试 1:打开软件建立工程 打开VIVADO2023.1 创建一个新的工程 输入项目名称和地址,下面那个选项为是否…

有关使用Lombok@Builder注解构建对象返回为空

目录 问题 原因 解决方案 问题 使用lombokBuilder注解构建对象返回结果为空 原因 Builder注解底层调用setter等方法赋值,你如果没加Data注解就赋值不上,idea也不会错误警示,运行也不会抛出异常,这个平时不注意漏掉这个点还真…

AI Partition(银灿U盘分区工具)V2.0.0.3

AI Partition(银灿U盘分区工具)V2.0.0.3.zip 复制链接下载吧 https://url20.ctfile.com/f/36743220-1017367709-67f1b9?p2024 (访问密码: 2024) 支持IS903B IS902E IS916 AI Partition(银灿U盘分区量产工具) 这个是银灿官方发布的最新版U盘分区工具,版本号V2.0.0…

开源浏览器Firefox:使用Docker本地部署并远程访问进行测试

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. 部署Firefox二. 本地访问Firefox三. Linux安装Cpolar四. 配置Firefox公网地址…

实战打靶集锦-023-oscp

文章目录 1. 主机发现2. 端口扫描3. 服务枚举4. 服务探查4.1 探查ssh4.2 探查Apache4.2.1 爆破admin4.2.2 利用secret.txt 5. 提权5.1 枚举主机信息5.2 查看passwd文件5.3 枚举定时任务5.4 枚举可执行文件5.5 查看EXP5.6 Capabilities位5.7 Linpeas提权 靶机地址:ht…

[python]基于LSTR车道线实时检测onnx部署

【框架地址】 https://github.com/liuruijin17/LSTR 【LSTR算法介绍】 LSTR车道线检测算法是一种用于识别和定位车道线的计算机视觉算法。它基于图像处理和机器学习的技术,通过对道路图像进行分析和处理,提取出车道线的位置和方向等信息。 LSTR车道线…

深入理解网络通信和TCP/IP协议

目录 计算机网络是什么? 定义和分类 计算机网络发展简史 计算机网络体系结构 OSI 七层模型 TCP/IP 模型 TCP/IP 协议族 TCP/IP 网络传输中的数据 地址和端口号 MAC地址 IP 地址 端口号 为什么端口号有65535个? 综述 TCP 特性 TCP 三次握…

【Linux】统信服务器操作系统V20 1060a-AMD64 Vmware安装

目录 ​编辑 一、概述 1.1 简介 1.2 产品特性 1.3 镜像下载 二、虚拟机安装 一、概述 1.1 简介 官网:统信软件 – 打造操作系统创新生态 统信服务器操作系统V20是统信操作系统(UOS)产品家族中面向服务器端运行环境的,是一款…

外贸流程的基本流程图怎么画?这样画简单快速

外贸流程的基本流程图怎么画?随着全球化的不断深入,外贸行业逐渐成为了国家经济发展的重要支柱。对于许多企业和个人来说,掌握外贸基本流程是非常必要的。但是,很多人在初次接触外贸时,对于流程的各个环节并不熟悉&…

c语言--二进制和其他进制之间的转换

目录 一、前言二、二进制、十进制、十六进制、八进制的组成2.1二进制的组成2.2十进制的组成2.3八进制的组成2.4十六进制的组成 三、二进制转换为十进制3.1 二进制转换为十进制3.2十进制转换为二进制 四、二进制转八进制和十六进制4.1二进制转八进制4.2二进制转换为十六进制 五、…

【Iot】什么是串口?什么是串口通信?串口通信(串口通讯)原理,常见的串口通信方式有哪些?

串口通信原理 1. 串口2. 串口通信4. 波特率与比特率5. 帧格式3. 串口通讯的通讯协议3.1. RS2323.2. RS485 总结 1. 串口 串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。 串口可…

浅谈安科瑞消防产品在酒店行业的应用-安科瑞 蒋静

摘要:进入 21 世纪以来,随着网络技术的发展,世界经济呈现全球化趋势,作为消费者衣食住行的重要组成部分,酒店行业也是生活服务市场重要的组成部分。在经济发展的环境下,在旅游业兴起的趋势下,酒…

Multisim14.0仿真(四十七)基于74LS161计数器设计

一、74LS161简介: 74LS161是4位二进制同步计数器,该计数器能同步并行预置数据,具有清零置数、计数和保持功能,具有进位输出端。可串接计数器使用。 二、74LS161引脚定义及说明: CLR:为异步清零控制端。 LOAD:为同步置数控制端 ENP,ENT:为计数控制端 D , C , B , A :为…