您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 基于遗传算法的BP网络
基于遗传算法的BP网络在梅雨量预测中的应用孙承刘全金(安庆市气象台246001)(安庆师范学院物理系246001)摘要:讨论基于遗传算法的BP网络在安徽省安庆市区梅雨量预测中的应用,对优化BP网络结构和连接权的遗传算法做了阐述。关键词:遗传算法BP网络MATLAB1遗传算法遗传算法简称GA(GeneticAlgorithm),是美国Michigan大学的JohnH.Holland教授创建,由生物进化思想启发而得出的一种具有全局搜索能力的算法。它模拟自然界物竞天择、适者生存,通过选择(selection)、交叉(crossover)和变异(mutation)等操作,产生新一代适应力更强的群体(如图1所示)。群体初始化将一组待优化的量值(基因)放在向量中作为一个色体(个体),在优化对象的取值范围内随机地生成一组染染色体(第一代群体)。根据实际问题设定染色体适应度(fitness)函数,适应值越高,表示该染色体的适应能力越强。为了防止遗传算法后期染色体适应值差别变小,优秀染色体优势减弱,导致群体进化停滞,在适应度函数中引入模拟退火思想对适应值进行拉伸,如令((为第i个染色体适应值,T为温度,T0为初始温度,gen为遗传代数),这样有利于优秀的染色体凸显出来。选择操作是根据染色体适应值占群体适应值比重决定其选择概率,适应值越高的染色体,下一代群体中存在的数量就越多。选择策略有适应度比例法、排序选择法、最佳个体保存法和期望值方法等。交叉操作从群体中随机的选取两个双亲染色体,按照某种规则进行部分交换,生成两个新染色体。新染色体的数量由交叉概率Pc决定。变异操作是按概率Pm随机地对群体中的染色体按照某种规则做“基因突变”。重复以上操作,如果群体适应值趋于稳定(即连续几代染色体平均适应值的方差小于某极小值),或者遗传代数达到预定的数值N就中止遗传操作。2BP网络BP网络(Back-ProPagationNetwork)又称反向传播神经网络,通过样本数据的训练,不断修正网络权值和阈值使误差函数沿负梯度方向下降,逼近期望输出。它是一种应用较为广泛的神经网络模型,多用于函数逼近、模型识别分类、数据压缩和时间序列预测等。BP网络由输入层、隐层和输出层组成,隐层可以有一层或多层,图2是m×k×n的三层BP网络模型,网络选用S型传递函数,通过反传误差函数((Ti为期望输出、Oi为网络的计算输出),不断调节网络权值和阈值使误差函数E达到极小。BP网络具有高度非线性和较强的泛化能力,但也存在收敛速度慢、迭代步数多、易于陷入局部极小和全局搜索能力差等缺点。可以先用遗传算法对“BP网络”进行优化,在解析空间找出较好的搜索空间,再用BP网络在较小的搜索空间内搜索最优解。3BP网络的样本模型用灰色理论中建立等维新息模型的思想建立样本模型,按(1)式选取已知样本P和期望输出T作为训练模型。BP网络的传递函数为S型,在训练前按(2)式对梅雨量做归一化处理,使样本数据在(0.1,0.9)之间。(2)1951-2002年梅雨量为样本数据,从1951年开始,每连续m年梅雨量为一组输入样本,对应第m+1年的梅雨量为本组期望输出,共生成52-m组样本数据,后5组样本为测试样本,其余样本为BP网络学习样本。4遗传算法优化BP网络结构设置多输入单输出的三层BP网络模型,其中输入层m个神经元,隐层k个神经元,输出层1个神经元。用遗传算法对BP网络结构进行优化。将BP网络输入层神经元个数、隐层的神经元个数、动量因子和初始学习速率作为染色体遗传基因,取值范围定为[2,20;2,50;0.001,0.999;0.001,0.99]。MATLAB的trainbPx函数采用动量法和学习速率自适应调整策略训练网络,函数返回参数是权值w、阈值b和误差tr。设置染色体的适应度函数令交叉概率Pc=0.3、变异概率Pm=0.15,用MATLAB编写遗传程序,作选择、交叉和变异操作,进化到第1000代,得到BP网络输入层神经元个数m、隐层的神经元个数n、动量因子mc、初始学习速率lr为:9.686、19.991、0.015、0.985。所以,设置BP网络结构为10×20×1。5遗传算法优化BP网络连接权5.1染色体编码和初始化采用实数编码遗传算法优化BP网络的连接权值。对应9×18×1的BP网络结构,将BP网络权值和阈值这199实数基因依次排列组成行向量(即染色体),在[-1,1]范围内随机生成100个染色体,形成第1代群体。5.2染色体适应度函数将染色体中的基因“串”还原为BP网络对应的权值w和阈值b,此时BP网络输出为:(3)将期望输出值T与网络输出Tout比较,结合模拟退火适应值拉伸算法,定义染色体的适应度函数为:(4)其中为第i个染色体适应值,gen为遗传代数。5.3选择、交叉和变异模拟自然界适者生存规律,以染色体的适应值大小为选择原则选择下一代群体的染色体,染色体被复制到下一代的期望数为:,若某染色体被选中参与交叉、配对,则它的期望减去0.5,否则染色体期望数减1设交叉概率Pc=0.35,同时使用单点、两点和均匀交叉法生成新一代染色体;以变异概率Pm=0.2,对染色体基因作均匀、正态和非一致变异,得到新一代染色体。群体进化到第2000代,染色体的适应值已基本稳定,将染色体中的实数基因“串”转换为BP网络的权值w1、w2、阈值b1和b2。6BP网络预测梅雨量用两次优化的结果构建BP网络,设置网络的目标误差为0.01,最大循环次数为3000。用trainbPx函数训练BP网络,循环到第2000次时,训练误差小于目标误差训练结束。重复训练,结果相同,这说明通过两次遗传算法和一次BP网络训练,找到了全局的最优。将测试样本代入BP网络,计算结果(见图3所示)在趋势上与实际趋势相符,数值上除1999年相差较大外,其他四年的相差不大。7小结Bp网络和遗传算法的结合,在预测2001和2002年梅雨量起到了较好的辅助作用。但由于遗传算法的编码、适应度函数和参数选择没有定性的方法,在理论上有待进一步探讨;另外,影响梅雨量的因素很多,所以单凭历史数据预测还不够,我们将从这些因素入手做深入研究。参考文献1阎平凡、张长水.人工神经网络与模拟进化计算.清华大学出版社.2陈国良、王熙法等.遗传算法及其应用.人民邮电出版社.3闻新、周露等.MATLAB神经网络应用设计.科学出版社.4Y.J.Cao,Q.H.Wu.TeachingGeneticAlgorithmUsingMatlab.Int.JournalElectricalEngineeringonEducation,1998(2)《气象与减灾》返回目录当前位置:中国论文下载中心工学计算机计算机应用正文BP神经网络在无人机成本估算中的应用来源:中国论文下载中心[09-10-0215:46:00]作者:李燕军编辑:studa202.确定网络结构和算法。本案例的BP神经网络结构如图2。由上图可知,该BP神经网络的结构由6个性能指标构成输入层,输出层只有一个节点即整机价格。中间的隐层包含7个神经元节点。本文采用的是MATLAB的BP神经网络工具箱中的Trainlm函数建立的模型,它采用的是L-M算法。3.数据标准化、训练和测试。本文采用的MATLAB版本是MATLAB7.70(R2008b),该版本的功能比较强大,对数据的要求不像以前的那么严格(以前版本的MATLAB要求节点输入和输出值的大小在[0,1]),所以笔者在并不需要对数据进行标准化。这样不仅能够减少模型的计算量,而且还有利于提高最终结果的精确度。对案例中BP神经网络的训练和测试,本文大致经过了以下过程:第一步在MATLAB中命令窗口中输入:in=[250,200,150,120,100,100;1000,4000,5000,5000,5500,6500;10,40,150,150,200,400;90,350,200,200,210,220;1,1.5,4,5,4,10;1,10,25,60,35,60];out=[5,50,120,150,180,300];x=[80,10000,500,600,2,50];y=[20,15000,300,700,5,200];第二步:net=newff(in,out,7)%7个神经元;net=train(net,in,out)%训练;p=sim(net,in)%查看训练效果;px=sim(net,x)%预测第7组数据;py=sim(net,y)%预测第8组数据;如果经过上面的运行没能获得满意的结果,可进行第三步,运行如下程序:net=train(net,in,out)%训练;p=sim(net,in)%查看训练效果;px=sim(net,x)%预测第7组数据;py=sim(net,y)%预测第8组数据;反复进行第三步直到得到满意的结果;4.结果。根据前文构建的军品成本估算BP模型,以及上文确定的算法和过程,在经过了5次迭代后得到结果见表3。由上面的结果可知,对高速无人机1和高速无人机2测试的误差都在20%以内,是在前文限定的范围内,因而笔者认为这个结果是可以接受的。并且,测试结果表明目前的定价还是略高于计算值。四、存在的问题在将BP神经网络模型应用于无人机的过程中,笔者认为以下几个方面的问题是比较难把握的。1.输入层节点个数的控制。就本案例来说,输入层有6个节点,也就是6个性能指标。正如前文所言,选择的这6个性能指标是因为它们与最后的整机价格有主要关系。这个判断主要是根据专家的判断和实际的做法得出来的,所以其中的主观性很大。如果选择的尺度或标准稍微有所变化,那么指标的个数就会发生变化。而且我们如果要判断到底需要几个指标才能达到最好的预测效果。2.隐层节点数的控制。这里包括两个问题:一是包括几个隐层?二是隐层中包括几个节点。一般来说一个隐层的BP神经网络就能很好的学习和测试,就笔者看到的文献而言,也主要是一个隐层。关于隐层中节点的个数,没有具体的规则,只能根据结果调整,这就对研究者使用MATLAB进行BP神经网络建模的经验和技术提出了挑战。3.样本集大小和精度的控制。理论上来说,样本集的规模越大,数据越充足,最终获得的结果会越精确。在样本集大小给定的情况下,将BP神经网络学习和测试的精度(误差)设置在那个范围内比较合适,这个问题也是需要反复拟合才能找到比较合适的。4.如果样本集中涉及资金的时间跨度较大,那么必须考虑资金时间价值的影响,应将样本集中数据的时间应统一起来。此外,如果有批量采购的情况存在,还应该考虑生产熟练程度的影响。参考文献:[1]刘建:航天型号寿命周期费用估算及报价系统研究与实现[D].长沙:国防科学技术大学,2004.[2]刘铭赵保军杨建军等:基于GA和BP融合算法的装备费用估算方法[J].系统工程与电子技术,2002.24(2):2-65.[3]李波许诚王君珺:导弹武器系统采办费用估算有关问题分析[J].海军航空工程学院学报,2006,21(5):585-588.[4]孙本海:炮兵武器装备估算方法的研究与实现[D].长沙:国防科学技术大学,2002.[5]郭继周宋贵宝彭绍雄:装备使用保障费用灰色建模分析[J].系统工程与电子技术,2004,26(1):64-67.[6]陈尚东张琳陈永革:地空导弹武器系统维修费用灰色预测模型[J].空军工程大学学报(自然科学版),2008,9(2):72-75.[7]郭建华白桦蒋宜勋等:模糊综合评价方法在武器装备项目研制费用估算中的应用[J].兵工学报,2004,25(6):726-729.[8]刘铭陈杨陈永革:BP网络在防空导弹采购费用研究中的应用[J].系统工程与电子技术,2000,22(2):63-65.[9]刘国利唐晓兵刘远亮:基于BP网络的导弹研制费用预测[J].战术导弹技术,2003,(1):23-58.[10]Sonmez,Rifat.Conceptualcostestimationofbuildingprojectswithregressionanalysisandneuralnetworks[J
本文标题:基于遗传算法的BP网络
链接地址:https://www.777doc.com/doc-2576947 .html