?

人工魚群特征選擇的網絡入侵檢測系統

2023-09-07 08:47劉景美閆義博
西安電子科技大學學報 2023年4期
關鍵詞:魚群特征選擇子集

劉景美,閆義博

(西安電子科技大學 通信工程學院,陜西 西安 710071)

1 引 言

對于入侵檢測來說,高維數據中存在較多冗余或不相關特征,可能會影響分類速度,甚至降低分類精度,因此數據維度在入侵檢測問題中是關鍵因素。文獻[1]中設計了一種自適應分箱特征選擇方法,有效縮減了數據維度,在保證準確率下實現快速模型訓練。文獻[2]介紹了部署在各個領域入侵檢測的最先進的群體智能方法。文獻[3]在傳統鴿群算法中結合新的適應度函數、二進制離散化新方法,余弦相似度的連續離散化算法,并沒有對群智能算法本身做出改進。由于貪心步驟的緣故,鴿群無法飛到差于自己的位置,特征子集的搜索空間受到限制。文獻[4]提出了一種基于人工蜂群(Artificial Bee Colony,ABC)和人工魚群(Artificial Fish Swarm,AFS)算法的混合分類方法,并在NSL-KDD、UNSW-NB15數據集上進行了驗證。人工魚群算法雖然具有魯棒性強、收斂性能好的優點,但搜索效率上仍存在盲搜、優化結果準確率低等缺點。

針對以上問題,筆者提出了一種基于多目標人工魚群的特征選擇算法,用來處理入侵檢測數據集中的冗余特征,從而提升檢測階段的準確率。將傳統的人工魚群進行改進,并與經典的遺傳算法、多目標優化算法等進行結合,用于入侵檢測的特征選擇,在保證較高準確率的條件下縮小數據維數。在入侵檢測經典數據集NSL-KDD、UNSW-NB15對所提出的系統進行對比實驗,驗證所提方法的檢測性能。

2 基于人工魚群特征選擇的網絡入侵檢測系統

2.1 人工魚群算法

人工魚是真實魚抽象化、虛擬化的一個實體,其中封裝了狀態數據和行為準則[5],針對身邊環境的刺激,做出相應的活動。算法主要利用魚的三大基本行為:覓食、聚群和追尾。

(1) 覓食行為:由魚趨向食物的特性抽象而來。設人工魚當前的狀態為Xi,相應的食物濃度為Yi,魚會在可視域范圍內隨機選取下一狀態Xj,計算公式如式(1)。其對應食物濃度為Yj。如果Yj>Yi,則魚游向Xj,下一狀態為式(2),否則按式(3)隨機移動一步:

Xj=Xi+VR(·) ,

(1)

(2)

(3)

其中,V為視野范圍,S為步長,R(·)為生成隨機數函數。

(2) 聚群行為:對魚躲避危害來保證自身生存的行為進行抽象。人工魚Xi計算可視域中魚群數量與中心位置Xc。如果食物濃度Yc>Yi并且nf/n<σ(nf為當前鄰域中的同伴數量,n為全部魚個數),則表示其視野中心Xc具有較高的食物密度,且周圍不擁擠,Xi游向Xc,下一狀態為式(4),否則執行其他行為。

(4)

(3) 追尾行為:當有一條人工魚發現解空間中食物濃度高的地方,周圍的人工魚會尾隨而來。人工魚Xi探索可視域內食物濃度最高的人工魚Xj的位置;若Yj>Yi,且Xj周圍不擁擠,則Xi游向Xj,下一狀態為式(5),否則執行其他行為。

(5)

2.2 用于特征選擇的二進制人工魚群

優化算法應用于入侵檢測的特征選擇時需將個體狀態設為二進制,用來表示對特征的取舍問題。個體的維數設置為數據的列數,每一維由0和1組成,1表示選擇該維數對應的特征,0代表不選擇,如圖1所示。每一個人工魚的狀態對應選取的一組特征子集。

圖1 二進制特征選擇方法

2.3 改進的人工魚群算法

在算法的初始階段,搜索空間為整個解空間。每條人工魚擁有較大的可視域,在可視域中執行聚群、覓食、追尾等行為。傳統的魚群算法尋優范圍固定,會導致收斂緩慢甚至退化。為了改善搜索能力,得出最佳的特征子集,文中對視野范圍進行了動態調整。初始階段擴大尋優范圍,加強全局搜索能力。定位到最優解的大致位置后,加強局部搜索能力。令魚群的視野適當減小以加快收斂速度,增加收斂精度。群體視野范圍根據式(6)自適應調整,聚群行為視野范圍根據式(7)自適應調整。所選出的最優特征子集維數遞減,其視野范圍根據最優特征子集維數發生變化。

