2022.11.27 学习周报

news2025/1/21 0:54:51

文章目录

  • 摘要
  • 文献阅读
    • 1.题目
    • 2.摘要
    • 3.介绍
    • 4.基于后向传播算法的多时间尺度RNN
      • 4.1 循环神经网络(RNN)
      • 4.2 基于多时间尺度的RNN预测模型
    • 5.实验
      • 5.1 数据简介
      • 5.2 数据分析
      • 5.3 评价指标
      • 5.4 实验结果
    • 6.结论
  • 深度学习
    • 1.循环神经网络(RNN)
      • 1.1 单向循环神经网络
      • 1.2 双向循环神经网络
      • 1.3 深度循环神经网络
    • 2.BPTT算法训练
    • 2.1 前向计算
    • 2.2 反向计算
      • 2.2.1 沿时间反向传播
      • 2.2.2 传递到上一层网络
      • 2.2.3 计算权重矩阵和W权重矩阵U
    • 3.梯度爆炸和梯度消失问题的解决方法
  • 总结


摘要

This week, I read a paper on recurrent neural networks, it is mentioned in the paper that most of the existing time series data prediction methods are analyzed on a single time scale, this method is suitable for simulating the short-term dependence of time series, but lacks consideration of long-term trend and periodicity. Therefore, this paper proposes a time series data prediction model based on multi time scale RNN to model the short-term, periodicity and trend of passenger travel, which improves the prediction accuracy of the model. In the learning of recurrent neural networks, I used paper and pen to complete the forward propagation and back propagation of the deep circular neural network, and summarized the solutions to the problems of gradient explode and gradient vanshing.

本周,我阅读了一篇关于循环神经网络的论文,论文中提到现有的时序数据预测方法大多是在单一的时间尺度上进行分析的,这种方式适用于模拟时间序列的短期依赖,而缺乏了对长期的趋势性与周期性的考虑。因此论文提出了基于多时间尺度RNN的时序数据预测模型,对旅客出行的短期性、周期性和趋势性进行建模,提升了模型的预测精度。在循环神经网络的学习中,我用纸笔完成了对深度循环神经网络的前向传播和反向传播,以及总结了梯度爆炸和消失问题的解决方法。


文献阅读

1.题目

文献链接:基于多时间尺度RNN的时序数据预测

2.摘要

时间序列数据的预测是很多领域研究的热点问题,但大多数模型都是在单一的时间尺度上进行研究。针对这一问题,基于真实的民航旅客历史出行记录,通过对数据统计处理,对旅客的出行特点以及行为规律进行了深入分析。根据其时序数据的特征建立基于后向传播算法的循环神经网络(RNN)预测模型,对未来时段的日客流量进行预测。在此基础上考虑到时序数据在不同时间尺度呈现不同的变化规律,建立多时间尺度的预测模型对旅客出行的周期性和趋势性进行建模,提升预测精度。

3.介绍

时间序列数据是在各种生产生活领域中广泛出现的数据类型。它反映了事物或者行为等随着时间的推移而产生的状态变化和发展规律,例如天气变化情况,电力负荷变化的变化情况,特定区域人口的流动的变化情况等。时间序列预测即根据已知的时间序列所反映出的发展过程和规律,通过特定的预测模型进行拟合,从而预测其未来的变化趋势的方法。换句话说就是根据已知的可观测事件来预测将来发生的事件。

论文以民航旅客出行情况为研究对象,基于真实的国内机场旅客出行记录数据,对旅客的出行规律和特点进行了深入的分析。采用了基于后向传播算法的循环神经网络(RNN)模型对其进行建模,并根据数据的时序特点建立基于多种时间尺度的预测模型,从而对未来时段旅客的出行情况进行分析和预测,提升预测的准确性。

4.基于后向传播算法的多时间尺度RNN

4.1 循环神经网络(RNN)

