首页> 中国专利> 基于免疫抗体网络的模式识别方法

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

摘要

一种基于免疫抗体网络的模式识别方法,用于模式识别。其技术方案是:它以随机抽取一定数目的各类训练样本,生成免疫抗体网络中的初始抗体,完成免疫抗体网络的初始化;以所有训练样本作为输入抗原,根据抗体生成算法对免疫抗体网络进行训练,有效提取各类训练样本的模式特征;反复训练免疫抗体网络,当连续两次训练结果一致时,训练终止并保存得到的免疫抗体网络,进行模式识别。本发明计算简便,无需人工设置参数与阀值,具有很高的正确识别率,适合于字体识别、故障诊断等计算机应用领域。

著录项

  • 公开/公告号CN101655911A

    专利类型发明专利

  • 公开/公告日2010-02-24

    原文格式PDF

  • 申请/专利权人 华北电力大学(保定);

    申请/专利号CN200910164886.2

  • 发明设计人 李中;苑津莎;

    申请日2009-08-07

  • 分类号G06K9/62(20060101);G06N3/00(20060101);

  • 代理机构13108 石家庄冀科专利商标事务所有限公司;

  • 代理人李羡民;高锡明

  • 地址 071003 河北省保定市永华北大街619号

  • 入库时间 2023-12-17 23:27:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-08-28

    未缴年费专利权终止 IPC(主分类):G06K9/62 授权公告日:20120530 终止日期:20170807 申请日:20090807

    专利权的终止

  • 2012-05-30

    授权

    授权

  • 2010-04-28

    实质审查的生效 IPC(主分类):G06K9/62 申请日:20090807

    实质审查的生效

  • 2010-02-24

    公开

    公开

说明书

技术领域

本发明涉及一种能快速、准确对事物进行分类或模式识别的方法,属识别技术领域。

背景技术

模式识别在很多科学和技术领域得到了广泛的重视,推动了人工智能系统的发展,扩大了计算机应用的可能。一般把通过对具体个别事物进行观测所得的具体时间和空间分布的信息称为模式,把模式所属的类别或同类中模式的总体称为模式类。

人工免疫系统是一种基于理论生物学启发而来的计算范式,它借鉴了一些免疫系统的功能、原理和模型用于复杂问题的解决。人工免疫系统在信息安全、模式识别、数据挖掘和故障诊断等方面得到了许多研究和应用,取得了较好的效果。但是,目前人工免疫算法大多存在算法复杂、人工设置参数和阀值较多、需要不断进行调整等问题。

发明内容

本发明的目的是克服已有技术之缺陷而提供一种算法简便、准确率高的基于免疫抗体网络的模式识别方法。

本发明所述问题是以下述技术方案实现的:

一种基于免疫抗体网络的模式识别方法,免疫抗体网络进行模式识别前,需根据用户的训练样本数据对免疫抗体网络进行训练,训练后的免疫抗体网络即可应用于解决模式识别问题,免疫抗体网络的训练过程是:

随机抽取一定数目的各类训练样本,生成免疫抗体网络中的初始抗体,完成免疫抗体网络的初始化;

按照顺序或随机将所有训练样本作为输入抗原,输入到免疫抗体网络,免疫抗体网络中的抗体,根据抗体生成算法对输入抗原进行学习和记忆,提取各类训练样本数据的模式特征;

反复训练免疫抗体网络,当免疫抗体网络连续两次训练的结果一致时(即连续的两次训练,免疫抗体网络中各类抗体的数目没有发生变化),免疫抗体网络训练终止。

上述基于免疫抗体网络的模式识别方法,所述免疫抗体网络的初始化的方法是:

把用户给定的训练样本作为抗原,用n维的实数向量来表示,第j个抗原Agj表示如下:

Agj=(Agj1,Agj2,...,Agjn)

相应地,免疫抗体网络中的抗体,用(n+2)维的实数向量来表示,免疫抗体网络中第i个抗体Abi表示如下:

Abi=(Ti,Ci,Abi1,Abi2,...,Abin)

其中,Ti是抗体Abi所属的类别信息,即抗体Abi识别抗原的类别;Ci是抗体Abi的浓度,表示抗体Abi识别抗原的数量多少,Ab1~Abn分别表示抗体Abi的各维属性信息,表达抗体的模式特征;

