亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種增量并行式動態(tài)圖的結(jié)構(gòu)異常檢測方法與流程

文檔序號:12802557閱讀:237來源:國知局
一種增量并行式動態(tài)圖的結(jié)構(gòu)異常檢測方法與流程

本發(fā)明涉及計算機數(shù)據(jù)處理領(lǐng)域,具體涉及一種增量并行式動態(tài)圖的結(jié)構(gòu)異常檢測方法。



背景技術(shù):

圖的異常結(jié)構(gòu)檢測可以發(fā)現(xiàn)金融欺詐行為、網(wǎng)絡(luò)入侵和可疑的社交行為。

很多應(yīng)用領(lǐng)域中數(shù)據(jù)之間的復(fù)雜關(guān)系均可以通過圖直觀地表現(xiàn)出來,例如互聯(lián)網(wǎng)、社交網(wǎng)絡(luò)和生物領(lǐng)域。這些真實應(yīng)用中的圖數(shù)據(jù)通常是大規(guī)模的,并且隨著時間推進(jìn)數(shù)據(jù)量不斷增加。例如,在社交媒體(博客、微博和微信)和信息共享平臺(youtube和flicker)中,用戶之間持續(xù)的社交行為會產(chǎn)生大量的、持續(xù)的、相互交互的數(shù)據(jù),而這些交互可以自然地使用動態(tài)圖來表示——結(jié)點表示人、物體或其他實體,邊表示實體之間的聯(lián)系。

傳統(tǒng)的算法很難有效對上述大規(guī)模動態(tài)圖進(jìn)行有效地分析和挖掘。首先,由于圖的規(guī)模龐大,導(dǎo)致圖在計算上的時間過長;其次,我們往往不能獲取圖的全部數(shù)據(jù),而只能獲取數(shù)據(jù)的一部分。例如社交網(wǎng)絡(luò)圖,我們通常只能通過爬蟲抓取獲得部分?jǐn)?shù)據(jù)。另外,即使有的圖規(guī)模略小一些,但是計算某些圖的重要的度量值需要的處理時間非常長(例如生物細(xì)胞科學(xué)的實驗)。因此,需要采用并行處理的技術(shù)提高圖的處理能力。

目前大部分的研究聚焦在基于圖的數(shù)據(jù)關(guān)系結(jié)構(gòu)分析。目前圖挖掘方法針對特定的數(shù)據(jù)集處理一類特定的圖,或者把一種具體的圖算法應(yīng)用到不同的領(lǐng)域。但是,這些算法都不能很好地解決圖挖掘的擴(kuò)展性問題,尤其是大規(guī)模動態(tài)圖的異常檢測問題。例如facebook擁有8億用戶,用戶每分鐘發(fā)表50萬條評論,超過29萬條狀態(tài)更新。這樣的包含上億結(jié)點、每分鐘產(chǎn)生幾十萬邊的圖的分析和異常檢測問題都沒有得到很好的解決。異常行為通常模仿正常的行為模式,所以越接近于正常模式的異常,越難以分辨。因此我們把與正常模式相似的近似模式稱為異常模式。例如在金融領(lǐng)域檢測洗錢行為時,洗錢行為通過模仿正常的金融交易行為逃避檢測,行為模式越像正常的模式,它們越不容易被察覺,越容易蒙混過關(guān)。在基于圖的表示中,異常模式通常在正常模式上進(jìn)行修改,例如添加邊和結(jié)點、刪除邊和結(jié)點或修改結(jié)點屬性信息。目前基于圖的異常檢測稱為gbad(graphbasedanomalydetection),使用一種基于最小描述長度的壓縮方法來尋找正常模式,然后分析與正常模式相近的模式,并計算其異常值,最后判斷這些相近的模式是否為異常模式。雖然這個方法在很多領(lǐng)域被廣泛應(yīng)用,但是算法的可擴(kuò)展性問題,尤其是處理百萬級結(jié)點的圖的算法效率問題沒有得到很好地解決。大規(guī)模圖隨著時間不斷演化,這也加劇了分析的困難——正常模式隨著時間或者事件觸發(fā)也會發(fā)生變化。也有的算法把gbad并行化,但是它解決的是大規(guī)模增量圖(即圖的邊和結(jié)點隨時間不斷增加)的處理,沒有考慮到大規(guī)模動態(tài)圖(圖的邊和結(jié)點隨時間不僅增加而且現(xiàn)有的邊和結(jié)點不斷刪除)的分析處理。