RNN是一种对序列数据进行建模的神经网络,在该结构中,当前的输出受当前的输入和上一步的输出的影响,同时也影响着后面的输出。其主要形式是该结构有个循环结构会保留前一次循环的输出结果并作为下一次循环输人的一部分输入。与其他神经网络相比,RNN具有一定的优势,体现在普通神经网络的的一个局限:固定大小的输入输出。
例如:输入输出都为一张图的向量,RNN在这方面表现较好,序列可以成为该结构的输入输出。
例如:输入一句评语,输出情绪分类; 输入一段话,输出主题序列。

下图为循环神经网络结构图:
在这里插入图片描述
RNN通常由输入层、隐藏层、输出层三部分构成的。在RNN中,参数U、V、W 在该循环结构的每一次输入中都会被共享,此举措使得神经网络中需要学习的参数得到很大程度的降低。隐藏层对于RNN来说是最为重要的,主要用于对序列的信息捕获,最为主要的工作都是由它来实现的。

主要的工作原理如下:
在这里插入图片描述
其中:
Wst-1,Win,Wout都是矩阵,主要起到连接作用,分别用在隐藏层节点的自连接,输入层到隐藏层和权值连接以及输出层到隐藏层的权值连接;xt 和 ot 分别表示为第 t 步的输入和输出,而第 t -1 步和第 t 步隐藏层的输出则分别表示为 st-1,st,fs 和 fo 都为激活函数,分别属于隐藏层和输出层。激活函数是该结构对非线性问题解决的重要部分,在保留特征、去除冗余数据等方面起到很大的作用。

4.2 基于多时间尺度的RNN预测模型

考虑到时间序列数据具有其独特的变化特点,因此需要对其设计具有针对性的建模方案。以机场旅客流量预测为例,旅客的出行记录反映出各个机场旅客的行为规律,而根据直观认知,机场未来时段的客流量与之前几天的客流量相关;此外,各机场旅客流量也可能具有一定的周期性,例如每周机场流量的变化具有一定的规律性;此外各机场流量也可能具有一定的长期的时间依赖,例如机场的客流量在每个月或每个季度整体上具有一定的长期趋势变化。

针对机场客流量在短期、周期、长期三种不同时间尺度上的时间依赖关系,论文中使用一种基于多时间尺度的RNN预测模型,同时考虑多个时间尺度下的依赖关系,从而对未来时段的机场客流量进行更加全面的预测分析。
下图是基于多时间尺度的RNN模型的整体结构:
在这里插入图片描述
其中:每个时段各机场的旅客流动情况表示为矩阵形式

多尺度RNN模型主要由3个部分组成,对应于时间的短期性依赖、周期性依赖和长期性依赖的建模。在每一部分中,使用可以捕获时序依赖的RNN模型对各机场旅客流动情况进行拟合,Sigmoid函数作为激活函数。最后将多个时间尺度对应部分的输出结果进行加权融合,得到多尺度RNN模型的最终结果。

5.实验

5.1 数据简介

论文中使用的数据来自民航 2010 年至 2011 年的旅客出行记录,数据包括起飞机场、抵达机场、旅客 ID、起飞日期、起飞时间等属性。为了对民航旅客流量进行分析与预测,要对海量的原始数据进行处理,包括数据合并,去除无效记录以及去除稀疏记录等。

5.2 数据分析

1)考虑民航旅客在时间上的短期性
在这里插入图片描述
从图中可以看出,时间间隔较小的时候旅客流量的比值越趋近于 1,即对应时段的客流量情况越相似。

2)考虑民航旅客流量在时间上的周期性
在这里插入图片描述
上图是2010年和2011年全国民航旅客流量,从图中可以看出,全国民航旅客流量的波动趋势在两年中具有一定的相似性,并且存在明显的以星期为单位的周期性波动,并在全国法定节假日期间出现明显变化。

