文章快速检索     高级检索
  浙江大学学报(理学版)  2016, Vol. 43 Issue (4): 442-451  DOI:10.3785/j.issn.1008-9497.2016.04.011
0

引用本文 [复制中英文]

周晓莉 , 张丰 , 杜震洪 , 曹敏杰 , 刘仁义 . 2016. 基于CRBM算法的时间序列预测模型研究[J]. 浙江大学学报(理学版), 43(4): 442-451. DOI: 10.3785/j.issn.1008-9497.2016.04.011.
[复制中文]
ZHOU Xiaoli , ZHANG Feng , DU Zhenhong , CAO Minjie , LIU Renyi . 2016. A study on time series prediction model based on CRBM algorithm[J]. Journal of Zhejiang University(Science Edition) , 43(4): 442-451. DOI: 10.3785/j.issn.1008-9497.2016.04.011.
[复制英文]

基金项目

国家自然科学基金资助项目(41471313,41101356,41101371,41171321);国家科技基础性工作专项(2012FY112300);海洋公益性行业科研专项经费资助(2015418003,201305012)

作者简介

周晓莉(1990-),ORCID:http://orcid.org/0000-0002-9097-5682,女,硕士研究生,主要从事海洋GIS及深度学习研究.

通信作者

杜震洪,ORCID:http://orcid.org/0000-0001-9449-0415,E-mail:duzhenhong@zju.edu.cn.

文章历史

收稿日期:2015-08-06
基于CRBM算法的时间序列预测模型研究
周晓莉1,2 , 张丰1,2 , 杜震洪1,2 , 曹敏杰1,2 , 刘仁义1,2     
1. 浙江大学 浙江省资源与环境信息系统重点实验室, 浙江 杭州 310028
2. 浙江大学 地球科学学院, 浙江 杭州 310027
摘要: 针对受限玻尔兹曼机(restricted Boltzmann machines,RBM)算法对时序数据预测存在抽取抽象特征向量能力较差和梯度下降能力有限的问题,基于CRBM(conditional restricted Boltzmann machines)算法以及信念网络(deep belief network,DBN)模型,构建了一种非线性的CRBM-DBN深度学习模型,并采用高斯分布处理输入特征值和对比散度抽样,用于预测时序数据.实验以浙江省近岸海域赤潮时序数据作为输入特征值,讨论该模型的深度及参数选取,并与经典的深度学习模型RBM、DAE和浅层学习中的BP神经网络进行对比,实验验证CRBM对于赤潮时序数据的预测拟合度要明显优于其他3种模型,该模型可有效用于赤潮类时序数据的趋势性预测.
关键词: 受限玻尔兹曼机    CRBM深度建模    深度信念网络模型    高斯分布    
A study on time series prediction model based on CRBM algorithm
ZHOU Xiaoli1,2 , ZHANG Feng1,2 , DU Zhenhong1,2 , CAO Minjie1,2 , LIU Renyi1,2     
1. Zhejiang Provincial Key Laboratory of Resources and Environmental Information System, Zhejiang University , Hangzhou 310028, China
2. Department of Earth Sciences, Zhejiang University, Hangzhou 310027, China
Abstract: Restricted Boltzmann machines (RBM) algorithm has a poor performance in extracting feature vector and gradient descent when it is used to predict time-series data. To solve the above problems, a non-linear deep learning model was constructed based on conditional restricted Boltzmann machines (CRBM) combining with deep belief network (DBN). The model processed the input feature vectors with Gaussian distribution and samples with classical contrastive divergence to predict continuous time-series data. Our experiment adopted the time-series data of red tide in Zhejiang costal, and discussed the selection of network depth and training parameters in the model, then compared the deep learning model to classical RBM, DAE deep learning network and BP neural network shadow learning. The results showed that the prediction fitting of CRBM was superior to the other three models. This model can effectively predict the time-series of red tide.
Key words: restricted Boltzmann machines    deep architecture of CRBM    deep belief network model    Gaussian distribution    

