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

基于北方苍鹰算法优化LSTM(NGO-LSTM)研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据


💥1 概述

苍鹰是森林中肉食性猛禽。视觉敏锐,善于飞翔。白天活动。性甚机警,亦善隐藏。通常单独活动,叫声尖锐洪亮。在空中翱翔时两翅水平伸直,或稍稍向上抬起,偶尔亦伴随着两翅的煽动,但除迁徙期间外,很少在空中翱翔,多隐蔽在森林中树枝间窥视猎物,飞行快而灵活,能利用短圆的翅膀和长的尾羽来调节速度和改变方向、在林中或上或下,或高或低穿行于树丛问,并能加还飞行速度在树林中追捕猎物,有时也在林缘开阔地上空飞行或沿直线滑翔,窥视地面动物活动,一旦发现森林中的鼠类、野兔、雉类、榛鸡、鸠鸽类和其他中小形鸟类的猎物,则迅速俯冲,呈直线追击,用利爪抓捕猎获物。它的体重虽然比等中型猛禽要轻五分之一左右,但速度要快3倍以上,伸出爪子打击猎物时的速度为每秒钟22.5米,所以捕食的特点是猛、准、狠、快,具有较大的杀伤力,凡是力所能及的动物,都要猛扑上去,用一只脚上的利爪刺穿其胸膛,再用另一只脚上的利爪将其腹部剖开,先吃掉鲜嫩的心、肝、肺等内脏部分,再将鲜血淋漓的尸体带回栖息的树上撕裂后啄食。
LSTM是RNN的一种变种,可以有效地解决RNN的梯度爆炸或者消失问题。,如图一所示为LSTM的结构,LSTM网络由一个个的LSTM单元连接而成。

 本文基于北方苍鹰算法优化LSTM(NGO-LSTM)研究,并用Matlab代码实现之。

📚2 运行结果

 

部分代码:

function  [error_test,pererror_test,MAPE_test,RMSE_test,NRMSE_test,MSE_test,R2_test,NSE_test,CA_test,MAE_test,R1_test,accuracy_test,WI_test, PFC_test,  LFC_test ,PPTS_test]= assessment_criteria(test_simu,data_test)
error_test = test_simu-data_test;      % 测试集绝对误差
pererror_test=error_test./data_test;     % 相对误差
MAPE_test = mean(abs(pererror_test))*100;     % 平均绝对百分误差(平均相对误差)
RMSE_test  = sqrt(mean((error_test).^2));   % 均方根误差     RMSE can provide a good measure of model performance for high flows
NRMSE_test=sqrt(sum((error_test).^2))./sqrt(sum((data_test-mean(data_test)).^2)); % 测试集绝对误差
MSE_test=mse(error_test); %均方误差  
R2_test = 1 - (sum(error_test.^2) / sum((test_simu - mean(data_test)).^2));  % 确定性系数(R2-R-Square)  R2<1,R2越接近1预测结果越优
NSE_test=1-sum(power(error_test,2))/sum(power(data_test-mean(data_test),2)); % 纳什系数
CA_test=(MAPE_test/100 + NRMSE_test +(1-NSE_test))/3;  % combined accuracy


% SSE_test=sum(error_test.^2);   %误差平方和SSE_test为
MAE_test=mean(abs(error_test));       %平均绝对误差   
r_test=corrcoef(data_test,test_simu);    %corrcoef计算相关系数矩阵,包括自相关和互相关系数
R1_test=r_test(1,2);  
% accuracy_test=length(find(abs(pererror_test)<0.3))/size(data_test,1)*100;  %正确率,相对误差小于20%

accuracy_test_1=length(find(abs(pererror_test)<0.05))/size(data_test,1)*100;  %正确率,相对误差小于20%
accuracy_test_2=length(find(abs(pererror_test)<0.1))/size(data_test,1)*100;  %正确率,相对误差小于20%
accuracy_test_3=length(find(abs(pererror_test)<0.2))/size(data_test,1)*100;  %正确率,相对误差小于20%
accuracy_test_4=length(find(abs(pererror_test)<0.3))/size(data_test,1)*100;  %正确率,相对误差小于20%
accuracy_test_5=length(find(abs(pererror_test)<0.4))/size(data_test,1)*100;  %正确率,相对误差小于20%
accuracy_test_6=length(find(abs(pererror_test)<0.5))/size(data_test,1)*100;  %正确率,相对误差小于20%

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]满建峰,侯磊,杨凯,刘珈铨,张鑫儒,伍星光,贺思宸.基于PSO-LSTM混合模型的天然气管道多用气节点负荷预测研究[J].油气与新能源,2022,34(06):91-100.

