基于 attention 机制的 LSTM 神经网络 超短期负荷预测方法学习记录

news/2023/10/4 0:12:34

LSTM(long short-term memory)长短期记忆

基础介绍在这里插入图片描述

在标准LSTM体系结构中,有1个记忆单元状态和3个门,即更新门Γu、遗忘门Γf和输出门Γo,标准LSTM的体系结构如图2所示。采用x 1, x 2, …, x T
表示LSTM网络中的典型输入序列,则其中x {t}表示时间t时的输入特征。为了实现重要信息长时间存储,在LSTM的整个周期内设立并维护一个记忆单元c。根据前一时间的激活单元a <t–1>和当前时间的输入x ,通过3个门确定更新、维护或遗忘内部状态向量的具体元素。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
标准LSTM网络采用编码器—解码器(encodedecode)结构,将输入序列编码成固定长度的向量表示。当输入序列长度较短时,有较好的学习效果,但当输入序列长度较长时,容易造成信息丢失,难以学到输入序列合理的向量表示。

优势

相较于传统的RNN,其克服了存在的梯度消失和梯度爆炸问题。

不足

LSTM网络的预测效果远优于RNN。然而LSTM网络是将所有输入特征编码成固定长度的向量表示,忽视了其与待预测负荷之间的关联性大小,因而无法有侧重地对历史数据加以利用。

实验过程

模型概述

attention机制模拟人脑注意力模型,其主要思想是针对输入序列中影响输出结果的关键部分分配较多的注意力,以更好地学习输入序列中的信息。本文将attention机制作为2个LSTM网络的接口,首先通过一个LSTM网络处理输入序列,实现高层次的特征学习;随后通过合理分配注意力权重,实现记忆单元求解;最后通过再运行一个LSTM网络实现超短期负荷预测。

模型展示

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

模型训练方法

损失函数

均方误差(mean squared error,MSE)用于反映估计量与被估计量之间的差异程度,将其作为本网络的目标损失函数,其计算公式为:
在这里插入图片描述

优化器

选用Adam算法替代传统随机梯度下降过程,基于训练数据和损失函数计算各参数的一阶矩估计及二阶矩估计,并针对计算结果动态调整每个参数的学习速率,实现网络权重的迭代更新。训练过程采用学习速度(learning rate,Ir)呈指数规律下降的方式,实现训练后期最优解的确定。经多次训练后,选取最佳优化结果。

关于Adam

Adam 是一种可以替代传统随机梯度下降(SGD)过程的一阶优化算法,它能基于训练数据迭代地更新神经网络权重。
Adam介绍

网络评价指标

平均绝对百分误差(mean absolute percentage error,MAPE)是一种常用于衡量预测准确性的指标。本文通过该指标对网络的负荷预测结果做出评判,其计算公式为:
在这里插入图片描述
之后,该模型与标准BP网络相对比,在性能上有了明显提升。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux常见命令

一、目录操作命令 1.目录切换 cd 命令&#xff1a;cd 目录 2 .目录查看 ls [-al] 命令&#xff1a;ls [-al] 3 .目录操作【增&#xff0c;删&#xff0c;改&#xff0c;查】 1 .创建目录【增】 mkdir 命令&#xff1a;mkdir 目录 2 删除目录或文件【删】rm 命令&#xff1a;rm …

数仓Hive和分布式计算引擎Spark多整合方式实战和调优方向

Hive与Spark之间整合有3种模式,本篇从Hive on Spark和Spark on Hive的使用出发,hive支持mr、tez和spark三种底层计算引擎,通过部署Hive on Spark环境实现Hive用到Spark的体验,Spark on Hive的使用则比较简单直接通过SQL操作Hive,最后罗列常见的一些大数据性能调优方法。@目…

Javaweb学生信息管理系统(Mysql+JSP+MVC+CSS)

目录 一.项目介绍 二.运行效果 1.登录界面 2.主界面&#xff08;点击学号修改学生信息&#xff09; 3.增加学生界面 ?编辑 三.项目目录结构 ?四.代码展示 1.jsp及css代码 ?①登录界面代码&#xff08;login.jsp&#xff09; ②登录界面css&#xff08;login.css&…

HTTP协议中的“报头”(header)和 “正文“ (body)详解

系列文章目录 Fiddler抓包&#xff1a;下载、安装及使用_crazy_xieyi的博客-CSDN博客 HTTP协议格式、URL格式及URL encode_crazy_xieyi的博客-CSDN博客 GET和POST有什么区别&#xff1f;_crazy_xieyi的博客-CSDN博客 文章目录 一、请求“报头”(header)详解二、请求 "…

springboot校园师生出入登记系统java ssm

后台主要是管理员&#xff0c;管理员功能包括个人中心&#xff0c;通知公告管理&#xff0c;用户管理&#xff0c;工作人员管理&#xff0c;进门登记管理&#xff0c;出门登记管理&#xff0c;出入统计管理&#xff0c;外来登记管理等&#xff1b; 系统对这些功能进行整合 本次…

【操作系统】系统启动流程

文章目录系统启动流程&#xff08;Linux&#xff09;BIOSMBRGRUB2启动引导内核引导systemd固件和BIOSBIOS分类关于legacy关于uefibootloader 启动管理器kernel初始化systemd - 守护进程总结系统启动流程&#xff08;Linux&#xff09; 1. BIOS 加电自检 2. 把 MBR 加载到内存 …

MyBatis的各种查询功能(5种)

