2023年算法GWCA -CNN-BiLSTM-ATTENTION回归预测(matlab)

news2024/12/22 16:55:52

2023年算法GWCA -CNN-BiLSTM-ATTENTION回归预测(matlab)

GWCA -CNN-BiLSTM-Attention长城建造算法优化卷积-长短期记忆神经网络结合注意力机制的数据回归预测 Matlab语言。

长城建造算法(Great Wall Construction Algorithm,GWCA)的灵感来自于古长城建造过程中工人之间的竞争和淘汰机制。该成果于2023年7月在线发表,12月正式发表在中科院1区SCI期刊Expert Systems With Applications。参考文献如下:

Ziyu Guan, Changjiang Ren, Jingtai Niu, Peixi Wang, Yizi Shang,Great Wall Construction Algorithm: A novel meta-heuristic algorithm for engineer problems,Expert Systems with Applications,Volume233,2023,120905,ISSN0957-4174, https://doi.org/10.1016/j.eswa.2023.120905.

它是一种自适应的优化算法,能够根据环境的变化自动调整参数和策略。具有较强的鲁棒性,能够应对各种复杂的优化问题。

代码介绍如下:

1.多变量单输出,优化的参数为:卷积核的大小,隐藏单元数目,最大训练周期,初始学习率。评价指标包括:R2、MAE、RMSE和MAPE等,图很多,出图结果如图所示,可完全满足您的需求

2. 长城建造算法也可以替换成其他算法,比如麻雀、鹈鹕、蜣螂等等,也可定制改进~

3.直接替换Excel数据即可用,适合新手小白

4.附赠风力发电功率测试数据,可直接运行

5.商品只是提供模型,价格不包含讲解,发货后可保证运行,但程序类商品不支持退换

6.由于每个人的数据集都是独一无二的,因此预测效果不同,无法保证替换数据就一定得到您满意的结果~

实验结果如下;

部分主函数代码如下:

clc;clear; close all
% GWCA_CNN_BiLSTM_ATTENTION预测
X = xlsread('风电场预测.xlsx');
X = X(5665:6665,:);  %选取部分数据
disp('…………………………………………………………………………………………………………………………')
disp('GWCA_CNN_BiLSTM_ATTENTION预测')
disp('由于数据量大,程序运行较慢,请耐心等待!')
disp('…………………………………………………………………………………………………………………………')
% GWCA参数设置
pop=5; % 种群数量
Max_iter=5; % 最大迭代次数 
dim=4; % 优化4个超参数参数 卷积核的大小 隐藏单元数目 最大训练周期 初始学习率
lb = [32, 15,30,0.001];%下边界
ub = [128,150,500,0.1];%上边界
fobj = @(x) fun(x,X) ;
[Best_score,Best_pos,curve]=GWCA(pop,Max_iter,lb,ub,dim,fobj);
% 绘制进化曲线
figure
plot(curve,'r-','linewidth',1)
xlabel('进化代数')
ylabel('均方根误差MSE')
legend('最佳适应度')
title('GWCA-CNN-BiLSTM-ATTENTION的收敛曲线')
disp('')
disp(['卷积核的大小为   ',num2str(round(Best_pos(1)))]);
disp(['最优隐藏单元数目为   ',num2str(round(Best_pos(2)))]);
disp(['最优最大训练周期为   ',num2str(round(Best_pos(3)))]);
disp(['最优初始学习率为   ',num2str((Best_pos(4)))]);
%%  将最佳参数回带
num_samples = length(X);       % 样本个数 
kim = 6;                      % 延时步长(kim个历史数据作为自变量)
zim =  1;                      % 跨zim个时间点进行预测
or_dim = size(X,2);
%  重构数据集
for i = 1: num_samples - kim - zim + 1
    res(i, :) = [reshape(X(i: i + kim - 1,:), 1, kim*or_dim), X(i + kim + zim - 1,:)];
end

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

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

相关文章

Centos Cron设置定时任务

