前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇神经网络遗传算法范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
关键词:粗糙集 遗传算法 BP神经网络 优化
中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2015)03-0121-01
目前BP神经网络已经成为应用最为广泛的神经网络模型之一,BP神经网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过逆传播来不断调整网络的阈值和权值,使网络的误差平方和最小。BP神经网络可以应用于聚类、分类、预测等。神经网络需要有一定量的历史数据,通过历史数据的训练,网络可以学习到数据中隐含的知识。在具体问题中,要找到某些问题的一些特征,以及对应的评价数据,用这些数据来训练神经网络。
1 粗糙集理论优化BP神经网络
1.1 粗糙集理论概述
S作为一个知识表达系统粗糙集一般形式记为:S=(U,A,V,f),其中:U为论域;A为属性集;V为属性值域;;B为条件属性集合;C为决策属性集合;是一个信息函数。
定义1:对于一个知识表达系统S=(U,A,V,f),满足下列两个条件的是条件属性集C的约简:
定义2:对于一个知识表达系统S=(U,A,V,f),设,对任意集合,则X关于R的下近似集定义为:
上近似集定义为:。
定义为X的R粗糙集。上、下近似集是定义在U的幂集上的一对一元算子。集合X关于R的边界区可表述为:。通常能够肯定地将U中的对象划分为X或-X两个不关联的子集,其对象总数等于排除X的R边界的对象数目,即。
定义3:令P与Q是U中的等价关系,记为Q的P正域,即
Q的P正域是U中所有根据分类U/P的信息可以准确地划分到关系Q的等价类中去的对象集合。令P和Q为等价关系族,R,如果:
则称R为P中Q不必要的,即R为P相对于Q可以约简的。P的Q约简简称为相对约简。
1.2 RS属性约简算法
属性约简是粗糙集理论中的核心知识,也是粗糙集在本文中应用的重要知识。在实际问题中信息是大量的这样就会存在冗余,而且有些信息并不起决定作用,所以要对这些信息进行筛选,删除冗余信息,也就是要进行属性约简。
首先根据数据特征确定离散化标准,然后对连续特征进行离散化,建立出决策表。决策系统表示条件属性,D表示决策属性。定义一个的矩阵,其任一元素为:
对于满足:,或者: 且或者:。
表示区别元素的所有属性的函数,对于每个属性指定Boole变量指定一个Boole函数用来表示;如果,指定Boole常量1,则[1]
的极小析取范式中得所有合取式是条件属性集C的所有D约简。每个约简对应一个决策算法,通过比较各决策算法的相容度选定最优约简。
2 利用遗传算法优化BP神经网络研究
BP神经网络算法缺乏全局性,因为它是一种只考虑局部区域的梯度法,这样就容易陷于局部最优极值。然而遗传算法是一种全局优化方法,它是一种基于生物进化过程的随机搜索的,通过变异操作和交叉很大程度减小了初始状态的对数据的影响,将遗传算法与BP神经网络结合可以扩大神经网络系统搜索解的空间,从而摆脱了算法易陷于局部最优解的弊端,使算法具备了全局最优解的能力。
遗传算法优化BP神经网络初始权重和阈值主要包括适应度函数和染色体编码方式的选择,还有一些遗传操作如选择、交叉、变异等。这些在文献[2]中有较详细的说明。下面对基于遗传算法优化神经网络权值的学习过程进行说明:
(1)初始化种群P包括交叉规模、交叉概率Pc、突变概率Pm以及权值初始化;(2)计算出每一个个体评价函数,并将其排序。
按概率值选择网络个体,(为个体的适应度),适应度可用下面式子衡量,,
利用交叉概率Pc对个体和进行交叉操作,产生新个体和;
(4)利用变异概率Pm突变产生的新个体;(5)将交叉操作与变异突破产生的新个体插入到种群P中,并计算新个体的评价函数;(6)若找到了最优解或者满意的个体或已经达到最大的迭代次数则算法结束,否则转入第三(3)步进入下一轮迭代运算,周而复始直到得到最优解为止。如达到预先设定的性能指标后,将最终群体中的最优个体解码即可得到优化后的网络连接权值系数。
3 基于粗糙集和遗传算法的神经网络模型
种群是指一个个体表示BP神经网络的一个初始权重和阈值,所以首先,获得初始种群;接下来利用粗糙集RS对初始种群进行属性约简得到一个最小属性约简集,作为输入神经元;再通过遗传算法来优化网络参数(初始权值、阈值),进一步确定隐含层神经元个数,之后,通过BP神经网络训练和测试得到种群的适配值;最后,再通过遗传操作得新的种群,直到达到预定的进化的代数为止,粗糙遗传神经网络模型如图1所示:
4 仿真实验分析
利用本文提出的算法进行仿真实验,首先对论文献[3]中利用粗糙理论进行属性约简,得到、、和4个约简,最佳约简为,核为。
输入层神经元为元素,输出层神经元为元素,由遗传算法优化隐含层4个神经元节点。采用步长法,构造优化BP神经网络模型,根据输出误差大小自动调整学习因子来加快收敛速度和减少迭代次数,取步长,动态因子,网络误差小于0.03,从25个样本中选取取前5个作为测试样本,其余后20个作为训练集样本,由遗传算法优化的网络权值、阈值作为初始值对样本进行训练和测试。设最大迭代次数为200,当误差达到预定的目标值和预先确定的最大迭代次数时训练停止。与此同时应用基本BP算法对样本进行训练,两者比较表明粗糙遗传神经网络优于BP神经网络的学习效果,网络学习曲线反映出粗糙遗传神经网络具有学习速度快、误差小的优点。
5 结语
本文提出了利用粗糙集的属性约简结合遗传算法对BP神经网络算法进行优化的理论,对输入变元进行约简,降低了输入变元维数。仿真实验结果表明,粗糙集遗传算法优化的BP神经网络较BP神经网络学习速度快而且误差减少。
参考文献
[1]温泉彻,彭宏,黎琼.基于粗糙集和遗传算法的神经网络模型研究[J].计算机工程与设计,2007(11).
关键词:遗传算法 神经网络 瓦斯突出 预测
中图分类号:TD712 文献标识码:A 文章编号:1672-3791(2017)01(a)-0000-00
预测煤层中的瓦斯含量是进行煤与瓦斯突出风险研究的重要一环,由于影响瓦斯含量的地质因素复杂多样,以及各因素间存在着复杂的非线性关系,迄今为止,对瓦斯突出的预测主要使用回归分析方法,预测的结果往往跟实际的情况差别较大,因此需要使用新的方法建立预测模型来实现对瓦斯突出高精度的预测。
1 利用遗传算法改进的神经网络建立瓦斯突出预测模型
(1)网络输入参数的确定:经查阅相关文献和咨询得知瓦斯突出的主要影响因素有:煤层底板标高、煤层到断层距离、煤层到最近剥蚀面距离、顶板砂岩比、统计单元中有无断层、基岩厚度、煤厚。
(2)网络输出参数的确定:选择二进制数0和1分别表征瓦斯不突出和突出。
(3)网络的构造: 一般地可以用一个三层神经网络实现预测功能,此神经网络的输入层有n个神经元,根据经验公式选取隐含层有(2n+1)个神经元,输出层有m个神经元,因此本模型中的神经网络可以采用3层神经网络。
(4)网络的训练:训练样本取自唐山开滦多个矿井具有代表性的10个突出点,利用突出点的数据训练神经网络,得到预测模型。
(5)网络的精确度验证: 利用已完成的人工神经网络对实际问题进行试验研究。把在开滦矿井采取的11~20组数据的瓦斯突出指标输入已经训练的网络中,验证人工神经网络的预测结果与实际突出情况的吻合度,如果吻合度低,就需要对网络进行改动,直至达到满意的吻合度。
(6)利用遗传算法对神经网络的权值和阈值进行优化
个体的编码:将神经网络各层之间可能存在的连接权值和阈值编码成实数码串或者进行二进制码串,每条码串中包含着网络中的所有权值、阈值其排列顺序可以随意定义,不受限制,组成一个染色体。
产生初始种群:随机生成一定数量的码串个体作为一个初始种群。
计算适应度:设网络有K个训练样本,让所有的训练样本依次通过解码后生成的神经网络,计算所有训练样本一次通过的平均总误差作为每条染色体的适应度, 其中, 为瓦斯含量的实测值, 为网络的输出值。
④将网络的所有连接权值和阈值进行实数编码,构成一个染色体,每条染色体代表一个神经网络模型的权值和阈值。设定初始种群规模为20,进化代数为220,交叉概率0.2 ,变异概率为0.1,为了防止遗传算法的早熟现象,变异概率先定义为0.1,然后在逐渐递增。算法运行到158代时获得最佳的连接权值,网络平均总误差为0.001。
2 实例分析及算例求解
选取唐山开滦煤矿为例,对该地进行瓦斯含量预测研究。对影响瓦斯含量的主要因素进行分析,归纳确定了神经网络的输入层神经元个数为7,对应为7个输入变量即7个影响瓦斯含量的因素。其中对输入变量中的顶板砂岩比、统计单元中有无断层、顶板基岩厚度、煤层厚度四个影响因素采用二变量比值法将其定量化。处理方法的划分条件如表1所示,输出层神经元个数是1。在开滦集团获得的相关数据如表2所示,其中1~10作为网络训练样本,11~20作为网络检验样本,用来检验模型的预测精度。
利用前10组数分别训练自适应的BP神经网络和与遗传算法结合改进的网络得到瓦斯突出预测模型,如图1和2所示。然后利用11~20组的样本对网络性能进行检验,并将检验结果和实测值的数据进行对比,对比后的结果如表3所示。 由图1、2可知用遗传算法改进的神经网络收敛速度更快,由表3可知用遗传算法改进后的神经网络预测的值跟实际的值更加的逼近即预测精度高。
3 结论
本文采用遗传算法与神经网络相结合的方法,通过优化神经网络的权值和阈值,使得预测的绝对误差从-0.0119~0.2000缩小到-0.0013~0.0611,提高了预测的精度,加快了收敛速度。对煤矿安全发展具有一定的意义。
参考文献
[1]曾文飞,张英杰,颜玲.遗传算法的基本原理及其应用研究[J],软件导刊,2009
[2]梁芳.遗传算法的改进及其应用[D].武汉理工大学,2008.
[3]彭海雁.影响煤与瓦斯突出的主控因素研究[D].东北大学,2013.
【关键词】BP神经网络;遗传算法;变压器;故障诊断
1 引言
变压器作为电力系统重要的变电设备,其运行状态直接影响到供电的可靠性和整个系统的正常运行。一旦发生事故,将对电力系统和终端用户造成严重的影响。因此研究变压器故障诊断技术,对电力系统安全运行有着重要的现实意义。
对变压器油中溶解气体进行色谱分析(DGA)是变压器内部故障诊断的一种重要的手段。基于此技术,采用具有高度的非线性映射以及自组织、自学习能力的人工神经网络,现阶段在进行故障诊断时多采用BP神经网络。BP算法是基于梯度的方法,容易陷入局部极小值,且收敛速度慢。GA遗传算法的发展为我们提供了一个全局的、稳健的搜索优化方法,本文充分利用GA具有不受函数可微与连续的制约,并且能达到全局最优的特点,由GA寻找最优的BP网络权值与相应节点的阈值,并加入动量因子,此方法弥补了传统优化方法的不足,极大地改善了BP网络的性能。
2 BP神经网络及遗传算法原理
2.1 BP神经网络的基本原理
BP神经网络是一种利用反向传播训练算法的前馈型神经网络,BP学习算法基本原理是梯度最速下降法,中心思想是调整权值使网络总误差最小,即采用梯度搜索技术,以使其网络的实际输出值与期望输出值的误差均方值为最小。
BP学习算法包括前向传播和误差反向传播两个学习阶段。当给定网络的一个输入模式时,输入信号经隐层逐层处理后传到输出层,并由输出层处理后产生一个输出模式,称为前向传播;当输出响应与期望的输出模式有误差时,则转入误差反向传播。即将误差值沿原来的连接通路逐层反向传播直至输入层,并修正各层连接权值。对于给定的一组训练模式,不断地重复前向传播和误差反向传播的过程,通过沿途修改各层神经元间的连接权和神经元阈值使得误差达到最小。当各个训练模式都满足要求时,就说BP网络已学习好。BP神经网络模型的基本结构如图1。
2.2 附加动量的BP神经网络
传统的BP神经网络训练在修正权值时,是按着k时刻的负梯度方式进行修正,而忽略了之前积累的经验,导致权值的学习过程发生振荡,收敛缓慢。因此提出加入动量因子a,此时k+1时刻的权值为:
附加动量法总是力图使同一梯度方向上的修正量增加。这种方法加速了收敛速度,并在一定程度上减小了陷入局部极小的概率。
2.3 GA遗传算法的基本原理
GA是模拟自然界优胜劣汰的进化现象,把搜索空间映射为遗传空间,把可能的解编码成一个向量(染色体),向量的每个元素称为基因。通过不断计算各染色体的适应值,选择最好的染色体,获得最优解。
首先把问题解用遗传表示出来,在对种群中的个体进行逐个解码并根据目标函数计算其适应值。根据适应值的大小而决定某些个体是否得以存活的操作,把适应值高的个体取出复制再生,再将两个个体的某些部分互换并重新组合而成新的个体,经过交叉后随机地改变个体的某些基因位从而产生新的染色体。这样的过程反复循环,经过若干代后,算法就收敛到一个最优的个体,问题最终获得全局最优解。GA流程图如图2所示:
3 GA优化BP神经网络的变压器故障诊断模型设计
GA-BP算法主要思想是:先利用神经网络试探出最好的网络的隐层节点数,再利用遗传算法在整体寻优的特点将网络的权值优化到一个较小的范围,进而用BP算法继续优化。
3.1 BP网络的建立
(1)输入模式的确定
本文为了充分利用在线监测中的特征气体而又不使输入量过大,特取C2H2/C2H4、C2H4/C2H6、CH4/H2的比值归一后作为输入矢量。
(2)输出模式的确定
本文对输出层采用正常、低温过热、中温过热、高温过热、局部放电、低能放电、高能放电共7个神经元。输出值最大为l,数值越大则表明该类型的故障的可能性和严重程度也越大,如表2.1:
(3)隐含层神经元数确定
本文参考关于隐含层神经元数的理论研究和经验公式,获得理论值为5~15。再利用matlab 软件,通过试凑法对网络进行训练,将隐层节点设置为6、8、10、12、14,将其输入计算机,在相同训练条件下进行训练,得知隐层节点数为12时网络收敛性能好,收敛时间较短。故选节点数为12。
综上所述,本文构建一个输入层为3,隐含层为12,输出层为7的BP神经网络。
3.2 GA对BP网络进行优化
(1)初始化种群P、以及权值、阈值初始化;在编码中,采用实数进行编码,本文初始种群取30;
(2)计算每一个个体评价函数,并将其排序;可按下式概率值选择网络个体:
其中 i为染色体个数,k为输出层节点数,YK为训练值,P为学习样本数,T为期望目标值;
(3)进行选择复制、交叉、变异遗传操作;
(4)将新个体插入到种群P中,并计算新个体的评价函数;
(5)计算BP的误差平方和,若达到预定值则进行BP神经网络的训练,否则重复进行遗传操作;
(6)结束GA操作,以GA遗传出的优化初值作为初始权值,运用BP神经网络进行训练,计算其误差,并不断修改其权值和阈值,直至满足精度要求,此时说明BP网络已经训练好,保存网络权值和阈值。
4 故障诊断系统的仿真
本文选取了具有代表性的30组作为训练样本, 在建立的GA-BP变压器故障诊断网络中输入样本进行训练,其遗传算法适应度曲线、误差平方和曲线和GA-BP的训练目标曲线图分别见图3、图4和图5。
从图中可以看出,适应度较高的个体被遗传了下来,适应度较低的则被淘汰;GA进行了150代的遗传操作达到了目标值;GA-BP算法进行了106步左右就收敛到指定精度0.0005。由此看出,此GA优化BP建立的变压器故障诊断模型的收敛精度和收敛速度都比较高。
采用实际检测到的10组电力变压器故障实例(表2)来验证网络性能,神经网络诊断结果和实际故障结果的比较,如表3所示:
由表3可见,基于遗传算法优化BP神经网络的变压器故障诊断系统在故障诊断中达到了很高的准确率,能较好地满足变压器故障诊断的要求,极大的提高了诊断的可靠性和准确性。
5 结束语
文中将遗传算法与BP网络相结合,在DGA的基础上设计了适用于变压器故障诊断的3-12-7结构的BP神经网络。先对网络的权值阈值进行GA算法处理,并在传统的BP算法中加入动量因子,通过MATLAB编程实现了GA优化BP网络。通过仿真分析可知GA优化BP网络收敛性能的提高改善了BP网络的学习效率,并在下一步的诊断工作中体现其高准确率,推广了此优化网络在变压器故障诊断的实用性。
参考文献:
[1]张绪锦,谭剑波,韩江洪.基于BP神经网络的故障诊断方法[J].系统工程理论与实践,2002(6).
[2]王少芳,蔡金锭.GA―BP混合算法在变压器色谱诊断法中的应用[J].高电压技术,2003(7).
[3]郑高,戴玉松.人工智能方法在变压器故障诊断中的应用[J].四川工业学院报,2004 (5).
[4]李国勇.智能控制机器MATLAB实现[M].电子工业出版社,2005.
[5]徐志钮,律方成.多神经网络方法在变压器油色谱故障诊断中的应用[J].高压电器,2005(3).
关键词:仿生算法;神经网络;遗传算法
中图分类号:TP183文献标识码:Adoi: 10.3969/j.issn.1003-6970.2011.03.017
An Improved Algorithm of Bionic Research and Analysis
Yue Tong-sen, Wang Da-hai
(XinXiang Vocational and Technical Collage, Xinxiang 453000,Henan,China)
【Abstract】In this paper the bionic algorithm of neural network and genetic algorithm were analyzed and summarized, aimed at slow speed of neural network training, recognition efficiency low, and genetic algorithm the optimum choice premature convergence problem, combined with neural network method and genetic algorithms of their respective characteristics, puts forward the improved algorithm.Without the destruction of single neurons based on input weights, adopt data pretreatment methods to reduce the number of input layers, so as to improve the ability of evolutionary learning.
【Key words】Bionic algorithm; Neural network; Genetic algorithm
0引言
人工神经网络[1]和遗传算法[2]是仿生算法[3]的典型方法,它们的优化问题一直是众多研究者所倍为关注的研究热点之一。在人工神经网络和遗传算法结构的研究中发现,人工神经网络具有很好的模式分类的特性,遗传算法有很好的动态变更权值的特性,基于此,本文提出了一种改进的基于人工神经网络和遗传算法的算法。本章的改进算法,就是对人工神经网络和遗传算法进行了变换,增强了对输入权值的变化速度,并提出用减少输入层个数的方法是加快神经网络学习的有效方法,取得了良好的实验效果。
1神经网络和遗传算法的特究点
1.1神经网络和遗传算法的不同点
1.神经网络是多层感知机,而遗传算法是单层感知机。神经网络是由输入层,隐含层和输出层够成,但遗传算法的基因组是一个数组,不管基因的长度有多长,其结构仍然是一个单层感知机。
2. 神经网络的隐含神经元个数是不确定的,而输出层和输入层的个数是可以确定的。我们希望输入层的个数用新的方法得到降低,这样神经网络的训练速度就可以提高。同时对于隐含层的层数,一般情况设为1。每层的神经元个数也并不是越多越好,是要根据问题的情况而变动的。但神经网络的隐含层是不确定的,而且隐含层的个数也是不确定的。对于遗传算法,它的二进制的长度是可以确定的,但是交叉和变异的比例是变动的。对于单点交叉比例,我们可以设定为黄金分割点。虽然设定为黄金分割点作为单点交叉比例没有用数学方法严格的证明,但是,大量的实验表明,选择黄金分割点往往可以得到较好的结果。对于变异比例,没有交好的方法确定,只能设计交互式的实验来调试决定。
3.权值的更新方式不一样。神经网络的权值的更新方式是时时的,而遗传算法权值的更新方式是批量的。
4.两者应用的范围不一样。神经网络主要应用于模式匹配,错误诊断,监视病人的状态,特征提取,数据过滤。而遗传算法主要应用在计算机辅助设计,日程安排,经济学的投资研究等。
1.2神经网络和遗传算法的相同点
1.有教师的学习。神经网络的输出是有目标的,当然是确定的。同时对于遗传算法的目标也是确定的。所以两者都是有目标的,也就是有教师的学习。
2.随机近似优化过程。神经网络中,如果把网络的权值初始化为接近于0的值,那么在早期的梯度下降步骤中,网络将表现为一个非常平滑的函数,近似为输入的线性函数,这是因为sigmoid函数本身在权值靠近0时接近线性。同样,遗传算法的初始个体都是随机产生的,它的交叉和变异都是一个不断近似的过程。
3.并行化。神经网络的每个神经元是独立的,如果把每个神经元分配一个处理器,那么就可以采用并行的方式。同样,遗传算法很自然地适合并行实现,有粗粒度并行方法和细粒度并行方法。有粗粒度并行方法就是把群体细分成相对独立的个体群,称为类属,然后为每个类属分配一个不同的计算节点,在每个节点进行标准的GA搜索。细粒度并行方法就是给每个个体分配一个处理器,然后相邻的个体间发生重组。
2算法的研究及改进
结合人工神经网络和遗传算法的研究的本质,通过两种算法结合的研究及改进,提高算法的收敛速度,从大量的数据中模拟生物的特性来完成特定的任务和解决问题的方法和方向。由于遗传算法是单层感知机,而神经网络是多层感知机,所以可以从多层感知机的多层性,我们想象为遗传算法是单层感知机作为神经网络是多层感知机的输入层。这样,我们就可以采用遗传算法的动态变更权值的特性来对神经网络输入层有效性的遗传和变异。这种算法适合与没有输入,只有输出的应用,就像无人驾驶技术中控制行驶的速度和方向的控制一样。基本的框架如图1:
图1结合人工神经网络和遗传算法的框图
Fig.1 Combined with artificial neural network and genetic algorithm diagram
最上面的是智能体,神经网络的输出来控制智能体,控制中心将神经网络的权值用遗传算法的初始体来提供。
2.1遗传算法的基因作为神经网络的权值变量
遗传算法的基因的初始化必须要满足神经网络的输入要求,一般遗传算法的基因都是0,1编码。但是为了达到神经网络的输入要求,是要在(-1,+1)之间随机产生。
2.2遗传传算法中杂交点选择
遗传算法中,一般都是采用随机平均变异[4][5]的方式,但是如果输入是由遗传算法的基因提供的话,为了保证在变异的时候,采用标记变异的方法。我们可以首先根据图2的神经网络来考虑:
图2遗传算法作为人工神经网络和的权值图
Fig.2 Genetic algorithm as artificial neural network and the weights of figure
很显然,(0.3,-0.8,-0.2)是神经元1的权值 ;(0.6,0.1,-0.1)是神经元2的的权值;(0.4,0.5) 神经元3的权值。为了在遗传算法中的杂交过程中,不破坏每个神经元的权值个数,特意标记(3,6)所在的箭头。
2.3引入神经网络输入层的数据预处理
神经网络的计算问题是神经网络应用中最为关键的问题。如何提高网络的训练速度是算法研究的重点。我们在思考问题的时候,总是希望问题越简单越容易解决。同样,我们也可以通过对数据的预处理,来降低问题的难度。
为了减少输入层的个数,我们可以先对数据进行预处理。预处理的方法为如下流程:
(1).计算机器人前进方向Position(x,y)和目标的所在的位置Location(x,y)。
(2).归一化Position(x,y) 和Location(x,y)。
(3).用点乘的计算公式计算两者点乘。
(4).用符号重载的方式计算是顺时针还是相反。
(5).计算角度=第3步的结果*第4步的结果。
3实验结果及分析
3.1实验框架
将本算法应用于扫雪机器人的智能控制中,设计的主要模块:
3.1.1神经网络部分的设计
神经网络的输入由四个变量组成:扫雪机器人方向向量(由两个变量组成,即在X和Y的分量),发现目标,即雪的向量(由两个变量组成,即在X和Y的分量)。神经网络的隐含层由一层组成,而且由10个神经元。神经网络的输出由两个变量组成,V1和V2,分别作用在机器人的左轮和右轮上。神经网络的响应函数采用SIGMOD。
3.1.2遗传算法部分的设计
遗传算法的初始化是为神经网络提供权值,所以是由[-1,1]随机数产生。遗传算法的变异是采用随机变量的变异,选择采用轮转法。
3.1.3扫雪机器人
扫雪机器人用神经网络来控制,当找到目标后,它的适值就加一。这样就随着发现目标越多,它的适值就越大。学习能力是通过不断的学习后,它的适值就会加强。如果直接采用机器人前进方向和目标的所在的位置,那么神经网络的输入为四个变量。
3.2结果与分析
如果直接采用机器人前进方向和目标的所在的位置,那么神经网络的输入为四个变量。通过对扫雪机器人的学习过程,没有进行预处理的数据,即四个变量输入神经网络后的参数设定:神经网络的输入为4,神经元为6个,输出个数为2个,如图3所示:
图3网络的参数设定图
Fig.3 Network parameters set figure
我们设定初始的适值为0,如果发现一个目标后,它所对应的适值就加上1,这样经过50次的进化后,没有进行数据预处理的最大值是25,平均值是10.1333。如表1所示:
将50次的统计结果用柱状图进行对比,如图4所示。
图4进化50代后的加入数据预处理和没有加入预处理的对比图
Fig.4 After 50 generation data preprocessing and did not join joined the pretreatment of contrast diagram
为了减少输入层的个数,我们可以先对数据进行预处理下面,用统计的方法对数据进行的结果分析,如表2所示。
将进化100代后,对比两者的对比柱状图如图5所示。
图5进化50代后的加入数据预处理和没有加入预处理的对比图
Fig.5 After 50 generation data preprocessing and did not join joined the pretreatment of contrast diagram
实验结果表明,为了减少输入层的个数,先对数据进行预处理。通过对扫雪机器人的过程的数据分析进行分析,数据预处理后的智能进化学习能力相对于原始数据的智能进化学习能力有明显的提高。
4结束语
本文提出了基于神经网络和遗传算法结合的改进算法,对于遗传算法的变异操作进行改进,不会破坏单个神经元的输入权值的基础上,采用数据预处理的方法来减少输入层的个数,从而提高进化学习的能力。从实验数据中可以看到,本章提出的改进算法加快了学习速度,达到了提高智能学习的预期
目的。
参考文献
[1] 乔俊飞,韩桂红.神经网络结构动态优化设计的分析与展望[J].控制理论与应用,2010,3(13):350-357.
[2] 葛继科,邱玉辉,吴春明,等.遗传算法研究综述[J].计算机应用研究,2008,10(9):2911-2916.
[3] 丁建立,陈增强,袁著祉.智能仿生算法及其网络优化中的应用研究进展[J].计算机工程与应用,2003,12(3):10-15
[4] 巩敦卫,等.交互式遗传算法原来及其应用[M].北京:国防工业出版社,2007.
【关键词】网络控制系统 压缩映射遗传算法 神经网络 参数优化
1 引言
PID控制器要想得到理想的控制效果,就需要取得PID控制中比例、积分和微分三个参数的最优值。传统的PID控制器已经不能满足现代的需求,因而将智能控制技术引入了PID控制器中。
2 基于神经网络PID控制器原理
(1)PID控制器。在控制系统中常常用到PID控制,PID即对输入偏差进行比例积分微分运算。PID控制器是由比例、积分和微分三个环节组成,PID控制器能否取得好的控制性能就要调节好比例、积分、微分的三者的关系。基于遗传神经网络PID控制器采用经典的增量式数字PID控制器,可以直接对被控对象进行闭环控制且对三个参数进行在线整定。
(2)基于神经网络PID控制器。BP神经网络是现在应用最为广泛和成功的神经网络之一,BP神经网络具有学习能力强、可逼近任意非线性的优势,它是一种单向传播多层前向网络,采用最小均方差和梯度算法,由输入层、隐含层和输出层三层组成,其中输入层与隐含层、隐含层和输出层通过相应的权值连接起来的。
3 压缩映射遗传算法优化BP网络的初始值
3.1 压缩映射遗传算法
传统的遗传算法并不可能保证全局的最优收敛,因此对传统的遗传算法进行改进,把Banach定理用于遗传算法即压缩映射遗传算法。遗传算法能够被定义为群体之间的变形,构造的度量空间X使得其成员为群体P,那么任何的压缩映射f都有唯一地不动点,不动点是f应用于任意一个初始群体P(0)迭代得到的。根据Banach定理可以得到合适的度量空间,在此空间中的遗传算法是收缩的,就可以在不动点上获得算法的收敛性,与初始群体的选择无关。
3.2 压缩映射遗传算法对BP网络的优化
BP算法使用的是梯度算法,训练是从某一点开始沿着误差函数的斜面达到误差的最小值,不同的始点会导致不同的最小值产生,得到不同的最优解,因此BP神经网络的PID在网络优化训练时有收敛速度慢、易陷入局部极小和全局搜索能力差的缺点。而压缩映射遗传算法具有收敛性,能够在BP神经网络搜索时保证全局最优收敛,从而能得到最优解或准最优解。采用压缩映射遗传算法来对BP神经网络的权值和阈值进行学习和优化,然后用BP网络进行在线整定PID参数,从而达到良好的控制效果。
3.2.1 编码方式
BP神经网络的权值和阈值的学习是复杂的连续参数优化,如果采用二进制编码就会使得编码串过长,影响网络学习的精度。使用实数编码比较直观并且不会出现精度不足,BP神经网络的各个权值和阈值组按照顺序联成一个长串,串上的每一个位置对应着网络中的一个权值或者阈值。
3.2.2 适应度函数
遗传算法中的适应度函数来评价染色体优劣,将染色体上表示的各个权值分配到给定的网络结构中,网络以训练集样本为输入输出,运行后返回E(pi)来评价函数达到最优目标:Eval(pi)=E(pi),其中误差越小, Eval(pi)的值就会越小。群体的适应度函数为:
Eval(p) = Eval(pi)
3.2.3 初始群体的选择
本文采用实数编码的方式,初始群体表示为:Si(p)={V1,V2,…Vm},其中i=1,2,…,M;j=1,2,…,m;M为群体中潜在解的个数,其取值在20-100之间,考虑所处理的求解时间。在初始染色体集时网络中各个权值都是以e-|r|的概率分布来随机确定,遗传算法的这种随机分布方法使得当网络收敛后,权值的绝对值都很小,能够搜索所有的可行解范围。
3.2.4 遗传算子
遗传算子采用了选择、交叉和变异算子。选择算子目的是从群体中选择适应度大的优胜个体,适应度越大的个体被选择的机会就越大。在选择算子中采用最优保存策略,即当前群体中的适应度最高的与上一代群体中最高适应度相比较,如果当代比上一代高就保留当前的个体,相反则淘汰新一代中的一个个体,将上一代最高适应度的个体加入新一代中。 本文使用自适应变异算子,适应值大的个体在较小的范围中搜索,而适应值较小则在较大的范围中搜索,可以根据解的质量自适应地调整搜索区域来提高搜索能力。
3.2.5 算法终止准则
在满足适应函数最大值时终止遗传算法迭代,由于网络中适应度的最大值不清楚,本身就是搜索的对象,因此在发现在群体中一定比例的个体已经为一个个体时终止迭代,本文设定最大遗传代数,即使最大遗传代数没有找到最优解也终止算法。
4 仿真研究
在matlab中构建遗传神经网络PID控制器,利用Truetime构建NCS仿真模型,被控对象选为直流电机。BP神经网络算法的PID控制器在经过100秒才达到稳定状态,而压缩映射遗传神经算法PID控制器只要56秒就达到稳定状态,可知压缩映射遗传神经算法PID控制器比BP神经网络算法的PID控制器振荡时间短、振幅小,控制系统性能更好。
5 结论
对于BP神经网络优化训练时有收敛速度慢、易陷入局部极小和全局搜索能力差的缺点。采用压缩映射遗传算法对BP神经网络PID控制器的权值和阈值进行学习和参数优化,加快了全局收敛性,而且振荡时间短、振幅小,能够很快的达到控制系统稳定。通过仿真可以看到压缩映射遗传神经网络PID对网络控制系统在延时和扰动等干扰因素下仍可以进行实时控制,达到较好的控制效果,并具有鲁棒性强和抗干扰的特点。
参考文献
[1]涂川川,朱凤武,李铁.BP神经网络PID控制器在温室温度控制中的研究[J].中国农机化,2012.2:151-154.
[2]韩力群.人工神经网络教程[M].北京:北京邮电大学出版社,2006.
[3]周海,恒庆海,刘茵.基于truetime的网络控制系统时延分析与仿真[J].工业控制计算机,2012,25(2):29-30.