抗原(既训练样本)的类别数为m,每类抗原随机抽取k个,构成免疫抗体网络中的初始抗体,具体方法是:每一个随机抽取的抗原的类别和属性信息,确定了一个初始抗体的类别信息和属性信息,并且所有初始抗体的浓度取值为零。故此,初始的免疫抗体网络,共计包含有m×k个初始抗体,其中m是抗体的类别数(与抗原相同),k是每类抗体的初始数目。每个初始抗体的类别信息Ti,与对应随机抽取的、生成该初始抗体的抗原的类别一致,其属性信息也与对应随机抽取的、生成该初始抗体的抗原一致,所有初始抗体的浓度初始值Ci均取零。所述数值k,根据分类识别问题的难易程度(同一个类别的不同个体之间特征值的波动和不同类别的样本特征值之间的差异)来确定:难度越高,数值取值越大,一般k可取值为10至30。

上述基于免疫抗体网络的模式识别方法,所述免疫抗体网络的训练方法是:按照顺序或随机选取一个训练样本作为抗原输入到免疫抗体网络,免疫抗体网络中的抗体,根据抗体生成算法,对输入的抗原进行学习和记忆,直至所有训练样本(抗原)输入完毕,这一过程称为完成了一次训练。对免疫抗体网络进行多次训练,当连续两次训练结果一致时,即连续的两次训练,免疫抗体网络中各类抗体的数目不再发生变化时,则训练终止。

上述基于免疫抗体网络的模式识别方法,所述抗体生成算法是:

定义:

①相似度:描述两个样本之间的相似或相近的程度,常以某种距离作为相似度的测量标准,如常用的欧几里的德距离;

②dij:免疫抗体网络中抗体Abi与抗原Agj间的相似度;

③sij:免疫抗体网络中抗体Abi与抗体Abj间的相似度;

④D:输入抗原与免疫抗体网络中抗体的相似度矩阵,其数据元素为dij

⑤S:免疫抗体网络中抗体之间的相似度矩阵,其数据元素为sij

⑥Abr:免疫抗体网络中与输入抗原Agj相似度最高的抗体(如果存在多个,可以任选其中一个),即满足drj=min(D),该抗体称为识别抗体,记为Abr

⑦Abb:免疫抗体网络中的识别抗体Abr,如果其类别与输入抗原Agj一致,则该抗体称为最佳识别抗体,记为Abb

⑧抗体进化:免疫抗体网络中的抗体Abi对输入抗原Agj的完成学习和记忆,其计算公式为:

Ci′=Ci+1

Abim′=(Ci×Abim+Agjm)/Ci′,m=1,2,...,n

Abi=(Ti,Ci′,Abi1′,Abi2′,...,Abin′)

⑨抗体合并:免疫抗体网络中的两个同类的抗体Abi与Abj合并成为一个新抗体Abk,免疫抗体网络中原有的抗体(Abi和Abj)从免疫抗体网络中删除,新抗体Abk的取值按下式计算:

Ck=Ci+Cj

Abkm=(Ci×Abim+Cj×Abjm)/Ck,m=1,2,...,n

Abk=(Ti,Ck,Abk1,Abk2,...,Abm)

⑩抗体新生:根据当前输入抗原Agj,在免疫抗体网络中,插入一个新的抗体Abi,新抗体Abi的取值为:

Abi=(Ti,1,Agj1,Agj2,...,Agjn)

其中,新抗体Abi的类别信息Ti由输入抗原Agj的类别确定。

根据以上的定义,所述抗体生成算法是:首先计算输入抗原Agj与免疫抗体网络中所有抗体间的相似度,得到相似度矩阵D;根据D,在免疫抗体网络中选取识别抗体Abr;如果识别抗体Abr的类别与输入抗原Agj类别不一致,则免疫抗体网络发生抗体新生,即免疫抗体网络针对输入抗原Agj产生新抗体Abi,算法结束;若识别抗体Abr的类别与输入抗原Agj类别一致,则得到最佳识别抗体Abb,即Abb=Abr;计算Abb与免疫抗体网络中类别相同的所有抗体的相似度,得到抗体相似度矩阵S。根据S,选择与最佳识别抗体Abb相似度最高的同类抗体,该抗体记为Abj,如果最佳识别抗体Abb与其相似度最高的同类抗体Abj的相似度sij,小于最佳识别抗体Abb与输入抗原Agj的相似度dbj,即满足sij<dbj,则根据输入抗原Agj,免疫抗体网络发生抗体新生,产生新抗体Abi,同时最佳识别抗体Abb与相似度最高的同类抗体Abj执行抗体合并,算法结束;否则,最佳识别抗体Abb根据输入抗原Agj发生抗体进化,最佳识别抗体Abb对输入抗原Agj完成学习和记忆,算法结束。

本发明仿生生物免疫系统中抗体对抗原的高效识别与记忆机理,提出了具有自组织、自学习和记忆能力的免疫抗体网络,并设计了抗体生成算法,能够应用于模式识别。本发明方法计算简便,无需人工设置参数与阀值,具有很高的正确识别率,适合于字体识别、故障诊断等计算机应用领域。

