基于人工免疫系统的单类分类算法研究

  • 格式:pdf
  • 大小:331.35 KB
  • 文档页数:4

3144 2011,Vo1.32,No.9 计算机工程与设计ComputerEngineering andDesign 基于人工免疫系统的单类分类算法研究 陈岳兵, (国防科学技术大学 冯 超, 张权, 电子科学与工程学院, 唐朝京 湖南长沙410073) 摘 要:为了增加检测器的覆盖率,提高算法性能,对V-detector检测器生成算法进行改进,提出了一种不限定检测器中心点 位置的检测器生成算法。在检测器生成时,使大部分检测器中心点仍然在问题域内,覆盖问题域内的非我区域,少量检测器 中心点位于问题域之外,覆盖问题域边缘。改进后的检测器生成算法中,检测器中心点分量服从正态分布,检测器覆盖问题 域边缘的能力增强,检测器覆盖率更高。在基准数据集上的实验结果表明,改进后算法的性能有显著提高。 关键词:人工免疫系统:否定选择算法;单类分类;故障诊断;异常检测 中图法分类号:TP391 文献标识码:A 文章编号:1000.7024(2011)O9.3144.04 Research on one—class classitication algorithm based on artificial immune system CHEN Yue—bing,FENG Chao,ZHANG Quan,TANG Chao-jing (School ofElectronic Science and Technology,National University ofDefense Technology,Changsha 410073,China) Abstract:To increase the detector coverage and improve the performance ofthe algorithm,modification to detector generation algorithm ofV-detector is made.A detector generation algorithm without limitation ofposition ofdetector center is presented.In the detector gene— ration algorithm,most ofthe detector centers are within the problem domain,which cover nonselfregion ofthe problem domain.A few detector centers are outside the problem domain,which covers the edges ofthe problem domain.The detector centers are normally distributed.The capability ofthe detectors to cover the edges is enhanced.Thus the coverage ofthe detectors is increased.Experimental results on benchmark dataset indicate that the performance of the algorithm increases significantly after modification. Key words:artificial immune system;negative selection algorithm;one—class classification;fault diagnosis;anomaly detection 0引 言 传统模式识别方法一般需要多个类别的样本,从而设计 两类和多类分类器。但是在某些情况下,训练样本中只有一 类目标数据,其它非目标数据采集代价过高,造成样本缺失。 两类分类方法的分类边界需由两类实例来“支持”,因此无法 直接用于解决此类问题。只能从已有的目标类样本中进行学 习,并形成一个对该类别的数据描述,然后根据给定或设计的 相似性度量,并设定阈值来判别新样本的归属。因只使用一 类实例,故称为单类分类(one.class classification)“ 。目标数据 又称为自我类、正常类或目标类,而非目标数据对应地称为非 我类、异常类或野类(outlier)。针对单类分类问题所设计的单 类分类器,已被用于文本检测 、安全审计。 、故障诊断 、入侵 检测 、异常检测 等领域。研究和改进单类分类算法具有很 大的应用价值。 人工免疫系统是受人体免疫系统启发而建立的各种算 法和模型的统称。否定选择被认为是人体免疫系统的主要 机理 ,它模仿胸腺中T细胞的选择过程。近似随机的基因 重组使得新生成的T细胞具有极大的多样性,在胸腺中,那些 识别自我细胞的T细胞被清除,剩余的T细胞用于对外部病 原体进行识别和应答。基于否定选择原理的算法称为否定选 择算法。否定选择算法利用一类数据(自我或正常)进行训练, 训练后可以对两类数据进行区分。否定选择算法是一种单类 分类算法。目前已被用于入侵检测和异常检测[111。否定选择 算法具有多种版本,文献[12]对否定选择算法进行了综述。文 献[131提出一种基于可变尺寸检测器的否定选择算法(V-detec— tor)。V-detector的独有特性在于它最大化单个检测器尺寸来 达到更好的覆盖效果。文献[14】对V-Detector进行改进,引入 统计方法评估检测器覆盖率,利用假设检验来确定终止条件, 使得算法性能更稳定。当前V-Detector检测器覆盖问题域边 缘的能力受限,有必要进行改进。本文对V-detector检测器生 成算法进行改进,提高检测器的覆盖性能。在基准数据集KDD 99上的实验表明,改进后算法性能显著提高。 1 V-detector算法原理 V-detector通过自我样本进行训练,生成覆盖非我区域的 收稿15t期:2010 09.0l;修订日期:2010—11-25。 作者简介:陈岳兵(1980一),男,江苏江都人,博士研究生,研究方向为人工免疫系统、信息安全; 冯超( ̄983一),男,江苏盱胎人,博士研 究生,研究方向为安全协议分析; 张权(1974一),男,上海人,副教授,研究方向为量子通信、信息安全; 唐朝京(1962一),男,江苏武进 人,教授,博士生导师,研究方向为网络攻防与对抗。E—mail:milpeter@hotmail.

tom 陈岳兵,冯超,张权,等:基于人工免疫系统的单类分类算法研究 2011,Vo1.32,No.9 3l45 检测器。图1在二维平面上描述了V-detector的核心思想。深 灰色区域代表自我区域,通常由训练数据(自我样本)和自我 “半径”£决定。浅灰色圆形是用于覆盖非我区域的检测器。图 1(a)是固定尺寸的检测器。在此情况下,算法需要大量检测器 来覆盖非我区域。黑色区域描述的是存在的“空洞”。图1(b) 是可变尺寸检测器,少量大尺寸检测器覆盖了非我区域的大 部分,小尺寸检测器可以覆盖“空洞”。 麓 (a)固定尺寸检测器 (b)可变尺寸检测器 图1 否定选择和可变尺寸检测器 否定选择算法包括训练阶段(也称为检测器生成阶段)和 检测阶段。不同版本否定选择算法差别主要在检测器生成算 法。V-detectort 检测器生成算法流程如图2所示。 图2 V.detector检测器生成算法 V-detector检测器生成算法采用生成 验证的策略,随机生 成检测器,并计算其与自我以及已有检测器之间的距离(如欧 几里德距离),根据被覆盖情况来确定此随机采样点的去留。 如果一个采样点不被自我覆盖且不被已有检测器覆盖,则保 存为候选检测器。 算法中引入统计方法,通过单侧Z检验来确定检测器覆 盖率和算法终止条件。算法主要控制参数有覆盖率P和显著 性水平 。为了进行假设检验,根据覆盖率P计算需要的样本 数下限 。算法中包括两个计数器,N和 ,分别表示采样的非 我点数和已被覆盖的点数。在算法流程中,Z保持不变或不断 增加,如果在完成”点采样之前,出现Z) ,则表明当前覆盖率 大于P。此时可以终止算法流程,也可以继续运行以达到更高 的覆盖率。 2算法改进 在V-detector中,检测器表示为< ,其中d是检测器中 心点,r是检测器半径。假设算法输入数据决定的问题域具有 三维特征,则 = , ,…,冼】。文献[13-14】中,生成的随机点具 有均匀分布,即分量 ,i=1,2,…上服从均匀分布。算法输入数 据是归一化到[0,1】之间的数据,因此, 在区间[0,1】上均匀分 布,记为 ~ 0,1),i=1,2,…上。V-detector将检测器中心点限制 在问题域内,这影响了检测器的性能。因此提出解除这种限 制,允许检测器中心点在问题域之外。 图3在二维平面上描述了两种情况下检测器对非我区域 的覆盖。方框表示问题域,包括自我区域和非我区域。图3(a) 是检测器中心点限制在问题域内的情况,此时需要较多检测 器来覆盖边缘。图3(b)是不限定检测器中心点位置的情况, 少量检测器就可以较好地覆盖边缘。实际上,自我和非我都 不会出现在问题域之外,因此允许检测器中心点处于问题域 之外不会增加误检。 (a)检测器中心点在问题域内 (b)不限定检测器中 th,点位置 图3检测器中心点位置 在检测器生成时,使大部分检测器中心点仍然在问题域 内,覆盖问题域内的非我区域,少量检测器中心点位于问题域 之外,覆盖问题域边缘。因此提出让 ,i=1,2,…工服从正态分 布,其概率密度函数为 1 “~ )=— =-一P一— ,一oo<d ̄<+oo  ̄/2/rtr 对于归一化到[O,1]的输入数据, =0.5, :0.5,记为  ̄Ⅳ (0.5,0.5),概率分布如图4所示。 大部分检测器中心点(d)分布在问题域[0,1 内,少量检测 器中心点(d)分布在问题域【0,1】L外侧附近。文献[14]中,检测 

器中心点在非我区域均匀分布,通过被覆盖的采样点比例来 !v01.32,No.9 计算机工程与设计Computer Engineering and Design 0.8 0.6 ,、 0.4 0.2 0 N(0.5,0.5)概率密度函数 ・1 0 1 2 di 图4检测器分量概率分布 估计检测器覆盖率。在检测器中心点分量服从正态分布的情 况下,检测器覆盖边缘的能力增强,检测器覆盖率更高。改进 的V-detector称为EnV-detector,下节将通过基准数据集上的比 较来显示改进对算法性能的影响。 3实 验 为了验证改进后的算法性能,采用基准数据集KDD99进 行实验测试。 3.1数据集 KDD99数据集是美国林肯实验室入侵检测数据集,也被 称为DAPPA数据集。KDD 99数据集具有41个属性(特征), 其属性值类型包括数值型和符号型。数据集中每一个数据项 末尾带有明确标记,表明是正常连接或者攻击。实验采用的 是10%子集,它包括494 021个数据项。10%子集与完整数据 集具有相似的统计特性,子集中正常连接与攻击的比值与完 整数据集相当。 KDD99数据集属性域较多,其中有些属性域对分类几乎 没有影响。根据基于信息增益的属性选择“ ,选择了10个属 性,分别为:属性12,属性23,属性24,属性25,属性26,属性 29,属性31,属性32,属性38,属性40。这些属性都是数值型 的,对选择的属性值进行归一化处理,所有属性映射到【0,1]。 利用KDD 99 10%子集随机抽取1O%的数据构建10个子 集,抽取时保持正常连接与攻击的比值。构建的数据集记为 S ,&,…, o,每个数据集包括49402个数据项,9728个正常连 接和39674个攻击。 3.2实验设置 V-detector和EnV-detector采用Matlab R2009a编程实现。 覆盖率P和显著性水平6c分别设为99%和0.1。自我“半径”£设 为0.01,这表示与自我的欧几里德距离小于O.O1范围内的点 都是自我。实验中,每个数据 ,i:l,…,10集利用80%正常 连接进行训练,剩余20%的正常连接和攻击作为测试数据集。 实验在WindowsXP下运行(奔腾双核CPUE5200,2G内存)1oo 次,结果取平均值。 单类分类问题根据测试样本的真实类别和分类结果构成 了如表1所示的混淆矩阵。 表1单类分类的混淆矩阵 真实类别 分类结果 自我 非我 自我 True Positive(TP) False Negative(FN) 非我 False Positive(FP) True Negative(TN) 从表1可看出单类分类有两类错误,即自我被错分为非 我(即)和非我被错分为自我( v)。定义两个指标 FPR=FP/(TN+FP) PWR=FN/(TP+FN) 显然,这两个指标越小越好。除,m,FNR之外,还有一 个综合指标,称为Balanced Loss(BL)“ :BL:( R+FNR)/2。 3.3实验结果及分析 实验结果如表2所示, ,FNR和BL是100次实验的平 均值。算法具有随机算法的特点,表中还给出了标准差。 从表2可看出,在基准测试数据集上同等条件的比较中, EnV-detector性能明显提高。就FPR而言,对于测试的lO个数 据集&, ,…, -o,改进前后差别不大,大多数情况下EnV-detec— tor具有略高的即R, 标准差差别很小。就FNR而言,对于 测试的所有1O个数据集,改进后FNR值大大减小,标准差也 大大减小。BL是FPR和FNR的平均值,由于FNR显著降低, 而FPR变化较小,导致BL显著降低。由于改进后FNR标准 差大大减小,而即R标准差变化不大,BL标准差显著减小。从 综合指标看,改进后算法稳定性明显提高。 由表1可知,FP就是错误地将自我分类为非我。表2中 所有数据集下FPR都不超过0.005,这是一个很好的结果,表 示EnV-detector保持了V-detector低FPR的良好特性。这种特 性也被称为泛化能力或推广能力。对于单类分类算法而言, 泛化能力就是通过部分自我(训练样本)确定一个自我区域,只 要位于此区域内的样本,即使没有在训练样本中出现,也被认 为是自我样本。V-detector和EnV-detector根据训练样本和自 表2 V-detector和EnV-detector在KDD 99数据集上的性能比较 V-detector EnV-detector 数据集 FPR(SD) FNR(SD) BL(SD) FPR(SD) FN SO) BLfSD) S 0.0007(0.0005) 0.4706(0.3348) O 2357(0.1674) O.0039(0.0006) O.0136(0.0008) 0.0088(0.ooo5) & 0.0009(0.00071 0.4788(0.3362) O.2399(0.168l1 0.0027(0.0006) 0.0127(0.0010) 0.0077(0.0006) & 0 0029(0.OOLO) 0.4713(0.3406) 0.2371(o.1703) 0.0037(0.00081 0.0144(0.0005) O.0090(0 0005) & 0.0017(0.0006) 0.4251(0.3491) 0.2134(0.1745) 0.0018(o.0004) 0.0133(0.0007) 0.0075(0.0004) & 0.0叭9(0.0008) 0.5029(0.3249) O.2524(0.1625) 0.0024(0.0006) 0.0141f0.0006) 0.0083(0.0004) & 0.0030(0.0009) O.4748(0.3318) O.2389(0.1658) 0.0049(0.00o8) 0.0149(0.OOO5) 0.0099(0.0004) 岛 0.0022(0.001 1) O.4627(0.3462) 0.2325(0.1731) 0.0016(0.0005) 0.0142(0.0008) 0.0079(0.0005) & 0.0010(0.0005) 0.4829(0.3345) 0.2420(0.1673) O.0031(0.0007) 0.0126(0.OOLO) 0.0078(0.0006) O.0OO7(O,0005) 0.4556(0 3355) 0.2282(0.1677) 0.oo17(o.0005) O.o148(o.0005) 0.0083(0.0003) Sl0 0.0023(0.0009) 0 4233(0.3508) 0.2128(0.1754) O.0026(0.0005) 0.0142(0,0008) 0.0084(0.0005)