MyBatis的各种查询功能(5种) 查询一个实体类对象&#xff1a; 新建一个SelectMapper的接口文件 新建一个SelectMapper.xml的映射文件 新建一个测试类SelectMapperTest.java文件 在接口文件中添加查询一条语句的方法声明 在映射文件中添加sql语句 在测试类中编写查询一条语句…

spark(day04)

数据挖掘 数据挖掘∶也就是data mining&#xff0c;是一个很宽泛的概念&#xff0c;也是一个新兴学科&#xff0c;旨在如何从海量数据中挖掘出有用的信息来。 数据挖掘这个工作Bl&#xff08;商业智能&#xff09;可以做&#xff0c;统计分析可以做&#xff0c;大数据技术可以做…

哈希的使用

文章目录1. 哈希的使用1.1 unordered_set1.2 unordered_map1.3 测试效率2 练习题2.12.21. 哈希的使用 map、set和哈希的区别&#xff1a; map是双向迭代器&#xff0c;哈希表是单向迭代器。map有序&#xff0c;哈希无序。map查找是logn&#xff0c;哈希是O(1); 1.1 unordered…

Java | static关键字的应用【工具类、代码块和单例】

在上一篇文章讲完了static关键字的一些基础知识后&#xff0c;我们就来说一说这个关键字在应用开发中具体可以怎么使用吧&#xff0c;希望看完这篇文章可以对您有帮助&#x1f4d6; static关键字在具体开发中的应用一、工具类1、什么是工具类&#xff1f;2、使用工具类有什么好…

Spring

目录 1、Spring 1.1、简介 1.2、优点 1.3、组成 1.4、拓展 2、IOC理论推导 2.1、原来的实现 2.2、需求变更 2.3、改进 2.4、IOC本质 设计思想 2.5、Spring和IoC的关系 3、HelloSpring 3.1、基础环境 3.2、导包 3.3、编写代码 思考问题&#xff1f; 4、IOC创建…

grpc|protobuf的安装、编译、运行笔记(C++)

一、下载grpc源码 如果你的电脑/服务器可以做代理&#xff0c;然后稳定链接上 GitHub 那么完全可以按照 GitHub 的官方文档来操作&#xff0c;我这里采用 Gitee 镜像来操作 git clone https://gitee.com/jiangxy__loey/grpc.git二、下载依赖库 进入grpc目录&#xff0c;然后…

【数据结构】二叉树的顺序结构及实现,堆,向上调整算法,向下调整算法,数组建堆算法,堆排序

提示&#xff1a;学习本文之前&#xff0c;要先了解一下树的概念及结构&#xff0c;二叉树的概念及结构&#xff0c;详情请至博客。 文章目录1.二叉树的顺序结构2.堆的概念及结构3.堆的实现3.1堆的总实现3.2堆的向上调整算法---O(logN)3.3堆的向下调整算法---O(logN)4.数组建堆…

【JavaWeb】一文搞懂Response

文章目录1 Response继承体系2 Response响应2.1 响应行2.2 响应头2.3 响应体3 Response 重定向3.1 什么是重定向3.1.1 重定向实现的步骤3.1.2 例子3.2 重定向简化3.3 重定向的特点3.4 资源路径&#xff08;要不要加虚拟目录&#xff09;3.4.1 两种情况3.4.2 动态配置虚拟目录4 R…

python的脚本如何执行

运行python脚本的几种方法&#xff1a; 一. 终端命令行下 []$python "name.py" 二. python环境中 若脚本名称为name.py&#xff0c; 其内容为&#xff1a; a"head" b"hehe" print(a,b) 则使用 >>>impport name 针对此种方法我们使用下面…

vue路由传参

今天介绍路由传递参数的方式。首先要明白路由跳转的两种方式一种是声明式导航另一种是编程式导航。 参数的形式&#xff1a; params参数&#xff1a;属于路径中的一部分&#xff0c;需要注意的是在配置路由时需要占位query参数&#xff1a;不属于路径中的一部分&#xff0c;不…

Matter over Wi-Fi: Raspberry Pi 4开发环境设置

以下是使用 Raspberry Pi 4 通过 Wi-Fi 构建Matter的步骤: 入门 1. 刷入 SD 卡上的 Ubuntu 操作系统。 2. 将 SD 卡&#xff08;直接或使用读卡器&#xff09;插入运行 raspberry pi imager 工具的笔记本电脑/PC。 3. 启动 Raspberry Pi 4 成像仪。 4.点击“CHOOSE OS”…

戴尔服务器安装Debian11过程

目录物理戴尔服务器Debian11安装过程,以下皆为作者实操,转载注明出处.制作Debian ISO 镜像 U盘启动服务器进入启动项设置注意:在开机之前,*请一定拔掉服务器网线*,否则Debian安装会卡在安装软件这一步安装过程Debian设置网卡/设置IP开启root远程登录物理戴尔服务器Debian11安装…

python案例:百钱买鸡

python案例&#xff1a;百钱买鸡 案例目录python案例&#xff1a;百钱买鸡一、问题描述二、问题分析三、实战1、代码2、运行结果四、每日一句一、问题描述 一只公鸡值五钱&#xff1b;一只母鸡值三钱&#xff1b;三只小鸡值一钱&#xff1b;现在要用百钱买百鸡&#xff1b;请问…

瑞吉外卖代码优化

文章目录&#x1f68f; 1、缓存优化&#x1f680; 1、环境搭建&#x1f6ac; maven坐标&#x1f6ac; 配置文件&#x1f6ac; 配置类&#x1f684; 2、缓存短信验证码&#x1f6ac; 将验证码缓存在Redis中&#x1f6ac; 代码实现&#x1f692; 3、缓存菜品数据&#x1f6ac; 缓…
最新文章