这本是很简单的问题,但是我服务器重装系统两次,遇到的问题都不一样,所以记录一下 1.首先要确保服务器上有 cron 服务 sudo systemctl status crond2.设置时区 sudo timedatectl set-timezone Asia/Shanghai3.重启crond 服务使crond服务的时…

指针的深入理解(一)

这一节主要复习数组指针,int (* )[ ] 就是数组指针类型的标志。 因为有()将*括起来,所以(*)表示一个指针。[ ] 表示数组,所以(*)[ ]就表示一个指向数组的指针&#xff…

【C++】I/O多路转接详解(一)

目录 1. 背景引入1.1 IO的过程1.2 五种IO模型1.2.1 阻塞IO1.2.2 非阻塞IO1.2.3 信号驱动IO1.2.4 IO多路转接1.2.5 异步IO 1.3 同步通信 与 异步通信1.4 阻塞 与 非阻塞1.4.1 阻塞与非阻塞区别1.4.2 设置非阻塞IO 2. select2.1 接口使用2.2 select执行过程2.3 select代码实践 3.…

C++ 数论相关题目:卡特兰数应用、快速幂求组合数。满足条件的01序列

给定 n 个 0 和 n 个 1 ,它们将按照某种顺序排成长度为 2n 的序列,求它们能排列成的所有序列中,能够满足任意前缀序列中 0 的个数都不少于 1 的个数的序列有多少个。 输出的答案对 1097 取模。 输入格式 共一行,包含整数 n 。 …

开源大规模分布式MQTT消息服务器EMQX部署教程

1.EMQX是什么? EMQX 是一款开源的大规模分布式 MQTT 消息服务器,功能丰富,专为物联网和实时通信应用而设计。EMQX 5.0 单集群支持 MQTT 并发连接数高达 1 亿条,单服务器的传输与处理吞吐量可达每秒百万级 MQTT 消息,并…

数据结构----链表介绍、模拟实现链表、链表的使用

文章目录 1. ArrayList存在的问题2. 链表定义2.1 链表的概念及结构2.2 链表的组合类型 3. 链表的实现3.1 单向、不带头、非循环链表的实现3.2 双向、不带头节点、非循环链表的实现 4.LinkedList的使用4.1 什么是LinkedList4.2 LinkedList的使用4.2.1. LinkedList的构造4.2.2. L…

R语言(数据导入,清洗,可视化,特征工程,建模)

记录一下痛失的超级轻松的数据分析实习(线上),hr问我有没有相关经历,我说我会用jupyter book进行数据导入,清洗,可视化,特征工程,建模,python学和用的比较多,…

burp靶场--xss上篇【1-15】

burp靶场–xss https://portswigger.net/web-security/cross-site-scripting 1. 什么是xss: 跨站脚本 (XSS) 是一种通常出现在 Web 应用程序中的计算机安全漏洞。XSS 允许攻击者将恶意代码注入网站,然后在访问该网站的任何人的浏览器中执行该代码。这可能允许攻击…

【重磅发布】已开放!模型师入驻、转格式再升级、3D展示框架全新玩法…

1月23日,老子云正式发布全新版本。此次新版本包含多板块功能上线和升级,为用户带来了含模型师入驻、三维格式在线转换升级、模型免费增值权益开放、全新3D展示框架等一系列精彩内容! 1月23日,老子云正式发布全新版本。此次新版本…

【开源】基于JAVA语言的班级考勤管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统基础支持模块2.2 班级学生教师支持模块2.3 考勤签到管理2.4 学生请假管理 三、系统设计3.1 功能设计3.1.1 系统基础支持模块3.1.2 班级学生教师档案模块3.1.3 考勤签到管理模块3.1.4 学生请假管理模块 3.2 数据库设…

PyTorch自动微分机制的详细介绍

PyTorch深度学习框架的官方文档确实提供了丰富的信息来阐述其内部自动微分机制。在PyTorch中,张量(Tensor)和计算图(Computation Graph)的设计与实现使得整个系统能够支持动态的、高效的自动求导过程。 具体来说&#…