附图说明

下面结合附图对本发明作进一步说明。

图1是免疫抗体网络示意图。

图中及文中所用符号为:a、b、c、抗体,Agj、抗原或训练样本,Agj1,Agj2,...,Agjn、Agj的各维属性信息,Abi、抗体,Ti、抗体Abi所属的类别,Ci、抗体Abi的浓度,Abi1~Abin、抗体Abi的属性信息,dij、抗体Abi与抗原Agj间相似度,sij、免疫抗体网络中抗体Abi与抗体Abj间的相似度,D、抗原-抗体相似度矩阵,S、抗体-抗体相似度矩阵,Abr、识别抗体,Abb、最佳识别抗体。

具体实施方式

仿生生物免疫系统中抗体对抗原的高效识别与记忆机理,本发明设计了一种免疫抗体网络和抗体生成算法,应用于模式识别领域。

以下对本发明做进一步解释。

1)免疫抗体网络

免疫抗体网络是以若干不同类别的抗体为节点构成的图。其中,类别相同的抗体连接在一起(连接在一起的抗体具有相同的类型),形成连通子图,每个抗体(节点)具有一定的浓度,浓度作为该节点的权值,免疫抗体网络即为一个节点带权的不完全连通图。如图1,免疫抗体网络中有a、b和c三种不同类别的抗体,依次分别有2个、3个和4个抗体,相同类别的抗体连接在一起。图中的每个抗体对外界各种抗原都具有识别、学习和记忆的功能,免疫抗体网络中的所有的抗体相互作用,共同完成对外界各种抗原的识别、学习和记忆。

2)抗原、抗体编码

免疫抗体网络中,抗原和抗体编码采用实数编码方式。

抗原编码:把用户给定的训练样本数据作为抗原,一个抗原(训练样本)用一个n维的实数向量Agj来表示如下:

Agj=(Agj1,Agj2,...,Agjn)                  (1)

抗体编码:免疫抗体网络中每个抗体的编码包含两个部分内容,分别是抗体基本信息和抗体属性信息。其中,抗体基本信息包括该抗体的类别信息和该抗体的浓度信息,抗体的类别即表示该抗体的分类信息,即该抗体所识别抗原的模式种类;抗体的浓度则表示了该抗体识别的该类抗原的能力,免疫抗体网络训练结束后,即大体表示了依据该抗体识别的该类抗原的总数量,表征了该抗体识别抗原能力的强弱。抗体属性信息则表示抗体所识别抗原的数据特征,即抗体在n维形态空间中各个维的值。抗体Abi可表示如下:

Abi=(Ti,Ci,Abi1,Abi2,...,Abin)        (2)

公式(2)式中,Ti是抗体Abi所属的类别,即抗体Abi识别抗原的类别;Ci是抗体Abi的浓度,表示抗体Abi识别抗原的数量多少。Ab1~Abn分别表示抗体Abi的各维属性信息,表达抗体的模式特征。

3)免疫抗体网络初始化

首先对训练样本进行分析,根据训练样本类别的数目确定免疫抗体网络中抗体类别的数目,抗体类别的数目记为m;根据分类识别问题的难易程度、即同一个类别的不同个体之间特征值的波动和不同类别的样本特征值之间的差异,来确定每类初始抗体的数目:难度越高,初始抗体数目设置值越大。每个类别的初始抗体数目记为k,一般情况下,k可取值为10至30。从每类的训练样本中,随机地抽取k个样本,抽取的k个样本的属性信息分别作为免疫抗体网络中该类k个初始抗体的属性信息,同时抗体的类别信息根据与其对应的训练样本的类别信息确定,并且所有初始抗体的浓度初始值取零。

免疫抗体网络初始化完成后,免疫抗体网络由一定数目(m×k个)的不同类别的初始抗体构成,相同类别的抗体连接在一起,此时,免疫抗体网络中所有的抗体都是初始抗体。

4)免疫抗体网络训练

免疫抗体网络的训练是指免疫抗体网络中的抗体对输入抗原的学习与记忆的过程,其基本过程可描述如下:

①输入抗原,即按照顺序或随机选取一个训练样本作为抗原输入到免疫抗体网络;

②根据抗体生成算法,免疫抗体网络中的抗体完成对输入抗原的学习和记忆;

③重复上述1-2步,直至所有抗原输入完毕,这一过程称为完成了一次训练;

④对免疫抗体网络进行多次训练。如果免疫抗体网络连续两次训练结果一致时(即连续的两次训练,免疫抗体网络中各类抗体的数目没有发生变化),免疫抗体网络训练终止,否则,进行下一次训练。

