基于免疫抗体网络的模式识别方法

文档序号:6483550阅读:203来源:国知局
专利名称:基于免疫抗体网络的模式识别方法
技术领域
本发明涉及一种能快速、准确对事物进行分类或模式识别的方法,属识别技术领域。
背景技术
模式识别在很多科学和技术领域得到了广泛的重视,推动了人工智能系统的发展,扩大 了计算机应用的可能。 一般把通过对具体个别事物进行观测所得的具体时间和空间分布的信 息称为模式,把模式所属的类别或同类中模式的总体称为模式类。
人工免疫系统是一种基于理论生物学启发而来的计算范式,它借鉴了一些免疫系统的 功能、原理和模型用于复杂问题的解决。人工免疫系统在信息安全、模式识别、数据挖掘和 故障诊断等方面得到了许多研究和应用,取得了较好的效果。但是,目前人工免疫算法大多 存在算法复杂、人工设置参数较多、需要不断进行调整等问题。

发明内容
本发明的目的是克服已有技术之缺陷而提供一种算法简便、准确率高的基于免疫抗体网 络的模式识别方法。
本发明所述问题是以下述技术方案实现的
一种基于免疫抗体网络的模式识别方法。免疫抗体网络进行模式识别前,需根据用户的 训练样本数据对免疫抗体网络进行训练,训练后的免疫抗体网络即可应用于解决模式识别问 题,免疫抗体网络的训练过程是-
随机抽取一定数目的各类训练样本,生成免疫抗体网络中的初始抗体,完成免疫抗体 网络的初始化;
按照顺序或随机将所有训练样本作为输入抗原,输入到免疫抗体网络,免疫抗体网络中 的抗体,根据抗体生成算法对输入抗原进行学习和记忆,提取各类训练样本数据的模式特征; 反复训练免疫抗体网络,当免疫抗体网络连续两次训练的结果一致时(即连续的两次 训练,免疫抗体网络中各类抗体的数目没有发生变化),免疫抗体网络训练终止。
上述基于免疫抗体网络的模式识别方法,所述免疫抗体网络的初始化的方法是 用户给定的训练样本一般用n维的实数向量来表示,把训练样本作为抗原,即用n维的实数向量表示抗原,如用n维实数向量力^来表示了第J个抗原
々,(《"g卢…,、J 相应地,免疫抗体网络中的抗体,用(n+2)维的实数向量来表示,如用(n+2)维实数向量 j&表示了免疫抗体网络中的第i个抗体
,=(t;,c,,h."a)
其中,r,是抗体j/v所属的类别信息,即抗体J&能够识别的抗原的类别;G是抗体力^
的浓度,大体表示抗体應能够识别的抗原的数量的多少,瓶; 應。为抗体他的属性信息,
表示抗体模式特征;
设抗原(既训练样本)的分类的类别数为m,每类抗原抽取的数目是k,则免疫抗体网 络初始化过程中,初始抗体的生成的方法是根据每一个随机抽取的抗原的类别和属性信息, 分别确定一个初始抗体的类别信息和属性信息,并且所有初始抗体的浓度取值为零。故此, 初始化后的免疫抗体网络,共计包含有mXk个初始抗体,其中m是抗原的分类的类别数,
k是每类抗体的初始设定数目。每个初始抗体的类别信息r,,与对应随机抽取的、生成该初
始抗体的抗原的类别一致,其属性信息也与对应随机抽取的、生成该初始抗体的抗原一致, 所有初始抗体的浓度初始值G均取零。所述各类初始抗体数目k,根据分类识别问题的难易 程度(同一个类别的不同个体之间特征值的波动和不同类别的样本特征值之间的差异)来确 定难度越高,各类初始抗体数目设置的越大, 一般每个类别的抗体数目k,可取值为10至 30。
上述基于免疫抗体网络的模式识别方法,所述免疫抗体网络的训练方法是按照顺序或 随机选取一个训练样本作为抗原输入到免疫抗体网络,称为抗原提呈,免疫抗体网络中的抗 体,根据抗体生成算法,对提呈抗原进行学习和记忆,直至所有训练样本(抗原)提呈输入 完毕,这一过程称为完成了一次训练。对免疫抗体网络进行多次训练,当连续两次训练结果 一致时,即连续的两次训练,免疫抗体网络中各类抗体的数目不再发生变化时,则训练终止。
上述基于免疫抗体网络的模式识别方法,所述抗体生成算法是
定义
① 相似度描述两个样本之间的相似或相近的程度,常以某种距离作为相似度的测 量标准,如常用的欧几里的德距离;
② 4:免疫抗体网络中抗体^^与抗原力&间的相似度;
③ 免疫抗体网络中抗体^^与抗体^^间的相似度;
6④":免疫抗体网络中所有抗体与抗原力&的相似度矩阵(Ag-Ab),其数据元素为4;
◎ &免疫抗体网络中所有抗体之间的相似度矩阵(Ab-Ab),其数据元素为&7;
免疫抗体网络中与输入的提呈抗原^&亲和度最高的抗体(如果存在多个亲
和度最高的抗体,可以任选其中一个),即满足& = min(D),该抗体称为识别
抗体,记为
⑦ 免疫抗体网络中的识别抗体^&,如果其类别与输入的提呈抗原力&一致, 则该抗体称为最佳识别抗体,记为
⑧ 抗体进化免疫抗体网络中的抗体J&对输入的提呈抗原力&的完成学习和记忆, 其计算公式为
雄'=(C,. x哉* +々,)/ (C, +1), yt = 1,2,…,"
雄=(7;,0 2',""我')
◎抗体合并:免疫抗体网络中的两个同类的抗体力&与^^合并成为一个新抗体^^,
免疫抗体网络中原有的抗体(應和為)从免疫抗体网络中删除,新抗体他的
取值按下式计算
4 = C, x氛+ q x气,附=1, 2,…,"
⑩抗体新生根据当前输入的提呈抗原^&,在免疫抗体网络中,插入一个新的抗 体^&,新抗体J&的取值为
雄=(7},1,々",々卢...,々, )
其中新抗体^^.的类别信息7}根据当前输入的提呈抗原^&的类别保持一致。 根据以上的定义,所述抗体生成算法是首先计算提呈抗原力&与免疫抗体网络中所有抗 体间的相似度,得到相似度矩阵";根据相似度矩阵,在免疫抗体网络中选取识别抗体^^;如
果识别抗体瓶的类别与提呈抗原急的类别不一致,即7}#7;,则免疫抗体网络发生抗体新生,
即免疫抗体网络针对提呈抗原j&产生新抗体j&,算法结束;若识别抗体^^的类别与提呈抗 原j&的类别一致( }=7;),则得到最佳识别抗体J&,即力&=^^;计算J&与免疫抗体网络中
类别相同的所有抗体的相似度,得到抗体相似度矩阵5;根据抗体相似度矩阵6;选择与最佳 识别抗体力&亲和度最高的同类抗体,该抗体记为^A,如果最佳识别抗体j&与其亲和度最高的同类抗体截的相似度,大于最佳识别抗体必6与提呈抗原命y的相似度4,即满足^>啦'/7 0, 则根据提呈抗原^&,免疫抗体网络发生抗体新生,产生新抗体^^,同时最佳识别抗体^^与 亲和度最高的同类抗体^^执行抗体合并,算法结束;否则,最佳识别抗体^^艮据提呈抗原J^ 发生抗体进化,最佳识别抗体^^t提呈抗原^&完成学习和记忆,算法结束。
本发明仿生生物免疫系统中抗体对抗原的高效识别与记忆^l理,提出了具有自组织、自 学习和记忆能力的免疫抗体网络,并设计了抗体生成算法,能够应用于模式识别。本发明方 法计算简便,无需人工设置参数与阈值,具有很高的正确识别率,适合于字体识别、故障诊 断等计算机应用领域。


