信息i》l誓科学人工神经网络BP算法的改进与分析阴辉张志刚刘培学(烟台大学光电学院信号处理实验室山东烟台264005)[摘要]针对标准BP算法存在的缺陷,讨论一种改进算法L髓P算法,阐述该算法的优化技术原理,并利用MATLAB语言对该算法进行仿真,对训练速度和内存消耗情况做比较.仿真结果证明采用L岫P算法的BP神经网络可以使实际输出与期望输出更接近。误差更小,效率更高。【关键词]BP网络BP算法L蛐P算法lIATLAB中图分类号:TP3文献标识码:^文章编号:167卜’7597(2008)0720029—02一、引盲当以=O时,式(3.1)就变成近似海森的拟牛顿法,如式(3.3)。人工神经网络(ArtificialNeuralNetwork,ANN)是一种旨在模仿雕+l=啊一【.,1∽).,@)+鸬,】-1.,1畔)P眠)兰毗一茸1g,(3.3)人脑结构及其功能的脑式智能信息处理系统。由于其具有自学习、自适应牛顿法能够更快更准确地逼近一个最小误差,所以,应尽快地向牛顿及信息的分布式存储等特点,被广泛应用于智能控制、系统辨识、智能监法转换,于是在每一步成功后,p都会减小,只有当发现下一步输出变坏测等领域。近年来,已有多种ANN模型被提出并得以深入研究。其中,时才增加Ⅱ。按这种方法,算法的每一步运行都会使目标函数向好的方向发展。80%~9096的人工神经网络模型是采用前馈反向传播网络(Back—PropagationNet勋rk简称BP网络)或它的改进形式[1],它是前向网络的四、应用MATIAB神经网络工具箱对常用BP算法的分析核心部分,体现了网络最精华的部分。但BP网络存在自身的限制与不足,MATLAB是妇thworks公司研制的一套高性能的数值计算和可视化软使得BP算法在实际应用中不是处处能胜任。因此近十几年来,许多研究人件,得到了各个领域专家学者的广泛关注[6].其中神经网络工具箱是用员对其做了深入的研究,提出了许多改进的算法,如使用动量项的加快离MATIAB语言开发出来的许多工具箱之一,网络的设计者可以根据自己的需线训练速度的方法、快速传播算法,以及最优滤波法等。本文主要讨论要去调用工具箱中有关神经网络的设计与训练函数,从而提高效率和解题BP网络的改进算法Levenbergllarquardt方法,并利用lIATLAB语言对该算法质量。本文通过对两种算法的评论,有助于了解BP网络改进的算法及其优进行仿真研究。缺点。=、标准BP算法的研究(一)梯度下降算法BP算法实际上是工程上最常用的最小均方误差算法的一种广义形式,一般的BP算法对应每一次输入都校正一次权值。这种算法不是全局意它使用梯度最速下降搜索技术,按网络的实际输出和期望输出的均方误差义上的梯度下降计算。累积梯度下降算法即所谓的累积误差校正算法,它最小的准则递归求解网络的权值和各节点的阚值是在全部训练模式都学习完后才校正连接权和阀值。下面针对一个具体算[2]。Bp算法属于有导师的学习算法。其主要思想为:对于q个学习样本:例进行分析。程序清单:毋,clear%清除内存变量和函数B,⋯‘。已知其对应的输出样本为:正。瓦,⋯L。学习的目的是用网络的实际输出Al,A2,⋯厶与目标矢量正,疋,⋯L之间的误差来修改其权echoon%显示被执行指令值,使C1cA与期望的T尽量接近,即网络的输出层的误差平方和达到最小。它%清除指令窗是通过连续不断地在相对于误差函数斜率下降的方向上计算网络权值和偏loadD:%导入训练数据差的变化而逐渐逼近目标的。p2p:虽然t=t’:BP算法得到了广泛的应用,但它也存在自身的限制和不足,其主要表现在它的训练过程的不确定上.主要缺点为:学习效率低、收敛速度net=newff(min髓x(p)。[20,2],{’109sig’,’109sig’},’traingd’):慢;完全不能训练;局部极小值[3]。Net:init(net):朔始化网络权值和阚值解决腿t.traiTlPara札shoF25:%设定显示间隔次数BP网络的训练问题还需要从算法上下功夫,目前,人们将改进算法分为两大类:第一类为基于标准梯度下降的改进方法。第二类为基于标№t.trainParaⅡepochs=20000:%设定最大循环次数准数值优化的改进方法。在本文中,我们主要讨论第二类当中的Net.trainPara札min_grad-le—10:%设定最小梯度Levenberg-MarquardtBP(L船P)算法。net.traillP”a札1r=O.1:%设定学习速率为O.05三、net.traillPara皿goal=1e一5:%设定目标误差UⅥBP算法[net,tr】=train(net,p’t);%网络训练LMBP算法实际上是梯度下降法和牛顿法的结合[5]。用以最小化那些作为其它非线性函数平方和的函数。这非常适合于性能指数是均方误差的y=sim(net。p)%网络仿真神经网络训练。梯度下降法在开始的几步下降较快,但随着接近最优值,训练过程如图3.1所示.由于梯度趋于零,使得目标函数下降缓慢,而牛顿法可以在最优值附近产(二)L岫P算法生一个理想的搜索方向。程序清单:其主要算法为:cle8r%清除内存变量和函数echo0n%显示被执行指令W+l=W一∥眠).,@)+鸬,】-1.,1∽弦∽)(3,1)其中:J是包含网络误差对权值及阈值的一阶导数的雅可比clc%清除指令窗10adD:%导入训练数据(Jacobian)矩阵。,该算法可不必计算海森矩阵而接近海森矩阵的训练速度,当误差函数p2p:·具有平方和的形式时,海森矩阵近似为日=2,2.,,梯度可由式窖t=t,:=2',。e计算.net=ne霄ff(mirl衄x(p),[20,2],I’109sig’,’logsig’),’trainlm’)当鸬很大时,式(3.1)就变成步长很小的梯度下降法,如式(3.2).net=init(net):%初始化网络权值和阙值net.traillP8ra皿sho萨25:%设定显示间隔次net.traillPara皿epochs=20000:%设定最大循环次2wHwf一去J7∽)e@)兰Ⅳ厂去反(。.net.traillP8ranmin.grad=le一10:%设定最小梯度2)
篡霎弘渊一㈧net.trainPar锄.眦=0.001:%设定p的初始值n%设定u的增加系数et.train随r硼.叫一inc=lO:net.trainPara儿姒Ldec:0.1%设定u的减小系数net.trainPar锄.goal=1e一5:%设定目标误差[net,tr]:train(net,p,t):%网络训练y=sim(net,p)%网络仿真训练过程如~图3.2所示。图3.3梯度下降法网络训练误差P●^拥_’c●h●.19暖打争偶.Go刚kO图3.1梯度下降法训练过程P_自nn-。●o●■&10●aa●oO屯ao■■1●-O∞\\{图3.4L壮P算法网络训练误差从图3.3和图3.4看出,当将目标误差设定为0,最大迭代次数设定为2000进行训练时,L鹏P算法只需要迭代4次。其实际误差为9.19.97e一023,已超出该软件的范围(1e一12),训练停止。梯度下降法在经过2000次的迭代后,实际误差仅仅达到6.55108e—006。图3.2LMBP算法训练过程五、结论(三)测试结果’从前面的分析结果,可以看出L弛P算法有着梯度下降法所无法比拟的在相同结构的BP神经网络中,我们对两种不同算法的网络采用同一个优点。啪P算法收敛的速度比梯度下降法快好几个数量级,采用L皿P算法训练样本进行训练,两种算法各测试了10次,取其平均值,在不同方面得的BP神经网络可以使实际输出与期望输出更接近,误差更小,效率更高。出如下结果。(1)收敛速度:从训练过程可以看出,u毋P算法的收敛速度明显优于梯度下降法,两种算法的收敛速度不在同一数量级。具体比较如表参考文献;3.1所示。表[1]张志华,朱章森,李儒兵.几种修正的自适应神经网络学习算法及其3.1收敛速度比较应用.地球科学,1998,23(2):179—182.算法平均训练平均迭代最长训练最短训练时间(秒)次数(次)时间(秒)时闻[2]JainA,Ma0J,MohiuddinKlLArtificialneuralnetwrks:a(秒)tutorial.IEEECo叩uter.1996,29(3):3卜33.梯度下降法20.23603l101_3612.59[3]张磊,胡春。钱锋.BP算法局部极小问题改进的研究发展工业控制计算机,2004,17(9):33—34.LMBP算法0.9842.10.32[4]吕俊,张兴华.几种快速BP算法的比较研究.现代电子技术,2003,24.(2)目标误差分析:对于梯度下降法的BP网络来说,目标误差减小[5]王赞松,许洪国.快速收敛的BP神经网络算法.吉林大学学报(工学一个数量级,将会增加以万为单位的迭代次数,在测试中,当将目标误差版),2003,33(4):80.修改为le一6时,迭代次数将达到十万次以上。当迭代次数相同时,我们可[6]楼顺天,施阳.基于姒TLAB的系统分析与设计神经网络.西安:西安以根据图3.3和图3.4看出两种不同算法的BP网络达到的实际误差。电子科技大学出版社,1998.143—154.(上接第1页)六、结论[3]陈传福,任长玉,习复.光学活性高分子的手性固定相[J].色谱,1995。13.由此可见,手性修饰树脂对氨基酸有分离能力,且很容易再生。如果[4]Barenten删,HeikensD.P0lymer,1974,15(11):119~129.能够对树脂聚合度、孔隙度、接枝率等进一步优化,有望用于氨基酸类外消[5]FaytR,Jer∞eR,TeyssieR.P01mEng.Sci.,1987,27(6):328~337.旋体的拆分,并且具有操作简便、成本相对较低、对环境没有污染等优点。[6]BakerlrE,Slee删.Polym.Eng.Sci.,1987,27(20):1634~1645.[7]The胛,RudinA.P01yⅡEng.Sci.,1992,32(22):1678~1688.参考文献:。【8]徐伟强(x呷ei—qiang),潘恩黎(PANEn-H).功能高分子学报(Jomalof分子.上海:上海科学技术出版社。FunctionalPolymer),1996,1(9):19~24.[1]陈义镛.功能高1988.[2]姚金水,周立国,李弘等.噻唑烷类手性配体在催化不对称硅氢化反应中作者简介:的应用[J].催化学报,1998,19(4):378381.王玉婷,女,徐州医药高等职业学校讲师,主要从事化学教学和药物分析。