按照上述的方法训练结束后,免疫抗体网络中的抗体经过不断的学习和记忆,能够准确地描述各类训练样本数据的特征信息,成为成熟的记忆抗体。

5)抗体生成算法

5.1)定义

①相似度:描述两个样本之间的相似或相近的程度,常以某种距离作为相似度的测量标准,如常用的欧几里的德距离;

②dij:免疫抗体网络中抗体Abi与抗原Agj间的相似度;

③sij:免疫抗体网络中抗体Abi与抗体Abj间的相似度;

④D:输入抗原与免疫抗体网络中抗体的相似度矩阵,其数据元素为dij

⑤S:免疫抗体网络中抗体之间的相似度矩阵,其数据元素为sij

⑥Abr:免疫抗体网络中与输入抗原Agj相似度最高的抗体(如果存在多个,可以任选其中一个),即满足drj=min(D),该抗体称为识别抗体,记为Abr

⑦Abb:免疫抗体网络中的识别抗体Abr,如果其类别与输入抗原Agj一致,则该抗体称为最佳识别抗体,记为Abb

⑧抗体进化:免疫抗体网络中的抗体Abi对输入抗原Agj的完成学习和记忆,其计算公式为:

Ci′=Ci+1

Abim′=(Ci×Abim+Agjm)/Ci′,m=1,2,...,n

Abi=(Ti,Ci′,Abi1′,Abi2′,...,Abin′)

⑨抗体合并:免疫抗体网络中的两个同类的抗体Abi与Abj合并成为一个新抗体Abk,免疫抗体网络中原有的抗体(Abi和Abj)从免疫抗体网络中删除,新抗体Abk的取值按下式计算:

Ck=Ci+Cj

Abkm=(Ci×Abim+Cj×Abjm)/Ck,m=1,2,...,n

Abk=(Ti,Ck,Abk1,Abk2,...,Abin)

⑩抗体新生:根据当前输入抗原Agj,在免疫抗体网络中,插入一个新的抗体Abi,新抗体Abi的取值为:

Abi=(Ti,1,Agj1,Agj2,...,Agjn)

其中,新抗体Abi的类别信息Ti由输入抗原Agj的类别确定。

5.2)算法步骤

抗体生成算法确定了免疫抗体网络中抗体对输入抗原的学习和记忆过程。根据不同的情况,免疫抗体网络发生抗体进化、抗体合并和抗体新生。算法执行过程中,免疫抗体网络中各类抗体的的数目、各个抗体的浓度及其属性信息依照抗体生成算法自动调节,无需预先设置参数和阀值。抗体生成算法的具体步骤描述如下:

Step1.计算输入抗原Agj与免疫抗体网络中所有抗体间的相似度,得到相似度矩阵D;

Step2.根据相似度矩阵D,在免疫抗体网络中选取识别抗体Abr

Step3.如果识别抗体Abr的类别与输入抗原Agj类别不一致,则免疫抗体网络发生抗体新生,即免疫抗体网络针对输入抗原Agj产生新抗体Abi,算法结束;

Step4.识别抗体Abr的类别与输入抗原Agj类别一致,则得到最佳识别抗体Abb,即Abb=Abr

Step5.计算Abb与免疫抗体网络中类别相同的所有抗体的相似度,得到抗体相似度矩阵S。根据抗体相似度矩阵S,选择与最佳识别抗体Abb相似度最高的同类抗体,该抗体记为Abj

Step6.如果最佳识别抗体Abb与其相似度最高的同类抗体Abj的相似度sij,小于最佳识别抗体Abb与输入抗原Agj的相似度dbj,即满足sij<dbj,则根据输入抗原Agj,免疫抗体网络发生抗体新生,产生新抗体Abi,同时最佳识别抗体Abb与相似度最高的同类抗体Abj执行抗体合并,算法结束;

Step7.最佳识别抗体Abb根据输入抗原Agj发生抗体进化,最佳识别抗体Abb对输入抗原Agj完成学习和记忆,算法结束。

下面举例对本发明作进一步说明。

实施例1.在国际标准数据测试集(Letter Recognition)上的的英文字母识别。LetterRecognition数据集中共包含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-styleAdaptive Classifiers.Machine Learning.1991,6(2):161~182.]应用Holland StyleAdaptive Classifiers方法进行分析,其最高正确识别率略高于80%;文献2[张乐锋,虞华,夏胜平,等.RSOM算法及其应用研究.复旦学报(自然科学版),2004,43(5):704~709]基于自组织映射网络的两种RSOM算法,其正确识别率在90%左右。本发明免疫抗体网络显示出最优的模式分类能力,其正确识别率较其他两种方法具有显著的提高。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号