【《LSTM模型理论概述》2300字】_第1页
【《LSTM模型理论概述》2300字】_第2页
【《LSTM模型理论概述》2300字】_第3页
【《LSTM模型理论概述》2300字】_第4页
【《LSTM模型理论概述》2300字】_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LSTM模型理论概述目录TOC\o"1-3"\h\u10752LSTM模型理论概述 19281.1LSTM模型理论介绍 1178361.2单变量LSTM模型建模预测 490741.3多变量LSTM模型建模预测 51.1LSTM模型理论介绍传统神经网络能够实现对物体的分类与标注,但并不适用于处理有前后依赖信息的预测问题,而该类问题的本质取决于传统神经网络的结构,因此一种新的网络结构被提出,其输出不仅依赖当前的输入还需要与前一时刻或后一时刻的输入结合作为参考,属于反馈型神经网络类型[REF_Ref28964\n\h52]。反馈型神经网络中处理时序相关反馈的典型代表网络是循环神经网络(currentNeuralNetwork,RNN),它是一个包含时间循环结构的网络,它允许信息被持久化,适用于序列化的特征数据,常被用于对时间序列进行预测[REF_Ref29020\n\h53]。循环神经网络的训练算法为反向传播算法(BackPropagationThroughTime,BPTT),该算法主要针对循环层进行训练。主要包括三个步骤:前向计算出每个神经元的输出值;反向计算得到各神经元误差项;计算得到每个权值的梯度[REF_Ref29020\n\h53]。尽管RNN算法能够有效处理时间序列数据,但仍旧存在因梯度爆炸、梯度消失情况导致无法训练长期依赖信息的问题[REF_Ref31039\n\h54]。针对这一问题,LSTM(Longshort-TermMemory,LSTM)算法被提出,它既能对长期依赖进行训练,又能对短期依赖进行训练。LSTM算法是对RNN算法的改进,其核心思想为在内部增加一个状态来记忆长期信息以解决梯度消失问题,这个新引入的状态被称为单元状态(CellState)[REF_Ref31127\n\h55]现按照时间将LSTM的神经元结构进行展开,如图1.6,图1.6LSTM网络结构图由图可知,输入特征、时刻的输出与单元状态构成了当前时刻的神经元输入部分;其输出是此时的输出。其中,、、均为向量形式。LSTM与传统的循环神经网络的区别是具备了单元状态,其优势为不仅能获取上次输入的信息,还能在内部与相连,此外还能传递当前状态给下一神经元。传统的RNN中,每个神经元内部仅有一个单一的层,如图1.7,而LSTM包含了三个,一个共四个相互作用的层[REF_Ref31868\n\h56],如图1.8,LSTM与RNN相比,最大的差别即经过到的水平线,如图1.8中上方水平线所示,是实现长期记忆保留的关键所在。图1.7传统RNN神经元结构图图1.8LSTM神经元结构图LSTM网络主要是通过引入门结构:遗忘门、输入门和输出门,对信息进行有效的保护和控制[REF_Ref31946\n\h57]。(1)遗忘门遗忘门是对于是否保留上一时刻的、到当前时刻的状态中做出选择。具体来说,是利用Sigmoid函数对上一时刻的输出与当前时刻的输入作出计算,其输出范围是[0,1]。0代表全部遗忘,1代表完全保留。计算公式如下: 3-(6)(2)输入门输入门的作用是判断要留下多少当前的输入信息。实现这项工作需要两个层。第一个层由sigmoid层判断需要更新的输入,其计算公式为: 第二个层由tanh层创建可以更新到当前状态的候选信息,其计算公式为: 根据遗忘门和输出门两个门结构的计算,我们能够获得单元状态的更新值: 3-(7)其中,“”代表按照元素进行逐项相乘。通过元素逐项相乘遗忘想要舍弃的信息,通过元素逐项相乘选择当前的部分信息输入当前状态,最终二者相加得到的更新值。(3)输出门前面两个门结构实现了信息的遗忘与更新,最后就是信息的输出。输出门的主要功能就是选择中可以输出到的部分。该单元通过sigmoid层实现对信息的选择处理,得到中间变量,再将当前时刻的单元状态经tanh层处理后与进行计算得到,而获得的经过判断,部分会输入到下一时刻的时间单元,剩余部分会对外输出。其计算公式如下: 3-(8)LSTM的训练算法和RNN相同,均为反向传播算法(BPTT),结合LSTM算法,主要包括三个步骤:前向计算出每个神经元的输出值;反向计算得到各神经元误差项;计算得到每个权值的梯度并进行更新。1.2单变量LSTM模型建模预测本小节的实证部分基于python中后台为Tensorflow的Keras深度学习框架完成。首先对数据进行归一化处理,将原始数据映射到0到1区间内。由于LSTM处理单变量时间序列时是以前几期的数据作为特征变量来预测下一期的,因此我们要对原始数据进行转换,使非监督学习转化为监督学习问题。本文数据量较少,故令步长等于3生成输入矩阵,即使用、、来预测,、、来预测,,依次滑动直至结束。本节所用数据集为1978-2018年共41个样本,经转化后,可对1981-2018年预测,样本数为38。取后三年为测试集,之前为训练集,故训练集的输入为一个的矩阵,测试集的输入为,然后使用训练集建立模型。本文构建了单一隐藏层,隐藏层节点数为3的LSTM模型。使用MSE作为损失函数,tanh作为激活函数,以Adam算法作为优化器,banchsize为1,迭代次数为100次,对训练集进行训练。对得到的训练集预测值进行反归一化以得到1981-2018年真正的预测数据,绘制训练集的拟合情况如图1.9所示,圆点表示真实值,实线表示预测值,可见大部分数据在拟合曲线上,能够描述数据的增长趋势,但其拟合效果不如ARIMA模型。图1.9单变量LSTM模型训练集拟合图用测试集对训练集拟合的模型进行验证,结果见下表1.4:表1.4测试集验证结果真实值预测值绝对误差相对误差平均相对误差2016年5413952787.79-1351.212.49%7.38%2017年6001455284.93-4729.077.88%2018年6600658230.04-7775.9611.78%结果显示,LSTM的预测值与实际值相比偏低,且误差逐渐变大。由此可见,虽然LSTM在处理非线性时间序列上有着独特的优势,但对于结构相对简单的数据集进行短期预测时,其优势并不明显,相比之下ARIMA的预测效果更好[REF_Ref32044\n\h58,REF_Ref32048\n\h59,REF_Ref32054\n\h60]。1.3多变量LSTM模型建模预测参考多变量时间序列的LSTM建模方式[REF_Ref27678\n\hREF_Ref29722\n\h61,REF_Ref29725\n\h62],本节将第二章得到的七个影响因素引入,建立多变量的LSTM模型对人均GDP进行预测。与单变量时间序列类似,在对多变量的时间序列建立LSTM模型时同样采取滑动窗口法对数据进行转换,滑动窗口数的设置是关键。经试验,我们将滑动窗口数定为1,即采用了滞后一期的宏观经济指标和滞后一期的人均GDP预测当期人均GDP。隐藏层神经元数取2,使用MSE(均方误差)作为损失函数,tanh作为激活函数,以Adam算法作为优化器,banchsize为1,迭代次数为100次,对归一化后的训练集进行建立单层的LSTM模型。得到训练集的拟合情况如下所示:图1.10多变量LSTM模型训练集拟合图可见模型基本拟合,使用测试集进行验证,得到结果如表1.5:表1.5测试集验证结果真实值预测值绝对误差相对误差

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论