作為早期的圖異常檢測的研究,cook和nobel在圖上把異常定義為結(jié)構(gòu)的異常。例如在基于正常模式的圖壓縮之后,余下的結(jié)構(gòu)被認(rèn)為是異常的。akoglu在最近的研究中也處理了大規(guī)模圖的異常檢測問題,但是他們的目標(biāo)是檢測異常的結(jié)點。以上的兩個研究都認(rèn)為圖是靜態(tài)的。

一種解決大規(guī)模圖的方法是把圖看做邊的數(shù)據(jù)流,每次處理圖的一個或者多個邊。以前的工作在異常檢測領(lǐng)域提出一些不同的方法來處理圖的邊數(shù)據(jù)流。其中一種被稱為“semi-streamingmodel”的方法,可以處理不能把所有邊存儲到內(nèi)存的大規(guī)模圖。例如,feigenbaum等人的工作提出了semi-streaming常量近似算法,來處理無權(quán)重和帶權(quán)重圖的匹配問題,同時也擴(kuò)展應(yīng)用到二分圖。通過考慮semi-streaming模型中經(jīng)典的圖問題,他們證明了近似方法解決這些問題的有效性。其它的研究則把此方法擴(kuò)展,來解決不同的圖問題,例如有向圖的最短路徑問題、使用中間的臨時流來解決特定問題等??傊@些方法分析可用的內(nèi)存和訪問整個圖所需訪問硬盤的次數(shù)之間的關(guān)系,并根據(jù)實際情況進(jìn)行取舍。

其他方法對大規(guī)模圖進(jìn)行聚類,使用從圖數(shù)據(jù)流中創(chuàng)建哈希壓縮微簇的技術(shù)。在處理大規(guī)模存儲在硬盤上的圖的問題時,將壓縮的微簇設(shè)計成基于散列的壓縮,把邊映射到更小的空間。還有一些研究嘗試挖掘動態(tài)圖的頻繁閉合子圖。一種方法稱為adagraphminer,它僅僅維護(hù)當(dāng)前的頻繁閉合子圖,使用具有理論保證的估算技術(shù)。實驗驗證了此方法在癌癥的化學(xué)分子結(jié)構(gòu)圖的邊數(shù)據(jù)流的有效性。另外,最近有些研究人員嘗試處理大規(guī)模網(wǎng)絡(luò)的稀疏問題,通過動態(tài)切分網(wǎng)絡(luò)處理大規(guī)模數(shù)據(jù)集。有的方法使用reservoirsampling技術(shù)壓縮數(shù)據(jù)流,得到圖的結(jié)構(gòu)概要。這類異常檢測識別不尋常的橋接邊,或連接兩個極少同時出現(xiàn)的子圖的邊。

有些方法檢測圖數(shù)據(jù)流中的異常,他們的目標(biāo)是通過分析邊數(shù)的統(tǒng)計信息識別異常的子圖簇,而不是發(fā)現(xiàn)圖或圖數(shù)據(jù)流中結(jié)構(gòu)的異常。另外,一些方法嘗試使用基于整個圖的方法來發(fā)現(xiàn)異常子圖,這類方法沒有解決可擴(kuò)展性問題。

另外,大多數(shù)異常檢測方法使用監(jiān)督的學(xué)習(xí)方法,需要數(shù)據(jù)提前打好標(biāo)簽、做好分類,然后再訓(xùn)練模型,進(jìn)行預(yù)測。而實際情況是大多數(shù)時候不能提前知道異常或者正常的相關(guān)信息,從而需要一種無監(jiān)督的方法來檢測那些看起來像正常、合法的模式但實際上結(jié)構(gòu)不同的異常模式。



技術(shù)實現(xiàn)要素:

為解決現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種增量并行式動態(tài)圖的結(jié)構(gòu)異常檢測方法(簡稱dpads算法),包括如下步驟:

初始化階段:

s1:將所有待處理的圖數(shù)據(jù)劃分為n*x個子圖;

s2:并行處理第一個子圖集中的n個子圖,也即第1-第n個子圖,每個子圖發(fā)現(xiàn)若干個正常模式;

s3:根據(jù)發(fā)現(xiàn)的若干個正常模式判定基準(zhǔn)模式;

s4:根據(jù)基準(zhǔn)模式發(fā)現(xiàn)前n個子圖中每個子圖的可能異常子結(jié)構(gòu);

s5:從各可能異常子結(jié)構(gòu)中找出最可能的異常子結(jié)構(gòu),作為最后確定的異常子結(jié)構(gòu);

