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

?

一種面向工控系統(tǒng)的PU學(xué)習(xí)入侵檢測方法

2021-08-25 03:38:42呂思才張耀方劉紅日王子博王佰玲
信息安全學(xué)報(bào) 2021年4期
關(guān)鍵詞:正例標(biāo)簽分類

呂思才,張 格,張耀方,劉紅日,王子博,王佰玲*

1計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 哈爾濱工業(yè)大學(xué)(威海) 威海 中國 264209

2國家工業(yè)信息安全發(fā)展研究中心 北京 中國 100040

3網(wǎng)絡(luò)空間安全研究院 哈爾濱工業(yè)大學(xué) 威海 中國 264209

1 引言

工業(yè)控制系統(tǒng)(Industrial Control System)是用于工業(yè)生產(chǎn)的控制系統(tǒng),是國家基礎(chǔ)設(shè)施的重要組成部分,被廣泛應(yīng)用到水利、核電和能源等關(guān)鍵領(lǐng)域中,作為國家基礎(chǔ)設(shè)施的核心控制設(shè)備,其安全關(guān)系國計(jì)民生[1]。

隨著工業(yè)控制系統(tǒng)的迅速發(fā)展,在其被廣泛應(yīng)用的同時(shí),安全事件也開始頻發(fā)。2010年,“震網(wǎng)”(Stuxnet)病毒爆發(fā),直接導(dǎo)致伊朗核設(shè)施的離心機(jī)大面積損毀,震網(wǎng)病毒爆發(fā)之后,工控系統(tǒng)開始逐漸成為攻擊者的主要攻擊目標(biāo)之一[2]; 2017年,全球爆發(fā)的WannaCry 勒索病毒借助高危漏洞“永恒之藍(lán)”(Eternal Bule)在世界范圍內(nèi)爆發(fā),影響多國能源、交通、通信等重點(diǎn)行業(yè)[3]; 2018年3月,美國計(jì)算機(jī)應(yīng)急準(zhǔn)備小組發(fā)布了一則安全通告 TA18-074A,詳細(xì)描述了俄羅斯黑客針對(duì)美國某發(fā)電廠的網(wǎng)絡(luò)攻擊事件。該攻擊以收集情報(bào)為目的,向計(jì)算機(jī)植入程序記錄有關(guān)信息進(jìn)行攻擊,對(duì)發(fā)電廠造成巨大損失[4]。2019年,委內(nèi)瑞拉最大的電力設(shè)施古里水電站計(jì)算機(jī)系統(tǒng)控制中樞遭受到網(wǎng)絡(luò)攻擊,引發(fā)全國性大面積停電,約3000萬人口受到影響; 同年7月,委內(nèi)瑞拉古里水電站再次遭到攻擊,導(dǎo)致包括委內(nèi)瑞拉首都加拉加斯在內(nèi)的16個(gè)州發(fā)生大范圍停電[5]。正是由于工業(yè)控制系統(tǒng)是國家基礎(chǔ)設(shè)施的重要組成部分,因此針對(duì)工業(yè)控制系統(tǒng)的攻擊通常會(huì)造成更嚴(yán)重的后果,更巨大的經(jīng)濟(jì)損失。

針對(duì)工業(yè)控制系統(tǒng)受到的安全威脅,使用入侵檢測手段進(jìn)行防護(hù)是一項(xiàng)重要手段。目前基于工業(yè)控制系統(tǒng)的入侵檢測展開了多方面的研究,通過結(jié)合機(jī)器學(xué)習(xí)模型實(shí)現(xiàn)對(duì)工業(yè)控制系統(tǒng)入侵的智能化檢測。在多樣的機(jī)器學(xué)習(xí)模型中,OCSVM模型在訓(xùn)練數(shù)據(jù)上只需要一類數(shù)據(jù),這使得其可以發(fā)現(xiàn)未知的入侵,因此成為工業(yè)控制系統(tǒng)入侵檢測的常用方法。然而由于反例訓(xùn)練數(shù)據(jù)的缺失會(huì)使得訓(xùn)練的模型具有較高的 FPR(False Positive Rate,假陽性率),因此本文引入PU學(xué)習(xí)模型來進(jìn)行入侵檢測,將正常流量作為正例標(biāo)簽數(shù)據(jù)訓(xùn)練模型,保留模型對(duì)于未知入侵的檢測能力的同時(shí),提升模型對(duì)于入侵的檢測能力。而PU學(xué)習(xí)模型同時(shí)將一類標(biāo)簽數(shù)據(jù)和待檢測的無標(biāo)簽數(shù)據(jù)用于模型的訓(xùn)練,因此PU學(xué)習(xí)模型的分類性能往往高于異常檢測模型。

本文的主要貢獻(xiàn)可以概括如下:

(1) 針對(duì)工業(yè)控制系統(tǒng)數(shù)據(jù)維數(shù)高、關(guān)聯(lián)性強(qiáng)的特點(diǎn),本文提出一種基于PU學(xué)習(xí)的特征重要度計(jì)算方法,該方法可以基于正例標(biāo)簽數(shù)據(jù)和無標(biāo)簽數(shù)據(jù)計(jì)算出特征的重要度,以用于特征選擇。

(2) 在 PU 學(xué)習(xí)的類先驗(yàn)概率估計(jì)上,本文分析了基于正例標(biāo)簽頻率的類先驗(yàn)概率估計(jì)算法,并通過OCSVM模型劃分可信賴的正例子集,改良了正例標(biāo)簽頻率的計(jì)算方法,減小了先驗(yàn)概率估計(jì)的誤差。

(3) 基于工業(yè)控制系統(tǒng)攻擊的隱蔽性特點(diǎn),將PU學(xué)習(xí)應(yīng)用到工業(yè)控制系統(tǒng)入侵檢測,構(gòu)建神經(jīng)網(wǎng)絡(luò)進(jìn)行PU學(xué)習(xí),在僅有正常流量作為標(biāo)簽數(shù)據(jù)的情況下訓(xùn)練分類模型,并通過公開數(shù)據(jù)集實(shí)驗(yàn)進(jìn)行實(shí)驗(yàn)驗(yàn)證模型的有效性。

本文的結(jié)構(gòu)如下: 第 2節(jié)介紹工業(yè)控制系統(tǒng)入侵檢測和PU學(xué)習(xí)的研究現(xiàn)狀; 第3節(jié)為本文的主要研究內(nèi)容; 第 4節(jié)通過實(shí)驗(yàn)驗(yàn)證提出的算法的有效性; 第5節(jié)對(duì)文章進(jìn)行總結(jié)。

2 相關(guān)工作

2.1 工業(yè)控制系統(tǒng)概述

工控網(wǎng)絡(luò)層次模型從上到下共分為 5個(gè)層級(jí),依次為企業(yè)資源層、生產(chǎn)管理層、過程監(jiān)控層、現(xiàn)場控制層和現(xiàn)場設(shè)備層,不同層級(jí)的實(shí)時(shí)性要求不同。企業(yè)資源層主要包括 ERP系統(tǒng)功能單元,用于為企業(yè)決策層員工提供決策運(yùn)行手段,如圖1所示。

圖1 工業(yè)控制系統(tǒng)層次結(jié)構(gòu)Figure 1 Architecture of an Industrial Control System

工業(yè)控制最底層是現(xiàn)場設(shè)備層,其包含一些應(yīng)用在現(xiàn)場的設(shè)備,如傳感器,監(jiān)控器等一些執(zhí)行設(shè)備單元,用于對(duì)生產(chǎn)過程進(jìn)行感知與操作。

過程監(jiān)控層和現(xiàn)場控制層是用于監(jiān)視和控制現(xiàn)場設(shè)備。其中過程監(jiān)控層主要包含SCADA和HMI,SCADA可以對(duì)現(xiàn)場的運(yùn)行設(shè)備進(jìn)行監(jiān)視和控制,以實(shí)現(xiàn)數(shù)據(jù)采集、設(shè)備控制、測量、參數(shù)調(diào)節(jié)以及各類信號(hào)報(bào)警等各項(xiàng)功能; HMI為人機(jī)界面,用于系統(tǒng)和用戶之間進(jìn)行信息交互?,F(xiàn)場控制層主要是PLC,PLC向上與 HMI相連,接收控制命令和查詢請(qǐng)求,向下與現(xiàn)場設(shè)備相連,通過發(fā)送操作指令對(duì)現(xiàn)場設(shè)備進(jìn)行控制。

生產(chǎn)管理層中包含MES和MOMS,用于對(duì)生產(chǎn)過程進(jìn)行管理,如制造數(shù)據(jù)管理、生產(chǎn)調(diào)度管理等。

最上層為企業(yè)資源層,企業(yè)資源規(guī)劃(ERP)系統(tǒng)管理核心業(yè)務(wù)流程,如生產(chǎn)或產(chǎn)品計(jì)劃,物料管理和財(cái)務(wù)情況等。

2.2 工業(yè)控制系統(tǒng)入侵檢測特點(diǎn)

工業(yè)控制系統(tǒng)的入侵檢測與互聯(lián)網(wǎng)的入侵檢測存在顯著差別,由于工業(yè)控制系統(tǒng)的環(huán)境的特殊性,其具有獨(dú)特的特征[6]:

(1) 高實(shí)時(shí)性。工業(yè)控制系統(tǒng)通常部署在電力、核能等領(lǐng)域中,系統(tǒng)具有較高的實(shí)時(shí)性,因此也要求入侵檢測具有較高的實(shí)時(shí)性。

(2) 工控設(shè)備資源受限。工業(yè)控制系統(tǒng)包含大量執(zhí)行特定操作的傳感器和執(zhí)行器,為降低成本,其擁有的計(jì)算、存儲(chǔ)資源通常十分有限。

