一种基于BP神经网络的铁路软土路基沉降预测方法与流程

文档序号:14967422发布日期:2018-07-20 11:10阅读:279来源:国知局

本发明涉及建筑施工领域,具体涉及一种基于bp神经网络的铁路软土路基沉降预测方法。



背景技术:

神经网络技术雏形研究始于20世纪40年代,但是直到上个世纪80年代末期才应用于土木工程学科。我国最早是北京交通大学张清教授在1992年时将其应用于岩石力学行为的预测研究上。由近年来,神经网络技术在土木工程学科、岩土工程学科中得到了越来越广泛的应用,有效的解决了土木工程,尤其是岩土工程学科中很多不确定的问题。例如:神经网络技术在岩土工程物理力学参数指标的反演和预测、单桩极限承载力的预测、路基及桩基的沉降预测、深基坑支护参数的反演、土动力学参数的计算、边坡的变形监测等方面都有着广泛的使用。

bp神经网络长期的广泛使用,得益于它具有以下几个优点:首先bp神经网络具有较强的非线性处理能力,因此它可以较好地解决非线性类聚的问题。实践证明,对于任意一个三层或三层以上的bp神经网络,只要该网络隐层的神经元个数足够多,就能实现对任意一个非线性函数的无限逼近。其次,由于bp神经网络采用了分布并行的信息处理技术,因此对输入信息具有较强的联想和记忆的能力。再次,bp网络还具有优化计算能力。它可以在给定的约束条件下,寻找一组合适的参数组合,使确定的目标函数误差达到最小。

虽然bp神经网络虽然有很多优点,在工程实际中得到了广泛的应用,但是长时间的使用过程中发现bp神经网络也存在一些缺点,主要有以下几个方面。

(1)采用bp网络在训练时,梯度下降法收敛速度很慢。采用动量法提高了学习率,收敛速度略有提高,但在实际处理复杂非线性问题时速度仍然不够,这两种方法通常只能用于递增训练。

(2)多层神经网络应用于线性系统理论上可以实现对于任意函数的模拟逼近。但实际使用过程中并不一定总能有解。

(3)多层bp神经网络有时无法得到最优解,主要是因为多层bp神经网络中非线性传递函数可能有有多个局部最优解。而寻求最优点与初始点的选择有很大关系,初始点如果更靠近的是局部最优点而不是全局最优点的时候,就会很难得到全局的最优解。

(4)bp神经网络的结构的选择尚不明确,一般只能依靠经验选定。而网络的结构好坏直接影响到网络性能的优劣。神经网络隐层神经元的数目的确定也是一个难点。神经元数目如果太少可能会造成网络的不适性,而太多又可能引起网络的过适性。



技术实现要素:

为解决上述问题,本发明提供了一种基于bp神经网络的铁路软土路基沉降预测方法。

为实现上述目的,本发明采取的技术方案为:

一种基于bp神经网络的铁路软土路基沉降预测方法,包括如下步骤:

s1、将路基的处理方式、填土的工程特性、路基施工工期作为神经网络的输入变量,将所述输入变量所对应的沉降观测断面的实测数据作为输出矢量,得到训练样本集;

s2、通过试算法确定隐含层中神经元节点数;

s3、将训练样本集的所有数据进行归一化处理,使全部数据转换到0~1之间后,以trainlm函数作为训练函数进行样本数据的训练,构建bp神经网络;

s4、收集某铁路路基沉降观测段的路基的处理方式、填土的工程特性、路基施工工期数据,进行归一化处理,使全部数据转换到0~1之间后,输入所得的bp神经网络,即得对应的铁路软土路基沉降预测结果。

其中,所述步骤s2具体包括如下步骤:

s21、首先用理论方法确定出神经元节点数的范围

采用“2n+1”法确定节点数可取n=13个,然后以n=13为中心划出一个相对较大的范围,可选取数目的范围为5~21;

s22、根据选取的5~21这一范围,利用matlab编制程序进行试算,分别求得节点数从5到21共计17次循环过程中各项bp网络预测误差值;

s23、对应bp网络预测误差值最小的那个数即为最合适的神经元节点数。

本发明引入优化的方法解决bp神经网络在预测路基沉降时遇到的问题,引进优化后预测精度明显提高。

附图说明

图1为不同隐层节点数对应的误差。

图2为traingdx函数训练图。

图3为traingdx训练函数误差图。

图4为traingdm函数训练图。

图5为traingdm训练函数误差图。

图6为trainlm函数训练图。

图7为trainlm训练函数误差图。

图8为trainbfg函数训练图。

图9为trainbfg训练函数误差图。