(6)

Vswarm=(n-iitera)×0.7 ,

(7)

其中,Lfea為數據集特征維數,Lfea_best為當前選出的最優特征子集維數,nitera為總迭代次數,iitera為當前的迭代次數,n為魚群中個體數。

在魚群覓食行為中的試探次數根據最優個體狀態進行調整,依據先全局最優后局部最優的準則,對試探次數進行遞減,如式(8)所示。搜索全局最優時嘗試覓食次數大,便于尋找到最優解。最優特征子集維數降低,視野范圍隨之降低,其嘗試次數變少;除上述改進外,在魚群的聚群、追尾、覓食行為的基礎上添加消亡操作。公告板經過多次迭代尚未更新時,會觸發消亡操作。目的是將未執行動作的部分魚群(劣解)拋棄,增大魚群搜索位置的隨機性,加快尋優收斂速度。重新分配到當前的最優個體周圍,即假定當前最優附近存在更優狀態,從而增強搜索全局最優值的能力。

(8)

3 基于遺傳算法和CatBoost的改進多目標人工魚群優化方法的入侵檢測模型

模型整體框圖如圖2所示,具體過程如下。

圖2 模型框架

(1) 數據層對數據預處理。

① 數據轉換:首先使用歸一化,將數值轉化為[0,1]范圍,歸一化如式(9)所示。之后,對數據集中的標簽值特征進行數值化處理。以NKL-KDD中“protocol_type”屬性為例,其取值分別為“TCP”“UDP”“ICMP”,轉化為1、2、3。對UNSW-NB15數據集中的字符特征,在保證訓練集及測試集中各特征類別個數相同的基礎上進行獨熱化編碼。

(9)

其中,xmax、xmin分別為樣本數據的最大值、最小值。

② 數據清洗:刪除空值及特征值唯一的特征,以準備對數據集的多維特征進行特征選擇。

(2) 在特征選擇層,通過節2.3改進的人工魚群算法,即在傳統人工魚群算法的基礎上結合自適應更改參數、消亡操作等,與遺傳算法、多目標優化算法有機結合,進一步改進搜索空間、內存空間和算法收斂速度。結合多種算法的優點來實現包裝器特征選擇,達到數據降維的目的。

① 利用改進的人工魚群算法進行初步選擇。

② 在每次迭代之后,使用遺傳算法設定交叉變異輪數,在每輪交叉變異中隨機挑選兩個個體,在此基礎上生成新的個體。降低單個個體的適應能力,防止其越界影響所有種群的適應能力,進而減少重復性并增加隨機性,以便跳出種群的局部最優陷阱。

③ 由于單目標人工添加的加權值具有較大的主觀性,因此在特征選擇層的最后執行多目標優化。在多目標優化中最重要的是設置系統目標,文中旨在尋找維度小、精度高的特征子集,因此將維度與精確度作為多目標的兩個目標函數。算法側重全局尋優,引入NSGA-II擁擠距離機制,對擁擠度進行排序,其計算方法如式(10)。按擁擠距離越大則越優的原則,在外部檔案集中選取非支配解替換魚群中的劣解。

(10)

(3) 經過特征選擇后,將低維數據傳入CatBoost中生成模型評估結果。利用魚群算法中公告板記錄的歷史最優個體群,即特征選擇層選出的不同特征子集對數據進行分類,得出多組預測結果,與原始分類標簽生成一個新的數據集,作為CatBoost預測的數據集。CatBoost節點分類時,采用余弦相似度方法遍歷所有候選特征及分裂閾值,余弦相似度的計算表示為

(11)

其中,ωi標識樣本i的權重,減少過擬合;ai標識樣本在樹上的輸出值;gi為樣本i的梯度,依據迭代輪次的結果計算每個樣本的梯度,得到根節點中每個樣本的梯度向量。

4 實驗仿真結果與分析

4.1 數據集與性能指標