(3) 設(shè)備難以更新,重啟。工業(yè)控制系統(tǒng)與物理世界聯(lián)系緊密,通常無法暫停工作,否則會(huì)對(duì)整個(gè)工業(yè)控制系統(tǒng)、人員、環(huán)境造成嚴(yán)重的危害。

基于以上工業(yè)控制系統(tǒng)的特征,實(shí)際上對(duì)入侵檢測系統(tǒng)就提出的較高的要求:

(1) 實(shí)時(shí)性。工業(yè)控制系統(tǒng)對(duì)入侵檢測具有更高的實(shí)時(shí)性要求,要求入侵檢測系統(tǒng)可以利用工業(yè)控制系統(tǒng)的實(shí)時(shí)信息進(jìn)行入侵檢測。

(2) 資源受限。工業(yè)控制系統(tǒng)資源受限的特點(diǎn)對(duì)入侵檢測的方法進(jìn)行了限制,要求入侵檢測模型具有較低的資源消耗。一些基于深度學(xué)習(xí)的算法的時(shí)間復(fù)雜度就相對(duì)較高,特別是深度學(xué)習(xí)模型,拋開訓(xùn)練時(shí)間不談,一些深層的神經(jīng)網(wǎng)絡(luò)模型,其網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜參數(shù)量非常大,所需的訓(xùn)練和預(yù)測時(shí)間也較長。在資源首先的情況下,一些復(fù)雜的深層神經(jīng)網(wǎng)絡(luò)模型難以適用于工業(yè)控制系統(tǒng)的入侵檢測。因此在將神經(jīng)網(wǎng)絡(luò)模型運(yùn)用到工業(yè)控制系統(tǒng)的入侵檢測是,需要著重考慮模型的復(fù)雜度,在保證準(zhǔn)確率的同時(shí)盡可能使神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)簡單。

(3) 設(shè)備難以更新和重啟。這一特點(diǎn)對(duì)入侵檢測模型性能進(jìn)行了限制。首先由于設(shè)備難以更新模型需要具有較好的泛化性能,即在訓(xùn)練數(shù)據(jù)上訓(xùn)練的模型運(yùn)用到真實(shí)數(shù)據(jù)上同樣需要具有較好的性能;其次是指標(biāo)的要求,由于設(shè)備無法重啟或暫停,因此進(jìn)行入侵檢測需要具有較高的查準(zhǔn)率,即寧可漏報(bào)也不誤報(bào)。

以上是工業(yè)控制系統(tǒng)的特點(diǎn),在進(jìn)行入侵檢測時(shí),通常需要基于其流量進(jìn)行分析,工業(yè)數(shù)據(jù)的特點(diǎn)是維數(shù)高、關(guān)聯(lián)性強(qiáng),這會(huì)增加入侵檢測模型的訓(xùn)練時(shí)間,因此需要對(duì)工業(yè)數(shù)據(jù)特征提取,降低后續(xù)數(shù)據(jù)建模和處理的復(fù)雜度[15]。

基于工業(yè)控制系統(tǒng)高查準(zhǔn)率,低資源消耗的要求,以及其數(shù)據(jù)標(biāo)簽難獲取的特點(diǎn),本文構(gòu)建淺層神經(jīng)網(wǎng)絡(luò)進(jìn)行 PU學(xué)習(xí),用于工業(yè)控制系統(tǒng)入侵檢測。同時(shí)針對(duì)工業(yè)控制系統(tǒng)數(shù)據(jù)維度高,關(guān)聯(lián)性強(qiáng)的特點(diǎn),提出一種基于PU學(xué)習(xí)的特征選擇算法用于數(shù)據(jù)降維。

2.3 工業(yè)控制系統(tǒng)入侵檢測相關(guān)工作

工業(yè)控制系統(tǒng)入侵檢測按照檢測的數(shù)據(jù)可以分為: 基于流量的檢測,基于設(shè)備狀態(tài)的檢測和基于協(xié)議的檢測。在流量上,通過工業(yè)控制系統(tǒng)真實(shí)流量構(gòu)建特征,如流持續(xù)時(shí)間,端口等信息,然后結(jié)合一些機(jī)器學(xué)習(xí)模型進(jìn)行檢測,如 OCSVM[7]; 在設(shè)備狀態(tài)上,魏戰(zhàn)紅等人提出一種基于 CUSUM 算法的入侵檢測方法,在該方法中首先以傳感器獲取的實(shí)際值和模型預(yù)測值之間的差值作為統(tǒng)計(jì)序列,根據(jù)3σ原則設(shè)計(jì)偏移常數(shù)決定閾值,最后在實(shí)驗(yàn)中驗(yàn)證了該方法可以有效檢測偏差攻擊和幾何攻擊; 在協(xié)議上,一些工控協(xié)議是公開的,可以依據(jù)這些協(xié)議的規(guī)范制定檢測規(guī)則,對(duì)特定工控協(xié)議進(jìn)行檢測,如Modbus協(xié)議[8-9]。

隨著機(jī)器學(xué)習(xí)和人工智能的迅速發(fā)展,其影響逐漸輻射到入侵檢測領(lǐng)域,大量機(jī)器學(xué)習(xí)模型被用于入侵檢測,按照適用的機(jī)器學(xué)習(xí)算法不同,可以分為傳統(tǒng)分類模型,聚類模型[10-11],集成模型,異常檢測模型和神經(jīng)網(wǎng)絡(luò)四類。由于神經(jīng)網(wǎng)絡(luò)發(fā)展迅速,且表現(xiàn)出了比傳統(tǒng)機(jī)器學(xué)習(xí)模型更好的分類性能,因此,基于傳統(tǒng)分類模型的入侵檢測逐漸降溫。集成模型和異常檢測模型各有特點(diǎn),集成模型由多個(gè)基分類器集成分類性能較好,且如隨機(jī)森林[12]; 異常檢測如 OCSVM 的優(yōu)點(diǎn)有: 1) 對(duì)于未知的入侵具有檢測能力; 2) 僅需要背景流量作為訓(xùn)練數(shù)據(jù)。隨著研究的深入,自編碼器等神經(jīng)網(wǎng)絡(luò)被用于無監(jiān)督的異常檢測[13]。

入侵檢測最常用的異常檢測算法是OCSVM,李琳等人[14]調(diào)研了 OCSVM 算法在工業(yè)控制系統(tǒng)入侵檢測中的應(yīng)用。在網(wǎng)絡(luò)層和傳輸層上,OCSVM算法被用于SCADA系統(tǒng)的TCP/IP流量異常檢測; 在應(yīng)用層上,基于 ModbusTCP正常通信流量訓(xùn)練OCSVM 模型進(jìn)行入侵檢測。同時(shí)文中也指出了OCSVM異常檢測存在三個(gè)主要問題: 工業(yè)控制系統(tǒng)的特征構(gòu)建問題,參數(shù)尋優(yōu)問題和較高的誤報(bào)率。

隨著深度學(xué)習(xí)的推廣,大量深度學(xué)習(xí)模型被用于入侵檢測,包括: RNN(Recurrent Neural Network,循環(huán)神經(jīng)網(wǎng)絡(luò)),CNN(Convolutional Neural Networks,卷積神經(jīng)網(wǎng)絡(luò)),DBN (Deep Belief Network,深度信念網(wǎng)絡(luò)),AE(AutoEncoder Network,自編碼網(wǎng)絡(luò))。深度學(xué)習(xí)模型相較于 OCSVM 等經(jīng)典的異常檢測模型,在檢測率上有了提升,但是訓(xùn)練模型所需的時(shí)間也更長。

表1中總結(jié)了近幾年的基于機(jī)器學(xué)習(xí)的工業(yè)控制系統(tǒng)入侵檢測相關(guān)工作,從相關(guān)工作分析,工業(yè)控制系統(tǒng)的入侵檢測研究具有如下趨勢:

表1 機(jī)器學(xué)習(xí)在工業(yè)控制系統(tǒng)入侵檢測中的應(yīng)用Table 1 Summary of work related to intrusion detection

(1) 趨向于異常檢測。工業(yè)控制系統(tǒng)的入侵檢測更多的是被作為異常檢測問題處理,在模型選擇上偏好OCSVM等一分類模型或AE等無監(jiān)督模型進(jìn)行識(shí)別。

(2) 趨向于高精度。在進(jìn)幾年的研究工作中部分研究者趨向于通過一些參數(shù)優(yōu)化算法如粒子群算法(PSO)和引力搜索算法(GSA)優(yōu)化模型參數(shù),使模型具有更好的分類性能。

(3) 趨向于實(shí)時(shí)高效。工業(yè)控制系統(tǒng)由于資源受限,因此要求模型具有較小的計(jì)算成本,從相關(guān)工作來看,工業(yè)控制系統(tǒng)入侵檢測更加注重低計(jì)算消耗的模型,同時(shí)大多在訓(xùn)練模型前通過特征選擇或特征提取的方法,如PCA,fisher分值進(jìn)行降維,從而減少模型訓(xùn)練所用的時(shí)間和計(jì)算量。

2.4 PU學(xué)習(xí)

PU學(xué)習(xí)可以視為一種基于神經(jīng)網(wǎng)絡(luò)進(jìn)行異常檢

測的方法,其通過正例數(shù)據(jù)集和無標(biāo)簽數(shù)據(jù)集來估計(jì)二分類誤差,從而使PU學(xué)習(xí)模型可以達(dá)到接近二分類模型的分類性能。

