编号:13-1955一般模糊极小极大神经网络的改进研究高志文,金智,李风军†(宁夏大学数学计算机学院,宁夏银川750021)摘要:针对一般模糊极小极大神经网络在处理重叠超盒和包含超盒时,出现新的类而标识为未知类,进而无法达到聚类预期效果的问题,本文提出了通过超盒的收缩过程来加入新类或删除一个已存在类的一般模糊极小极大神经网络,它继承了一般模糊极小极大神经网络的优点,并且避免了一般模糊极小极大神经网络在分类时的随意性,弥补了一般模糊极小极大神经网络无法达到聚类预期效果的目的,以及提高了模式分类的准确性和高效性.最后,通过实例验证了该方法实用有效.关键词:一般模糊极小极大神经网络;聚类;超盒扩张;收缩过程中图分类号:TP183文献标识码:AResearchonimprovedgeneralfuzzymin-maxneuralnetworkGAOZhi-wen,JINZhi,LIFeng-jun†(CollegeofMathematicsandComputer,Ningxiauniversity,Ningxiayinchuan750021,China)Abstract:Throughaddingnewclassordeletinganexistingclassofgeneralfuzzymin-maxneuralnetwork(GFMN),anewGFMNisproposed.ItinheritsthemeritoftheGFMN.AnewGFMNavoidsrandomnessofthetraditionalGFMNinclassificationandmakesupthepurposeofthetraditionalGFMNcan'treachclusteringthedesiredeffect.Atthesametime,itimprovestheaccuracyandefficiencyinthepatternclassification.Theexperimentalresultsdemonstratetheeffectivenessofthisnewapproach.Keywords:GFMN;clustering;hyperboxexpansion;contractionprocess1引言我们知道,一般模糊极小极大神经网络(generalfuzzymin-maxneuralnetwork,GFMN)学习样本数据时是通过网络自动调整超盒的大小来消除重叠区的[1-2].GFMN的主要优点是可以同时处理被标记数据和未被标记数据[3].但该网络存在一定不足,不能够完全聚类和自适应在线学习,其训练样本仍然需要部分标识出来;当遇到新的类时,则只能将其全部归收稿日期:xxxx-xx-xx;收修改稿日期:xxxx-xx-xx.†通讯作者.E-mail:fjli@nxu.edu.cn基金项目:国家自然科学基金项目(61063020,11261042).为未知的类,进而无法达到聚类的预期效果.本文提出改进后的GFMN正好填补了这一不足.在学习实验样本过程中,网络试图包含这个实验样本于已存在的同一类的超盒中,那么这个过程被称为超盒扩张.若超盒扩张不存在,则网络加入一个新的超盒,并且属于同一类的超盒的聚合形成一个完整的类.通过修改其结构和学习算法,实现了加入新类或删除一个已存在类功能的GFMN,解决了原有算法中存在的不足之处.最后,以对企业资信评估分析为例来验证本文提出的结构和学习算法的有效性.2改进的GFMN模型与拓扑结构2.1重叠模型在解决模式分类问题中,我们首先利用GFMN处理训练标记样本.图1描述了一种情况:当两个超盒存在重叠,为了消除重叠,超盒则需要收缩.图1(b)是收缩过程的结果.记B,C各自属于类1和类2的隶属度为1u,2u.观察B,C隶属度的变化:收缩过程前:12Bu和101Bu11Cu和102Cu收缩过程后:11Bu和102Bu12Cu和101Cu图1重叠问题B,C各自属于类1和类2的隶属度发生变化,说明收缩过程同时也导致了训练误差的存在,同样非模糊区域(即灰色区域)也受到干扰.针对图1类型的重叠,改进后的GFMN在训练过程中加入重叠补偿神经元,使网络的准确性更高.重叠补偿神经元是一个超盒,等同于属于不同类的两个超盒间的重叠部分.重叠补偿神经元产生对应于不同类的两个输出值(如图2(a)).当测试集数据落入重叠区域,重叠补偿神经元被激活,激活函数为:nihipphijjhjjavwanbTdjijip1,max111,,WVa其中2,1,pdpj是类1和类2的输出值,ha是输入数据,jjWV,是重叠补偿神经元的最小值和最大值,jnjjjjnjjjWV.xT为阈值函数:0001xxxT当测试集数据落入重叠区域外,为了避免方程(1)被激活,则有:10111jjjbbxbTjjhjbWVa,,是网络的隶属度函数[4]:,1,,1minmin,,1hijijihinijjhjaVfWafbWVa其中V,W是jbbb,,,21节点层中超盒的极小和极大值.,xf是双参数门限斜坡函数:010101,xxxxxf是模糊控制参数[5].图2重叠补偿神经元和包含补偿神经元图3(a)描述了超盒包含问题,类2完全包含于类1.GFMN还是通过超盒收缩解决此问题.如图3(b),D在类1中隶属度的变化,收缩过程前11Du,收缩过程后101Du,收缩过程也导致了分类错误.图4(a)描述了超盒部分包含问题,收缩后如图4(b).部分包含类2的类1的最大值发生改变,B点的隶属度也发生改变.非模糊区域也受到影响.图3全包含问题针对图中的重叠,改进后的GFMN加入包含补偿神经元.它处理部分包含和全包含问题,等同于属于不同类的两个超盒间的重叠部分.当测试集数据落入其区域时,包含补偿神经元被激活.其激活函数为:1,,1WVahjjbTe其中,je为包含补偿神经元的输出值,WV,为包含补偿神经元的最小最大值,ha为输入数据,xT为阈值函数.2.2混合模型混合模式用来处理含有标记样本和未标记样本的混合样本的训练数据,这种模型不存在于GFMN.在模糊模型学习中,改进的GFMN从标记训练数据的先验知识下标记未标记的数据.2.1中的分析在混合模型对于标记训练集样本是有效的.GFMN不允许标记超盒和未标记超盒的重叠,改进后GFMN允许这种重叠的存在.另外,我们给未标记超盒一个类标签.当两个未标记超盒存在重叠,改进后的GFMN还允许一个超盒的收缩过程.图4部分包含问题2.3聚类模型在分类模型中,所有的训练集样本是未标记的.GFMN会沿着最小重叠那一维度收缩重叠超盒.在改进后的GFMN对于未标记超盒间的重叠也使用同样的收缩方法.但是与GFMN相比较,超盒扩张发生变化.如果超盒中某点的隶属度大于零,且平均扩张小于给定的一个最大值,则改进后的GFMN可以利用超盒扩张去包含一个训练样本.当训练一个未标记样本,网络试图包含它于已存在的标记超盒或未标记超盒,否则建立一个新的类标记的超盒.2.4改进的GFMN的拓扑结构改进的GFMN的输入模式是一个区间形式的n维模糊量,即一个n维超盒.同时输出端增加了一个0C类,对应未标明类型的输入数据,在加入补偿神经元后,可以添加一个新类或者删除一个已存在类.网络的具体拓扑结构如图5:图5改进的GFMN的拓扑结构hnhaa1:输入数据naa1:输入节点jbb1:超盒节点kCC0:类节点pdd1:重叠补偿超盒节点qee1:包含补偿超盒节点koo0:总体补偿节点U,Y,Z:连接矩阵3改进的GFMN学习算法当网络学习训练样本时,它将会包含样本在已存在类的超盒中,已存在的超盒大小不能超过给定的最大值.否则,网络将加入新的超盒,为避免一类中出现模糊性,GFMN必须加入重叠检测,,若重叠存在,则GFMN将执行收缩过程,所以GFMN学习算法主要包括三步:1)超盒扩张;2)重叠检测;3)超盒收缩.对于超盒,我们要检测其是否存在超盒扩张.重叠检测和超盒收缩则是对初步建立的超盒节点层进行调整,主要根据相应规则修改超盒极小端和极大端的位置,使其改变覆盖的范围[5].我们现改进原有学习算法中数据处理部分以及重叠检测.具体如下:假设},{jhCa是训练集样本,},{jjCb是类jC中的超盒,max是超盒允许的最大扩张,超盒的初始化haWV11,未标记数据由0C类表示.对于以下步骤1和步骤2,反复训练所有训练集样本.STEP1:数据处理a)找到一个超盒jjCb,,使得ijCC或者0CCj,并且满足下面以下条件:(1)nihijihijiavawn1max,min,max1(2)jb不与重叠补偿神经元或者包含补偿神经元相关联.(3)如果0CCi或0CCj,则0j,j是隶属于超盒jb的隶属度.调整超盒jb:niawwavvhioldjinewjihinewjinewji,2,1,),max(),min(b)如果满足条件的jb找不到,则创建一个新的超盒并归为iC类.超盒的极小点和极大点初始化hjjaWV,转到STEP1.STEP2:重叠检测假设超盒jb在STEP1已扩张.如果0CCj和0CCk,则进行重叠检测和收缩检测(TEST2).否则进行下一轮TEST1学习.TEST1a)独立测试:如果jijikikiwvwv或者niwvwvkikijiji,,2,1,,则jkbb,是独立的.否则进行包含测试.b)包含测试:如果kijijikiwwvv或者niwwvvjikikiji,2,1,,则:CASE1:如果0CCj,则kjCC,并返回STEP1.CASE2:如果0CCk,则jkCC,并返回STEP1.CASE3:如果0CCj和0CCk,则创建一个包含补偿神经元,其超盒极小值,极大值为:ni,2,1,,min,,max并返回STEP1.否则超盒不会面对包含问题,则进行step(c).c)重叠补偿神经元的创建:CASE1:如果0CCj,则kjCC,并返回STEP1.CASE2:如果0CCk,则jkCC,并返回STEP1.CASE3:如果0CCj和0CCk,则创建一个重叠补偿神经元,其超盒极小值,极大值为:ni返回STEP1.TEST2:测试遵循最小扰动原则.这个测试会找到最小重叠的那一维度,并且进行收缩过程.假设的是在某一维度上的重叠.a)重叠测试:假设起始重叠为1oldd,测试以下情况:CASE1:kijikijiwwvvoldkijinewdvwd,minCASE2:jikijikiwwvvoldjikinewdvwd,minCASE3:kijijikiwwvv或者jikikijiwwvvoldkijijikinewdvwvwd,,minmin如果重叠存在(以上三种情况有一个是真的),并且0oldnewdd,则i.如果不存在重叠,则1,并返回STEP1.b)收缩:如果重叠存在,则用一下条件收缩超盒:CASE1:kjkjwwvv2oldjoldknewjnewkwvwvCASE2:jkjkwwvv2oldkoldjnewjnewkwvwvCASE3:kjjkwwvv若kjjkvwvw,则oldknewjwv.