3)考虑民航旅客流量在时间上的长期性特征
在这里插入图片描述
从图中可以看出,随着时间的推移,客流量整体上具较为明显的变化趋势,民航旅客的出行情况在较长的时间跨度下具有一定的趋势性变化,因此同样需要对长期的时间依赖关系进行建模。

5.3 评价指标

论文使用均方根误差(RMSE)来评估模型:
在这里插入图片描述
其中:Xi hat:预测值;Xi:真实值;Z:所有预测值的个数;RMSE 值越小代表模型的预测效果越好。

5.4 实验结果

下图是论文中使用的基于多时间尺度的RNN模型与其他基准模型的预测效果对比:
在这里插入图片描述
从图中可以看出,论文中使用的多时间尺度RNN模型优于其他对比方法,取得了最好的预测效果,该模型能够较为准确的拟合旅客的出行行为。

6.结论

1)论文根据出行数据的短期时间依赖、周期性时间依赖和长期性时间依赖,建立基于多时间尺度的循环神经网络预测模型来对旅客出行的短期性、周期性和趋势性进行建模,提升了模型的预测精度。

2)影响民航旅客出行情况的因素有很多,由于缺乏地理、气温、节假日等外部因素信息,论文所使用的模型还具有一定的局限性,可能对模型预测准确率有一定程度的影响。

深度学习

参考链接:https://www.cnblogs.com/rongyux/p/6715235.html

1.循环神经网络(RNN)

1.1 单向循环神经网络

单向循环神经网络的作用是根据前文猜测后面的内容,下图为一个单隐含层结构示意图:
在这里插入图片描述
循环层:St = f(U * xt + W * st-1)
输出层:Ot = g(V * st)
其中:U、V 和 W都为权重,f 和 g都是激活函数。

1.2 双向循环神经网络

双向循环神经网络的作用是根据前文和后文猜测中间的内容,如下图所示:
在这里插入图片描述
双向循环神经网络的隐藏层要保存两个值,一个进行正向计算,另一个进行反向计算。
隐藏层:A2 = f(W * A1 + U * x2);A’2 = f(W’ * A’3 + U’ * x2)
输出层:y2 = g(V * A2 + V’ * A’2)
其中:同向权重共享,异向权重不共享,最后的输出取决于正向运算和反向运算相加的和。

1.3 深度循环神经网络

堆叠多个隐藏层,如下图所示:
在这里插入图片描述

2.BPTT算法训练

2.1 前向计算

公式:st = f(U * xt + W * st-1)
展开为矩阵形式:
在这里插入图片描述

2.2 反向计算

BTPP算法将第l层和t时刻的误差项值沿两个方向传播,一个方向是其传递到上一层网络,这部分只和权重矩阵U有关;另一个是方向是将其沿时间线传递到初始时刻t1,这部分只和权重矩阵W有关。

2.2.1 沿时间反向传播

在这里插入图片描述

2.2.2 传递到上一层网络

在这里插入图片描述

2.2.3 计算权重矩阵和W权重矩阵U

在这里插入图片描述

3.梯度爆炸和梯度消失问题的解决方法

梯度爆炸问题:设置阈值,如果超过阈值,直接将梯度设置为该值。
梯度消失问题:
1)合理地初始化权重,躲避梯度消失区域;
2)用relu代替tanh和sigmoid作为激活函数;
3)使用LSTM或者GRU结构。


总结

在本周的学习中,我继续学习了循环神经网络,总结了一些梯度爆炸和梯度消失问题的解决方法,并手动推导了深度循环神经网络的前向传播和反向传播的公式。在下周会继续学习循环神经网络,扩展自己的知识面。

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

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

相关文章

Flutter 5 大本地数据库解决方案

Flutter 5 大本地数据库解决方案 原文 https://levelup.gitconnected.com/top-5-local-database-solutions-for-flutter-development-6351cd494070 前言 这里列出了最流行的数据库解决方案以及代码示例。 选择正确的数据管理系统对于提高效率和可 extension 性以及影响可用性和…

