金 鵬,夏曉峰,喬 焰,3*,崔信紅
(1.安徽農(nóng)業(yè)大學(xué)信息與計(jì)算機(jī)學(xué)院,合肥 230036;2.國家開發(fā)銀行信息科技局,北京 100000; 3.北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,北京 100876)
隨著物聯(lián)網(wǎng)的普及,無線傳感器網(wǎng)絡(luò)WSNs(Wireless Sensor Networks)已經(jīng)被廣泛地應(yīng)用于各個(gè)領(lǐng)域,通過分析與挖掘傳感器所采集上報(bào)的數(shù)據(jù),能夠?yàn)楦鱾€(gè)行業(yè)提供極具價(jià)值的有效信息。然而復(fù)雜的部署環(huán)境以及傳感器自身的內(nèi)存、CPU以及能源的條件非常容易使傳感器發(fā)生軟硬件故障,從而產(chǎn)生異常數(shù)據(jù),而對(duì)摻雜異常數(shù)據(jù)集合的分析會(huì)嚴(yán)重影響有效信息的挖掘及關(guān)鍵決策的制定。因此實(shí)時(shí)準(zhǔn)確地檢測出無線傳感器網(wǎng)絡(luò)所采集的異常數(shù)據(jù)變得愈發(fā)重要。及時(shí)檢測出異常數(shù)據(jù)一方面可以更好的保證傳感器所采集數(shù)據(jù)的安全性和可靠性;另一方面,異常數(shù)據(jù)在某些監(jiān)測環(huán)境下能夠發(fā)揮重要的作用,例如,可通過采集到的異常數(shù)據(jù)來判斷是否發(fā)生了某種突發(fā)事件(如火災(zāi)、空氣污染、洪水及人為破壞等)[1-3]。然而,隨著傳感器網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,及所采集數(shù)據(jù)的日趨復(fù)雜,對(duì)傳感器數(shù)據(jù)異常的檢測變得越來越困難,主要表現(xiàn)為以下幾個(gè)方面:①無論是分布式還是集中式的數(shù)據(jù)處理,均要求對(duì)異常數(shù)據(jù)的檢測要具備較低的時(shí)間和空間復(fù)雜度,從而應(yīng)對(duì)海量的采集數(shù)據(jù);②由于傳感器通常實(shí)時(shí)地采集并上傳數(shù)據(jù),因此要求數(shù)據(jù)的異常檢測需要具備在線檢測的能力;③現(xiàn)如今,越來越多的數(shù)據(jù)呈現(xiàn)高維的特征(一個(gè)數(shù)據(jù)項(xiàng)包含溫度,濕度,光照,坐標(biāo),位移等諸多維度),高維數(shù)據(jù)一方面會(huì)增加異常檢測的計(jì)算時(shí)間,另一方面若異常僅出現(xiàn)在少部分維度上,則這些異常數(shù)據(jù)很難與正常數(shù)據(jù)相區(qū)分。
過去的幾年中,已經(jīng)有不少學(xué)者提出了無線傳感器網(wǎng)絡(luò)的異常數(shù)據(jù)檢測方法,主要可以分為以下四類:基于近鄰的方法[4-9]、基于聚類的方法[10-11]、基于統(tǒng)計(jì)的方法[12-13]以及基于分類的方法[14-16]。基于近鄰的方法通過計(jì)算自身數(shù)據(jù)與相鄰節(jié)點(diǎn)數(shù)據(jù)之間的距離來確定自身數(shù)據(jù)是否異常,如果某個(gè)數(shù)據(jù)與鄰居節(jié)點(diǎn)采集的數(shù)據(jù)存在較大差異則稱為異常數(shù)據(jù),但是計(jì)算每個(gè)數(shù)據(jù)之間的距離會(huì)花費(fèi)較長的時(shí)間,無法應(yīng)用在大規(guī)模傳感器網(wǎng)絡(luò)中;基于聚類的方法通過對(duì)數(shù)據(jù)分簇來孤立異常數(shù)據(jù),但此方法需要在得到全部數(shù)據(jù)后再進(jìn)行分簇,不能在線式地檢測異常數(shù)據(jù)?;诮y(tǒng)計(jì)的方法是利用歷史數(shù)據(jù)分布,建立數(shù)據(jù)的統(tǒng)計(jì)模型,不符合該模型的數(shù)據(jù)視為異常數(shù)據(jù)。但對(duì)于維度較大的數(shù)據(jù)集合,該方法很難建立較準(zhǔn)確的統(tǒng)計(jì)模型?;诜诸惖姆椒ㄍㄟ^歷史數(shù)據(jù)訓(xùn)練得到一個(gè)分類模型,再將待檢測數(shù)據(jù)分類到所屬的模型之中,不屬于任何類型的數(shù)據(jù),將視為異常數(shù)據(jù)。該方法能夠在保證檢測準(zhǔn)確度的情況下滿足在線檢測的需求,并可應(yīng)用于高維數(shù)據(jù)集合的異常檢測,是近幾年較為主流的異常檢測方法。其中基于單類支持向量機(jī)OCSVM(One-Class Support Vector Machine)的異常檢測方法是目前應(yīng)用最廣泛的基于分類的異常檢測方法之一,它能在無監(jiān)督模式下高效實(shí)時(shí)地檢測所采集數(shù)據(jù)中的異常數(shù)據(jù)。但OCSVM也存在重要的缺陷,由于在訓(xùn)練過程中需要求解非線性規(guī)劃問題,當(dāng)數(shù)據(jù)維度增加時(shí),訓(xùn)練時(shí)間會(huì)呈指數(shù)級(jí)增加。為了解決以上問題,文獻(xiàn)[17-18]提出了可利用深度信念網(wǎng)絡(luò)DBN(Deep Belief Network)對(duì)采集到的數(shù)據(jù)做降維處理,再對(duì)降維后的數(shù)據(jù)進(jìn)行異常分類,這樣能夠大大降低OCSVM的訓(xùn)練時(shí)間。但經(jīng)過降維后,僅有較明顯的(即出現(xiàn)異常維度較多的)異常數(shù)據(jù)能夠保持與正常數(shù)據(jù)的較大差異,而不明顯的(出現(xiàn)異常維度較少的)異常數(shù)據(jù)經(jīng)過降維后,OCSVM無法再將其與正常數(shù)據(jù)區(qū)分,從而導(dǎo)致較低的檢測準(zhǔn)確度。
其中文獻(xiàn)[4]提出一種預(yù)測模型,對(duì)依據(jù)傳感器節(jié)點(diǎn)的以往數(shù)據(jù)進(jìn)行分析并對(duì)給出預(yù)測值,將實(shí)測值與預(yù)測值之間的差距來發(fā)現(xiàn)其中的異常數(shù)據(jù),實(shí)現(xiàn)了傳感器數(shù)據(jù)的實(shí)時(shí)檢測,提高了算法的效率;但是預(yù)測模型不適合處理高維的數(shù)據(jù)。文獻(xiàn)[12]提出了一種基于數(shù)學(xué)統(tǒng)計(jì)的算法,利用核函數(shù)對(duì)收集的數(shù)據(jù)進(jìn)行異常檢測,從而找出異常數(shù)據(jù);但是該方法需要大量的數(shù)據(jù),無法實(shí)現(xiàn)實(shí)時(shí)監(jiān)測。文獻(xiàn)[8]中提出了一種基于距離的數(shù)據(jù)流異常檢測算法,該算法使用滑動(dòng)窗口來實(shí)現(xiàn)數(shù)據(jù)截取檢測,從而實(shí)現(xiàn)實(shí)時(shí)的檢測,該方法比前面的嵌套循環(huán)算法有較大的改進(jìn),但是沒有考慮到從窗口離開的數(shù)據(jù)對(duì)新檢測的數(shù)據(jù)的影響。文獻(xiàn)[14]提出了一種基于超球面的單類支持向量機(jī),通過得到最小半徑的超球面來實(shí)現(xiàn)數(shù)據(jù)異常的檢測,超出計(jì)算得知的超球面,并被視為異常值。但是這個(gè)算法需要高的二次優(yōu)化。文獻(xiàn)[15]提出了一種基于四分之一球面的支持向量機(jī),通過計(jì)算得到以原點(diǎn)為中心的四分之一超球面,該方法將原本單類支持向量機(jī)中二次優(yōu)化問題轉(zhuǎn)化為線性問題,從來減少復(fù)雜度,但是不能實(shí)現(xiàn)實(shí)時(shí)檢測,并且建模過程復(fù)雜。
本文在以上研究的基礎(chǔ)上,針對(duì)OCSVM進(jìn)行優(yōu)化,提出了一種基于DBN的1/4超球面支持向量機(jī)QSSVM(Quarter-Sphere Support Vector Machine)異常檢測模型,并在此模型基礎(chǔ)上提出一種在線式的異常檢測算法。首先將高維數(shù)據(jù)利用DBN進(jìn)行降維處理,再針對(duì)降維后的數(shù)據(jù)通過QSSVM結(jié)合滑動(dòng)窗口模型實(shí)現(xiàn)高效實(shí)時(shí)的異常檢測。經(jīng)實(shí)驗(yàn)表明,新算法可以更好地處理大規(guī)模高維傳感器數(shù)據(jù),在降低了時(shí)間復(fù)雜度的同時(shí),提高了異常檢測的準(zhǔn)確度??偨Y(jié)來說,本文主要在傳感器數(shù)據(jù)異常檢測領(lǐng)域做出以下貢獻(xiàn):
①提出了DBN-QSSVM異常檢測模型。實(shí)驗(yàn)表明,經(jīng)過DBN的降維,原數(shù)據(jù)集合中的異常數(shù)據(jù)呈線性不對(duì)稱的分布,而傳統(tǒng)的更適用于對(duì)稱分布的單分類支持向量機(jī)在處理不對(duì)稱分布數(shù)據(jù)時(shí),容易得到有偏的超球面半徑。因此,當(dāng)待檢測數(shù)據(jù)僅有部分維度異常時(shí),異常數(shù)據(jù)與正常數(shù)據(jù)雖在高維映射空間存在少量差異,但對(duì)于單分類支持向量機(jī)卻難以區(qū)分。而本文提出的新模型所訓(xùn)練得到的QSSVM更適用于區(qū)分不對(duì)稱分布的異常數(shù)據(jù),在僅有部分維度異常的情況下,仍具備較高的檢測準(zhǔn)確度;
②提出了基于滑動(dòng)窗口的在線式異常檢測算法。由于傳感器所采集的數(shù)據(jù)具備一定的時(shí)間相關(guān)性,因此,所采集數(shù)據(jù)的分布會(huì)根據(jù)時(shí)間的推移而發(fā)生變化,根據(jù)當(dāng)前窗口數(shù)據(jù)所訓(xùn)練的模型相比單一歷史數(shù)據(jù)所訓(xùn)練的模型更具實(shí)時(shí)性。本文在新模型基礎(chǔ)上提出基于滑動(dòng)窗口的在線異常檢測算法,一方面能滿足在線式檢測的需求,另一方面能利用數(shù)據(jù)的時(shí)間相關(guān)性提高在線檢測的檢測準(zhǔn)確度;
③實(shí)驗(yàn)采用真實(shí)傳感器數(shù)據(jù)驗(yàn)證了新算法的有效性。本文實(shí)驗(yàn)收集了UCI機(jī)器學(xué)習(xí)庫中的四個(gè)真實(shí)的高維傳感器數(shù)據(jù)集合(Forest數(shù)據(jù),GAS數(shù)據(jù),DSA數(shù)據(jù)和HAR數(shù)據(jù)),并與先前基于單分類支持向量機(jī)的異常檢測方法做了對(duì)比,實(shí)驗(yàn)結(jié)果表明,平均情況下,新方法能夠?qū)z測準(zhǔn)確度提高17.57%,誤檢率降低20.02%。此外,本文提出的新模型將原有模型中的非線性規(guī)劃問題轉(zhuǎn)換為線性規(guī)劃問題,相比原有方法,新方法將訓(xùn)練時(shí)間和檢測時(shí)間之和降低了約50%。
本節(jié)首先介紹單分類支持向量機(jī)(OCSVM),1/4超球面支持向量機(jī)(QSSVM)及深度信念網(wǎng)絡(luò)(DBN)的基本概念和原理,然后通過實(shí)驗(yàn)數(shù)據(jù)說明QSSVM相比傳統(tǒng)OCSVM在處理DBN降維后的數(shù)據(jù)時(shí)更具優(yōu)越性。
圖1 OCSVM超球面分類模型
OCSVM按照大部分輸入數(shù)據(jù)在高維空間中的相互距離將輸入數(shù)據(jù)進(jìn)行單分類,并將待檢測數(shù)據(jù)中不屬于該分類的數(shù)據(jù)視為異常[19]。TAX等人[20]提出的基于超球面的支持向量機(jī)將在低維空間中不可分的數(shù)據(jù)映射到高維特征空間,并找到一個(gè)可以包圍絕大部分樣本點(diǎn)的超球面,將排除在超球面之外的樣本點(diǎn)作為異常樣本。圖1為超球面OCSVM異常檢測模型,圖1中位于球面邊緣的白色樣本點(diǎn)表示邊界支持向量,球面內(nèi)部的灰色樣本節(jié)點(diǎn)是正常數(shù)據(jù),球面以外的黑色樣本節(jié)點(diǎn)是異常樣本數(shù)據(jù),其中超球面的半徑R表示球心到邊界支持向量之間的距離,由邊界支持向量機(jī)與球心的距離決定。
假設(shè)X={xi,1≤i≤n}為n個(gè)訓(xùn)練樣本數(shù)據(jù),特征空間中訓(xùn)練樣本球面半徑的計(jì)算可規(guī)劃為以下問題的求解:
(1)
s.t. ‖Φ(xi)-C‖2-R2≤ξiξi≥0,i=1,2,…,n
其中Φ(·)為樣本到高維特征空間的映射函數(shù),R和C分別為高維空間中超球面的半徑和球心,ξi是松弛變量,允許部分樣本在球面之外,v∈(0,1)為在球面之外樣本的比率。式(1)的對(duì)偶形式可表示為:
(2)
其中k(xi,xj)=Φ(xi)·Φ(xj)是核函數(shù),表示xi和xj在高維特征空間的距離。在特征空間中,任意樣本x與球心的距離可通過以下公示計(jì)算:
(3)
當(dāng)d≤R時(shí),x為正常節(jié)點(diǎn),當(dāng)d>R時(shí),其為異常節(jié)點(diǎn)。
圖2 QSSVM分類模型
由于OCSVM需要在模型訓(xùn)練時(shí)求解二次規(guī)劃問題(式(2)),時(shí)間復(fù)雜度較高,P Laskov在文獻(xiàn)[15]中提出單類QSSVM,將二次規(guī)劃問題轉(zhuǎn)化為線性規(guī)劃問題,從而降低了時(shí)間復(fù)雜度。QSSVM將輸入樣本映射到高維特征空間,并將特征空間中樣本的圓心移到坐標(biāo)軸的原點(diǎn),以正坐標(biāo)軸為方向,得到一個(gè)1/4超球面,在球面內(nèi)部的數(shù)據(jù),為正常樣本數(shù)據(jù),球面外部的數(shù)據(jù)為異常樣本數(shù)據(jù),圖2為QSSVM分類模型。
訓(xùn)練樣本X={xi,1≤i≤n}在特征空間的1/4球面可通過求解以下問題得到:
(4)
s.t. ‖Φ(xi)‖2≤R2+ξi
ξi≥0,i=1,2,…,n
式(4)的對(duì)偶問題可表示為:.
(5)
相比球面OCSVM的非線性規(guī)劃問題(式(2)),式(5)的線性規(guī)劃問題將計(jì)算復(fù)雜度大大降低。
但由于基于距離的核函數(shù)k(xi,xi)對(duì)于任何樣本節(jié)點(diǎn)均相等,因此式(5)無法求得有意義的解。以上問題可以通過將核函數(shù)中心化的方法得到解決[21],即定義中心化后的核函數(shù)為:
kc=k-1nk-k1n+1nk1n
(6)
其中1n為n×n的矩陣,矩陣元素均為1/n。此時(shí)式(5)可轉(zhuǎn)換為:
(7)
對(duì)于新到的樣本節(jié)點(diǎn)x,其在高維特征空間中與原點(diǎn)的距離無法通過簡單公式得到,因此QSSVM目前僅能作為離線式的異常檢測技術(shù)。在2.2小節(jié)本文將通過滑動(dòng)窗口模型實(shí)現(xiàn)QSSVM的在線檢測。
圖3 RBM模型
1.3.1 受限玻爾茲曼機(jī)(RBM)
受限玻爾茲曼機(jī)[22]RBM(Restricted Boltzmann Machine)是一種概率神經(jīng)網(wǎng)絡(luò),主要由兩層神經(jīng)元構(gòu)成,分別稱為隱藏層和可見層。如圖3所示,h為隱藏層神經(jīng)元狀態(tài)向量,v為可見層神經(jīng)元狀態(tài)向量,向量b是隱藏層的偏執(zhí)系數(shù),向量a為可見層的偏執(zhí)系數(shù),每一層之間的神經(jīng)元相互獨(dú)立,隱藏層與可見層之間是全連接關(guān)系。
1.3.2 深度信念網(wǎng)絡(luò)(DBN)
深度信念網(wǎng)絡(luò)[23]是由多個(gè)RBM疊加合成的深度學(xué)習(xí)網(wǎng)絡(luò)。如圖4所示,該網(wǎng)絡(luò)通過對(duì)RBM一層一層的訓(xùn)練,下層RBM的輸出作為上層RBM的輸入,在 DBN 的最后一層設(shè)置 BP神經(jīng)網(wǎng)絡(luò),用來接收RBM訓(xùn)練后的特征數(shù)據(jù)。由于每一層RBM的訓(xùn)練都只能保證自身的最優(yōu),因此一層一層訓(xùn)練也無法保證全局最優(yōu),BP神經(jīng)網(wǎng)絡(luò)能夠?qū)⒌玫降臄?shù)據(jù)與期望數(shù)據(jù)比對(duì),并進(jìn)行自頂層向下的調(diào)整從而優(yōu)化訓(xùn)練結(jié)果。
圖4 DBN模型
此外,DBN還可作為數(shù)據(jù)的降維工具,將高維的輸入向量X∈Rn×d通過DBN進(jìn)行壓縮提取后,輸出低維的特征向量Y∈Rn×s,其中s 通過DBN對(duì)高維數(shù)據(jù)降維后,正常數(shù)據(jù)與異常數(shù)據(jù)的分布呈現(xiàn)較明顯差異,并且異常數(shù)據(jù)不對(duì)稱地分布在正常數(shù)據(jù)一邊。本文從UCI機(jī)器學(xué)習(xí)庫網(wǎng)站下載了四組真實(shí)傳感器數(shù)據(jù),分別為Forest(森林環(huán)境監(jiān)測數(shù)據(jù),54維),GAS(基于傳感器檢測的氣體種類集,128維),DSA(日常活動(dòng)集,315維)和HAR(基于智能設(shè)備穿戴的人類活動(dòng)集,561維),并在這些數(shù)據(jù)中隨機(jī)地加入了少量異常(具體實(shí)現(xiàn)方法見3.1節(jié)),降維后的數(shù)據(jù)分布如圖5所示(為了易于呈現(xiàn),統(tǒng)一把數(shù)據(jù)降到3維)。從圖中可以看出,在四張圖中異常數(shù)據(jù)(圓點(diǎn))分布在正常數(shù)據(jù)(方點(diǎn))的一側(cè),而非對(duì)稱地分布在其周圍。而傳統(tǒng)的單分類支持向量機(jī)所得到的球面以輸入數(shù)據(jù)在高維空間的中點(diǎn)為圓心,能夠較好地分割相對(duì)圓心對(duì)稱分布的異常數(shù)據(jù)。在數(shù)據(jù)呈單側(cè)分布時(shí),圓心的定位會(huì)存在少量偏差,因此無法保證異常數(shù)據(jù)的檢測準(zhǔn)確度。QSSVM將輸入數(shù)據(jù)在高維空間中平移,并以原點(diǎn)為圓心確定1/4球面,更適用于異常數(shù)據(jù)分布于單側(cè)的異常檢測問題,相比傳統(tǒng)的OCSVM具有更高的檢測準(zhǔn)確度。 圖5 DBN降維后的數(shù)據(jù)分布特征 本節(jié)首先建立DBN與QSSVM混合模型(包括訓(xùn)練模型和測試模型),再利用滑動(dòng)窗口模型實(shí)現(xiàn)在線式地異常檢測。 圖6 訓(xùn)練模型 DBN與QSSVM混合模型分為訓(xùn)練模型和測試模型,如圖6和圖7所示。訓(xùn)練模型用于DBN降維模型的訓(xùn)練及訓(xùn)練數(shù)據(jù)中異常數(shù)據(jù)的剔除,測試模型用于實(shí)時(shí)檢測新到數(shù)據(jù)是否為異常。 圖7 測試模型 在訓(xùn)練模型中,將訓(xùn)練數(shù)據(jù)輸入給DBN底層節(jié)點(diǎn),訓(xùn)練DBN中各層之間權(quán)值W,顯層節(jié)點(diǎn)偏執(zhí)和隱層節(jié)點(diǎn)偏執(zhí)(a,b,c),并將降維后的訓(xùn)練數(shù)據(jù)輸入給QSSVM并輸出訓(xùn)練數(shù)據(jù)中的異常數(shù)據(jù),在訓(xùn)練數(shù)據(jù)集中將異常數(shù)據(jù)剔除,如圖6所示。 在測試模型中,將新采集到的待檢測數(shù)據(jù)輸入給訓(xùn)練好的DBN模型,輸出降維后的測試數(shù)據(jù),并加入到滑動(dòng)窗口中,最后將窗口數(shù)據(jù)輸入到QSSVM,檢測新到數(shù)據(jù)是否為異常,如圖7所示。 由于傳感器所采集的數(shù)據(jù)具備一定的時(shí)間相關(guān)性,所采集數(shù)據(jù)的分布會(huì)根據(jù)時(shí)間的推移而發(fā)生變化,因此采用滑動(dòng)窗口模型將新采集的數(shù)據(jù)與最近時(shí)間數(shù)據(jù)放在同一窗口中,輸入給QSSVM進(jìn)行異常檢測。一方面,通過窗口的滑動(dòng)能夠?qū)崿F(xiàn)實(shí)時(shí)地在線數(shù)據(jù)檢測,另一方面,利用數(shù)據(jù)的時(shí)間相關(guān)性,能夠提高異常檢測的準(zhǔn)確度。 滑動(dòng)窗口模型如圖8所示,m為滑動(dòng)窗口大小,窗口1和窗口2分別t-1時(shí)刻和t時(shí)刻的窗口,白色點(diǎn)表示已檢測樣本,黑色點(diǎn)為待檢測樣本。在下一個(gè)時(shí)刻采集到新數(shù)據(jù)時(shí),窗口向右滑動(dòng),將待檢測樣本滑入窗口中,并將部分已檢測樣本滑出窗口。最后將新窗口中的樣本數(shù)據(jù)輸入到QSSVM模型中檢測樣本是否為異常。 圖8 滑動(dòng)窗口模型 表1 算法偽代碼 本節(jié)將本文提出的新算法QSSVM與文獻(xiàn)[17]提出的基于DBN降維的OCSVM方法、文獻(xiàn)[11]提出的K-Means算法以及文獻(xiàn)[4]提出的DBSCAN算法作了對(duì)比,其中本文針對(duì)K-Means算法和DBCSAN算法,結(jié)合本文中提及的滑動(dòng)窗口加以改進(jìn)。實(shí)驗(yàn)結(jié)果從不同性能角度證明了QSSVM算法的優(yōu)越性。 實(shí)驗(yàn)數(shù)據(jù)是從UCI機(jī)器學(xué)習(xí)庫網(wǎng)站下載的四組真實(shí)傳感器數(shù)據(jù)集,分別為:54維的Forest(森林環(huán)境監(jiān)測數(shù)據(jù))、128維的GAS(基于傳感器檢測的氣體種類集)、315維的DSA(日?;顒?dòng)集)和561維的HAR(基于智能設(shè)備穿戴的人類活動(dòng)集)。從每個(gè)數(shù)據(jù)集中挑選連續(xù)時(shí)間的1000個(gè)樣本數(shù)據(jù),并將前80%數(shù)據(jù)(即800個(gè)樣本)作為訓(xùn)練數(shù)據(jù),隨機(jī)加入5%的異常數(shù)據(jù),將后20%的數(shù)據(jù)作為測試數(shù)據(jù)(即200個(gè)樣本),隨機(jī)加入10%的異常數(shù)據(jù),并假設(shè)每個(gè)時(shí)間間隔有10個(gè)測試樣本被采集。所有樣本數(shù)據(jù)歸一化到[0,1]區(qū)間上,所有加入的異常數(shù)據(jù)從[0,1]區(qū)間的均勻分布隨機(jī)產(chǎn)生。 為達(dá)到最佳算法性能,通過多次實(shí)驗(yàn)對(duì)比,本文選取了兩層的DBN結(jié)構(gòu),將輸入數(shù)據(jù)降到6維,QSSVM與OCSVM均選用RBF核函數(shù)。所有算法用MATLAB R2017a實(shí)現(xiàn),并在1.9 GHz雙核CPU,32GB內(nèi)存的專用服務(wù)器上運(yùn)行,每個(gè)實(shí)驗(yàn)結(jié)果均為10次獨(dú)立實(shí)驗(yàn)的平均值。 表2 算法性能指標(biāo) 實(shí)驗(yàn)測量的算法運(yùn)行時(shí)間是從輸入訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)開始,到算法輸出所有異常數(shù)據(jù)為止。 本小節(jié)以圖表的形式比較了QSSVM與OCSVM、K-Means及DBSCAN的檢測準(zhǔn)確度(檢測率,誤判率和召回率)及計(jì)算時(shí)間,同時(shí)評(píng)價(jià)了滑動(dòng)窗口大小對(duì)QSSVM性能的影響。 3.3.1 算法效率及窗口大小影響 表3比較了兩個(gè)算法訓(xùn)練模型及檢測異常的運(yùn)行時(shí)間總和,及不同大小窗口下QSSVM的準(zhǔn)確度變化。由于不同數(shù)據(jù)集合,不同異常維度比率對(duì)算法時(shí)間幾乎沒有影響,本小節(jié)所記錄的時(shí)間為所有異常維度比率情況下,在四個(gè)數(shù)據(jù)集合中算法運(yùn)行時(shí)間的平均值。從表3中可看出,隨著窗口的增大,QSSVM的準(zhǔn)確度是逐漸增加的(即檢測率與召回率逐漸增加,誤判率逐漸下降),這是因?yàn)榇翱谠酱?窗口內(nèi)包含樣本數(shù)據(jù)越多,每次在計(jì)算球面半徑時(shí)能參照的正常樣本數(shù)也會(huì)越多,得到的半徑也更加精確。 記樣本數(shù)為n,QSSVM算法使用RBF核,其最內(nèi)層運(yùn)算次數(shù)為n2次,時(shí)間復(fù)雜度為,核函數(shù)中心化方法解決對(duì)角線問題,其運(yùn)算次數(shù)為n次,時(shí)間復(fù)雜度為,滑動(dòng)窗口循環(huán)m次,時(shí)間復(fù)雜度為,即,則時(shí)間復(fù)雜度為。另外K-Means算法的時(shí)間復(fù)雜度為,DBNCAN算法的時(shí)間復(fù)雜度為,OCSVM算法的時(shí)間復(fù)雜度為。表3比較了四個(gè)算法的計(jì)算效率,K-Means、DBSCAN和QSSVM算法的運(yùn)行時(shí)間都隨窗口的增大而增加,當(dāng)窗口大小為100時(shí),QSSVM的計(jì)算時(shí)間比OCSVM低50%左右,當(dāng)窗口增大到包含200個(gè)樣本數(shù)據(jù)時(shí),QSSVM算法與OCSVM算法的計(jì)算時(shí)間相近,K-Means和DBSCAN由于其時(shí)間復(fù)雜度較低,故低于QSSVM。 表3 不同窗口值下算法性能的比較 考慮到當(dāng)窗口增加到一定程度時(shí),能獲得的準(zhǔn)確度越來越少,因此為保證算法的計(jì)算效率,在以下的準(zhǔn)確度實(shí)驗(yàn)中,將QSSVM算法的滑動(dòng)窗口大小固定在100。 3.3.2 檢測率(DR) 圖9比較了四個(gè)算法在不同比率維度出現(xiàn)異常時(shí)的檢測準(zhǔn)確度。從四組數(shù)據(jù)對(duì)應(yīng)的四張圖中可以看出,隨著樣本維度異常比例的增加,四個(gè)算法的檢測率均呈上升趨勢,這是因?yàn)榻?jīng)過DBN的降維,異常數(shù)據(jù)與正常數(shù)據(jù)樣本偏差會(huì)隨著異常維度的增加而增大。QSSVM在Forest數(shù)據(jù)(54維)和GAS數(shù)據(jù)(128維)時(shí)略低于K-Means和DBSCAN,但隨著樣本維度的增加,QSSVM依舊可以表現(xiàn)出良好的檢測性能,K-Means檢測結(jié)果卻越來越差,在HAR數(shù)據(jù)(561維)時(shí),檢測率最高僅有45.68%,而此時(shí)QSSVM最高可以達(dá)到93.07%,DBSCAN一直保持較高的檢測率,在隨著樣本維度增加時(shí),較低的維度異常比例的異常數(shù)據(jù)無法被檢出,此時(shí),DBSCAN表現(xiàn)出的召回率卻很低,表示只檢測出了部分的異常數(shù)據(jù)。QSSVM一直處于OCSVM的上方,大多數(shù)情況下,相比OCSVM,QSSVM檢測準(zhǔn)確率高約20%。 圖9 不同異常維度比率下的異常數(shù)據(jù)檢測率 圖10 不同異常維度比率下的異常數(shù)據(jù)誤檢率 3.3.3 誤檢率(FPR) 圖10呈現(xiàn)了四個(gè)算法在不同比率維度出現(xiàn)異常時(shí)的誤檢率。從圖中可以看出,隨著樣本維度異常比例的增加,四個(gè)算法的誤檢率均呈下降趨勢。實(shí)驗(yàn)結(jié)果表明,QSSVM在Forest數(shù)據(jù)(54維)和GAS數(shù)據(jù)(128維)時(shí)略高于K-Means和DBSCAN,但在隨著樣本維度增加時(shí),K-Means在HAR數(shù)據(jù)(561維)時(shí)表現(xiàn)出較高的誤檢率,DBSCAN在低緯度異常時(shí),也表現(xiàn)出高的誤檢率,此時(shí),DBSCAN表現(xiàn)出的召回率卻很低,表示只檢測出了部分的異常數(shù)據(jù)。在所有情況中QSSVM的誤檢率均遠(yuǎn)低于OCSVM,一般情況下,相比OCSVM,QSSVM誤檢率低20%~50%。 3.3.4 召回率(Recall) 圖11呈現(xiàn)了四個(gè)算法在不同比率維度出現(xiàn)異常時(shí)的召回率。隨著樣本維度異常比例的增加,四個(gè)算法的召回率均呈上升趨勢。一般情況下,QSSVM的召回率相比其他算法具有明顯優(yōu)勢,僅在HAR數(shù)據(jù)時(shí)QSSVM的召回率低于K-Means,此時(shí)K-Means表現(xiàn)出較低的檢測率和較高的誤檢率,而此時(shí)QSSVM依舊表現(xiàn)現(xiàn)高的檢測率和低的誤檢率。 圖11 不同異常維度比率下的異常數(shù)據(jù)召回率 綜上,在QSSVM窗口值為100時(shí),舍棄算法本身的時(shí)間復(fù)雜度的同時(shí),獲得了更好的檢測結(jié)果,尤其在處理高維數(shù)據(jù)時(shí),檢測結(jié)果明顯優(yōu)于其他算法。特別地,當(dāng)異常數(shù)據(jù)樣本僅有部分維度出現(xiàn)異常時(shí)(異常維度比率60%以下),QSSVM仍能表現(xiàn)出較高的檢測準(zhǔn)確度。 本文提出了一種基于深度信念網(wǎng)絡(luò)的傳感器數(shù)據(jù)異常檢測算法。該算法首先使用DBN對(duì)高維數(shù)據(jù)進(jìn)行降維處理,再利用QSSVM結(jié)合滑動(dòng)窗口模型實(shí)現(xiàn)了對(duì)降維后數(shù)據(jù)的在線實(shí)時(shí)檢測,實(shí)驗(yàn)結(jié)果表明,相比先前異常檢測算法,新算法在對(duì)高維數(shù)據(jù)進(jìn)行異常檢測時(shí),舍棄算法自身的時(shí)間復(fù)雜度的同時(shí),獲得了更好的檢測結(jié)果,尤其在處理高維數(shù)據(jù)時(shí),檢測結(jié)果明顯優(yōu)于其他算法。相比ocsvm可將檢測準(zhǔn)確度提高約20%,誤判率降低20%~50%,同時(shí)計(jì)算時(shí)間僅為原有算法的一半。因此,本文提出的新方法為傳感器數(shù)據(jù)的處理與應(yīng)用提供了重要的參考。 本文利用DBN實(shí)現(xiàn)了數(shù)據(jù)特征的提取從而達(dá)到對(duì)高維數(shù)據(jù)降維的目的,但針對(duì)不同數(shù)據(jù)集合特征,所提取特征個(gè)數(shù)應(yīng)有不同,而本文實(shí)驗(yàn)中對(duì)四組數(shù)據(jù)集合未做區(qū)分處理。在未來研究工作中,將繼續(xù)研究DBN所提取的特征對(duì)于異常檢測的影響,針對(duì)不同數(shù)據(jù)集合從理論上給出最適合的降維模型,從而使降維后的異常數(shù)據(jù)與正常數(shù)據(jù)存在更大的區(qū)分度。1.4 降維后傳感器數(shù)據(jù)特征
2 基于深度信念網(wǎng)絡(luò)的傳感器數(shù)據(jù)異常檢測算法
2.1 DBN與QSSVM混合模型
2.2 滑動(dòng)窗口模型實(shí)現(xiàn)在線檢測
2.3 基于深度信念網(wǎng)絡(luò)異常檢測算法
3 實(shí)驗(yàn)
3.1 數(shù)據(jù)集與實(shí)驗(yàn)設(shè)置
3.2 算法性能指標(biāo)
3.3 實(shí)驗(yàn)結(jié)果與評(píng)價(jià)
4 總結(jié)