正在加载图片...
第2期 王攀,等:模块化神经网络的Bayes子网集结新算法研究 ·81· 1)可采用与许多研究者类似的方法:将样本集 分母为零譬如: 顺序分成K(子网个数)份(这样做有一个前提,即 (9= 1/sse (e (4) 样本集是随机产生的),然后在每份子样本集上训练 一个子网,最后按投票方式组合各个子网输出.这样 /sse 式中:sse,(g表示第j个子网在训练集上以ε为误 先分后合,一方面可以降低子网的学习难度,缩短必 差限的平方误差和.显然,ss,(g越小4()越大; 要的训练时间,另一方面子网间协作的意义也社会 反之亦然.与式(2)定义比较,这种定义更为精细一 化了,如果说算法在未改进前,子网之间与其说是协 作,不如说是竞争:类似于人类社会中的招投标(每 些.另外,由于该表达式进行了归一化,因此是相对 逼近正确率 个候选者都能独立完成该任务,只是候选者的规模、 处理能力各不相同):每个子网相当于一个候选者; 因此,改进后的Bayes模块化学习算法可描述 为 子网间的连接权值对应于某个评审委员会对各个候 输入参数:训练样本集TrainSet, 选者的打分;子网输出的加权综合其实是对所有独 测试样本集TestSet, 立候选者处理能力的一种兼收并蓄,扬长补短.在改 子网训练参数,包括学习率、最大迭 进之后,各个子网面对的不再是同一任务,而只是任 代次数和训练误差限ε 务的某一部分,因此协作成为必要,这时子网的综合 输出参数:组合模块化神经网络模型,包括所有 相应于任务的还原 子网的内部权值向量以及子网的输出投票权重 2)将测试误差限也进行等级划分.划分方法为: 0=1,2,, 取当前训练误差限的下一级误差限为这一步的测试 算法: 误差限.比方说,若训练误差限等级设置为100£, PROCEDURE 10e,5e,e,而当前的训练误差限为100e,那么在测试 BEGIN 时,就以10e为误差限,并计算这一水平(109下的 1)构造K个不同结构的子网,并设定各个子网 逼近正确率.依此类推,只是在到达最后一级训练误 的先验投票权重为w,j=1,2,K:将训练样本 差限时,测试误差限保持上一级不变,也就是与当前 集TrainSet顺序分成K个子样本集,记为I(j= 训练误差限一致这样做,显然可以减少大误差限等 12,0 级时式)分母为零的几率,而且这种渐进学习更符 2)由大到小设置S个等级的训练均方误差限 合人类的理性化行为, e,i=1,2,S(S一般取3~5);从而测试误差限 3)对于上述的第4)点缺陷,引入一种模糊机 可定,设为g,i=1,2,S 制,模糊化“ε水平逼近正确”的概念,即让超出e一 3)F0Ri=1:S 定范围的平方测试误差都算作ε水平逼近正确.用 在训练集T)j=1,2,,上以e为均方误 数学语言描述,即:设某一个测试样本的平方测试误 差限训练第j个子网直至收敛:在测试集上计算各 差为se,计算该误差对模糊集合“ε水平逼近正确” 子网的精确(或模糊)g:水平逼近正确率4(g), 的隶属度,设为mb,若mb>0.5,则认为这一误差 j=1,2,…K:根据w51和@,(g计算各子网的后 可以算作“ε水平逼近正确”.这里存在一个模糊隶 验投票权重如下: 属度选择的问题.因为当se<£,那么可认为该误差 wi =wia(g0.j=1,2,K. 对模糊集合“ε水平逼近正确”的隶属度为1;当se> Pe(P为某一常数),那么就认为该误差对模糊集合 IF∑1,(g)=0,THEN w=w “e水平逼近正确”的隶属度为0;否则隶属度随s EL SE 增大而减小,在(0,1)开区间上取值.因此文中选用 wi=wtg sigmoid隶属度函数: sig(x:a.d=+expl-a(x- 3) END 式中:a为控制交叉点x=c处的斜度.这里,取,c为 FOR j=1:K 5.5倍的当前测试误差限. IF w<0.1/K,THENw=0 4)对£水平逼近正确率重新定义以避免式(1) END 1994-2009 China Academic Journal Electronic Publishing House.All rights reserved http://www.cnki.net1) 可采用与许多研究者类似的方法 :将样本集 顺序分成 K(子网个数) 份 (这样做有一个前提 ,即 样本集是随机产生的) ,然后在每份子样本集上训练 一个子网 ,最后按投票方式组合各个子网输出. 这样 先分后合 ,一方面可以降低子网的学习难度 ,缩短必 要的训练时间 ;另一方面子网间协作的意义也社会 化了. 如果说算法在未改进前 ,子网之间与其说是协 作 ,不如说是竞争 :类似于人类社会中的招投标 (每 个候选者都能独立完成该任务 ,只是候选者的规模、 处理能力各不相同) :每个子网相当于一个候选者 ; 子网间的连接权值对应于某个评审委员会对各个候 选者的打分 ;子网输出的加权综合其实是对所有独 立候选者处理能力的一种兼收并蓄 ,扬长补短. 在改 进之后 ,各个子网面对的不再是同一任务 ,而只是任 务的某一部分 ,因此协作成为必要 ,这时子网的综合 相应于任务的还原. 2) 将测试误差限也进行等级划分. 划分方法为 : 取当前训练误差限的下一级误差限为这一步的测试 误差限. 比方说 ,若训练误差限等级设置为 100ε, 10ε,5ε,ε,而当前的训练误差限为 100ε,那么在测试 时 ,就以 10ε为误差限 ,并计算这一水平 (10ε) 下的 逼近正确率. 依此类推 ,只是在到达最后一级训练误 差限时 ,测试误差限保持上一级不变 ,也就是与当前 训练误差限一致. 这样做 ,显然可以减少大误差限等 级时式(1) 分母为零的几率 ,而且这种渐进学习更符 合人类的理性化行为. 3) 对于上述的第 4) 点缺陷 , 引入一种模糊机 制 ,模糊化“ε水平逼近正确”的概念 ,即让超出ε一 定范围的平方测试误差都算作ε水平逼近正确. 用 数学语言描述 ,即 :设某一个测试样本的平方测试误 差为 se ,计算该误差对模糊集合“ε水平逼近正确” 的隶属度 ,设为 mb ,若 mb > 015 ,则认为这一误差 可以算作“ε水平逼近正确”. 这里存在一个模糊隶 属度选择的问题. 因为当 se <ε,那么可认为该误差 对模糊集合“ε水平逼近正确”的隶属度为 1 ;当 se > Pε( P 为某一常数) ,那么就认为该误差对模糊集合 “ε水平逼近正确”的隶属度为 0 ;否则隶属度随 se 增大而减小 ,在(0 ,1) 开区间上取值. 因此文中选用 sigmoid 隶属度函数 : sig ( x ; a , c) = 1 1 + exp [ - a( x - c) ] . (3) 式中 : a 为控制交叉点 x = c 处的斜度. 这里 ,取 , c 为 5. 5 倍的当前测试误差限. 4) 对ε水平逼近正确率重新定义以避免式 (1) 分母为零. 譬如 : ωj (ε) = 1/ ssej (ε) ∑ K k =1 1/ ssek (ε) (4) 式中 :ssej (ε) 表示第 j 个子网在训练集上以ε为误 差限的平方误差和. 显然 ,ssej (ε) 越小ωj (ε) 越大 ; 反之亦然. 与式(2) 定义比较 ,这种定义更为精细一 些. 另外 ,由于该表达式进行了归一化 ,因此是相对 逼近正确率. 因此 ,改进后的 Bayes 模块化学习算法可描述 为 : 输入参数 :训练样本集 TrainSet , 测试样本集 TestSet , 子网训练参数 ,包括学习率、最大迭 代次数和训练误差限ε. 输出参数 :组合模块化神经网络模型 ,包括所有 子网的内部权值向量以及子网的输出投票权重 wj ( j = 1 ,2 , …, K) . 算法 : PROCEDURE BEGIN 1) 构造 K 个不同结构的子网 ,并设定各个子网 的先验投票权重为 w 0 j , j = 1 , 2 , …, K;将训练样本 集 TrainSet 顺序分成 K 个子样本集 ,记为 Tj ( j = 1 ,2 , …, K) . 2) 由大到小设置 S 个等级的训练均方误差限 ei , i = 1 ,2 , …, S ( S 一般取 3~5) ;从而测试误差限 可定 ,设为 gi , i = 1 ,2 , …, S . 3) FOR i = 1 : S 在训练集 Tj ( j = 1 , 2 , …, K) 上以 ei 为均方误 差限训练第 j 个子网直至收敛;在测试集上计算各 子网的精确 (或模糊) gi 水平逼近正确率ωj ( gi ) , j = 1 ,2 , …, K;根据 w i - 1 j 和ωj ( gi) 计算各子网的后 验投票权重如下 : w i j = w i- 1 j ωj ( gi) , j = 1 ,2 , …, K. IF ∑ K j = 1 w i- 1 j ωj ( gi) = 0 , T HEN w i j = w i- 1 j ELSE w i j = w i- 1 j ωj ( gi) ∑ K k =1 w i- 1 k ωk ( gi) END FOR j = 1 : K IF w i j < 0. 1/ K ,T HEN w i j = 0 END 第 2 期 王 攀 ,等 :模块化神经网络的 Bayes 子网集结新算法研究 ·81 · © 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有