文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2010)10-0132-04
1980年4月Anderson第一次闡述了入侵檢測的概念,指出可以使用審計網(wǎng)絡(luò)數(shù)據(jù)的方式判斷非法入侵的發(fā)生[1]。在網(wǎng)絡(luò)數(shù)據(jù)的審計中,沒有一種確定的函數(shù)關(guān)系可以鑒別非法入侵。因此引入機(jī)器學(xué)習(xí)的方法,作為入侵行為和網(wǎng)絡(luò)數(shù)據(jù)特征之間模型進(jìn)行函數(shù)逼近。
機(jī)器學(xué)習(xí)的方法在入侵檢測領(lǐng)域應(yīng)用廣泛,并有較好的檢測效果。傳統(tǒng)的機(jī)器學(xué)習(xí)算法需要大量的網(wǎng)絡(luò)數(shù)據(jù),而正常的網(wǎng)絡(luò)數(shù)據(jù)特征有著小樣本、高維數(shù)、多變性的特點(diǎn)。支持向量機(jī)(SVM)對小樣本、高維數(shù)的數(shù)據(jù)有著較好的訓(xùn)練能力,已經(jīng)被應(yīng)用于入侵檢測[2]。最小二乘向量機(jī)(LSSVM)是SVM中的一種,相比SVM有著更快的運(yùn)行速度。LSSVM懲罰因子C和核函數(shù)參數(shù)?滓的選擇使用網(wǎng)格搜索,耗時且分類精度不高。而粒子群優(yōu)化(PSO)算法的尋優(yōu)求解能力較為突出,可以利用PSO算法對LSSVM的相應(yīng)參數(shù)進(jìn)行選擇[3]。
PSO算法中一個重要的參數(shù)就是慣性權(quán)重w。w較大時,全局搜索能力較強(qiáng);w較小時,局部搜索能力較強(qiáng)?;綪SO算法采用固定w,搜索的性能和效率不高。參考文獻(xiàn)[4]提出了讓w隨著進(jìn)化的進(jìn)行而線性減少的策略,相應(yīng)的PSO算法稱為線性權(quán)重下降PSO(LWDPSO)算法。該P(yáng)SO算法在提高搜索效率的同時有著早熟收斂、陷于局部最優(yōu)的缺點(diǎn)。本文提出一種改進(jìn)的PSO算法,即并行PSO算法。該算法將粒子群分成兩組[5]進(jìn)行協(xié)同搜索,兩組粒子具有不同的w,其中w較大的粒子組側(cè)重全局搜索;w較小的粒子組側(cè)重在w大的粒子組找到全局最優(yōu)位置的附近區(qū)域進(jìn)行精細(xì)搜索。每組都有一部分固定的粒子,其余的粒子根據(jù)進(jìn)化階段動態(tài)分配給兩組,通過動態(tài)分配粒子保證算法初期以全局搜索為主,后期以局部搜索為主。通過適應(yīng)度函數(shù)的仿真實(shí)驗(yàn),證明了并行PSO算法的尋優(yōu)性能更優(yōu)。
選用RBF函數(shù)作為核函數(shù):
2 PSO算法
PSO算法源于對鳥類覓食行為的模擬,通過鳥群之間的集體協(xié)作使群體達(dá)到最優(yōu)。標(biāo)準(zhǔn)PSO算法初始化產(chǎn)生一群粒子,每個粒子以一定的速度在n維空間里飛行,飛行速度由個體的飛行經(jīng)歷和群體的飛行經(jīng)歷動態(tài)調(diào)整。X1=(Xi1,Xi2,…,Xin)是粒子i當(dāng)前的位置,V1=(Vi1,Vi2,…,Vin)是粒子當(dāng)前的速度,P1=(Pi1,Pi2,…,Pin)是粒子i所經(jīng)歷過的最好位置,在這個位置粒子i擁有最佳適應(yīng)度。設(shè)f(x)為最小化的目標(biāo)函數(shù),則粒子i的最好位置由下
3 改進(jìn)PSO算法
粒子群進(jìn)化前期應(yīng)該以全局搜索為主,搜索整個空間,但不能放棄局部搜索,因?yàn)槿炙阉鞯牧W铀俣容^快,發(fā)現(xiàn)的位置的范圍雖然廣泛,但精度不高,容易錯過全局最優(yōu)位置;進(jìn)化后期應(yīng)該以局部搜索為主,但不能放棄全局搜索,因?yàn)榫植克阉麟m然精細(xì),但搜索的范圍較小,無法搜索到較遠(yuǎn)的更優(yōu)位置。
本文提出一種改進(jìn)PSO算法,即并行PSO算法。設(shè)粒子的數(shù)量為S,總進(jìn)化代數(shù)為G,當(dāng)前進(jìn)化代數(shù)為i。該算法將粒子群分成兩組,運(yùn)行PSO算法時慣性權(quán)重w分別設(shè)置為0.95和0.4,其中w為0.95的粒子組側(cè)重全局搜索,w為0.4的粒子組側(cè)重在w為0.95的粒子組找到全局最優(yōu)位置的區(qū)域進(jìn)行精細(xì)搜索。每組粒子都有一定基本的粒子數(shù)量,均為S/4。剩余S/2粒子根據(jù)進(jìn)化階段動態(tài)分配給兩組,分配給w為0.95的粒子組為S×(G-i)/2G(朝負(fù)無窮方向取整);分配給w為0.4的粒子組為S×i)/2G(朝正無窮方向取整)。
進(jìn)化初始,w為0.95的粒子組粒子數(shù)目最多,達(dá)到3S/4,進(jìn)行全局搜索,余下的S/4 w為0.4的粒子組對全局搜索到的當(dāng)前最優(yōu)位置的小范圍區(qū)域進(jìn)行局部搜索,期望在該區(qū)域中搜索到更優(yōu)位置;進(jìn)化后期,動態(tài)粒子逐漸從w為0.95的粒子組調(diào)整到w為0.4的粒子組,空間已被w為0.95的粒子組多次搜索,w為0.4的粒子組針對當(dāng)前最優(yōu)位置的相關(guān)小范圍區(qū)域進(jìn)行局部搜索,w為0.95的粒子組在對空間中當(dāng)前全局最優(yōu)位置的相關(guān)大范圍區(qū)域進(jìn)行搜索,不放棄任何尋找到全局最優(yōu)位置的機(jī)會。
4 仿真實(shí)驗(yàn)及分析
使用四種典型的測試函數(shù)[6]: Sphere函數(shù)、 Rastrigrin函數(shù)、Rosenbrock函數(shù)和Griewank函數(shù)作為適應(yīng)度函數(shù)進(jìn)行測試。各算法最大進(jìn)化代數(shù)為500代,種群規(guī)模為80,優(yōu)化方程的維數(shù)為30,c1、c2等于2,搜索的空間為[-100,100]。為避免實(shí)驗(yàn)中偶然性現(xiàn)象,現(xiàn)將PSO三種算法針對這四種函數(shù)同時進(jìn)行了10次實(shí)驗(yàn)。圖1~圖4分別是四種測試函數(shù)對三種算法的適應(yīng)度變化與進(jìn)化代數(shù)比較曲線圖。表1是三種算法在10次實(shí)驗(yàn)次數(shù)中取得的適應(yīng)度的平均值、最大值和最小值。
基本PSO算法粒子一直進(jìn)行全局搜索,沒有進(jìn)行局部精細(xì)搜索,因此無法找到較優(yōu)位置,適應(yīng)度值一直較大,尋優(yōu)效果較差;LWDPSO算法在前期有較好的搜索效果,但是在中后期收斂之后對最優(yōu)位置的搜索沒有任何突破,早熟的跡象非常明顯;并行PSO算法有著較好的全局搜索能力以及局部收斂能力,對最優(yōu)位置的搜索較為穩(wěn)定,避免了局部最優(yōu),沒有早熟的缺點(diǎn),同時搜索到了最優(yōu)位置。同時從表1可以得出:基本PSO算法的尋優(yōu)較差,得到的適應(yīng)度遠(yuǎn)遠(yuǎn)高于其他兩種算法;LWDPSO算法的尋優(yōu)結(jié)果優(yōu)于基本PSO算法,次于并行PSO算法;并行PSO算法的尋優(yōu)結(jié)果優(yōu)于基本PSO算法和LWDPSO算法,實(shí)驗(yàn)得到的適應(yīng)度平均值、最大值和最小值在三種算法中都是最低的。
5 基于并行PSO算法的LSSVM建模方法
將LSSVM的懲罰因子C和δ核參數(shù)映射成粒子,根據(jù)并行PSO算法進(jìn)行優(yōu)化選擇,最終使得建立的模型估計值與期望值的逼近程度達(dá)到預(yù)期目標(biāo)。其算法流程如下:
(1) 并行PSO算法參數(shù)初始化,將粒子群分成兩組,慣性權(quán)重w分別設(shè)置為0.95和0.4。
(2) 根據(jù)設(shè)定的適應(yīng)度函數(shù),計算每個粒子的位置。
(3) 將粒子的位置與自身最優(yōu)位置進(jìn)行比較,如果當(dāng)前位置相應(yīng)適應(yīng)度小,則更新自身最優(yōu)位置。
(4)比較每個粒子的自身最優(yōu)位置適應(yīng)度求出全局最優(yōu)位置。
(5) 根據(jù)當(dāng)前進(jìn)化代數(shù)動態(tài)調(diào)整兩組粒子的數(shù)目,進(jìn)行下一代進(jìn)化。
(6) 所有進(jìn)化次數(shù)結(jié)束,將此時全局最優(yōu)粒子分別映射為懲罰因子C和核參數(shù)?滓,并以此為優(yōu)化結(jié)果,建立模型。
6 實(shí)驗(yàn)過程及結(jié)果
6.1實(shí)驗(yàn)數(shù)據(jù)預(yù)處理
實(shí)驗(yàn)中采用的數(shù)據(jù)取自1999年DARPA為KDD競賽提供的一個異常檢測的標(biāo)準(zhǔn)數(shù)據(jù)集,它是由美國麻省理工學(xué)院的Liconln實(shí)驗(yàn)室通過模擬一個典型的美國空軍網(wǎng)絡(luò)而獲得原始的TCP/IP網(wǎng)絡(luò)通信數(shù)據(jù),對于每一個TCP/IP連接,提取了41個屬性。數(shù)據(jù)中有四種類型的攻擊:未經(jīng)授權(quán)的遠(yuǎn)程訪問(R2L)、拒絕服務(wù)攻擊(DoS)、對本地超級用戶的非法訪問(U2R)和掃描與探測(Probing)。標(biāo)識為正常的數(shù)據(jù)占19.6%,攻擊數(shù)據(jù)占80.4%。
實(shí)驗(yàn)中的訓(xùn)練數(shù)據(jù)取自于原始數(shù)據(jù)集中kddcup數(shù)據(jù),測試數(shù)據(jù)取自于corrected數(shù)據(jù),訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)采用等間隔的選取方式。測試數(shù)據(jù)共選取54 220條,其中正常數(shù)據(jù)12 140條、攻擊數(shù)據(jù)42 080條,訓(xùn)練數(shù)據(jù)共33 520條,按類型和間隔平均分成10組,分別使用10組訓(xùn)練數(shù)據(jù)建立模型對測試數(shù)據(jù)進(jìn)行測試,實(shí)驗(yàn)結(jié)果取10次實(shí)驗(yàn)的平均值。
實(shí)驗(yàn)中,需要對數(shù)據(jù)進(jìn)行處理,實(shí)驗(yàn)數(shù)據(jù)的protocol-type、sevice和flag屬性使用字符串表示,對其進(jìn)行數(shù)字替換處理,對屬性中不同的類型使用不同的數(shù)字表示。另外,必須要對所有屬性進(jìn)行歸一化處理,公式為:
其中new為歸一化后的數(shù)據(jù),old為歸一化前數(shù)據(jù),max為屬性的最大值,min為屬性的最小值。
6.2 實(shí)驗(yàn)結(jié)果
網(wǎng)格搜索、LWDPSO算法和并行PSO算法分別對LSSVM的參數(shù)尋優(yōu),并建立各自的模型,對測試數(shù)據(jù)集進(jìn)行了檢測。實(shí)驗(yàn)結(jié)果如表2所示。
從表2可以得出,由于訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)采自不同的數(shù)據(jù)集,網(wǎng)格搜索和LWDPSO算法的檢測率較低,誤報率和漏報率較高;采用并行PSO算法對LSSVM進(jìn)行參數(shù)尋優(yōu)所建立的入侵檢測模型檢測率、誤報率和漏報率都優(yōu)于其他兩種算法參數(shù)尋優(yōu)后所建立的模型。
本文給出并分析了基本PSO算法和LWDPSO算法的定義及特點(diǎn)。提出并行PSO算法,將粒子群分成兩組,分別設(shè)置不同的慣性權(quán)重,慣性權(quán)重大的粒子組側(cè)重全局搜索,慣性權(quán)重小的粒子組側(cè)重在慣性權(quán)重大的粒子組找到全局最優(yōu)位置的附近區(qū)域進(jìn)行精細(xì)搜索。根據(jù)進(jìn)化代數(shù)動態(tài)調(diào)整兩組中進(jìn)化的粒子數(shù),并給出了每組粒子的數(shù)量調(diào)整公式。通過四個適應(yīng)度函數(shù)仿真實(shí)驗(yàn),證明了并行PSO算法的尋優(yōu)性能優(yōu)于基本PSO算法與LWDPSO算法。通過入侵檢測實(shí)驗(yàn)測試,并行PSO算法對LSSVM參數(shù)尋優(yōu)后建立的模型可以有效提高入侵檢測的性能指標(biāo)。
參考文獻(xiàn)
[1] ANDERSON J P. Computer sercurity threat monitoring and surveillance[R]. James PAnderson Co, Fort Washington, Pennsylvania, Aprial 1980.
[2] MUKKAMALA S, JANOSKIG I, SUNGA H. Intrusion detection using neural networks and support vector machines[C]. Proc of IEEE International Joint Conference on Neural Networks. Washington DC:IEEE Computer Society, 2002: 1702-1707.
[3] 陳光英,張千里,李星. 特征選擇和SVM訓(xùn)練模型的聯(lián)合優(yōu)化[J]. 清華大學(xué)學(xué)報(自然科學(xué)版),2004,44(1);9-12.
[4] SHI Y, EBERHART R. A modified particle swarm optimizer[C]. IEEE World Congress on Computational Intelligence. Piscataway:IEEE Press,1998:69-73.
[5] 龍文,梁昔明,肖金紅,等.一種動態(tài)分級的混合粒子群優(yōu)化算法[J].控制與決策.2009,24(6):1406-1411.
[6] CLERC M, KENNEDY J. The particle swarm: explosion, stability, and convergence in multi-dimension complex space[J]. IEEE Transactions on Evolutionary Computation, 2002,16(1):58-73.