苏志同 刘芳正
(北方工业大学计算机学院 北京 100144)
基于改进SVM主动学习的网络入侵检测*
苏志同刘芳正
(北方工业大学计算机学院北京100144)
支持向量机(SVM)主动学习模型能够很好地解决入侵检测系统的小样本学习的问题,提高入侵检测系统中分类器的性能。针对SVM主动学习模型对于构建初始训练集具有随机性,采用核空间聚类的初始训练集构建方法进行优化,并引入蚁群聚类算法减轻样本选择规则对分类性能的影响,结果表明改进后的模型可以有效提高入侵检测系统的分类性能。
入侵检测; 支持向量机; 主动学习; 分类性能
Class NumberTP393.08
在高速发展的信息时代,随着网络技术的不断发展,信息安全已经成为全球行的重要问题之一,而入侵检测系统是网络安全研究的一个重要方向[1],是继防火墙之后的新一代安全保护技术。入侵检测本质上是一个分类问题,它要求通过对训练集的学习,构造出一个分类器,能够将正常行为和异常行为区分开。而支持向量机算法能较好地解决小样本学习的二分类问题,同时具有很好的泛化能力。但是,如果训练样本集规模较大,会占用大量内存,同时训练耗时较长,这使得支持向量机(Support Vector Machine,SVM)存在较大的局限性。而SVM主动学习[2~3]集成了SVM算法和主动学习二者的优点,不但能很好地解决小样本学习的问题,还可以减少所需训练样本数量,提高入侵检测系统中分类器的性能。
然而,这种主动学习支持向量机模型存在两个问题,首先,如何从候选集中选择n个样本,初始化训练集。传统的随机构造初始训练集样本的方法质量不高,且容易陷入次优等问题。其次,如何从候选集中选择最能提升分类性能的样本,传统的方式是选择据当前超平面最近的样本进行类别标注,从而重构和优化当前分类超平面,提升分类精度。此方法偏差较大,检测结果不甚理想。针对这两个问题,本文提出对SVM主动学习模型的改进方法,结合核空间聚类的初始训练集构建方法,并引入蚁群聚类算法减轻样本选择规则对分类性能的影响。入侵检测实验表明,与已有的算法相比,本文提出的算法具有较高的检测性能,并能更好地应用到实际中去。
SVM对于解决二分类问题有很好的分类效果,其目的就是构造最优分类超平面,所谓最优分类超平面就是要求分类面不但能将两类示例无错误的分开,而且要使分类间隔最大。
(1)
分类函数可表示为
(2)
其中:sgn()是符号函数,b*是分类阈值。
因为SVM是一个凸二次规划问题,于是问题转换成KKT条件
这里的αi是拉格朗日乘子,我们要找出不满足KKT条件的αi,并更新αi和αj,不考虑其约束可以得其解可表示为式(3):
(3)
其中:Ek=uk-yk,η=k(xi,xi)+k(xj,xj)-2k(xi,xj)。
对于aj,可以寻找满足条件:max|Ei-Ej|的乘子。其中Ek=uk-yk,是根据当前组合估算的第k个样本的uk与实际的分类yk间的差值。对于b,可表示为式(4)。
(4)
主动学习SVM模型是在SVM模型的基础之上,通过SVM参数估计理论而得出的。主动学习[4]与被动学习的不同在于被动学习需要捕获外界的任意信息,而主动学习则是基于对数据分布的分析以及外界对已有样本的标注情况。主动学习的研究目标是寻找某种途径来选择能够最大可能改善当前所得分类器性能的样本。主动学习SVM的实现步骤如下:
输入:由数据集中选择未带类别标注的候选样本构成样本集U
输出:分类器f,预标注样本
1) 从候选集U中选取l个样本并将其类别正确标注,初始化训练集L,使L中至少有一个输出y为1与一个输出y为-1的样本数据。
2) 在L上训练SVM,得初始分类超平面,即初始分类器f,如式(2)所示。
3) 对候选样本集U中所有的样本数据使用f。
4) 根据样本选择规则从U中选择最能提升分类性能的样本,标注类别后加入L。
5) 在更新后的L上重新训练SVM。
6) 如果检测精度达到某一预先设定的值,算法停止,返回f,否则转至步骤4)。
这种SVM主动学习模型存在两个问题,第一,支持向量机的分类函数面为核空间的一个超平面。设在初始训练集上训练得到的超平面为H1,实际最优的超平面为H2,则SVM主动学习的过程就是超平面从H1向H2转化的过程。如图1所示。
图1 超平面的变化过程
如果二者差异较小,则可以减少后继学习过程中所需的样本数,因此,如何从U中选择l个样本,初始化训练集L,成为了提升性能的关键之一。
第二,从上文可以看出,SVM主动学习从形式上是一个循环反复的过程[5],首先,构造初始分类器,其次,在该分类器下,采用某种选择规则,从候选样本集中选择最有利于分类器性能的样本,标注类别后加入到训练样本集中,重新训练分类器。重复以上过程直到达到某一精度。那么,根据怎样的样本选择规则从U中选择最能提升分类性能的样本,对分类器的性能有极大的影响。
如前文所述,SVM主动学习模型对于如何从U中选择l个样本,初始化训练集L的问题没能很好的解决。于是文中提出一种结合核空间聚类的初始训练集构建方法:将待选的未标注样本集Du在核空间聚类,将Du划分为聚类簇Du1,Du2,…,DuN,选取聚类中心样本构建初始训练集。相对将候选集U交由专家分析,标注其类别,以获得训练所需的初始数据集L的方法,本文提出的方法可以更好的保证初始训练集中样本的多样性,提升分类器的性能。
另外,因为SVM依赖支持向量[6]来构建分类超平面,在每次SVM训练后,可以在间隔间添加数据点来逐步修改分类超平面。就是说下一次SVM学习所用的新得训练数据及包含支持向量和他们周围的数据点。传统的做法是在每步SVM训练后,选择距离当前超平面最近的样本进行类标注,设x为选中的样本,则满足:
(5)
式(6)代表的距离准则仅以当前超平面H为参考,可能导致部分本该成为支持向量的样本被忽略,使得学习所得分类面难以正确地收敛到Hr。为此,本文采用蚁群聚类算法[7]进行改进。
(6)
其中,ε是常数参量,β为正系数。
因此,当支持向量和它邻域里对象的平均相似度值大于某个阈值S,且邻域中对象的个数大于常数M时,停止聚类。
(7)
综上所述,改进的SVM主动学习算法具体步骤如下所示:
输入:由数据集中选择未带类别标注的候选样本构成样本集U
输出:分类器f,预标注样本
1) 将候选集U在核空间聚类,划分为聚类簇Du1,Du2,…,DuN,选取聚类中心样本构建初始训练集L。
2) 在L上训练SVM,得初始分类超平面,即初始分类器f,如式(2)所示。
3) 对候选样本集U中所有的样本数据使用f。
4) 根据式(6)计算支持向量和它邻域里对象的相似度值,当支持向量和它邻域里对象的平均相似度值大于某个阈值S,且邻域中对象的个数大于常数M时,停止聚类[11]。将支持向量以及聚类的得到的对象标注类别后加入L。
5) 在更新后的L上重新训练SVM。
6) 如果检测精度达到某一预先设定的值,算法停止,返回f,否则转至步骤4)。
本文采用KDDCUP99数据集[11]作为实验的训练数据集和检测数据集。该数据集包括约500万条训练集和300万条测试集,数据包括Dos(拒绝服务攻击)、R2L(未经授权的远程访问)、U2R(对本地超级用户的非法访问)和Probe(扫描与探测)四种类型的攻击[12]。实验以原始数据集的10%独立自己为数据来源,计算出每维属性的均值和标准偏差,然后采用式(8)对数据进行规范化。
(8)
为了定量地描述入侵检测系统的检测性能,给出如下评估指标:
为了比较算法的性能,在达到同等入侵检测率的条件下,分别对传统SVM算法,SVM主动学习算法以及改进后的SVM主动学习算法三者,重复10次实验,取平均值,对训练时间、检测率、误报率和漏报率比较分析,实验结果如表1所示。
表1 实验结果
实验表明,改进后的算法与SVM算法相比,降低了训练时间﹑误报率和漏报率,调高了检测率。与SVM主动学习相比,改进后的算法在小规模标注样本集上可获得较好的检测效果。
本文将改进后的SVM主动学习模型引入入侵检测中,选择使用少量高质量的训练样本进行建模从而高效地完成入侵检测任务,利用KDDCUP99数据集进行测试,证明了改进后的SVM主动学习模型可以有效地提高分类性能,并能很好的融入到入侵检测系统中。但本文给出的方法仍存在一定的局限性。特别是参数的确定问题,将是我们后续研究的重点。
[1] 学习矢量量化网络入侵检测的神经网络方法[J].武汉大学自然科学学报,2007,1:147-150.
Learning Vector Quantization Neural Network Method for Network Intrusion Detection[J]. Wuhan University Journal of Natural Sciences,2007,1:147-150.
[2] Wang W J.一个冗余的支持向量机增量学习算法[C]//机器学习和控制论,2008国际会议.IEEE,2008,2:734-738.
Wang W J. A redundant incremental learning algorithm for SVM[C]//Machine Learning and Cybernetics, 2008 International Conference on. IEEE,2008,2:734-738.
[3] Wenhua Z, Jian M.一种新的SVM增量学习算法[C]//设计中的计算机协同工作,2004.会议记录.第八届国际会议.IEEE,2004,1:658-662.
Wenhua Z, Jian M. A novel incremental SVM learning algorithm[C]//Computer Supported Cooperative Work in Design, 2004. Proceedings. The 8th International Conference on. IEEE,2004,1:658-662.
[4] Takashi Onoda, Hiroshi Murata, Seiji Yamada.基于支持向量机的交互式文档检索与主动学习[J].新一代计算,2008,261:59-60.
Takashi Onoda, Hiroshi Murata, Seiji Yamada. SVM-based Interactive Document Retrieval with Active Learning[J]. New Generation Computing,2008,261:59-60.
[5] Latifur Khan, Mamoun Awad, Bhavani Thuraisingham. A new intrusion detection system using support vector machines and hierarchical clustering[J]. The VLDB Journal,2007,16(4):507-521.
[6] Chuan Cai, Liang Yuan. Intrusion Detection System based on Ant Colony System[J]. Journal of Networks,2013,8(4).
[7] Zhang Qinglei. A New Intrusion Detection System Based on the Combination of Support Vectors and Ant Colony: Algorithm and Implementation[J]. Masters Abstracts International,2009.
[8] Vlachos A. Active learning with support vector machines[D]. Edinburgh: Master Thesis of Edinburgh University,2004.
[9] Wun-Hwa Chen, Sheng-Hsun Hsu, Hwang-Pin Shen. Application of SVM and ANN for intrusion detection[J]. Computers & OR,2005,32(10):2617-2634.
[10] Jia H, Murphey Y L, Gutchess D, et al. Identifying knowledge domain and incremental new class learning in SVM[C]//Neural Networks, 2005. IJCNN’05. Proceedings. 2005 IEEE International Joint Conference on. IEEE,2005,5:2742-2747.
[11] 学习矢量量化神经网络的网络入侵检测方法[J].武汉大学自然科学学报,2007,1:147-150.
Learning Vector Quantization Neural Network Method for Network Intrusion Detection[J]. Wuhan University Journal of Natural Sciences,2007,1:147-150.
[12] Chen J. Study on an Improved SVM Model for Intrusion Detection[C]//2011 International Conference in Electrics, Communication and Automatic Control Proceedings. Springer New York,2012:275-285.
An Improved Incremental Bayes Classificaiton Model
SU ZhitongLIU Fangzheng
(College of Computer, North China University of Technology, Beijing100144)
Support vector machine(SVM) active learning model can solve the problem of small sample learning of intrusion detection system, and improve the performance of the classifier in intrusion detection system. For SVM active learngin model to construct the initial training set is random, the nuclear spatial clustering of the initial training set construction method were optimized, and the introduction of ant colony clustering algorithm reducing sample selection rules on the classification performance effect. The results show that the improved model can effectively improve the intrusion detection system of classification performance.
intrusion detection, support vector machine, active learning, classification performance
2016年3月7日,
2016年4月19日
苏志同,男,教授,研究方向:数据挖掘,数字媒体技术。刘芳正,女,硕士研究生,研究方向:数据挖掘。
TP393.08DOI:10.3969/j.issn.1672-9722.2016.09.031