您好,欢迎来到刀刀网。
搜索
您的当前位置:首页基于遗传算法的人工神经网络学习算法

基于遗传算法的人工神经网络学习算法

来源:刀刀网
维普资讯 http://www.cqvip.com

第38卷2002年第2期 V 38 M建 o 2 西北师范大学学报(自然科学版) Journal of Northwest Ial Ufd*eersity(Natural Selence) 基于遗传算法的人工神经网络学习算法 李建珍 (西北师范大学教育技术与传播学院,甘肃兰”【730070) 摘要:为了克服和陡连BP算法的不足.提出了一种基于遗传算击的神经网络学习算法体真结果表明.该算法具 有无比的优越性.可避免BP算法易于陷八局部极 :、值、 练速度陧、误差函数必须可导、受回络结构的限弗 等缺.唱 关键词:和垃网络;遗传算涪:权值:阁值;仿真 中图分类号:TP t83 文献标识码:A 文章编号:1001 988X(2002)02-0033 05 A learning algorithm of artiifcial neural network based on genetic algorithm LI Jian zhen (-allege of} ucn{】t TeelmoloKv and Conmnmication,\ortll ̄esl Normal Utivetfsity Abstract:In o,'der Io get over the insuffi ̄。icney of BP algorithm,a new kmming aIg0rithm of m ̄tifi{‘ial neul ̄]network } *‘I(H genetic algorithm is Wen The results of emulation sho ̄:using genetic algorilhm oplimiza*weight and IhH s d uf a ̄ificial neural network 1lOt only Call putted into practice.but has vmT appealing advantages Fhc into k ̄,al minimum.slow F ‘I in a vifl ̄m 4'OJr1 get over the insufficiency of BP algorithm,such as:liable to training,derivative error function required,limited h)network arc,hitecture. Key words:artiicial neuralf network;genetic algorithm:weight;threshold;emulation 由于学习是神经阿络的一种最重要也是最令人 注目的特电,因此在神经网络的发展进程中,学习 算法的研究 直有着十分重要的地位BP算法的 出现弥补了神经网络在实际应用中难以确定权值的 不足,使得具有很强识别功能的前向多层神经网络 得以应用.但BP算法从本质上讲属于梯度下降算 法,困而不可避免的具有一些缺陷,如:易陷入局 部极小值、圳练速度慢、误差函数必须可导、受网 络结构的等 2o世纪70年代初期由美国密执根(Michigan) 大学的Ifolland教授发展起来的遗传算法(genetic algonthrns1,是一种求解问题的高效并行全局搜索 由于一个ANN模型可以由有限个参数:神经 元、阿络层数、各层神经元数、神经元的互连方 式、各连接的权重以及传递函数等描述,所以可以 对一个ANN模型经过编码,用遗传算法实现神经 阿络的学习过程.而遗传算法又具有全局随机搜索 能力,能够在复杂的、多峰值的、不可微的大矢量 空间中迅速有效地寻找到全局虽优解,陷人局部最 小值的可能性大大减少.另外,由f适应度函数无 需可导,因此进化学习算法可适用的神经元(激活 函数)类型更为广泛t同时由于遗传算法使用简 单、鲁棒性强的特点,用遗传算法进化神经网络无 疑具有重要的意义. 方法.在过去的30年中,在解决复杂的全局优化 问题方面,遗传算法已取得了成功的应用,并受到 r广泛的关注在优化问题中,如果目标函数是多 1利用遗传算法设计神经网络的权值 和域值方案 由于一个ANN模型可以由有限个参数描述, 因而可用有限长度的串编码表示把ANN的参数 峰的,或者搜索空间不规则,就要求所使用的算法 必须具有高度的鲁棒性,以避免在局部最优解附近 徘锕 收稿日期:200l一09—21;修改稿收到日期:20(P ̄if2—28 作者简介:李逵珍(196卜),男,甘肃秦安人、讲师,硕士主要研究方向为人工智能、计算机酬络与信息处理 维普资讯 http://www.cqvip.com

西北师范大学学报(自然科学版) Journal of No ̄hwest Normal University(Nattrral Sciet ̄ce) 第38卷 V()l 38 编码成GA的串.并且选择一个合适的性能评价函 隐层节点的激活函数为tmx'sig 数,’( )= (1一e )/(1+e );输出层节点的激活函数为 数后,可以利用GA在参数空间进行全局搜索,取 得较好的区域搜索与空间扩展的平衡.实现算法可 简要描述如下:定义一个表示?dVN模型的编码方 案;随机产生 个编码,构成初始集S; Repeat For【=1 to n do Begin 解码第i个编码,得到一个反应AIXTN 模型的参数组合P: 由P构成ANN; 计算第i个编码的适应值; End 根据适应度值选择n个下一代群体s(有些个体可 能蘑复选择):根据各个编码的适应度值和概率P. 在s巾随机选择可进行交叉的后代,并随机配对 进行交叉:根据各个编码的适应度值和概率P 在 s中随机选择可进行变异的父代,并进行变异; Until(满足性能评价标准).Or.(完成了指定代的搜 索):解码s中适应度值最大的串,构成ANN. 2神经网络权值和闽值的编码及描述 对权值 进行编码:依据连接粳值数目,对 权值用相应维数的实数向量表示.对阈值 进行 编码:根据隐层和输出层神经元数产生一(s+n) 维实数向量作为阈值向量, 为隐层节点个数,n 为输出层节点个数. 在传统GA中采用的是二进制编码,在求解连 续参数优化问题时,需要将连续的空间离散化,这 个离散化过程存在一定的映射误差,特别是不能直 接反映出所求问题本身的结构特征.直接采用实数 编码的GA求解连续参数优化问题,自20世纪90 年代以来得到越来越多的重视和发展 .实数编 码是连续参数优化问题直接的自然描述,不存在编 码和解码过程,与基于二进制编码的GA相比,存 在许多优势:可以提高解的精度和运算速度,特别 是在搜索空间较大时更为明显;避免了编码中带来 的附加问题,便于与其他搜索技术相结台. 3基于遗传算法的神经网络学习算法 在基于实数向量编码的基础上,交叉操作采用 了凸集理论中的有关概念,变易操作通过随机产生 变易方向进行变易. sigmoid函数,( )=1/(1+c )这里采用的函数, 可以根据输出数据的范围进行不同的选择适应度 ^ “ 函数为网络的全局误差s =∑∑( 一o ) , P=I J=I 其中, .为标准输出,。 为实际输出, 为训练 集合中所含的输入模式数,n为输出层神经元数. 步骤1 设定参数输人种群规模(pop size)、 交叉概率(P )、变异概率(P )、网络层数(不 包括输八层)、每层神经元数在算法的仿真当巾, 所使用的参数为:种群规模tx)p size=70,交叉概 率P 0.1,变异概率P =0 6, 评价函数中的 参数n为0.05遗传算法对于这熙参数的设置有 非常好的鲁捧性,改变这些参数对所得的结果不会 有太大的影响 步骤2 初始化 随机产生初蛤种群P= ., 1.1一, ,任一 .∈P为 神经网络,它由 一个权值向量和一个闺值向量组成.杈值向量也为 维实数向量,n为所有的连接杈的个数.阈值向 量为n维实数向量(不包括输入层神经元)神经 元编号采用自低向上、自左向右的方法(包括输入 层神经元). 可用正态分布的小随机数来初始 化,在后边的5L ̄TLa,B仿真中使用m×randn()函 数进行初始化,其中m为一个足够大的数,以便 确定足够大的搜索空间 Randn()可产生一个0—1 均匀分配的随机数. 步骤3评估①根据随机产生的权值向量和 阈值向量对应的神经网络,对给定的输入集和输出 集计算出每个神经网络的全局误差作为适应度,即 ,=∑∑( 一 ) ,其中 为输入第P个训练 口=-i l 样本时第i个节点的输出值, 为期望的输出值, 为训练集合太小, 为输出层的神经元数②为 了进行排序选择,给已排好序的染色体设定选择概 率概率确定采用Michalewicz提出的指数排序法 eval( )=Ⅱ(1一n)‘一。,o C-(0,1),i:1,2,-一. pop—size.i=1意味着染色体是最好的, pop size说明是最差的.在后边的仿真中,取 n:0.05. 步骤4排序根据适应度从小到大排序,即 按染色体由好到坏排序,染色体越好,序号越小. 维普资讯 http://www.cqvip.com

2O00_年第2期 2002 2 李建珍:基于遗传算法的人工神经阿络学习算法 A[eartifng alg ̄ridam of aritifcial neural netwofl ̄based Oil genetic algoriffm] 并根据步骤3的结果给每个染色体按序号设定选择 概率.并保留最好的染色体.此最好染色体在后续 的进化中可被更好的染色体所替代. 步骤5保留最好染色体将适应度最小的染 色体(即最好的染色体)和当前已保留的最好的染 色体进行比较,如果误差变小,则保留薪的最好的 染色体. 步骤6 选择过程 选择过程是以旋转赌轮 pop—size次为基础的,每次旋转都为新的种群选择 一个染色体,赌轮为每个染色体按序号设定的概率 选择染色体,同时保证最佳个体的选择 这样设定 选择概率,概率并不是正比于染色体的适应度值, 可避免在较早的代中一些超级染色体霸占选择过 程,而在较晚的代中种群集中在一起,染色体的竞 争减弱,变得像随机搜索.而保留最佳个体的选择 可使搜索过程收敛到全局最优解算法可表示如 下: 11对每个染色体 计算累积概率q : f目。 0, 1 r 、 =∑eval(vj.),i=1,2,…,pop size ̄ 2)从区间(0,g )中产生一个一致分布的 随机数r;在MATLAB中用rand函数实现; 3)若q .<r≤q ,则选择第i个染色体 (1≤i≤poP size); 4)重复2)和3)共poP—size次,这样可以得到 opP size个复制的染色体 如果在(poP size一1)次 选择过程中,没有出现第一个最好的染色体,则在 第pop szie次选择时,直接选择第一个最好的染色 体 注:在上述过程中,并没有要求满足条件目卿岫=1 实际上,可以用g岬岫除以所有的 , =1,2…,pop—size, 使9…:1,新得到的概率同样与适应度成比例,只要 不介意概率方面解释上的困难,这一点并没有在遗传过程 中产生任何影响 步骤7交叉并评估过程前面已经指定了参 数 作为交叉的概率,这个概率说明种群中有期 望值为P poP—szie个染色体进行交叉操作. 为确定交叉操作的父代,从i:1到pop siez 重复以下过程:从区间 0,1]中产生一个一致分布 的随机数r,如果r<P ,则选择 作为一个父 代.如果用 , ;, ,…表示上面选择的父代,并 把它们随机分成下面的对( , ),( . j),・ 进 行交叉 以( , )为例对所进行的交叉操作解释 如F:从开区间(0,m)中产生一个随机数 ,在 MATLAB中可用m×rand()函数实现,m可根据不 同的输出进行调节以便覆盖解集 交叉形式如下: =C x +(2一c)x ,Y=t2一c)× +c x ,其中 和v为后代, 和Y的替换对象分别为 2个父代 和 .交叉完后,为了考察其优劣, 还原出对应的神经网络并进行性能评估对同一对 父代.为了尽可能交叉出好的后代,允许进行多次 交叉,在交叉中只要有一个后代优于或2个后代都 优于其对应的父代,则替换其父代,结束该对父代 的交叉,否则,对泼对父代进行下一次交叉在下 一次的交叉中,取m= ×rand,直到找出优于其 父代的后代. 这里采用的交叉方法基于凸集理论 一般 地,2向量 和 加权平均计算如下: + 2 2. l+ 2=I、 l>0, 2>0,则加权形式为 凸组合;若去掉非负,则称为放射组合;如果 仅要求乘子为实数,则称为线性组合类似地,交 叉运算被定义成了2个向量(染色体)的如下组 合 = 1 1+ 2 2,x;= 1+ ] ,按对乘 子的不同,可获得3种交叉,分别称为凸交 叉、放射交叉和线性交叉、几何解释如下:对于双 亲37 和 :,其所有凸组合的集合称为凸壳 ((yonv ̄x hul1).类似地,称所有放射组合的集合为 放射壳,所有线性组合的集合为线性壳.图1显示 的是2维空间的情况. 田1凸壳、仿射壳和线性壳 凸交叉产生的后代位于实线段,仿射交叉的后 代位于虚线段,而线性交叉的后代分布在整条直线 上.这里采用线性交叉,并乘子为^.+^ ≤ 2,^l>0,^2>0 即让m=2. 维普资讯 http://www.cqvip.com

西北师范大学学报(自然科学版) Jounalr of Northwest.Normal Urdversi ̄(Natural Science) 第38卷 V0】38 步骤8变异并评估操作前面已经给定了变 异概率P ,这个概率表明总体中有期望值为P × pop size个染色体用来进行变异操作 类似于交叉过程中父代的选择,由i=1到 opP size.重复r列过程来选择变异的染色体:从 0,1]中产生随机数r,如果r<P 则选择 作 为一个父代. 对选择好的每一个要变异的染色体.为lr尽可 能进行好的变异.允许进行多次变异.变异时.首 先随机生成一个与染色体的各权值、闽值同维数的 向量d 和也作为变异方向(d 和 可用产生正 态分布的随机数的函数rancLn()产牛).然后用父代 染色体的权值 闽值对应的向量分别和向量m× d., ×d 相加剥每次变异结果.还原出神经 络井进行性能评估如果后代优于父代则结束该父 代的变异.否则,对该父代进行下一次变异.在下 次的变异中,取 一 ×rand,直到找出优于其 父代的后代. 步骤9如果J列络误差满足要求,或达到 定 的进化代数,停止进化,输出进化结果;否则 转 步骤4. 3实验结果和分析 定理1 如果隐层的节点可 根据需要自由 设置,那么用3层(不包括输人层1的阈值网络可 以实现任意的二值逻辑. 根据定理1,为了考察算法的普适性,这里选 用2个2层网络和一个3层网络(不包括输人层) 在bt4TL ̄,B环境中对优化学习算法是否收敛解、收 敛精度、最大世代数、变异和交叉概率等性能进行 测试,并与BP算法进行了性能比较.测试时,适 应度函数定义为误差平方和(m ),激活函数隐层 使用tm ̄sig函数,输出层使用logsig函数 1)2异或同题和模式长度为3的奇偶问题. 这是一个容易陷入局部最小的问题,并且需要隐 层.XOR问题采用一个全连接的单隐层前向网络, 输入层2个节点,隐层2个节点,输出层1个节 点 ;模式长度为3的奇偶问题采用一个为单隐 层前向网络,输入层3个节点,隐层4个节点,输 出层1个节点 2)IRIS模式分类问题.IRIS类问题来源于著 名的UCI机器学习数据库 ,该问题的背景知识 包括:概念集{Setosa,Versicolcur,Virginiea};连续属 性及取值范围:Se length(4 3O~7.90). ̄:pal width c2.O0~4.40),Petal lenth(1.00~6 90), dth(0 10~2.50)一卜述数据为取自UCI机器学习 数据库中心的数据集IRIS.它是Fisher教授提出的 著名的花朵识别数据集(Iris data set)该数据集共 有150条设划分为3条决策的记录.每条记录包含 L述4个属性. 在各种人工神经刚络模型中,在模式识别中应 用最多的也是最成功的是多层前馈网帑.其中义以 采l崩BP学习算法的多层感知器f习惯1 也简称为 BP网络)为代表.在此采 :输八 4个节点, 第一隐层8个节点,第二隐层4 l,、节点,输出层3 个节点的舣隐层全连接的}垌络来验证( 算法枉2 个隐层和增加节点的情况F的性能。.蚪_j BP算 法进行r比较 埘每个测试问题连续测试】0次.测试结果 表1~3. 表1 2个输入的异或测试结果 算法——… 最好 最差 连代步数 6_而 0: 37 o≮一713一I_10- 40 BP 0 0009 0 673 9 0 236 5 表2模式长度为3的奇偶问题的测试结果 算击一——一—— 一—— 最好 最差 平均 选 代步数 150 表3 GA和BP算法在IRIS问题上的性能比较 4结论 遗传算法发挥了它的优势,这是 为它和常规 的优化算法相比有几个方面的不同,可归纳如下: 1)GA不直接和参数打交道,而是处理代表参 数的数字串. 2)GA在解空间中不 l是局限于 ,而是同 时处理一群点,这样可 避免陷八局部解. 3)在寻优过程中,GA不需要目标函数的微 维普资讯 http://www.cqvip.com

