消除极小极大模块网络冗余的修剪方法

文档序号:6420625阅读:280来源:国知局
专利名称:消除极小极大模块网络冗余的修剪方法
技术领域
本发明涉及一种消除极小极大模块网络冗余的修剪方法,用于智能信息处理技术领域。
背景技术
极小极大模块网络(简称M3网络)是一种新型的模式分类器(B.L.Lu andM.Ito.“Task Decomposition and Module Combination Based on ClassRelationsA Modular Neural Network for Pattern Classification”.IEEETrans.Neural Networks,vol.10,no.5,pp.1244-1256,1999.“基于类关系的问题分解和模块结合一种用于模式分类的模块化神经网络”)。网络将K类问题分解成多个二类问题,每个二类问题由一个M3网络进行训练。每个M3网络由分类模块、MIN单元和MAX单元组成,其中分类模块可以是某种简单的判别器,如线性分类器、高斯零交叉函数分类器或者感知机等。
M3网络在模式分类上具有分类精度高、训练速度快和大规模并行性的特点,已经被应用于文本分类、工业故障检测、脑信号分类、词性标注等。但是当将每个二类问题分解成线性可分问题时,M3网络存在一个冗余问题,特别是在训练样本数较大情况下,M3网络存在大量的冗余模块。大量冗余模块的存在使得M3网络在大规模训练样本的项目应用中受到限制。另外,具有增量学习能力的M3网络能够保存原有知识并且不断学习新的知识,其核心问题是如何对网络结构进行优化,即如何消除冗余问题。因此寻找有效的消除冗余方法的修剪方法对于将M3网络应用于大规模问题具有重要的意义。在进一步的检索中,尚未发现任何关于M3网络去冗余的修剪方法的文献的报道。

发明内容
本发明的目的在于针对现有技术中存在的不足,提出一种消除极小极大模块网络冗余的修剪方法,称之为反向寻找方法(Back Searching,简称BS),使其达到消除极小极大模块网络的冗余模块的目的,从而降低极小极大模块网络的空间复杂度。
本发明是通过以下技术方案实现的,本发明利用训练样本的网络输出值来寻找网络中的冗余模块,即由输出值反向地寻找出具有相同输出值的输入模块,这些模块是非冗余的,将其作以标记,训练完毕后没有被标记的模块则是冗余模块,将其删除。
为了更好描述本发明的内容,给出以下定义设X是M3网络的输入空间,MIN表示M3网络中的一个MIN单元,Ui是该MIN单元中的第i个分类模块,{MIN/Ui}表示去掉Ui后的MIN单元,T是该MIN单元的训练样本集。
定义1(冗余模块)若对任意x∈X,有Ui(x)≥{MIN/Ui}(x),则称Ui是MIN单元中的冗余模块。
定义2(非冗余模块)若存在x∈X,使得Ui(x)<{MIN/Ui}(x),则称Ui是MIN单元中的非冗余模块。
定义3(可允许冗余模块)若对任意x∈T,有Ui(x)≥{MIN/Ui}(x),则称Ui是MIN单元中的可允许冗余模块。
定义4(去冗余度)被去除的冗余模块数和全部模块数的比值称为去冗余度。
去冗余度 以下对本发明方法作进一步的说明,步骤如下1.首先建立M3网络,记类别Ci和类别Cj的训练样本数分别为Li和Lj,则M3网络包含Li个MIN单元和一个MAX单元,其中每个MIN单元包含Lj个分类模块。
2.对每个MINi(i=1,2,…,N)作如下操作
(1)标记MINi单元的所有分类模块为0;(2)记MINi单元的训练样本集为Ti={ai,b1,b2,…,bM},其中ai∈Ci,b1,b2,…,bM∈Cj;(3)对每个训练样本x∈Ti,作如下操作a)计算MINi单元的输出值y;b)反向寻找输出值亦为y的输入模块Ur;c)若有Ur(x)<{MINi/Ur}(x),则Ur分类模块标记为1;否则,继续;(4)删除标记为0的分类模块;M3网络有N个MIN单元,而每个MIN单元的训练样本为(M+1)个,故BS方法的计算复杂度为O(N2)。
本发明提出了一种消除极小极大模块网络冗余的修剪方法,该方法仅仅需要利用训练样本的网络输出值就可以消除网络的冗余模块。该修剪方法在网络训练样本数较大的时候,可以大弧度地降低网络模块的规模。因此可以大大降低网络的空间规模,从而提高网络的运算速度。