🌈4 Matlab代码、数据

相关文章:

基于北方苍鹰算法优化LSTM(NGO-LSTM)研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

Linux内核启动(理论,0.11版本)分段与分页

为什么要虚拟内存 我们知道&#xff0c;在之前上微机原理时&#xff0c;我们的程序是可以直接访问内存的&#xff0c;而且访问的是直接的物理内存&#xff0c;在实模式下&#xff0c;寄存器是16位的&#xff0c;数组总线&#xff08;data bus&#xff09;是16位的&#xff0c;…...

数据与C(字符串)

目录 一.概念引入 二.字符串&#xff08;数组存储&#xff0c;必须以\0结尾&#xff09; 三.错误示范 四.strlen&#xff08;&#xff09;和sizeof()相对于字符串的不同 一.概念引入 “a”,a哪个是字符哪个又是字符串&#xff0c;嘿嘿不用猜了 我们在上一章中说过&#x…...

Python+Go实践(电商架构三)

文章目录服务发现集成consul负载均衡负载均衡算法实现配置中心nacos服务发现 我们之前的架构是通过ipport来调用的python的API&#xff0c;这样做的弊端是 如果新加一个服务&#xff0c;就要到某个服务改web&#xff08;go&#xff09;层的调用代码&#xff0c;配置IP/Port并发…...

基于 MySQL 排它锁实现分布式可重入锁解决方案

一、MySQL 排它锁和共享锁 在进行实验前&#xff0c;先来了解下MySQL 的排它锁和共享锁&#xff0c;在 MySQL 中的锁分为表锁和行锁&#xff0c;在行锁中锁又分成了排它锁和共享锁两种类型。 1. 排它锁 排他锁又称为写锁&#xff0c;简称X锁&#xff0c;是一种悲观锁&#x…...

【大数据】Hadoop-HA-Federation-3.3.1集群高可用联邦安装部署文档(建议收藏哦)

背景概述 单 NameNode 的架构使得 HDFS 在集群扩展性和性能上都有潜在的问题&#xff0c;当集群大到一定程度后&#xff0c;NameNode 进程使用的内存可能会达到上百 G&#xff0c;NameNode 成为了性能的瓶颈。因而提出了 namenode 水平扩展方案-- Federation。 Federation 中…...

【设计模式之美 设计原则与思想:面向对象】14 | 实战二(下):如何利用面向对象设计和编程开发接口鉴权功能?

在上一节课中&#xff0c;针对接口鉴权功能的开发&#xff0c;我们讲了如何进行面向对象分析&#xff08;OOA&#xff09;&#xff0c;也就是需求分析。实际上&#xff0c;需求定义清楚之后&#xff0c;这个问题就已经解决了一大半&#xff0c;这也是为什么我花了那么多篇幅来讲…...

工作技术小结

2023/1/31 关于后端接口编写小结 1&#xff0c;了解小程序原型图流程和细节性的东西 2&#xff0c;数据库关联结构仔细分析&#xff0c;找到最容易查询的关键字段&#xff0c;标语表之间靠什么关联 2023/2/10 在web抓包过程中&#xff0c;如果要实现批量抓取&#xff0c;必须解…...

无重复字符的最长子串-力扣3-java

一、题目描述给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc"&#xff0c;所以其长度为 3。示例 2:输入: s "bbbbb"输出: 1解释: 因为…...

java ssm高校教材管理平台 idea maven

设计并且实现一个基于JSP技术的高校教材管理平台的设计与实现。采用MYSQL为数据库开发平台&#xff0c;SSM框架&#xff0c;Tomcat网络信息服务作为应用服务器。高校教材管理平台的设计与实现的功能已基本实现&#xff0c;主要学生、教材管理、学习教材、教材入库、教材领取、缴…...

【Python学习笔记】25.Python3 输入和输出(1)

前言 在前面几个章节中&#xff0c;我们其实已经接触了 Python 的输入输出的功能。本章节我们将具体介绍 Python 的输入输出。 输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数。 第三种方式是使用文件对象的 write() 方法&#xff0c;标准输出文件可以用…...

C++复习笔记8

泛型编程&#xff1a;编写的是与类型无关的通用代码&#xff0c;是代码复用的一种手段&#xff0c;模板是泛型编程的基础。 1.函数模板&#xff1a;类型参数化&#xff0c;增加代码复用性。例如对于swap函数&#xff0c;不同类型之间进行交换都需要进行重载&#xff0c;但是函数…...

RabbitMQ入门

