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