3DConvCaps:3DUNet与卷积胶囊编码器用于医学图像分割

摘要 卷积神经网络需要大量的训练数据,无法处理物体的姿态和变形。此外其中的池化层也倾向于丢弃位置等重要的信息。CNN对旋转和仿射变换非常敏感。 胶囊网络是最近出现的一种新型体系结构,其通过动态路由和卷积步长代替池化层,在部分整体表…

steam搬砖项目的核心内容解答

大家好,我是阿阳 如果你有个几千块钱积蓄,想做点小生意,又不知道做啥,那我建议你来做steam搬砖,steam搬砖是什么呢?steam搬砖怎么赚钱的呢?你听我一步步跟你说来 steam搬砖是什么呢&#xff1f…

详解GMM高斯混合模型EM模型

一般讲到GMM就会讲到EM。 我不过多的介绍EM算法。这里只是举一些例子来看看真实的GMM怎么用EM算的。 一、GMM的作用 记住GMM的作用,就是聚类! 二、GMM有hard和soft两种 hard-GMM和soft-GMM是为了对标k-means和soft k-means。在中文互联网上搜索到的GM…

【SVM分类】基于matlab哈里斯鹰算法优化支持向量机SVM分类【含Matlab源码 2243期】

⛄一、哈里斯鹰算法简介 HHO算法用数学公式来模拟现实中哈里斯鹰在不同机制下捕捉猎物的策略.在HHO中,哈里斯鹰是候选解,猎物随迭代逼近最优解.HHO算法包括两个阶段:全局探索阶段、局部开采阶段。 1 全局探索阶段 在这一阶段中,哈…

springboot thymeleaf使用

导入依赖 <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf</artifactId> <version>3.0.11.RELEASE</version> </dependency> <dependency> <groupId>org.thymeleaf</groupId> <a…

springboot集成swagger并更换主题

前言 swagger对于web一个开发人员&#xff0c;可以说是非常熟悉的了&#xff0c;之前都是用的公司搭好的框架拿来就用&#xff0c;自己也没有研究过&#xff0c;最近想搞一个自己拿来练手的基础框架&#xff0c;因此来记录一下springboot集成swagger的过程和注意事项。 swagg…

云南白药正在度过“中年危机”

​文丨熔财经 作者|kinki 今年&#xff0c;正是云南白药创制的120周年&#xff0c;虽然是一个百年老字号品牌&#xff0c;但在过去的数年间&#xff0c;云南白药在新品研制、跨界发展乃至品牌推广上都做了不少新尝试。今年&#xff0c;云南白药更提出了“141”战略&#xff0…

备战 2023 春招,P7大咖位手打 26 大后端面试专题神技,1500+题解析助力offer

年过后&#xff0c;不少人已经蓄势待发&#xff0c;信心满满地准备投递简历&#xff0c;到处面试&#xff0c;在不同的 Offer 之中择优而栖。 与此同时&#xff0c;也有人会悔恨自己这半年进步不大&#xff0c;每天噼里啪啦敲代码&#xff0c;但面对那些不能再熟悉的 Java 面试…

分布式解决方案 Percolator--详解

Percolator简介 Google在2012年将Percolator的架构设计作为论文发表&#xff0c;其目的是构建于BigTalbe的基础上&#xff0c;主要用于网页搜索索引等服务。由于BigTable只支持单行级别的事务&#xff0c;不支持多行事务等更复杂的事务&#xff0c;因此Percolator的诞生就是为了…

数据增强:Simple Questions Generate Named Entity Recognition Datasets

数据增强的方式一般是无标注数据集的情形的一种解决方式&#xff0c;今天的讲座报告中对这问题做了梳理。11.27学术报告文章&#xff0c;应该是韩旭的报告。 文章目录问题背景一、论文核心二、文章内容三、experiments总结问题背景 还是在于方法的创新&#xff0c;虽然是数据增…