由于 PU學(xué)習(xí)需要通過正例數(shù)據(jù)集和無標(biāo)簽數(shù)據(jù)集訓(xùn)練模型,為了有效的估計(jì)二分類誤差,無標(biāo)簽數(shù)據(jù)集在應(yīng)用到 PU學(xué)習(xí)之前需要對(duì)其正例和反例樣本的混合比例進(jìn)行估計(jì)[31-32],也被稱為類先驗(yàn)概率估計(jì)(class prior estimation)。類先驗(yàn)概率估計(jì)主要方法是從PU數(shù)據(jù)集的分布著手,由于無標(biāo)簽數(shù)據(jù)集中混合了正例和反例數(shù)據(jù),所以實(shí)際上無標(biāo)簽數(shù)據(jù)集的分布由正例數(shù)據(jù)分布和反例數(shù)據(jù)分布組合而成,通過比較PU數(shù)據(jù)集的分布可以求出類先驗(yàn)概率[33-35]。除此以外,基于正例標(biāo)簽頻率的類先驗(yàn)概率估計(jì)算法是目前最為先進(jìn)的算法之一,Jessa Bekker等人[36]提出TIcE算法,通過在無標(biāo)簽數(shù)據(jù)集中劃分可信賴的正例子集來估計(jì)正例標(biāo)簽頻率,這也是目前時(shí)間復(fù)雜度最低的算法。

2014年,Plessis等人[37]首先對(duì)PU學(xué)習(xí)問題進(jìn)行了理論分析,將PU學(xué)習(xí)與二分類模型進(jìn)行比較,在已知類先驗(yàn)概率π的條件下估算出二分類樣本的損失,理論上其可以獲得和二分類模型相同的決策面,該模型被稱為uPU(unbiased Positve-unlabeled learning)。針對(duì) uPU模型損失函數(shù)需要滿足對(duì)稱條件,Plessis等人[38]繼續(xù)展開研究,給出了一種將不滿足對(duì)稱條件的損失函數(shù)應(yīng)用于 uPU中的方法,并驗(yàn)證了非凸損失函數(shù)和凸損失函數(shù)具有相似的精度。2016年,Plessis等人[39]進(jìn)一步比較了PU學(xué)習(xí)模型與二分類模型,分析了在一些情況下PU學(xué)習(xí)模型性能比二分類模型更佳的原因。

2017年,Ryuichi Kiryo等人[40]針對(duì)uPU容易發(fā)生過擬合的問題,提出了 nnPU(Positive-unlabeled learning with Non-negative risk estimator)算法,在uPU的基礎(chǔ)上,對(duì)其估計(jì)二分類損失的方法進(jìn)行改進(jìn),保證了估計(jì)的反例損失恒為正數(shù),從而避免了由于估計(jì)的損失為負(fù)數(shù)帶來的問題,并指出nnPU性能優(yōu)于uPU。最后,Jessa Bekker等人[41]對(duì)現(xiàn)有的PU學(xué)習(xí)進(jìn)行了總結(jié),在文章中針對(duì)目前PU學(xué)習(xí)的七個(gè)主要問題進(jìn)行了分析,其中包括PU學(xué)習(xí)的假設(shè),評(píng)價(jià)指標(biāo),主要模型和類先驗(yàn)概率估計(jì)等。

3 基于PU學(xué)習(xí)的入侵檢測

工業(yè)控制系統(tǒng)的入侵檢測問題被作為異常檢測問題收到學(xué)者們的關(guān)注,但是一些經(jīng)典的異常檢測算法如OCSVM算法,具有較高的誤報(bào)率,分類性能同二分類模型相比具有較大差距。本文提出使用PU學(xué)習(xí)進(jìn)行入侵檢測,該方法被證明具有接近二分類的分類性能,同時(shí)在訓(xùn)練數(shù)據(jù)上同 OCSVM 模型一樣只需要一類標(biāo)簽數(shù)據(jù)。

基于PU學(xué)習(xí)的入侵檢測流程如圖2所示,在特征工程上,需要通過正例標(biāo)簽數(shù)據(jù)和誤標(biāo)簽數(shù)據(jù)對(duì)特征進(jìn)行分析,選擇關(guān)鍵特征,降低數(shù)據(jù)維度,減小無關(guān)特征對(duì)模型分類性能的影響; 同時(shí)PU學(xué)習(xí)的類先驗(yàn)概率作為先驗(yàn)知識(shí),需要在進(jìn)行特征工程的同時(shí)進(jìn)行處理,通過分析正例數(shù)據(jù)和誤標(biāo)簽數(shù)據(jù),構(gòu)建模型,估計(jì)誤標(biāo)簽數(shù)據(jù)集的類先驗(yàn)概率; 然后結(jié)合特征選擇后的正例標(biāo)簽數(shù)據(jù)、無標(biāo)簽數(shù)據(jù)以及類先驗(yàn)概率,訓(xùn)練PU學(xué)習(xí)模型,最后輸出模型和誤標(biāo)簽數(shù)據(jù)集的分類標(biāo)簽。

圖2 基于PU學(xué)習(xí)的入侵檢測流程示意圖Figure 2 Schematic diagram of intrusion detection process based on PU learning

基于以上流程,本部分主要的研究內(nèi)容分為三部分: 首先,探索一種基于PU學(xué)習(xí)的特征選擇算法,基于正例標(biāo)簽數(shù)據(jù)和無標(biāo)簽數(shù)據(jù)分析特征的重要度;其次,研究類先驗(yàn)概率估計(jì)算法,提升類先驗(yàn)概率估計(jì)的準(zhǔn)確度,為PU學(xué)習(xí)提供重要先驗(yàn)知識(shí); 最后,基于特征選擇之后的數(shù)據(jù)和估計(jì)的類先驗(yàn)概率,通過PU學(xué)習(xí)訓(xùn)練分類模型。

在本文的研究中分別對(duì)異常檢測存在的問題有針對(duì)的進(jìn)行了回答:

(1) 在特征工程上,本文基于 PU學(xué)習(xí)研究了特征重要度計(jì)算方法,可以作為特征選擇的度量標(biāo)準(zhǔn)對(duì)工業(yè)控制系統(tǒng)數(shù)據(jù)進(jìn)行特征選擇;

(2) 在工業(yè)控制系統(tǒng)資源限制和實(shí)時(shí)性問題上,本文選用了淺層的神經(jīng)網(wǎng)絡(luò),其所需的存儲(chǔ)資源和計(jì)算資源都比較少,符合工業(yè)控制系統(tǒng)需求;

(3) 在誤報(bào)率上,PU學(xué)習(xí)已經(jīng)被驗(yàn)證具有接近二分類模型的分類性能,相較于無監(jiān)督的異常檢測模型查準(zhǔn)率較高。

3.1 PU學(xué)習(xí)的特征重要度

在工業(yè)控制系統(tǒng)中,數(shù)據(jù)具有維數(shù)高、關(guān)聯(lián)性強(qiáng)的特點(diǎn)。當(dāng)數(shù)據(jù)維度很高時(shí),許多機(jī)器學(xué)習(xí)問題會(huì)變得困難,這種現(xiàn)象被稱為維數(shù)災(zāi)難。特征選擇是特征工程的重要內(nèi)容,其原理是在所有特征抽取關(guān)鍵特征,從而達(dá)到降維的目的。特征選擇的方法可以分為兩類: 封裝式和過濾式。其中封裝式的特征選擇通常是擇定一個(gè)基模型進(jìn)行多輪訓(xùn)練,根據(jù)訓(xùn)練所得模型的分類性能逐漸篩除冗余特征; 過濾式的特征選擇是通過計(jì)算特征的重要度,設(shè)定閾值篩除無關(guān)特征,并進(jìn)一步通過相關(guān)性篩除冗余特征。

在PU學(xué)習(xí)中,由于只有一類帶標(biāo)簽的樣本,因此,封裝式的模型難以評(píng)估模型性能,因此在本文中采用過濾式特征選擇方法,其中常用的特征重要度計(jì)算方法如表1所示。

過濾式特征選擇方法的重要度計(jì)算方法通過評(píng)估特征與標(biāo)簽的相關(guān)性來計(jì)算,認(rèn)為和目標(biāo)類別存在明顯相關(guān)關(guān)系特征是關(guān)鍵特征。然而在在PU學(xué)習(xí)中,只有一類標(biāo)簽樣本,無法直接使用二分類模型中的特征重要度計(jì)算方法,因此需要尋找一種適合于PU學(xué)習(xí)場景的特征重要度計(jì)算方法。

以此二分類的重要度計(jì)算思想為啟發(fā),本文給出一種PU學(xué)習(xí)的關(guān)鍵特征識(shí)別方法: 考慮到無標(biāo)簽數(shù)據(jù)集是正例樣本和反例樣本混合而得,無標(biāo)簽數(shù)據(jù)集中特征的屬性值包含了正例取值和反例取值兩部分,如果該特征與類標(biāo)簽強(qiáng)相關(guān),那么無標(biāo)簽數(shù)據(jù)集中該特征的屬性值在分布上應(yīng)該呈現(xiàn)出明顯的雙峰或多峰特征,且不同類樣本特征的分布差異較大,如圖3所示; 當(dāng)特征與類標(biāo)簽弱相關(guān)時(shí),則正例與反例樣本的特征分布相似。

圖3 PU學(xué)習(xí)的關(guān)鍵特征的分布Figure 3 Key feature distribution of PU learning

特征在正例數(shù)據(jù)集和無標(biāo)簽數(shù)據(jù)集上的分布差異即可作為特征的重要度。KL散度可以描述兩個(gè)分布之間的差異,其離散形式如公式(1)所示。

KL散度在計(jì)算兩個(gè)特征分布差異時(shí),需要特征屬性值的概率。首先考慮到特征的屬性值取值范圍沒有限定,因此在計(jì)算之前需要先進(jìn)行最大最小值標(biāo)準(zhǔn)化,目的是為了將標(biāo)準(zhǔn)化之后的屬性值限制在[0,1]區(qū)間內(nèi); 其次,特征的屬性值存在連續(xù)和離散兩種形式,為了統(tǒng)一處理,在算法中將[0,1]區(qū)間進(jìn)行等分,通過每個(gè)小區(qū)域中樣本的頻率作為概率計(jì)算KL散度。

