改进的BP神经网络模型在大坝安全监测预报中的应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

改进的BP(武汉大学水利水电学院,湖北武汉430072摘要:针对BP神经网络模型存在的缺陷进行了改进,并将改进的BP模型应用于大坝安全监测中效应量的预报。示例证明,改进的BP神经网络模型与常规BP神经关键词:大坝;安全监测;改进BP神经网络;常规BP神经网络;水平位移;1前言目前,根据大坝安全监测中效应量的已有测值预报今后效应量的测值,通常采用的数学模型主要有统计模型、确定性模型、混合模型三种,但有时会出现回归失败、缺少必要的参数、模型预报精度不高等现象,从而不能满足工程要求。这时可以考虑使用人工神经网络(ArtificialNeuralNetwork)自20世纪80年代以来,吸引了大批研究人员对其理论模型、学习算法、开发工具、实际应用和与其他机器学习方法的结合方面进行广泛深入的探索,范围涉及人工智能、认知科学、行为科学、物理学、心理学、神经科学、图像处理、语言学、控制论等广泛的领域。目前神经网络已经实际应用到模式识别、专家系统、机器学习等许多方面,表现出具有自组织性、自适应性、联想能力、模糊推理能力和自学习能力等优势。BP神经网络是目前较为成熟并且应用在大坝安全监测预报中,已出现BP模型应用的论文[1]。本文利用改进的BP神经网络模型对某大坝的水平位移进行分析和预报,结果表明,与常规BP模型及回归统2大坝BP2.1原理大坝BP神经网络结构如图1所示。图1大坝BP1中所示网络结构有三层:第一层为输s1个神经元;第二层为隐层,有s2个神经元;第三层为输出层,有1个神经元。网络结构中具有r个输入矢量,即为与效应量预测相关的因子数;有一个输出矢量,即为效应量。网络中的不同层有不同的神经元数目,每个神经元都带有一个输入为常数1的偏差值。f1、f2、f3为神经元的激活函数,这里均取为Sigmoid在多层网络中,每一层的输出都是下一层的输入,所以可以将输入层看作是输入为r个相关因子,输出为A1;隐层看作是输入为A1,输出为A2;输出层看作是输入为A2,输出为效应量。其中A1、A2、A3BP算法的主要思想是:对于给定的学习样本,使网络的输入等于样本的输入,然后用网络的实际输出和学习样本的输出之间的误差来修改权值,使网络的输出与样本的输出尽可能接近,即:使网络输出层的误差平方和达到最小。它是通过连续不断地在相对于误差函数斜率下降的方向上计算网络权值和偏差的变化而逐渐逼近目标的。每一次权值和偏差的变化都与网络误差的影响成正比,并以反向传播的方式传递到每一层。BP算法的具体步骤见文献2.2虽然BP2.2.1需要较长的训练时间对于一些复杂的问题,BP算法可能需要进行很多次训练才能收敛,占用较长的2.2.2由于学习速率决定每一次循环训练所产生的权值变化量,因此大的学习速率可能导致系统的不稳定。较大的学习速率在训练初始阶段并不成问题,且能够加速误差的减少,能比一般的学习速率产生更佳的误差减小率。但是随着训练的不断深入则出现了问题,由于学习速率过大,使网络每一次修正值太大,从而导致在权值的修正过程中2.2.3BP算法可以使网络权值收敛到一个解,但它并不能保证所求为误差超平面的全局最小解,很可能是一个局部极小解。这是因为BP算法采用的是梯度下降法,训练是从某一起点沿误差函数的斜面逐渐达到误差的最小值。对于复杂的网络,其误差函数为多维空间的曲面,因而在对其训练过程中,可能陷入某一小谷区,而这一小谷区存在的是一个局部极小值。由此点向各方向变化均使误差增加,以致于使训练无法逃出这一2.3针对BP(1)对一个特定的问题,要选择适当的学习速率比较困难。因为小的学习速率导致较长的训练时间,而大的学习速率可能导致系统的不稳定。并且,对训练开始初期功效较好的学习速率,不见得对后来的训练合适。为了解决这个问题,在网络训练中采用自动调整学习速率的方法,即自适应学习速率法。自适应学习速率法的准则是:检查权值的修正值是否真正降低了误差函数,如果确实如此,则说明所选取的学习速率值小了,可以对其增加一个量;若不是这样,而产生了过调,那么就应该减小学习速率的值。(2)为了防止网络陷入局部极小值,采用了附加动量法。附加动量法使网络在修正其权值时,不仅考虑误差在梯度上的作用,而且考虑在误差曲面上变化趋势的影响。该方法是在反向传播法的基础上在每一个权值的变化上加上一项正比于前次权值变化量的值,并根据反向传播法来产生新的权值变化。带有附加动量因子的权值调节公式为:式中k——训练次数;——权值η——学习效率;δ——x——mc——动量因子,一般取0.92.4由于大坝BP神经网络预报模型的层数有三层,且每层神经元也较多,加上输入层因子数众多,往往使得采用一般的程序设计出现循环套循环的复杂嵌套程序,从而使程序编制既费时,又不易调通。但是如果利用MATLAB中的神经网络工具箱,则编程非(1)确定输入样本和输出样本,此处输入样本是与效应量预报相关的各因子数值,输出样本为效应量实测值。为了防止网络出现麻痹,必须对输入量、输出量进行处理。本文的作法是将输入的r个因子xi(i=1,2,…,r)和输出量y都变换到(0.3,0.7)(2)确定BP神经网络的层数,本文选择了三层BP神经网络,结构如图1所示。(3)确定每层神经元的个数。第一层选择17个神经元,第二层选择18个神经元,第三层选择1(4)确定每层的激活函数。三层的激活函数均选为Sigmoid(5)W和偏差B初始化。这里可利用MATLAB的函数initffX为网络的输入样本;17、18、1分别代表第一层、第二层、第三层的神经元数目;logsig代表每层神经元激活函数为Sigmoid(6)确定网络训练参数。取最大学习步数为max-epoch,学习速率为1r,误差指标为err-goal,学习过程的显示频率为disp-freq(7)用改进的BP神经网络对样本进行训练,即将动量法和自适应学习速率结合起来应用到普通的BP神经网络。这个技术已编入MATLAB函数trainbpx(8)输入要进行预报的效应量的相关因子X,然后对效应量进行预报。这可以通过MATLAB函数simuff3现以某混凝土拱坝的某测点的水平位移为例说明该模型的应用。经过分析可知,该测点水平位移主要受时效、水位和温度的影响。影响水平位移的相关因子取12个,其中时效分量取2个,即x1∶t和x2∶log(t+1)(t为测值当天到基准日期的累计天数);水压分量取4个,即x3∶H1,x4∶H2,x5∶H3,x6∶H4(H为测点所在坝段的水深);温度分量取6个,即51-70,x12∶T71-90(分别代表前10天、前11~20天、前21~35天、前36~50天、前51~70天、前71~90天平均气温)。效应量为水平位移y1986年7月6日至1990年4月11日的150个数据为训练样本(同时也建立相应的常规BP模型和回归统计模型),1990年4月20日到1992年4月3日的97个数据来预报(同时也利用相应的回归统计模型来预报),结合上述所讲的原理和方法,利用自编的Matlab程序进行计算,结果见表1、图2。表1为常规BP模型和改进BP模型采用不同的学习速率、经过10000表。从表1可以看出,改进后的BP模型与常规BP模型相比,呈现出明显的优越性。SSE不再受初始学习速率的影响,网络采用不同初始学习速率,其误差SSEBP模型由于网络采用不同的学习速率,网络可能出现训练不稳定,甚至有时网络麻痹,不能继续训练。同时网络训练同样的次数,常规BPSSE后的BP模型,因此,要达到同样的误差,常规BP模型必然需要训练更多次数,从而占用更多的机时。常规BP模型的误差有时可能陷入局部最小,而改进后的BP模型由于采图2为改进后的BP模型与回归统计模型拟合图2改进BP模型与回归统计模型从图2中可以看出,BP神经网络预报结果明显优于回归统计模型。为了进一步从均方差可知,BP4(1)改进的BP模型由于采用了自适应学习速率和附加动量法,因而比常规BP模(2)改进的BP模型与回归统计模型的预报结果相比,具有较好的预报精度。当使用统计模型建模精度不高或失效时,可考虑使用BP(3)建立神经网络模型时,利用Matlab软件编程比用常规的语言程序效率更高。[1BP模型在大坝安全监测预报中的应用[J].大坝观测与土工测试,1999(6)[2]从爽.面向MATLAB工具箱的神经网络与应用[M].合肥:中国科技大学出版社,1998[3]楼顺天,施阳.基于MATLAB的系统分析与设计——神经网络[M].西安:西安电子科技大学出版社,2000[4]闻新,周露,等.MATLA神经网络应用设计[M].北京:科学出版社,2000

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功