基于遗传算法及其改进的进化神经网络算法
来源:用户上传
作者: 马坚
摘 要: 提出一种基于改进遗传算法的彻底进化神经网络算法,并且命名为IGA-BP算法。在IGA-BP算法中,首先用遗传算法来全面解决和设计神经网络中的结构以及所有训练参数,然后用训练的样本来找到最优解。该网络的缺点是,他的结构和神经训练参数是随机的,或由一个人的经验来解决的。IGA-BP算法可以用于电力变压器故障的诊断。在神经网络的基础上可以建立电力变压器故障诊断的模型。的例证结果表明,该算法在速度的收敛精度方面优于传统的BP算法。可以用该算法实现对电力变压器故障的快速且准确的判断。
关键词: 遗传算法;神经网络算法;电力变压器故障;收敛速度;收敛精度;BP神经网络;IGA-BP算法;权值和阀值;动量因子;编码
中图分类号:TP39 文献标识码:A 文章编号:1671-7597(2012)0220180-01
1 介绍
神经网络是一个复杂的网络系统,它通过模拟人脑的神经工作过程来处置信息,可以实现并行处理和非线性变换。该网络有很强的自学能力,自适应能力,良好的容错性与联想记忆和同时处理等功能。在所有种类的神经网络算法中,BP算法是一种典型的算法,并且他解决了多层次前馈型神经网络的训练问题,并已得到广泛应用。但是,传统的BP神经网络算法很容易陷入激增并且只是局部最优,而且其收敛速度慢。相反,用遗传算法来寻找全局最优的能力是很强的。遗传算法是从自然进化论中发展而来的,它是一类有效的并行全局搜索算法。它有很好的鲁棒性,并已成功应用于解决全局优化问题。如果神经网络是按照优化和遗传算法设计的,该算法不仅易于实现全局最优,而且很容易提高神经网络的性能。许多学者在这方面都有很不错的成果。
然而,大多数现有的神经网络设计方法优化的目标是在结构,初始权重和阀值方面,而忽视训练比率和动量因子。事实上,当设计一个神经网络时,初始权重和阀值是随机产生的,而训练比率和动量因子以及网络的结构通常是由人们的经验获得的。这些因素都影响了网络的训练速度和神经网络的直接处理能力。只有全面的优化这些参数,才能使得网络整体性能得以改善。因此,本文提出基于高性能遗传算法的彻底进化神经网络的BP算法。该算法可用于建立诊断电力变压器和电源变压器的模型,而该模型是基于神经网络的。
2 遗传算法和它的改进
遗传算法是一种随机全局搜索算法,他通过模拟自然进化和自然选择过程中的遗留生物来解决复杂问题。在遗传算法中,问题空间由代码空间来替换,性能评价的标准是合适的函数,进化的基础是代码个数,由许多不同基因个体的代码来确定选择和遗传机制。一个重复的过程由该方法来形成。许多不同的个体是通过不断演变的基因和代码位链的一些重要基因的随机组合产生的,由此不断地最优化和逐步实现问题的最终解决。考虑到遗传算法的低收敛速度和低精度等的局限,本文提出了一些改进的遗传算法。
2.1 选择算法的改进
通过竞争性遗传算法在两代之间选择出优良个体,基因个体分为男性和女性。排列方式决定了所有男性和所有父代女性及其下一代。然后选择前者的N/2的男性优秀个体分别与女性个体结合形成新的人口规模N。将这n个个体放入配对区,他们将分别互相配对。这样,不仅可以保证交叉操作的个体的有效配对,而且可以保留每个优秀个体的特征,可以淘汰不好的个体。因此将不会失去好的基因和特征。他将有利于尽快找到一种全局最优的算法。
2.2 增加一种帮助操作
为了加强算法的能力,以跳出局部最优并提高收敛速度,一种用来改善遗传算法的帮助操作被提出,通过帮助的可能性来增加帮助的个体。帮助操作位于选择操作之后,在匹配操作之前。它的程序如下:
1:i=1;
2:定义一个实数r,使得0≤r≤1,如果r≤Ph,执行3,否则跳转到6
3:j=1;
4:如果 =0,则令 =1;但是如果由于执行该操作产生 个体的自适应性,则保持 =0;
5:j++,如果j>n,执行6,否则跳转到4;
6:i++,如果i>n,执行7,否则跳转到2;
7:停止。
其中,Ph表示帮助可能性,表示的是i个体,表示i个体的j位,n表示编码无性别长度,N代表群体大小。
2.3 匹配方法改进
在本文的算法中,相同性别的个体不进行交配。即雄性只能与雌性交配。而且,为了获得个体们较好的排列顺序,用这样的算法操作来实现,即按照依次优劣排序的雌体与用同样排序的雄体进行交配。这样有利与遗传算法加快寻找全局最优的速度,增强了全局收敛性。
为了避免近亲繁殖,不同性别的个体还需要检查它们的区别,如果两个个体是相同的或者区别他们相对应的二进制码值为一,他们不能进行交配而且必须将它们进行修正,比如,最高码值的个体与最低码值的个体必须修正为最高码值和最高码值的个体的交配。因此,可以保证远血缘个体之间的交配,从而提高遗传算法的效率。
3 基于改进遗传算法的BP神经网络的彻底进化(IGA-BP算法)
3.1 BP神经网络算法的规则
从结构的角度来看,BP神经网络属于前馈型神经网络,它由输入层,输出层和一些隐层组成,相邻层之间由节点连接,而同一层不需要节点连接。典型的BP神经网络是由输入层,输出层和隐层这三层组成的,这是最常用的BP神经网络。
在BP神经网络训练的过程中,用到的是误差反向传播。它的简称是BP算法。BP算法是一种辅助训练算法,他实际上是一种通过梯度下降法来找到最优解的静态算法。权值w(n)仅仅是随时间梯度下降的方法来进行修正的,而并不是考前们的经验获得。由于在训练的过程的频繁冲击或陷入局部最小,因此收敛速度很慢,为了避免这一点,我们增加了一个动量因子。这个方法也就是增加一个与原来变量和目前变量以及权值和阀值相匹配的数据项,新的权值和阀值是通过反向传播来产生的。新增加的权值和阀值的动量因子由以下方式来进行调节:
其中k表示训练时间,表示训练率,mc表示动量因子,和mc由个人经验来确定。
3.2 IGA-BP的基本思想
首先,改进的遗传算法是用来全面解决和设计结构,初始权值和阀值,
训练率和神经网络的动量因子的,并且在解决空间问题的过程中,更好的寻找到空间。因此BP算法是在小范围内寻找到最优解。
3.3 编码方法
所有神经网络的结构,权值和阀值,训练率以及动量因子都需要被认作是一系列染色体,通过二进制来将其编码。每个个体的编码都包含六个部分,第一部分时权值编码,第二部分是阀值的二进制码,第三部分是节点之间连接状况的编码,第四部分是训练率的编码,第五部分是动量因子的编码,第六部分是个体性别的编码,其值为0或1,表1表示个体编码的结构:
假设权值,阀值,训练率以及动量因子的参数值之间的关系可有以下式子来表示:
其中,bin表示N位特征字符;表示权值,阀值,训练率动量因子的变化范围:
表示网络的实际输出,表示网络的理想输出,表示实际输出与理想输出之间的误差。
参考文献:
[1]Rumehart D E, Hintion G E, Willams R J. Leaming Intemal representations by error propagation in parallel distributed processing [M]. Gambridgef :MIT Press,1986: 318-362.
[2]Yao X,Liu Y.Anew evolutionary system for evolving artificial networks[J].IEEE Transactions on Neural Networks,1997,8(3):694-713.
[3]Sietsma J, Dow R J F, Creating artificial neural networks that generalize[J].Neural Networks,1991,4 (1):67-79.
[4]Ash T.Dynamic node creation in back propagation networks[J].
Connection Science, 1989,1(4):365-375.
[5]梁化楼、戴贵亮,人工神经网络与遗传算法的结合:进展及展望[J].电子学报,1995,23(10):194-200.
[6]陈志军,基于改进型遗传算法的前馈神经网络优化设计[J].计算机工程,2002(4):120-121.
[7]徐丽娜,神经网络控制[M].哈尔滨:哈尔滨工业大学出版社,1999.
[8]邢文训、谢金星,现代优化计算算法[M].北京:清华大学出版社,1999.
转载注明来源:https://www.xzbu.com/8/view-1702459.htm