算法1.基于KL散度的特征重要度算法

輸入: 正例標(biāo)簽數(shù)據(jù)集 P,無標(biāo)簽數(shù)據(jù)集 U,特征重要度閾值threshold

輸出: 特征選擇之后的正例數(shù)據(jù)集P′和無標(biāo)簽數(shù)據(jù)U′

1: Initialize feature importace vectorω;

2: Load data set P and U;

3: Data normalization by MinMaxScaler;

4: FOR i=1 TO M,DO

5: Divide the [0,1]interval into 100 equal parts,and take the frequency as probability;

6: Calculate i-th featue’s importance through KL divergence: ω [i]= KLi(P||U);

7: END FOR

8: RETURN ω

時(shí)間復(fù)雜度分析: 算法中第 3步進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化,采用的數(shù)據(jù)標(biāo)準(zhǔn)化方法為最大最小值標(biāo)準(zhǔn)化,該步的時(shí)間復(fù)雜度為O(mn); 第 4~6步為計(jì)算特征重要度,通過將[0,1]區(qū)間等分,以每個(gè)小區(qū)間中的頻數(shù)作為概率計(jì)算 KL散度,該部分的時(shí)間復(fù)雜度為O(m n)。因此算法的總時(shí)間復(fù)雜度為O(mn)。

通過 KL散度可以在僅有正例標(biāo)簽數(shù)據(jù)的場景下給出特征重要度的估計(jì)值,區(qū)分關(guān)鍵特征和無關(guān)特征,在不考慮冗余特征的情況下,可以基于特征重要度對(duì)特征進(jìn)行過濾,如設(shè)定特征重要度閾值或指定選擇的特征數(shù)。

3.2 PU學(xué)習(xí)的類先驗(yàn)概率估計(jì)

在工業(yè)控制系統(tǒng)中,大量入侵?jǐn)?shù)據(jù)的采集是十分困難的,但是系統(tǒng)正常運(yùn)行的流量和狀態(tài)碼的采集相對(duì)簡單,以正常狀態(tài)的數(shù)據(jù)作為正例標(biāo)簽數(shù)據(jù),進(jìn)行 PU學(xué)習(xí)是符合工業(yè)控制系統(tǒng)實(shí)際應(yīng)用場景的,而在PU學(xué)習(xí)中,分析待檢測的數(shù)據(jù),獲得類先驗(yàn)概率是十分重要的。PU學(xué)習(xí)的類先驗(yàn)概率被定義為π= p(y = 1 ),當(dāng)樣本的采集滿足 SCAR(select at completely random)假設(shè)時(shí),類先驗(yàn)概率即為無標(biāo)簽數(shù)據(jù)集中正例樣本所占的比例。

定義 1(SCAR假設(shè))樣本的采集與樣本的屬性無關(guān),是完全隨機(jī)的,即:

按照正例數(shù)據(jù)的來源不同可以分為兩類: One Sample(OS)和 Two Sample(TS)。OS在采集數(shù)據(jù)時(shí),僅進(jìn)行一次隨機(jī)采樣,即在真實(shí)數(shù)據(jù)中隨機(jī)采集一部分?jǐn)?shù)據(jù),在采集的數(shù)據(jù)中挖掘出一些正例數(shù)據(jù)加上標(biāo)簽,未標(biāo)簽的數(shù)據(jù)作為無標(biāo)簽數(shù)據(jù); TS在采集數(shù)據(jù)時(shí),需要進(jìn)行兩次采樣,即首先隨機(jī)采集一部分正例標(biāo)簽數(shù)據(jù),無標(biāo)簽數(shù)據(jù)集在真實(shí)數(shù)據(jù)中通過隨機(jī)抽樣進(jìn)行獲得。

由于正例數(shù)據(jù)是通過在無標(biāo)簽數(shù)據(jù)集中隨機(jī)選擇的,因此在這種場景下產(chǎn)生了一個(gè)中間變量c,該變量被稱為正例標(biāo)簽頻率(label frequency),其定義為 c = p(s = 1 | y = 1 ),其中s=1表示樣本被選中的樣本。標(biāo)簽頻率和類先驗(yàn)概率的關(guān)系可以通過公式(3)表示。

因此可以通過估計(jì)正例標(biāo)簽頻率c,來估算類先驗(yàn)概率。特別地,在 TS場景下,可以將正例數(shù)據(jù)和無標(biāo)簽數(shù)據(jù)混合,將正例樣本視為隨機(jī)抽取并加上標(biāo)簽的正例樣本,也可進(jìn)行正例標(biāo)簽頻率估計(jì)。

文獻(xiàn)[36]中通過使用決策樹來提升估計(jì)的正例標(biāo)簽頻率的下界,從而得到正例標(biāo)簽頻率的估計(jì)值,該算法被稱為TIcE算法。本文通過OCSVM算法對(duì)TIcE算法進(jìn)行改進(jìn),提出通過 OCSVM 算法來劃分可信賴正例子集,進(jìn)而估計(jì)正例標(biāo)簽頻率。

OCSVM算法是一種經(jīng)典的異常檢測算法,當(dāng)其使用RBF核函數(shù)時(shí),性能和SVDD類似,可以認(rèn)為OCSVM算法在特征空間中劃分找到一個(gè)超球體,將正例樣本包含在該超球體內(nèi),并且使得該超球體半徑最小。其問題描述如公式所示。

公式中的v是異常點(diǎn)比例的上界,因此可以通過設(shè)置參數(shù)來限制正例數(shù)據(jù)集中被劃分為異常點(diǎn)的樣本數(shù)量,從而模型劃分的正例子集樣本量較少導(dǎo)致的估計(jì)偏差。同時(shí),當(dāng)設(shè)置異常點(diǎn)比例上界較大時(shí),此時(shí)的超球體半徑較小,模型劃分為正例的樣本可以作為可信賴的正例樣本。

在正例標(biāo)簽頻率的估計(jì)上,估計(jì)值可以通過切比雪夫不等式給出。通過切比雪夫不等式,正例子集S中標(biāo)簽樣本的數(shù)量LS滿足公式(5)。

其中LS服從二項(xiàng)分布,且隨機(jī)變量LS的期望為E(L) = cNS,方差為 D (L ) = c ( 1 - c )NS,NS為正例子集S的樣本總數(shù)。代入公式(5)得到:

通過公式(7),可以以概率δ對(duì)正例標(biāo)簽頻率c的上界和下界進(jìn)行約束,如公式(8)所示。

在TIcE算法中,由于發(fā)現(xiàn)可信賴正例子集的算法是決策樹,隨著決策樹劃分的進(jìn)行,葉子節(jié)點(diǎn)的數(shù)量減少,會(huì)存在一些葉子節(jié)點(diǎn)脫離真實(shí)樣本混合比例,故在算法中選擇類先驗(yàn)概率估計(jì)的下界進(jìn)行約束。然而,通過OCSVM算法劃分可信賴的正例子集,可以對(duì)正例子集樣本數(shù)進(jìn)行約束,因此可以取區(qū)間中點(diǎn)作為對(duì)正例標(biāo)簽頻率c的估計(jì)值,進(jìn)而可以計(jì)算出類先驗(yàn)概率,稱該類先驗(yàn)概率估計(jì)算法為OCSVM-cE。

OCSVM 相較于 TIcE算法,首先將尋找正例子集的算法由決策樹轉(zhuǎn)換成OCSVM,這樣做一方面可以通過 OCSVM 模型的參數(shù)對(duì)可信賴正例子集的樣本數(shù)進(jìn)行限制,避免由于可信賴正例子集樣本過少導(dǎo)致的估計(jì)偏差,另一方面在訓(xùn)練模型所使用的數(shù)據(jù)上進(jìn)行了優(yōu)化,TIcE在構(gòu)建決策樹時(shí)需要同時(shí)使用正例數(shù)據(jù)集和無標(biāo)簽數(shù)據(jù)集,這也導(dǎo)致在通過TIcE算法估計(jì)類先驗(yàn)概率時(shí),需要根據(jù)不同的無標(biāo)簽數(shù)據(jù)集重復(fù)構(gòu)建決策樹,在實(shí)際應(yīng)用中開銷較大。然而OCSVM-cE算法在構(gòu)建模型時(shí)僅需要正例數(shù)據(jù)集,訓(xùn)練的模型可以在不同的無標(biāo)簽數(shù)據(jù)集中使用,因此在訓(xùn)練好模型之后,OCSVM-cE算法的時(shí)間復(fù)雜度降至O(n)。

算法2.OCSVM-cE算法

輸入: 正例標(biāo)簽數(shù)據(jù)集 P,無標(biāo)簽數(shù)據(jù)集 U,OCSVM的誤差上界δ

輸出: 類先驗(yàn)概率π

1: Load dataset P and U;

2: NP= l en(P),NU= l en(U);

3: Data normalization;

4: Set upper bound on the fraction of training errors as δ,train an OCSVM model;

5: Merge P and U as A,predict A through OCSVM model;

6: Count the number of samples identified as positive examples in P and U as nPand nU;

通過算法 2可以在對(duì)待檢測的工控?cái)?shù)據(jù)進(jìn)行分析,估計(jì)其類先驗(yàn)概率,為PU學(xué)習(xí)提供重要的先驗(yàn)知識(shí),同時(shí)避免了采集工業(yè)控制系統(tǒng)入侵檢測數(shù)據(jù),極大的減少了人工成本。

3.3 基于神經(jīng)網(wǎng)絡(luò)的PU學(xué)習(xí)