BL808学习日志-3-DPI-RGB屏幕使用-LVGL D0

一、DPI-RGB驱动 BL808的手册上显示是支持RGB565屏幕显示输出的,但是一直没找到网上的使用例程。且官方的SDK显示也是能够使用的,只是缺少了驱动。这一部分驱动在SIPEED的SDK中已经内置了,今天就是简单的点亮一个800*480 RGB565的屏幕。 二、…

第十一篇【传奇开心果系列】BeeWare的Toga开发移动应用示例:Briefcase和Toga 哥俩好

传奇开心果博文系列 系列博文目录BeeWare的Toga开发移动应用示例系列博文目录一、前言二、Briefcase和toga各自的主要功能分别介绍三、使用Toga 开发移动应用Briefcase工具是最佳拍档四、Briefcase搭档Toga创建打包发布联系人移动应用示例代码五、运行测试打包发布六、归纳总结…

OpenHarmony—ArkTS限制throw语句中表达式的类型

规则:arkts-limited-throw 级别:错误 ArkTS只支持抛出Error类或其派生类的实例。禁止抛出其他类型(例如number或string)的数据。 TypeScript throw 4; throw ; throw new Error();ArkTS throw new Error();限制省略函数返回类…

Codeforces Round 799 (Div. 4)

目录 A. Marathon B. All Distinct C. Where’s the Bishop? D. The Clock E. Binary Deque F. 3SUM G. 2^Sort H. Gambling A. Marathon 直接模拟 void solve() {int ans0;for(int i1;i<4;i) {cin>>a[i];if(i>1&&a[i]>a[1]) ans;}cout<&l…

欧拉角及Eigen库中eulerAngles函数的理解

欧拉角方向 以右手坐标系为例&#xff0c;大拇指表示X轴&#xff0c;食指表示Y轴&#xff0c;中指表示Z轴。 大拇指朝向某个轴的正方向&#xff0c;手掌弯曲的方向即为某个轴欧拉角的正方向。 Eigen库中eulerAngles函数 旋转矩阵转欧拉角(Z-Y-X&#xff0c;即RPY&#xff09…

防御保护----防火墙基本知识

一.防火墙的基本知识--------------------------------------------------------- 防火墙&#xff1a;可以想象为古代每个城市的城墙&#xff0c;用来防守敌军的攻击。墙&#xff0c;始于防&#xff0c;忠于守。从古至今&#xff0c;墙予人以安全之意。 防火墙的主要职责在于&…

IDE开发工具Idea使用(IDEA安装与卸载,详细配置,快捷键,代码模板,创建模板,Debug调试,生成javadoc,导入模块,导出jar)

文章目录 一、IntelliJ IDEA 介绍1、JetBrains 公司介绍2、IntelliJ IDEA 介绍3、IDEA 的下载 二、安装与卸载1、安装前的准备2、安装过程3、卸载过程方式一&#xff1a;【控制面板】中卸载如何打开控制面板&#xff1f; 三、初始化配置与激活四、HelloWorld1、新建Java类2、编…

Linux浅学笔记03

目录 有关root的命令 用户和用户组 用户组管理&#xff1a;&#xff08;以下需要root用户执行&#xff09; 创建用户组: 删除用户组&#xff1a; 用户管理&#xff1a;&#xff08;以下需要root用户执行&#xff09; 创建用户&#xff1a; 删除用户&#xff1a; 查看用…

开关电源调试会遇到哪些问题?怎么解决?

一般在使用电气设备之前都会调试&#xff0c;以便及时发现问题并采取措施解决。开关电源也一样会进行调试&#xff0c;那么在调试开关电源的过程中会遇到哪些问题呢? 又该如何解决呢? 1. 空载、轻载无法启动 开关电源在空载和轻载情况下&#xff0c;由于绕组的感应电压太低&a…