首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

改进的求解非线性方程组的迭代神经网络算法

作者:赵庆兰 李文 董晓丽 来源:现代电子技术

摘 要: 利用BP神经网络可以逼近多变元非线性方程组的函数的反函数,并利用迭代算法进行求解方程组的根。在实验中发现迭代算法在迭代过程中由于误差过早收敛出现无穷迭代,且由于误差并不一直随迭代次数的增加而减少导致最后收敛的值并不一定是最小值。针对这两个问题对其进行了改进,并利用算例进行了实验分析。在输入区域偏离解区域很远的情况下也能求得方程组的近似解。

关键词: BP神经网络; 非线性方程组; 迭代算法; 误差收敛

中图分类号: TN911?34; TP183 文献标识码: A 文章编号: 1004?373X(2013)08?0020?03

0 引 言

神经网络具有许多优点,如大规模并行处理、分布式存储以及网络的计算时间复杂度几乎为零等[1],因此,神经网络的应用已越来越广泛。BP(Back Propagation)神经网络是采用误差反向传播学习算法的多层前馈神经网络,它是当前获得广泛应用的模型之一。BP算法的基本思想[2?4]是: 网络学习由输入信号的正向传播和误差的逆向传播两个过程组成。正向传播过程是指样本信号由输入层输入,经网络的权重、阈值和神经元的转移函数作用后,从输出层输出。

如果输出值与期望值之间的误差大于预期,则转入误差反向传播阶段,进行修正,即误差通过隐层向输入层逐层返回。网络的学习训练过程实质就是根据输出值与期望值之间的误差不断调整网络权重和阈值的过程,直到网络输出误差减小到允许值或到达设定的训练次数为止。由于 BP神经网络模型具有较强的随机性和不确定性,很多研究对BP算法进行改进,并取得了大量的成果,具体参看文献[5?6],这些算法提高了BP神经网络在实际应用中的可靠性,使得BP神经网络的应用范围越来越广泛。

神经网络求在求解非线性方程组中的应用也有了较好的研究。文献[7?9]研究了人工神经网络逼近非线性多元函数的可能性,得到了相应于几类特殊作用函数的神经网络逼近存在性定理, 这些定理保证了用单层神经网络逼近连续多元函数时,可达到任意的精确度。赵启林等提出一种权值耦合的BP神经网络模型[10],吴灵敏等提出了对形式为[x=f(x)]的多元非线方程组的神经网络求解方法[11],赵华敏等利用能量函数降能的方法寻找方程组的根[12]。

这些方法对多变元非线性方程函数形式有一定的要求。孙银慧等利用迭代BP神经网络的逼近非线性方程组的函数的反函数的方法,提出了一种通用性较强的求解方法[13]。

本文对文献[13]中所提出的方法进行了分析研究,发现存在误差收敛过早导致无穷跌代以及收敛值并非最小值的问题,并对算法进行了改进。

1 迭代的ANN算法

1.1 非线性方程组

研究如下非线性方程组的数值解问题[13]:

[y=f(x)] (1)

式中:[f:Rn→Rn;x,y∈Rn]。

假设[x0=[x1,0,x2,0,...,xn,0]T]为它的一个解,[f(x)]的反函数 [x=f-1(y)]存在,则有:

[f(x0)=0, x0=f-1(0)](2) 尽管利用[f(x)=0]求解[x0]很不容易,但是若能求得[x=f-1(y)],则可由式(2)方便求得式(1)的解[x0]。虽然[x=f-1(y)]的显式表达式同样不易求得,但如果能够得到其映射数据,则可以利用各种拟合方法逼近[x=f-1(y)],从而得到[x0]。这种映射数据可以由[y=f(x)]很方便的得到,因而非线性方程组(1)的求解问题转化为寻求一种好的拟合方法,利用已有的映射数据来精确逼近[x=f-1(y)],采用人工神经网路(ANN)加以实现。