在工業(yè)控制系統(tǒng)中,入侵具有較高的隱蔽性且更新較快,從“Stuxnet”到“Duqu”,再到“Flame”火焰病毒,傳統(tǒng)的基于分類的入侵檢測技術(shù)難以應(yīng)對(duì)其更新,而將入侵檢測作為異常檢測處理,雖然無法識(shí)別入侵的種類,但是可以在面對(duì)未知入侵時(shí)也具有示警的能力。本文采用PU學(xué)習(xí)方法進(jìn)行入侵檢測,將正常流量作為標(biāo)簽數(shù)據(jù),與待檢測的數(shù)據(jù)同時(shí)參與模型的訓(xùn)練,同異常檢測算法一樣,PU學(xué)習(xí)方法具有檢測未知攻擊的能力,同時(shí)其被證明了訓(xùn)練的模型具有接近二分類模型的準(zhǔn)確率。

3.3.1 數(shù)據(jù)不平衡下的PU學(xué)習(xí)

PU學(xué)習(xí)中將無標(biāo)簽數(shù)據(jù)集視為帶有噪聲標(biāo)簽樣本的反例數(shù)據(jù)集,進(jìn)而通過類先驗(yàn)概率估計(jì)二分類損失。二分類損失的期望計(jì)算如公式(9)所示:

然而在PU學(xué)習(xí)中,沒有帶標(biāo)簽的反例樣本,因此無法直接計(jì)算反例樣本的損失,nnPU中提出通過無標(biāo)簽數(shù)據(jù)集去估計(jì)反例樣本損失,這也是nnPU的核心思想。無標(biāo)簽數(shù)據(jù)集混合了正例和反例樣本,將其視為含有錯(cuò)誤標(biāo)簽樣本的反例數(shù)據(jù)集,那么其損失的期望可以表述如下:

其中π為無標(biāo)簽數(shù)據(jù)集中的類先驗(yàn)概率,l為損失函數(shù),UP為無標(biāo)簽數(shù)據(jù)集中的正例樣本集合。在公式(10)中,EU(l(f(x),-1 ))可以直接計(jì)算,EN(l(f(x),- 1 ))是待估計(jì)的反例樣本損失,因而問題轉(zhuǎn)換成計(jì)算出 EUP(l(f(x),-1 ))。

在TS場景下正例標(biāo)簽數(shù)據(jù)集和無標(biāo)簽數(shù)據(jù)集均通過隨機(jī)采樣獲得,故正例標(biāo)簽數(shù)據(jù)集損失的期望和無標(biāo)簽數(shù)據(jù)集中正例樣本損失的期望近似,有:

聯(lián)立公式(10)和公式(11)可以得到估計(jì)二分類誤差的方法,如公式(12)所示。

公式被稱為Non-negative risk estimator[40],其中,max(0,EU(l(f(x) ,- 1 )) -πEP(l(f(x),- 1 )))是估計(jì)的反例樣本損失,EP(l(f(x) ,1))是正例樣本損失的期望。

在進(jìn)行入侵檢測時(shí),將正常流量作為正例樣本,這樣在待檢測的無標(biāo)簽數(shù)據(jù)集中正例樣本的比例通常遠(yuǎn)大于反例,存在數(shù)據(jù)不平衡問題。

圖4 y=1時(shí)focal loss函數(shù)圖像Figure 4 Image of focal loss function when y=1

為了應(yīng)對(duì)由于類先驗(yàn)概率較小導(dǎo)致的數(shù)據(jù)不平衡問題,PU學(xué)習(xí)的損失函數(shù)設(shè)定為focal loss,如圖2所示,focal loss可以寫成:

在模型的訓(xùn)練過程中,正例樣本識(shí)別錯(cuò)誤時(shí)會(huì)被作為難分樣本,此時(shí)(f(xi) )γ和(1 -f(xi) )γ存在數(shù)十倍甚至數(shù)百倍的差距,可以增大難分樣本的權(quán)重,提升nnPU在數(shù)據(jù)不平衡下的分類性能。修正之后的Non-negative risk estimator 如公式(14)所示。

PU 學(xué)習(xí)的算法偽代碼如算法3所示。

算法3.PU學(xué)習(xí)算法

輸入: 正例標(biāo)簽數(shù)據(jù)集P,無標(biāo)簽數(shù)據(jù)集U,epochs,學(xué)習(xí)率γ,batch_size

輸出: 無標(biāo)簽數(shù)據(jù)集中樣本的預(yù)測值

1: Load datasetPandU,Data preprocessing and data normalization;

2: define a neural network;

3: Weight initialization;

4: FORk=1 TOepochs,DO

5: Forward propagation;

6: Calculate risk estimatorR(fl);

8: IF Satisfied early stopping conditions THEN

9: Break;

10: END IF;

11: END FOR

12: PredictUthrough the trained model;

13: RETURN the labels ofU

通過以上分析可知,PU學(xué)習(xí)相較于二分類模型,在誤差計(jì)算上進(jìn)行調(diào)整,通過risk estimator估計(jì)二分類誤差,以估計(jì)的二分類的誤差進(jìn)行反向傳播,調(diào)整神經(jīng)網(wǎng)絡(luò)模型的參數(shù)。

3.3.2 神經(jīng)網(wǎng)絡(luò)設(shè)置

使用機(jī)器學(xué)習(xí)方法進(jìn)行工業(yè)控制系統(tǒng)入侵檢測的過程中,需要關(guān)注工業(yè)控制系統(tǒng)對(duì)模型的實(shí)時(shí)性要求,要求模型對(duì)輸入的數(shù)據(jù)可以快速做出判定,因此在使用的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)需要盡可能簡化,一方面簡化的模型可以減少檢測的響應(yīng)時(shí)間,提高模型的實(shí)時(shí)性; 另一方面可以降低對(duì)計(jì)算資源的需求,更加符合工業(yè)控制系統(tǒng)的應(yīng)用場景。

PU 學(xué)習(xí)是一種依托于神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法,在僅有一類標(biāo)簽數(shù)據(jù)的場景下,通過估計(jì)分類誤差來訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型。神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的不同,同樣也會(huì)對(duì)模型性能產(chǎn)生影響,在本節(jié)中我們探討兩種不同網(wǎng)絡(luò)結(jié)構(gòu)的PU學(xué)習(xí)模型。

第一種是全連接的神經(jīng)網(wǎng)絡(luò)DNN。DNN是具有多個(gè)隱藏層的神經(jīng)網(wǎng)絡(luò),理論上DNN可以擬合任意函數(shù),文獻(xiàn)[42]中探討了不同隱藏層數(shù)量的 DNN在入侵檢測中的分類性能,且其結(jié)果顯示在進(jìn)行二分類時(shí),含3個(gè)隱藏層的DNN模型就可以擁有比較高的分類性能,并且隨著層數(shù)的增加,分類性能沒有明顯提升。因此本文中選用含3個(gè)隱藏層DNN模型,三個(gè)隱藏的節(jié)點(diǎn)數(shù)分別為256、64、16。模型的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置如表3所示。

表3 DNN網(wǎng)絡(luò)設(shè)置Table 3 Configuration of DNN model

PU學(xué)習(xí)通過 DNN完成一個(gè)二分類任務(wù),將所有待檢測的樣本劃分為正常流量和入侵流量,DNN的輸出通過Sigmoid函數(shù)映射到[0,1]區(qū)間內(nèi),以完成二分類任務(wù)。

DNN中在兩個(gè)全連接層之間進(jìn)行批量標(biāo)準(zhǔn)化(Batch Normalization,BN),即將每個(gè)隱層神經(jīng)元的輸出進(jìn)行標(biāo)準(zhǔn)化,使得非線性變換函數(shù)的輸入值落入對(duì)輸入比較敏感的區(qū)域。使用BN可以加速神經(jīng)網(wǎng)絡(luò)的收斂,此外BN允許模型使用更高的學(xué)習(xí)率,并降低模型對(duì)于網(wǎng)絡(luò)參數(shù)初始化的要求,其還可以充當(dāng)調(diào)節(jié)器,在某些情況下可以消除對(duì)Dropout的需求[42]。

DNN中的激活函數(shù)選用的是ReLu函數(shù),(1)可以加速網(wǎng)絡(luò)訓(xùn)練。相比于sigmoid、tanh,其求導(dǎo)更加迅速。(2)防止梯度消失。當(dāng)數(shù)值過大或者過小,sigmoid,tanh的導(dǎo)數(shù)接近于0,ReLu為非飽和激活函數(shù)不存在這種現(xiàn)象。(3)使網(wǎng)格具有稀疏性。

權(quán)重更新算法選用Adam算法,Adam是一種自適應(yīng)學(xué)習(xí)率的優(yōu)化算法,具有收斂快,內(nèi)存占用少的優(yōu)點(diǎn)。

第二種是卷積神經(jīng)網(wǎng)絡(luò) CNN。在本文中,采用了一種簡單的CNN網(wǎng)絡(luò)結(jié)構(gòu)Lenet-5結(jié)構(gòu)??紤]到Lenet-5是處理二維圖像的網(wǎng)絡(luò),要求輸入為32×32,而工業(yè)控制系統(tǒng)的數(shù)據(jù)通常為一維向量,因此對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行調(diào)整,替換Lenet-5中的二維卷積為一維卷積,此時(shí)輸入大小為32×1。因而在進(jìn)行訓(xùn)練模型前需要進(jìn)行特征選擇,降維到32維。網(wǎng)絡(luò)中第一層使用5×1的卷積,通過第一層后得到6個(gè)大小為28×1的特征圖,然后通過大小為2的最大池化采樣,變化成14×1大小,第二個(gè)卷積層使用5×1的卷積,輸出16個(gè)大小為10×1的特征圖,再通過大小為2的最大池化采樣,變化成5×1,最后將所有圖像鋪平輸入到一個(gè)全連接層中,全連接層有兩層,第一層神經(jīng)元數(shù)量為120,第二層神經(jīng)元數(shù)量為 84,最后按照分類的類別,通過softmax函數(shù)進(jìn)行輸出。基于Lenet-5的工業(yè)控制系統(tǒng)模型結(jié)構(gòu)如圖5所示。其中輸入(?,32,1)中的?代表batch_size,激活函數(shù)采用Relu函數(shù)。