實驗采用入侵檢測通用數據集NSL-KDD[6]、UNSW-NB 15[7]。NSL-KDD數據集共有148 516條流量數據,其中80 176條為正常類,68 340條為攻擊類。UNSW-NB15共有257 673條流量數據,其中164 673條數據為正常類,93 000條數據為攻擊類。

為驗證方法的有效性,使用準確率(Accuracy,A)、精確率(Precision,P)、召回率(Recall,R)、F1分數作為實驗的性能指標。準確率是數據集所有樣本中被正確判斷的概率。精確率表示預測為某類的樣本有多少是正確的。召回率表示樣本中的正例有多少被正確預測。F1分數綜合描述了模型精確率和召回率的性能。

(12)

(13)

(14)

(15)

其中,TP(真陽性)與TN(真陰性)表示數據集中屬于被正確預測為正常類及入侵類的樣本數量;FN(假陰性)、FP(假陽性)表示數據集中被錯誤預測為正常類、入侵類的樣本數量。

4.2 算法不同階段精確率對比

比較算法更新階段下對入侵檢測的性能,驗證所提算法的有效性。傳統人工魚群AFSA[8]、節2.3提出的改進的人工魚群算法(Improved Artificial Fish Swarm Algorithm,IAFSA)、添加多目標優化的人工魚群算法(Multi-objective Artificial Fish Swarm Algorithm,MAFSA),與文中所提改進的人工魚群算法的比較如表1所示。

表1 人工魚群算法比較

傳統的AFSA算法維數為20,準確率約為76%,易陷入局部最優,尋優效果維度多,準確率低。使用節2.3中改進的人工魚群算法,得到維數為19,準確率約為81%,證明了此改進在入侵檢測中的效果。在此基礎上加入多目標優化后,維度下降,精度上升,體現了多目標優化的有效性。文中算法在維度低的情況下,依然獲得了較高的準確率,說明改良的人工魚群算法與多目標優化都有其優勢,對這兩方面同時進行改進,準確率在傳統人工魚群上提升約11%,得到比單個優勢更為突出的效果。

文中算法與CatBoost結合在使用NSL-KDD數據集的情況下的入侵檢測性能如圖3所示。隨著公告板更新次數的增加,準確率不斷提升,最終達到約93%,證實了魚群算法中歷史最優個體群對算法整體尋優的可靠性。表2、表3分別顯示了使用文中算法對NSL-KDD、UNSW-NB15篩選出的3個特征子集的性能指標。

表2 NSL-KDD不同特征子集性能

表3 UNSW-NB15不同特征子集性能

圖3 算法迭代過程對性能指標的優化

4.3 不同入侵檢測系統性能對比

現有的入侵檢測系統方法可分為3類:包裝器選擇、過濾器選擇和無特征選擇。表4列出了在NSL-KDD實驗的現有特征選擇方法的性能??梢钥闯?文中算法能以最少的特征獲得較高的總檢出率,在表中所有特征選擇方法中總檢出率最好。與PCA+GHSOM-pr[10]、FDR+kernel PCA[11]、 PSO和Sigmoid_PIO[3]相比,文中算法實現了高準確率和低維度。

表4 不同特征選擇方法性能比較

5 結束語

最近的研究表明,構建入侵檢測系統有兩個重要組成部分:魯棒的分類方法和高效的特征選擇算法。在特征選擇方面基于人工魚群算法、多目標優化算法、遺傳算法等進化算法,提出了一種新的入侵檢測系統攻擊檢測方法。在分類算法方面,利用魚群算法中公告板記錄的全部歷史最優個體群,而非單獨使用當前最優個體,其對應的特征子集更有代表性。在NSL-KDD、UNSW-NB15數據集上進行仿真,實驗結果驗證了所提算法在準確率、特征子集維數等方面的有效性。雖然提出的算法已經顯示出令人鼓舞的性能,但其還可以通過優化搜索策略進一步增強。此外,樣本分布不平衡對入侵檢測系統的影響需要在未來的研究中仔細考慮。

猜你喜歡
魚群特征選擇子集
拓撲空間中緊致子集的性質研究
連通子集性質的推廣與等價刻畫
關于奇數階二元子集的分離序列
魚群漩渦
Kmeans 應用與特征選擇
基于改進魚群優化支持向量機的短期風電功率預測
基于人工魚群算法的光伏陣列多峰MPPT控制策略
聯合互信息水下目標特征選擇算法
每一次愛情都只是愛情的子集
多子群并行人工魚群算法的改進研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合