迭代處理階段:

s6:將剛剛處理完的子圖集直接增加一個子圖;或舍棄第一個子圖,并按順序向后增加一個子圖,形成一個新的子圖集;

s7:判斷是否需要重新生成正常模式,如果需要,則根據(jù)與初始化階段(步驟s2-s5)相同的方法判定新的子圖集中的異常子結(jié)構(gòu);如果不需要,則根據(jù)步驟s8-s10的方法判定新的子圖集中的異常子結(jié)構(gòu);

s8:從步驟s6中新增加的子圖中分別找出若干個正常模式,并與此輪子圖集中其它子圖的正常模式整合出此輪子圖集的基準(zhǔn)模式;

s9:若步驟s8中的基準(zhǔn)模式與步驟s6中剛剛處理完的子圖集的基準(zhǔn)模式相同,則根據(jù)相同的基準(zhǔn)模式找到新增加的一個或兩個子圖中的可能異常子結(jié)構(gòu),并結(jié)合此輪子圖集中其它子圖的可能異常子結(jié)構(gòu)找到此輪子圖集中的異常子結(jié)構(gòu);

s10:若步驟s8中的基準(zhǔn)模式與步驟s6中剛剛處理完的子圖集的基準(zhǔn)模式不同,則根據(jù)步驟s8中基準(zhǔn)模式找到此輪子圖集中所有子圖的可能異常子結(jié)構(gòu),并從所有子圖的可能異常子結(jié)構(gòu)中找到異常子結(jié)構(gòu);

s11:重復(fù)步驟s6-s10,直到處理完最后一個子圖。

其中,所述步驟s2及步驟s8中,正常模式的判定方法為最小描述長度方法,以最小化以下目標(biāo)函數(shù)找到正常模式:

minm(s,g)=min{dl(g|s)+dl(s)}

其中,g表示所處理的子圖,s為正常模式,dl(g|s)為使用正常模式s壓縮后的子圖g的描述長度,dl(s)為正常模式s的描述長度。

其中,所述步驟s4及步驟s9-步驟s10中,所述可能異常子結(jié)構(gòu)的判定方法為:

0<d(sa,e)<td,且0≤p(sa|e,g)≤tp≤1

其中,d(sa,e)為可能異常子結(jié)構(gòu)sa與基準(zhǔn)模式e的差異值,td為人為設(shè)定的可能異常子結(jié)構(gòu)sa與基準(zhǔn)模式e的最大差異,p(sa|e,g)表示子圖g在基準(zhǔn)模式e的壓縮下,可能異常子結(jié)構(gòu)sa為異常子結(jié)構(gòu)的概率,其值由貝葉斯公式計算而得,tp為人為設(shè)定的可能異常子結(jié)構(gòu)sa為異常子結(jié)構(gòu)最大概率。

其中,所述步驟s5及步驟s9-步驟s10中,所述異常子結(jié)構(gòu)的判定方法為:通過下述公式,找到取值最低的若干個可能異常子結(jié)構(gòu),作為異常子結(jié)構(gòu):

score=d(sa,e)*p(sa|e,g)。

其中,所述步驟s6中,若剛剛處理完的子圖集中的子圖個數(shù)等于閾值,則將剛剛處理完的子圖集舍棄第一個子圖,并按順序向后增加一個子圖,形成一個新的子圖集;若剛剛處理完的子圖集中的子圖個數(shù)小于閾值,則將剛剛處理完的子圖按順序向后增加一個子圖,形成一個新的子圖集。

其中,所述步驟s7中,需要重新生成正常模式的判斷標(biāo)準(zhǔn)為:步驟s6中,新的子圖集中出現(xiàn)了移除邊的情況,且d(sdel,e)≥β/(1+ε)2

其中,β和ε均為人為設(shè)定的參數(shù),sdel為包括移除邊數(shù)據(jù)節(jié)點的正常模式。

本發(fā)明提供的增量并行式動態(tài)圖的結(jié)構(gòu)異常檢測方法,具有可擴(kuò)展性,能處理動態(tài)圖數(shù)據(jù)流,運行時間比基于靜態(tài)圖的異常檢測方法降低了一個數(shù)量級。在真實網(wǎng)絡(luò)安全威脅場景和真實的數(shù)據(jù)集中,通過使用滑動窗口(時間或者邊的數(shù)量)對大規(guī)模圖和圖流數(shù)據(jù)進(jìn)行劃分,并行處理所劃分的子圖。

附圖說明

