遗传神经网络算法汇报人:AAA专业:检测技术与自动化装置主要内容•1遗传算法简介•2神经网络算法简介•3遗传神经网络•4举例说明遗传算法简介遗传算法(GeneticAlgorithm-GA)是一种基于自然选择和基因遗传学原理的优化搜索方法。它将“优胜劣汰,适者生存”的生物进化原理引入待优化参数形成的编码串群体中,按照一定的适配值函数及一系列遗传操作对各个体进行筛选,从而使适配值高的个体被保留下来,组成新的群体,新群体中各个体适应度不断提高,直至满足一定的极限条件。此时,群体中适配值最高的个体即为待优化参数的最优解。遗传算法简介要内容其主要特点是:1)直接对结构对象进行操作,不存在求导和函数连续性的限定;2)具有更好的全局寻优能力;3)采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。神经网络算法简介人工神经元的研究起源于脑神经元学说。复杂的神经系统是由数目繁多的神经元组合而成。大脑皮层包括有100亿个以上的神经元,每立方毫米约有数万个,它们互相联结形成神经网络,通过感觉器官和神经接受来自身体内外的各种信息,传递至中枢神经系统内,经过对信息的分析和综合,再通过运动神经发出控制信息,以此来实现机体与内外环境的联系,协调全身的各种机能活动。人工神经网络是由大量的简单基本元件——神经元相互联接而成的自适应非线性动态系统。每个神经元的结构和功能比较简单,但大量神经元组合产生的系统行为却非常复杂。人工神经元模型x1~xn:从其他神经元传来的输入信号wij:表示从神经元j到神经元i的连接权值θ:表示一个阈值或称为偏置人工神经元模型人工神经元模型神经元i的输出与输入的关系表示为:若将阈值看成是神经元i的一个输入x0的权重wi0,则可以简化为遗传神经算法二者结合克服遗传网络进化至最优解速度慢和容易陷入局部解具有较好的全局性和收敛速度。遗传算法是一种基于自然选择和基因遗传学原理的全局优化搜索方法。神经网络具有并行快速的优点。遗传神经算法•遗传-神经网络算法的基本思想是:首先由GA求解,由于GA是同时搜索解空间的一群点,并构成不断进化的群体序列,因而在进化一定的代数后,可以同时得到一些具有全局性的好点,从这些好点出发,再分别用神经网络求解,进而得到全局优化解。实例例:遗传算法和神经网络在导弹测试设备故障诊断中的应用研究。分析:在某型导弹测试设备故障诊断神经网络知识库的组建中,针对导弹地面设备结构复杂,系统性强,各分系统相互影响、制约的特点,对系统进行了特点分析和分类归纳,采用层次分类原理进行层次分类,然后分层次诊断,以保证诊断的快速性。例如,在建立的故障诊断系统的诸多神经子网络中,有一仪表网络,其输入输出符号定义如下:实例x1:电压表1是否指示正确0正确1不正确x2:漏电表显示是否漏电0不漏电1漏电x3:电压表2是否指示正确0正确1不正确x4:寿命钟是否有显示0有显示1无显示x5:温度表p6是否损坏0未损坏1损坏y1:调压旋钮BP1,BP2是否有故障0没有1有y2:计算机组合与系统地是否绝缘0绝缘1不绝缘y3:寿命钟是否损坏0未损坏1损坏y4:CZ/CT等是否不通0通畅1不通实例据此建立神经网络,它具有5个输入神经元,4个输出神经元,隐含神经元数取为6个。其训练样本如表1所示。随后编制程序自动将上述表格分别读入不同的初始文件中,再用GA-BP算法进行神经网络学习,并将结果权值存入知识库中,即建立了其中一个神经子网络知识库。实例•设有三层BP网络,Ii为输入层中第i个结点的输出;Hi为隐含层中第i个结点的输出;Oi为输出层中第i个结点的输出;WIHij为输入层中第i个结点与隐含层第j个结点的连接权值;WHOji为隐含层中第j个结点与输出层第i个结点的连接权值。实例遗传算法学习BP网络的步骤如下:①初始化种群P,包括交叉规模、交叉概率Pc、突变概率Pm以及对任一WIHij和WHOji初始化;在编码中,采用实数进行编码,初始种群取30;②计算每一个个体评价函数,并将其排序;可按下式概率值选择网络个体:其中i=1,…,N为染色体数;k=1,…,4为输出层节点数;p=1,…,5为学习样本数;Tk为教师信号。实例③以概率Pc对个体Gi和Gi+1交叉操作产生新个体和,没有进行交叉操作的个体进行直接复制;④利用概率Pm突变产生Gj的新个体;⑤将新个体插入到种群P中,并计算新个体的评价函数;⑥如果找到了满意的个体,则结束,否则转③。达到所要求的性能指标后,将最终群体中的最优个体解码即可得到优化后的网络连接权系数。实例用Matlab编程运行,经过大约600代的搜索后染色体的平均适应度趋于稳定,误差平方和曲线和适应度曲线见图1。elapsed_time=45.2600s。01002003004005006007000510152025GenerationSum-SquaredError0100200300400500600700051015GenerationFittness图1误差平方和、适应度曲线实例为了便于比较图2给出了纯BP算法的训练目标曲线,BP算法1171步可以收敛。到误差目标值0.002,运行时间elapsed_time=20.2100s。0200400600800100010-310-210-1100101102EpochSum-SquaredErrorSum-SquaredNetworkErrorfor1171Epochs图2BP算法的训练误差曲线实例•从以上的比较中可看出,用GA训练ANN的权值尽管可以得到满意的回想结果,但相比BP算法,其运行时间要长得多。这是因为GA收敛是依靠类似于穷举法的启发式搜索,再加之网络结构的复杂性,要运算的数据相当大,如上面的神经网络的权值与阈值的个数为:5*6+6+6*4+4=64个,30个种群就是64*30=1920个,对这些数进行编码、解码、交叉、变异等遗传操作,这样进行一代遗传操作相比BP算法的正、反向的一步操作,要处理的数据就相当大,因而不可避免会出现搜索时间长的问题。实例•考虑到BP算法寻优具有精确性,但易陷入局部极小、收敛速度慢的缺点,而遗传算法具有很强的宏观搜索能力,可避免局部极小,若将两者结合起来就会发挥各自的优势。•GA-BP算法就是在BP算法之前,先用GA在随机点集中遗传出优化初值,以此作为BP算法的初始权值,再由BP算法进行训练,这就是GA-BP算法的原理。•⑥计算ANN的误差平方和,若达到预定值εGA,则转⑦,否则转③,继续进行遗传操作;⑦以GA遗传出的优化初值作为初始权值,用BP算法训练网络,直到指定精度εBP(εBPεGA)。则可以得到下图的曲线结果:实例010203040506070800510152025GenerationSum-SquaredError0102030405060708000.050.10.150.20.25GenerationFittness010020030040050010-310-210-1100101EpochSum-SquaredErrorSum-SquaredNetworkErrorfor551Epochs可以看出,GA进行了80代的遗传操作达到了目标值εGA;BP算法进行了551步收敛到指定精度εBP,运行时间elapsed_time=14.6600s总结•通过算法比较可明显得出:GA-BP算法无论是收敛速度还是运行时间都比BP算法好。•GA-BP算法能同时对解空间内的许多点进行遗传选优,在找到优化点后,再由BP算法按负梯度方向进行搜索,既能避免BP算法陷入局部最小点、收敛速度慢的问题,又能克服GA以类似穷举的形式寻找最优解而引起的搜索时间长、速度慢的缺点,是一种快速、可靠的方法。主要内容主要内容