戚元星,崔雙喜
(新疆大學(xué) 電氣工程學(xué)院,新疆 烏魯木齊 830047)
目前,時(shí)代進(jìn)步促進(jìn)信息和科技的高速發(fā)展,高速通信和高度集成的信息網(wǎng)絡(luò)成為了電力系統(tǒng)的重要支撐.在電網(wǎng)中,攻擊者為了達(dá)到破壞電網(wǎng)正常運(yùn)行、誤導(dǎo)控制中心操作、獲取不正當(dāng)利益的目的,會(huì)選擇對(duì)電網(wǎng)的數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)(supervisory control and data acquisition,SCADA)進(jìn)行攻擊.電力系統(tǒng)的采集單元覆蓋電網(wǎng)的全拓?fù)洌?,攻擊者?huì)把預(yù)先設(shè)定的攻擊向量注入到采集單元中,為了不被電網(wǎng)檢測(cè)模塊檢測(cè)出來,攻擊者會(huì)制造最優(yōu)攻擊向量來躲避檢測(cè)模塊檢測(cè).虛假數(shù)據(jù)的攻擊會(huì)造成依賴電網(wǎng)行業(yè)不同程度的癱瘓,給國(guó)家、社會(huì)、人民帶來很大的危害,因此對(duì)于虛假數(shù)據(jù)檢測(cè)的研究顯得尤為重要[1-4].傳統(tǒng)的電網(wǎng)虛假數(shù)據(jù)檢測(cè)有很多[5-7],比如用核范數(shù)最小化或低秩矩陣分解對(duì)虛假數(shù)據(jù)進(jìn)行檢測(cè)[8].機(jī)器學(xué)習(xí)的發(fā)展也為虛假數(shù)據(jù)的檢測(cè)提供了新的方案,最典型的有3種實(shí)現(xiàn)方式:監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)[9],其中監(jiān)督學(xué)習(xí)的分類技術(shù)最為優(yōu)秀,預(yù)測(cè)精度高且整體效果較好,但需要完整的帶標(biāo)簽的樣本,數(shù)據(jù)的質(zhì)量和數(shù)量決定最終的模型效果.集成學(xué)習(xí)作為機(jī)器學(xué)習(xí)的重要部分,也逐漸被應(yīng)用于入侵檢測(cè)領(lǐng)域[10-13],現(xiàn)有實(shí)驗(yàn)結(jié)果表明運(yùn)用機(jī)器學(xué)習(xí)中的單分類器來檢測(cè)虛假數(shù)據(jù)會(huì)出現(xiàn)準(zhǔn)確率低以及模型區(qū)分能力差等問題,因此,針對(duì)該類問題結(jié)合虛假數(shù)據(jù)檢測(cè)原理,本文提出一種新的集成學(xué)習(xí)檢測(cè)方法并對(duì)其可行性進(jìn)行驗(yàn)證,實(shí)驗(yàn)結(jié)果表明本文在電網(wǎng)虛假數(shù)據(jù)檢測(cè)分類問題上具有一定研究?jī)r(jià)值.
對(duì)于含有n個(gè)狀態(tài)量的向量x=[x1,x2,x3,…,xn]以及m個(gè)量測(cè)值的向量z=[z1,z2,z3,…,zm],兩者之間的關(guān)系為
z=Hx+e,
(1)
(2)
其中,H表示為直流維度模型m×n的雅克比矩陣,e為誤差.
(3)
對(duì)于標(biāo)準(zhǔn)的直流系統(tǒng),只考慮帶相位角的狀態(tài)變量,直流系統(tǒng)線路電阻可忽略不計(jì),直流系統(tǒng)電壓幅值全部設(shè)為 1,本文攻擊前的量測(cè)值樣本采用的是IEEE14節(jié)點(diǎn)14個(gè)標(biāo)準(zhǔn)的母線負(fù)載有功功率,20個(gè)分支路首端有功功率,20個(gè)分支路末端有功功率,一組攻擊前的樣本共54個(gè)狀態(tài)變量.攻擊后的量測(cè)值z(mì)a如式(4),攻擊后的狀態(tài)變量xa如式(5)
za=Hx+a+e,
(4)
xa=x+a,
(5)
其中,a為攻擊的向量;e為量測(cè)的誤差.
第j個(gè)子區(qū)域攻擊后狀態(tài)估計(jì)的殘差、全部域攻擊后的狀態(tài)估計(jì)的殘差如式(6)、(7)所示
(6)
(7)
為了構(gòu)造出最優(yōu)的電網(wǎng)虛假數(shù)據(jù)攻擊向量,使虛假數(shù)據(jù)逃避電網(wǎng)檢測(cè)模塊檢測(cè),應(yīng)讓攻擊后的殘差值處在電網(wǎng)虛假數(shù)據(jù)檢測(cè)閥值以內(nèi),在滿足式(8)條件下求式(9)最優(yōu)解
(8)
(9)
β為優(yōu)化量,λ為正則化參數(shù),j=1,2,…,n.
(10)
(11)
當(dāng)且僅當(dāng)
Pb=0時(shí),
(12)
(13)
由式(12),求電網(wǎng)SCADA系統(tǒng)注入虛假數(shù)據(jù)向量b殘差最小的最優(yōu)解函數(shù)
(14)
bj-θ=0,
(15)
θ為優(yōu)化變量,λ為正則化參數(shù),j=1,2,…,n.
根據(jù)式(14),可求非全部網(wǎng)絡(luò)拓?fù)溲趴吮染仃囂摷贁?shù)據(jù)攻擊的注入向量.
梯度提升樹(gradient boosting decison tree, GBDT)由決策樹和梯度提升組合而成,可處理大部分的分類回歸任務(wù).
在GBDT的迭代過程中,初始化基學(xué)習(xí)器F0(x),對(duì)數(shù)損失函數(shù)L(y,F(x)),如下所示:
(16)
L(y,F(x))=log(1+exp(-2yF(x))),
(17)
β為損失函數(shù)最小化的常數(shù)值.
設(shè)迭代數(shù)量為m,為進(jìn)一步擬合本輪損失,需得到損失函數(shù)的數(shù)值
(18)
損失函數(shù)梯度下降最優(yōu)步長(zhǎng)βnm
(19)
定義學(xué)習(xí)率為ν∈(0,1],進(jìn)一步構(gòu)建更高精度的弱分類器模型Fm(x),
(20)
迭代結(jié)束后,得到由m個(gè)高精度的弱分類器結(jié)合的決策樹模型
(21)
XGBoost使用一階導(dǎo)數(shù)和二階導(dǎo)數(shù),對(duì)代價(jià)函數(shù)進(jìn)行泰勒展開,為了使模型簡(jiǎn)單化,加入了正則項(xiàng)Ω.本文使用表示第i個(gè)葉子節(jié)點(diǎn)上的分?jǐn)?shù).為了學(xué)習(xí)出模型參數(shù),對(duì)目標(biāo)函數(shù)正則化,公式如下:
(22)
(23)
經(jīng)對(duì)損失函數(shù)的一階梯度和二階梯度,再去掉常數(shù)項(xiàng)并展開Ω,得到的目標(biāo)函數(shù)
(24)
(25)
(26)
樹結(jié)構(gòu)選擇增益下降最大的特征作為最優(yōu)分割點(diǎn),增益下降的公式為
(27)
LightGBM是在GBDT的算法的基礎(chǔ)上進(jìn)行改進(jìn).LightGBM解決了在大樣本高維度數(shù)據(jù)出現(xiàn)的耗時(shí)且耗內(nèi)存問題.該算法改進(jìn)了2個(gè)方面:gradient-based one-side sampling(GOSS)和exclusive feature bundling(EFB).互補(bǔ)特征壓縮(EFB)通過將相近的特征進(jìn)行合并達(dá)到2種目的:1)使特征維度從高維變?yōu)榈途S來尋找最優(yōu)分割點(diǎn);2)使降維對(duì)數(shù)據(jù)特征的損失最小.對(duì)實(shí)例進(jìn)行采樣時(shí),基于梯度的單面采樣(GOSS)是為保持信息增益的準(zhǔn)確保留較大貢獻(xiàn)的實(shí)例,刪除一部分小梯度的樣本.
RF-LightGBM是在LightGBM攻擊檢測(cè)模型的基礎(chǔ)上,對(duì)需要檢測(cè)的樣本數(shù)據(jù)集先采用隨機(jī)森林(RF)對(duì)特征值進(jìn)行重要性排序.通過去除沒有必要的特征來降低模型訓(xùn)練時(shí)間及升高模型的準(zhǔn)確度.隨機(jī)森林結(jié)合多個(gè)決策樹,每個(gè)決策樹的建立取決于獨(dú)立提取樣本,不純度和袋外數(shù)據(jù)錯(cuò)誤率決定最佳分裂節(jié)點(diǎn),對(duì)于決策樹森林可以計(jì)算出每個(gè)特征減少的樹的不純度,并作為特征選擇的值.
Bagging的決策樹算法通過對(duì)原始數(shù)據(jù)隨機(jī)采樣,并選擇信息增益為計(jì)算指標(biāo)進(jìn)行分類,根據(jù)方差和偏差對(duì)分類結(jié)果進(jìn)行優(yōu)化.該算法的特點(diǎn)是各個(gè)決策樹之間沒有依賴關(guān)系,每個(gè)基模型可以分別、獨(dú)立、互不影響地生成并且擬合.
Bagging算法的集成過程如下所示.
Input: Data setS={(x1,y1),(x2,y2)...(xn,yn) }
Process:
Fork=1,2,…,K
Sk=Bootsrap(S)
hi=L(S)
H(x)=H(hi)
End
ReturnH(x)
本文分別訓(xùn)練多個(gè)優(yōu)秀的分類器:gradient boosting decision tree(GBDT)、XGBoost、lightGBM、RF-LightGBM、Bagging.檢測(cè)訓(xùn)練好的分類器是否符合要求,用測(cè)試樣本集對(duì)訓(xùn)練好的各分類器進(jìn)行測(cè)試.最后,把多個(gè)分類器合并成一個(gè)集強(qiáng)分類器,在采用軟投票的方法綜合不同分類器的檢測(cè)概率,使整個(gè)數(shù)據(jù)集的情況可以較全面地反映出來,原理如圖 1所示.
圖1 多分類器集成學(xué)習(xí)入侵檢測(cè)原理Fig.1 Principle of multi classifier ensemble learning intrusion detection
基于集成學(xué)習(xí)的入侵檢測(cè)的算法
輸入:樣本數(shù)據(jù)集S.
輸出:檢測(cè)結(jié)果.
1)將樣本數(shù)據(jù)集S按照1∶1劃分為2部分,得到訓(xùn)練集S1和測(cè)試集S2;
2)用python標(biāo)記好的數(shù)據(jù)集NT;
3)Foriin
S1進(jìn)行轉(zhuǎn)換→帶標(biāo)簽的Si
Si分別輸入到LightGBM,RF-LightGBM,XGBoost,gradient boosting decision tree(GBDT), Bagging進(jìn)行訓(xùn)練→分類器i;
4)Forjin;
S2輸入分類器j→概率j;
5)用軟投票機(jī)制對(duì)多個(gè)分類器的概率結(jié)果進(jìn)行集成得到強(qiáng)分類器,T為分類器數(shù)量,hi(x)為分類器檢測(cè)概率
6)Return檢測(cè)結(jié)果
模型選擇的特征決定模型的性能上限,而參數(shù)調(diào)優(yōu)使模型更接近這個(gè)上限,在模型的準(zhǔn)確度與復(fù)雜度之間尋找平衡,防止模型過擬合并提高魯棒性.貝葉斯調(diào)參的基本思想:在貝葉斯定理下,用先驗(yàn)數(shù)據(jù)估計(jì)目標(biāo)函數(shù)的后驗(yàn)分布,然后再根據(jù)后驗(yàn)分布來確定下一個(gè)最優(yōu)先驗(yàn)數(shù)據(jù)進(jìn)而確定超參數(shù)組合.調(diào)參步驟如下:
1) 確定初始學(xué)習(xí)速率0.15,估計(jì)treebased參數(shù)調(diào)優(yōu)數(shù)目;
2) 控制樹的數(shù)量(nestimators)來提高模型的速度;
3) 對(duì)樹的最大深度(max depth)和最小葉子節(jié)點(diǎn)樣本權(quán)重(min child weight)參數(shù)調(diào)優(yōu),對(duì)比模型分類的錯(cuò)誤率,防止模型過擬合;
4) 調(diào)整subsample,使每棵樹采樣的比例適中;
5) 降低學(xué)習(xí)速率,待模型基本收斂,停止迭代.
在標(biāo)準(zhǔn) IEEE14-bus節(jié)點(diǎn)系統(tǒng)中假設(shè)攻擊者已知局部網(wǎng)絡(luò)拓?fù)溲趴吮染仃嚨那疤嵯?,注入虛假?shù)據(jù)向量b進(jìn)行攻擊,攻擊電網(wǎng)SCADA系統(tǒng)網(wǎng)絡(luò)成功后,可在 Python環(huán)境下進(jìn)行:標(biāo)注受到攻擊量測(cè)值標(biāo)注為0,未受攻擊量測(cè)值標(biāo)注為1,構(gòu)建了10 000個(gè)樣本數(shù)據(jù)集:8 000條訓(xùn)練樣本和2 000條測(cè)試樣本.數(shù)據(jù)樣本集D,攻擊檢測(cè)數(shù)據(jù)樣本X,樣本類標(biāo)記Y,如下所示:
D={X,Y}={(x1,y1),(x2,y2),…,(x1000,y1000)},
X=(x1,x2,…,x1000),
Y=(y1,y2,…,y1000∈{0,1}
.
(28)
在 Python環(huán)境下,先使用測(cè)試集對(duì)訓(xùn)練好的5種分類器進(jìn)行測(cè)試:LightGBM、RF-LightGBM、XGBoost、gradient boosting decision tree、bagging,使用貝葉斯進(jìn)行調(diào)參,電網(wǎng)假數(shù)據(jù)檢測(cè)集成學(xué)習(xí)模型是由幾個(gè)基分類器合并而成的,因此需要對(duì)其中的LightGBM、RF-LightGBM和XGBoost這3個(gè)基分類器進(jìn)行調(diào)參.
LightGBM、RF-LightGBM和XGBoost參數(shù)范圍為:設(shè)置樹的數(shù)量(1,100),最小葉子節(jié)點(diǎn)樣本權(quán)重(1,20),樹的最大深度(2,20),subsample(0.1,1),貝葉斯調(diào)參采用高斯過程,考慮之前的參數(shù)信息,不斷更新先驗(yàn)來比較模型運(yùn)行的時(shí)間,分類錯(cuò)誤率等指標(biāo),判斷模型是否收斂,經(jīng)過不斷測(cè)試模型迭代到20次左右已經(jīng)基本收斂.
最后,選擇的模型參數(shù)如表1、表2、表3所示.
表1 LightGBM模型參數(shù)Tab.1 LightGBM model parameters
表2 RF-LightGBM模型參數(shù)Tab.2 RF-LightGBM model parameters
表3 XGBoost模型參數(shù)Tab.3 XGBoost model parameters
將本文5種分類器分別對(duì)數(shù)據(jù)集樣本進(jìn)行檢測(cè),通過對(duì)虛假數(shù)據(jù)檢測(cè)結(jié)果的評(píng)估指標(biāo)分析 ,各分類器之間不僅可以做對(duì)比還是集成模型中的基分類器.評(píng)估指標(biāo)如下:分類器模型能力度area under ROC(AUC)、查確率 average precision (AP)、準(zhǔn)確率balanced accuracy (BA)、 平均幾何正確率G-mean、服從正態(tài)分布度KS-Value,上述指標(biāo)均是越高越好,誤檢率false detection rata (FDR)越低越好.
1)根據(jù)表4和表5中模型對(duì)虛假數(shù)據(jù)檢測(cè)的各評(píng)估指標(biāo)百分比,為更直觀的表達(dá)各分類器及優(yōu)化后集成模型中每個(gè)評(píng)估指標(biāo)之間差異,畫出了各分類器每個(gè)評(píng)估指標(biāo)之間的對(duì)比圖,如圖2所示,其中縱坐標(biāo)為評(píng)估指標(biāo)的百分比,橫坐標(biāo)為各評(píng)估指標(biāo).
表4 各分類器評(píng)估指標(biāo)Tab.4 Evaluation index of each classifier
以本文以上階段所得到的基分類器為主,使用軟投票策略集成基分類器的決策,構(gòu)建一個(gè)新的集成模型.
表5 優(yōu)化后集成模型的評(píng)估指標(biāo)Tab.5 Evaluation index of optimized integration model
2)當(dāng) AUC 為 0.5時(shí),即代表模型的區(qū)分能力與隨機(jī)猜測(cè)能力一致;當(dāng) AUC 值越高其模型能力越強(qiáng). 由表4和表5知,關(guān)于優(yōu)化后集成模型分類器的模型區(qū)分能力(AUC)高達(dá)93.12%. 從圖2不難看出,優(yōu)化后集成模型的區(qū)分能力是本文提到的幾種分類器最好的,說明此模型的檢測(cè)虛假數(shù)據(jù)能力可信度較高. 由圖2也可以看出AP、BA、G-mean、KS-Value的指標(biāo)是這幾個(gè)分類器最高的,尤其是優(yōu)化后集成模型的查準(zhǔn)率(AP)高達(dá)91.68%,準(zhǔn)確率(BA)高達(dá)90.91%,誤檢率(FDR)為7.09%,比單個(gè)分類器檢測(cè)的查準(zhǔn)率提升了至少11%,準(zhǔn)確率提升了至少9%,誤檢率降低了至少5.22%,說明由5種基分類器集成的模型具有較好的檢測(cè)效果,進(jìn)一步說明了檢測(cè)模型泛化能力也得到了進(jìn)一步提升,在入侵檢測(cè)中,誤檢率帶來的損失較大,因此,研究人員都期望在能夠保證提升查準(zhǔn)率、準(zhǔn)確率的情況下,使誤檢率盡可能低,這樣更符合實(shí)際應(yīng)用的要求.
圖2 各分類器評(píng)估指標(biāo)對(duì)比Fig.2 Comparison of evaluation indexes of each classifier
為了進(jìn)一步檢測(cè)優(yōu)化后集成模型的分類效果,本算法與2種經(jīng)典分類算法做了對(duì)比,分別是擴(kuò)展卡爾曼濾波算法和與主成分分析結(jié)合的支持向量機(jī)(PCA+SVM),如圖3所示.在不同樣本數(shù)的情況下,隨著樣本數(shù)增多,本算法的準(zhǔn)確率大多高于PCA+SVM算法的分類準(zhǔn)確率,但是圖3中也存在準(zhǔn)確率優(yōu)于本算法,主要原因在于數(shù)據(jù)集預(yù)處理上對(duì)選取樣本的隨機(jī)性造成的樣本集的差異,這種差異是每種算法對(duì)樣本數(shù)劃分的劃分標(biāo)準(zhǔn)不同而導(dǎo)致的.而擴(kuò)展卡爾曼濾波檢測(cè)算法除了存在小樣本數(shù)據(jù)集上的準(zhǔn)確率會(huì)略高于本算法,但絕大多數(shù)的樣本集分類效果不如本算法,其原因是擴(kuò)展卡爾曼濾波檢測(cè)算法在真假數(shù)據(jù)不平衡的樣本集中,其分類準(zhǔn)確率會(huì)隨樣本數(shù)的增多而降低.
圖3 準(zhǔn)確率對(duì)比Fig.3 Comparison of accuracy
本文基于集成學(xué)習(xí)算法對(duì)電網(wǎng)假數(shù)據(jù)進(jìn)行檢測(cè),經(jīng)仿真實(shí)驗(yàn),該算法在解決單分類器檢測(cè)查準(zhǔn)率和準(zhǔn)確率不高和單分類器檢測(cè)不穩(wěn)定問題基礎(chǔ)上,可有效提高對(duì)電網(wǎng)虛假數(shù)據(jù)的檢測(cè)能力,比采用傳統(tǒng)的檢測(cè)算法查準(zhǔn)率和準(zhǔn)確率有明顯提升.此外,該檢測(cè)算法在檢測(cè)電網(wǎng)假數(shù)據(jù)的應(yīng)用上也是創(chuàng)新.在保證各項(xiàng)評(píng)估指標(biāo)較好的前提下再次提高檢測(cè)精確率和降低誤檢率將成為下步研究方向和工作.