圖1:本發(fā)明的第一實施例的增量并行式動態(tài)圖的結(jié)構(gòu)異常檢測方法檢測流程圖;

圖2:本發(fā)明的第二實施例的增量并行式動態(tài)圖的結(jié)構(gòu)異常檢測方法檢測流程圖;

圖3:本發(fā)明提供的檢測方法的總體運行時間示意圖;

圖4:本發(fā)明的某一檢驗結(jié)果中子圖運行時間及異常子結(jié)構(gòu)標(biāo)注示意圖;

圖5:本發(fā)明提供的檢測方法的準(zhǔn)確率和召回率示意圖。

具體實施方式

為了對本發(fā)明的技術(shù)方案及有益效果有更進(jìn)一步的了解,下面配合附圖詳細(xì)說明本發(fā)明的技術(shù)方案及其產(chǎn)生的有益效果。

本發(fā)明提供的增量并行式動態(tài)圖的結(jié)構(gòu)異常檢測方法,將靜態(tài)圖的異常檢測方法擴(kuò)展到大規(guī)模動態(tài)圖的異常檢測中。本發(fā)明中,定義了三種基本類型圖的異常:添加、修改和刪除異常。添加異常是正常模式增加了結(jié)點或邊。修改異常包含了一個結(jié)點或邊的不同標(biāo)簽。刪除異常的子結(jié)構(gòu)比正常子結(jié)構(gòu)缺少了邊或結(jié)點。

增量并行式動態(tài)圖的結(jié)構(gòu)異常檢測方法檢測圖的異常是基于這樣的思想:異常的子結(jié)構(gòu)(或子圖)是正常模式的結(jié)構(gòu)變種(正常模式邊和節(jié)點的增加或者缺失)。我們假設(shè)d(g1,g2)表示兩個圖g1和g2之間的結(jié)構(gòu)差異度量,通過計算把圖g1轉(zhuǎn)化為g2的同構(gòu)圖的計算量(添加、刪除點與改變一個結(jié)點、邊的標(biāo)簽的變化數(shù)量),衡量g1和g2之間的差異。

為了方便理解本發(fā)明的技術(shù)方案,現(xiàn)將本發(fā)明所用到的定義解釋如下:

一、最小描述長度原理

在圖g中,正常模式s可由最小描述長度原理(minimumdescriptionlength,mdl)來判定,并最小化以下目標(biāo)函數(shù):

minm(s,g)=min{dl(g|s)+dl(s)}

其中,g表示所處理的子圖,s為正常模式,dl(g|s)為使用正常模式s壓縮后的子圖g的描述長度,dl(s)為正常模式s的描述長度。

最小描述長度的原則即要求模型的總描述長度最小,正常模式s檢測的mdl原則具有兩個重要的性質(zhì):

1、當(dāng)有兩個模式都能很好地匹配圖g時,mdl原則選擇“最簡單”的模式,即它選擇壓縮率更高的描述,這也反映了奧卡姆剃刀對簡單理論的優(yōu)先選擇。

2、mdl原則是一致的,隨著數(shù)據(jù)量的不斷增加,它收斂于真正的正常模式。

二、兩個圖g1和g2之間的結(jié)構(gòu)差異度量d(g1,g2)