图1反向寻找方法去冗余的一个例子(线性M3网络)图2双螺旋问题及其去冗余图例具体实施方式
本发明的目的是对M3网络的冗余进行修剪,故首先通过训练样本建立M3网络,然后采用反向寻找方法进行修剪,修剪后的M3网络再用于模式分类。修剪后的M3网络具有比修剪前的M3网络更好的分类性能。
实施例1如图1所示,是BS方法去冗余(线性M3网络)的一个示例。“□”表示第i类的样本,“*”表示第j类的样本,直线是由一个i类样本和一个j类样本训练得到的线性判别线,图1(a)存在两条冗余线,图1(b)显示BS方法将冗余去掉的结果,图1(c)是去冗余前M3网络的全部模块及其分类区域,图1(d)是去冗余后M3网络的模块及其分类区域,对比图1(c)和图1(d)可以看出,去冗余前和去冗余后的M3网络的分类区域是完全相同的。根据定义4,本例的去冗余度为37.5%。
实施例2首先选择双螺旋问题和3种UCI数据库对BS去冗余方法进行实验,然后将该去冗余方法应用到实际工业故障检测项目中。
1双螺旋(Two-spirals)实验双螺旋问题是模式分类器的常用测试问题。本例采用线性M3网络进行网络去冗余的实验,训练样本个数和测试样本个数均为192(测试样本和训练样本不重复),图2(a)显示双螺旋问题的训练样本,图2(b)显示M3网络去冗余前的分类区域,图2(c)显示M3网络去冗余后的分类区域,可以看出图2(b)和图2(d)的分类区域完全相同,说明BS方法去冗余后保留了M3网络的分类性能,而分类模块数和测试时间则大大减少(见表1)。
2UCI数据库实验1)Iris Plants Database实验Iris Plants数据库包含3类数据,每类50个样本,样本的属性个数为4,本例将每类的前25个作为训练样本,后25个作为测试样本进行实验。实验结果见表1。
2)Image Segmentation Data实验Image Segmentation数据包含7类数据,样本的属性个数为19,训练样本数210,测试样本数2100。实验结果见表1和表2。
3)Optical Recognition of Handwritten Digits实验该数据库包含10类数据,样本的属性个数为64,训练样本数3823,测试样本数1797。实验结果见表1。
表1。线性M3网络的BS方法去冗余实验结果注时间单位为(ms),所有时间均为10次实验的均值。
去冗余前 去冗余后时间比去冗名称 测试时间 测试正确测试时间 测试正确 模块数模块数余度t1率 t2率two-spirals 27552 440 100% 4069 60100% 85% 12.50%iris 3750 1594.67% 614 2 94.67% 83% 13.33%image37800 9764 87.67% 8812 2123 87.62% 76% 21.74%optdigits19691545 1637153 98.00% 16679524 1457175 98.00% 15% 89.01%3工业故障检测实验某工业生产流水线上的平板玻璃图像有合格和不合格两类,首先将图像预处理成64×64=4096维的向量,再将训练样本对M3网络进行训练,然后用训练后的M3网络进行图像分类,BS方法则应用于对训练后的M3网络进行去冗余。实验一和实验二的训练样本数分别为70/23和400/60,测试样本数分别为26/23和100/23(a/b表示a个合格样本,b个不合格样本)。BS方法去冗余实验结果见表2。
表2。线性M3网络的BS方法去冗余实验结果注时间单位为(ms),所有时间均为10次实验的均值。
去冗余前 去冗余后时间比名称测试时测试正 测试时测试正 去冗余度 模块数模块数间t1 确率间t2 确率实验一 32202083 100% 23521762 100% 26% 84.59%实验二 48000 42581 97.56% 20060 22722 97.56% 58% 53.36%
权利要求
1.一种消除极小极大模块网络冗余的修剪方法,其特征在于,利用训练样本的网络输出值来寻找网络中的冗余模块,即由输出值反向地寻找出具有相同输出值的输入模块,这些模块是非冗余的,将其作以标记,训练完毕后没有被标记的模块则是冗余模块,将其删除。
2.根据权利要求1所述的消除极小极大模块网络冗余的修剪方法,其特征是,以下对方法作进一步的说明,步骤如下1)首先建立M3网络,记类别Ci和类别Cj的训练样本数分别为Li和Lj,则M3网络包含Li个MIN单元和一个MAX单元,其中每个MIN单元包含Lj个分类模块;2)对每个MINi(i=1,2,…,N)作如下操作(1)标记MINi单元的所有分类模块为0;(2)记MINi单元的训练样本集为Ti={ai,b1,b2,…,bM},其中ai∈Ci,b1,b2,…,bM∈Cj;(3)对每个训练样本x∈Ti,作如下操作a)计算MINi单元的输出值y;b)反向寻找输出值亦为y的输入模块Ur;c)若有Ur(x)<{MINi/Ur}(x),则Ur分类模块标记为1;否则,继续;(4)删除标记为0的分类模块;其中x是M3网络的输入空间,MIN表示M3网络中的一个MIN单元,Ui是该MIN单元中的第i个分类模块,{MIN/Ui}表示去掉Ui后的MIN单元,T是该MIN单元的训练样本集。
全文摘要
一种用于智能信息处理技术领域的消除极小极大模块网络冗余的修剪方法,利用训练样本的网络输出值来寻找网络中的冗余模块,即由输出值反向地寻找出具有相同输出值的输入模块,这些模块是非冗余的,将其作以标记,训练完毕后没有被标记的模块则是冗余模块,将其删除。本发明提出了一种消除极小极大模块网络冗余的修剪方法,该方法仅仅需要利用训练样本的网络输出值就可以消除网络的冗余模块。该修剪方法在网络训练样本数较大的时候,可以大弧度地降低网络模块的规模。因此可以大大降低网络的空间规模,从而提高网络的运算速度。
文档编号G06N3/02GK1588441SQ20041006620
公开日2005年3月2日 申请日期2004年9月9日 优先权日2004年9月9日
发明者连惠城, 吕宝粮 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1