您的位置:首页 > 其它

第一章 绪论

2011-07-12 11:52 274 查看
第1章 绪论
人工免疫系统借鉴了生物免疫系统的信息处理机制,提供了一种解决复杂计算问题的新颖途径。目前,人工免疫系统在诸如故障检测、数据挖掘、优化等多个领域中表现出了很强的问题求解能力。非选择算法、克隆选择算法以及免疫网络算法是人工免疫系统的三个主要分支。
非选择算法是人工免疫算法中的重要分支之一。此算法可以分为以下三个步骤,即定义自我集、检测器生成、使用生成的检测器进行检测。其中,检测器生成算法是非选择算法的核心部分。检测器生成算法早期的研究主要是着眼于离散空间,但自2002年实值非选择算法被提出后,越来越多的工作开始关注实值检测器生成算法的研究。本文主要研究了实值检测器生成算法。
本章首先对非选择算法进行概述,给出其基本框架和分类;其次分别介绍了基于离散表示的非选择算法和基于实值表示的非选择算法;然后给出了本文的主要研究内容及组织安排;最后是本章小节。

1.1 非选择算法概述

非选择算法(Negative Selection Algorithm:NSA)是人工免疫系统(Artificial Immune System:AIS)[1, 2]的重要分支之一,最早是由Forrest和她的同事于1994年提出来的[3, 4]。非选择算法仅需要一些正常情况下的信息,便可将异常状况与正常状况区分开来[5]。通常情况下,正常状态被定义为自我,异常状态则被认为是非我。该算法模拟了T细胞在胸腺中产生、成熟的一个过程。在T细胞成熟的过程中,未成熟的T细胞与自我做匹配,匹配成功,则消亡,只有与所有自我都不匹配的T细胞才能成长为成熟T细胞。因此,成熟的T细胞能够区分开自我与非我。
非选择算法主要包含如下三个步骤[3]:定义自我集合、生成检测器、监测要保护的数据。具体来说,首先是根据应用环境定义合适的自我集合;其次,按照某种算法生成候选检测器,判断其是否与自我集合相匹配,只有与所有自我集合都不匹配的候选检测器才有资格成长为成熟检测器;最后是监测要保护的数据。


图1.1 非选择算法流程图 图1.1描述的是非选择算法的一般流程[3]。非选择算法分两个阶段,第一阶段是检测器生成阶段:首先检查候选检测器是否与自我集合匹配,如果匹配,则放弃此候选检测器;如果不匹配,则将其视之为成熟检测器,把它加入到检测器集合中。第二阶段为监测阶段:利用生成的检测器集合监测受保护的数据,如果数据与某个检测器相匹配,则将此数据视之为异常数据;如果数据与所有的检测器都不匹配,则视之为正常数据。
在非选择算法中,初始检测器集合的生成速度与检测效率对非选择算法起着至关重要的作用。检测器生成算法是非选择算法中的核心部分,到目前为止,检测器生成算法已经被研究了十多年了,而早期的大多数研究都是着眼于离散空间,尤其是二进制表示空间[3, 4, 6-13]。然而,Gonzalez 等人[14]在系统地分析了二进制表示的非选择算法以后,指出二进制表示虽然能很好的解决离散空间问题,但是却不能够获得实值空间问题的足够信息。因此,二进制表示并不适合解决实值空间问题。
为了解决实值空间问题,Gonzalez 等人于2002年提出了基于实值表示的实值非选择算法(RNSA)[15]。自此以后,实值非选择算法被广泛的研究,通过这些研究,实值非选择算法显示了它解决实值空间问题的潜在的能力。
近年来,基于非选择算法的各种人工免疫模型和算法已逐步应用于各种学科和工程领域,诸如自动控制、模式识别、故障检测、网络安全、系统维护等领域[15-27]。

1.2 非选择算法研究现状

1.2.1 二进制表示的非选择算法