螂l2年第2捌 x】2 , 2 李建珍:基于遗传算法的人工神经附络学习算法 ^learrifr ̄g algorithm of artifiei, ̄netuM nOwork】】a d OH ̄enefie山onfim 分,只需月标函数的值. 4)(,A的寻优规则不是定性的,而是由概率决 定的 是山J 上述特点,遗传算法枉多峰函数(即 有多个极值)的优化过程中,具有无比的优越性, 避免了BP尊法的不足. 参考文献 1 j Da、1一l肌n ∞ of(Jeoftw,4)gon ̄'hra.t[M-New York V [11 No ̄rmu}Reinlmh1.】99】. 2』 Mk halcGez z.( 嘲 g。r(thm十nⅡⅡs 州 (上接第3:页) 】I <2 1 {If(【Y.是偶数且 :4i+,, :】,2)l】T ( 是奇数且 =4 L J,J=0,3)且 )or((Y 是奇数且 :=4i+J. =I,21 or( 是偶数且t=4i+ , =O,3)且Y. Y )se ( ): El∽if△ 是偶数Sent(一sgn( 一 ) ); Else if 是奇数sent(s (Y 一 ) ); /* 位于边界的特殊点上*/ Ⅱ((≈=l or冀= 一2)且血是偶数) S廿 ( ): 。" ̄'kifle(0≤ ≤n一1 or0≤ ≤m~1) 关于算法的几点说明: 1)算法的初始,为了准确实现平二直一的最 短路径.对源点位置(Y , )做了适当调整这个 调整在广播的前2步就可完成,之后不再改变,不 影响算法效路. 2)图3中 ,s., ,s 4个点的广播路径是相 Etv4z ̄tion Prq ̄wnsl M 2nd ed.New Yo&:sPn Verlag.1994 l 3: Bazaraa M,Jarvis J,She吼li H lJetea*, H Ⅱ 洲, 妇 Floa ̄[M J 2nd cd New York Jotm Wi]ev* SoI1S,l990 4 郑南宁 计算机视觉与模式识别【、1 北东:人【 邮电出 社 j996 l 5]王磊,戚 虎进化 _ 在神经_卅终学 叶1的应 用J1计算机工程,1999,25tlI):41 43. 一6 J Fisher I]|j Knowledge aec ̄dsitim]、ia Jner ̄[r岫1tal conceptual ch ̄tcring ll 、^㈣ m * I987(2 】39 111 同的,从它们引出的4条台阶式路径构成关键路径 【即圈 晟粗的路径),把SM分为4个逻辑r刚 3)算法使每个结点恰好接收消包一次,无冗 余消息产生. 4)广播树的高度不超过阿络直径『j,困而算 法的时间复杂度为0( + ) 5)网络中每个当前结点 根摊自己和源结点 的位置决定下 步的路由选择,减少r消息携带的 网络状态信息,因此算法是基于局部信息的. 参考文献: [1 1屈玉贵,粱晓耍并行处理系统结构[M]台肥: 中国科技大学出皈社,199'9.29@320 [2][美]Hwang K高等计算机系统结构——并行性、可 扩展性、可编程性 M]王鼎兴.沈美明.邦伟民, 等译北京;清华大学出版社,1995.30】~315 3 J Chin G M,Wu P A fault—tolerant ro ̄rtittg strate ̄,iJ1 —h?percube multieOmlluters【J IEEE Tram( , 1996,45(2):】43_I154 (责任编辑惠船骐) 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务