国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

多策略改進的被囊群算法在入侵檢測中的應用

2024-03-21 01:48:08汪祖民
計算機工程與設計 2024年3期
關鍵詞:步長個體分類

汪 杰,汪祖民

(大連大學 信息工程學院,遼寧 大連 116622)

0 引 言

近年來,智能群優(yōu)化算法被廣泛應用于機器學習用來解決各種場景的入侵檢測[1]。為提高入侵檢測性能,文獻[2]將改進灰狼優(yōu)化算法應用于BP神經(jīng)網(wǎng)絡。文獻[3]提出一種基于隨機森林和人工免疫的入侵檢測算法,并構建了抗體森林的模型。文獻[4]在鯨魚算法中引入自適應步長和擁擠度因子以及高斯變異算子,并將改進后的優(yōu)化算法對支持向量機算法的參數(shù)進行尋優(yōu)。文獻[5]將人工蜂群算法用于特征提取,并利用XGBoost算法對需要評價的特征進行分類。文獻[6]提出一種并行技術改進支持向量機算法在大規(guī)模數(shù)據(jù)下訓練速度慢的問題,并融合改進后的布谷鳥搜索算法設計了工控入侵測模型。

綜上所述,機器學習算法在入侵檢測的研究中十分常見。但是部分機器學習算法本身的性能不足,如文獻[7]實驗證明同其它機器學習算法比較,XGBoost在各種入侵檢測中表現(xiàn)更為優(yōu)異。同時由于大部分尋優(yōu)算法收斂速度慢,易陷入局部最優(yōu)解,因此本文提出利用改進被囊群算法對XGBoost算法的參數(shù)和數(shù)據(jù)集特征數(shù)量進行尋優(yōu),提高入侵檢測性能。仿真結果表明,相比于其它機器學習算法,該入侵檢測模型的性能更好。

1 被囊群優(yōu)化算法

被囊群優(yōu)化算法(tunicate swarm algorithm,TSA)[8]是由Kaur等提出的一種元啟發(fā)式算法,其性能在74個基準問題中得到了有效證明。其數(shù)學模型如下。

1.1 噴氣推進行為

1.1.1 避免搜索個體間沖突

為了避免搜索個體間的沖突,使用向量A來計算新的個體位置

(1)

式中:G表示重力

G=C1+C2-2·C3

(2)

M表示各個體間的社會力量

(3)

C1,C2,C3都是屬于[0,1]的隨機數(shù),Pmax和Pmin分別是社會力量的初始速度和從屬速度,上述公式有助于個體在給定的搜素空間中隨意移動,并避免不同搜索個體之間的沖突。

1.1.2 向最佳搜索個體移動

個體在避免群體間沖突后向當前最佳搜索個體的位置移動,由以下公式計算個體與最佳搜索個體間的距離

PD=Pbest-r·P(x)

(4)

式中:P(x) 表示第x次迭代時被囊群個體的位置,r是屬于[0,1]的隨機數(shù),Pbest為當前最佳搜索個體的位置。

1.1.3 向最佳搜索代理匯聚

當每個個體求得自身在當前迭代與最佳個體間的距離后,個體開始向當前迭代中的最佳個體位置匯聚

(5)

1.2 群體行為

TSA通過整合當前個體的位置和上一次迭代個體的位置,來模擬被囊群的群體行為,其數(shù)學公式定義如下

(6)

2 多策略改進被囊群優(yōu)化算法

2.1 Tent混沌映射

基本被囊群算法的初始位置是隨機生成的,所以種群的初始位置在空間中分布不均勻,會降低種群的多樣性并影響收斂速度。因此本文提出采用混沌映射[9]來初始化種群,相比于另一種常用的logistic混沌映射,Tent混沌映射具有更好的遍歷性,能夠在[0,1]之間產(chǎn)生分布較均勻的初始值。因此基于Tent映射的TSA具有更好的種群多樣性和收斂速度。

Tent映射的表達式如下

(7)

式中:i=1,2,3…,P為種群規(guī)模,n=1,2,3…,D表示當前求解問題的維度。

通過式(7)可以得到P×D個混沌序列,再將其代入式(8)初始化種群位置

(8)

式中:ub代表個體位置的最大邊界值,lb代表個體位置的最小邊界值。

2.2 自適應步長

