您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 人工神经网络与遗传算法在多泥沙洪水预报中的应用
人工神经网络与遗传算法在多泥沙洪水预报中的应用翟宜峰1,李鸿雁2刘寒冰3(1.大连理工大学水利土木学院;2.北京理工大学管理与经济学院;3.吉林大学交通学院)摘要:由于水沙作用机制和演进规律的复杂性,以及河道形态变化等因素,多泥沙洪水预报一直是洪水预报的难点,对高含沙洪水快速、准确的预报是多年来国内外专家十分关注的课题。作者采用具有高度非线性识别能力的人工神经网络与遗传算法相结合的方法,探讨了建立智能预报模型的基本方法,进一步对如何提高预报精度的问题进行了研究,并结合黄河洪水预报实例检验了神经网络模型的可行性。检验结果表明,该方法能够较好地识别多泥沙洪水的演进规律,对水位、流量和含沙量都能进行合理预报。关键词:人工神经网络;遗传算法;多泥沙洪水预报;多泥沙洪水预报精度1引言我国多数河流汛期洪水含沙量较高,黄河和海河就是典型的多泥沙河流,河槽冲淤严重,洪水预报困难。只有正确认识高含沙洪水的水沙作用机制和演进规律,分析多泥沙河道河槽的演变趋势,实施较为准确的洪水预报和预警措施,才能较大限度减小洪灾经济损失。因此,对高含沙洪水快速、准确的预报是多年来国内外专家十分关注的课题。目前,国内外对水沙机制的研究还没有取得突破性进展。实体模型试验代价较大,且存在相似性问题,模型本身不能严格反映原河道演变和水沙演进机制;概化的数值计算模型难以较好反映实际复杂的水沙作用机制和自然边界条件。采用具有自学习功能的神经网络模型来研究水沙的作用机制,是一种全新的方法,已有大量有关这方面的研究成果[1~4],为采用人工神经网络方法进行含沙量的预报提供了有益的参考。但是对于基于人工神经网络的水位、流量和含沙量等紧密相关水文要素的联合分析与研究的成果并不多见。本文在自然科学基金项目的资助下,结合在洪水智能预报中积累的经验[5~8],以黄河历史水文资料作为数据支持,对高含沙洪水的智能预报方法,以及如何提高预报精度进行了深入系统的研究,获得了合理的建模方法和相关参数的率定方法,为该领域的进一步研究提供了参考。2多泥沙洪水智能预报的基本方法多泥沙洪水预报包括两个方面:一是洪水过程预报;二是含沙量的预报。河道一个断面的水沙过程取决于上游的来水和来沙过程、河道控制边界和沿程水沙交换,因此,水沙预报模型必须能够反映河道的水沙交换机制。2.1基本原理神经网络的主要特征是自学习,通过对样本模式的学习模拟信息之间的内在机制。神经网络对河道洪水演进机制进行识别的实质,是通过选择适当的神经网络模型,逼近实际系统的动态过程。若以上游某断面的水文要素作为网络的输入,以下游某断面所形成的相应水文要素作为网络的输出,网络模型通过对历史水文资料的学习,就能对蕴含在该河段的水文规律进行映射。设网络输入X=[X1,X2,…,Xn]T表示上游断面的来流条件,输出Y=[Y1,Y2,…,Yn]T表示下游断面的出流条件,期望输出Yd=[Yd1,Yd2,…,Ydn]T表示下游断面实测的水流情况,洪水演进机制可表示为从输入矢量X(t)∈Rn到输出矢量Y(t)∈Rn的非线性映射Ne,即Ne:X(t)∈Rn→Y(t)∈Rn(1)E=∑‖e‖2=‖Ydk-Yk‖2(k=1,…n)(2)可以采用误差反传播的BP算法来修改网络权重,使网络误差降低到足够小,以达到所需要的映射精度。BP算法是一种应用最为广泛的智能算法,其基本原理及运行方法这里不再赘述。2.2智能模型的建立在多泥沙河道洪水智能预报模型中,水位、流量和含沙量相互联系,互相制约,所以将三个水文要素同时作为网络的输入和输出,即将上游水位、流量和含沙量作为网络的输入,下游相应的水位、流量和含沙量作为网络的输出,以历史洪水资料作为样本对网络进行训练,使网络识别出该河段的水沙演进规律,并将该规律贮存在网络权重中。如果已知河道上游的水位、流量和含沙量,完成训练的网络就会预报出下游的水位、流量和含沙量,洪水在河道中自上游至下游的传播时间即为网络的预见期。单一河道多泥沙洪水智能预报模型的结构示意图如图1所示。图1单一河道多泥沙洪水智能预报模型结构示意图Fig.1SketchofANNSforecastingmodelforasingleriver图中,t为上游的起报时刻,T是网络的预见期。对于多泥沙河道水沙预报的建模思路是:构造神经网络模型,应用河道水沙资料进行模型训练,当训练精度达到要求时,神经网络模型就能在此精度下映射水沙演进机制。3提高多泥沙洪水智能预报精度方法的研究预报精度是检验一种方法是否可行的关键所在。这里结合大量的研究成果[9,10],针对多泥沙洪水预报的专业规律,对如何提高智能预报精度进行了系统深入的研究。3.1时间序列数据模式的处理方法BP网络是一种静态网络,不能对时间序列模式进行识别,而洪水过程属于时间序列问题,样本模式之间在时段上是连续的。为了解决这个问题,可以通过构造延迟单元的方法,直接从样本模式中提取时间序列特征,这样的神经网络便具备了对时间序列的识别能力,图2为引入延迟单元的神经网络。延迟单元实质上是对原始样本模式进行了如下的转换:设有一列样本模式{xi;i=1,2,Λ,M},该模式共有M对,则通过N(N<M)个延迟单元,样本模式就转换成N列,原来的M对样本模式可形成M-N+1对,转换方式如图3所示。图2引入延迟单元的神经网络结构示意图Fig.2Sketchofneuralnetworkswithdelayedcells图3延迟单元对样本模式的转换Fig.3Transitionofsamplemodestothedelayedcells在洪水预报中,采用N=3的延迟单元,则延迟单元将连续3个时段的洪水信息同时施加给了网络,网络能够获得洪水时段变幅的信息,这对于提高网络对洪水过程的拟合精度和预报精度十分有效。3.2遗传算法优化神经网络初始权重的方法采用遗传算法优化网络初始权重的方法,来避免网络训练落入局部极小点,从而提高网络的拟合精度和预报精度。虽然遗传算法所从事的工作也是在训练网络权重,但其最终目的却是获得神经网络的初始权重,而该初始权重是在搜索较大空间后所获得的最优结果,网络的最终训练还是由BP算法完成。这就将整个网络训练分成了两个部分:首先采用遗传算法优化网络的初始权重;然后利用BP算法最终完成网络训练。所以,这里采用“遗传算法优化神经网络初始权重”的提法,而不直接称其为“遗传算法进化网络权重”。遗传算法优化网络初始权重的主要内容有:染色体的表达、目标函数和适应度函数的定义、进化算子和遗传算子的构造等。3.2.1染色体编码与初始权重种群的生成初始权重种群中的每一条染色体,按神经网络生成初始权重的常规办法来生成,任一组完整的网络权重Wi(Wi={w1,i,w2,i,w3,i,b1,i,b2,i,b3,i,i=1,2,…,P})相当于一条染色体,这样的染色体共有P个,即权重种群规模为P。权重染色体是以多个二维数组的形式存在的,数组中的每一元素相当于一个基因,而种群以三维数组的形式存在。为了使编码方式更自然,数组元素权重染色体采用浮点编码,即染色体上的基因都是浮点数,以后的遗传算子都是基于浮点表达来构造。3.2.2目标函数与适应度函数的定义采用遗传算法优化网络初始权重的目标函数可定义为:在所有进化代中,搜索种群中网络误差最小的网络权重,可以表达为公式(1)E(W*)E(Wi)gen,i=1,2,…,P,gen=1,2,…,termgen(3)遗传算法以适应度函数作为进化目标,且只能朝着适应度函数值增大的方向进化,所以,适应度函数与目标函数之间要进行适当的转换。由于进化中的网络误差是非零的正数,可以将目标函数的倒数作为适应度函数。为了保证适应度函数值不至于太小,引入一个较大的系数M,适应度函数的最终形式如(4)式F(Wi)=M/E(Wi),i=1,2,…,P(4)3.2.3选择运算选择运算是种群通过竞争逐代更新的过程。这里的选择策略为:①最佳染色体直接进入下一代;②采用排序选择法,即根据染色体适应值大小顺序来换算相应的选择概率,大适应值对应高选择概率,小适应值对应低选择概率。选择算子的实现过程如下步骤1:确定选择率ps步骤2:计算标准分布值t=ps/1-(1-ps)P步骤3:计算各染色体的选择概率pk=t(1-ps)N(k)-1,k=1,2,…,P式中N(k)是种群中k序号染色体的适应值由大到小的排序号。步骤4:最佳染色体直接进入下一代,并在下一代种群中的序号为1NewW1=WN(k)=1(7)k=1,2,…,p步骤6:在[01]间产生按升序排列的随机数序列r,对染色体进行选择(下一代种群染色体的开始序号为2),并通过下面的语句来实现:fitIn=1;newIn=2;whilenewIn=P;if(r(newIn)q(fitIn))NewW(newIn)=OldW(fitIn);newIn=newIn+1elsefitIn=fitIn+1endend3.2.4交叉运算交叉运算是两个父体互相交换部分基因而产生新个体的过程。这里采用浮点线性交叉运算,具体操作过程如下。步骤1:根据交叉概率pc确定交叉操作的次数;步骤2:随机选择参与交叉运算的染色体和相应的基因座;步骤3:随机生成交叉参数τ,并将父体基因作线性交叉而产生新基因;步骤4:将新基因替代父体基因,产生新的染色体。整个过程可通过下面的语句来实现:beginm=sizes(W,1);n=sizes(W,2);P=sizes(W,3);CrossNum=Pc·m·n·Pfori=1:CrossNumα1=rand(2P);α2=rand(2P);b=rand(1,m);c=rand(1,n);p1=w(b,c,a1);p2=w(b,c,a2);τ=ran(0,1);p1=p1*τ+p2*(1-τ);p2=p1*(1-τ)+p2*τ;w(b,c,a1)=p1;w(b,c,α2)=p2;end3.2.5变异运算变异运算为种群提供新的信息,从而保持种群染色体的多样性,能够有效避免早熟现象的发生。变异运算的操作过程如下。步骤1:根据概率pm确定变异运算的次数;步骤2:随机选择参与变异运算的染色体和相应的基因座;步骤3:随机生成变异参数md,并将父体基因作非线性变异而产生新基因;步骤4:将新基因替代父体基因,产生新的染色体。整个过程可通过下面的语句来实现:beginm=sizes(W,1);n=sizes(W,2);P=sizes(W,3);MutNum=Pm·m·n·Pfori=1:MutNumα=rand(1,m);b=rand(1,n);c=rand(2,P);md=round(rand);w(a,b,c)=w(a,b,c)-d(br-w(a,b,c),gen);elsew(a,b,c)=w(a,b,c)+d(w(a,b,c)-bl,gen);endend这里采用非均匀变异操作,即各代中参与变异操作染色体的变异量是非均匀变化的,变异量d是染色体w(a,b,c)、取值区域左右边界br,bl、当前进化代gen等参量的函数。随着进化代数的增加,改变量逐渐减小,在进化后期接近于0。图4花园口至夹河滩段洪水预报模型Fig.4FloodforecastingmodelforthereachofHuayuankoutoJiahetan在遗传算法中,由于所采取的策略不同,其进化性能也不同。良好的遗传性能是能否成功解决问题的关键所在。在选择运算中:①最佳染色体直接进入下一代,该策略可以有效地避免最佳染色体的丢失。②采用排序选择法保证了大适应值染色体获得较高的选择概率,同时又阻止了某些超级染色体过快地把持整个遗传过程。在遗传运算中:①群体中序号为1的染色体是上代中的最佳染色体,为了防止该染色体的退化,它不参与交叉和变异等遗传运算。②遗传运算是在两条不同染色体的相同基因座上发生的,而不针对染色体。③网络权重进化问题应该属于无约束问题,因为输入层权重、隐层权重和输出层权重都不存在取值空间的限制。权重自由取值的思想是由变异算子来执行的,所构造的变异算子不断地、随机地扩展原有的取值空间。4应用实例——黄河多泥沙
本文标题:人工神经网络与遗传算法在多泥沙洪水预报中的应用
链接地址:https://www.777doc.com/doc-2752297 .html