圖5 基于CNN的PU學(xué)習(xí)入侵檢測模型結(jié)構(gòu)Figure 5 PU learning for intrusion detection architecture based on CNN

至此,可以得到基于PU學(xué)習(xí)的模型結(jié)構(gòu)?;赑U學(xué)習(xí)的入侵檢測的模型離線訓(xùn)練步驟如下:

Step 1.讀取數(shù)據(jù),包括正例標(biāo)簽數(shù)據(jù)和待檢測的無標(biāo)簽數(shù)據(jù),進(jìn)行數(shù)據(jù)預(yù)處理;

Step 2.通過OCSVM-cE算法估計(jì)無標(biāo)簽數(shù)據(jù)集的類先驗(yàn)概率,保存OCSVM模型;

Step 3.通過 KL散度計(jì)算特征重要度,設(shè)定閾值th或選用的特征數(shù)K,按照特征重要度進(jìn)行特征選擇,得到新的訓(xùn)練數(shù)據(jù)集;

Step 4.初始化一個(gè)深度神經(jīng)網(wǎng)絡(luò),使用特征選擇后的新訓(xùn)練數(shù)據(jù)集訓(xùn)練 PU學(xué)習(xí)模型,訓(xùn)練的過程如算法3所示;

Step 5.導(dǎo)出訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),返回?zé)o標(biāo)簽數(shù)據(jù)集的預(yù)測值。

4 實(shí)驗(yàn)結(jié)果與分析

4.1 數(shù)據(jù)介紹與分析

實(shí)驗(yàn)中使用了三個(gè)入侵檢測公開數(shù)據(jù)集:NSL-KDD①下載地址: https://www.unb.ca/cic/datasets/nsl.html.[43],UNSW-NB15②下載地址: https://www.unsw.adfa.edu.au/unsw-canberra-cyber/cybersecurity/ADFA-NB15-Datasets/.[44]和 WADI③下載地址: https://itrust.sutd.edu.sg/itrust-labs_datasets/[45]。其中NSL-KDD和UNSW-NB15數(shù)據(jù)集中的數(shù)據(jù)是基于互聯(lián)網(wǎng)流量提取的特征,包含流的基本特征(如傳輸層協(xié)議類型、端口等)、流的時(shí)間信息、連接內(nèi)容特征等,這些特征也可以作為工業(yè)控制系統(tǒng)流量進(jìn)行提取。同時(shí),為了進(jìn)一步驗(yàn)證模型在工控場景下的有效性,引入了WADI數(shù)據(jù)集,一方面在數(shù)據(jù)上應(yīng)用工控試驗(yàn)臺(tái)提供的工控?cái)?shù)據(jù); 另一方面,仿真工控?cái)?shù)據(jù)不平衡特點(diǎn)。

在攻擊類型上,NSL-KDD數(shù)據(jù)集是在KDDCUP 99數(shù)據(jù)集上進(jìn)行了改進(jìn),去除了一些冗余數(shù)據(jù),數(shù)據(jù)集中包含了正常流量和22類攻擊流量,攻擊流量主要有: 拒絕服務(wù)攻擊 DOS,監(jiān)視和探測(Probing),遠(yuǎn)程機(jī)器非法訪問(R2L)和普通用戶的越權(quán)訪問(U2R)四大類。UNSW_NB15數(shù)據(jù)集是由澳大利亞網(wǎng)絡(luò)安全中心生成的入侵檢測數(shù)據(jù)集,包括 DOS、Backdoors等在內(nèi)的9種攻擊的樣本。WADI數(shù)據(jù)集是在配屬試驗(yàn)臺(tái)上收集的,實(shí)驗(yàn)臺(tái)由許多向用戶水箱供水的大型水箱組成,WADI數(shù)據(jù)集種包含16種攻擊,其攻擊目標(biāo)是停止向用戶水箱供水。

在實(shí)驗(yàn)中,UNSW-NB15數(shù)據(jù)集,采用的官網(wǎng)提供的訓(xùn)練和測試數(shù)據(jù)集,合共257673個(gè)樣本。WADI數(shù)據(jù)集采用的是2019年10月的帶標(biāo)簽的數(shù)據(jù)。各數(shù)據(jù)集的樣本量如表4所示。

表4 實(shí)驗(yàn)數(shù)據(jù)集信息Table 4 Information of experiment data set

4.2 數(shù)據(jù)預(yù)處理

訓(xùn)練和測試數(shù)據(jù)集劃分上,基于樣本的真實(shí)標(biāo)簽,在正例數(shù)據(jù)中隨機(jī)抽取指定數(shù)量的正例樣本作為訓(xùn)練集,剩下的數(shù)據(jù)作為測試集。數(shù)據(jù)處理上,針對(duì)NSL-KDD存在的字符串?dāng)?shù)據(jù),如協(xié)議類型和服務(wù),需要進(jìn)行獨(dú)熱編碼將字符串轉(zhuǎn)換成一個(gè)向量,編碼之后的NSL-KDD數(shù)據(jù)集維數(shù)從41維提升到122維。UNSW-NB15和 WADI數(shù)據(jù)集中的數(shù)據(jù)不存在空值和字符串,因此可以直接使用。

本實(shí)驗(yàn)中采用的設(shè)備: 處理器為 Intel core i7 8750H,操作系統(tǒng)為64位Windows 10家庭中文版,硬盤為西數(shù)SN720,內(nèi)存16 G。

4.3 評(píng)價(jià)指標(biāo)

訓(xùn)練好模型之后,通過模型對(duì)待預(yù)測的數(shù)據(jù)集進(jìn)行分類,基于模型的判定結(jié)果,可以建立如表5的混淆矩陣:

表5 混淆矩陣Table 5 Confusion matrix

如表2~5所示,行表示是數(shù)據(jù)的真實(shí)類別,列表示模型的預(yù)測類別。在入侵檢測中關(guān)注的是模型對(duì)于入侵樣本的識(shí)別能力,因此使用入侵樣本的查準(zhǔn)率和召回率作為評(píng)價(jià)指標(biāo),查準(zhǔn)率如公式所示,查準(zhǔn)率描述的是模型預(yù)測為正例的樣本中,真實(shí)標(biāo)簽為正例的比例,如公式(15)所示。

表2 二分類的特征重要度計(jì)算方法Table 2 Method for calculating feature importance of binary classification

召回率如公式(16)所示,召回率描述的是模型將所有真實(shí)類別為正例的樣本識(shí)別為正例的比例。

F1-score也常被用于作為評(píng)價(jià)指標(biāo),F1-score是查準(zhǔn)率和召回率的調(diào)和平均值,如公式(17)所示。

除了以上指標(biāo),在入侵檢測場景中,由于面對(duì)的數(shù)據(jù)量較大,因此,模型訓(xùn)練和預(yù)測所用的時(shí)間也是衡量模型性能的一個(gè)重要指標(biāo)。

4.4 實(shí)驗(yàn)結(jié)果分析

(1) 特征重要度的有效性分析和時(shí)間效率

本實(shí)驗(yàn)中,首先在二分類場景下通過隨機(jī)森林計(jì)算各個(gè)特征的重要度,并將其與基于KL散度計(jì)算的特征重要度進(jìn)行對(duì)比,驗(yàn)證使用KL散度計(jì)算的特征權(quán)重的有效性。

實(shí)驗(yàn)中,在所有樣本中隨機(jī)抽取2000個(gè)正例樣本作為正例標(biāo)簽數(shù)據(jù)集,再抽取2000個(gè)正例樣本和4000個(gè)反例樣本混合作為無標(biāo)簽數(shù)據(jù)集,余下的所有樣本作為測試集。圖6和圖7分別展示了 KLOCSVM和KDE-OCSVM算法在NSL-KDD數(shù)據(jù)集和UNSW-NB15數(shù)據(jù)集中的實(shí)驗(yàn)結(jié)果。

圖6 UNSW-NB15特征重要度Figure 6 Feature importance on UNSW-NB15

圖7 NSL-KDD特征重要度Figure 7 Feature importance on NSL-KDD

進(jìn)一步地,計(jì)算兩種算法所得特征重要度的相關(guān)性并進(jìn)行相關(guān)性檢驗(yàn)。通過計(jì)算,在UNSW-NB15數(shù)據(jù)集下,兩種算法的特征重要度在歸一化之后的相關(guān)系數(shù)均值為 0.72,檢驗(yàn)的P值為 4.29× 1 0-7,NSL-KDD數(shù)據(jù)集上的相關(guān)系數(shù)為0.9364,檢驗(yàn)的P值為 1.15× 1 0-56。以顯著性水平為0.05,可以認(rèn)定通過 KL散度計(jì)算出的特征重要性和在二分類情況下的特征重要性存在顯著的相關(guān)關(guān)系,即通過KL散度計(jì)算的特征重要度是有效的。

(2) 類先驗(yàn)概率估計(jì)

為了驗(yàn)證本文提出的OCSVM-cE算法的有效性,將其與以下類先驗(yàn)概率算法進(jìn)行比較:

· KM1/KM2算法。該算法由Ramaswamy等人[31]在2016年提出,該算法通過計(jì)算正例和反例數(shù)據(jù)集的分布嵌入到核空間中,通過求解一個(gè)二次規(guī)劃問題即可解得類先驗(yàn)概率,該算法是目前估計(jì)準(zhǔn)確率較高的算法。

· TIcE算法。該算法由Jessa Bekker[36]在2019年提出,該算法基于決策樹對(duì)所有樣本進(jìn)行劃分,通過子集提升正例樣本標(biāo)簽頻率下界,得到正例樣本標(biāo)簽頻率的估計(jì)值,進(jìn)而計(jì)算出類先驗(yàn)概率,該算法是目前類先驗(yàn)概率估計(jì)時(shí)間復(fù)雜度最低的算法。

· OCSVM-cE算法。本文中提出的算法,訓(xùn)練OCSVM 模型尋找無標(biāo)簽數(shù)據(jù)集的可信賴正例子集,通過可信賴正例子集估計(jì)正例樣本標(biāo)簽頻率,進(jìn)而計(jì)算出類先驗(yàn)概率。

類先驗(yàn)概率估計(jì)問題中,核心的評(píng)價(jià)指標(biāo)是估計(jì)的準(zhǔn)確率,即估計(jì)值和真實(shí)值的誤差。此外,算法的時(shí)間復(fù)雜度也是一項(xiàng)重要的評(píng)價(jià)指標(biāo)。

基于以上評(píng)價(jià)指標(biāo)設(shè)計(jì)如下兩個(gè)實(shí)驗(yàn)進(jìn)行驗(yàn)證:1) 驗(yàn)證類先驗(yàn)概率估計(jì)的準(zhǔn)確度,在實(shí)驗(yàn)中以不同的類先驗(yàn)概率構(gòu)造無標(biāo)簽數(shù)據(jù)集,并通過四種不同的基線算法估計(jì)構(gòu)造的無標(biāo)簽數(shù)據(jù)集的類先驗(yàn)概率,分析不同算法估計(jì)值與真實(shí)值的誤差; 2) 驗(yàn)證算法的時(shí)間復(fù)雜度。在該實(shí)驗(yàn)中首先比較同樣本量下各算法進(jìn)行類先驗(yàn)概率估計(jì)所需的時(shí)間,然后在不同樣本量下估計(jì)類先驗(yàn)概率時(shí)間變化趨勢。

首先是類先驗(yàn)概率估計(jì)的準(zhǔn)確率。實(shí)驗(yàn)中,設(shè)置正例標(biāo)簽數(shù)據(jù)集樣本量為 1000,無標(biāo)簽數(shù)據(jù)集中反例樣本為2000,分別構(gòu)造類先驗(yàn)概率為: 0.1,0.2,0.3,0.4,0.5的無標(biāo)簽數(shù)據(jù)集。分別使用基線算法對(duì)構(gòu)造的數(shù)據(jù)集進(jìn)行類先驗(yàn)概率估計(jì)。

實(shí)驗(yàn)結(jié)果如圖8和圖9所示。圖中橫坐標(biāo)為真實(shí)類先驗(yàn)概率,縱坐標(biāo)為估計(jì)值和預(yù)測值誤差的絕對(duì)值。實(shí)驗(yàn)結(jié)果顯示,OCSVM-cE算法在兩個(gè)數(shù)據(jù)集上都能保持較高的預(yù)測準(zhǔn)確度,誤差和KM2算法接近且維持在0.05以下,算法估計(jì)的穩(wěn)定性較好。

圖8 UNSW-NB15類先驗(yàn)概率誤差Figure 8 Class prior estimation error of UNSW-NB15

圖9 NSL-KDD類先驗(yàn)概率誤差Figure 9 Class prior estimation error of NSL-KDD

在實(shí)驗(yàn)過程中,TIcE算法存在較大的正誤差,這是由于TIcE算法通過求標(biāo)簽頻率的下界去估計(jì)真實(shí)標(biāo)簽頻率,這將導(dǎo)致估計(jì)的標(biāo)簽頻率比真實(shí)值低,因此估計(jì)的類先驗(yàn)概率比真實(shí)值大,在 OCSVM-cE算法中,通過 OCSVM 算法尋找可信賴的正例子集,避免使用下界,提升了估計(jì)的準(zhǔn)確率。

為了進(jìn)一步檢驗(yàn)OCSVM-cE算法估計(jì)的穩(wěn)定性,設(shè)置正例標(biāo)簽數(shù)據(jù)集樣本數(shù)為2000,在[0.1,0.9]區(qū)間內(nèi)隨機(jī)取值作為類先驗(yàn)概率構(gòu)造無標(biāo)簽數(shù)據(jù)集,重復(fù)進(jìn)行 100次實(shí)驗(yàn),計(jì)算類先驗(yàn)概率估計(jì)值和真實(shí)值的誤差。

圖10中展示了100次重復(fù)實(shí)驗(yàn)的箱線圖,可以發(fā)現(xiàn)OCSVM-cE算法在KDD和UNSW-NB15數(shù)據(jù)集上的預(yù)計(jì)效果比 WADI數(shù)據(jù)集上更好,估計(jì)的誤差上四分?jǐn)?shù)小于 0.05,而 WADI數(shù)據(jù)集上估計(jì)的誤差的下四分位數(shù)為0.0407,中位數(shù)為0.0672,上四分位數(shù)為0.0884,僅存在兩個(gè)異常點(diǎn),因此WADI的估計(jì)值比較穩(wěn)定,且誤差集中在[0.05,01]區(qū)間內(nèi),綜合三個(gè)數(shù)據(jù)集的估計(jì)結(jié)果,OCSVM-cE是一種穩(wěn)定的類先驗(yàn)概率估計(jì)算法。

圖10 類先驗(yàn)概率誤差箱線圖Figure 10 Boxplot of class prior estimation error

在 PU學(xué)習(xí)中,類先驗(yàn)概率是重要的先驗(yàn)知識(shí),其估計(jì)的誤差將直接影響訓(xùn)練的模型的性能,通過實(shí)驗(yàn)進(jìn)一步探討類先驗(yàn)概率估計(jì)誤差對(duì)模型性能的影響。實(shí)驗(yàn)中設(shè)置無標(biāo)簽數(shù)據(jù)集真實(shí)類先驗(yàn)概率為0.4,在[0,1]區(qū)間中以0.05為間距取不同的值作為類先驗(yàn)概率的估計(jì)值進(jìn)行實(shí)驗(yàn),結(jié)果如圖11所示。圖11是在 UNSW-NB15數(shù)據(jù)集下,設(shè)置正例標(biāo)簽樣本數(shù)為10000,無標(biāo)簽數(shù)據(jù)集中的反例樣本數(shù)為20000的實(shí)驗(yàn)結(jié)果。其中橫坐標(biāo)為估計(jì)的類先驗(yàn)概率,縱坐標(biāo)為F1-score??梢钥吹?當(dāng)估計(jì)的類先驗(yàn)概率為0.4時(shí),F1-score達(dá)到最大值,此時(shí)模型的性能是最好的,并且隨著估計(jì)的類先驗(yàn)概率和真實(shí)類先驗(yàn)概率誤差的增大,F1-score開始下降,當(dāng)估計(jì)值為0時(shí)所有無標(biāo)簽樣本被劃分為反例,當(dāng)估計(jì)值為1時(shí),所有無標(biāo)簽樣本被劃分為正例。從F1-score分析,估計(jì)的類先驗(yàn)概率誤差應(yīng)當(dāng)小于0.05可以保證模型具有較好的分類性能。

圖11 不同類先驗(yàn)概率估計(jì)值對(duì)F1-score的影響Figure 11 Influence of different estimated class prior to F1-score

圖12顯示,在固定正例樣本數(shù)為 1000時(shí),OCSVM-cE算法和 TIcE算法所需的時(shí)間與無標(biāo)簽樣本數(shù)成正相關(guān)??紤]到 OCSVM-cE中,訓(xùn)練OCSVM模型僅需要使用到正例樣本,因此可以認(rèn)為OCSVM-cE算法更加貼合入侵檢測應(yīng)用場景,其過程中訓(xùn)練的 OCSVM 模型是可以復(fù)用的,在對(duì)新無標(biāo)簽數(shù)據(jù)集進(jìn)行類先驗(yàn)概率估計(jì)時(shí),可以直接加載模型,來劃分可信賴的正例子集。

圖12 UNSW-NB15數(shù)據(jù)集不同樣本量估計(jì)時(shí)間Figure 12 Estimation time of UNSW_NB15 with different sample size

(3) PU學(xué)習(xí)性能分析

對(duì)比的二分類模型的神經(jīng)網(wǎng)絡(luò)設(shè)置: DNN的設(shè)置與PU學(xué)習(xí)所用的DNN網(wǎng)絡(luò)模型一樣,模型中包含三個(gè)隱含層,第一層的神經(jīng)元數(shù)量為 256,第二層神經(jīng)元數(shù)量為 64,第三層神經(jīng)元數(shù)量為 16,但是在訓(xùn)練的過程中使用具有真實(shí)標(biāo)簽的正例和反例樣本進(jìn)行訓(xùn)練; CNN的網(wǎng)絡(luò)結(jié)構(gòu)使用和文獻(xiàn)[46]相同的LeNet-5結(jié)構(gòu),輸入為32×32的圖像,第一層使用5×5的卷積,通過第一層后得到 6個(gè)大小為28×28的特征圖,并通過2×2的最大池化采樣,變化成14×14大小,第二個(gè)卷積層使用5×5的卷積,輸出16個(gè)大小為10×10的特征圖,然后通過2×2的最大池化采樣,變化成5×5,最后將所有圖像鋪平輸入到一個(gè)全連接層中,第一層神經(jīng)元數(shù)量為 120,第二層神經(jīng)元數(shù)量為 84,最后按照分類的類別,通過softmax函數(shù)進(jìn)行輸出; RNN[47]中設(shè)置隱藏層節(jié)點(diǎn)數(shù)為80。

