您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 神经网络在数值积分中的应用研究
1三角基函数神经网络算法在数值积分中的应用研究*1.引言在科学技术中,积分是经常遇到的一个重要计算环节,比如PID调节器就涉及积分计算。在一定条件下,虽有Newton-Leibniz公式:baxfxFaFbFdxxf))()('(,)()()(可以计算定积分的值,但在很多情况下,)(xf的原函数不易求得,或非常复杂。此外,在工程实际中,函数)(xf是用函数表形式给出而没有解析表达式,这就更无法使用Newton-Leibniz公式了,因此有必要研究定积分的数值计算方法,以解决定积分的近似计算。数值积分的计算方法很多,如Newton-Cotes方法、Romberg方法、Gauss方法等[1~4],其中Newton-Cotes方法是一种利用插值多项式来构造数值积分的常用方法,但是高阶的Newton-Cotes方法的收敛性没有保证,因此,在实际计算中很少使用高阶的Newton-Cotes公式;Romberg方法收敛速度快、计算精度较高,但是计算量较大;Gauss方法积分精度高、数值稳定、收敛速度较快,但是节点与系数的计算较麻烦、而且要求已知积分函数)(xf。本文提出的数值积分计算方法,其基本思想是训练三角基函数神经网络来逼近被积函数以实现定积分的数值计算。研究结果表明,本文提出的数值积分方法积分精度高、收敛速度快、数值稳定,甚至可以处理一些奇异积分的问题,而且不需要给定被积函数,因此能有效解决建模困难的系统或未知系统的求积分问题,在工程实际中有较大的应用价值。下面详细讨论三角基函数神经网络算法及其与数值积分的关系,并给出计算实例。2.三角基函数神经网络模型三角基函数神经网络模型如图1所示,其中jw为神经网络权值,)(xcj为三角基函数,即:)2,...2,1,0)(cos()(Njjxxcj,NNNjxNjxcj,...22,12]()2sin[()()(1)为隐层神经元激励函数(N为偶数),且],0[x。设权值矩阵为:TN),...,,(10W,激励矩阵为:TNxcxcxcx))(),...,(),(()(10C,则有:神经网络输出:)()()(0xxcwxyTNjjjCW(2)误差函数:)1,,1,0(,)()()(mtxyxftett(3)其中m为样本点数,)(xf为被积函数。则有:性能指标:102)(21mtteJ(4)权值调整:)()()()1(txtettCWW(5)其中为学习率,且10。2.1三角基函数神经网络收敛定理定理1.设为学习率,则当240N时,神经网络算法收敛,其中N+1是隐层神经元个数。证明:取Lyapunov函数为:)(21)(2tetV,则有:)(21)1(21)(22tetetV(6)因为WWTtetetetete)()()()()1(,而WW)()(tete,于是有:222)()()()()()(teteteteteteT(7)其中222,称为Euclid范数的平方。所以式(6)改写为:)8........(............................................................)(21)()()()(21)()()()(21)()()(21)()(21)(222222222222由式(8)知,要使神经网络收敛,必须有下式成立,即:0)(21222Wte,因0,所以22)(20Wte(9)由式(7)、(8)可得:)()()()()(tttxxyxyteteCWW,所以Nntnttxcxxte02222222)()()()(CCW,由式(1)可以证明22)(02NxcNntn因此,由式(9)有:240N,即当学习率满足240N时,有0)(tV,从而本文讨论的三角基神经网络算法是收敛的,证毕。2.2三角基函数神经网络最佳学习率在神经网络训练中,学习率是影响神经网络收敛快慢以及是否收敛的一个重要参数,太小会使收敛太慢,太大会使神经网络振荡而无法收敛。为确定该神经网络的最佳学习率,本文以随机函数作为训练对象。在构造神经元网络模型时,取网络结构为:1010,11211,学习率为:122424N,其中为学习率调整因子,即10。训练结果如表1所示。由表1可知,最佳学习率:optopt1224,其中5.0opt,opt为最佳学习率调整因子。故一般情况下,最佳学习率应取为:22Nopt。图2为取5.0opt时的某次训练结果对训练对象的误差ydyerrlog1020,其中y为训练结果,yd为训练对象。3图1余弦基函数神经网络模型图2随机函数训练误差表1:学习率与收敛速度的关系学习率1224α0.10.20.30.40.50.60.70.80.91.0学习次数5525159711183167不收敛3.积分定理定理2.设a、b为积分上下限,且ba,0,jw为神经网络权值,则有:)]cos()[cos(1)]sin()[sin(1)()(2/122/10jbjajjajbwjwabdxxfINjjNbaNjjw证明:bababaNjNjjNjdxjxjxwdxxydxxfIw2/02/12)]sin()cos([)()()]cos()[cos(1)]sin()[sin(1)()sin()cos()()]sin()cos([2/122/102/122/102/122/10jbjajjajbjabdxjxdxjxabdxjxjxwwNjjNjNjbaNjjNbaNjjbaNjjNNjj证毕。由定理2可以得出以下三条推论:推论1.当ba,0时])cos()sin([1)()(222/100推论2.当ba,0时]1[1)()()1()1(2/1200jNjjNbawjwdxxfdxxfI推论3.当ba,0时])sin()cos([1)()()(2)1(2/120)1(wwjNjjbaaNjjNjajawjwadxxfdxxfI4.数值积分实例为了验证本文提出的数值积分算法的优越性,本文选取了参考文献[5][6][7]中给出的一些实例进行计算,与传统的梯形法、辛甫生方法、组合辛甫生方法和龙贝格方法比较(见例1和例2),精度高,适应性强。例1.文献[7]用梯形法和辛甫生方法在[0,2]积分区间分别计算被积函数:xexxxxx,sin,1),1/(1,,242等六个函数的积分,结果如文献[7]中的表4.7所示。在本4文算法中,取神经网络结构为:11211,1010J,学习率:0164.0,训练样本集为:60,,1,0),(|60kxfkxkk。表2列出了文献[7]的结果和本文算法的结果。表2:几种数值积分方法对应各函数的计算结果)(xf[7]2x4x)1/(1x21x)sin(xxeExactvalue2.6676.4001.0992.9581.4166.389Trapezoidal4.00016.0001.3333.3260.9098.389Simpson’s2.6676.6671.1112.9641.4256.421本文结果2.6656.3931.1012.9591.4156.388例2.计算积分:4802)(cos1dxx用Romberg方法计算该积分时遇到了困难[6],用CompositeSimpson’srule计算时,将积分区间[0,48]等分成100个子区间,计算结果为58.47082[5]。考虑到被积函数是以为周期的函数,且48=15+0.8761,因此,本文计算方法如下:4802)(cos1dxx=1502)(cos1dxx+8761.002)(cos1dxx根据定理2中的推论1和推论2有:])8761.0cos()8761.0sin([1])1(1[1158761.015)(cos1222/14802/1)1(2002取神经网络结构为:12411,性能指标:2010J,学习率为:0083.0,训练样本集为:120,,1,0),(|120kxfkxkk,计算结果为:4802)(cos1dxx520558.,图3为训练结果对训练对象的误差。例3.为了检验本文算法具有奇异积分的处理能力,考虑如下奇异函数:32,21,10,)(3/2/xxxeeexfxxx该函数的精确积分值为:1.546036。取神经网络结构为:1611,性能指标:2010J,学习率为:0323.0,训练样本集为:30,,1,0),(|30kxfkxkk,计算结果为1.5467。图4为训练结果对训练对象的误差。5图3例2训练误差图4例3训练误差例4.设某一LTI系统的输入为)(tx,其单位冲激响应为)(th)()()()(2tuthtuetxt则系统的输出为]8[:tdtye02)(取神经网络结构为:11211,性能指标:2010J,学习率为:0164.0,训练样本集为:60,...,1,0),(60kfkKK,图5显示了],0[t时的计算结果与系统输出精确值的误差曲线。图5例4误差曲线5.结论由本文给出的四个实例及2.2中随机函数训练结果可以看出,三角基函数神经网络算法收敛速度快,本文提出的基于三角基函数神经网络算法的数值积分算法适应性强,计算精度较高,不要求已知被积函数,因此,本文算法不仅适合于已知函数的数值积分,而且也适合于未知函数的数值积分。本文提出的数值积分算法的另一大特点是能够对奇异函数进行积分,而且精度高,这一点可以从例3看出。但是本文只解决了函数的单重积分问题;另一方面,由于本文提出的数值积分算法要求积分区间],0[,因此对积分区间超出该范围的积分求解,必须对被积函数进行变换,使积分区间],0[(如例2)。参考文献[1]RichardL.Burden,J.DouglasFaires.NumericalAnalysis(SeventhEdition)[M].北京:高等教育出版社,2001,186~226[2]王能超.数值分析简明教程[M].北京:高等教育出版社,1997:66~96.[3]沈剑华.数值计算基础[M].上海:同济大学出版社,1999:73~109[4]林成森.数值计算方法(上)[M].北京:科学出版社,1998:173~215[5]RichardL.Burden,J.DouglasFaires.NumericalAnalysis(SeventhEdition)[M].北京:高等教育出版社,2001:206,772。[6]RichardL.Burden,J.DouglasFaires.NumericalAnalysis(SeventhEdition)[M].北京:高等教育出版社,62001:212[7]RichardL.Burden,J.DouglasFaires.NumericalAnalysis(SeventhEdition)[M].北京:高等教育出版社,2001:
本文标题:神经网络在数值积分中的应用研究
链接地址:https://www.777doc.com/doc-4258150 .html