机器学习泰斗HINTON等[1]2006年提出了深度学习的概念,并成功解决了人工神经网络局部最小值和过度拟合等问题[2].深度信念网络(deep belief network,DBN)模型,结合监督学习和非监督学习的优点,挖掘高维特征,自下而上逐层抽取特征值,以达到降维的目的.DBN模型已被成功应用于计算机视觉、用户评分的协同过滤建模[3]、微软的同声传译系统[4]、符号识别和文本分类[5]等.尤其是面向丢失或不确定性数据时,DBN模型中的核心算法RBM能够有效地动态处理批量矩阵,更新模型权重和偏移量.

然而,目前RBM的研究多集中于分类技术,忽略了RBM的结构输出预测研究[6],同时RBM对于连续非静止的时序数据预测存在受限性[7],具体表现在梯度下降能力有限和抽取特征向量能力较差两方面.本文研究的对象是连续非静止数据,具有时序数据的特征.时序数据在采样过程中包含更多的噪音,并对时间轴有很强的依赖性,输入轴输入的时刻不同,输出轴的结果也会相应不同[7].对此,本文在RBM算法的基础上对DBN模型进行了改进.结合CRBM算法与DBN模型,构建一种非线性的CRBM-DBN深度学习模型.在CRBM-DBN模型中,采用高斯分布处理输入时序数据,对比散度进行抽样,通过自动学习方式来抽取高层次的特征值,从而实现对时序数据的预测研究.

为了验证构建的CRBM-DBN预测模型对于连续时序数据输出层预测的有效性,本研究以浙江省近岸海域赤潮时序数据作为输入特征值,并和经典的深度学习模型,比如RBM算法、DAE算法做对比分析.除此之外,还与浅层学习中经典的BP神经网络算法进行对比.

1 相关研究 1.1 DBN模型

DBN模型是一种经典的伯努利-伯努利深度学习模型,由输入层和输出层构成,中间由多个隐含随机单元层分隔,这些神经网络层通过RBM堆栈提取前一层神经网络的特征激活单元作为下一层的训练数据,从而有效训练了整个网络层.DBN结构如图 1所示.

图 1 DBN模型结构图 Fig. 1 The structure of deep belief network model

图 1中可以看出,RBM是DBN模型的基本网络结构,有着核心的地位.DBN模型自下而上逐层训练RBM,可以从高维复杂的输入数据中抽取出更加抽象的空间向量.并通过训练大量的无标签样本数据以获取数据所隐含的特征,将一些错误或是冗余的信息逐层弱化.最后用BP神经网络反向微调权值,从而降低了数据的复杂度,减少了计算量,使模型达到整体最优的状态.

训练RBM时,采用梯度下降的方法来评估参数θ={W,v,h,b,c},采用式(1)求取最大似然概率.

${{\min }_{w}}=\left( -\lg P\left( v,h \right) \right),$ (1)

式(1)中,P(v,h)是隐含层和可见层的联合概率,v为可视节点,h为隐含节点,b为隐含节点的偏置量,c为可视节点的偏置量.由随机梯度下降算法进行求解.由于归一化因子的存在,使用传统的最大对数似然法计算参数θ时,因计算量过大,很难将这些参数计算出来[8].

自HINTON提出对比散度(contrastive divergence,CD)算法后,CD成了训练RBM的标准抽样方法,吉布斯链(Gibbs chain)运行仅需要几次循环便可很好地获得估计值.实现了RBM的快速学习,同时获得了趋近理想的参数,既提高了学习的计算速度,又保证了计算精度.

1.2 RBM算法

受限玻尔兹曼机(RBM),是玻尔兹曼机(Boltzmann machines,BM)中的一种.由于层内神经元之间没有关联性,可以很大程度地提高网络模型训练学习的效率[9],因而被引入到DBN模型中.每层RBM结构中含有一个可见单元和一个隐藏单元,可见单元由观察数值构成,通常为二值型数据,隐藏单元是一串随机生成的二值型数据.单层RBM结果如图 2所示.

图 2 RBM网络结构图 Fig. 2 The structure of restricted Boltzmann machine network

在HINTON最初提出的DBN模型中,底层RBM由可视单元构成,多个隐含层堆栈在其上,和服从二值分布,每个节点的取值只能为0或1.当节点取值为1时,表示该神经元当前处于激活状态,0则表示该神经元为抑制状态.RBM能够将可视单元映射到随机的二值隐含层上,从而获得更多信息的特征向量.