目录1. 搭建示例工程1.1. 创建工程1.2. 添加依赖2. 编写生产者3. 编写消费者4. 小结需求 官网&#xff1a; https://www.rabbitmq.com/ 需求&#xff1a;使用简单模式完成消息传递 步骤&#xff1a; ① 创建工程&#xff08;生成者、消费者&#xff09; ② 分别添加依赖 ③ 编…...

【计算机网络】Linux环境中的TCP网络编程

文章目录前言一、TCP Socket API1. socket2. bind3. listen4. accept5. connect二、封装TCPSocket三、服务端的实现1. 封装TCP通用服务器2. 封装任务对象3. 实现转换功能的服务器四、客户端的实现1. 封装TCP通用客户端2. 实现转换功能的客户端五、结果演示六、多进程版服务器七…...

idekCTF 2022 比赛复现

Readme 首先 []byte 是 go 语言里面的一个索引&#xff0c;比如&#xff1a; package mainimport "fmt"func main() {var str string "hello"var randomData []byte []byte(str)fmt.Println(randomData[0:]) //[104 101 108 108 111] }上面这串代码会从…...

jvm的类加载过程

加载 通过一个类的全限定名获取定义此类的二进制字节流将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构在内存中生成一个代表这个类的java.lang.Class对象&#xff0c;作为方法区这个类的各种数据的访问入口链接 验证 验证内容的合法性准备 把方法区的静态变量初…...

VOC数据增强与调整大小

数据增强是针对数据集图像数量太少所采取的一种方法。 博主在实验过程中&#xff0c;使用自己的数据集时发现其数据量过少&#xff0c;只有280张&#xff0c;因此便想到使用数据增强的方式来获取更多的图像信息。对于图像数据&#xff0c;我们可以采用旋转等操作来获取更多的图…...

Linux 安装jenkins和jdk11

Linux 安装jenkins和jdk111. Install Jdk112. Jenkins Install2.1 Install Jenkins2.2 Start2.3 Error3.Awakening1.1 Big Data -- Postgres4. Awakening1. Install Jdk11 安装jdk11 sudo yum install fontconfig java-11-openjdk 2. Jenkins Install 2.1 Install Jenkins 下…...

Pandas——Series操作【建议收藏】

pandas——Series操作 作者&#xff1a;AOAIYI 创作不易&#xff0c;觉得文章不错或能帮助到你学习&#xff0c;可以点赞收藏评论哦 文章目录pandas——Series操作一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤1.创建Series2.从具体位置的Series中访问数据3.使…...

JUC并发编程Ⅰ -- Java中的线程

文章目录线程与进程并行与并发进程与线程应用应用之异步调用应用之提高效率线程的创建方法一&#xff1a;通过继承Thread类创建方法二&#xff1a;使用Runnable配合Thread方法三&#xff1a;使用FutureTask与Thread结合创建查看进程和线程的方法线程运行的原理栈与栈帧线程上下…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

【Veristand】Veristand环境安装教程-Linux RT / Windows

首先声明&#xff0c;此教程是针对Simulink编译模型并导入Veristand中编写的&#xff0c;同时需要注意的是老用户编译可能用的是Veristand Model Framework&#xff0c;那个是历史版本&#xff0c;且NI不会再维护&#xff0c;新版本编译支持为VeriStand Model Generation Suppo…...

LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)

在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...

JDK 17 序列化是怎么回事

如何序列化&#xff1f;其实很简单&#xff0c;就是根据每个类型&#xff0c;用工厂类调用。逐个完成。 没什么漂亮的代码&#xff0c;只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...

数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)

目录 &#x1f50d; 若用递归计算每一项&#xff0c;会发生什么&#xff1f; Horners Rule&#xff08;霍纳法则&#xff09; 第一步&#xff1a;我们从最原始的泰勒公式出发 第二步&#xff1a;从形式上重新观察展开式 &#x1f31f; 第三步&#xff1a;引出霍纳法则&…...

Linux信号保存与处理机制详解

Linux信号的保存与处理涉及多个关键机制&#xff0c;以下是详细的总结&#xff1a; 1. 信号的保存 进程描述符&#xff08;task_struct&#xff09;&#xff1a;每个进程的PCB中包含信号相关信息。 pending信号集&#xff1a;记录已到达但未处理的信号&#xff08;未决信号&a…...

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术点解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、Spring MVC与MyBatis技术点解析 第一轮&#xff1a;基础概念问题 请解释Spring框架的核心容器是什么&#xff1f;它的作用是什么&#xff1f; 程序员JY回答&#xff1a;Spring框架的核心容器是IoC容器&#xff08;控制反转…...