Centos7下安装Oracle11g

1. 下载安装包 由于Oracle官网上无法下载Oracle数据库之前的版本&#xff0c;可以在 Oracle Software Delivery Cloud 里搜索oracle database 11g 或者百度网盘下载链接&#xff1a;https://pan.baidu.com/s/1r57xI5fSVba_Q3biCj06yg 提取码&#xff1a;xk30 2. 创建运行ora…

【BSC】使用Python玩转PancakeSwap(入门篇)

需求 最近我们需要在BSC上实现代币的自动化兑换&#xff0c;比如自动把BNB兑换成USDT&#xff0c;自动把USDT兑换成CAKE等其它代币&#xff0c;同时也要监视价格&#xff0c;在价格合适的时候再兑换代币。而PancakeSwap正是BSC上最大的去中心化平台&#xff0c;我们已经学会了…

潜匿的怪物,你的供应链真的安全吗?

网络钓鱼、DNS欺骗      勒索软件、MITM攻击      在这个网络环境      风声鹤唳的时代      这些网络攻击类型      你一定不会感到陌生      无孔不入,这个词用来形容网络攻击毫不为过。世上没有绝对锋利的矛,同样也没有坚不可摧的盾,即使您养成了安…

如何编写列名中带有空格的SQL查询

在这篇文章中&#xff0c;我们将学习如何写出列名中带有空格的SQL查询。空格在数据库对象的名称和表的列名的命名规则中受到限制。如果你想在对象名或列名中加入空格&#xff0c;查询和应用代码必须以不同的方式编写。在编写动态SQL查询时&#xff0c;你必须小心和精确。本文解…

【JavaWeb】Servlet系列 --- Tomcat安装及配置和常见的问题(2022最新详解、图文教程)

Tomcat的配置安装1. 关于WEB服务器软件2. 配置Tomcat的服务器第一步&#xff1a;配置Java的运行环境第二步&#xff1a;Tomcat的安装第三步&#xff1a;启动Tomcat3. 问题一&#xff1a;解决Tomcat服务器在DOS命令窗口中的乱码问题&#xff08;控制台乱码&#xff09;4. 测试To…

linux 用户不在sudoers文件中,此事将被报告

出现如下提示 gaokaoli 出现不在 sudoers 文件中。此事将被报告 一般是该用户 权限不够 既然知道权限不够可以添加到root用户组&#xff0c;获取权限即可 通过命令行添加到权限&#xff0c;发现还是不行 sudo usermod -g root gaokaoli 那就直接在配置文件中修改 通过执行…

word设置页码从非第一页开始

设置过程 参考&#xff1a;https://zhuanlan.zhihu.com/p/84998841 显示出分隔符和分页符 方法一&#xff1a; 在文档中直接按【CtrlShift8】组合键&#xff0c;即可显示出分节符。. 方法二&#xff1a; 点击【开始】-【段落】-【显示/隐藏编辑标记】按钮&#xff0c;也可显…

如何安装Jmeter监控服务器资源插件(JMeterPlugins + ServerAgent 方法一)?

一、下载插件 ServerAgent-2.2.3.zip 下载 JMeterPlugins-Extras-1.4.0.zip下载 JMeterPlugins-Standard-1.4.0.zip下载 &#xff08;或者可以到网站下载插件&#xff1a;JMeterPlugins-Standard和JMeterPlugins-Extras 下载地址&#xff1a;https://jmeter-plugins.org/down…

计算机图形学(三) -- 3D 变换

文章目录3D 变换缩放(Scale)平移(Translation)旋转(Rotation)3D 旋转(3D Rotation)什么是欧拉角罗德里格斯旋转公式(Rodrigues Rotation Formula)Viewing transformation什么是 View / Camera Transformation相机标准位置(约定俗成)怎样将一个相机从一个任意的摆放&#xff0c;…