资源描述:
第3 4 卷第4 期 2 0 0 5 年7 月 中国矿业大学学报 J o u r n a lo fC h i n aU n i v e r s i t yo fM i n i n g T e c h n o l o g y V 0 1 .3 4N o .4 J u l .2 0 0 5 文章编号1 0 0 0 1 9 6 4 2 0 0 5 0 4 0 4 8 6 0 4 神经网络集成的免疫学习算法 孟 江,王耀才,王天成,巩敦卫 中国矿业大学信息与电气工程学院,江苏徐州 2 2 1 0 0 8 摘要针对神经网络集成中个体独立训练的低效性,提出一种神经网络集成的免疫学习算法 N E I L ,通过对集成单体神经网络的免疫优化,借助免疫算法的多峰值搜索和并行优化特性,将最 终的收敛抗体群分别对应神经网络集成的各个单体,实现集成的同时训练过程.仿真结果表明 N E I L 算法是有效的,既保持了启发式优化方法的并行性,提高了神经网络集成的学习效率,又 可保证单体网络之间相互独立,具有较大的差异度,进一步增强神经网络集成的泛化性能. 关键词神经网络集成;同时训练;免疫算法;泛化;差异度 中图分类号T P1 8 3文献标识码A I m m u n eL e a r n i n gA l g o r i t h mB a s e do nN e u r a lN e t w o r kE n s e m b l e M E N GJ i a n g ,W A N GY a o c a i ,W A N GT i a n ~c h e n g ,G O N GD u n w e i S c h o o lo fI n f o r m a t i o na n dE l e c t r i c a lE n g i n e e r i n g , C h i n aU n i v e r s i t yo fM i n i n g &T e c h n o l o g y ,X u z h o u ,J i a n g s u2 2 1 0 0 8 ,C h i n a A b s t r a c t A i m e da tl O We f f i c i e n c yo fi n d i v i d u a lt r a i n i n gi nn e u r a ln e t w o r ke n s e m b l e N N E ,a n e u r a l - n e t w o r ke n s e m b l ei m m u n el e a r n i n g N E L L a l g o r i t h mi sp r e s e n t e d ,w h i c ha d o p t si m m u n e a l g o r i t h m I A t oo p t i m i z e i n d i v i d u a l si nN N E ,t r e a t sc o n v e r g e n ta n t i b o d i e so fI Aa st h e c o r r e s p o n d i n gn e u r a ln e t w o r k ,a n dr e a l i z e st h es i m u l t a n e o u st r a i n i n go fN N E ,a c c o r d i n gt ot h e c h a r a c t e r i s t i c so fm u l t i p e a k e ds e a r c ha n dp a r a l l e lo p t i m i z a t i o no fI A .T h es i m u l a t i n gr e s u l ts h o w s t h a tt h eN E I La l g o r i t h mi so fa v a i l a b i l i t y ,w h i c hn o to n l yi n c r e a s e st h el e a r n i n ge f f i c i e n c yo fN N E b a s e do nt h ep a r a l l e l i s mo fh e u r i s t i co p t i m i z a t i o nm e t h o d s ,b u ta l s oi m p r o v e st h eN N E g e n e r a l i z a t i o nw i t hb i g g e ra m b i g u i t i e sb e c a u s eo ft h eg r e a t e ri n d e p e n d e n c ea m o n gN N Ei n d i v i d u a l s . K e yw o r d s n e u r a ln e t w o r ke n s e m b l e ;s i m u l t a n e o u st r a i n i n g ;i m m u n ea l g o r i t h m ;g e n e r a l i z a t i o n ; a m b i g u i t y 神经网络集成 N N E 自1 9 9 0 年H a n s e n [ 1 3 提 出后,该方法倍受关注并成为神经网络领域的研究 热点.与正则方法[ 2 ] 、网络剪枝法[ 3 3 和N N P A [ 4 3 等 单一神经网络的泛化算法不同,集成无需配置网络 结构,只通过多个网络的组合集成,以较小的计算 代价就可显著改善了系统的泛化能力.K r o p h [ 5 3 通 过理论分析,发现神经网络集成的泛化误差不大于 网络个体泛化误差的平均值,即在各网络泛化误差 不变的情况下,增大差异度可有效降低神经网络集 成的泛化误差,从而提高系统性能. 典型的网络集成分为2 步[ 6 ] 首先独立训练多 个网络子体,然后将网络的输出结论以某种方式结 合,构成网络集成的输出.因此集成个体的差异度 通常由训练集、网络结构和训练算法的差异性与随 机性保证,而网络个体的训练算法主要采用基于 B P 计算的导数型优化方法,有可能产生彼此相似 的个体神经网络,影响集成的泛化性能. 针对上述状况,本文提出基于免疫原理的神经 收稿目期2 0 0 4 1 0 0 2 基金项目国家自然科学基金项目 6 0 3 0 4 0 1 6 作者简介。孟江 1 9 7 7 一 。男,山西省太原市人,博士研究生,从事神经网络与应用、免疫智能算法等方面的研究 E - m a l llb l f i a g 1 6 3 .c o r n 万方数据 第4 期盂江等神经网络集成的免疫学习算法4 8 7 网络免疫学习 N E I L 算法.与单一神经网络权值 学习的免疫算法[ 7 剐的思路不同,N E I L 算法仅需 针对某个单体神经网络进行免疫学习,所得到的多 个收敛结果可分别对应神经网络集成的各个单体 网络,从而实现网络集成的同时训练.N E I L 算法 实现了集成网络单体的并行训练,提高了学习效 率;同时,单体网络独立的权值分布,使得个体间有 较大差异度,进而保证神经网络集成具有良好的泛 化性能. 1 免疫算法步骤 生物免疫系统是一个高效的信息处理系统有 关研究表明,当病菌入侵时,免疫系统首先识别抗 原 a n t i g e n ,并使相应免疫细胞被激活,发生克隆 和细胞超变异反应,通过分泌对应的抗体 a n t i b o d y 将抗原消灭,这就是免疫系统的多样性 识别特性.基于这一特性而产生的免疫算法 I A , 用于求解多峰值函数的优化问题,获得很好的效 果. 免疫算法的一般步骤为[ 9 ] 1 免疫细胞产生生成初始抗体随机产 生多个抗体或从记忆库中提取构成初始群体; 2 抗原抗体相遇分析问题对问题与解 的特性进行分析,设计解的合适表达形式; 3 抗体识别抗原评价抗体采用基于个 体浓度的适应度评价.为保持抗体的多样性,鼓励 高匹配度的抗体的同时,对浓度过高的抗体予以抑 制; 4 抗体繁殖基于上一步的计算结果对抗体 群体进行选择、交叉、变异等遗传操作得到新群体; 5 终止判断成立则结束,否则转第3 步. 与遗传算法相比,免疫算法具有明显的优势 a .在记忆单元基础之上进行操作,保证算法快速 收敛于全局最优解;b .2 类亲和力计算模式,一者 说明了抗体和抗原的关系,即解和目标的匹配程 度,另者表征抗体之间的关系,保证了算法的多样 性. 2N E l L 算法过程 神经网络训练算法,大致有2 种思路基于B P 计算的导数优化和启发式随机优化方法.以遗传算 法为代表的启发方法,已在神经网络单体训练中得 到很好的应用.基于网络单体组合而成的神经网络 集成,近年来由于其卓著的性能倍受青睐,然而目 前较多研究的内容主要集中于多个网络单体的结 合方式,与各网络单体的形成方式2 个方面[ 6 ] .对 于神经网络集成的训练问题少有涉及,一般仍采用 分别训练各个网络单体的串行方法.若集成规模较 大时,无论哪一类单体训练算法都将导致极低的效 率;为此,本文在免疫机理的基础上,提出神经网络 集成的免疫学习的N E I L 算法,流程如下所示. N E I L - A l g o r i t h m N e t s ,丁 其中,N e t s 为M 个神经网络N e t , i 1 ,2 ,⋯, M 构成的集成系统,丁为集成系统的训练数据集. * 参数初始化e p o c h s 为迭代最大次数;p M 为免 疫种群中的抗体数目;P 。为交叉概率,P 。为变 异概率. * 抗体编码将网络单体进行实数编码,并随机生 成p M 个抗体串A b , _ 『一1 ,2 ,⋯,p M 组成初始 抗群A o . * f o r 愚 1 e p o c h s * 亲和力计算对第k 代抗体群A t ,分别计算 A 。与A b 』的亲和力D 』,A b J 与A b ,的亲和力 s | . * 抗群的浓度选择基于浓度的抗体群选择模 式,根据P r 』 D J /G ,以轮盘赌方式进行选 择. * 遗传操作采用2 点交叉方式与高斯变异,通 过亲和力评价选择性能优良的个体,作为下 一代抗群. * 终止判断若连续几次迭代无法改善解群特 性,则跳出循环体. * 训练结束将性能最佳的前M 个抗体解码为网 络单体,组成神经网络集成,完成训练. 2 .1抗体编码 编码操作适用于将问题空间映射为算法空间, 有二进制码和实数编码等方式.前者简明通用,易 于进行遗传操作,但不具备正则性,并破坏了解空 间的拓扑连续性.实数编码为自然正则码,适于高 精度运算,神经网络权值及结构编码多用后者,本 文沿用实数编码方法. 典型的三层前馈网络行一h m 结构,网络节点 依次编号为1 ,2 ,⋯,竹 输入层 ,,l 1 ,⋯,n h 隐 含层 ,咒 1 ,⋯,,z m 输出层 ;连接权叫。表 示由节点i 到节点.『的输出权;阈值b 』为前一层对 节点_ 『的输出阈值,然后依节点i 顺序串联权值与 阈值,构成如图1 的抗体串.其中,q 与%分别为 网络节点和阈值节点存在标识,用于控制网络结 构.当0 。或%取值为1 时该节点存在;否则该节点 被删减. 万方数据 4 8 8 中国矿业大学学报第3 4 卷 E 工[ 三互互] 三] 二互五二] 三I 互丁二互五二工三[ 二互五二E ] 三习臣] 珂1 输入层与 、1 爵不;磊。。1 爵习i 再F 一。丽函簏湎覆■j 隐层权值串4 第1 个节点第H 个节点隐含层闲值 J8 “”“’ 医正五五E 卫五五E E 五互五工卫互五工亚卫困珥1 输出- 层与 、系n z l 鬲积F 一。1 磊n h 葫i 再F 一磊i 言f j 隐层权值串 第个节点第个节点输出层阈值 一⋯⋯1 。 图1 神经网络行一 一m 结构的抗体串组成 \ F i g .1A n t i b o d ye x p r e s s i o ni nt h en e u r a ln e t w o r ko fn - - h D m 2 .2 亲和力计算 免疫算法的亲和力 a f f i n i t y ,与遗传算法的适 应度 f i t n e s s 具有相似性,但不同之处在于I A 的 亲和力是由2 部分构成抗体与抗原的识别亲和 力,与抗体间的相似亲和力,前者标识抗体的适应 性程度,后者标识抗体的多样性程度. N E I L 算法的识别亲和力D 』,经由抗体解码为 网络单体N e t 』,在训练集7 ’中的误差平方和为 y N e t j T .工 , E 』 ∑| | Y T .d 工 I lz /I TI , “7 式中7 ’为训练集;T .工为训练集的输入向量; T .d 工 为目标输出向量.将E ,的最小化问题转化 为最大化模式,有 D j 1 / E 』 c o n s t , 2 式中c o n s t 为大于零的常数,其目的是避免分母为 0 的溢出中断,本文取c o n s t 0 .0 1 . 实数编码的抗体,计算抗体间的相似亲和力难 以采用信息熵形式,改进为欧氏距离形式,即抗体 A b J 与A b ,间的亲和力S ∥为 s ∥ ∑I IA 靠一A ‰I I2 , 3 式中A b 曲,A b i , k 为抗体串A b 』,A b ,的第点部分. 2 .3 浓度选择 抗体群更新策略采用基于免疫机制的抗体间 基于浓度的抑制作用,引入浓度因子调整个体的选 择几率 J ,使浓度过高抗体受到抑制,并保证适 应度高的个体受到重视;若抗体浓度过高,在迭代 过程中容易陷入早熟收敛.具体计算为 P r j D ,/C i , 4 式中G 为抗体浓度.文献[ 1 0 3 给出了信熵浓度、 距离浓度和混合浓度的计算模式,由于抗体为实数 编码,因而本文选择基于距离的浓度公式,即 C i 一厶S i i l a r i t y n , /p M , 5 式中S i m i l a r i t y i ,为相似抗体的个数,由下式给出 s i m i l a r i t y ∥1 i f .1 S z 飞 .S o ’ 6 、Uo 【I l e t W l s e ’ 式中S 。对应于随具体问题而给出的适当常数. 抗体适应度越大,所占浓度越小,则被选中的概率 越大,如此实现了自然免疫系统的浓度调节机制, 也保证了抗体群的多样性. 2 .4 遗传操作 对选择后的抗体群,进行遗传操作1 交叉操 作,采用两点交叉方式,交叉概率为P f .2 高斯变 异,变异概率为P 。;首先将抗体A b j 解码为相应的 网络结构n e t J ,对所有权值组合的向量w 』按式 7 进行变换.3 重新编码为抗体A 功,并依据亲和力, 进行新抗体的评价. /- - - W W 汁√D i N 0 ,1 , 7 式中N O ,1 为高斯算子. 3实例仿真 选用数据集为M e x i c a nH a t 数据集二维函数 生成,如式 8 所示 f 1 0 s i n x £, 8 Z 式中X 服从[ 一兀,兀] 均匀分布;e 为正态分布N O , 1 的随机噪声.训练集取5 0 0 个噪声数据,测试集 取3 0 0 个无噪声数据. 神经网络集成规模选择为1 2 个B P 网络 结 构为1 1 2 1 ;算法参数取e p o c h s 3 5 0 ,P 。 0 .5 , P 。一0 .1 ;利用本文给出的N E I L 学习算法进行集 成训练,最终训练和测试误差曲线如图2 所示.神 经网络集成的训练误差与测试误差随迭代次数呈 现下降趋势,最终稳定于0 .0 3 5 和0 .0 6 ,表明误差 曲线N E I L 算法是有效的. 0 .1 1 0 .0 9 装o .0 7 O .0 5 01 0 02 0 03 0 04 0 0 迭代次数 图2N E I L 算法的训练/测试误差 F i g .2T r a i n i n g /t e s t i n ge r r o ro fN E I La l g o r i t h m 万方数据 第4 期孟江等神经网络集成的免疫学习算法4 8 9 4 结论 提出的基于免疫原理的神经网络集成学习算 法N E I L 保持了随机启发式方法的并行性特点,将 网络单体的串行训练改进为并行训练.仿真结果 表明该算法是有效的,它提高了集成的学习效率. 同时网络个体之间相互独立,具有较大的差异度, 也进一步增强了神经网络集成的泛化精度. 参考文献 [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] H a n s e nIK 。S a l a m o nP .N e u r a | n e t w o r ke n s e m b l e [ J ] .I E E ET r a n s .o nP a t t e r nA n a l y s i sa n dM a c h i n e I n t e l l i g e n c e ,1 9 9 0 ,1 2 1 0 9 9 3 - 1 0 0 1 . W e i g e n dA S R u m e l h a r tDE ,H u b e r m a nBA .G e n e r a l i z a t i o nb yw e i g h t e l i m i n a t i o nw i t ha p p l i c a t i o nt O f o r e c a s t i n g [ A ] .A d v a n c e si nN I P S3 [ c ] .S a nM a t e o M o r g a nK a u f m a n n ,1 9 9 1 . H a s s i b iB ,S t o r kDG ,W o l f fG .O p t i m a lb r a i ns u r g e o na n dg e n e r a ln e t w o r kp r u n i n g [ J ] .P r o c .o fI E E E I n t ’lC o n f .o nN e u r a lN e t w o r k s ,1 9 9 3 1 2 9 3 2 9 9 . M e n gJ ,W a n gY C ,L i uT .N e u r a ln e t w o r kp r u n i n g a l g o r i t h mw i t hp e n a l t yO B Sp r o c e s s [ J ] .J o u r n a lo f C h i n aU n i v e r s i t yo fM i n i n g &T e c h n o l o g y E n g l i s h E d i t i o n ,2 0 0 5 ,1 5 1 t5 2 5 5 .。 K r o g hA ,V e d e l s b yJ .N e u r a ln e t w o r ke n s e m b l e s , c r o s sv a l i d a t i o n ,a n da c t i v el e a r n i n g [ A ] .A d v a n c e s i nN I P S7 [ c ] .C a m b r i d g e M I TP r e s s ,1 9 9 5 . 周志华,陈世福.神经网络集成[ J ] .计算机学报, 2 0 0 2 ,2 5 1 l 一8 . Z h o uZH ,C h e nSF .N e u r a lN e t w o r kE n s e m b l e F J ] . C h i n e s eJ o u r n a lo fC o m p u t e r s ,2 0 0 2 ,2 5 1 1 - 8 . E T ] 周伟良,何鲲,首先彬,等.基于一种免疫遗传算法 的B P 网络设计F J ] .安徽大学学报 自然科学版 , 1 9 9 9 ,2 3 1 6 3 6 6 。 Z h o uWL ,H eK ,C a oXB ,e ta 1 .D e s i g no fB P n e t w o r kb a s e do ni m m u n eg e n e t i ca l g o r i t h m [ J ] . J o u r n a lo f A n h u i U n i v e r s i t y N a t u r a lS c i e n c e E d i t i o n ,1 9 9 9 ,2 3 1 6 3 6 6 . [ 8 3 郝勇娜,梁鸿生,柴继河,等.基于免疫算法的B P 网 络权值设计[ J ] .昆明理工大学学报,2 0 0 4 ,2 9 2 6 5 6 7 . H a oYN ,L i a n gHS ,C h a iJH ,e ta 1 .D e s i g no ft h e w e i g h t so fB PN e t w o r k sb a s e do ni m m u n ea l g o r i t h m [ J ] .J o u r n a lo fK u n m i n gU n i v e r s i t yo fS c i e n c e T e c h n o l o g y S c i e n c e8 LT e c h n o l o g y ,2 0 0 4 ,2 9 2 6 5 - 6 7 . [ 9 ] 葛红,毛宗源.免疫算法的改进[ J ] .计算机工程与 应用,2 0 0 2 ,1 4 4 7 - 4 9 . G eH ,M a oZY .I m p r o v e m e n tf o ri m m u n ea l g o r i t h m [ J ] .C o m p u t e rE n g i n e e r i n g A p p l i c a t i o n s ,2 0 0 2 , 1 4 4 7 - 4 9 . [ 1 0 ] 郑日荣,毛宗源,罗欣贤.改进人工免疫算法的分析 研究[ J ] .计算机工程与应用,2 0 0 3 ,3 4 3 5 3 7 . Z h e n gRR ,M a oZY L u oXX .As t u d yo n m o d i f i e da r t i f i c i a li m m u n ea l g o r i t h m s [ J ] .C o m p u t e r E n g i n e e r i n g A p p l i c a t i o n s ,2 0 0 3 ,3 4 3 5 - 3 7 . 责任编辑姚志昌 万方数据
展开阅读全文