1.2 迭代的神经网络算法

1.2.1 算法简介

文献[13]中主要介绍了两种方法,一种是简单的ANN方法,另外一种是迭代的ANN方法,详见文献[13]。在求解算法中,给定方程组(1)的解的存在区域D,经过其中的算法1和算法2得到的输出 [x0′=[x1,0′,x2,0′,....,xn,0′]T]近似为方程组(1)的解[x0]。

对于误差的衡量,由于实际计算中[x0]并不可知,无法计算解误差[|x0-x0′|],用[Δ=||Δy||∞=max(Δyi)],其中[Δyi=|yi,0-yi,0′|,][i=1,2,...,n]来衡量,其中[y0′=f(x0′)]。此处文献中的[Δ]和[Δyi]的描述有误,本文进行了更正。在算法2的第2个步骤中,如果 [x0′∈D],则缩小区域D,实际上根据文献的实验数据的表2,作者并没有缩小区域D,而是改变了D,本文作者也认为在这种情况下没有必要缩小D,只需要根据[x0′]改变D即可,这一点也体现在本文提出的改进算法里。

1.2.2 算法实验分析

使用文献[13]中的算例进行方程组的求解:

[y1=f1(x)=2x31-x22-1=0y2=f2(x)=x1x32-x2-4=0] (3)

式中[x=[x1,x2]T,]该方程组的解为[x0=[x1,0,x2,0]T=]

[[1.234 3,1.661 5]T]。

采用两个输入的(10?2)BP神经网络结构,利用Matlab的工具箱实现,第二层隐层神经元节点个数为10,使用变换函数选正切S型函数(tansig);第三层为输出层,节点个数为2,输出层神经元传递函数为purelin函数,并且选Levenberg?Marquardt算法(trainlm)为BP网络的学习算法,训练次数100次,学习误差为0.000 1。

按照文献[13]所描述的迭代算法进行实验,在不同初始化权重和阈值的情况下,在不同的区域D按照迭代的ANN算法进行迭代求解。

大量的实验结果表明,在迭代求解的过程中[Δ]的并不是直线或者曲线下降的,而是按照波浪线下降并且最后稳定于某一个值的,也就是[Δ]可能在达到[ε]之前就不再下降,并且最后的稳定状态的值并一定是[Δ]的最小值。

图1是[Δ]随着迭代次数n的变化曲线,横坐标轴为n,竖坐标轴为[Δ],在实验过程中,D的取值为:[x1∈[1:0.01:1.5],x2∈[1.5:0.01:2]],固定网络结构和初始化参数进行迭代,当n=20时[Δ]达到了最小值,当n=35以后[Δ]便不再开始变化。改变区域D的值也有相同的试验结果。

图2中D的取值为:

[x1∈[0:0.01:0.5], x2∈[1.5:0.01:2]]

图3中D的取值为:

[x1∈[0:0.01:0.5], x2∈[2:0.01:2.5]]

图4中D的取值:

[x1∈[1 000:0.01:1 000.5], x2∈[2 000:0.01:2 000.5]时的][Δ]随着迭代次数n的变化曲线。

2 迭代的方法的改进

根据试验结果所标明的[Δ]随着迭代次数n的变化趋势和收敛分析,原来的迭代算法会出现无穷迭代,或者不能找到最小[Δ]。因此对原来迭代算法进行改进。

(1)对[Δ]达到平稳状态的判断。随着迭代次数的增加,当[Δ]的值不再发生变化时便中断迭代过程以免进入无休止的迭代求解。

(2)对[Δ]最小值的求解。由于当[Δ]达到平稳状态时的值未必是最小值,因此在迭代过程中记录[Δ]的最小值。当[Δ]达到最小值的对应的方程组的解被认为是方程组的近似解。

①设寄存器 min_delta用来记录[Δ]的最小值,寄存器min_x记录[Δ]取最小值时方程组的解,给定区域D和允许误差ε ,利用算法1[13]求得初步解[x0′],[Δ],用[Δ]初始化寄存器min_delta;