下面结合附图对本发明作进一步说明。 图l是免疫抗体网络示意图。
图中及文中所用符号为a、 b、 C、抗体,*,、抗原或训练样本,々;1,jg/2,...,々y 、 力&的各维属性信息,屈,、抗体,7}、抗体屈,所属的类别,G 、抗体^^的浓度,力& ^^、 抗体瓶的属性信息,4、抗体戲与抗原叙间相似度,&,、免疫抗体网络中抗体瓶与抗体
截.间的相似度,从相似度矩阵(Ag-Ab), 5"、相似度矩阵(Ab-Ab),應、识别抗体,瓶、最
佳识别抗体。
具体实施例方式
仿生生物免疫系统中抗体对抗原的高效识别与记忆机理,本发明设计了一种免疫抗体网 络和抗体生成算法,应用于模式识别领域。 以下对本发明做进一步解释。
1) 免疫抗体网络
免疫抗体网络是以若干不同类别的抗体为节点构成的图。其中,相同类别的抗体连接在 一起(是指逻辑上根据抗体的类型一致、连接在一起的抗体具有相同的类型),形成一个连通 子图,每个抗体(节点)具有一定的浓度,浓度作为该节点的权值,整个免疫抗体网络即为 一个带权的不完全连通图。如图l,免疫抗体网络中有类别分别是a, b和c的三种不同类别 的抗体,与此对应,a, b和c三种不同类别的抗体分别有2个、3个和4个抗体,相同类别 的抗体通过虚线连接在一起。图中的每个抗体对外界各种抗原都具有识别、学习和记忆的功 能,免疫抗体网络中的所有的抗体相互作用,共同完成对外界各种抗原的识别、学习和记忆。
2) 抗原、抗体编码
8免疫抗体网络中,抗原和抗体的编码采用实数编码的方式。
抗原编码把用户给定的训练样本数据作为抗原, 一个抗原(训练样本)用一个n维的 实数向量力&来表示如下
^,卢、2,…,D (1)
抗体编码免疫抗体网络中每个抗体的编码包含两个部分,分别是抗体基本信息和抗体 属性信息。其中,抗体基本信息包括该抗体的类别信息和该抗体的浓度信息,抗体的类别即 表示该抗体的分类信息,即该抗体所识别的抗原的模式种类;抗体的浓度则表示了该抗体识 别的该类抗原的数量,免疫抗体网络训练结束后,即表示了依据该抗体识别的该类抗原的总 数量,表征了该抗体的识别抗原能力的强弱。抗体属性信息则表示抗体所识别的抗原的数据 特征,即抗体在n维形态空间中各个维的值。抗体^^可表示如下
屈,,,C,,A為,…,我) (2) 公式(2)式中,7}是抗体應所属的类别,即抗体屈,能够识别的抗原的类别;G是抗体 瓶的浓度,大体表示抗体胞能够识别的抗原的数量的多少。瓶 戲分别表示抗体胞的属 性信息。
3) 免疫抗体网络初始化
首先对训练样本进行分析,根据训练样本数据类别的数目确定免疫抗体网络中抗体类别 的数目,抗体类别的数目记为m;根据分类识别问题的难易程度、即同一个类别的不同个体 之间特征值的波动和不同类别的样本特征值之间的差异,来确定每类初始抗体的数目难度
越高,初始抗体数目设置值越大。每个类别的初始抗体数目记为k, 一般情况下,k可取值
为10至30。从每个类别的训练样本中,随机地抽取k个样本,抽取的k个样本的属性信息分别 作为免疫抗体网络中该类初始的k个抗体的属性信息,同时抗体的类别信息根据与其对应的训 练样本的类别信息确定,并且所有抗体的浓度初始值取零。
免疫抗体网络初始化完成后,免疫抗体网络由一定数目(mXk个)的不同类别的抗体构 成,相同类别的抗体连接在一起,此时,免疫抗体网络中所有的抗体都是初始抗体。
4) 免疫抗体网络训练
免疫抗体网络的训练是指免疫抗体网络中的抗体对输入提呈抗原的学习与记忆的过程, 其基本过程可描述如下
① 抗原提呈,即按照顺序或随机选取一个训练样本作为抗原输入到免疫抗体网络;
② 根据抗体生成算法,免疫抗体网络中的抗体完成对提呈抗原的学习和记忆;③ 重复上述1一2步,直至所有抗原提呈完毕,这一过程称为完成了一次训练;
④ 对免疫抗体网络进行多次训练。如果免疫抗体网络连续两次训练结果一致时(即 连续的两次训练,免疫抗体网络中各类抗体的数目没有发生变化),免疫抗体网络训练终止, 否则,进行下一次训练。
按照上述的方法训练结束后,免疫抗体网络中的抗体经过不断的学习和记忆,能够准确 地描述各类训练样本数据的特征信息,成为成熟的记忆抗体。 5)抗体生成算法 5.1)定义
① 相似度描述两个样本之间的相似或相近程度,常以某种距离作为相似度的测量 标准,如常用的欧几里的德距离;
② A:免疫抗体网络中抗体J&与抗原^&伺的相似度
③ 免疫抗体网络中抗体應与抗体必,间的相似度;
":免疫抗体网络中所有抗体与抗原力&的相似度矩阵(Ag-Ab),其数据元素为A; ◎ &免疫抗体网络中所有抗体之间的相似度矩阵(Ab-Ab),其数据元素为&7;
⑥ 免疫抗体网络中与输入的提呈抗原力&亲和度最高的抗体(如果存在多个亲
和度最高的抗体,可以任选其中一个),即满足4,min(d),该抗体称为识别抗体,记为
⑦ 免疫抗体网络中的识别抗体^^,如果其类别与输入的提呈抗原力&一致, 则该抗体称为最佳识别抗体,记为
⑧ 抗体进化免疫抗体网络中的抗体^a寸输入的提呈抗原^&的完成学习和记忆, 有计算公式(3):
^' = (C,. x 4 +々#) / (C, +1), t = 1,2,…," (3 )
命(t;,c,wv為',…,我')
◎抗体合并:免疫抗体网络中的两个同类的抗体力&与^^合并成为一个新抗体J&, 免疫抗体网络中原有的抗体"&和^^)从免疫抗体网络中删除,新抗体J&的取值按公式(4) 计算<formula>formula see original document page 10</formula> (4 )⑩抗体新生根据当前输入的提呈抗原^&,在免疫抗体网络中,插入一个新的抗 体^&,新抗体^^的取值的按公式(5)计算
雄=(7>1,々",々乂2"."々乂 ) (5)
其中新抗体應的类别信息7)根据当前输入的提呈抗原艇的类别保持一致。 5.2)算法步骤
抗体生成算法确定了免疫抗体网络中的抗体对提呈抗原的不断的学习与记忆过程。根据 不同的情况,免疫抗体网络发生抗体进化、抗体合并和抗体新生。算法执行过程中,免疫抗 体网络中各类抗体的的数目、各个抗体的浓度及其属性信息在按照抗体生成算法,自动的调
调节变化,整个过程无需预先设置参数和人工干预。抗体生成算法的具体步骤描述如下 St印l.计算提呈抗原力&与免疫抗体网络中所有抗体间的相似度,得到相似度矩阵"; St印2.根据相似度矩阵A在免疫抗体网络中选取识别抗体^^;
St印3.如果识别抗体瓶的类别与提呈抗原艇的类别不一致,即C7;,则免疫抗体网络
发生抗体新生,即免疫抗体网络针对提呈抗原^A产生新抗体^^,算法结束;
st印4.识别抗体瓶的类别与提呈抗原急的类别一致(7尸t;),则得到最佳识别抗体應,
即應=瓶;
St印5.计算J&与免疫抗体网络中类别相同的所有抗体的相似度,得到抗体相似度矩阵 5"。根据抗体相似度矩阵5",选择与最佳识别抗体J&亲和度最高的同类抗体,该抗体记为/lZv,
St印6.如果最佳识别抗体他与其亲和度最高的同类抗体為的相似度,大于最佳识别抗 体J&与提呈抗原艇的相似度A,即满足^>肌'/ 0,则根据提呈抗原J&,免疫抗体网络发生 抗体新生,产生新抗体J&,同时最佳识别抗体^^与亲和度最高的同类抗体^^执行抗体合并, 算法结束;
St印7.最佳识别抗体J&根据提呈抗原力&发生抗体进化,最佳识别抗体J&对提呈抗原
完成学习和记忆,算法结束。
下面举例对本发明作进一步说明。
实施例l.在国际标准数据测试集(Letter Recognition)上的的英文字母识别。Letter Recognition数据集中共包含20000条样本记录,记录了 20种字体、26个大写英文字母的 20000副原始扫描图像的数字化处理后的数据,每条记录包含了该字母的类别属性及其16维 矢量特征数据(其取值范围是0到15),数据集中每个字母大约有750条记录不等。
在实验过程中,根据每条记录在Letter Recognition数据集中的出现的次序,分别提取每个字母的前700条记录作为实验数据集。把实验数据集分成训练样本数据和测试样本数据两 个部分。训练样本数据由实验数据集中各类字母的前630条记录组成(根据其次序),共计包 含16380条记录;其余实验数据集中每类字母的70条记录,共计1820条记录作为测试样本 数据。
设定免疫抗体网络的抗体初始数目k=25,逐个输入训练样本集中的数据作为提呈抗原, 对免疫抗体网络进行训练。训练结束后,应用得到的免疫抗体网络,按照最邻近准则对所有 测试样本进行字母识别。实验结果表明,本发明方法的总体正确识别率是95.54%,在同一数 据集上,文献1 [P. W. Frey and D. J. Slate. Letter Recognition Using Holland-style Adaptive Classifiers. Machine Learning. 1991, 6 (2) : 161 182.]应用Holland Style Adaptive Classifiers方法进行分析,其最高正确识别率略高于80 %;文献2[张乐锋,虞 华,夏胜平,等.RS0M算法及其应用研究.复旦学报(自然科学版),2004, 43(5):704 709]基于自组织映射网络RS0M算法,其最高正确识别率低于91%左右。本发明免疫抗体网 络显示出最优的模式分类能力,其正确识别率较其他两种方法具有显著的提高。
权利要求
1、一种基于免疫抗体网络的模式识别方法,其特征是,以随机抽取一定数目的各类训练样本,生成免疫抗体网络中相应类别的初始抗体,完成免疫抗体网络的初始化;以所有训练样本作为输入抗原,应用抗体生成算法,训练免疫抗体网络,免疫抗体网络中的抗体有效提取各类训练样本的模式特征,连续两次训练结果一致时,训练终止并保存训练好的免疫抗体网络,训练后的免疫抗体网络用于模式识别。
2、 根据权利要求1所述基于免疫抗体网络的模式识别方法,其特征是,所述免疫抗体 网络初始化的方法是把用户给定的训练样本作为抗原,用n维的实数向量表示,第」'个抗原力&表示为与之对应,免疫抗体网络中的抗体,用一个(n+2)维的实数向量,免疫抗体网络中第i个 抗体^&表示为<formula>formula see original document page 2</formula>其中,7;是抗体^^所属的类别信息,即抗体^^能够识别的样本的类别;G是抗体J^的浓度,表示抗体^^能够识别的样本数量的多少,^^ ^^为抗体j&的属性信息,分别表示该抗体各维的模式特征;初始化后的免疫抗体网络中,共计包含mXk个抗体,此时免疫抗体网络中的抗体定义为 初始抗体,其中m是初始抗体的类别数目,k是每类初始抗体的数目,各个初始抗体的类别信息/;,根据对应的随机抽取的训练样本的类别来确定,其属性信息也由对应的随机抽取训练样本来确定,其浓度初始值G均取零。
3、 根据权利要求1或2所述基于免疫抗体网络的模式识别方法,其特征是,所述免疫抗 体网络训练的方法是按照顺序或随机选取一个训练样本作为提呈抗原,输入到免疫抗体网 络,免疫抗体网络中的抗体根据抗体生成算法,完成对提呈抗原的学习和记忆,直至所有抗 原提呈完毕,则称为完成了一次训练;反复训练免疫抗体网络,当连续两次训练结果一致, 即连续的两次训练,免疫抗体网络中抗体的数目不再发生变化时,免疫抗体网络训练结束。
4、 根据权利要求3所述基于免疫抗体网络的模式识别方法,其特征是,所述抗体生成 算法是-定义① 相似度描述两个样本之间的相似或相近程度,常以某种距离作为相似度的测量 标准,如常用的欧几里德距离;② 4:免疫抗体网络中抗体^^与抗原^&间的相似度;③ 免疫抗体网络中抗体應与抗体截.间的相似度; ":免疫抗体网络中所有抗体与抗原力&的相似度矩阵(Ag-Ab),其数据元素为A; ⑤&免疫抗体网络中所有抗体之间的相似度矩阵(Ab-Ab),其数据元素为&,; ◎ 免疫抗体网络中与输入的提呈抗原v^,亲和度最高的抗体(如果存在多个亲 和度最高的抗体,可以任选其中一个),即满足4^min(D),该抗体称为识别抗体,记为⑦ 免疫抗体网络中的识别抗体J&,如果其类别与输入的提呈抗原力&一致, 则该抗体称为最佳识别抗体,记为^&;⑧ 抗体进化免疫抗体网络中的抗体^a寸输入的提呈抗原^&的完成学习和记忆, 有计算公式(3):<formula>formula see original document page 0</formula>⑨ 抗体合并:免疫抗体网络中的两个同类的抗体^^与^^合并成为一个新抗体^^,免疫抗体网络中原有的抗体"&和^^)从免疫抗体网络中删除,新抗体力&的取值按公式(4) 计算<formula>formula see original document page 0</formula> 抗体新生根据当前输入的提呈抗原^&,在免疫抗体网络中,插入一个新的抗 体應,新抗体力&的取值的按公式(5)计算<formula>formula see original document page 0</formula>其中新抗体應的类别信息《根据当前输入的提呈抗原艇的类别保持一致; 抗体生成算法确定了免疫抗体网络中的抗体对提呈抗原的不断的学习与记忆过程,根据 不同情况,免疫抗体网络发生抗体进化、抗体合并和抗体新生;算法执行过程中,免疫抗体 网络中各类抗体的的数目、各个抗体的浓度及其属性信息在按照抗体生成算法,自动调节变化;抗体生成算法的具体步骤描述如下St印l.计算提呈抗原^)与免疫抗体网络中所有抗体间的相似度,得到相似度矩阵A St印2.根据相似度矩阵",在免疫抗体网络中选取识别抗体^^;st印3.如果识别抗体瓶的类别与提呈抗原艇的类别不一致,即t^t;,则免疫抗体网络发生抗体新生,即免疫抗体网络针对提呈抗原^&产生新抗体^^,算法结束;st印4.识别抗体^&的类别与提呈抗原力&的类别一致(7}= t;),则得到最佳识别抗体J&,St印5.计算J&与免疫抗体网络中类别相同的所有抗体的相似度,得到抗体相似度矩阵 &根据抗体相似度矩阵5",选择与最佳识别抗体^^亲和度最高的同类抗体,该抗体记为J^St印6.如果最佳识别抗体J&与其亲和度最高的同类抗体^^的相似度,大于最佳识别抗 体^^与提呈抗原j&的相似度4,,即满足&P肌'"C则根据提呈抗原力&.,免疫抗体网络发生 抗体新生,产生新抗体^^,同时最佳识别抗体^^与亲和度最高的同类抗体^^执行抗体合并, 算法结束;st印7.最佳识别抗体力&根据提呈抗原力&发生抗体进化,最佳识别抗体力/a寸提呈抗原完成学习和记忆,算法结束。
5、根据权利要求4所述基于免疫抗体网络的模式识别方法,其特征是,所述各类初始 抗体数目k,取值为10至30。
全文摘要
一种基于免疫抗体网络的模式识别方法,用于模式识别。其技术方案是它以随机抽取一定数目的各类训练样本,生成免疫抗体网络中的初始抗体,完成免疫抗体网络的初始化;以所有训练样本作为输入抗原,根据抗体生成算法对免疫抗体网络进行训练,有效提取各类训练样本的模式特征;反复训练免疫抗体网络,当连续两次训练结果一致时,训练终止并保存得到的免疫抗体网络,进行模式识别。本发明计算简便,无需人工设置参数与阈值,具有很高的正确识别率,适合于字体识别、故障诊断等计算机应用领域。
文档编号G06K9/62GK101561880SQ200910074328
公开日2009年10月21日 申请日期2009年5月11日 优先权日2009年5月11日
发明者中 李, 苑津莎 申请人:华北电力大学(保定)
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1