朱子龍 張立臣
(廣東工業(yè)大學(xué)計算機學(xué)院 廣東 廣州 510006)
信息物理融合系統(tǒng)是一個由現(xiàn)代傳感器、計算設(shè)備和網(wǎng)絡(luò)技術(shù)集成為一體的系統(tǒng)[1]。物理世界的行為通過傳感器網(wǎng)絡(luò)傳輸?shù)叫畔⑹澜?,由信息世界進行計算分析,發(fā)出控制指令,作用于物理世界。整個過程信息計算和物理過程進行了深度融合,其中的計算、控制和通信是以可靠、安全和實時的方式實施,不需要人為干預(yù),形成一個協(xié)作和自治的閉環(huán)系統(tǒng)[2]。
CPS應(yīng)用的快速增長,導(dǎo)致許多安全性和機密性問題的出現(xiàn)[3]。因為信息計算依賴于物理過程中傳感器收集的數(shù)據(jù),而這些數(shù)據(jù)需要通過網(wǎng)絡(luò)進行傳輸,同時,物理過程中接收的控制指令也需要通過網(wǎng)絡(luò)進行傳輸。因此,CPS設(shè)備的自治性會導(dǎo)致入侵和攻擊的風(fēng)險[4]。CPS的安全問題越來越受到業(yè)界的關(guān)注[5]。
文獻[6]設(shè)計了在智能電網(wǎng)中使用的分布式入侵系統(tǒng),通過大量的流量分析模塊,結(jié)合人工免疫系統(tǒng)(Artificial Immune System,AIS)和支持向量機(Support Vector Machine,SVM)檢測網(wǎng)絡(luò)流量中的攻擊行為。文獻[7]提出了基于EBP神經(jīng)網(wǎng)絡(luò)的規(guī)則學(xué)習(xí)算法,從實驗數(shù)據(jù)的ICMP分組中提取特征,輸入到EBP神經(jīng)網(wǎng)絡(luò)中進行訓(xùn)練,使網(wǎng)絡(luò)學(xué)習(xí)其中的規(guī)則對網(wǎng)絡(luò)異常行為進行識別。文獻[8]提取了DoS(Denial of Service)攻擊下的網(wǎng)絡(luò)流量特征,結(jié)合K-近鄰(K-Nearest Neighbor,KNN)等機器學(xué)習(xí)算法對正常和攻擊行為進行區(qū)分。文獻[9]將PCA與核函數(shù)空間結(jié)合,實現(xiàn)對非線性結(jié)構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)進行異常檢測。文獻[10]運用稀疏自編碼網(wǎng)絡(luò)進行降維,結(jié)合LightGBM算法進行分類,以二叉樹的形式處理網(wǎng)絡(luò)攻擊分類的多分類問題,并在NSL-KDD標(biāo)準(zhǔn)數(shù)據(jù)集上對算法準(zhǔn)確率進行對比實驗。文獻[11]搭建了一個電源系統(tǒng)試驗臺,并輔以網(wǎng)絡(luò)監(jiān)控設(shè)備,采集其中的網(wǎng)絡(luò)流量信息運用Adaboost集成學(xué)習(xí)框架,結(jié)合JRipper規(guī)則學(xué)習(xí)算法,對電力系統(tǒng)中的異常行為進行檢測,并與常見的機器學(xué)習(xí)算法進行對比。文獻[12]提出了兩種適用于CPS環(huán)境的入侵檢測系統(tǒng),一種是基于K均值聚類算法,另一種基于自組織映射網(wǎng)絡(luò)(Self-Organizing Map,SOM)。實驗顯示兩類入侵檢測系統(tǒng)提高了檢測速率和精度,可以便捷地部署在CPS環(huán)境中?;谏鲜龉ぷ鲬?yīng)用于CPS入侵檢測時的缺陷,需要繼續(xù)優(yōu)化算法應(yīng)對高維數(shù)據(jù)的能力,進一步提升算法的速度,使其能滿足CPS入侵檢測對實時性的要求。
本文貢獻在于:
(1) 提出一種結(jié)合相關(guān)性特征選擇的堆疊極限樹集成算法(CFS-SET)。首先通過基于相關(guān)性的特征選擇算法,結(jié)合最佳優(yōu)先(BestFirst)的搜索策略,對信息物理融合系統(tǒng)的數(shù)據(jù)特征進行篩選,選擇出關(guān)聯(lián)性較高的特征。能夠有效地為后續(xù)的分類算法降低輸入量,減輕計算壓力,以達到信息物理融合系統(tǒng)實時分析的需求。后續(xù)選擇的極限樹算法,會隨機選擇特征,因此剔除掉關(guān)聯(lián)性較低的特征將會進一步提升算法的整體表現(xiàn)。
(2) 將極限樹算法引入信息物理融合系統(tǒng)入侵檢測,將其作為Stacking集成算法的基學(xué)習(xí)器,雖然其算法復(fù)雜度與一般的樹算法相同,同為NlogN,但是考慮到節(jié)點拆分過程的簡單性,其常數(shù)因子比其他基于局部集成優(yōu)化切點的方法更小。進一步提高分類速度,優(yōu)化信息物理融合系統(tǒng)的運算時間。
(3) 使用Stacking集成學(xué)習(xí)框架,同時訓(xùn)練若干個極限樹,將其輸出送入邏輯回歸分類器。采用這種堆疊式模型來提高預(yù)測的準(zhǔn)確度,改善分類性能,同時最小化泛化錯誤率,增強算法的魯棒性。本文將使用密西西比州立大學(xué)的電力系統(tǒng)標(biāo)準(zhǔn)數(shù)據(jù)集Power System Dataset進行實驗,驗證本文算法的有效性。
CPS所產(chǎn)生的數(shù)據(jù)往往呈現(xiàn)出數(shù)據(jù)量龐大、特征眾多的特點。一般的機器學(xué)習(xí)算法面對如此龐大的高維數(shù)據(jù),計算所需要的時間將會直線上升,不能滿足CPS對算法實時性的要求。并不是所有的特征都有利于算法的學(xué)習(xí),其中存在著大量的冗余和不相關(guān)特征。面對高維數(shù)據(jù),通常有降維算法和特征選擇兩種方式。降維算法通過挖掘特征深層的信息來達到降維的目的,缺點在于每次進行預(yù)測的時候都要對輸入的特征進行降維,需要額外的時間開銷。特征選擇則可以選出有價值的特征,在對模型進行訓(xùn)練和預(yù)測的時候直接選擇這些特征作為輸入,減少時間開銷。為了滿足CPS實時性的需求,本文用特征選擇算法對高維數(shù)據(jù)進行預(yù)處理。
特征選擇算法可以分為三個大類:過濾式(filter)、包裹式(wrapper)和嵌入式(embedding)。過濾式方法直接對所有特征進行篩選,保留樣本對應(yīng)的特征數(shù)據(jù),送給后續(xù)模型進行訓(xùn)練,對特征進行選擇的過程與后續(xù)模型的性能沒有關(guān)系,僅僅關(guān)注數(shù)據(jù)集的特征本身。包裹式方法則是根據(jù)后續(xù)模型的分類性能作為特征,反過來矯正需要的特征,所以結(jié)果與模型直接相關(guān)。從最終模型的分類性能來看,因為針對所使用的特定學(xué)習(xí)算法對特征選擇進行了優(yōu)化,所以包裹式往往比過濾式的效果更好。包裹式的缺點是在進行特征選擇的時候需要反復(fù)的訓(xùn)練模型,計算開銷往往大于過濾式,尤其是當(dāng)模型本身的計算非常復(fù)雜的時候。同時因為包裹式與后續(xù)模型結(jié)合太過緊密,一旦更換后續(xù)的模型,必須重新運行特征選擇算法。嵌入式與上述兩種特征選擇算法不同,嵌入式方法沒有明顯的特征選擇過程,它的過程是融合在模型訓(xùn)練的過程中,也就是說模型在訓(xùn)練過程中自動地進行了特征選擇。
本文將特征選擇引入集成算法當(dāng)中,將其作為整個算法改進的一部分,具體是選擇過濾式特征選擇算法。它可以減少學(xué)習(xí)所需的數(shù)據(jù)量,提高預(yù)測準(zhǔn)確性,使學(xué)習(xí)的知識更緊湊,更容易理解以及減少執(zhí)行時間,不需要針對不同的學(xué)習(xí)算法重新執(zhí)行。CPS是一個對實時性要求很高的系統(tǒng),所以過濾式相比于其他兩種特征選擇算法,更符合CPS入侵檢測算法的需求。
CFS是一種基于特征之間相關(guān)性的過濾式特征選擇算法,可以快速識別并篩選不相關(guān)、冗余的特征,并在不嚴(yán)格依賴其他特征的情況下識別相關(guān)特征。CFS是一種全自動算法,不需要用戶指定任何閾值或要選擇的特征數(shù)量,同時,CFS是一種過濾式特征選擇算法,因此不會重復(fù)調(diào)用學(xué)習(xí)算法而增加計算成本[13]。
CFS使用基于相關(guān)性的啟發(fā)式評估函數(shù)對特征子集進行排名。評估函數(shù)偏向于包含特征與類別高度相關(guān),特征與特征之間彼此不相關(guān)的特征的子集。與類別沒有關(guān)系的特征應(yīng)該被忽略,同時冗余特征應(yīng)該被篩選出來,因為它們與一個或多個特征高度相關(guān)。其評估的形式化定義如下:
(1)
最佳優(yōu)先搜索策略可以選擇從沒有特征或所有特征開始搜索,如果選擇從沒有特征開始搜索,會通過添加單個特征的方式在搜索空間中進行;如果選擇從所有特征開始搜索,則會通過刪除單個特征的方式在搜索空間中進行。如果有五個連續(xù)完全展開的子集對當(dāng)前的最佳子集沒有提升,則搜索將終止。由于在對特征子集進行相關(guān)性評價的時候,需要使用離散化的變量來進行計算,如果特征屬性是數(shù)值型,則應(yīng)當(dāng)先對數(shù)值型數(shù)據(jù)進行離散化。圖1展示了CFS進行特征選擇時對訓(xùn)練集和測試集的具體流程。
圖1 CFS特征選擇算法流程
極限樹算法使用經(jīng)典的自頂向下的過程構(gòu)建未修剪的決策樹。與其他基于樹的算法的區(qū)別主要有兩點,一是極限樹通過完全隨機的方式選擇切點來分割節(jié)點,二是極限樹在生長的過程中使用整個學(xué)習(xí)樣本。
對于評分機制,本文使用文獻[14]中的評分機制對需要進行隨機選擇的屬性進行評價,選擇其中評分最高的劃分屬性。在分類問題中,用信息增益來定義評分函數(shù),對于當(dāng)前劃分節(jié)點,式(2)為評分度量。
(2)
算法1Single Extra Tree生成算法。
輸入:訓(xùn)練集D={(x1,y1),(x2,y1),…,(xm,ym)}, 屬性a。
輸出:極限樹,劃分屬性。
Step1如果|D| Step2將node標(biāo)記為葉節(jié)點并返回。 Step3從所有候選屬性中隨機選擇K個屬性{a1,a2,…,aK}。 Step4形成K個劃分{s1,s2,…,sK},式(3)對si計算進行了定義。 si=Pick_a_random_split(D,ai) ?i=1,2,…,K (3) Step5由Score(d*,D)選擇出最好的劃分值d,其分?jǐn)?shù)計算如式(4)所示。 (4) Step6依據(jù)d*將樣本集D分割成兩個樣本子集Dl和Dr。 Step7使用樣本子集Dl構(gòu)造左子樹tl=Build_an_extra_tree(Dl),使用樣本子集Dr構(gòu)造右子樹tr=Build_an_extra_tree(Dr)。 Step8根據(jù)d*建立節(jié)點,tl和tr分別是它的左子樹和右子樹,形成一棵極限樹并返回。 Step11劃分屬性[a 單棵極限樹隨機性太強,一般會使用隨機森林的思想,生成眾多極限樹組成極限森林來提高整個算法的穩(wěn)定性。但生成大量的極限樹需要額外的時間和內(nèi)存開銷,不能滿足CPS入侵檢測對實時性的要求。本文提出將極限樹算法和Stacking集成算法進行結(jié)合,使用極限樹作為Stacking集成算法的基學(xué)習(xí)器,由于極限樹的隨機性,符合Stacking集成算法對基學(xué)習(xí)器之間存在差異的需求。堆疊極限樹可以提升算法的穩(wěn)定性,提高泛化精度。 為了能夠進一步滿足CPS入侵檢測對實時性的要求,本文結(jié)合相關(guān)性特征選擇算法和堆疊極限樹算法,提出CFS-SET算法。在CPS的入侵檢測中,數(shù)據(jù)常常呈現(xiàn)特征眾多、維度高的特點,造成算法運算時間長和性能不佳的效果。采用相關(guān)性特征選擇算法(CFS),結(jié)合最佳優(yōu)先(BestFirst)的啟發(fā)式搜索策略,可以自動地從入侵?jǐn)?shù)據(jù)的眾多特征中選擇出有用的特征,減少后續(xù)分類算法的訓(xùn)練和預(yù)測時間。同時,因為極限樹是隨機地選取特征來生長一棵樹,所以特征選擇有助于提高單棵極限樹的性能。使用選擇出的新特征組成新的訓(xùn)練集和測試集,將其送入后續(xù)的堆疊極限樹(SET)算法中。堆疊極限樹算法是將若干個極限樹模型作為基分類器,向這些分類器中送入相同的訓(xùn)練數(shù)據(jù)進行訓(xùn)練。所有分類器輸出的預(yù)測結(jié)果合并成一個新的特征,輸入下一層的邏輯回歸分類器進行訓(xùn)練。算法中使用的極限樹具有隨機性,改變隨機種子后即可生長出兩棵完全不同的極限樹,所以其堆疊的數(shù)量很重要,過多的堆疊數(shù)量會導(dǎo)致計算時間過長,過少的堆疊數(shù)量無法獲得良好的檢測性能。因此對極限樹的堆疊數(shù)量進行了實驗,綜合計算時間和檢測性能,實驗選擇使用5棵極限樹進行堆疊。算法本質(zhì)是一個二層的結(jié)構(gòu),算法框架如圖2所示,可以看出算法主要包含特征選擇和Stacking兩部分。其中:TrainingData和TestingData為訓(xùn)練集和測試集數(shù)據(jù);CFS為相關(guān)性特征選擇算法,具體流程如圖1;CFSTrainingData和CFSTestingData為經(jīng)過特征選擇算法篩選后訓(xùn)練集和測試集數(shù)據(jù);ExtraTree-1、ExtraTree-2等是5棵不相同的極限樹作為Stacking中的基學(xué)習(xí)器;Pred-1、Pred-2等是各個基學(xué)習(xí)器產(chǎn)生的預(yù)測結(jié)果;MergeData是合并了基學(xué)習(xí)器預(yù)測結(jié)果的數(shù)據(jù)集;logisticsregression是第二層的邏輯回歸模型。 圖2 CFS-SET算法流程 具體步驟為: (1) 將具有m個特征的訓(xùn)練集TrainingData進行相關(guān)性特征選擇(CFS),選擇出n個特征的訓(xùn)練集CFSTrainingData。 (2) 從具有m個特征的測試集TestingData中挑選出相同的n個特征,組成測試集CFSTestingData。 (3) 將5份相同的訓(xùn)練集CFSTrainingData分別送入5個不同的ExtraTree中,使用10折交叉驗證來訓(xùn)練,訓(xùn)練出5個不同的ExtraTree模型,并輸出5份對應(yīng)的預(yù)測結(jié)果。 (4) 將5份不同的預(yù)測結(jié)果合并成一個全新的數(shù)據(jù)集,作為訓(xùn)練集送入下一層邏輯回歸進行訓(xùn)練。 (5) 保存整個模型,訓(xùn)練結(jié)束。 值得注意的是,雖然基學(xué)習(xí)器使用的都是極限樹,但因為設(shè)置了不同的隨機種子,每棵樹在分裂的時候會進行隨機的分裂,生長成不同的樹,所以是互不相同的模型,各自得到的輸出也不同。使用Stacking的目的主要是獲得盡可能高的泛化精度(與學(xué)習(xí)精度相反),其中心思想是,比簡單地列出與訓(xùn)練集一致的父函數(shù)的所有預(yù)測結(jié)果做得更好。它通??梢越Y(jié)合多個基分類器的優(yōu)點,提高泛化性能,并且表現(xiàn)穩(wěn)定。 為了驗證本文提出的CFS-SET算法的有效性,本文使用密西西比州立大學(xué)關(guān)鍵基礎(chǔ)設(shè)施保護中心2014年建立的電力系統(tǒng)數(shù)據(jù)集(Power System Datasets)[15]對本文算法性能與幾種代表性的機器學(xué)習(xí)和集成學(xué)習(xí)算法進行比較。測試硬件平臺為:Windows 10專業(yè)版64位操作系統(tǒng)、Intel(R)CoreTMi7-4700HQ CPU @ 2.40 GHz處理器、8 GB內(nèi)存。使用Python語言對數(shù)據(jù)進行預(yù)處理,使用Weka[16]作為機器學(xué)習(xí)算法框架進行比較。 Power System Datasets數(shù)據(jù)來源于一個二進線三母線智能電力系統(tǒng)對37種事件的仿真?,F(xiàn)代電力傳輸系統(tǒng)依靠傳感器進行遠(yuǎn)程監(jiān)控。其數(shù)據(jù)包括電壓和電流等測量值以及系統(tǒng)設(shè)備的狀態(tài),如繼電器、斷路器和變壓器等。智能電網(wǎng)作為CPS在現(xiàn)實中應(yīng)用最廣泛的場景,是驗證本文算法的理想環(huán)境。 本文著重于識別威脅CPS正常運作的入侵事件,所以選擇對事件進行二分類的分類方案。整個數(shù)據(jù)集被分為37個事件場景,其中:28個事件為攻擊行為;9個事件為正常操作。數(shù)據(jù)來自15個數(shù)據(jù)庫,隨機抽取1%的數(shù)據(jù)以減小大小并評估小樣本大小的有效性,組成15個數(shù)據(jù)文件。表1列舉了攻擊行為和正常操作的序號分類。 表1 二分類事件具體分類表 Power System Datasets數(shù)據(jù)集共有78 377個樣本,每條樣本數(shù)據(jù)的存儲形式為X=(x1,x2,…,xn,y),每條樣本數(shù)據(jù)具有128個特征屬性(其中116個測量值由4個同步儀產(chǎn)生,余下的12個測量值來自控制面板日志、中繼日志和Snort警報)和1個類標(biāo)簽。由于數(shù)據(jù)量充足,本文剔除了屬性存在缺失值的數(shù)據(jù)。同時由于特征屬性離散和連續(xù)數(shù)值混合,本文對數(shù)據(jù)進行Z-Score標(biāo)準(zhǔn)化處理,根據(jù)式(5)將數(shù)據(jù)轉(zhuǎn)化為標(biāo)準(zhǔn)正態(tài)分布。 (5) 式中:x是個體觀測值;μ是總體數(shù)據(jù)的均值;σ是總體數(shù)據(jù)的標(biāo)準(zhǔn)差。 本文將采用以下評估指標(biāo)來衡量用于CPS入侵檢測任務(wù)的算法性能。 準(zhǔn)確率指的是算法正確分類的樣本數(shù)量與總體樣本數(shù)量的比值。雖然準(zhǔn)確率可以判斷總體的準(zhǔn)確率,但是在樣本不平衡的情況下,可能會出現(xiàn)高準(zhǔn)確率但其結(jié)果含有很大水分,不能準(zhǔn)確反映分類性能。比如當(dāng)正常操作的樣本數(shù)量很少的情況下,極端地將所有的類別預(yù)測為攻擊即可獲得很高的準(zhǔn)確率,顯然,這不能準(zhǔn)確地反映算法的性能。準(zhǔn)確率利用式(6)進行計算。 (6) 式中:TP(真正例)表示攻擊行為被正確分類的數(shù)量;TN(真反例)表示正常操作行為被正確分類的數(shù)量;FN(假反例)表示攻擊行為被錯誤分類的數(shù)量;FP(假正例)表示正常操作行為被錯誤分類的數(shù)量。 精確率衡量的是,算法識別出的正例中算法預(yù)測正確的百分比,即算法分類為攻擊行為的樣本中,真正是攻擊行為的比率。精確率越高代表算法的誤報率越低。精確率利用式(7)進行計算。 (7) 靈敏度衡量的是正確識別出正例的比率,即算法正確識別出攻擊行為的百分比。靈敏度越高代表算法的漏報率越低。利用式(8)可以計算出靈敏度。 (8) F1分?jǐn)?shù)指的是精確度和召回率的調(diào)和平均值,其值在0到1之間,當(dāng)F1分?jǐn)?shù)較高的時候說明算法分類性能較好。式(9)給出了F1值計算方法。 (9) 圖3展示了結(jié)合相關(guān)性特征選擇的堆疊極限樹集成算法(CFS-SET)和另外6種常見的經(jīng)典機器學(xué)習(xí)算法在15個數(shù)據(jù)集上的分類準(zhǔn)確率。分類準(zhǔn)確率是通過在每個數(shù)據(jù)集上進行10折交叉驗證,取得的分類準(zhǔn)確率計算出的均值??梢钥闯觯?種算法無論應(yīng)用于15個數(shù)據(jù)集的哪個數(shù)據(jù)集,結(jié)果都是一致的,雖然有細(xì)微的變化,但分類表現(xiàn)都是相對穩(wěn)定的。其中表現(xiàn)最好的兩種算法分別是CFS-SET和Random Forests,分類準(zhǔn)確率都在95%以上。作為基學(xué)習(xí)器的Extra Tree和Nearest Neighbor算法分類準(zhǔn)確率能達到90%。 圖3 15個數(shù)據(jù)集上分類準(zhǔn)確率 圖4顯示了15個數(shù)據(jù)集上不同算法的平均精確率,其中每個數(shù)據(jù)集使用10折交叉驗證的方法。精確率在本例中的含義是識別出的真正是攻擊行為的數(shù)量與總的攻擊行為數(shù)量之間的比值。精確率越高,代表算法越不會將正常的操作行為誤報為攻擊行為。在7種算法中,CFS-SET和Random Forests的在15個數(shù)據(jù)集上的平均精確率表現(xiàn)最佳。 圖4 平均精確度 圖5顯示了15個數(shù)據(jù)集上不同算法的平均漏報率,其值是根據(jù)1-Sensitivity來確定的,其中每個數(shù)據(jù)集使用10折交叉驗證的方法。可以看出SVM在漏報率上表現(xiàn)非常出色,15個數(shù)據(jù)集沒有誤報的情況發(fā)生,但結(jié)合精確率可以發(fā)現(xiàn),SVM在精確率上表現(xiàn)很差,也就是說這種低漏報率的表現(xiàn)是通過高誤報率換來的。在實際環(huán)境中,這種算法對決策者的價值很低,因為其分類表現(xiàn)是不可靠的。AdaBoost、CFS-SET和Random Forests的漏報率在0到0.1之間,表現(xiàn)良好。 圖5 平均漏報率 圖6顯示了所有數(shù)據(jù)集的平均F1值,它本質(zhì)上綜合了分類性能的精確率和靈敏度??梢愿玫胤从吵鏊惴ǖ姆诸愋阅堋?梢钥吹紺FS-SET和Random Forests擁有最高的F1值,都達到了0.979。說明CFS-SET算法在分類性能上與Random Forests基本相當(dāng)。 圖6 平均F1值 在CPS中進行入侵檢測不僅需要算法的分類性能良好,還需要滿足CPS對算法實時性的要求,即算法的模型建立時間和預(yù)測時間要盡可能的短,否則即使算法的分類性能出眾,也無法應(yīng)用于CPS的入侵檢測中。表2展示了每個算法進行10折交叉驗證時,平均每折的耗時和10折總耗時情況。可以看出上文分類性能相當(dāng)?shù)腃FS-SET和Random Forests算法,在計算時間上,CFS-SET算法只用了Random Forests算法的1/5的時間??梢娫诳傮w性能表現(xiàn)上,本文提出的CFS-SET算法更好地兼顧了分類準(zhǔn)確率和計算時間兩者間的平衡。 表2 模型運行時間匯總表 單位:s 利用基于特征之間相關(guān)性的特征選擇算法,快速篩選出關(guān)聯(lián)性高的特征,拋棄冗余和不相關(guān)的特征,這樣可以加速后續(xù)的分類算法。使用Stacking的集成算法框架,提升算法的泛化能力,減少單棵極限樹隨機性太強帶來的偏差。實驗結(jié)果表明,本文提出的CFS-SET方法能夠從眾多的入侵?jǐn)?shù)據(jù)特征中過濾出真正有用的特征,進而提升分類效率。對比其他常見的機器學(xué)習(xí)算法對CPS環(huán)境中的攻擊行為檢測,更好地兼顧了誤報率和漏報率,F(xiàn)1值達到了平均0.979。同樣使用集成算法思想的Random Forests算法也達到了與CFS-SET相同的F1值。但在實時性方面,CFS-SET算法只使用了Random Forests算法1/5的計算時間。本文將隨機性很強的極限樹算法進行堆疊,改善其因為隨機性帶來的分類性能不佳的問題,吸收其計算速度快的優(yōu)點,使CFS-SET算法同時兼顧分類性能和分類時間,使得將其應(yīng)用于CPS入侵檢測成為可能。本文進一步的工作將考慮把CFS-SET算法推廣至多分類的CPS入侵檢測中,能夠?qū)Σ煌娜肭謾z測行為進行分類,同時需要考慮多分類情況下,類別不均衡對分類算法的影響。將上采樣和下采樣技術(shù)融合入CFS-SET算法中,保持甚至提升算法在多分類情況下的分類性能和計算時間,能夠繼續(xù)應(yīng)用于CPS入侵檢測的多分類領(lǐng)域。2.2 結(jié)合相關(guān)性特征選擇的堆疊極限樹集成算法描述
3 仿真測試
3.1 數(shù)據(jù)預(yù)處理
3.2 分析方法
3.3 實驗結(jié)果分析
4 結(jié) 語