d(g1,g2)表示把圖g1轉(zhuǎn)化為g2的同構(gòu)圖的計算量(添加、刪除點與改變一個結(jié)點、邊的標(biāo)簽的變化數(shù)量。如果兩個圖同構(gòu),則d(g1,g2)=o。

本發(fā)明提供的增量并行式動態(tài)圖的異常檢測方法,包括初始化階段和迭代處理階段,具體步驟如下:

初始化階段:

s1:將所有待處理的圖數(shù)據(jù)劃分為n*x個子圖;

s2:并行處理第一個子圖集中的n個子圖,也即第1-第n個子圖,每個子圖發(fā)現(xiàn)若干個正常模式;正常模式的判定方法為最小描述長度方法,其判斷原則已介紹如上,本發(fā)明中,可以人為設(shè)定各個子圖的正常模式的數(shù)量,如若設(shè)為一個,則找出描述長度最小的值對應(yīng)的正常模式;如若設(shè)為兩個,則找出描述長度最小及次小的值對應(yīng)的正常模式,依次類推;

s3:由于各子圖對應(yīng)的正常模式可能存在同構(gòu),因此需要將發(fā)現(xiàn)的若干個正常模式整合,以判定基準(zhǔn)模式;

s4:根據(jù)基準(zhǔn)模式發(fā)現(xiàn)前n個子圖中每個子圖的可能異常子結(jié)構(gòu);

s5:從各可能異常子結(jié)構(gòu)中找出最可能的異常子結(jié)構(gòu),作為最后確定的異常子結(jié)構(gòu);因此,本發(fā)明中,找到一些基準(zhǔn)模式和與其相似的可能異常子結(jié)構(gòu)后,可迭代找到其它的可能異常子結(jié)構(gòu);首先,使用基準(zhǔn)模式對子圖進(jìn)行壓縮,例如把基準(zhǔn)模式替換成一個帶有標(biāo)簽的結(jié)點,然后,在壓縮之后的圖上尋找基準(zhǔn)模式和相關(guān)的可能異常子結(jié)構(gòu),這個過程可以進(jìn)行多次迭代以找到更多的基準(zhǔn)模式和可能異常子結(jié)構(gòu),直到遍歷整個圖;當(dāng)將整個數(shù)據(jù)圖進(jìn)一步壓縮時還能夠進(jìn)行不同級別的異常檢測;

迭代處理階段:

s6:本發(fā)明設(shè)定一個閾值,此閾值表示的每次可處理的最大子圖數(shù)量或子圖時間戳,若剛剛處理完的子圖集中的子圖個數(shù)等于閾值,則將剛剛處理完的子圖集舍棄第一個子圖,并按順序向后增加一個子圖,形成一個新的子圖集,相當(dāng)于將子圖集的窗口向后滑動一個單位;若剛剛處理完的子圖集中的子圖個數(shù)小于閾值,則將剛剛處理完的子圖集按順序向后增加一個子圖,形成一個新的子圖集;相當(dāng)于將子圖集的窗口增加一個子圖單位;

s7:由于現(xiàn)有的數(shù)據(jù)處理方法著重處理靜態(tài)圖或者增量式處理大規(guī)模靜態(tài)圖和數(shù)據(jù)流圖(即邊和結(jié)點不斷增加的情況),沒有考慮到邊和結(jié)點隨時間變動不僅會存在增加且會同時存在消除的情況,本發(fā)明中,考慮到動態(tài)圖在數(shù)據(jù)處理的過程中會存在刪除邊或結(jié)點的情況,因此,在每次處理新的子圖集時,需要判斷是否需要重新生成正常模式,如果需要,則根據(jù)與步驟s2-s5相同的方法判定新的子圖集中的異常子結(jié)構(gòu);如果不需要,則根據(jù)步驟s8-s10的方法判定新的子圖集中的異常子結(jié)構(gòu);

本發(fā)明中,需要重新生成正常模式的判斷標(biāo)準(zhǔn)為:步驟s6中,新的子圖集中出現(xiàn)了移除邊的情況,且d(sdel,e)≥β/(1+ε)2

其中,β和ε均為人為設(shè)定的參數(shù),sdel為包括移除邊數(shù)據(jù)節(jié)點的正常模式;

s8:從步驟s6中新增加的子圖中分別找出若干個正常模式,并與此輪子圖集中其它子圖的正常模式整合出此輪子圖集的基準(zhǔn)模式;

s9:若步驟s8中的基準(zhǔn)模式與步驟s6中剛剛處理完的子圖集的基準(zhǔn)模式相同,則根據(jù)相同的基準(zhǔn)模式找到新增加的一個或兩個子圖中的可能異常子結(jié)構(gòu),并結(jié)合此輪子圖集中其它子圖的可能異常子結(jié)構(gòu)找到此輪子圖集中的異常子結(jié)構(gòu);

s10:若步驟s8中的基準(zhǔn)模式與步驟s6中剛剛處理完的子圖集的基準(zhǔn)模式不同,則根據(jù)步驟s8中基準(zhǔn)模式找到此輪子圖集中所有子圖的可能異常子結(jié)構(gòu),并從所有子圖的可能異常子結(jié)構(gòu)中找到異常子結(jié)構(gòu);

s11:重復(fù)步驟s6-s10,直到處理完最后一個子圖。

本發(fā)明中,所述步驟s4及步驟s9-步驟s10中,所述可能異常子結(jié)構(gòu)的判定方法為:

0<d(sa,e)<td,且0≤p(sa|e,g)≤tp≤1

其中,d(sa,e)為可能異常子結(jié)構(gòu)sa與基準(zhǔn)模式e的差異值,td為人為設(shè)定的可能異常子結(jié)構(gòu)sa與基準(zhǔn)模式e的最大差異,p(sa|e,g)表示子圖g在基準(zhǔn)模式e的壓縮下可能異常子結(jié)構(gòu)sa為異常子結(jié)構(gòu)的概率,其值由貝葉斯公式計算而得,tp為人為設(shè)定的可能異常子結(jié)構(gòu)sa為異常子結(jié)構(gòu)最大概率。也即,若子圖中的某個模式同時滿足0<d(sa,e)<td,且0≤p(sa|e,g)≤tp≤1,則可判定該模式為可能異常子結(jié)構(gòu)sa。

由于異常子結(jié)構(gòu)通常在一定范圍內(nèi)非常接近基準(zhǔn)模式,但與基準(zhǔn)模式不同,而且分值很小,所以所述步驟s5及步驟s9-步驟s10中,所述異常子結(jié)構(gòu)的判定方法為:通過下述公式,找到取值最低的若干個可能異常子結(jié)構(gòu),作為異常子結(jié)構(gòu):

score=d(sa,e)*p(sa|e,g)

也即,score值整合了可能異常子結(jié)構(gòu)sa與基準(zhǔn)模式e的差異值以及可能異常子結(jié)構(gòu)sa為異常子結(jié)構(gòu)的概率,可能異常子結(jié)構(gòu)與正常模式的差距越小,其結(jié)構(gòu)越接近,越不容易被檢測出來,為異常子結(jié)構(gòu)的可能性越大,因此,score越低表明sa為異常子結(jié)構(gòu)的可能性越大。本發(fā)明中,可人為設(shè)定異常子結(jié)構(gòu)的數(shù)量,如若設(shè)為一個,則找出最小的score值對應(yīng)的可能異常子結(jié)構(gòu)sa,即為最后確認(rèn)的異常子結(jié)構(gòu);如若設(shè)為兩個,則找出最小的和次小的score值對應(yīng)的可能異常子結(jié)構(gòu)sa,即為最后確認(rèn)的異常子結(jié)構(gòu),依次類推。

為更形象具體地了解本發(fā)明的技術(shù)方案,下結(jié)合附圖詳細(xì)說明本發(fā)明的具體實施方式,其中,正常模式、可能異常子結(jié)構(gòu)以及異常子結(jié)構(gòu)的尋找方法已詳述如上,故在具體實施例部分不加以累述。

圖1為本發(fā)明的第一實施例的增量并行式動態(tài)圖的結(jié)構(gòu)異常檢測方法檢測流程圖,如圖1所示,本實施例中,設(shè)定閾值為5,具體處理方法為:

s1:將所有待處理的圖數(shù)據(jù)劃分為2000個子圖。

s2:并行處理第1-第5個子圖,分別發(fā)現(xiàn)若干個正常模式,各子圖的正常模式標(biāo)記為s1、s2、s3、s4、s5,本實施例中,s1、s2、s3、s4、s5僅用來分別表示第1、2、3、4、5個子圖的正常模式,然而,在實際操作過程中,每個子圖的正常模式可能不止一個,且各個正常模式也未必相同,但為了方便說明,第1個子圖中的正常模式均以s1表示,同樣的,第2-5個子圖分別以s2、s3、s4、s5表示,下文出現(xiàn)的各個子圖的正常模式均表示同樣的含義,本發(fā)明不加以累述。

s3:根據(jù)正常模式s1、s2、s3、s4、s5判定前5個子圖的基準(zhǔn)模式e。

s4:根據(jù)基準(zhǔn)模式e發(fā)現(xiàn)前5個子圖中的可能異常子結(jié)構(gòu)sa1、sa2、sa3、sa4、sa5。同于正常模式的表達(dá)方式,本實施例中,每個子圖中發(fā)現(xiàn)的可能異常子結(jié)構(gòu)可能不止一個,且每個都不相同,但為了方便說明,第1個子圖中的可能異常子結(jié)構(gòu)均以sa1表示,同樣的,第2-5個子圖中的可能異常子結(jié)構(gòu)分別以sa2、sa3、sa4、sa5表示,下文出現(xiàn)的各個子圖的可能異常子結(jié)構(gòu)均表示同樣的含義,本發(fā)明不加以累述。

s5:從可能異常子結(jié)構(gòu)sa1、sa2、sa3、sa4、sa5中找出最可能的異常子結(jié)構(gòu),作為最后確定的異常子結(jié)構(gòu)。

s6:由于閾值為5,第一個子圖集已達(dá)到閾值,故處理第二個子圖集時,僅將子圖集向后移動一個子圖單位,處理新的子圖集:第2-第6個子圖。

s7:經(jīng)判斷,第2-第6個子圖中不存在刪除邊或結(jié)點的情況,因此,不需要對每個子圖都生成正常模式,僅需要找出新增加的子圖,也即第6個子圖的正常模式s6,同樣的,s6可以表示第6個子圖中多個不同的正常模式。

s8:根據(jù)此輪子圖集中的正常模式s2、s3、s4、s5、s6整合出基準(zhǔn)模式e’。

s9:e’與e結(jié)構(gòu)相同,根據(jù)e/e’找出第6個子圖中的可能異常子結(jié)構(gòu)sa6,并結(jié)合sa2、sa3、sa4、sa5找出異常子結(jié)構(gòu)。

s10:繼續(xù)將子圖集向后移動一個子圖單位,處理第3-第7個子圖,經(jīng)判斷,第3-第7個子圖中出現(xiàn)了刪除邊或結(jié)點的情況,且滿足d(sdel,e)≥β/(1+ε)2,故需要針對第3-第7個子圖重新生成正常模式,此時的正常模式分別為s3’、s4’、s5’、s6’、s7。

s11:根據(jù)正常模式s3’、s4’、s5’、s6’、s7判斷基準(zhǔn)模式e1。

s12:根據(jù)基準(zhǔn)模式e1發(fā)現(xiàn)第3-第7個子圖中的可能異常子結(jié)構(gòu)sa3’、sa4’、sa5’、sa6’、sa7。

s13:從可能異常子結(jié)構(gòu)sa3’、sa4’、sa5’、sa6’、sa7中找出最可能的異常子結(jié)構(gòu),作為最后確定的異常子結(jié)構(gòu)。

s14:將子圖集繼續(xù)后移一個單位,處理第4-第8個子圖,按照上述方法,先判斷是否需要重新生成正常模式,然后按照判斷結(jié)果重復(fù)步驟s2-s5/s10-s13,或者重復(fù)步驟s7-s9,依次類推,直至處理完第1996-第2000個子圖,找出整個圖數(shù)據(jù)庫的異常子結(jié)構(gòu)。

圖2為本發(fā)明的第二實施例的增量并行式動態(tài)圖的結(jié)構(gòu)異常檢測方法檢測流程圖,如圖2所示,本實施例中,設(shè)定閾值為6,具體處理方法為:

s1:將所有待處理的圖數(shù)據(jù)劃分為2000個子圖。

s2:并行處理第1-第5個子圖,分別發(fā)現(xiàn)若干個正常模式,各子圖的正常模式標(biāo)記為s1、s2、s3、s4、s5。

s3:根據(jù)正常模式s1、s2、s3、s4、s5判定前5個子圖的基準(zhǔn)模式e。

s4:根據(jù)基準(zhǔn)模式e發(fā)現(xiàn)前5個子圖中的可能異常子結(jié)構(gòu)sa1、sa2、sa3、sa4、sa5。

s5:從可能異常子結(jié)構(gòu)sa1、sa2、sa3、sa4、sa5中找出最可能的異常子結(jié)構(gòu),作為最后確定的異常子結(jié)構(gòu)。

s6:由于閾值為6,第一個子圖集沒有達(dá)到閾值,故處理第二個子圖集時,將子圖集按順序向后增加一個子圖,處理新的子圖集:第1-第6個子圖。

s7:經(jīng)判斷,第1-第6個子圖中不存在刪除邊或結(jié)點的情況,因此,不需要對每個子圖都生成正常模式,僅需要找出新增加的子圖,也即第6個子圖的正常模式s6。

s8:根據(jù)此輪子圖集中的正常模式s1、s2、s3、s4、s5、s6整合出基準(zhǔn)模式e’。

s9:e’與e結(jié)構(gòu)不同,則需要根據(jù)e’找出此輪子圖集中所有子圖的可能異常子結(jié)構(gòu)sa1’,sa2’、sa3’、sa4’、sa5’、sa6,并結(jié)合sa1’,sa2’、sa3’、sa4’、sa5’、sa6找出異常子結(jié)構(gòu)。

s10:由于第二個子圖集已經(jīng)達(dá)到閾值,故處理第三個子圖集時,僅將子圖集向后移動一個子圖單位,處理新的子圖集:第2-第7個子圖。

s11:判斷是否需要重新生成正常模式,然后按照判斷結(jié)果重復(fù)步驟s2-s5,或者重復(fù)步驟s7-s9,依次類推,直至處理完第1995-第2000個子圖,找出整個圖數(shù)據(jù)庫的異常結(jié)構(gòu)。

為驗證本發(fā)明的有益效果,發(fā)明人在真實的數(shù)據(jù)集上驗證了本發(fā)明提供的算法的計算效率、準(zhǔn)確率以及召回率,具體的,發(fā)明人從斯坦福大學(xué)snap項目中選取了三個數(shù)據(jù)集:無向圖、有向圖以及帶標(biāo)簽的圖進(jìn)行算法驗證,數(shù)據(jù)的詳細(xì)信息如表1所示。

表1:數(shù)據(jù)詳細(xì)信息

圖3為本發(fā)明提供的檢測方法的總體運行時間示意圖(縱坐標(biāo)表示運行時間的對數(shù)),如圖所示,本發(fā)明將總體運行時間分為正常模式檢測時間和異常子結(jié)構(gòu)檢測時間,從圖中可以看出,正常模式檢測需要花費大部分的時間,隨著數(shù)據(jù)的邊的數(shù)量的增加,運行的總體時間隨著圖的規(guī)模變大而呈現(xiàn)緩慢增長。

為了進(jìn)一步驗證本發(fā)明提出的增量式異常檢測方法在圖流數(shù)據(jù)上的有效性,我們把dpads算法應(yīng)用到合成數(shù)據(jù)集上。在此實驗中,我們把原始圖劃分成100個小圖,每個圖包含大約20000條邊。在初始化階段,我們隨機選取20(每個子圖集包含的子圖個數(shù))個小圖。選取20個小圖的目的是為了得到初始化的正常模式和異常子結(jié)構(gòu),所以任意選取20個小圖。然后并行處理他們,花費了40秒鐘,每個小圖得到3個正常的模式。在處理過程中即使小圖采用順序方式處理,總共花費486秒完成20個小圖的正常模式檢測。然后,對60個正常模式進(jìn)行分析和整合,確定基準(zhǔn)模式e。最后,根據(jù)基準(zhǔn)模式e檢測異常子結(jié)構(gòu)sa,這一步驟花費156秒完成。在迭代階段,我們也使用閾值20作為處理的窗口(把20個小圖都放到內(nèi)存中)。然后依照算法進(jìn)行多次迭代。

實驗結(jié)果表明,本發(fā)明的方法可以應(yīng)用到大規(guī)模動態(tài)圖中。本發(fā)明提出的方法在圖流數(shù)據(jù)上檢測到的異常子結(jié)構(gòu)與在整個圖上檢測到的異常子結(jié)構(gòu)是一致的,而在流數(shù)據(jù)上運行完成時間是3017秒(然而,使用現(xiàn)有的方法在整個圖上檢驗時,花費為76356秒)。每個小圖的運行時間如圖4所示,加深的黑菱形為發(fā)現(xiàn)異常子結(jié)構(gòu)的子圖。

另外,數(shù)據(jù)結(jié)構(gòu)的異常檢測方法的重要指標(biāo)是準(zhǔn)確率和召回率,表2所示為計算準(zhǔn)確率和召回率需要基本指標(biāo),其中,準(zhǔn)確率=a/(a+b),召回率r=a/(a+c),圖5為本發(fā)明提供的檢測方法的準(zhǔn)確率和召回率示意圖,從圖5可以看出:本發(fā)明提供的檢測方法,在異常檢測中,準(zhǔn)確率p均值達(dá)到96%,即檢測到異常子結(jié)構(gòu)中,有96%都是事實上的異常子結(jié)構(gòu);由于本發(fā)明提供的算法針對動態(tài)圖,首先對圖進(jìn)行劃分,而且劃分時按照時間或獲取邊的順序,并沒有考慮到圖的連接性和子圖的相關(guān)性,加上動態(tài)圖隨時間不斷變化,正常模式也隨之不斷變化,召回率不可能達(dá)到100%,但本發(fā)明提供的檢測方法,依然能夠?qū)崿F(xiàn)高達(dá)85%的召回率r均值,即85%的異常子結(jié)構(gòu)都能檢測到。

雖然本發(fā)明已利用上述較佳實施例進(jìn)行說明,然其并非用以限定本發(fā)明的保護(hù)范圍,任何本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍之內(nèi),相對上述實施例進(jìn)行各種變動與修改仍屬本發(fā)明所保護(hù)的范圍,因此本發(fā)明的保護(hù)范圍以權(quán)利要求書所界定的為準(zhǔn)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1