在標準被囊群算法中,算法的探索和開發(fā)能力主要受到群體行為的影響,而式(6)中的參數(shù)C1影響著群體行為的步長。當C1越小時,步長越大,有利于算法的全局探索能力;當C1越大時,步長越小,有利于算法的局部探索能力。而算法在迭代前期,需要更強的全局探索能力,幫助算法跳出局部最優(yōu)解;而在迭代后期,則需要更強的局部探索能力,幫助算法獲得更高的求解精度,綜上所述,C1的值應該隨著迭代次數(shù)的增加而逐漸增大。由于標準算法中的C1是[0,1]之間的隨機數(shù),所以在群體位置更新時,容易產(chǎn)生盲目性,使算法難以獲得更快的收斂和更高的精度。

針對以上問題,本文將C1由如下公式代替

(9)

式中:t是當前迭代次數(shù),Tmax代表最大迭代次數(shù),ω是一個慣性權重,它隨著迭代次數(shù)的增加而自適應地減小。將式(9)代入式(6)更新為

(10)

2.3 萊維飛行

被囊群中個體的移動主要是依靠最優(yōu)個體的位置信息進行移動,其中式(1)中的向量A決定了個體的更新距離,其值更是由多個范圍為[0,1]的隨機數(shù)決定,這大大降低了個體移動的多樣性。當最優(yōu)個體陷入局部最優(yōu)解時,被囊群中的其它個體在向最優(yōu)個體移動時,很難再搜索到全局最優(yōu)解,因此本文提出利用萊維飛行[10]來增強個體向當前最優(yōu)位置移動時的路徑擾動,以此幫助算法更好的跳出局部最優(yōu)解,改進公式如下

(11)

(12)

PLevy(x)=P(x)+ω·s·(Pbest-P(x))

(13)

上述改進后的被囊群優(yōu)化算法(improved tunicate swarm algorithm,ITSA)的算法流程如下:

步驟1 種群個體的初始化位置由Tent混沌映射決定。

步驟2 初始化算法的各個參數(shù)。

步驟3 計算所有個體的適應度值,此時最優(yōu)解的值就是當前最優(yōu)個體的值。

步驟4 根據(jù)式(1)到式(5)進行個體位置更新。

步驟5 根據(jù)式(13)利用萊維飛行策略對每個個體施加擾動,其中個體移動步長由自適應步長式(9)得出。

步驟6 根據(jù)式(10)進行群體位置更新,其中個體移動步長由自適應步長式(9)得出。

步驟7 檢測每個個體的位置是否超出邊界,并調整超出邊界的個體位置。

步驟8 計算個體經(jīng)過群體行為后的適應度值和經(jīng)過萊維飛行擾動后的適應度值,將兩者中的最佳適應度值作為當前最優(yōu)解。

步驟9 算法滿足停止條件則停止,否則重復步驟4~步驟8。

步驟10 返回最優(yōu)解。

3 ITSA-XGBoost入侵檢測模型的構建

XGBoost是機器學習中梯度提升樹的高效實現(xiàn),XGBoost中有許多的參數(shù)難以整定,同時不同數(shù)量的特征選擇對檢測精度有較大的影響,本文主要利用ITSA算法對選取的部分XGBoost參數(shù)和特征數(shù)量進行尋優(yōu)。尋優(yōu)的參數(shù)及范圍見表1。

表1 參數(shù)選取

表2中max_feature代表數(shù)據(jù)集可選取的最大特征數(shù)量。

表2 12個測試函數(shù)

利用ITSA對XGBoost參數(shù)和特征數(shù)量尋優(yōu)的具體流程如下:

步驟1 刪去入侵檢測訓練集和測試集中的重復數(shù)據(jù),對離散數(shù)據(jù)特征進行映射,將離散特征轉化為數(shù)字型特征,對數(shù)據(jù)集進行歸一化處理。

步驟2 通過遞歸式特征消除(recursive feature elimination,RFE)[12]對特征進行排序,將XGBoost作為迭代分類器,得到排序后的特征。

步驟3 利用ITSA算法對XGBoost參數(shù)和特征數(shù)量進行尋優(yōu),將在訓練集中訓練好的XGBoost模型用來對測試集進行預測,并把測試集的準確度作為適應度值返回,在達到最大迭代次數(shù)前,找到使測試集準確度最高的參數(shù)及特征數(shù)量。

步驟4 輸出對XGBoost模型尋得最優(yōu)解后的測試集分類結果。

