首页 > 范文大全 > 正文

基于BP神经网络的训练函数选取研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于BP神经网络的训练函数选取研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:首先介绍BP神经网络的特点,论述其在岩土工程中的实用性,以Matlab神经网络的作为工具,基于触探模型作为研究对象,对不同的训练函数进行了仿真比较,建立黄土旋转触探模型,以所采集的实验参数,进行bp神经网络训练函数研究。结果表明采用不同的训练函数其存在明显的差异。综合考虑干密度误差,含水量误差,干密度误差(样本顺序),含水量误差(样本顺序)以及迭代次数和性能误差等因素,选用trainlm作为训练函数,trainlm函数由于其训练速度较快且计算精度较高而显现出一定的优势。最后采用不同的训练函数对网络进行训练,进行总结其优缺点。

关键词:BP网络 旋转触探仪 神经网络预测 训练函数

中图分类号:TP751 文献标识码:A 文章编号:1674-098X(2014)12(c)-0004-02

随着计算机技术的快速发展,人工神经网络在数学p物理p工程p岩土等行业得到广泛应用。Matlab软件提供了神经网络的工具箱,提供了多种神经网络库函数,为数值计算提供了计算平台。岩土工程问题的复杂多变性,在运用神经网络分析和预测时,其结果往往受各种因素的影响,关键还是网络结构的构建和训练函数的选取。因此,应该对网络的训练函数的选取进行深入研究

该文在大量的旋转触探试验的基础上,结合土的物理性质指标含水量、干密度,土的强度参数粘聚力和内摩擦角,以及埋深情况,建立土的旋转触探模型,建立BP神经网络,采用不同的训练函数对网络进行训练。

1 BP神经网络

BP网络是一种单向传播的多层前向网络,具有三层或三层以上的神经网络,包括输入层、中间层(隐层)和输出层。在人工神经网络的实际应用中,BP网络广泛应用于函数逼近、模式识别/分类、数据压缩等,人工神经网络模型采用BP网络或它的变化形式,它是前馈网络的核心部分,体现了人工神经网络最精华的部分。BP算法的基本思想[1]是,学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出不符,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程,是周而复始地进行的。权值不断调整的过程,也是网络的学习训练过程。此过程一直进行到网络输出的误差减少到可以接受的程度,或进行到预先设定的学习次数为止。

2 BP神经网络的训练函数

BP神经网络中的训练算法函数是根据BP网络格式的输入、期望输出,由函数newff 建立网络对象,对生成的BP 网络进行计算,修正权值和阈值,最终达到BP网络的设计性能,从而完成网络的训练和预测。BP 神经网络几种主要的训练函数及其特点分述如下[2]。

(1)traingda、trainrp函数和trainlm函数。

traingda函数是最基本的自适应学习步长函数,其最大优点可以根据误差容限的性能要求调节函数,弥补标准BP算法中的步长选择不当问题。trainrp函数可以消除偏导数的大小权值带来的影响,只考虑导数符号引来的权更新方向,忽略导数大小带来的影响。trainlm函数。该函数学习速度较快,但占用内存很大,从理论上来说适用于中等规模的网络。

(2)共轭梯度算法:traincgf函数、traincgp函数、traincgb 函数、trainscg函数。

共轭梯度算法是介于最速下降法与牛顿法之间的一个方法,其利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hesse矩阵并求逆的缺点。上述四种共轭梯度算法前三种收敛速度比梯度下降快很多,其需要线性搜索,对于不同的问题会产生不同的收敛速度。而第四种不需要线性搜索,其需要较多的迭代次数,但是每次迭代所需计算量很小。

(3)Newton算法:trainbfg函数、trainoss函数。

trainbfg 算法的迭代次数较少,由于每步迭代都要Hessian矩阵,其每次迭代计算量和存储量都很大,适合小型网络。Trainoss为一步割线算法。它是介于共轭梯度法和拟牛顿算法的方法,其需要的存储和计算量都比trainbfg要小,比共轭梯度法略大。

上述各算法由于采用的训练函数不同,其计算速度、收敛速度及其迭代次数不尽相同,并且对内存要求依研究对象的复杂程度、训练集大小、网络的大小及误差容限的要求等存在差异。在运用BP网络解决相关工程性问题时,需要选择合理的训练函数。

3 网络训练函数的选取

该文着重研究BP神经网络的训练函数的选择,所用数据样本均来自于实践中用新型微机控制旋转触探仪采集到的数据,经过归一化处理建立了网络的样本数据库,根据训练函数的特点选择其隐含层数为2。文选择非线性函数为Sigmoid,输出层的传递函数为Purelin,可以用来模拟任何的函数(必须连续有界)。

采用不同的训练函数对网络的性能也有影响,比如收敛速度等等,下面采用不同的训练函数(trainbr、traingd、traingdm、traingdx、traincgf、trainlm、trainb)对网络进行训练,并观察其结果,如表1所示。

对比可知,trainlm训练函数的收敛效果较好,trainbr、trainlm训练函数得到的绝对误差相对较小,其它训练函数的收敛性能较差。trainbr训练样本的绝对误差比trainlm训练函数的绝对误差小,且分布比较均匀,但是trainbr训练函数的收敛精度却相对较差,这可能是出现局部最优化的问题,通过测试样本的进一步分析如表2所示,trainbr训练以后的网络对于预测样本的预测精度较低,偏差较大,进一步验证了该训练函数在训练过程中训练收敛精度相对较差,并出现局部最优化[3]。

综合考虑,可以看到trainlm训练函数具有训练速度快且预测精度高的特点,所以本文中选用trainlm作为训练函数。

4 结论

该文以Matlab神经网络的作为工具,基于触探模型作为研究对象,对不同的训练函数进行了仿真比较,结果表明采用不同的训练函数其存在明显的差异。综合考虑干密度误差,含水量误差,干密度误差(样本顺序),含水量误差(样本顺序)以及迭代次数和性能误差等因素,选用trainlm作为训练函数,trainlm函数由于其训练速度较快且计算精度较高而显现出一定的优势。

参考文献

[1] 葛哲学,孙志强.神经网络理论与MATLAB R2007实现[M].电子工业出版社,2007.

[2] 施彦,韩立群,廉小亲.神经网络设计方法与实例分析[M].北京邮电大学出版社,2009.

[3] 陈维家,汪火旺.静力触探中土层界面效应试验研究[J].水文地质工程地质, 2003(2):25-27.