版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用于处理时间序列的网络《机器学习简明教程》高延增侯跃恩罗志坚机械工业出版社10本章目标•理解序列的概念•掌握循环神经网络的结构和特点•理解LSTM的结构特点并掌握用法前面两章讲的神经网络是受人类神经系统的启发而设计出来的,但人类大脑还有一个非常重要的特点是具有记忆能力,我们常联系过去的经验来理解现在。而前面讲的多层网络、卷积网络都只是将某一时刻的特征映射为一组输出,这种网络在一些具有累积效应的场景并不适用。比如,一个智能客服收到客户针对“苹果”这个商品的投诉后,需要根据“上下文”来确认此处的“苹果”到底是指一种水果还是一种电子产品。因此,在使用神经网络算法时,历史记录对后面的结果也很重要。传统的神经网络在处理序列数据的时候,并没有考虑这一点。循环神经网络(RecurrentNeuralNetwork,RNN)、长短时记忆网络(LongShort-termMemoryNetwork,LSTM)是用于处理序列数据的神经网络,能很好地解决这一问题。本章介绍RNN、LSTM的原理与应用。目录/Contents10.110.2序列循环神经网络10.3长短时记忆网络10.1序列有一类特殊的数据,在同一种统计指标的约束下按照时间先后顺序排列,这样得到的序列被称为时间序列。时间序列数据一般是对一些现象依照时间先后顺序按一定间隔进行采样的结果,比如某地区的每季度平均降水量数据、股票交易数据、某人一天的血氧浓度变化数据、语音信号等等,通过对时间序列的科学分析,可以根据历史预测未来。在数据挖掘领域,很多任务和时间序列有关。以自然语言处理为例,客户想要买的飞机票的出发地和目的地分别是哪里呢?很显然,这个问题的答案和客户在两个时间点上发出的消息有关,从第一句消息可以提取出出发地信息、从第二句消息可以提取出目的地信息。10.1序列——时间序列
(10.1)(10.2)10.1序列——时间序列在时间维度上对某个对象进行数据采样,若对象的规律未知则需要采集尽量多维度上的特征。在采样过程中极可能会混入各种噪声干扰,所以时间序列信号具有高维度、复杂多变、高噪声干扰等特性。时间序列信号又广泛存在于商业、军事、自然科学、社会科学等数据集中,有效的时间序列数据挖掘算法能使人类的经济、军事、教育等活动更加高效运转。因此,时间序列数据的重要性和复杂性使得时间序列数据挖掘一直都是最有吸引力和挑战性的研究课题之一。时间序列数据挖掘的任务包括:(1)时间序列数据变换;(2)时间序列相似性搜索;(3)时间序列聚类;(4)时间序列分类;(5)时间序列相关规则提取与模式分析;(6)海量时间序列可视化;(7)时间序列预测。时间序列数据变换的目的是通过变换后能够抑制混杂在数据中的噪声信号,常见的变换方法包括傅里叶变换、小波变换、奇异值分解等。时间序列相似性搜索的研究目的是信息查询,如根据一段语音信号搜索歌曲或说话人等。一般研究思路是先定义不同时间序列数据的相似性的数值度量方法,然后根据相似性度量算法进行相似性搜索。时间序列的聚类、分类算法是根据采集到的一段时间内的序列数据进行聚类或分类。如根据语音信号判断说话人,语音内容识别等,机器学习算法在这一类任务中有广泛应用,是近年研究的热点。时间序列的规则提取、模式分析、可视化处理等也是为人类更好认知时间序列信号所做的一些处理,而这些处理很大程度上是为时间序列预测服务的。对应于上述时间序列数据挖掘任务的算法大致分成两类:(1)传统的时间序列分析方法,包括ARMA、ARIMA等;(2)基于机器学习的时间序列分析方法,包括支持向量机、深度学习等。10.1序列——序列学习
序列学习就是专门用于处理时间序列的机器学习算法。序列学习算法可以预测被研究对象在一段时间后发生某件特定事件的可能性,比如预测手机用户进行了某些操作后接下来的可能动作,然后预加载所需要的数据,这样可以提升用户的使用体验。10.1序列——序列学习
对于时间序列的机器学习任务,传统的多层全连接网络、卷积网络都较难完成。因此催生了各种不同的循环神经网络,最具代表性的是长短时记忆网络。目录/Contents10.110.2序列循环神经网络10.3长短时记忆网络10.2循环神经网络RNNRNN的发展可以追溯到上世纪七八十年代的循环反馈系统(RecurrentFeedbackSystem),1982年JohnHopfield提出了具有结合存储能力的神经网络,即Hopfield神经网络,这是一种递归神经网络,因为实现较为困难所以没有得到广泛应用。到1990年,JeffreyElman提出了第一个全连接的简单循环神经网络,Elman网络是一种局部循环网络,属于带反馈的BP网络,具有短期记忆能力。1991年,SeppHochreiter发现了RNN的长期依赖问题,即在对长序列进行学习时RNN会出现梯度消失和梯度爆炸现象,当前的状态还可能受很长之前的历史状态影响。JurgenSchmidhuber及其合作者在1992和1997年提出的神经历史压缩器和长短时记忆网络可以解决长期依赖问题。但是因为当时SVM算法更流行且当时的计算机算力不足,导致循环神经网络并没有流行起来。到21世纪,随着深度学习理论的出现和数值计算能力的提升,多种改进型RNN被成功应用于自然语言处理等时间序列数据分析中,使得RNN成为重要的数据挖掘算法吸引了更多人的注意。10.2循环神经网络RNN——结构RNN与传统神经网络的区别如下图,图中对两种网络的输入、隐藏和输出层都进行了简化,图中上角标表示t时刻的输入或输出。前馈网络、循环网络的各个层都可以由多个节点构成,且隐藏层也可以有多层。而RNN和前馈网络的区别在于,RNN在隐藏层上引出了一个到它自身的圈,这个圈是RNN设计的核心,它的意思是上一时刻的隐藏层和当前时刻的隐藏层共同影响当前时刻的输出,而当前时刻的隐藏层又会影响下一时刻的输出。按时间先后顺序将上图中的RNN展开如右图10.2循环神经网络RNN——结构
简单RNN示例10.2循环神经网络RNN——结构左图中,每条有向线段上都要乘以一个权重,而各时刻的权值是共享的,即t-1时刻和t时刻的权值是相同的。此外,RNN的输入与输出在时间的对应关系上是可以偏移的,概括起来有如下图几种:10.2循环神经网络RNN——结构根据输入向量和输出向量在时刻上的对应关系,可分为一对一、一对多、多对一、多对多几种RNN类型。左图中的“一对一”RNN就是普通的前馈神经网络,不同的RNN类型适用于不同的场景,如音乐自动创作、机器翻译、情感分类、语音识别等等。RNN的训练和传统的前馈网络类似,先求递推公式,然后利用BP算法进行参数训练,只是RNN需要训练的参数比传统网络更多。10.2循环神经网络RNN——训练与传统神经网络类似,RNN训练也分三步:(1)根据RNN架构推导前向传播算法;(2)定义误差函数;(3)利用误差的反向传播算法进行参数寻优。因为RNN与时间有关,因此RNN的训练算法又被称为基于时间的反向传播算法(BackPropagationThroughTime,BPTT)。RNN的前向传播算法。RNN是按时间展开的一个链式结构,整个链由若干架构相同的单元组成,为减少训练量这些单元的参数是相同,只是每个单元的输入不同,这种机制被称为参数共享,是深度学习算法中的常用技巧。单看t时刻的RNN单元如下图,t时刻的RNN单元有两个输入:当前时刻的样本输入Xt以及上一时刻的隐藏层输出Ht-1。10.2循环神经网络RNN——训练
(10.3)
(10.4)
(10.5)10.2循环神经网络RNN——训练
对于特定的第k个分类,将式(10.5)展开,可得:(10.6)
10.2循环神经网络RNN——训练以Softmax作为输出层激活函数的RNN为例,其t时刻、t+1时刻的RNN单元如下图:
(10.7)(10.8)
10.2循环神经网络RNN——训练
(10.9)
(10.10)
(10.11)10.2循环神经网络RNN——训练
(10.12)(10.13)(10.14)有了梯度计算公式,RNN的BP算法与普通多层网络的类似。10.2循环神经网络RNN——特点RNN考虑了历史状态(时间序列)对结果的影响,RNN能处理序列数据。在考虑时间序列的机器学习任务中,RNN有重要应用,如音频数据、市场股票数据、文章文字数据等等。在实际应用中,经典的RNN结构存在致命缺点,就是梯度消失或梯度爆炸。因为RNN的序列计算特征,根据链式求导法则和公式(10.9)~(10.14),损失函数对于W,U求偏导时存在激活函数的导数与W的累乘项,若激活函数的导数小于1,当RNN层数较多时,累乘的结果就会趋近于0,即出现梯度消失问题;若累乘项中W大于1,当RNN层数较多时,累乘的结果趋于无穷,即出现梯度爆炸问题。而在实际运用中,RNN层级往往比较深,使得梯度爆炸或者梯度消失问题会比较明显。梯度消失会导致我们的神经网络中前面层的网络权重无法得到更新,也就停止了学习;梯度爆炸会导致网络不稳定,使得网络无法从训练数据中得到很好的学习。另外,基本的RNN模型还存在长距离依赖问题。如果对句“这个辣椒真?”缺失词预测,较容易得出“辣”这个结果。但如果问题变成“他吃了一口菜,被辣的流出了眼泪,满脸通红。旁边的人赶紧给他倒了一杯凉水,他咕咚咕咚喝了两口,才逐渐恢复正常。他气愤地说道:这个菜味道真?”,RNN就较难预测了。也就是说,当相关信息与需要参考的信息距离较远时,就出现了长距离依赖问题。幸运的是,长短期记忆网络可以解决这些问题。目录/Contents10.110.2序列循环神经网络10.3长短时记忆网络10.3LSTM——网络结构及其前向计算长短时记忆网络(LongShort-TermMemorynetworks,LSTM)是RNN的一种变体,传统的RNN由于梯度消失的原因只能有短期记忆,而LSTM通过引入门结构(gate)和一个明确定义的记忆单元(memorycell)来克服梯度消失或梯度爆炸的问题。左图所示为LSTM的一个单元。LSTM单元中加入了三个门结构:输入门、输出门、遗忘门,每个门又都对应有控制信号。基础RNN虽然也具备记忆功能,但它仅仅是把前面时刻的隐藏层内容接收进来,而改进后的LSTM单元加入了门控,使得整个LSTM网络可以有选择地对历史数据进行取舍。10.3LSTM——网络结构及其前向计算
10.3LSTM——网络结构及其前向计算LSTM中的门是一种让信息选择性通过的方法,由Sigmoid神经网络和按位乘操作(两个向量相同位置上的元素相乘得到结果向量)组成,如下图。Sigmoid网络的输出是一个元素数值在[0,1]区间的向量,向量维度与Ct相同,通过Sigmoid网络和按位乘就可以控制Ct有多大程度通过这个门。10.3LSTM——网络结构及其前向计算LSTM的三个门:遗忘门、输入门、输出门
(10.15)
10.3LSTM——网络结构及其前向计算LSTM的三个门:遗忘门、输入门、输出门
(10.16)(10.17)(10.18)
遗忘门和输入门的作用是相反的,遗忘门是有选择地丢弃单元状态中原来的信息;而输入门则是有选择的将t时刻输入和t-1时刻的隐藏状态添加到单元状态中作为当前t时刻的单元状态输入给t+1时刻的LSTM单元。因此,(10.18)就是t时刻的LSTM单元状态更新公式。10.3LSTM——网络结构及其前向计算LSTM的三个门:遗忘门、输入门、输出门
输出门计算公式(10.19)(10.20)
10.3LSTM——反向传播LSTM的训练算法仍然是反向传播算法,主要有三个步骤:(1)前向计算每个神经元的输出值;(2)反向计算每个神经元的误差项值;(3)根据相应的误差项,计算每个权重的梯度。将LSTM单元进一步分解如下图10.3LSTM——反向传播
LSTM训练过程的其本质还是BPTT算法。因为LSTM单元中有四个网络的加权输入,而在计算的时候向上一层只传递一个误差项更容易,所以将t时刻的误差项定义为式(10.21)而对应的四个网络加权输入分别如公式(10.22)~(10.25)所示。(10.22)(10.23)(10.24)(10.25)
10.3LSTM——反向传播
(10.26)
(10.27)由(10.26)、(10.27)可得(10.28)。(10.28)结合前向计算公式,式(10.28)中的所有偏导都可求出。而从t时刻向前传递到k时刻的误差项公式也可以求出,如式(10.29)。(10.29)
10.3LSTM——反向传播
(10.30)
(10.31)
(10.32)(10.33)(10.34)(10.35)10.3LSTM——反向传播
(10.36)(10.37)(10.38)(10.39)
(10.40)(10.41)(10.42)(10.43)10.3LSTM——反向传播
10.3LSTM——应用案例例10.3.1:假设我们需要构建一个空气污染程度的预测模型。以PM2.5浓度代表空气污染程度,然后采集相关气象数据。我们假设产生PM2.5的条件不变的前提下,气象条件的变化决定PM2.5的消散快慢,进一步决定PM2.5浓度。相关的传感器每隔一小时采集一次数据,共采集五年数据用来训练和测试模型,采集到的部分数据如下表。完整数据在本书配套的电子资源中。年月日时Pm2.5露点温度气压风向风速雪量雨量2010120129-16-41020SE1.79002010121148-15-41020SE2.68002010122159-11-51021SE3.57002010123181-7-51022SE5.36102010124138-7-51022SE6.25202010125109-7-61022SE7.14302010126105-7-61023SE8.93402010127124-7-51024SE10.72002010128120-8-61024SE12.51002010129132-7-51025SE14.30020101210140-7-51026SE17.431020101211152-8-51026SE20.560010.3LSTM——应用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度医疗器械生产许可资质转让合同3篇
- 二零二五年度金融机构公对公汇款业务合作协议3篇
- 2025年度房地产公司挂靠合作经营管理协议3篇
- 2025年度环保技术兼职合同3篇
- 2025年度新型商业空间使用权转让合同3篇
- 二零二五年度竞业协议期限及竞业限制解除赔偿2篇
- 二零二五年度国有企业劳动用工合同范本3篇
- 2025年度新材料研发与应用合伙人股权合作协议书3篇
- 2025年度留学生实习实训项目资金资助协议3篇
- 二零二五年度大米产业链品牌建设与市场营销服务合同3篇
- NY 5052-2001无公害食品海水养殖用水水质
- 【讲座】2020年福建省高职分类考试招生指导讲座
- 性格决定命运课件
- 球磨机安全检查表分析(SCL)+评价记录
- 学习会计基础工作规范课件
- 双面埋弧焊螺旋钢管公称外公壁厚和每米理论重量
- 富士施乐VC2265打印机使用说明SPO
- 服务态度决定客户满意度试题含答案
- 中学历史教育中的德育状况调查问卷
- 教科版四年级科学上册全册复习教学设计及知识点整理
- 重庆万科渠道制度管理办法2022
评论
0/150
提交评论