ITSA-XGBoost入侵檢測模型流程如圖1所示。

圖1 ITSA-XGBoost入侵檢測模型

4 實驗設置

4.1 實驗環(huán)境

實驗硬件采用Intel(R) Core(TM) i5-10400H CPU+GeForece GTX 1660Ti+16 GB內(nèi)存;軟件環(huán)境,在ITSA性能測試中采用MATLAB R2022a,在ITSA-XGBoost入侵檢測實驗中采用Python 3.9.5。

4.2 ITSA性能測試

在本文中,被囊群算法的參數(shù)設置見表1,其中種群數(shù)量pop為50,最大迭代次數(shù)Max_iter為500,同時為了驗證ITSA的算法性能,本文將灰狼優(yōu)化算法(grey wolf optimizer,GWO)[13]、海鷗優(yōu)化算法(seagull optimization algorithm,SOA)[14]、TSA和ITSA作對比。本文采用12個測試函數(shù)檢驗ITSA的尋優(yōu)能力,其中F1~F4為多維單峰函數(shù),F(xiàn)5~F8為多維多峰函數(shù),F(xiàn)9~F12為固定維度函數(shù)。上述12個測試函數(shù)表達式見表2。收斂曲線如圖2所示。

圖2 各算法在12個函數(shù)上的收斂曲線對比

如圖2所示,在尋找最優(yōu)解方面,ITSA在多維單峰函數(shù)上提升較大,而在多維多峰函數(shù)和固定維度函數(shù)上相較于TSA也有不小的提升。在收斂速度方面,ITSA在不同函數(shù)上的表現(xiàn)都很好。因此實驗驗證利用Tent混沌映射、自適應步長和萊維飛行能夠使算法提高收斂速度,同時在算法迭代后期擁有跳出局部最優(yōu)解的能力。

4.3 ITSA-XGBoost模型性能分析

4.3.1 入侵檢測數(shù)據(jù)集

本文采用由澳大利亞網(wǎng)絡安全中心在2015年創(chuàng)建的UNSW-NB15[15]數(shù)據(jù)集對模型進行性能測試。該數(shù)據(jù)集中共有257 673條樣本,其中175 341條訓練集樣本,82 332條測試集樣本。但是其中有相當多的重復樣本,在將無用的“id”列剔除后,刪除重復樣本,此時數(shù)據(jù)集的樣本數(shù)量與分布見表3。

表3 UNSW-NB15的訓練集和測試集

如表3所示,除Normal類為正常網(wǎng)絡行為,剩余9類均為攻擊行為。

4.3.2 實驗基本設置

為測試ITSA-XGBoost模型的性能,將ITSA算法與TSA算法中的種群數(shù)量設為50,迭代次數(shù)設為100。對于UNSW-NB15數(shù)據(jù)集,在將“l(fā)abel”和“attack_cat”列抽離后,對離散數(shù)據(jù)特征進行映射,將離散特征進行Label-Encoder編碼轉化為數(shù)字型特征后,對數(shù)據(jù)集所有列進行歸一化處理,最后利用RFE對特征進行排序,得到排序后的42個特征值供ITSA-XGBoost模型進行特征尋優(yōu)。

4.3.3 評估指標

模型評價標準定義請參考文獻[16],定義如下:

準確率(Accuracy,Acc)

(14)

精確率(Precision,Pre)

(15)

召回率(Recall)

(16)

F1-Score

(17)

AUC(area under curve)是ROC(receiver operating characteristic)曲線下的面積,定義如下

(18)

上述公式中,TP(true positive)是正確分類到正常網(wǎng)絡行為的樣本數(shù),TN(true negative)是正確分類到攻擊行為的樣本數(shù),F(xiàn)P(false positive)是將攻擊行為錯誤分類為正常網(wǎng)絡行為的樣本數(shù),F(xiàn)N(false negative)是將正常網(wǎng)絡行為錯誤分類為攻擊行為的樣本數(shù)。

4.3.4 ITSA優(yōu)化XGBoost效果分析

為測試ITSA-XGBoost模型在參數(shù)尋優(yōu)上的優(yōu)越性,將其與TSA-XGBoost模型進行比較。設置TSA和ITSA算法的種群數(shù)量為50,最大迭代次數(shù)為100。兩種模型在UNSW-NB15數(shù)據(jù)集上的準確率和ROC曲線如圖3所示。

圖3 TSA和ITSA結合XGBoost算法性能對比