RBM网络结构是一种典型的基于能量函数的模型,定义了可视特征矢量和隐藏节点矢量的分布概率.依据可见层的样本,用条件分布概率P(h v)的方法计算隐含层,以激活隐含层的状态,如式(2)所示:

$P\left( {{h}_{i}}=1\left| v \right. \right)=sigmoid{{\left( \sum\limits_{i=0}^{vis}{{{W}_{ij}}{{v}_{i}}+{{b}_{i}}} \right)}^{[10]}},$ (2)

式(2)中,$sigmoid=\frac{1}{1+{{e}^{-x}}}$.通过sigmoid函数映射,隐藏层的激活概率值就会以S型的方式分布,其数值区间为[0, 1].Wij为第i个可见神经元和第j个隐含神经元之间权重的矩阵,由随机函数初始化,并由特征向量不断更新其权值,以提高模型的对数似然估计;b为隐藏节点的偏移量.

可见单元的激活概率公式如式(3)所示,依据已求取的隐藏节点的数值,更新可视节点的数值和相应的分布概率P(v|h).

$P\left( {{v}_{i}}=1\left| h \right. \right)=sigmoid{{\left( \sum\limits_{j=0}^{hid}{{{W}_{ij}}{{h}_{i}}+{{c}_{j}}} \right)}^{[10]}},$ (3)

式(3)中,c为可视节点的偏移量,权值和偏移量都随训练次数更新.

可见层和隐含层之间的联合概率函数涉及能量函数,如式(4)所示.

$P\left( v,h \right)=\exp \left( -E\left( v,h \right) \right)/{{Z}^{[10]}},$ (4)

其中,

$E\left( v,h \right)=-\sum\limits_{i=1}^{vis}{\sum\limits_{j=0}^{hid}{{{W}_{ij}}{{h}_{i}}-}}\sum\limits_{i=1}^{vis}{{{c}_{j}}{{v}_{i}}-\sum\limits_{j=0}^{hid}{{{b}_{j}}{{h}_{j}},}}$

Z为配分函数,$Z=\sum\limits_{v,h}{\exp \left( -E\left( v,h \right) \right)}$,以确保分布是标准化的.

近几年,RBM算法在深度学习模型中获得了很高的关注度,但其在时序数据预测方面存在不足,比如梯度下降能力有限等影响预测能力.对此,本文在RBM基础上对DBN模型进行了改进,构建了适用于时序数据预测的深度学习模型.

2 预测模型构建 2.1 CRBM-DBN预测模型构建

为了解决RBM在时序数据预测上的不足,本文需要对DBN模型进行改进.深度学习领域前沿有3种改进RBM算法的模型,分别为Conditional RBM、Temporal RBM和Gated RBM,这3种模型都能较好地拟合时序数据[11].本文只讨论CRBM(conditional restricted Boltzmann machines)算法对时序数据的预测研究.

CRBM算法是RBM算法的扩展,继承了RBM算法的很多优良特性,包括简易的推理过程和有效的训练过程[12],其网络结构如图 3所示.CRBM算法将RBM结构中的一些限制参数用参数化函数来替代[13],能够获得丰富而分散的隐含节点状态.本文采用CRBM算法替代DBN模型中的核心算法RBM,构建了CRBM-DBN预测模型,以用于时序数据的预测.

图 3 CRBM网络结构图 Fig. 3 The structure of conditional restricted Boltzmann machines network

CRBM是目前用于输出值结构化预测的有效概率模型,包括3层:历史层、隐含层和当前层.从图 3可以看出,目标帧t和隐含节点是对称连接的,共同受(t-2)和(t-1)帧的可视节点调控.(t-2)和(t-1)的输入值可以作为对当前时间t的可视层和隐含层之间构建的补充.这种补充关系最直接的表现在于动态更新可视节点和隐藏节点的偏量值[14].更新后的和如式(5)和(6)所示.

$b\_sta{{r}_{i}}={{b}_{i}}+\sum\limits_{k}{\sum\limits_{q}^{hid}{{{\alpha }_{ki}}^{t-q}{{v}_{k}}^{t-q}},}$ (5)
$c\_sta{{r}_{j}}={{c}_{i}}+\sum\limits_{k}{\sum\limits_{q}^{vis}{{{\beta }_{kj}}^{t-q}{{v}_{k}}^{t-q}},}$ (6)