最早的检测器生成算法是由Forrest等人于1994年提出的,该算法是一种穷尽式检测器生成算法[3]。算法随机产生候选集合,依次与自我集合相匹配,匹配成功则放弃,否则视之为成熟检测器。该算法时间花费非常高,并且随自我集合的增加而呈指数型增长。
为解决此问题,在1996年,D’haeseleer等人对此算法进行了改进,基于动态规划思想,提出了线性时间复杂度的检测器生成算法和贪婪检测器生成算法[7],并分析了算法中存在的黑洞现象。Wierzcho于2000年提出了利用模板样式忽略不重要位置来生成检测器的算法[28]。Singh于2002年对贪婪算法进行了扩展后,将其应用于异常检测[29],Ayara等人在检测器生成算法中引入了变异策略[8]。上述算法均是基于r位连续匹配规则[3]的。
除r位连续匹配规则外,Balthrop等人于2002年提出了基于块匹配规则的非选择算法[30],块匹配规则可以看作是连续匹配规则的一种扩展。在2004年,Esponda等人对基于块匹配规则的算法给出了具体分析[31]。同年,Stibor等人对基于块匹配规则的算法进行了扩展[32]。
除此之外,二进制表示的非选择算法还有海明距离匹配规则。项目组于2006年提出了一种检测器长度可变的检测器生成算法[11],并于同年提出了一种基于海明距离匹配规则的启发式检测器生成算法[12]。
目前,二进制表示的非选择算法在入侵检测、故障检测等领域均得到了较为广泛的研究与应用[17, 21, 29, 30, 33-40]。
国内对二进制表示的非选择算法也进行了广泛的研究。张衡等人于2005年提出了一种匹配阈值可变的检测器生成算法[41],郭振河等人于2005年利用位变异方法改进了二进制表示的检测器生成算法[42],王辉等人于2008年提出了一种最小有效检测器集合的生成算法[43],王大伟等人于2008年提出了一种二进制表示与实值表示混合的检测器生成算法[44]。刘永娟等人于2007年将二进制表示的非选择算法应用于电力负荷异常检测[45],牛慧峰等人于2008年将二进制表示的非选择算法应用于工业控制系统故障检测[46],等等。

1.2.2 实值表示非选择算法

实值非选择算法与二进制表示的非选择算法类似,检测器生产算法是其核心部分。

自从Gonzalez 等人于2002年提出了基于实值表示的非选择算法(RNSA)以来[15],实值非选择算法在这六、七年中得到了更进一步的研究。
实值非选择算法按检测器形状进行分类,可以划分为超长方体和超球体这二类。其中,有关超球体形状的检测器生成算法的研究最多。
2003年,Gonzalez和Dasgupta等人提出了一种超球体形状的实值检测器生成算法[47],在此算法中,检测器半径是固定的。Ji,Dasgupta二人继而于2004年提出了一种检测器半径可变的超球体形状的实值检测器生成算法,简称为V-detector算法[48, 49]。此算法使用了蒙特卡罗方法来评估成熟检测器的覆盖率。为更好地评估成熟检测器的覆盖率,翌年,Ji和Dasgupta两人使用统计假设的方法来评估V-detector算法成熟检测器的覆盖率,改进了V-detector算法成熟检测器的覆盖率的评估策略,相较于初始的使用蒙特卡罗方法评估V-detector成熟检测器覆盖率的策略,此使用统计假设方法评估检测器覆盖率的策略具有更高的置信度[50]。Ji,Dasgupta二人于2009年,给出了V-detector算法的综合评述[51]。
其它的一些关于V-detector算法的研究工作还包括:(1)Ji于2005分析了V-detector算法自我区域与非我区域的边界界定问题[52]。(2)Chmielewski等人于2006年使用k-d树结构存储自我集合与检测器集合以便加快V-dtector算法检测器生成过程[53]。(3)Ji和Dasgupta两人于2006年将V-detector算法应用于解决一些实际异常检测问题,并对V-detector算法解决实际问题的能力做出了分析[25, 26]。(4)Stibor等人将V-detector算法与其它的分类算法进行了比较分析[54]。
除V-detector算法外,Amaral于2007年提出了一种利用遗传算法生成超球体检测器的实值检测器生成算法[55]。
V-detector算法是实值检测器研究工作中的一个经典算法,是目前代表性的算法,而且也是目前应用最多的一种算法。V-detector算法主要流程[49]:首先随机生成一候选检测器,如果检测器在自我集合内部,则放弃;如果该候选检测器在非我区域,则调整其半径,使之扩展到自我区域的边界处,然后将此候选检测器加入成熟检测器集合中。
除超球体形状的检测器生成算法外,Shapiro等人于2005年提出了一种利用进化算法生成超椭圆体形状的检测器生成算法[56],Balachandran等人于2007年提出了一种利用遗传算法生成多形状检测器的检测器生成算法[57]。
在有关超长方体形状检测器的生成算法方面,Dasgupta,Gonzalez等人于2002年提出了超长方体形状的实值检测器生成算法,用于网络入侵检测[16, 22],Hang和Dai两人于2004年对此算法做了改进[58]。
实值非选择算法按所用的检测器生成算法主要特征分类,可以归结为如下两类:一是随机生成候选检测器,检查是否与自我集合匹配,不与自我集合匹配的为视之为成熟检测器。二是随机产生一组候选检测器,然后利用进化算法不断优化候选检测器。目前,超球体形状的检测器生成算法绝大多数都是随机生成候选检测器,而其他形状的检测器生成算法则大多是用进化算法优化候选检测器。
在国内,实值检测器生成算法研究也取得了一些进展,李鑫鑫等人分析了超球体检测器覆盖率的问题[59],戴常英等人对实值检测器生成算法做了一些改进性的工作[60],洪征等人将V-detector算法应用于蠕虫检测[61],陶新民等人将实值检测器生成算法应用于轴承故障检测[62],李海潮等人将实值检测器生成算法应用于机械设备故障检测与齿轮箱故障检测[63, 64],王大伟等人根据动态聚类思想,对自我区域进行了预处理并提出了区域否定算法[65]。
虽然实值非选择算法的研究已取得了一定的进展,但是目前大多数的实值非选择算法,在检测器生成阶段,都带有一定的随机性,而且存在成熟检测器生成代价过高等不足。针对此问题,本文提出了一种确定性的检测器生成算法。