具体实施方式

为了使本发明的目的及优点更加清楚明白,以下结合实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例

收集某铁路路基沉降观测段dk0+243、dk0+280、dk0+342、dk0+370、dk0+342、dk0+445、dk0+450、dk0+500、dk0+535、dk0+573等48个沉降观测断面的实测数据,如表1所示。选取其中dk0+243、dk0+280、dk0+342、dk0+370等36组沉降观测数据作为训练样本,其余第37-48组沉降观测数据作为检验样本,以便对训练好的bp神经网络进行检验,判断其训练的效果。由于选择参数较多,网络的输入的各个参数量纲不一致,如软土层厚度、路堤高度的量纲是m,施工工期是天,地基处理方式为预压处理、cfg桩处理和不处理等,这些数据在量级不一致,因此应该先将原始数据序列进行归一化处理,使全部数据转换到0~1之间。待网络仿真结束后,再对输出值进行还原处理即可。由于此处地基处理方式不是定量的变量,此处采用以下方式进行处理:地基不处理赋值为1,预压处理赋值为2,cfg桩处理赋值为3。

表1检验样本数据表

续表4.1

隐层设计

隐含层设计最重要的就是隐层节点数的确定。隐层节点数如果选的太少,则网络可能会在局部最小中搜索,导致网络可能训练不出来,很难识别“不熟悉”的样本,容错性差,难以得到可靠的结果。但若隐含层神经元节点数过多,将会导致训练时间增长,容易使网络训练过度,误差也不一定最佳。所以神经元节点数的选择是一个难点也是bp神经网络模型优化的关键。关于节点数的选择,很多学者做了大量工作,研究证明一个三层bp神经网络假设其具有输入层有m个节点,隐含层有2m+1个节点,输出层有n个节点,那么它可以准确的地表达任一个连续函数如式(1)所示。

由式(1)可以得出,如果一个bp网络输入层有m个节点,那么节点数n=2m+1。此外,求隐层节点数还有式(2)-(4)可作参考:

n=log2m(3)

式中:n-隐层节点数;m-输入节点数;n1-输出节点数;n2-训练样本数。

确定节点数还有其他很多方法,比如直接定型法、修剪法、生长法等等。但这些理论都还不完善,很多理论在实际应用中经常会出现失效的情况。鉴于理论的不完善,本文拟通过试算法来确定神经元节点数。具体过程如下:

(1)首先用理论方法确定出神经元节点数的范围。采用“2n+1”法确定节点数可取n=13个,然后以n=13为中心划出一个相对较大的范围,可选取数目的范围为5~21;

(2)根据选取的5~21这一范围,利用matlab编制程序进行试算,分别求得节点数从5到21共计17次循环过程中各项bp网络预测误差值;

(3)对应bp网络预测误差值最小的那个数即为最合适的神经元节点数。

不同神经元节点数和对应的bp网络预测误差值如图1所示。从图1可以看出在神经网络预测过程中,预测误差平方和随着节点数的变化不断波动波动。当节点数为13时,bp神经网络的预测误差平方和最小。因此可以确定隐层节点数为13时预测结果最忧。

训练函数的选择

matlab神经网络工具箱中的训练函数主要有以下几种:

(1)traingdx函数:以自适应学习速率和附加动量bp算法函数;

(2)traingdm函数:梯度下降动量bp算法函数;

(3)trainlm函数:变梯度反向传播的levenberg-marquardt算法函数;

(4)trainbfg函数:反向传播神经网络进行训练,bayesian归一化法函数。

为选取最忧的bp神经网络,将样本数据分别用上述四种函数进行训练,得到不同训练函数的预测效果如图2~9所示:由图2~9可以看出,traingdx函数、traingdm函数、trainlm函数和trainbfg函数等四种训练函数在进行训练时的网络收敛速度和预测误差情况。为更清晰的比较个函数的预测效果,现将各函数的网络收敛速度和预测误差列于表2。

表2各训练函数收敛速度和预测误差统计表

由图2-9和表2可以看出,traingdm函数进行网络训练时网络训练次数达20000次仍未收敛,最大相对误差为13.47%,最小相对误差为-0.32%,是四种训练函数误差最大的;traingdx函数网络训练次数为717次,最大相对误差误差达13.01%,训练效果不好;trainbfgt函数网络训练次数为88次,最大相对误差误差达12.70%,训练效果欠佳;在使用trainlm函数进行训练时,网络收敛速度最快而且相对误差最小,最大相对误差为9.83%,最小相对误差仅为-0.01%。综合分析比选可知,采用trainlm函数作为训练函数效果最佳。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1