其中:b_stari表示隐含节点i的动态偏移量,c_starj表示可视节点j的动态偏移量,vkk-q为可视节点k在t-q时刻的单元值,αkit-q为可视节点k在t-q时间段与当前时间段隐含节点i的有向连接的权重值,βkjt-q为可视节点kt-q时间段与当前可视节点j的有向连接的权重值.式中,b和c是静态偏移量,共同构成动态偏移量的数值.

图 3中,AR指的是自回归模型(Autoregressive models),AR能够将前一个时间帧的可视单元与当前可视结构相连接,而且能直接连接前一个时间帧的可视单元和当前的隐含结构.

CRBM会在短时间内不断训练,以保证在实时的环境中保持鲁棒性和有效性[14].本文模型在CRBM的隐含层中,加入了稀疏矩阵来激活单元层,实现对高维数据的降维,低维的编码能更本质地描述数据,也使得较少的特征向量能够较精确地表征原始高维信号,因此可以避免隐含层陷入过度拟合的问题.

CRBM一个重要的特征是一旦该层被训练,便可将该层加到DBN模型中[15],这样在保留前一层CRBM网络的基础上,使用相同的方式来训练最近一层的CRBM,从而构建一种用于预测的CRBM-DBN深度学习模型,其结构如图 4所示.

图 4 CRBM-DBN预测模型结构图 Fig. 4 The structure of CRBM-DBN prediction model

图 4可以看到,文中构建的CRBM-DBN模型中共有2层CRBM,将(t-2)和(t-1)帧段的可视单元作为原始帧,t,(t+1)和(t+2)为目标帧,原始帧对目标帧起补充作用,3个目标帧与隐含层构成对称性网络.AR模型将原始帧和目标帧以及对称的隐含层相连接,共同调配权重和偏移量.更新后的权重值和偏移量用于微调阶段,在CRBM-DBN预测模型中从输入层到多个CRBM层,再到输出层,整个过程自下而上进行.

2.2 高斯分布处理输入特征向量

CRBM层是由2个随机二值单元层,即伯努利-伯努利型构成的对称网络结构,可视单元的数据集v∈{0,1}D和序列化的隐含单元层h∈{0,1}F[16].文中的输入层数据是环境理化因子,包括温度、盐度、溶解氧、COD等要素,是连续的实数值.如果直接使用这些连续的时序数据会造成信息丢失,因而需要对输入特征向量进行处理.目前主要有2种处理方法:HINTON等[17]提出的将输入数据编码为伯努利型,以及SCHLKOPF等[18]提出的直接修改能量函数,将高斯分布的内容直接放到模型中,即高斯-伯努利型网络结构.因第1种方法会在预测模型中增加不必要的噪音,所以本文采用高斯分布.

为了获取高斯分布的单元值,需要在CRBM网络的能量函数中引入平方项,以满足CRBM条件性独立的假设,如式(7)所示:

$E\left( v,h \right)=\sum\limits_{i=1}^{vis}{\frac{{{\left( {{v}_{i}}-{{c}_{i}} \right)}^{2}}}{2\sigma _{i}^{2}}-\sum\limits_{j=0}^{hid}{{{b}_{j}}{{h}_{j}}-}\sum\limits_{i,j}{\frac{{{v}_{i}}}{{{\sigma }_{i}}}{{h}_{i}}{{W}_{ij}}},}$ (7)

其中:σi2为第i个可见节点的噪音度,${{\sigma }_{i}}=\sqrt{\frac{1}{N}\sum\limits_{i=1}^{vis}{{{\left( {{v}_{i}}-\mu \right)}^{2}}}}$N为输入样本的特征维度.高斯分布处理困难之一在于σi2值的求取,不像其他参数类型,σi2值被限定为正值,现有的研究工作将σi2值设定为一个统一的数值[14],即σi2=1.

通常,在CRBM-DBN模型中底层CRBM网络的隐含节点数少于输入特征维度,但是当式(7)中σi2值较小(远远小于1)时,自下而上的抽取抽象特征的效果急剧变大,而自上而下的梯度下降效果太小,这时就需要适当地增加隐藏层节点的数目.

通过高斯分布处理后,输入的环境理化因子数据可正常地在CRBM-DBN模型中训练学习.在正向抽样阶段,对隐含节点的状态值进行更新,公式如式(8)所示:

${{S}_{j}}=sigmoid\left( \sum\limits_{i}^{vis}{{{W}_{ij}}{{\delta }_{i}}+\alpha N\left( 0,1 \right)} \right),$ (8)

式(8)中,δi为与第j个隐含神经元相连的神经元的状态值,α是0到1之间的随机数,Sj为第j个神经元的状态值.

在负向抽样阶段,根据隐含层的激活概率值和状态值,更新可视层神经元的概率值和状态值,对应公式如式(9)所示:

$\left\{ \begin{align} & {{S}_{i}}=sigmoid\left( \sum\limits_{j=0}^{hid}{{{W}_{ij}}{{S}_{j}}+\beta N\left( 0,1 \right)} \right), \\ & P\left( {{v}_{i}}\left| h \right.,v_{t-1}^{t-n} \right)=N\left( {{c}_{i}}+{{S}_{i}}\sum\limits_{j=0}^{hid}{{{W}_{ij}}{{h}_{j}},{{S}_{j}}} \right), \\ \end{align} \right.$ (9)

其中N(μs2),μ期望值为0,s2方差为1,服从标准正态分布.

文中,底层CRBM的输入层需要高斯分布处理,处理后形成高斯-伯努利型CRBM,再经过抽样权值更新,进入第2层CRBM,这时需将前一层CRBM的隐含层作为该层的输入层,形成伯努利-伯努利型CRBM网络结构.

2.3 抽样方法

对比散度采样时的快速性和精确性在CRBM中仍然得到了很好的体现,因此在CRBM层中仍采用经典的对比散度抽样法.其中,吉布斯链(Gibbs chain)是由训练数据集中的一个训练样例(0)初始化,通过次循环后获得的最终取样综合(k). HINTON等[1]认为,虽然一次吉布斯采样得到的数值与真实分布存在一定的差异,但已能满足实践的需求,所以本文采取此方法.

一次Gibbs采样过程,由2个阶段构成,一个是更新所有的隐含单元,另一个是更新所有的可视单元.因此,抽样过程不仅是对隐含节点和可视节点的抽样,更是对权值和偏移量的更新.在抽样阶段,隐含节点和可视节点的激活概率值更新公式如下:

$h_j^{t - q} \sim P\left( {{h_j}\left| {{v^{t - q}}} \right.} \right),$ (10)
$v_i^{t - q + 1} \sim P\left( {{v_i}\left| {h_j^{t - q}} \right.} \right),$ (11)

式(10)、(11)中,t-q为第(t-q)时刻的可视节点和对称的隐含节点的状态值.

在底层CRBM中,每个条件矢量hjvi都对应着特定的概率分布值,即hj服从伯努利分布,vi服从高斯分布.因此在每个训练案例中需要从不同的分布模型中取样,以确保使用多个持久链.

CRBM-DBN模型在预训练阶段,底层CRBM的输入可视单元是高斯型,对应的隐含单元是伯努利型,即高斯-伯努利型CRBM.将当前堆栈的隐含层作为上一层CRBM的可视层,形成伯努利-伯努利型CRBM,自动完成自下而上的无监督学习过程,使训练误差和泛化误差均显著降低.在微调阶段,采用softmax回归算法代替传统的Logistic算法,从而使输出的任意实数不会出现收敛过拟合现象.

3 实验与分析 3.1 数据来源及预处理

本实验采用浙江省近岸海域站点2008~2012年间的数据,该海域每年爆发赤潮1次以上,因此样本数据具有一定的代表性.

训练数据集由赤潮生物和水环境因子组成,水环境因子包括pH值、水温、盐度、化学需氧量、溶解氧、溶解氧饱和度、亚硝酸盐-氮、硝酸盐-氮、氨氮、硅酸盐、磷酸盐和叶绿素共12个参数.本文构建的CRBM-DBN模型将水环境因子作为输入层特征值,赤潮生物作为输出层向量.

鉴于输入层中每种参数的数量级不同,为了避免因此引起网络模型的预测误差,需要利用线性插值法将12个输入层参数归一化到[0.1,0.9],具体如式(12)所示:

$x'=0.1+0.8x-\frac{{{x}_{\min }}}{{{x}_{\max }}-{{x}_{\min }}}.$ (12)

由于输出层赤潮生物细胞数量跨越的数量级范围较大,因此利用对数插值的方法,将其归一化到[0.1,0.9],如式(13)所示:

$y'=0.1+0.8{{\log }_{\frac{{{y}_{\max }}}{{{y}_{\min }}}}}\frac{y}{{{y}_{\min }}},$ (13)

其中xmaxxmin是输入层样本数据中的最大值和最小值,ymaxymin分别是输出层样本数据中的最大值和最小值.当赤潮生物量为0或者缺测时,其对应的标准值为0.1.文中构建的深度学习模型源数据经过式(12)和(13)预处理后,能有效减少由数据误差带来的网络模型预测误差,拟合效果更好.

3.2 模型评价标准

采用3个标准值来评价DBN模型的预测效果,分别是均方根误差(root mean square error,RMSE),绝对平均误差(mean absolute error,MAE)和平均相对误差(mean relative error,MRE),这3个标准值能够代表构建后的深度学习模型预测能力的稳定性.

对CRBM网络模型最为直接的评估方法是对学习数据的对数似然度估计.但因此方法计算量过大,难以实际应用,通常采用重构误差(reconstruction error)法进行简单评估,即

$RE=\sum\limits_{i}^{n}{{{\left( X-aVis \right)}^{2}},}$ (14)

其中,X表示mini-batch矩阵,aVis为当前预测的可视单元的状态值,真实值和预测值之间的偏差累积起来构成了重构误差.通过重构误差值的变化,计算最佳状态的CRBM-DBN模型深度,也就是CRBM的层数.

3.3 CRBM网络结构深度及参数选取

实验中通过逐层增加CRBM层数,观察其变动情况,以确定CRBM网络的深度,如图 5所示.

图 5 层CRBM训练时重构误差值 Fig. 5 The reconstruction error of multiply layers of CRBM

图 5(a)表示第1层CRBM网络,训练时重构误差值变化剧烈;到第2层CRBM网络(b),整体呈下降趋势,后期趋势放缓,达到了稳定的状态;但到第3层CRBM网络(c),上下波动剧烈,并且重构误差值有累积现象;(d)是第4层CRBM,波动更加剧烈,但波动范围很小.造成这种现象的原因可能是CRBM网络层数增加,致使误差累积[19],不适用于预测.

文中将CRBM深度设为2层,即共有2个隐含单元层和1个可见单元层.可见单元层的输入特征值设为12个,对于隐含节点的个数目前还没有很成熟的理论计算得到最佳状态值.本文以RMSE、MAE和MRE为评价标准,通过实验选取隐含节点的数目.从图 6中可以发现,当隐含节点数为11时,相应的RMSE、MAE和MRE值最小.

图 6 不同隐含节点数的预测误差 Fig. 6 The prediction error of different numbers of hidden nodes

在预训练阶段,每一层CRBM网络训练迭代1 000次,构建双层对称网络.在CRBM中原始帧数和目标帧数都很重要.由于样本数据的输入特征值仅有12个,原始帧个数的取值只能为nT=1,2,3.如图 7所示,多次实验发现随着原始帧nT个数的增长,并没有更好的预测表现.造成这种现象的原因可能是,靠近目标帧的原始矢量更具有类似的信息,能更好地评估当前的目标矢量.从图 7中可以看出,原始帧为1时,对应的RMSE、MAE和MRE的误差值相对较低.CRBM层中涉及的噪音因子和稀疏因子分别设为0.4和10.

图 7 不同帧数的预测误差 Fig. 7 The prediction error of different numbers of previous frames

根据图 67的实验结果,设定原始帧数为1,隐含节点数为11.

在CRBM-DBN模型中,学习率的选取比较重要,若取值较大,会导致重构误差值急剧增大,若取值较小,则CRBM网络的训练学习能力一般.为了保持预测模型的稳定性,一般倾向于选择较小的学习率,比如取值为0.001.文中的CRBM网络是一种高斯-伯努利型网络,因而对于学习率的敏感性要高于伯努利-伯努利型CRBM,这时选择的学习率数值要尽可能小.如表 1所示,对各个数量级的学习率分别进行实验,找出最佳状态的学习率值.

表 1 不同学习率下的预测误差 Table 1 The prediction errors of different learning rates

表 1可以发现,学习率λ值的变化对预测误差产生了一定的影响.在同等隐含节点数和原始帧数的条件下,λ=0.000 1时预测效果最佳.

3.4 时序数据预测结果分析

将经过归一化处理的数据集依照时间的序列依次划分为训练集Dtrain和测试集Dtest,从赤潮样本数据集中选择前200个时次的数据作为训练集,即2008~2011年间的数据,选择后41个时次的数据作为测试集,即2012年的采样数据.2012年共有50个时序数据,虽不完整,但也满足时序特性.Dtrain中的12个特征维作为CRBM-DBN模型训练阶段的输入层数据,Dtest中的12个特征维作为模型预测阶段的输入层数据.

CRBM-DBN模型在预测阶段输出赤潮生物量的数值,对此,笔者对深度学习的RBM算法和DAE算法,以及浅层学习的BP神经网络模型,进行对比实验.CRBM网络模型的参数设计依据3.3节的实验结果,选择最优的参数值,其中学习率λ=0.000 1,原始帧nT=1.以RMSE、MAE和MRE作为预测结果的评价标准,结果如表 2所示.

表 2 预测样本的预测误差比较 Table 2 The prediction errors of test samples

表 2可以看到,深度学习的3个模型预测精度要明显高于浅层学习,由RMSE、MAE和MRE3个评价标准值可知,深度学习中的CRBM模型表现最优.此外,CRBM模型误差的波动性也要明显小于其他3种算法.各模型预测结果的对比如图 8~10所示,需要说明的是在图 8~10中原本x轴的刻度值应为具体的采样时间,但涉及数据的保密性,采用序号的方式表示,序号的大小代表时相的前后,比如序号9是序号8的前一个时相.

图 8可知,BP神经网络在预测过程中出现了梯度过度下降的情况,尤其是赤潮爆发期,相对于实际值,梯度下降超过20%.相对爆发期,赤潮恢复期的BP神经网络能较好地控制过度拟合的现象.本文在CRBM算法中引入了稀疏率和稀疏因子,有效防止了过度拟合,使基于CRBM算法构建的深度学习模型能更好地控制梯度过度下降的问题.

图 8 CRBM算法和BP网络预测结果对比 Fig. 8 The CRBM model comparing with the BP model on prediction result

表 2可知,RBM算法的预测误差RMSE为0.078 6,低于DAE和BP算法,说明其预测趋势精度较高.由图 9可知,RBM算法预测的曲线和实际值在趋势上更一致,但存在梯度不能很好下降的情况,因此其对应的MAE和MRE的值就相对较高.而基于CRBM算法构建的深度学习模型采用CD抽样法降低梯度,获取估计值,由实验效果可知,梯度下降结果明显,获取了高精度的估计值.

图 9 CRBM算法和RBM算法预测结果对比 Fig. 9 The CRBM model comparing with the RBM model on prediction result

DAE算法也是一种经典的深度学习模型,训练过程包含编码器和解码器两部分,采用无监督的方式进行学习,主要用于解决无监督的反向传导问题.

图 10可知,DAE算法的预测误差RMSE、MAE和MRE在4种算法中相对较差,DAE算法并不能很好地拟合赤潮生物量的变化趋势,尤其是从第30个样本之后,对赤潮生物量的预测基本趋于直线,训练效果不够灵敏.引起这一现象的原因可能是DAE算法在隐含层中叠加了多个神经元层,增加了约束条件,对于这种高维时序数据无法获得良好的预测效果.

图 10 CRBM算法和DAE算法预测结果对比 Fig. 10 CRBM model comparing with DAE on prediction result
4 结 语

提出了一种基于CRBM算法的深度学习网络模型.在隐含层的联合分布概率和偏移量条件下要少于RBM的多模式,适用于具有时间序列特征的数据预测.在对浙江省近岸海域赤潮时序数据的预测中,本文构建的CRBM-DBN深度学习模型预测误差RMSE为4.02%,MAE为3.06%,MRE为7.19%,这3个评价指标值均要低于RBM、DAE和BP模型,所以该模型较适用于赤潮这类时序数据的预测.下一步笔者将重点研究该模型对其他类型的时序数据的拟合及预测效果.

参考文献
[1] HINTON G E, SALAKHUTDINOV R R. Reducing the dimensionality of data with neural networks[J]. Science, 2006, 313 (5786) : 504 –507. doi:10.1126/science.1127647 (0)
[2] KUREMOTO T, KIMURA S, KOBAYASHI K, et al. Time series forecasting using a deep belief network with restricted Boltzmann machines[J]. Neurocomputing, 2014, 137 : 47 –56. doi:10.1016/j.neucom.2013.03.047 (0)
[3] SALAKHUTDINOV R, MNIH A, HINTON G. Restricted Boltzmann machines for collaborative filtering[C]// Proceedings of the 24th International Conference on Machine Learning.New York:ACM,2007:791-798. (0)
[4] MARKOFF J. Scientists see promise in deep-learning programs[N]. New York Times,2012-11-27. (0)
[5] LAROCHELLE H, BENGIO Y. Classification using discriminative restricted Boltzmann machines[C]// Proceedings of the 25th International Conference on Machine Learning.New York:ACM,2008:536-543. (0)
[6] MNIH V, LAROCHELLE H, HINTON G E. Conditional restricted Boltzmann machines for structured output prediction[C]// 28th Conference on Uncertainty in Artificial Intelligence,2012:514-522. (0)
[7] LÄNGKVIST M, KARLSSON L, LOUTFI A. A review of unsupervised feature learning and deep learning for time-series modeling[J]. Pattern Recognition Letters, 2014, 42 (1) : 11 –24. (0)
[8] 陈翠平. 基于深度信念网络的文本分类算法[J]. 计算机系统应用, 2015, 24 (2) : 121 –126.
CHEN Cuiping. Text categorization based on deep belief network[J]. Computer Systems and Applications, 2015, 24 (2) : 121 –126. (0)
[9] 刘建伟, 刘媛, 罗雄麟. 玻尔兹曼机研究进展[J]. 计算机研究与发展, 2014, 51 (1) : 1 –16. doi:10.2190/EC.51.1.a
LIU Jianwei, LIU Yuan, LUO Xionglin. Research and development on Boltzmann machine[J]. Journal of Computer Research and Development, 2014, 51 (1) : 1 –16. doi:10.2190/EC.51.1.a (0)
[10] HINTON G E. A practical guide to training restricted Boltzmann machines[C]//Neural Networks: Tricks of the Trade. Heidelberg:Springer,2012:599-619. (0)
[11] SPILIOPOULOU A. Investigation of Deep CRBM Networks in modeling Sequential Data[D]. Edinburgh:University of Edinburgh,2008. (0)
[12] MONTUFAR G, AY N, ZAHEDI K. Geometry expressive power of conditional restricted Boltzmann machines[R]. New Mexico:Santa Fe Institute,2014. (0)
[13] BENGIO Y. Learning deep architectures for AI[J]. Foundations and Trends in Machine Learning, 2009, 2 (1) : 1 –127. doi:10.1561/2200000006 (0)
[14] CHEN S, AMMAR H B, TUYLS K, et al. Conditional restricted Boltzmann machines for negotiations in highly competitive and complex domains[C]// Proceedings of the Twenty-Third International Joint Conference on Artificial Intelligence.Palo Alto:AAAI Press,2013:69-75. (0)
[15] TAYLOR G W, HINTON G E. Factored conditional restricted Boltzmann machines for modeling motion style[C]// Proceedings of the 26th Annual International Conference on Machine Learning.New York:ACM,2009:1025-1032. (0)
[16] SALAKHUTDINOV R, LAROCHELLE H. Efficient learning of deep Boltzmann machines[J/OL]. Journal of Machine Learning Research,2010,9(8):693-700. (0)
[17] HINTON G E. To recognize shapes, first learn to generate images[J]. Progress in Brain Research, 2007, 165 (6) : 535 –547. (0)
[18] SCHÖLKOPF B, PLATT J, HOFMANN T. Modeling human motion using binary latent variables[C]//Advances in Neural Information Processing Systems 19: Proceeding of the 2006 Conference. Cambridge: MIT Press,2007:1345-1352. (0)
[19] 单外平.基于深度信念网络的变速器故障分类识别研究[D].广州:华南理工大学,2015.
SHAN Waiping. Classification and Recognition of Transmission Fault Based on Deep Belief Network[D]. Guangzhou: South China University of Technology,2015. (0)