②根据[[x0′]]改变区域D,使得D满足[[x0′]∈D]得到新的求解区域D;

③以D为新的求解区域,利用算法 1 求得新的解赋值给[x0′],并计算误差 [Δ],如果[Δ]

利用改进的算法对方程组进行了求解,表1 为区域D分别为三种情况时实验的结果数据,[x1,0′],[x2,0′]为[Δ]为最小时所求得近似解。结果表明在不知道[D0]的情况下,即使D偏离[D0]很远时,也就是给一个任意的样本初始点,迭代过程也能使[Δ]收敛到一个较小值。比如D的取值为:[x1∈[800,800.5],x2∈[800,800.5]]时,经过85次迭代[Δ]达到一个稳定值,并在n=43时,[Δ]达到最小值0.052 1,[x1,0′]=1.234 2,[x2,0′]=1.667 2。

3 结 语

本文主要研究利用BP神经网络可以逼近多变元非线性方程组的函数的反函数,并利用迭代算法进行求解方程组的根,这是是一种通用的解多变元方程组的方法。

对文献[13]所提出的利用迭代神经网络求解多变元非线性方程组的方法进行了研究和实验分析,发现原算法可能由于误差[Δ]过早收敛而出现无穷迭代,并且由于误差并非一直随迭代次数的增加直线或者曲线变小,因此收敛的误差值并不一定是最小值。改进算法并根据误差[Δ]随迭代次数的变化曲线对迭代算法进行了改进,试验结果表明给一个任意的样本初始点,改进的迭代算都能能使[Δ]收敛到一个较小值,并找出[Δ]取最小值时方程组的近似解,具有较高的工程应用。由于网络的初始化权重和阈值以及对网络的迭代结果有重要的影响,神经网络结构与参数的选取和优化是值得进一步研究的问题。

参考文献

[1] 焦李成.神经网络系统理论[M].西安:西安电子科技大学出版社,1996:1? 25.

[2] 张立明.人工神经网络的模型及其应用[M].上海:复旦大学出版社,1992.

[3] ABIYEV Rahib Hidayat, ALTUNKAYA Koray. Neural network based biometric personal identification with fast iris segmentation [J]. International Journal of Control, Automation, and Systems, 2009, 7 (1): 17?23.

[4] YANG Li, SONG Ma?lin. Research on BP neural network for nonlinear economic modeling and its realization based on Matlab [C]// International Symposium on Intelligent Information Technology Application. [S.l.]: [s.n.], 2009 : 505?508.

[5] 蒋蓉蓉.一种基于遗传算法的BP网络改进方法[J].微计算机信息,2007,23(11):234?236.

[6] 王静伟.BP神经网络改进算法的研究[J].中国水运,2008,8 (1):157?158.

[7] CYBENKO G. Approximation by superpositions of a sigmidal function [J]. Math Contral Signals Systems, 1989, 2: 303?373.

[8] PALM G. On representation and approximation of nonlinear systems [J]. Discrete System Bid Cybernet, 1979, 34: 49?52.

[9] HECHT?NIELSEN R. Theory of the back propagation neural nerwork [C]// Proceedings of the International Joint Conference on Neural Nerworks. [S.l.]: IJCNN, 1989, 1: 593?608.

[10] 赵启林,卓家寿.非线性方程组的耦合神经网络算法[J].河海大学学报,2000,28(5):38?40.

[11] 吴灵敏,柳重堪.用神经网络解多元非线性方程组[J].北方交通大学学报,1997,21(2):245?248.

[12]] 赵华敏,陈凯周.解非线性方程组的神经网络方法[J].电子学报,2002,30(4):601?604.

[13] 孙银慧,白振兴,王兵,等.求解非线性方程组的迭代神经网络算法[J].计算机工程与应用,2009,45(6):55?59.