资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第四章 用遗传算法设计神经网络 第四章 用遗传算法设计神经网络 4.1概述 自1986年Rumelhart和Parker发明误差反向传播算法(BP算法)以来,人工神经网络的理论和应用研究发展十分迅速,其中,前馈型网络(又称BP网)因其结构简单和非线性映射能力而具有广泛的工程应用前景,如模式识别、过程控制、故障诊断等,同时,BP网在人工智能研究中又被作为机器学习知识获取的重要工具。Kolmogorov已经证明了多层前馈神经网络能够解决可以表示成从某个输入空间到某个输出空间的连续映射的任意问题。但这只是一个存在性定理,它没有给出关于如何构造网络的提示,网络的构造是个非常重要的问题。如何优化BP网络的结构目前尚无理论指导,在应用过程中往往指定过多的网络节点数和层数,期望通过BP算法自动地裁减多余部分,而实际情况并非如此。由于BP算法在冗余结构下会产生“过学习”现象,使网络的训练学习了样本模式的确切特征而不是样本集的一般特征,缺乏外推能力而难以实际应用18;基于数值实验的启发式设计也很困难,这种启发式方法有两个主要缺点:第一,可能的神经网络结构空间非常大,甚至对小型应用问题,其中的大部分结构也仍然没有探测;第二,构成一个好的结构的因素密切依赖于应用,既要考虑需要求解的问题,又要考虑对神经网络解的限制,但目前还没有一个好的技术或方法做到这一点,网络结构空间非常大,探测好的结构十分耗时。研究神经网络的最终目的是解决实际问题,欲实现神经网络,网络的拓扑结构是至关重要的,它关系到实现的难易程度、网络可靠性、稳定性、抗干扰性等问题,BP网络的结构设计取决于具体应用,需要一种高效率搜索机制来探测结构空间。为了进一步揭示网络拓扑结构与网络性能之间的关系,需要开拓新的研究和分析方法。而遗传算法正具有这种特性。 遗传算法是一种模拟生物界自然选择和自然遗传机制的高度并行、随机、自适应最优化搜索算法5,具有隐含的并行性和对全局信息的有效利用能力,使它只需搜索少数结构就能反映搜索空间的大量区域,利用群体的适应值信息,通过简单的复制、杂交和变异算子,遗传算法能以很大的概率找到全局最优解,遗传算法尤其适合于处理传统搜索方法解决不了的复杂和非线性问题,并发展成为一种自组织、自适应的综合技术57。 在一组给定的性能准则下优化神经网络结构是个复杂的问题,其中有许多变量,包括离散的和连续的,并且它们以复杂的方式相互作用,对一个给定设计的评价本身也是带噪声的,这是由于训练的效能依赖于具有随机性的初始条件。总之,神经网络设计对遗传算法而言是个逻辑应用问题。遗传算法一般可以通过两种方式应用到神经网络的设计中,一种方式是利用遗传算法训练已知结构的网络,26 吉林工业大学硕士学位论文 优化网络的连接权;另一种方式是利用遗传算法找出网络的规模、结构和学习参数。 用遗传算法研究神经网络的设计主要有两个目标。第一个目标是开发神经网络的设计工具,这种工具可以让设计者描述解的问题或问题类,然后自动搜索一个最优的网络设计;第二个目标是通过发现更多的依据来帮助建立神经网络设计的理论。 4.2 遗传算法的描述 自从生物进化理论得到人们的接受之后,生物学家就对进化机制产生了极大的兴趣。虽然目前关于推动这个进化的机制还没有完全弄清楚,但它们的某些特征已为人所知。进化是发生在作为生物体结构编码的染色体上,通过对染色体的译码部分地生成生物体,人们现在还不完全清楚染色体的编码和译码过程的细节,但下面几个关于进化理论的一般特性已广为人们所接受: (1)进化过程是发生在染色体上,而不是发生在它们所编码的生物体上。 (2)自然选择把染色体以及由它们所译成的结构的表现联系在一起,那些适应性好的个体的染色体有更多的繁殖机会。 (3)繁殖过程是进化发生的那一刻,变异可以使生物体子代的染色体不同于它们父代的染色体。通过结合两个父代染色体中的物质,重组过程可以在子代中产生有很大差异的染色体。 (4)生物进化没有记忆。有关产生个体的信息包含在个体所携带的染色体的集合以及染色体编码的结构之中,这些个体会很好地适应它们的环境。 自然进化的这些特征早在60年代就引起了美国学者John Holland的极大兴趣。Holland注意到学习不仅可以通过单个生物体的适应而且通过一个种群的许多代的进化适应也能发生。受达尔文进化论适者生存的启发,他逐渐认识到,在机器学习的研究中,为获得一个好的学习算法,仅靠单个策略的建立和改进是不够的,还要依赖于一个包含许多候选策略的群体的繁殖。他们的研究想法起源于遗传进化,Holland就将这个研究领域取名为遗传算法。 Holland创建的遗传算法是一种概率搜索算法,它是利用某种编码技术作用于称为染色体的二进制数串,其基本思想是模拟由这些串组成的群体的进化过程。遗传算法通过有组织地然而是随机地信息交换来重新组合那些适应性好的串,在每一代中,利用上一代串结构中适应性好的位和段来生成一个新的串的群体;作为额外增添,偶尔也要在串结构中尝试用新的位和段来代替原来的部分。遗传算法利用简单的编码技术和繁殖机制来表现复杂的现象,从而解决非常困难的问题。特别是由于不受搜索空间的限制性假设的约束,不必要求诸如连续性、导数存在和单峰等假设,以及其固有的并行性,遗传算法目前已经在最优化、机器学习和 27 第四章 用遗传算法设计神经网络 并行处理等领域得到了越来越广泛的应用。 遗传算法的主要步骤如下: (1)随机产生一个由确定长度的特征串组成的初始群体。 (2)对串群体迭代地执行下面的步(i)和步(ii),直到满足停止准则: (i)计算群体中每个个体的适应值; (ii)应用复制、杂交和变异算子产生下一代群体。 (3)把在任一代中出现的最好的个体串指定为遗传算法的执行结果。这个结果可以表示问题的一个解(或近似解)。 在准备应用遗传算法求解问题时,要完成以下四个主要步骤: (1)确定表示方案; (2)确定适应值度量; (3)确定控制算法的参数和变量; (4)确定指定结果的方法和停止运行的准则。 在常规的遗传算法中,表示方案是把问题的搜索空间中每个可能的点表示为确定长度的特征串。表示方案的确定需要选择串长l和字母表规模k。二进制串是遗传算法中常用的表示方法。选择一个便于遗传算法求解问题的表示方案经常需要对问题有深入的了解。 适应值度量为群体中每个可能的确定长度的特征串指定一个适应值,它经常是问题本身所具有的。适应值度量必须有能力计算搜索空间中每个确定长度的特征串的适应值。 控制遗传算法的主要参数有群体规模N和是执行的最大代数目M,次要参数有复制概率pr、杂交概率 pc、变异概率pm和代间隙G等参数。 至于指定结果和停止和停止执行算法的方法视具体问题而定。 4.3用遗传算法设计前馈神经网络 图4-1给出了遗传算法用于神经网络模拟系统构成的混合学习系统。 4.3.1表示方案的确定 在遗传算法的群体中,染色体串编码前馈多层神经网络的结构,特别地,它们为隐含单元的数目、布局和控制反向传播法的三个参数(即学习率、动量项和初始随机连接权的范围,均用Gray码)编码。在本文讨论的前馈神经网络中,允许至多有两个隐含层;在能使网络性能提高的条件下,这两个隐含层中任何一 28 吉林工业大学硕士学位论文 图4-1 遗传算法与神经网络藕合成的混合学习系统 层在演化中都可以被删去,在每一个隐含层中,神经元的最大数目为32。染色体串的编码形式如下: 0?0.5,0.25,0.125,0.0625? 1? 0?0.9,0.8,0.7,0.6? 1? 0?W?1.0,?0.5,?0.25,?0.125? 1? 1? 0?0? 第一隐含层(第1位=有/无,后5位=单元数,132) 0? 0?0? 1? 0?0? 第二隐含层(第1位=有/无,后5位=单元数,132) 0? 0?0? 4.3.2适应值的确定 在遗传算法中,适应值是用来区分群体中个体(问题的解)的好坏,适应值 29 第四章 用遗传算法设计神经网络 越大的个体越好,反之,适应值越小的个体越差。遗传算法正是基于适应值对个体进行选择,以保证适应性好的个体有机会在下一代中产生更多的子个体。此外,象在赌盘选择中,还要求适应值必须是非负数。然而在许多问题中,求解目标更自然地被表示成某个代价函数f(x)的极小化,而不是某个利益函数g(x)的极大化;即使问题被表示成极大化形式,仅仅这一点并不能确保利益函数g(x)对所有的x都是非负的。作为这些问题的结果,常常需要通过一次或多次变换把目标函数转化到适应函数F(x)。 对优选结构的评价需要从网络的学习能力和一般化(外推)能力两方面综合考虑。根据第三章的讨论,我们采用自适应学习率加动量项的改进算法,隐层激励函数为Sigmod函数,输出层激励函数为线性函数,采用K重杂交训练方法。我们取网络性能评价目标函数为: E= 训练样本集平均相对误差 + 测试样本集平均相对误差 适应值函数定义为:SyzEXP(min(E)E) 式中EXP()表示以e为底的指数函数;min()表示最小值。这种指数比例变换使适应值范围在12.718之间,既可限制优势个体的复制数量又可提高相似串之间的竟争性。 4.3.3确定选择方法 复制就是根据适应值从群体中选择串进行拷贝的过程。一旦一个串被选择,则将这个串的拷贝放入在一个新的暂时群体交配池中,以便进行杂交和变异。当完成了N次复制后,整个暂时群体就被填满了。复制算子有多种:如赌盘选择,确定性选择,有退还和无退还随机选择,有退还和无退还剩余随机选择等。本文采用了确定性选择方法:对群体中每个串ei计算生存概率pi?Fi/?Fi,从而得到 i?1N ei的期望拷贝数pi?N,仍记为ei;根据ei值的整数部分,分配给每个串一个拷贝数,并按照ei值的小数部分对群体中的串进行排序;最后按排列顺序从大到小选择串,直到填满暂时群体。 4.3.4确定控制算法的参数和变量 (1)群体规模N 群体规模影响到遗传算法的最终性能和效率。当规模太小时,由于群体对大部分超平面只给出了不充分的样本量,所以得到的结果一般不佳。大的群体更有30 吉林工业大学硕士学位论文 希望包含出自大量超平面的代表,从而可以阻止过早收敛到局部最优解;然而群体规模越大,每一代需要的计算量也就越多,这有可能导致一个无法接受的慢收敛率。在我们的实验中,由于实验条件的限制,适应值的评价相当费时,群体规模取为10。 (2)杂交率pc 杂交率控制杂交算子应用的频率,在每代新的群体中,有pc?N个串实行杂交。杂交率越高,群体中串的更新就越快。如果杂交率过高,相对选择能够产生的改进而言,高性能的串被破坏得要更快。如果杂交率过低,搜索会由于太小的杂交率而可能停滞不前。本实验选取了0.6作为杂交率。 (3)变异率pm 变异是增加群体多样性的搜索算子,每次选择和杂交之后,新的群体中的每个串的每一位以概率等于变异率pm进行随机改变,从而每代大约发生pm?N?L次变异,其中L为串长。一个低水平的变异率足以防止整个群体中任一给定位保持永远收敛到单一的值。高水平的变异率实质上产生的是随机搜索。本实验采用了0.01作为变异率。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号