蘇志同 劉芳正
(北方工業(yè)大學(xué)計(jì)算機(jī)學(xué)院 北京 100144)
?
基于改進(jìn)SVM主動(dòng)學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)*
蘇志同劉芳正
(北方工業(yè)大學(xué)計(jì)算機(jī)學(xué)院北京100144)
支持向量機(jī)(SVM)主動(dòng)學(xué)習(xí)模型能夠很好地解決入侵檢測(cè)系統(tǒng)的小樣本學(xué)習(xí)的問(wèn)題,提高入侵檢測(cè)系統(tǒng)中分類器的性能。針對(duì)SVM主動(dòng)學(xué)習(xí)模型對(duì)于構(gòu)建初始訓(xùn)練集具有隨機(jī)性,采用核空間聚類的初始訓(xùn)練集構(gòu)建方法進(jìn)行優(yōu)化,并引入蟻群聚類算法減輕樣本選擇規(guī)則對(duì)分類性能的影響,結(jié)果表明改進(jìn)后的模型可以有效提高入侵檢測(cè)系統(tǒng)的分類性能。
入侵檢測(cè); 支持向量機(jī); 主動(dòng)學(xué)習(xí); 分類性能
Class NumberTP393.08
在高速發(fā)展的信息時(shí)代,隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,信息安全已經(jīng)成為全球行的重要問(wèn)題之一,而入侵檢測(cè)系統(tǒng)是網(wǎng)絡(luò)安全研究的一個(gè)重要方向[1],是繼防火墻之后的新一代安全保護(hù)技術(shù)。入侵檢測(cè)本質(zhì)上是一個(gè)分類問(wèn)題,它要求通過(guò)對(duì)訓(xùn)練集的學(xué)習(xí),構(gòu)造出一個(gè)分類器,能夠?qū)⒄P袨楹彤惓P袨閰^(qū)分開(kāi)。而支持向量機(jī)算法能較好地解決小樣本學(xué)習(xí)的二分類問(wèn)題,同時(shí)具有很好的泛化能力。但是,如果訓(xùn)練樣本集規(guī)模較大,會(huì)占用大量?jī)?nèi)存,同時(shí)訓(xùn)練耗時(shí)較長(zhǎng),這使得支持向量機(jī)(Support Vector Machine,SVM)存在較大的局限性。而SVM主動(dòng)學(xué)習(xí)[2~3]集成了SVM算法和主動(dòng)學(xué)習(xí)二者的優(yōu)點(diǎn),不但能很好地解決小樣本學(xué)習(xí)的問(wèn)題,還可以減少所需訓(xùn)練樣本數(shù)量,提高入侵檢測(cè)系統(tǒng)中分類器的性能。
然而,這種主動(dòng)學(xué)習(xí)支持向量機(jī)模型存在兩個(gè)問(wèn)題,首先,如何從候選集中選擇n個(gè)樣本,初始化訓(xùn)練集。傳統(tǒng)的隨機(jī)構(gòu)造初始訓(xùn)練集樣本的方法質(zhì)量不高,且容易陷入次優(yōu)等問(wèn)題。其次,如何從候選集中選擇最能提升分類性能的樣本,傳統(tǒng)的方式是選擇據(jù)當(dāng)前超平面最近的樣本進(jìn)行類別標(biāo)注,從而重構(gòu)和優(yōu)化當(dāng)前分類超平面,提升分類精度。此方法偏差較大,檢測(cè)結(jié)果不甚理想。針對(duì)這兩個(gè)問(wèn)題,本文提出對(duì)SVM主動(dòng)學(xué)習(xí)模型的改進(jìn)方法,結(jié)合核空間聚類的初始訓(xùn)練集構(gòu)建方法,并引入蟻群聚類算法減輕樣本選擇規(guī)則對(duì)分類性能的影響。入侵檢測(cè)實(shí)驗(yàn)表明,與已有的算法相比,本文提出的算法具有較高的檢測(cè)性能,并能更好地應(yīng)用到實(shí)際中去。
SVM對(duì)于解決二分類問(wèn)題有很好的分類效果,其目的就是構(gòu)造最優(yōu)分類超平面,所謂最優(yōu)分類超平面就是要求分類面不但能將兩類示例無(wú)錯(cuò)誤的分開(kāi),而且要使分類間隔最大。
(1)
分類函數(shù)可表示為
(2)
其中:sgn()是符號(hào)函數(shù),b*是分類閾值。
因?yàn)镾VM是一個(gè)凸二次規(guī)劃問(wèn)題,于是問(wèn)題轉(zhuǎn)換成KKT條件
這里的αi是拉格朗日乘子,我們要找出不滿足KKT條件的αi,并更新αi和αj,不考慮其約束可以得其解可表示為式(3):
(3)
其中:Ek=uk-yk,η=k(xi,xi)+k(xj,xj)-2k(xi,xj)。
對(duì)于aj,可以尋找滿足條件:max|Ei-Ej|的乘子。其中Ek=uk-yk,是根據(jù)當(dāng)前組合估算的第k個(gè)樣本的uk與實(shí)際的分類yk間的差值。對(duì)于b,可表示為式(4)。
(4)
主動(dòng)學(xué)習(xí)SVM模型是在SVM模型的基礎(chǔ)之上,通過(guò)SVM參數(shù)估計(jì)理論而得出的。主動(dòng)學(xué)習(xí)[4]與被動(dòng)學(xué)習(xí)的不同在于被動(dòng)學(xué)習(xí)需要捕獲外界的任意信息,而主動(dòng)學(xué)習(xí)則是基于對(duì)數(shù)據(jù)分布的分析以及外界對(duì)已有樣本的標(biāo)注情況。主動(dòng)學(xué)習(xí)的研究目標(biāo)是尋找某種途徑來(lái)選擇能夠最大可能改善當(dāng)前所得分類器性能的樣本。主動(dòng)學(xué)習(xí)SVM的實(shí)現(xiàn)步驟如下:
輸入:由數(shù)據(jù)集中選擇未帶類別標(biāo)注的候選樣本構(gòu)成樣本集U
輸出:分類器f,預(yù)標(biāo)注樣本
1) 從候選集U中選取l個(gè)樣本并將其類別正確標(biāo)注,初始化訓(xùn)練集L,使L中至少有一個(gè)輸出y為1與一個(gè)輸出y為-1的樣本數(shù)據(jù)。
2) 在L上訓(xùn)練SVM,得初始分類超平面,即初始分類器f,如式(2)所示。
3) 對(duì)候選樣本集U中所有的樣本數(shù)據(jù)使用f。
4) 根據(jù)樣本選擇規(guī)則從U中選擇最能提升分類性能的樣本,標(biāo)注類別后加入L。
5) 在更新后的L上重新訓(xùn)練SVM。
6) 如果檢測(cè)精度達(dá)到某一預(yù)先設(shè)定的值,算法停止,返回f,否則轉(zhuǎn)至步驟4)。
這種SVM主動(dòng)學(xué)習(xí)模型存在兩個(gè)問(wèn)題,第一,支持向量機(jī)的分類函數(shù)面為核空間的一個(gè)超平面。設(shè)在初始訓(xùn)練集上訓(xùn)練得到的超平面為H1,實(shí)際最優(yōu)的超平面為H2,則SVM主動(dòng)學(xué)習(xí)的過(guò)程就是超平面從H1向H2轉(zhuǎn)化的過(guò)程。如圖1所示。
圖1 超平面的變化過(guò)程
如果二者差異較小,則可以減少后繼學(xué)習(xí)過(guò)程中所需的樣本數(shù),因此,如何從U中選擇l個(gè)樣本,初始化訓(xùn)練集L,成為了提升性能的關(guān)鍵之一。
第二,從上文可以看出,SVM主動(dòng)學(xué)習(xí)從形式上是一個(gè)循環(huán)反復(fù)的過(guò)程[5],首先,構(gòu)造初始分類器,其次,在該分類器下,采用某種選擇規(guī)則,從候選樣本集中選擇最有利于分類器性能的樣本,標(biāo)注類別后加入到訓(xùn)練樣本集中,重新訓(xùn)練分類器。重復(fù)以上過(guò)程直到達(dá)到某一精度。那么,根據(jù)怎樣的樣本選擇規(guī)則從U中選擇最能提升分類性能的樣本,對(duì)分類器的性能有極大的影響。
如前文所述,SVM主動(dòng)學(xué)習(xí)模型對(duì)于如何從U中選擇l個(gè)樣本,初始化訓(xùn)練集L的問(wèn)題沒(méi)能很好的解決。于是文中提出一種結(jié)合核空間聚類的初始訓(xùn)練集構(gòu)建方法:將待選的未標(biāo)注樣本集Du在核空間聚類,將Du劃分為聚類簇Du1,Du2,…,DuN,選取聚類中心樣本構(gòu)建初始訓(xùn)練集。相對(duì)將候選集U交由專家分析,標(biāo)注其類別,以獲得訓(xùn)練所需的初始數(shù)據(jù)集L的方法,本文提出的方法可以更好的保證初始訓(xùn)練集中樣本的多樣性,提升分類器的性能。
另外,因?yàn)镾VM依賴支持向量[6]來(lái)構(gòu)建分類超平面,在每次SVM訓(xùn)練后,可以在間隔間添加數(shù)據(jù)點(diǎn)來(lái)逐步修改分類超平面。就是說(shuō)下一次SVM學(xué)習(xí)所用的新得訓(xùn)練數(shù)據(jù)及包含支持向量和他們周?chē)臄?shù)據(jù)點(diǎn)。傳統(tǒng)的做法是在每步SVM訓(xùn)練后,選擇距離當(dāng)前超平面最近的樣本進(jìn)行類標(biāo)注,設(shè)x為選中的樣本,則滿足:
(5)
式(6)代表的距離準(zhǔn)則僅以當(dāng)前超平面H為參考,可能導(dǎo)致部分本該成為支持向量的樣本被忽略,使得學(xué)習(xí)所得分類面難以正確地收斂到Hr。為此,本文采用蟻群聚類算法[7]進(jìn)行改進(jìn)。
(6)
其中,ε是常數(shù)參量,β為正系數(shù)。
因此,當(dāng)支持向量和它鄰域里對(duì)象的平均相似度值大于某個(gè)閾值S,且鄰域中對(duì)象的個(gè)數(shù)大于常數(shù)M時(shí),停止聚類。
(7)
綜上所述,改進(jìn)的SVM主動(dòng)學(xué)習(xí)算法具體步驟如下所示:
輸入:由數(shù)據(jù)集中選擇未帶類別標(biāo)注的候選樣本構(gòu)成樣本集U
輸出:分類器f,預(yù)標(biāo)注樣本
1) 將候選集U在核空間聚類,劃分為聚類簇Du1,Du2,…,DuN,選取聚類中心樣本構(gòu)建初始訓(xùn)練集L。
2) 在L上訓(xùn)練SVM,得初始分類超平面,即初始分類器f,如式(2)所示。
3) 對(duì)候選樣本集U中所有的樣本數(shù)據(jù)使用f。
4) 根據(jù)式(6)計(jì)算支持向量和它鄰域里對(duì)象的相似度值,當(dāng)支持向量和它鄰域里對(duì)象的平均相似度值大于某個(gè)閾值S,且鄰域中對(duì)象的個(gè)數(shù)大于常數(shù)M時(shí),停止聚類[11]。將支持向量以及聚類的得到的對(duì)象標(biāo)注類別后加入L。
5) 在更新后的L上重新訓(xùn)練SVM。
6) 如果檢測(cè)精度達(dá)到某一預(yù)先設(shè)定的值,算法停止,返回f,否則轉(zhuǎn)至步驟4)。
本文采用KDDCUP99數(shù)據(jù)集[11]作為實(shí)驗(yàn)的訓(xùn)練數(shù)據(jù)集和檢測(cè)數(shù)據(jù)集。該數(shù)據(jù)集包括約500萬(wàn)條訓(xùn)練集和300萬(wàn)條測(cè)試集,數(shù)據(jù)包括Dos(拒絕服務(wù)攻擊)、R2L(未經(jīng)授權(quán)的遠(yuǎn)程訪問(wèn))、U2R(對(duì)本地超級(jí)用戶的非法訪問(wèn))和Probe(掃描與探測(cè))四種類型的攻擊[12]。實(shí)驗(yàn)以原始數(shù)據(jù)集的10%獨(dú)立自己為數(shù)據(jù)來(lái)源,計(jì)算出每維屬性的均值和標(biāo)準(zhǔn)偏差,然后采用式(8)對(duì)數(shù)據(jù)進(jìn)行規(guī)范化。
(8)
為了定量地描述入侵檢測(cè)系統(tǒng)的檢測(cè)性能,給出如下評(píng)估指標(biāo):
為了比較算法的性能,在達(dá)到同等入侵檢測(cè)率的條件下,分別對(duì)傳統(tǒng)SVM算法,SVM主動(dòng)學(xué)習(xí)算法以及改進(jìn)后的SVM主動(dòng)學(xué)習(xí)算法三者,重復(fù)10次實(shí)驗(yàn),取平均值,對(duì)訓(xùn)練時(shí)間、檢測(cè)率、誤報(bào)率和漏報(bào)率比較分析,實(shí)驗(yàn)結(jié)果如表1所示。
表1 實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)表明,改進(jìn)后的算法與SVM算法相比,降低了訓(xùn)練時(shí)間﹑誤報(bào)率和漏報(bào)率,調(diào)高了檢測(cè)率。與SVM主動(dòng)學(xué)習(xí)相比,改進(jìn)后的算法在小規(guī)模標(biāo)注樣本集上可獲得較好的檢測(cè)效果。
本文將改進(jìn)后的SVM主動(dòng)學(xué)習(xí)模型引入入侵檢測(cè)中,選擇使用少量高質(zhì)量的訓(xùn)練樣本進(jìn)行建模從而高效地完成入侵檢測(cè)任務(wù),利用KDDCUP99數(shù)據(jù)集進(jìn)行測(cè)試,證明了改進(jìn)后的SVM主動(dòng)學(xué)習(xí)模型可以有效地提高分類性能,并能很好的融入到入侵檢測(cè)系統(tǒng)中。但本文給出的方法仍存在一定的局限性。特別是參數(shù)的確定問(wèn)題,將是我們后續(xù)研究的重點(diǎn)。
[1] 學(xué)習(xí)矢量量化網(wǎng)絡(luò)入侵檢測(cè)的神經(jīng)網(wǎng)絡(luò)方法[J].武漢大學(xué)自然科學(xué)學(xué)報(bào),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.一個(gè)冗余的支持向量機(jī)增量學(xué)習(xí)算法[C]//機(jī)器學(xué)習(xí)和控制論,2008國(guó)際會(huì)議.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增量學(xué)習(xí)算法[C]//設(shè)計(jì)中的計(jì)算機(jī)協(xié)同工作,2004.會(huì)議記錄.第八屆國(guó)際會(huì)議.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ī)的交互式文檔檢索與主動(dòng)學(xué)習(xí)[J].新一代計(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] 學(xué)習(xí)矢量量化神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測(cè)方法[J].武漢大學(xué)自然科學(xué)學(xué)報(bào),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日
蘇志同,男,教授,研究方向:數(shù)據(jù)挖掘,數(shù)字媒體技術(shù)。劉芳正,女,碩士研究生,研究方向:數(shù)據(jù)挖掘。
TP393.08DOI:10.3969/j.issn.1672-9722.2016.09.031