如圖3所示,在準確率對比曲線中,ITSA-XGBoost模型在收斂速度和準確率上均優(yōu)于TSA-XGBoost模型,且ITSA-XGBoost模型不易陷入早熟收斂,在迭代后期依舊有跳出局部最優(yōu)解的能力。在ROC曲線中,ITSA-XGBoost模型的AUC值為0.9039,而TSA-XGBoost模型的AUC值為0.8545,這表明ITSA-XGBoost模型獲得了更高的真正率和更低的假正率。綜上,ITSA-XGBoost模型在參數(shù)尋優(yōu)上優(yōu)于TSA-XGBoost模型。

4.3.5 ITSA-XGBoost模型二分類和多分類性能對比

為體現(xiàn)ITSA-XGBoost模型的性能,本文選取了文獻[17]中的人工神經(jīng)網(wǎng)絡算法(artificial neural network,ANN)、邏輯回歸算法(logistic regression,LR)、K近鄰(k-nearestneighbor,KNN)、支持向量機算法(support vector machine,SVM)、決策樹算法(decision tree,DT)進行性能對比,對比結果見表4、表5。

表4 二分類性能對比

表5 多分類性能對比

通過表4的實驗結果可以看出,在二分類性能對比中,ITSA-XGBoost模型在準確率上除了比決策樹算法(DT)低0.64%,均高于其它算法,在精確率和F1-Score上均優(yōu)于其它算法,而在召回率上則低于其它算法。

通過表5的實驗結果可以看出,在多分類性能對比中,ITSA-XGBoost模型在準確率、精確率、召回率和F1-Score上均優(yōu)于其它算法。

最后,為體現(xiàn)ITSA-XGBoost模型的優(yōu)越性,本文選取了另外6篇論文中的隨機森林樹算法(random forest,RF)[18,19]、RepTree算法[20]、IELM算法[21]、深度置信網(wǎng)絡算法(deep belief network,DBN)[22]、CNN-BiLSTM算法[23]進行二分類和多分類的準確率對比。對比結果見表6。

表6 測試集準確率對比

ITSA-XGBoost模型在二分類中準確率除了比決策樹算法(DT)低0.64%,均高于其它算法。而在多分類中則均優(yōu)于其它所有算法。因此,與其它算法相比,ITSA-XGBoost更加適合入侵檢測。

5 結束語

本文利用Tent混沌映射,自適應步長和萊維飛行3種策略改進被囊群優(yōu)化算法,并用于XGBoost參數(shù)尋優(yōu)和特征選擇以構建入侵檢測模型。實驗結果表明,改進后的ITSA相比于其它優(yōu)化算法收斂速度更快,且具有跳出局部最優(yōu)解的能力。同時相較于其它機器學習算法,在UNSW-NB15數(shù)據(jù)集中,ITSA-XGBoost模型的檢測性能更好。在未來的研究中,將通過生成對抗網(wǎng)絡等方法處理少數(shù)樣本數(shù)據(jù),提高入侵檢測的性能。

猜你喜歡
步長個體分類
基于Armijo搜索步長的BFGS與DFP擬牛頓法的比較研究
分類算一算
關注個體防護裝備
勞動保護(2019年7期)2019-08-27 00:41:02
分類討論求坐標
數(shù)據(jù)分析中的分類討論
教你一招:數(shù)的分類
個體反思機制的缺失與救贖
學習月刊(2015年22期)2015-07-09 03:40:48
How Cats See the World
中學科技(2015年1期)2015-04-28 05:06:12
基于逐維改進的自適應步長布谷鳥搜索算法
一種新型光伏系統(tǒng)MPPT變步長滯環(huán)比較P&O法
電測與儀表(2014年2期)2014-04-04 09:04:00
新昌县| 长宁区| 雅江县| 岳池县| 邵东县| 包头市| 墨江| 宝丰县| 宿松县| 华宁县| 乌海市| 绥芬河市| 綦江县| 深州市| 同江市| 青岛市| 青阳县| 富阳市| 阿拉善左旗| 龙门县| 海丰县| 洪湖市| 安图县| 皋兰县| 台前县| 上栗县| 黄大仙区| 荥经县| 白城市| 顺平县| 咸宁市| 社会| 旌德县| 万盛区| 大同市| 枣庄市| 贵港市| 平昌县| 夏邑县| 阿坝县| 都江堰市|