亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于LightGBM的網(wǎng)絡(luò)入侵檢測研究

        2022-09-06 13:17:20唐朝飛努爾布力
        計算機應(yīng)用與軟件 2022年8期
        關(guān)鍵詞:特征檢測模型

        唐朝飛 努爾布力 艾 壯

        1(新疆大學軟件學院 新疆 烏魯木齊 830046)2(新疆大學網(wǎng)絡(luò)中心 新疆 烏魯木齊 830046)3(新疆大學信息科學與工程學院 新疆 烏魯木齊 830046)

        0 引 言

        入侵檢測系統(tǒng)(IDS)[1]是一種主動的網(wǎng)絡(luò)安全保護技術(shù)。入侵檢測系統(tǒng)的方法可以分為兩種類型,一種是基于異常的檢測,另一種是基于誤用的檢測[2]。目前以誤用檢測和異常檢測為代表的入侵檢測方法普遍存在檢測精度低和誤報率高等不足。由于大數(shù)據(jù)的不斷發(fā)展和變化,網(wǎng)絡(luò)系統(tǒng)的速度不斷提高以及入侵者的方法不斷變化或變通,IDS仍然是一個重要的研究課題[3]。近年來,由于網(wǎng)絡(luò)攻擊多發(fā)生于廣域網(wǎng)環(huán)境,導致入侵檢測工作面臨挑戰(zhàn),因此要求研究人員必須結(jié)合大數(shù)據(jù)技術(shù),研究新的攻擊檢測方法。

        目前基于機器學習技術(shù)的入侵檢測方法普遍存在模型訓練過程中易出現(xiàn)過擬合和泛化能力較差的情況,準確率較低、誤報率較高。常用的特征選擇算法,如卡方檢驗、隨機森林算法,在入侵檢測方面取得的效果不理想。為了更好地解決以上問題,本文提出一種新的入侵檢測模型。該模型采用基于PCA的特征選擇方法,去除冗余特征,采用微軟開源的LightGBM算法[5]檢測網(wǎng)絡(luò)攻擊,并采用量子粒子群算法(Quantum-behaved Particle Swarm Optimization,QPSO)[6]對LightGBM算法參數(shù)進行優(yōu)化,在NSL-KDD數(shù)據(jù)集[7]上進行了分類訓練和測試實驗,并在Spark集群上運行該實驗,實驗結(jié)果證明了該模型的有效性。使用本文提出的入侵檢測模型進行預測,提高了準確率、精準率和召回率,縮短了訓練時間和預測時間。

        1 背景及相關(guān)工作

        1.1 背 景

        入侵檢測系統(tǒng)(IDS)被創(chuàng)建用來有效地防御各種類型的網(wǎng)絡(luò)攻擊,并進一步保護網(wǎng)絡(luò)系統(tǒng)正常運行。入侵檢測的目的是識別各種活動,尤其是惡意活動,它是目前保護計算機網(wǎng)絡(luò)和系統(tǒng)最重要的策略。過去的三十年中,對IDS的研究一直在積極進行,很多研究利用機器學習算法來完成入侵檢測任務(wù)。

        文獻[8]指出入侵檢測應(yīng)用中ID3和C4.5算法的重要性,并采用基于二分法的CART算法簡化決策樹規(guī)模,達到分類的目的。為了提高入侵檢測的效果,采用主成分分析法(PCA)來進行降維。文獻[9]提出了一種新型的混合模型。使用基尼系數(shù)進行選擇特征以得到最佳特征子集,采用梯度提升決策樹(GBDT)算法檢測攻擊行為,并采用粒子群優(yōu)化算法(PSO)為GBDT算法尋找參數(shù)。但是PSO容易陷入局部最優(yōu)解。文獻[10]提出了一種基于分類和Boosting技術(shù)的基于混合異常的入侵檢測系統(tǒng),比較了三種不同分類器的性能及提升情況,Boosting技術(shù)可最大程度地提高分類準確性。文獻[11]使用Apache spark來進行異常檢測,通過使用不同的機器學習算法(例如Logistic回歸、支持向量機、樸素貝葉斯、決策樹、隨機森林和K-Means)來進行異常檢測,在異常檢測的背景下找到最有效的算法,并在Kddcup99數(shù)據(jù)集上比較它們的訓練時間、預測時間和準確率。

        針對網(wǎng)絡(luò)入侵檢測的準確率及效率不夠高的問題,可通過特征選擇在減少運算量的同時提高準確率及效率,使用QPSO為待優(yōu)化模型尋找最優(yōu)參數(shù),通過Apache spark集群進行運算可極大地提高運行效率。

        1.2 相關(guān)工作

        Spark[12]是由伯克利AMP Lab開發(fā)的大數(shù)據(jù)分布式計算框架,是一個比mapreduce更加快速和通用的編程模型。MMLSpark(Microsoft Machine Learning for Apache Spark)[13]是一個增強的生態(tài)系統(tǒng),擴展了Apache Spark分布式計算庫,以解決深度學習、梯度增強、模型可解釋性和其他現(xiàn)代計算領(lǐng)域的問題。MMLspark將LightGBM算法集成到Spark集群中,以實現(xiàn)大規(guī)模優(yōu)化的梯度增強。

        HDFS(Hadoop Distributed File System)[14]用于大規(guī)模分布式存儲中,以構(gòu)建具有高容錯性和高性能的可擴展云存儲平臺。HDFS使用主從架構(gòu),集群由一個名為Namenode的主節(jié)點和多個名為Datanode的從節(jié)點組成。YARN(Yet Another Resource Negotiator)[15]被引入作為Hadoop的資源管理層,被定義為大數(shù)據(jù)應(yīng)用程序的分布式操作系統(tǒng)。

        2 入侵檢測系統(tǒng)理論分析

        2.1 系統(tǒng)流程

        圖1展示了本文所提出的入侵檢測系統(tǒng)的流程圖。使用KDDTrain+數(shù)據(jù)集來訓練提出的入侵檢測系統(tǒng),并使用KDDTest+數(shù)據(jù)集根據(jù)準確率、精準率、召回率和F1值進行評估其性能,根據(jù)訓練時間和預測時間來評估其效率,整個系統(tǒng)在Spark集群上運行。具體步驟如下:

        步驟1使用yarn-cluster模式啟動Spark集群,從HDFS讀取數(shù)據(jù)集并創(chuàng)建DataFrame,由yarn進行調(diào)度管理,將數(shù)據(jù)分發(fā)到各個節(jié)點;

        步驟2對字符型數(shù)據(jù)進行數(shù)值化轉(zhuǎn)換,并對所有數(shù)據(jù)進行歸一化處理;

        步驟3基于PCA進行特征選擇,選出貢獻度最高的特征,組成新的特征子集;

        步驟4使用MMLSpark中的classbalance方法對數(shù)據(jù)進行類別不平衡處理,為不同類別的數(shù)據(jù)設(shè)置權(quán)重;

        步驟5采用LightGBM算法訓練模型,并采用QPSO為LightGBM算法選擇最優(yōu)參數(shù);

        步驟6根據(jù)評價指標對模型進行評估。

        圖1 IDS模型

        2.2 基于PCA的特征選擇

        主成分分析方法是一種使用最廣泛的數(shù)據(jù)降維算法。 本文基于PCA的入侵檢測特征選擇方法的步驟如下:(1) 首先,從主成分中提取系數(shù)最大的特征;(2) 選擇前k個最大的特征值,并選擇相對應(yīng)的k個特征向量組成向量矩陣;(3) 用特征矩陣從原始數(shù)據(jù)集選出貢獻度高的特征,組成新的數(shù)據(jù)集。

        2.3 基于LightGBM的檢測

        LightGBM算法是微軟在2017年提出的基于GBDT的數(shù)據(jù)模型。盡管GBDT在許多機器學習任務(wù)上都取得了良好的學習效果,但是近年來,隨著數(shù)據(jù)量的幾何級增長,GBDT面臨著準確率和效率的問題。此時LightGBM算法被提出,LightGBM算法可用于分類和回歸任務(wù),在不降低預測準確率的同時,它大大加快了預測速度,并降低了內(nèi)存消耗。

        在減少訓練數(shù)據(jù)方面,LightGBM算法使用leaf-wise生長策略。與傳統(tǒng)的level-wise生長策略相比,leaf-wise生長策略則是一種更為高效的策略,每次從當前所有葉子中,找到分裂增益最大的一個葉子,然后分裂,如此循環(huán),如圖2所示。因此同level-wise生長策略相比,在分裂次數(shù)相同的情況下,leaf-wise生長策略可以降低更多的誤差,得到更好的精度。但是leaf-wise生長策略的缺點是可能會長出比較深的決策樹,產(chǎn)生過擬合。所以LightGBM算法在leaf-wise生長策略之上增加了一個最大深度的限制,在保證高效率的同時防止過擬合。

        圖2 Leaf-wise(LightGBM)和Level-wise(XGBoost)策略

        2.4 基于QPSO的超參數(shù)尋優(yōu)算法

        QPSO是對PSO的改進,該算法中的粒子具有量子行為,可以在整個解空間當中進行搜索,能夠克服PSO易陷入局部最優(yōu)解的局限性[16]。在QPSO中,粒子被概率表示為一個量子向量,其中給定單位qubit的值(承載信息的最小單位)可以為0、1或兩者的疊加,量子粒子向量定義如下:

        ?s∈S,?j=1,2,…,n

        (1)

        ?j=1,2,…,n

        (2)

        一旦知道了從量子中獲得離散粒子的規(guī)則,就可以描述QPSO的演化如下:

        Qgbest=α×pgbest+β×(1-pgbest)

        (3)

        Qbest=α×pbest+β×(1-pbest)

        (4)

        Q′=c1×Q+c2×Qbest+c3×Qgbest

        (5)

        式(3)對應(yīng)于全局最佳量子粒子,符號pgbest表示全局最佳離散粒子。類似地,式(4)表示局部最佳量子粒子,pgbest表示局部最佳離散粒子,其中α和β表示控制參數(shù)且滿足0≤α,β≤1且α+β=1。

        式(5)描述了量子粒子Q的演化,Q表示當前迭代中的粒子和Q′表示Q在下一次迭代中的更新。系數(shù)(c1,c2,c3)滿足條件0≤c1,c2,c3≤1且c1+c2+c3=1。

        QPSO的過程描述見算法1。

        算法1QPSO

        Data:An instance of the LightGBM

        Result:The best solution of the LightGBM

        initializeQ(t) andP(t);

        EvalutateP(t);

        Keep the best solution amongP(t);

        while stopping condition is not reached do

        t=t+1;

        CalculateQ(t) using Equations(5-7);

        GetP(t)fromQ(t) using Equation(4);

        Apply the LightGBM repair operator;

        EvaluateP(t);

        Keep the best solution amongP(t);

        end

        Return the best solution of the swarm

        3 實驗評估

        3.1 實驗環(huán)境和NSL-KDD數(shù)據(jù)集

        本文實驗在Spark集群上運行,該集群中含有3個節(jié)點,其中包含1個Namenode主節(jié)點、2個Datanode從節(jié)點。實驗環(huán)境使用CentOS7系統(tǒng),使用Python編寫的PySpark和MMLSpark算法包作為實驗中的機器學習工具包。將程序打包并提交到Spark集群上,并采用yarn-cluster模式運行程序。集群具體配置情況如表1所示。

        表1 實驗Spark集群配置狀況

        本文采用NSL_KDD數(shù)據(jù)集,NSL-KDD數(shù)據(jù)集是KDD 99數(shù)據(jù)集的改進,刪除了大量的重復記錄。如表2所示,NSL-KDD總共包含39種攻擊,其中每種攻擊都可分為四個類別(Probe、DoS、R2L和U2R)。此外,僅在測試集中引入了一組新型類攻擊,這些新攻擊以粗體顯示。表3展示了NSL-KDD訓練集和測試集中的正常記錄和攻擊記錄的分布,可看出各類別分布極不均衡。

        表2 NSL-KDD數(shù)據(jù)集中的攻擊類型

        表3 NSL-KDD數(shù)據(jù)集中的四種攻擊和正常記錄的分布

        3.2 實驗設(shè)計

        本文實驗采用NSL_KDD數(shù)據(jù)集,與Razan Abdulhammed團隊[17]使用PCA方法進行特征提取不同,本文將使用PCA進行特征選擇。為了更好地訓練模型,克服PSO容易陷入局部最優(yōu)解的缺點,采用QPSO為LightGBM算法選擇最優(yōu)參數(shù)。為提高運行效率,整個實驗在Spark集群上運行。

        3.3 評價指標

        本文實驗采用6個評價指標來評估模型,分別是準確率(ACC)、精準率(PRE)、召回率(REC)、F1值(F1-score)、訓練時間和預測時間。分類結(jié)果混淆矩陣如表4所示。

        表4 分類結(jié)果混淆矩陣

        準確率的計算公式為:

        精準率的計算公式為:

        召回率的計算公式為:

        F1值的計算公式為:

        3.4 模型訓練參數(shù)

        將PCA用于特征提取,圖3展示了不同k取值的情況下準確率的變化情況,最高準確率僅為76%,其中k表示主成分的數(shù)量。

        圖3 PCA取不同k值時的準確率

        NSL_KDD數(shù)據(jù)集共有41個特征,使用PCA進行特征選擇,從中選擇貢獻度最高的特征。當選擇前9個特征作為輸入時,入侵檢測性能最好。這9個選定的功能分別是F27、F30、F5、F23、F8、F1、F2、F39和F3,這些特征的簡要說明見表5。

        表5 本文方法所選擇的最終9個特征

        將原始數(shù)據(jù)集41個特征和基于PCA的特征選擇方法選出的9個特征分別作為入侵檢測系統(tǒng)的輸入,其結(jié)果進行對比,如表6所示,同時與采用卡方檢驗、隨機森林進行特征選擇的結(jié)果進行對比??梢钥闯觯褂肞CA進行特征選擇取得了較好的結(jié)果。

        表6 不同特征選擇算法下的檢測結(jié)果

        為了使模型取得更好的效果,利用參數(shù)尋優(yōu)算法為LightGBM算法找到最優(yōu)參數(shù)。需為PSO設(shè)置如下9個參數(shù):particle_num=20(粒子群數(shù)量)、iter_num=50(迭代次數(shù))、maxDepth(起始值,結(jié)束值)、learningRate(起始值,結(jié)束值)、numIterations(起始值,結(jié)束值)、w(慣性因子)、c1(局部學習因子)、c2(全局學習因子)、particle_dim=3(粒子維度)。經(jīng)過一定次數(shù)的迭代,PSO找到的最優(yōu)參數(shù)使準確率達到79%左右,但是再經(jīng)過多次迭代,準確率最高僅達到82%左右,無法繼續(xù)提高。

        本文采用QPSO來尋找模型的最優(yōu)參數(shù),僅需要設(shè)置四個參數(shù),其中particle_dim(粒子維度)對應(yīng)待尋優(yōu)參數(shù)的個數(shù)。QPSO設(shè)置的參數(shù)如表7所示。

        表7 QPSO算法參數(shù)

        LightGBM算法的待尋優(yōu)參數(shù)有三個,分別為樹的最大深度maxDepth、學習率learningRate和迭代次數(shù)numIterations,其余參數(shù)使用默認值。maxDepth是LightGBM中非常重要的一個參數(shù),maxDepth過小,模型精度不夠,maxDepth過大,模型易過擬合。采用QPSO選擇出的LightGBM參數(shù)如表8所示。

        表8 LightGBM算法參數(shù)

        3.5 實驗結(jié)果與分析

        在本文提出的入侵檢測模型中,使用PCA進行特征選擇,可取得更好的結(jié)果。圖3展示了使用PCA進行特征提取時,不同k值所對應(yīng)的準確率,整體準確率不高,其中最高為75.839%。

        從表6的結(jié)果可以看出,在使用基于PCA的特征選擇算法選出的9個特征作為輸入時,準確率高于使用PCA進行特征提取的結(jié)果,也取得了優(yōu)于其他特征選擇算法的效果。同時,與使用全部41個特征作為輸入相比,準確率、精準率、召回率和F1-score均有提升,同時由于特征數(shù)量減少,訓練時間和預測時間均有減少。同時可以看出在Spark集群上進行實驗,訓練時間大大減少,可以非常快速地進行入侵檢測。由此可見,由于使用了基于PCA的特征選擇方法,僅使用了41個特征中的9個(21.95%),就達到優(yōu)于使用全部特征訓練模型的性能。使用參數(shù)尋優(yōu)算法是為了盡快找到待優(yōu)化模型最優(yōu)參數(shù),但是PSO本身需要設(shè)置的參數(shù)過多,不利于最優(yōu)參數(shù)的尋找,且易陷入局部最優(yōu)解。因而采用QPSO進行參數(shù)尋優(yōu),算法中的粒子具有量子行為,可以在整個解空間當中進行搜索,實驗證明QPSO取得了優(yōu)于PSO的結(jié)果。

        表9將文獻[18]與本文提出的入侵檢測系統(tǒng)進行了比較。文獻[18]采用K-Means聚類算法對數(shù)據(jù)集進行聚類,然后使用XGBoost算法為每個簇訓練不同的分類器,以取得更好的結(jié)果。從結(jié)果比對可以看出,經(jīng)過PCA特征選擇之后,再由LightGBM算法進行訓練的結(jié)果要優(yōu)于K-Means聚類算法和XGBoost算法的組合,本文提出的入侵檢測系統(tǒng)可有效地進行檢測。

        表9 在NSL-KDD訓練集上的結(jié)果

        4 結(jié) 語

        利用PCA進行特征選擇,以QPSO為LightGBM算法尋找最優(yōu)參數(shù),并在Spark集群上進行實驗,可以有效、快速地進行入侵檢測。從本文的實驗結(jié)果可以看出,使用PCA進行特征選擇,僅使用9個特征進行訓練得出的結(jié)果優(yōu)于原始數(shù)據(jù)集的41個特征。在入侵檢測方向,LightGBM算法也展現(xiàn)了良好的性能。

        在未來的工作中,將計劃探索更多的特征預處理,以及更有效的分類算法,以更好地進行入侵檢測。目前,還在研究設(shè)計更有效的方法以針對入侵檢測,以及使用分布式計算減少模型訓練時間。

        猜你喜歡
        特征檢測模型
        一半模型
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        如何表達“特征”
        不忠誠的四個特征
        當代陜西(2019年10期)2019-06-03 10:12:04
        抓住特征巧觀察
        3D打印中的模型分割與打包
        无码成人一区二区| 无码丰满熟妇一区二区| 老熟女高潮一区二区三区 | 亚洲大胆视频在线观看| 亚洲国产丝袜美女在线| 亚洲精品国产av成人精品| 日韩av东京社区男人的天堂| 99re在线视频播放| 色中文字幕视频在线观看| 很黄很色的女同视频一区二区| 香港三级日本三级a视频| 免费人成又黄又爽的视频在线| 亚洲视频在线播放免费视频| 亚洲自拍偷拍色图综合| 国产精品久久久久aaaa| 精品人妻少妇一区二区三区不卡| 人妻丰满熟妇av无码区hd| 国产极品嫩模大尺度在线播放| 亚洲国产精品不卡av在线| 四虎影视免费观看高清视频| 精品少妇大屁股白浆无码| 免费人妻精品区一区二区三| 无码免费无线观看在线视| 97久久精品午夜一区二区| 日韩国产精品一本一区馆/在线| 免费观看日本一区二区三区| 亚洲欧美日韩另类精品一区| а中文在线天堂| 久久精品中文字幕亚洲| 美女很黄很色国产av| 国模欢欢炮交啪啪150| 国产成人久久蜜一区二区| 中文字幕色资源在线视频| 亚洲乱码国产乱码精品精| 97无码人妻Va一区二区三区| 在线免费观看亚洲毛片| 欧美xxxxx高潮喷水麻豆 | 国产av无码国产av毛片| 一本色综合亚洲精品蜜桃冫| 日本中文字幕一区二区视频| 国产极品裸体av在线激情网|