本發(fā)明涉及機(jī)器學(xué)習(xí)以及計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域,特別是涉及處理現(xiàn)代網(wǎng)絡(luò)產(chǎn)生的大量流量數(shù)據(jù)、需要進(jìn)行實(shí)時(shí)在線檢測是否存在異常數(shù)據(jù)的應(yīng)用,具體為一種基于雙向的二維主成分分析進(jìn)行在線的網(wǎng)絡(luò)流量異常檢測的方法。
背景技術(shù):
:隨著計(jì)算機(jī)和英特網(wǎng)的高速發(fā)展,各大運(yùn)營商或者it公司需要采集正常的網(wǎng)絡(luò)流量數(shù)據(jù)進(jìn)行數(shù)據(jù)分析或者網(wǎng)絡(luò)狀況分析。但是網(wǎng)絡(luò)的數(shù)據(jù)流量不斷加大、網(wǎng)絡(luò)部署的不斷增加,以及日趨多樣化和復(fù)雜化的計(jì)算機(jī)環(huán)境,造成越來越多的異常的網(wǎng)絡(luò)流量數(shù)據(jù)出現(xiàn)。因此,對采集的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行預(yù)處理來剔除異常數(shù)據(jù)成十分必要。然而,由于網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)的增加以及網(wǎng)絡(luò)數(shù)據(jù)的增加,使得各種算法的計(jì)算代價(jià)和存儲空間代價(jià)同樣增長迅速。因此,對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行又快又準(zhǔn)的判斷與預(yù)處理成為一個(gè)迫切解決的問題。主成分分析方法(pca)是機(jī)器學(xué)習(xí)中對數(shù)據(jù)進(jìn)行降維處理的一種算法,它通過向主成分方向投影的方法,利用數(shù)據(jù)之間的相似性,大數(shù)據(jù)的冗余性等等特點(diǎn)。對原有數(shù)據(jù)進(jìn)行簡化,從而將復(fù)雜數(shù)據(jù)降維,揭示隱藏在復(fù)雜數(shù)據(jù)背后的簡單結(jié)構(gòu)。由于主成分分析(pca)算法充分利用了數(shù)據(jù)本身的空間相關(guān)性。因此通過它降維得到的數(shù)據(jù)往往都具有很高的特性表征作用,也正是因?yàn)樵摲椒ɡ弥鞒煞址较騺硗队埃沟靡坏┬录尤氲臄?shù)據(jù)一旦存在異常就會影響其主成分方向從而與歷史數(shù)據(jù)的主成分方向形成夾角。這就使得,通過主成分分析方法進(jìn)行在線異常檢測成為可能。然而,主成分分析方法(pca)自1933年提出以來,被廣泛應(yīng)用到圖像處理,信號處理,機(jī)器學(xué)習(xí)等各種學(xué)科當(dāng)中,通過,幾十年的發(fā)展,人們發(fā)現(xiàn)了主成分分析方法的各種不足。比如,傳統(tǒng)的主成分分析方法不管數(shù)據(jù)模型如何,都需要將數(shù)據(jù)轉(zhuǎn)化為向量類型數(shù)據(jù),才能進(jìn)行降維處理,這種做法無疑破壞了各個(gè)數(shù)據(jù)之間的本身存在的很多特性。另外,傳統(tǒng)的主成分分析方法僅僅分析了數(shù)據(jù)行空間的數(shù)據(jù)特征,而忽略了數(shù)據(jù)的列空間的特征,另外主成分分析方法(pca)將數(shù)據(jù)向量化,使得數(shù)據(jù)內(nèi)部性質(zhì)與特性遭到破壞,同時(shí)將數(shù)據(jù)向量化后會使得計(jì)算代價(jià)與內(nèi)存代價(jià)都增加。因此,主成分分析方法(pca)進(jìn)行在線異常檢測不僅準(zhǔn)確率不夠高,同時(shí),計(jì)算時(shí)間代價(jià)也無法滿足在線檢測的代價(jià)。針對現(xiàn)在網(wǎng)絡(luò)的部署狀況和采樣方法的情況,當(dāng)網(wǎng)絡(luò)中存在n個(gè)節(jié)點(diǎn)時(shí),我們將網(wǎng)絡(luò)流量數(shù)據(jù)模型建立為n×n×t的數(shù)據(jù)模型,如圖1.1所示,每個(gè)時(shí)刻采集的n個(gè)節(jié)點(diǎn)之間相互的流量數(shù)據(jù)構(gòu)成一個(gè)n×n的矩陣,前t個(gè)時(shí)刻的數(shù)據(jù)為歷史數(shù)據(jù)當(dāng)?shù)趖+1個(gè)時(shí)刻(新時(shí)刻)xt+1的數(shù)據(jù)到來的時(shí)候,本發(fā)明通過提出的雙向的二維主成分分析方法來進(jìn)行異常檢測。如果存在異常我們將該數(shù)據(jù)丟棄或者進(jìn)一步處理,當(dāng)不存在異常時(shí),我們將該數(shù)據(jù)存入歷史數(shù)據(jù)集中。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于提出一種能夠提高在線異常檢測的準(zhǔn)確率和減少計(jì)算時(shí)間的基于雙向的二維主成分分析進(jìn)行在線的網(wǎng)絡(luò)流量異常檢測的方法。為實(shí)現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案具體包括如下步驟:一種基于雙向的二維主成分分析進(jìn)行在線的網(wǎng)絡(luò)流量異常檢測的方法,其包括以下步驟:第一步:先利用bpca方法對前t個(gè)時(shí)刻的歷史數(shù)據(jù)進(jìn)行計(jì)算行、列空間的主成分方向ut、vt,令mt=[ut,vt],并將其存儲;第二步:在線采樣一個(gè)t+1時(shí)刻下的數(shù)據(jù)xt+1;第三步:通過bpca方法進(jìn)行計(jì)算t+1時(shí)刻到來后的行、列空間向量ut+1、vt+1,令mt+1=[ut+1,vt+1];第四步:計(jì)算第五步:判斷cosinevalue>score?如果為真,則判定t+1時(shí)刻采樣的數(shù)據(jù)為正常數(shù)據(jù),并將t+1數(shù)據(jù)存入數(shù)據(jù)庫作為歷史數(shù)據(jù)同時(shí)更新ut=ut+1,vt=vt+1;否則判定t+1時(shí)刻采樣數(shù)據(jù)存在異常數(shù)據(jù),并將其舍棄,其中score參數(shù)為網(wǎng)絡(luò)數(shù)據(jù)中心自定義的異常判別評分。作為本發(fā)明方法技術(shù)方案的進(jìn)一步改進(jìn),所述bpca方法為通過迭代進(jìn)行計(jì)算的bpca計(jì)算方法,其包括以下步驟:第一步:初始化u0=i其中i為單位向量,i=0;第二步:判斷是否收斂,或者i≥maxiter,其中maxiter為自行設(shè)置的算法最大迭代次數(shù);第三步:計(jì)算并通過cv的奇異值分解,求得vi,其中第四步:計(jì)算并通過cu的奇異值分解,求得ui;第五步:i=i+1;第六步:并返回至第二步;第七步:結(jié)束。作為本發(fā)明方法技術(shù)方案的進(jìn)一步改進(jìn),所述bpca方法為近似的bpca方法,其包括以下步驟:第一步:計(jì)算其中并通過ci的奇異值分解,求得vi;第二步,計(jì)算其中并通過cu的奇異值分解,求得ui;第三步:結(jié)束。作為本發(fā)明方法技術(shù)方案的進(jìn)一步改進(jìn),所述bpca方法為通過增量型(incremental)方法加速的bpca方法,其包括以下步驟:第一步:輸入新采樣數(shù)據(jù)矩陣xt+1,歷史采樣數(shù)據(jù)均值矩陣以及歷史數(shù)據(jù)在列空間與行空間上的特征向量以及奇異值矩陣第二步:計(jì)算第三步:計(jì)算qr分解:其中qu、ru,qv、rv為分別針對矩陣進(jìn)行qr分解得到的兩個(gè)矩陣;第四步:計(jì)算svd分解(singularvaluedecomposition):其中為分別針對矩陣進(jìn)行奇異值分解所得到的三個(gè)矩陣。第五步:更新雙向主成分方向:與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:本發(fā)明提出了一種基于雙向的二維主成分分析進(jìn)行在線的網(wǎng)絡(luò)流量異常檢測的方法,該方法包括通過迭代進(jìn)行計(jì)算的bpca計(jì)算方法、近似的bpca方法、通過增量型(incremental)方法加速的bpca方法等三種不同的bpca方法,通過主成分分析方法對異常數(shù)據(jù)與正常數(shù)據(jù)的敏感性來進(jìn)行異常檢測,其主要應(yīng)用于對實(shí)時(shí)的網(wǎng)絡(luò)流量數(shù)據(jù)進(jìn)行檢測,判斷采集到的實(shí)時(shí)數(shù)據(jù)是否存在異常數(shù)據(jù),從而,確定采集到的數(shù)據(jù)不存在異常,同時(shí)也使得網(wǎng)絡(luò)管理更加便捷。附圖說明圖1.1現(xiàn)有技術(shù)網(wǎng)絡(luò)流量在線采集模型說明圖;圖1.2主成分分析方法(pca)示意圖;圖1.3雙向主成分分析方法(bpca)示意圖;圖1.4雙向主成分分析方法(bpca)處理采樣數(shù)據(jù)的空間示意圖;圖1.5雙向主成分分析方法(bpca)處理正常采樣數(shù)據(jù)與異常采樣數(shù)據(jù)的空間的差別示意圖;圖2為本發(fā)明給定一個(gè)歷史網(wǎng)絡(luò)流量數(shù)據(jù)集χ={x1,…xt}具體模型圖;圖2.1為本發(fā)明七種不同算法針對abliene數(shù)據(jù)集在不同均值的高斯分布結(jié)構(gòu)化異常攻擊下的檢測的查準(zhǔn)率與誤判率的對比圖;圖2.2為本發(fā)明七種不同算法針對geant數(shù)據(jù)集在不同均值的結(jié)構(gòu)化異常攻擊下的檢測的查準(zhǔn)率與誤判率的對比圖;圖2.3為本發(fā)明七種不同算法針對abliene數(shù)據(jù)集在不同標(biāo)準(zhǔn)差的結(jié)構(gòu)化異常攻擊下的檢測的查準(zhǔn)率與誤判率的對比圖;圖2.4為本發(fā)明七種不同算法針對geant數(shù)據(jù)集在不同標(biāo)準(zhǔn)差的結(jié)構(gòu)化異常攻擊下的檢測的查準(zhǔn)率與誤判率的對比圖;圖2.5為本發(fā)明七種不同算法針對abliene數(shù)據(jù)集在不同均值的在隨機(jī)異常攻擊下的檢測的查準(zhǔn)率與誤判率的對比圖;圖2.6為本發(fā)明七種不同算法對geant數(shù)據(jù)集在不同均值的在隨機(jī)異常攻擊下的檢測的查準(zhǔn)率與誤判率的對比圖;圖2.7為本發(fā)明七種不同算法對abliene數(shù)據(jù)集在不同標(biāo)準(zhǔn)差的在隨機(jī)異常攻擊下的檢測的查準(zhǔn)率與誤判率的對比圖;圖2.8為本發(fā)明七種不同算法對geant數(shù)據(jù)集在不同標(biāo)準(zhǔn)差的在隨機(jī)異常攻擊下的檢測的查準(zhǔn)率與誤判率的對比圖;圖3.1為本發(fā)明不同加倍數(shù)r對兩種不同數(shù)據(jù)集的查準(zhǔn)率的影響的對比圖;圖3.2為本發(fā)明不同加倍數(shù)r對兩種不同數(shù)據(jù)集的誤判率的影響的對比圖。具體實(shí)施方式下面結(jié)合附圖對本發(fā)明做進(jìn)一步詳細(xì)說明。主成分分析方法(稱pca),該方法通過將高維數(shù)據(jù)投影到低維空間從而達(dá)到降維的作用。如圖1.2所示,通過主成分(列空間向量)u,將數(shù)據(jù)集{x1,x2,x3}從二維數(shù)據(jù)降到一維數(shù)據(jù),其中優(yōu)化目標(biāo)為:最小化圖中distance之和。針對傳統(tǒng)的主成分分析方法,本發(fā)明提出了更加優(yōu)化的二維雙向主成分分析方法(稱為:bpca),不同于pca方法中需要將數(shù)據(jù)向量化的特點(diǎn)以及僅僅使用列空間向量來進(jìn)行數(shù)據(jù)降維的特點(diǎn),本發(fā)明提出的方法不需要將數(shù)據(jù)向量化,從而很好的保證了數(shù)據(jù)內(nèi)部信息的完整性。另外bpca方法使用了包括行空間向量v在內(nèi)的兩種空間向量來進(jìn)行雙向降維。如圖1.3所示,本發(fā)明中的bpca算法可以將一個(gè)3×3的數(shù)據(jù)降維成2×1的數(shù)據(jù)。該方法具體優(yōu)化方式如圖1.4所示,其中一個(gè)圓圈代表一個(gè)圖1.3中所示的數(shù)據(jù)樣本。本發(fā)明將多個(gè)該維度的數(shù)據(jù)樣本進(jìn)行降維。通常表達(dá)為將m×n的數(shù)據(jù)降維成r×l的數(shù)據(jù)。正是因?yàn)樯鲜龅闹鞒煞址治龇椒ㄖ械慕稻S過程,由于優(yōu)化目標(biāo)為圖1.2中所示的distance,因此,當(dāng)數(shù)據(jù)樣本中存在異常的時(shí)候,發(fā)現(xiàn)行、列空間向量(u,v)發(fā)生一定量的偏移,而當(dāng)數(shù)據(jù)樣本不存在異常的時(shí)候,則基本沒有偏移或者僅僅少量的偏移,如圖1.5所示。本具體實(shí)施方式針對上文所闡述的主成分分析方法的性質(zhì),提出了一種基于雙向的二維主成分分析進(jìn)行在線的網(wǎng)絡(luò)流量異常檢測的方法,其包括如下步驟:第一步:先利用bpca算法對前t個(gè)時(shí)刻的歷史數(shù)據(jù)進(jìn)行計(jì)算行、列空間的主成分方向ut、vt,令mt=[ut,vt],并將其存儲;第二步:在線采樣一個(gè)t+1時(shí)刻下的數(shù)據(jù)xt+1;第三步:通過bpca算法進(jìn)行計(jì)算t+1時(shí)刻到來后的行、列空間向量ut+1、vt+1,令mt+1=[ut+1,vt+1];第四步:計(jì)算第五步:判斷cosinevalue>score?如果為真,則判定t+1時(shí)刻采樣的數(shù)據(jù)為正常數(shù)據(jù),并將t+1數(shù)據(jù)存入數(shù)據(jù)庫作為歷史數(shù)據(jù)同時(shí)更新ut=ut+1,vt=vt+1;否則判定t+1時(shí)刻采樣數(shù)據(jù)存在異常數(shù)據(jù),并將其舍棄,其中score參數(shù)為網(wǎng)絡(luò)數(shù)據(jù)中心自定義的異常判別評分。第一實(shí)施例:本發(fā)明第一實(shí)施例的所述bpca算法如下:給定一個(gè)數(shù)據(jù)集其中xi∈rn×n,i=1……t,將這些數(shù)據(jù)中心化處理其中如圖1.2中所示的distance在bpca中表示為:其中u、v分別為列、行空間向量,ut、vt,為u、v轉(zhuǎn)置??梢园l(fā)現(xiàn)證明如下:首先令則因?yàn)槭且粋€(gè)常數(shù),所以(1)式可以表示為求導(dǎo)后可得:當(dāng)且僅當(dāng):(3)式取得最小值,因此帶入到(2)式中。同樣的第一項(xiàng)為常數(shù),所以:為了最優(yōu)化目標(biāo)函數(shù)(6),當(dāng)給定一個(gè)uopt,uopt可以通過計(jì)算協(xié)方差矩陣的奇異值分解的前l(fā)個(gè)特征向量獲得,同樣的,給定vopt,vopt可以通過計(jì)算協(xié)方差矩陣的奇異值分解的前r個(gè)特征向量獲得,其中vopt和uopt為主成分方向v和u假定最優(yōu)化求解結(jié)果。通過上述推導(dǎo)過程,可以得出以下的具體實(shí)現(xiàn)步驟:第一步:初始化u0=i其中i為單位向量,i=0;第二步:判斷是否收斂,或者i≥maxiter,其中maxiter為自行設(shè)置的算法最大迭代次數(shù);第三步:計(jì)算并通過cv的奇異值分解,求得vi;第四步:計(jì)算并通過cu的奇異值分解,求得ui;第五步:i=i+1;第六步:并返回至第二步;第七步:結(jié)束。第二實(shí)施例:通過觀察上述方法的計(jì)算過程,發(fā)現(xiàn)這個(gè)過程需要反復(fù)迭代,因此計(jì)算代價(jià)較高。因此,在第二實(shí)施例中,本發(fā)明提出了該bpca方法的一種近似求解的算法,具體方法如下:通過觀察上述的方法步驟中第三步和第四步,可以知道當(dāng)進(jìn)行奇異值分解時(shí),取r和l足夠大時(shí),可以得以及因此本具體實(shí)施例提出了近似的bpca方法,其包括如下具體步驟:第一步:計(jì)算并通過cv的奇異值分解,求的vi;第二步:計(jì)算并通過cu的奇異值分解,求的ui;第三步:結(jié)束。第三實(shí)施例:通過大量實(shí)驗(yàn)證明,這種近似的bpca方法仍然不能夠滿足在線檢測的要求,因此,針對這種近似的bpca方法,本發(fā)明的第三實(shí)施例提出了一種增量型(incremental)的方法,通過這種方法,可以大大的減少計(jì)算代價(jià)。增量型(incremental)的方法包括如下步驟:第一步:輸入新采樣數(shù)據(jù)矩陣xt+1,歷史采樣數(shù)據(jù)均值矩陣以及歷史數(shù)據(jù)在列空間與行空間上的特征向量以及奇異值矩陣第二步:計(jì)算第三步:計(jì)算qr分解:其中qu、ru,qv、rv為分別針對矩陣進(jìn)行qr分解得到的兩個(gè)矩陣;第四步:計(jì)算svd分解(singularvaluedecomposition):其中為分別針對矩陣進(jìn)行奇異值分解所得到的三個(gè)矩陣;第五步:更新雙向主成分方向:本發(fā)明提出的三種實(shí)施例方法原理證明如下:給定一個(gè)歷史網(wǎng)絡(luò)流量數(shù)據(jù)集具體模型形式如圖2所示。第一步,通過中心化處理歷史數(shù)據(jù)集得到其中然后通過求數(shù)據(jù)集的協(xié)方差矩陣其中并通過奇異值分解算法(svd)求的行、列空間上的主成分方向:[ut,~,~]=svd{(cu)t}(3)[vt,~,~]=svd{(cv)t}(4)第二步,當(dāng)新的時(shí)刻(t+1時(shí)刻)的網(wǎng)絡(luò)流量數(shù)據(jù)xt+1到來時(shí),數(shù)據(jù)集變?yōu)椋盒枰@得ut+1和vt+1。同樣的,可以使用上述求ut和vt的方法求的,然而,這種更新方法,求協(xié)方差矩陣的計(jì)算代價(jià)隨數(shù)據(jù)集的增加而迅速增加,這就使得計(jì)算代價(jià)過大,而無法滿足在線實(shí)時(shí)檢測的要求,發(fā)現(xiàn):證明如下:通過觀察歷史數(shù)據(jù)的協(xié)方差矩陣為:其中:加入新數(shù)據(jù)后的協(xié)方差矩陣為:所以:其中:從(5)式中可以知道:是以下三部分之和:其中(6)式將帶入(7)式可以得到:而(8)式可以寫為:其中代入公式(10),所以有:另外所以:總結(jié):證明完畢。同樣的通過上述方法可以得到:以下進(jìn)行時(shí)間復(fù)雜度的分析:給定一個(gè)數(shù)據(jù)集當(dāng)該發(fā)明檢測節(jié)點(diǎn)個(gè)數(shù)為n時(shí),則x1∈n×n。而通過incremental加速的bpca方法計(jì)算一次qr分解的時(shí)間為:o(n3),奇異值分解計(jì)算時(shí)間為:o((n+rank)3),所以總時(shí)間為o(n3)+o((n+rank)3)。當(dāng)沒有使用加速的檢測方法時(shí),每次檢測時(shí)都重新計(jì)算協(xié)方差矩陣的時(shí)間為:o(n3t2),而計(jì)算該協(xié)方差矩陣的奇異值分解的時(shí)間為o(n3)。通過分析發(fā)現(xiàn),當(dāng)累積的歷史時(shí)間t越來越多的時(shí)候,新加入的數(shù)據(jù)對歷史數(shù)據(jù)的影響以及對bpca中ut和vt影響越來越小,因此,本發(fā)明提出了加倍的策略來保持新加入數(shù)據(jù)對歷史數(shù)據(jù)中的ut和vt的影響足夠大,加倍策略具體操作如下:給定歷史數(shù)據(jù)集歷史數(shù)據(jù)為t個(gè)時(shí)刻的矩陣面,當(dāng)采集到新時(shí)刻的數(shù)據(jù)xt+1,本發(fā)明將其翻λ倍得到然后將翻倍的數(shù)據(jù)集進(jìn)行檢測,其中λ=β*t,通過大量實(shí)驗(yàn)證明β一般取0.1。本發(fā)明通過對abilene和geant公開數(shù)據(jù)集(具體情況如表1.6所示)進(jìn)行檢測計(jì)算時(shí)間對比如表1.7所示,其中iterbpca為存在迭代過程的bpca方法,而abpca為近似的bpca方法,onlinebpca為通過incremental加速后的bpca方法。表1.6time(sec.)iterbpcaabpcaonlinebpcaabilene2.0e+4178.312.0e-4geant8.0e+4721.262.5e-3表1.7另外,為了測試本發(fā)明的有效性,測試了該發(fā)明針對abliene和geant兩個(gè)不同網(wǎng)絡(luò)流量數(shù)據(jù)集在不同種類的攻擊下的檢測效果,同時(shí)比較了傳統(tǒng)主成分分析方法,和二維主成分分析方法的檢測效果,具體分布如圖2.1-3.2所示。本領(lǐng)域技術(shù)人員將清楚本發(fā)明的范圍不限制于以上討論的示例,有可能對其進(jìn)行若干改變和修改,而不脫離所附權(quán)利要求書限定的本發(fā)明的范圍。盡管己經(jīng)在附圖和說明書中詳細(xì)圖示和描述了本發(fā)明,但這樣的說明和描述僅是說明或示意性的,而非限制性的。本發(fā)明并不限于所公開的實(shí)施例。當(dāng)前第1頁12