基于遗传算法的模糊优选BP网络模型及其应用陈守煜1,王大刚1(1.大连理工大学土木水利学院,辽宁大连116024)摘要:在模糊优选BP神经网络模型的基础上,引入遗传算法,提出融入遗传算法的模糊优选神经网络预测模型,是对模糊优选BP神经网络模型的进一步发展。其基本思路是:在BP算法训练网络出现收敛速度缓慢时启用遗传算法优化网络的运行参数,把优化的结果作为BP算法的初始值再用BP算法训练网络,这样交替运行BP算法和遗传算法,直到达到问题要求的精度。在新疆雅马渡站年径流量的预报中,预测模型在预报精度和算法的收敛速度方面都达到了较好的效果。关键词:模糊集;神经网络;遗传算法;径流预测中图分类号:P338文献标识码:A人工神经网络以其独特的非线性、非凸性、自适应性和处理各种信息的能力,广泛应用于水文分析和水文预测[1,2]。陈守煜将模糊优选模型同神经网络有机地结合起来,提出模糊优选神经网络模型,激励函数的物理意义清晰直观[3,4]。遗传算法是模拟生物在自然界环境中遗传进化过程的一种自适应全局优化概率搜索算法,具有简单通用、鲁棒性强、适于并行处理的优点。如何把模糊集理论、神经网络和遗传算法有机地结合起来,既能用模糊概念来表达人的知识和经验,又可利用神经网络较强的学习能力,还能结合遗传算法全局搜索的特点,在这方面的工作还不多见。本文在模糊优选BP神经网络模型的基础上,引入加速遗传算法(RAGA),提出融入遗传算法的模糊优选神经网络预测模型,是对模糊优选BP神经网络的进一步发展。在新疆伊犁河雅马渡站年径流量预报的应用中,取得了良好的效果。1模糊优选BP神经网络模型[4]设模糊优选BP神经网络的输入层节点数为m(预报因子数),输出层节点数为1(预报对象数)。为表述方便,用i表示输入层节点,k表示隐含层节点,p表示输出层节点。输入层节点i将信息直接传递给隐含层节点,节点输出与输入相等。网络隐含层节点k和输出节点p的激励函数均采用模糊优选模型。对隐含层的节点k,其输入为(1)式中:wik为输入层节点i与隐含层节点k的连接权重;rij为第j个样本的第i个预报因子的规格化值,i=1,2,…,m,j=1,2,…,n,k=1,2,…,k。输出为(2)输出层仅一个节点,输入为(3)输出为(4)网络的实际输出upj就是模糊优选神经网络对输入样本集(r1j,r2j,…,rmj)的响应。设样本j的期望输出为M(upj),则其平方误差为(5)2模糊优选BP神经网络预测系统权重调整模型网络学习的目的是通过调整网络中的连接权重使E最小。应用梯度下降法,连接权重的调整量为(6)式中:η为学习效率。则隐含层节点与输出层节点的连接权重调整量Δwkp为(7)输入层节点与隐含层节点的连接权重调整量Δwik为(8)式中(9)权重调整公式为wik(t+1)=wik(t)+Δwik(t+1)+αΔwik(t)(10)wkp(t+1)=wkp(t)+Δwkp(t+1)+αΔwkp(t)(11)式中:α为动量系数,且0α1。应用上述模型,并根据通常神经网络的迭代算法,可确定网络的连接权重值,使实际输出与期望输出的误差最小。3基于遗传算法的权重优化算法遗传算法作为一种全局优化搜索算法,因其简单通用、鲁棒性强,适于并行处理,已广泛应用于不同领域[5,6]。利用遗传算法优化模糊优选神经网络的连接权重,就是对模糊优选神经网络的连接权重进行编码,形成染色体,然后模拟自然界的进化过程。对染色体进行选择、交叉以及变异操作,使染色体不断进化,最终产生代表问题最优解的染色体,再经反编码得到优化的网络连接权重。3.1模糊优选神经网络的连接权重优化问题描述设优化问题为minE=f(w1,w2,…,wN)(12)式中:E为网络训练的总误差,(w1,w2,…,wN)为统一编号后的连接权重(包括输入层节点与隐含层节点的连接权重wik,隐含层节点与输出层节点的连接权重wkp),N为连接权重总个数。约束条件为ai≤wi≤bi,i=1,2,…,N(13)式中:ai和bi分别为变量wi变化的下限和上限。3.2权重编号在神经网络与遗传算法之间的相互转换模糊优选神经网络训练中的连接权重包括输入层节点和隐含层节点的连接权重wik、隐含层节点与输出层节点的连接权重wkp,其形式为二维向量。而利用遗传算法对上述优化问题的求解,必须把连接权重转化为一维连续向量,对其重新统一编号。同样,遗传算法优化后的连接权重也必须转化为形式为二维向量的连接权重wik、wkp。可利用以下公式实现相互间的转化。(14)式中:m、l分别为输入层和隐含层节点数。遗传算法中经统一连续编号的连接权重的总个数为N=l+ml(15)3.3连接权重上下限的确定式中:e为[0,1]上的一个数,n为变量个数。考虑到权重w可能为正数,也可能为负数,故权重的上限为max(ai,bi),权重的下限为min(ai,bi)。在本文的算例中e取0.5,即权重在原值的50%上下变化。4融入遗传算法的预测模型本文在模糊优选神经网络模型的基础上,引入加速遗传算法,提出融入遗传算法的模糊优选神经网络预测模型,可以加快网络的收敛速度,并改善网络的全局寻优能力。这样,既能提高预测效率,又可得到较高的预测精度。其基本思想为:在模糊优选神经网络训练中出现收敛速度缓慢的时候,算法转入RAGA来优化网络的连接权重。把经过优化的连接权重作为下一次模糊优选神经网络训练的初始值。这样交替运行BP算法和RAGA,可大大加快网络的收敛速度,并可以改善网络的全局寻优能力。实现预测模型的具体步骤如下:(1)输入规格化的样本预报因子值;(2)随机产生网络输入层和隐含层、隐含层和输出层的连接权重;(3)按照模糊优选神经网络模型中的式(1)~(4)计算样本的实际输出值;(4)按照式(5)计算网络的平均误差E;(5)设定模糊优选神经网络的收敛判定准则。若E≤ε(ε为网络训练精度),则训练结束,转入步骤(11);否则,转入下一步;(6)按照式(8)~(10)计算输入层和隐含层、隐含层和输出层的连接权重调整值;(7)按照式(11)、(12)计算新的权重;(8)根据新的权重和预报因子的规格化值,按照式(1)~(4)计算样本的实际输出值,再按照式(5)计算网络的平均误差E;(9)若E≤ε,则训练结束。否则,设ΔE(t)=E(t)-E(t-1)。若E(t)≥ξ(ξ为网络训练前后两次迭代缓慢性判断指标),重复步骤(6)~(8);若ΔE(t)ξ,转入下一步;(10)为使网络全局误差函数极小化,利用上述加速遗传算法优化当前的网络连接权重。设定群体规模、优秀个体数目、加速次数、权重变化范围等参数后,进行遗传算法循环计算。循环结束后,若E≤ε,则训练结束,转入下一步;否则,把经过遗传算法优化的网络连接权重作为模糊优选神经网络下一次训练的权重初始值,转入步骤(6);(11)输出满足训练精度要求(即E≤ε)的网络连接权重值;(12)根据输出的训练权重值进行预报。5实例应用为验证以上预测混合算法的有效性,以新疆伊犁河雅马渡站的年径流量预测为例,利用PowerBuilder编写程序,进行计算。新疆伊犁河雅马渡站的23年实测年径流量及其相应的前期4个预报因子(指标)特征值见文献[3]。预报因子x1(mm)为前一年11月至当年3月伊犁气象站的总降雨量;预报因子x2为前一年8月欧亚地区月平均纬向环流指数;预报因子x3为前一年5月欧亚地区月平均径向环流指数;预报因子x4(10-22W/m2·Hz)为前一年6月2800MHz太阳射电流量。现将前20年资料作为预测混合算法的训练样本,后3年资料进行预测检验。根据预报因子数,故输入层设4个节点。数值试验表明,隐含层节点4个比较合适。预报对象只有年径流量一个,所以输出层设1个节点。设定网络训练的误差精度为ε=8×10-3,网络训练前后两次迭代缓慢性判断指标ξ=1×10-4。设置神经网络的运行参数为:学习效率0.8,动量系数0.8;设置遗传算法的运行参数为:权重变化范围0.5,群体规模30,优秀个体数目5,加速循环次数2。神经网络循环202次、遗传算法循环90次(程序在PentiumⅡ350计算机运行102s)后,算法达到了预期的误差精度。最终得到的输入层与隐含层的连接权重矩阵为和隐含层与输出层的连接权重向量为(wkp)=[0.31630.4570-0.00010.3031]根据预测模型计算所得的权重,求得用于预测检验的3个样本的相对隶属度分别为:0.7851,0.2480,0.0735。然而,再由规格化公式反算得到这3个样本的预报值。由于神经网络初始权重以及遗传算法初始群体的产生都是随机的,因而算法的结果或多或少地会产生不稳定的现象。但是,如果算法的模型选择合理,算法的参数设置合适,计算结果就会相对比较稳定。为验证此算法的稳定性。选用同样的神经网络和遗传算法参数,分别单独进行5次计算。其预测结果见表1。从表1中可以看出,每一次计算的预报和实测值都很接近,预报精度较高,满足中长期水文预报所要求达到的精度。算法平均运行速度为97s,而且每次运行速度差别不大,说明算法在保持高效的同时,稳定性也很高。表1不同次数的预报检验结果序号样本序号预报值/(m3·s-1)实测值/(m3·s-1)相对误差(%)平均相对误差(%)计算时间/s神经网络循环次数遗传算法循环次数1212223440.0013342.0534302.77264013363019.7261.8020.5894.0399340152212223426.7034336.3854304.34254013363016.410.1151.112.54599202163212223438.5516327.0547313.48524013363019.3642.6624.1485.39179421342122442.0318334.675640133610.2320.3944.263113791923294.49253012.1625212223435.3328325.3404315.17154013363018.5623.1734.7085.481100272156讨论和结语(1)同其他神经网络一样,模糊优选神经网络也存在收敛速度慢、易陷入局部极小的缺陷。在平坦区,这种现象就更加明显。而遗传算法作为一种全局优化搜索算法,能同时在解空间的多个区域进行搜索,并且能以较大的概率跳出局部最优,以找出整体最优解,从而大大加快了网络的收敛速度。本文也尝试着单纯用模糊优选神经网络来进行雅马渡站年径流量的预报。设置同样的神经网络参数(学习效率0.8,动量系数0.8,隐含层节点数4),同样的误差精度(8×10-3)。连续单独计算5次,神经网络训练30000次(在PentiumⅡ350计算机运行1015s)后,最终达到的精度只有0.107,其相应检验结果见表2。表2单独应用BP算法的预报检验结果样本号预报值/(m3·s-1)实测值/(m3·s-1)相对误差(%)212223389.9390.4389.84013363012.78016.17829.492这说明,单独采用模糊优选神经网络,算法易陷入局部极小点。(2)值得注意的是,在遗传算法参数设置时,有些文献建议群体规模取300以上,相应优秀个体数目取20以上。在实践中发现,如果群体规模大于100时,每一次遗传循环的开销很大,模型虽然有很强的全局寻优能力,但收敛速度变得很慢。所以,本文遗传算法选择的设置为:群体规模30,相应优秀个体数目5。这样,模型在保持较强的全局寻优能力的同时,收敛速度也很快。(3)模糊优选神经网络与加速遗传算法的结合,在利用神经网络良好的学习能力的同时,加快了网络的收敛速度。实例应用中,预测混合算法在雅马渡站年径流量预报的应用中,不仅预报结果精度较高,而且算法快速稳定。参考文献:[1]蔡煜东,姚林声.径流长期预报的人工神经网络方法[J].水科学进展,1995,6(1):61-65.[2]金菊良,杨晓华,丁晶.基于神经网络的年径流预测模型[J].人民长江,1999,30(增刊):58-62.[3]陈守煜.工