實(shí)驗(yàn)中設(shè)置正例標(biāo)簽樣本數(shù)為10000,無標(biāo)簽數(shù)據(jù)集中的反例樣本數(shù)為2000,類先驗(yàn)概率為0.9,學(xué)習(xí)率為0.01,迭代次數(shù)為50。

表6為PU學(xué)習(xí)與二分類模型對(duì)比結(jié)果,表中的對(duì)比實(shí)驗(yàn)可以分為兩類: 同網(wǎng)絡(luò)結(jié)構(gòu)(DNN/CNN)下PU學(xué)習(xí)和二分類性能對(duì)比,PU學(xué)習(xí)和目前性能較好的二分類模型的對(duì)比。從實(shí)驗(yàn)結(jié)果來看,同網(wǎng)絡(luò)結(jié)構(gòu)下PU學(xué)習(xí)的性能與二分類模型在查準(zhǔn)率上近似,但是召回率存在一定的差距,根據(jù)前文的分析,工控入侵檢測對(duì)于模型的查準(zhǔn)率要求更高,期望做到“寧可漏報(bào)也不誤報(bào)”,因此 PU 學(xué)習(xí)是適用于工控入侵檢測的,同時(shí)相較于目前先進(jìn)的CNN-BiLSTM等模型,在查準(zhǔn)率上依舊可以維持較小的差距。同時(shí) PU學(xué)習(xí)對(duì)比二分類模型,降低了訓(xùn)練數(shù)據(jù)的要求,只需要一類標(biāo)簽數(shù)據(jù),這可以有效的減少數(shù)據(jù)采集工作,同時(shí)僅通過正例數(shù)據(jù)和無標(biāo)簽數(shù)據(jù)進(jìn)行訓(xùn)練,使得模型可以挖掘出未知類型的入侵。

表6 PU學(xué)習(xí)與二分類模型對(duì)比結(jié)果Table 6 Comparison result of PU learning with binary classification

表6中實(shí)驗(yàn)對(duì)比了PU學(xué)習(xí)和二分類模型的性能,接下來將對(duì)比PU學(xué)習(xí)和異常檢測模型,分析同樣在僅有一類標(biāo)簽數(shù)據(jù)的條件下,二者性能差異。從表1中列舉的研究分析,目前用于入侵檢測的異常檢測模型主要為AE和OCSVM,其中AE是無監(jiān)督模型,AE包含兩個(gè)部分: Encoder(編碼器)和 Decoder(解碼器)。Encoder的作用是用來發(fā)現(xiàn)給定數(shù)據(jù)的壓縮表示,Decoder是用來重建原始輸入,通過計(jì)算重建輸入和原始輸入的誤差進(jìn)行異常檢測,表1中文獻(xiàn)[13]、文獻(xiàn)[20]和文獻(xiàn)[25]在使用 AE模型上大同小異,因此本文選擇采用文獻(xiàn)[13]提出的模型①源碼下載地址: https://github.com/Battlingboy/AE-IDS進(jìn)行對(duì)比實(shí)驗(yàn);同時(shí),縱觀OCSVM進(jìn)行入侵檢測的研究,其主要工作集中在特征工程上,本實(shí)驗(yàn)中基于PU學(xué)習(xí)的特征重要度量進(jìn)行特征選擇,結(jié)合 OCSVM 進(jìn)行異常檢測。參數(shù)設(shè)置上,OCSVM設(shè)置誤差上界為0.1,AE的參數(shù)采用源碼中的默認(rèn)設(shè)置。

表7為PU學(xué)習(xí)與異常檢測模型的對(duì)比結(jié)果,表中的指標(biāo)顯示,特別地,可以觀察到OCSVM和AE在 WADI數(shù)據(jù)集上模型的性能較差,造成這種情況是因?yàn)闇y試數(shù)據(jù)不平衡,測試數(shù)據(jù)集中正例數(shù)據(jù)與反例數(shù)據(jù)的比約為 16︰1,這也說明了 OCSVM 和AE算法在處理不平衡數(shù)據(jù)時(shí)存在不足,而PU學(xué)習(xí)通過 focal loss提升了模型在不平衡數(shù)據(jù)下的性能,因此PU學(xué)習(xí)在查準(zhǔn)率和召回率上都有明顯提升,在三個(gè)數(shù)據(jù)集上,PU學(xué)習(xí)在查準(zhǔn)率上均表現(xiàn)明顯優(yōu)與AE和OCSVM。

表7 PU學(xué)習(xí)與異常檢測模型對(duì)比結(jié)果Table 7 Comparison result of PU learning with anomaly detection

結(jié)合表6和表7的結(jié)果,不難發(fā)現(xiàn),PU學(xué)習(xí)盡管在訓(xùn)練數(shù)據(jù)上同異常檢測算法類似,僅需要一類標(biāo)簽數(shù)據(jù),但是訓(xùn)練的模型的分類性能相較于異常檢測算法有較大的提升,特別地在工控場景下以WADI數(shù)據(jù)集為例,正常數(shù)據(jù)與異常數(shù)據(jù)之比高達(dá)16︰1,PU學(xué)習(xí)同樣可以維持較高的查準(zhǔn)率和查全率,同一些二分類算法相比,在查準(zhǔn)率上也僅有細(xì)微的差距,結(jié)合前文對(duì)于工控場景特點(diǎn),PU學(xué)習(xí)是適合于工控場景異常檢測的。

綜上所述,本文提出使用PU學(xué)習(xí)進(jìn)行入侵檢測,PU學(xué)習(xí)是一種近似于異常檢測的算法,但在訓(xùn)練數(shù)據(jù)上需要標(biāo)簽正例數(shù)據(jù),且正例數(shù)據(jù)需要滿足SCAR條件,在此基礎(chǔ)上PU學(xué)習(xí)可以提供高查準(zhǔn)率高召回率的入侵檢測,其查準(zhǔn)率和召回率均較無監(jiān)督的異常檢測模型有明顯的提升,特別地,PU學(xué)習(xí)在查準(zhǔn)率上接近二分類模型。

5 結(jié)論

工業(yè)控制系統(tǒng)被廣泛應(yīng)用到核電、水利等國家重要基礎(chǔ)設(shè)施中,保障工業(yè)控制系統(tǒng)安全是十分重要的,入侵檢測系統(tǒng)是作為保障網(wǎng)絡(luò)安全的重要手段,也是工業(yè)控制系統(tǒng)安全防護(hù)的重要組成部分。本文中,針對(duì)工業(yè)控制系統(tǒng)入侵檢測,提出使用PU學(xué)習(xí)進(jìn)行入侵檢測,以正常流量作為標(biāo)簽數(shù)據(jù)探測待檢測數(shù)據(jù)中的異常樣本; 針對(duì)工業(yè)控制系統(tǒng)數(shù)據(jù)維度高、關(guān)聯(lián)性強(qiáng)的特點(diǎn),提出一種特征重要度計(jì)算方法用于特征選擇; 同時(shí)改進(jìn)類先驗(yàn)概率估計(jì)算法,提出 OCSVM-cE算法用于類先驗(yàn)概率估計(jì),提高了估計(jì)的穩(wěn)定性和準(zhǔn)確率。最后通過實(shí)驗(yàn)驗(yàn)證PU學(xué)習(xí)的有效性,同有監(jiān)督二分類模型相比,PU學(xué)習(xí)的查準(zhǔn)率維持在一個(gè)較高的水準(zhǔn),召回率略低; 同異常檢測模型對(duì)比,PU學(xué)習(xí)在準(zhǔn)確率和召回率上均有提升。PU學(xué)習(xí)盡管其避免了使用反例數(shù)據(jù),但是也對(duì)正例數(shù)據(jù)進(jìn)行了更嚴(yán)格的限制: 正例樣本是完全隨機(jī)采樣的,即正例樣本的分布與無標(biāo)簽數(shù)據(jù)集中正例樣本的分布相同。這也是PU學(xué)習(xí)的不足,未來的工作可以圍繞如何在具有選擇偏差的數(shù)據(jù)集下進(jìn)行PU學(xué)習(xí)。

致 謝本文研究受國防基礎(chǔ)科研計(jì)劃(No.JCKY 2019608B001)資助。

猜你喜歡
正例標(biāo)簽分類
小學(xué)生舉例表現(xiàn)與概念理解的相關(guān)性研究
分類算一算
基于概念形成的教學(xué)研究
分類討論求坐標(biāo)
無懼標(biāo)簽 Alfa Romeo Giulia 200HP
車迷(2018年11期)2018-08-30 03:20:32
數(shù)據(jù)分析中的分類討論
不害怕撕掉標(biāo)簽的人,都活出了真正的漂亮
海峽姐妹(2018年3期)2018-05-09 08:21:02
教你一招:數(shù)的分類
標(biāo)簽化傷害了誰
高中數(shù)學(xué)概率教學(xué)中的誤區(qū)與應(yīng)對(duì)策略分析
汤阴县| 温州市| 上虞市| 昌江| 新邵县| 海门市| 延津县| 兴海县| 额济纳旗| 临泽县| 柘荣县| 桂东县| 三明市| 连城县| 五河县| 咸丰县| 堆龙德庆县| 鹿泉市| 玛曲县| 舟曲县| 荔浦县| 枞阳县| 伊通| 沅江市| 集安市| 祁东县| 宁晋县| 民县| 加查县| 岱山县| 施秉县| 扬州市| 青川县| 平泉县| 乌拉特中旗| 屯昌县| 大足县| 建始县| 化德县| 琼中| 绥阳县|