1.3 本论文主要研究内容及创新之处

现有的实值检测器生成算法基本都有一定的随机性,从而不能保证均匀的覆盖非我区域。而且当预期检测率比较高时,其成熟检测器生成的时间代价花费也比较大。
本论文主要研究内容如下:
(1)提出了一种基于划分测试的确定性算法(Real-Valued Detector Generation Algorithm based on the Partition-Test Proess:PT-RNSA)。此算法可以确保除了自我区域与非我区域的边界部分外,其它所有的非我区域均可被成熟检测器覆盖,而且此算法的成熟检测器的生成代价也较小。但是其不足点在于,要达到给定的预期的检测器覆盖率,其所需的成熟检测器数目往往很多。
(2)针对PT-RNSA对于给定的预期检测率所需的成熟检测器数目过多的问题,本论文继而提出了PT-RNSA的改进算法,即基于划分-测试-扩展的算法(Real-Valued Detector Generation Algorithm based on the Partition-Test-Spread Proess:PTS-RNSA)。PTS-RNSA算法基于划分-测试-扩展过程,实验结果表明,此算法有效解决了PT-RNSA算法的不足。

本文的主要创新之处在于:
(1)区别于具有一定随机性的传统检测器生成算法,本文所提出的算法是一种确定性的算法。
(2)本文所提出的算法,可以确保除了非我区域与自我区域的边界外,其它非我区域均可被覆盖。
(3)本文提出的检测器生成算法所生成的成熟检测器相互之间无交叉覆盖现象。

1.4 本论文的组织安排

本论文其余章节安排如下。
第二章详细介绍了基于划分-测试的实值检测器生成算法(PT-RNSA)的核心思想及其二维空间实现的伪代码,并用相关测试集进行性能测试。PT-RNSA算法通过与V-detector算法[49]实验对比,显示了其在成熟检测器生成代价上的优势,同时在固定预期检测率时,PT-RNSA的实际检测率也比V-detector算法[49]的实际检测率高,但不足之处是在预期检测率较高时,其所需的成熟检测器数目往往很多。在PT-RNSA算法与V-detector的改进算法[50]对比时,PT-RNSA算法的实际检测率与V-detector的改进算法[50]相当,但PT-RNSA所需生成的成熟检测器数目远多于V-detector的改进算法[50]。
为此,本文在第三章对PT-RNSA算法进行了扩展,提出了基于划分-测试-扩展的实值非选择算法(PTS-RNSA)。该算法与PT-RNSA相比,性能提高了很多,主要体现在,当成熟检测器数目相同时,PTS-RNSA的实际检测率远高于PT-RNSA的实际检测率;当预期检测率相同时,二者的实际检测率相当,但PTS-RNSA所需的成熟检测器数目远少于PT-RNSA。与V-detector算法的改进算法[50]做对比时,可以发现,在固定预期检测率时,二者实际检测率相当,但大多数情况下,PTS-RNSA所需的成熟检测器数目少于与V-detector的改进算法[50],而且PTS-RNSA成熟检测器的生成代价大部分情况下也低于V-detector的改进算法[50]的成熟检测器生成代价。因此,PTS-RNSA 是具有一定优势和竞争力的算法。
第四章是总结与展望,对本文研究工作进行了简要总结,给出了拟开展的下一步研究工作。

1.5 本章小结

本章首先简要介绍了非选择算法的基本概念,给出其框架和分类,然后分别介绍了二进制表示的非选择算法和实值表示的非选择算法以及目前的研究现状经典工作。最后给出了本论文的主要研究内容,创新之处以及组织方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: