《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 一種基于云計(jì)算的大圖高頻模式挖掘算法
一種基于云計(jì)算的大圖高頻模式挖掘算法
張曉蕾,,馬曉麗
(石家莊信息工程職業(yè)學(xué)院 微軟IT學(xué)院,,河北 石家莊050000)
摘要: 現(xiàn)有的圖挖掘算法在云環(huán)境下難以有效地進(jìn)行大規(guī)模圖形的高頻模式挖掘,。為此,對SpiderMine算法做了改進(jìn),,提出一種基于云的SpiderMine算法(c-SpiderMine),。該算法首先利用最小切割算法將大規(guī)模圖形數(shù)據(jù)分為多個(gè)子圖,使分區(qū)/融合成本最小,,然后利用SpiderMine進(jìn)行模式挖掘,,顯著降低了大型模式生成時(shí)的組合復(fù)雜度。最后采用一種模式鍵函數(shù)來保存模式,,以保證所有模式可被成功恢復(fù)和融合,。基于3種真實(shí)數(shù)據(jù)集的仿真實(shí)驗(yàn)結(jié)果表明,,c-SpiderMine可高效挖掘云環(huán)境下的前K個(gè)大型模式,,在不同數(shù)據(jù)規(guī)模和最小支持設(shè)置條件下,c-SpiderMine在內(nèi)存使用和運(yùn)行時(shí)間方面的性能均優(yōu)于SpiderMine,。
中圖分類號(hào): TP393
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2015.09.026

中文引用格式: 張曉蕾,,馬曉麗. 一種基于云計(jì)算的大圖高頻模式挖掘算法[J].電子技術(shù)應(yīng)用,2015,,41(9):95-98.
英文引用格式: Zhang Xiaolei,,Ma Xiaoli. A high frequency patterns mining algorithm of big graph based on cloud computing[J].Application of Electronic Technique,2015,,41(9):95-98.
A high frequency patterns mining algorithm of big graph based on cloud computing
Zhang Xiaolei,,Ma Xiaoli
Microsoft IT Department,Shijiazhuang Information Engineering Vocational College,,Shijiazhuang 050000,,China
Abstract: The existing graph mining algorithms in a cloud environment is difficult to carry out mining the high frequent patterns of a massive graph .To solve this problem, this paper has made the improvement to the SpiderMine algorithm, an improved SpiderMine algorithm is proposed based on the cloud(c-SpiderMine). Firstly, one big graph data into several sub graphs by minimum cut algorithm to minimize partition/merge costs. And then exploits SpiderMine to mine the patterns, which generating large patterns with much lower combinational complexity. Finally, a pattern key (PK) function is proposed to preserve the patterns, which guarantees that all patterns can be successfully recovered and merged. We conduct the experiments with three real data sets, and the experimental results demonstrate that c-SpiderMine can efficiently mine top-k large patterns in the cloud, and performs well in memory usage and execution time with different data sizes and minimum supports than the SpiderMine.
Key words : graph mining;cloud computing,;frequent patterns,;minimum cut algorithm,;pattern key function,;execution time

 

0 引言

  圖挖掘問題[1-3]在移動(dòng)互聯(lián)網(wǎng)、大數(shù)據(jù)處理等領(lǐng)域具有十分重要的應(yīng)用價(jià)值,,是目前的研究熱點(diǎn),。文獻(xiàn)[4]提出了一種基于共生頻繁項(xiàng)樹和逆矩陣的圖挖掘算法。文獻(xiàn)[5]中的SpiderMine算法采用概率挖掘理論來尋找前K個(gè)最大模式,,通過將小規(guī)模高頻率模式融合為大規(guī)模模式,,克服了算法瓶頸,效率較高,。文獻(xiàn)[6]提出了一種自適應(yīng)云端的大規(guī)模導(dǎo)出子圖提取算法,,以解決資源優(yōu)化利用與海量圖挖掘等問題,。文獻(xiàn)[7]提出一種圖形挖掘系統(tǒng)OPAvion。然而,,上述方法均無法進(jìn)行云環(huán)境下大規(guī)模圖形的高頻率模式挖掘,。為了解決以上問題,本文針對文獻(xiàn)[5]中的SpiderMine算法提出云環(huán)境下的新算法c-SpiderMine,。c-SpiderMine包括分區(qū),、挖掘、融合3個(gè)階段,。分區(qū)階段利用最小切割算法將大規(guī)模圖形數(shù)據(jù)分為多個(gè)子圖,,使分區(qū)/融合成本最小。第2階段為挖掘階段,,利用SpiderMine進(jìn)行模式挖掘,,利用約簡器可有效降低圖形同構(gòu)測試的成本,顯著降低大型模式生成時(shí)的組合復(fù)雜度,。更重要的是,,本文構(gòu)建一個(gè)全局表格以避免該階段出現(xiàn)不對稱信息,最后一個(gè)階段是模式融合,。本文提出一種模式鍵(Pattern Key,,PK)函數(shù)來保存模式,以保證所有模式可被成功恢復(fù)和融合,。

1 問題描述

  1.1 圖分割

  將輸入的數(shù)據(jù)圖表示為G,,將分割數(shù)據(jù)集表示為S。圖分割問題可定義如下:

  定義1:已知圖形G=(V,,E),,切邊集合C(Ec),其中Ec將G分為多個(gè)分區(qū){S1,,S2,,…,Sn},,且對任意i≠j有Ui Si=V,。切邊集合Ec為頂點(diǎn)屬于不同分區(qū)的邊集合。

  1.2 不對稱信息

  基于經(jīng)典的MapReduce[8]模型,,本文在分區(qū)階段將圖形G分割為多個(gè)子圖S1,,S2,…,,Sn,。在挖掘階段,需要挖掘初始時(shí)頻率較低的圖形模式,稱為spider,,定義2中對此進(jìn)行描述,。

  定義2:將半徑約束在r范圍內(nèi)的高頻率模式稱為r-spider。用圖形的頭部表示每個(gè)spider,,Spider的半徑為其節(jié)點(diǎn)的最小偏心率,,因此,radius(spider)=min{e(v):v∈V(spider)},。

  1.3 模式融合

  在融合階段,,將利用挖掘階段生成的spider生成全局高頻率模式。這一問題的簡單求解方法是發(fā)送spider然后對其融合,。然而,,如果在一臺(tái)機(jī)器上融合所有圖形,則將產(chǎn)生兩個(gè)問題,。首先,,約簡程序的存儲(chǔ)空間無法從所有映射程序中讀取所有的高頻率子圖,因?yàn)楦哳l率模式集合的數(shù)據(jù)規(guī)模大于原始的輸入圖形規(guī)模,。其次,,難以定義合適的融合鍵值。對鍵值做普通選擇會(huì)復(fù)制切割節(jié)點(diǎn),。然而,,選擇這些節(jié)點(diǎn)作為鍵值會(huì)導(dǎo)致部分大規(guī)模模式無法被融合。

2 c-SpiderMine算法

  圖1給出了本文方法的框架,。

001.jpg

  2.1 分割階段

  本文采用最小切邊算法來進(jìn)行圖分割,。最小切邊集合概念見定義3。

  定義3:已知圖形G(V,,E),,其中V表示頂點(diǎn)結(jié)合,E表示邊緣集合,,G(V,,E)的最小切邊集合Ec(S,T)可將V分割為S且T=V-S,,同時(shí)有s∈S,,t∈T,且Ec(S,,T)=Ec(u,,v)的容量最小,。

  為了將圖形G(V,,E)分割為k個(gè)均勻子圖且每個(gè)子圖均能保留其結(jié)構(gòu),首先利用最小切邊集合Ec將一個(gè)圖形分割為多個(gè)子圖,然后,,在u和v分別隸屬的兩個(gè)子圖中,,復(fù)制最小切邊集合Ec上的所有節(jié)點(diǎn)對(u,v),。該階段算法見算法1,。

  算法1:分割階段

  要求:圖G=(V,E)

  k:圖形分割數(shù)量

  輸出:Gsub={g1,,…,,gk},G被分割的子圖

  1: Gsub←k-Partition(G,,k)

  2: for 每個(gè)gi,,gj∈Gsub  do

  3: Ec←{(vi,vj)|vi∈gi(V),,vj∈gj(V)}

  //添加gi和gj中的切邊集合Ec

  4: gi(E)←gi(E)∪Ec

  //添加gi的切割節(jié)點(diǎn)集合Vc的連通邊緣

  5: gi(E)←gi(E)∪{(vi,,vj)|vi∈Ec|vj∈Ec∧i≠j}

  6: 輸出所有子圖Gsub

  2.2 挖掘階段

  在挖掘階段的第1步,采用文獻(xiàn)[9]中提出的模式增長算法實(shí)現(xiàn)spider增長,,以便在半徑約束內(nèi)挖掘所有的高頻率圖形模式,,它只需一個(gè)處理器就可獲得所有的初始spider。在該階段中,,首先需要選擇一個(gè)節(jié)點(diǎn)作為初始模式,。然后,算法利用與模式相連的邊來擴(kuò)展模式,,進(jìn)而生成新的候選,。算法還收集模式嵌入因子。如果嵌入因子數(shù)量低于支持閾值,,則算法修剪候選,。為了實(shí)現(xiàn)spider的并行增長,本文采用BSP模型來增長相同深度內(nèi)不同子圖中的spider,,即可以在同一超級步驟內(nèi)生成邊緣和節(jié)點(diǎn)數(shù)量相同的所有高頻率spider候選,。在挖掘階段的第2步中,通過構(gòu)建一個(gè)全局表來維護(hù)每個(gè)spider候選的支持?jǐn)?shù),。在同頻率圖形模式候選集合增長期間,,通過Canonical forms[10]對候選模式進(jìn)行編碼,將每個(gè)候選模式的本地支持量發(fā)送給全局表,。然后,,在超級步驟結(jié)束后修剪頻率較低的候選,并確保所有處理器均增加了候選的可能嵌入因子數(shù),。通過這種方法可以保證不會(huì)有模式由于信息不對稱而被修剪,。挖掘階段的整個(gè)步驟見算法2,。

  算法2:MiningPhase(挖掘階段)

  要求:Gsub:分割后的子圖

  r:圖形半徑

  最小支持閾值

  輸出:〈Ec(Gid),S′〉,,Gsub中的切邊集合和高頻率圖形模式集合

  Map(Key k,,Value v)

  1: Gid←k//鍵定義為子圖ID

  2: Gsub←v//值定義為子圖數(shù)據(jù)

  3: 利用標(biāo)識(shí)頻率對Gsub中所有節(jié)點(diǎn)進(jìn)行同步和排序

  4: for all gi∈Gsub do

  5: 修剪低頻率標(biāo)識(shí),重新標(biāo)識(shí)gi的節(jié)點(diǎn)

  6: 輸出〈Gid,,Gsub〉

  Reduce(Key k,,Values v[])

  1: Gid←k//鍵為子圖ID

  2: Gsub←v//值為子圖數(shù)據(jù)

  3: S1←Gsub中所有本地高頻率單邊圖形

  4: for 每個(gè)s∈S1 do

  5: supglobal(s)←CalculateSupport(s)

  6: S∈S1;

  7: if  S≠?覫 do

  8:  for 每個(gè)s∈S  do

  9:    if supglobal(s)<?茲且Radius(s)≠r then

  10:S′←S-{s}

  11:    else

  12:S′←GrowPattern{s}

  //生成候選圖形模式并更新supglobal

  13:sync(s,,supglobal)//BSP模型同步

  14: 輸出〈Ec(Gid),,S′〉

  2.3 融合階段

  融合階段包括兩個(gè)MapReduce任務(wù)。第1個(gè)任務(wù)是將不同子圖中的spider擴(kuò)展為更大規(guī)模的模式,。為了解決融合問題,,文中提出一種基于重疊的模式鍵(Pattern Key,PK)函數(shù),。鍵(key)定義為每個(gè)高頻率圖形模式候選的哈希碼,,值(value)定義為候選spider每個(gè)子圖中嵌入因子數(shù)的支持?jǐn)?shù)之和。PK函數(shù)的作用在于保留初始關(guān)系,,提供兩個(gè)子圖間的關(guān)聯(lián),。PK函數(shù)的定義見定義4。

  定義4:已知一個(gè)子圖g(V,,E),,其中V表示節(jié)點(diǎn)集合,E表示邊集,,Vc表示復(fù)制節(jié)點(diǎn)集,。將切割節(jié)點(diǎn)vc∈Vc的重疊切割節(jié)點(diǎn)集定義。

  第2個(gè)任務(wù)稱為模式修剪任務(wù),,內(nèi)容是當(dāng)兩個(gè)模式同形時(shí)修剪掉重復(fù)的模式,。模式修剪任務(wù)之后,可以計(jì)算每個(gè)模式的支持?jǐn)?shù),。最后,,將所有模式發(fā)送給模式融合任務(wù)。因?yàn)楸疚囊呀?jīng)在先前的任務(wù)中修剪掉了低頻率模式并進(jìn)行了同構(gòu)測試,,所以通過檢查兩個(gè)模式是否擁有相同的PK來進(jìn)行模式融合,。如果兩個(gè)模式的PK相同,則通過該相同的spider對其融合,。重復(fù)這一步驟,,直到新生成的模式的直徑超出直徑界限為止。限于篇幅,,融合階段的詳細(xì)步驟在此略去,。

3 仿真實(shí)驗(yàn)

  3.1 實(shí)驗(yàn)環(huán)境

  本文在33個(gè)虛擬機(jī)構(gòu)成的云計(jì)算環(huán)境下,,將c-SpiderMine部署于HAMA 0.5和Hadoop 1.0.3上,其中一個(gè)節(jié)點(diǎn)作為主節(jié)點(diǎn),,其余節(jié)點(diǎn)均作為從屬節(jié)點(diǎn),。所有實(shí)驗(yàn)運(yùn)行于256 GB內(nèi)存和1 GB以太網(wǎng)英特爾Xeon服務(wù)器平臺(tái)上,。

  3.2 與SpiderMine的比較


002.jpg

  為了證明c-SpiderMine的有效性,,選擇SpiderMine作為基準(zhǔn)算法來比較節(jié)點(diǎn)數(shù)量不同時(shí)的運(yùn)行時(shí)間,最小支持?jǐn)?shù)不同時(shí)的運(yùn)行時(shí)間及內(nèi)存使用情況,。從網(wǎng)站上選擇兩種大型數(shù)據(jù)集[11]進(jìn)行測試,,如圖2(a)所示,當(dāng)節(jié)點(diǎn)規(guī)模變大時(shí)運(yùn)行時(shí)間上升,,在該圖中,,可以發(fā)現(xiàn)當(dāng)數(shù)據(jù)規(guī)模大于20 000時(shí),SpiderMine難以為圖形提供支持,,相反,,當(dāng)數(shù)據(jù)規(guī)模增大時(shí),c-SpiderMine的性能較優(yōu),。圖2(b)表明即使最小支持?jǐn)?shù)較低,,c-SpiderMine在運(yùn)行時(shí)間方面的性能仍優(yōu)于SpiderMine。此外,,可以發(fā)現(xiàn)當(dāng)最少支持?jǐn)?shù)低于0.82%時(shí),,c-SpiderMine優(yōu)于SpiderMine??傮w來說,,本文c-SpiderMine方法在處理大規(guī)模圖形數(shù)據(jù)時(shí)顯示出了良好的運(yùn)行時(shí)間性能,降低了內(nèi)存使用量,,且效率高于SpiderMine,。

  3.3 伸縮性

  (1)最小支持設(shè)置的影響:下面分別在圖3(a)和3(b)中給出com-DBLP和Amazone0302的運(yùn)行時(shí)間。兩組實(shí)驗(yàn)的最小支持設(shè)置范圍為0.01%-0.035%,,節(jié)點(diǎn)規(guī)模分別為40 000,、70 000和100 000。結(jié)果表明,,當(dāng)最小支持設(shè)置增加時(shí),,運(yùn)行時(shí)間下降。這表明,,當(dāng)最小支持設(shè)置增加時(shí),,生成的模式數(shù)量變小,運(yùn)行時(shí)間降低,。此外,,當(dāng)N增加時(shí),,運(yùn)行時(shí)間同步增加,明顯表明有更多的節(jié)點(diǎn)生成更多的模式,,消耗更多的時(shí)間,。實(shí)驗(yàn)表明,當(dāng)節(jié)點(diǎn)規(guī)模和最小支持?jǐn)?shù)增加時(shí),,c-SpiderMine在運(yùn)行時(shí)間方面具有良好的伸縮性,。

  (2)機(jī)器數(shù)量的影響:本節(jié)研究了機(jī)器數(shù)量不同時(shí)的性能。驗(yàn)證c-SpiderMine的性能時(shí),,對com-DBLP數(shù)據(jù)集使用4,、8、16和32臺(tái)機(jī)器,,最小支持設(shè)置為0.25%,、0.35%和0.4%,對Amazone0302數(shù)據(jù)集使用2,、4,、8、16和32臺(tái)機(jī)器,,最小支持設(shè)置為0.2%,、0.28%和0.35%。在圖4(a)和4(b)中,,當(dāng)機(jī)器數(shù)量上升時(shí)運(yùn)行時(shí)間呈指數(shù)下降,。結(jié)果表明,機(jī)器數(shù)量增加可提高性能和效率,,這進(jìn)一步證明云計(jì)算可直接提高大規(guī)模圖形數(shù)據(jù)挖掘的伸縮性,。

4 結(jié)論

  本文提出了c-SpiderMine算法,在處理大規(guī)模圖形數(shù)據(jù)時(shí)有效融合了BSP模型,、SpiderMine和云計(jì)算,。實(shí)驗(yàn)結(jié)果表明,在不同數(shù)據(jù)規(guī)模和最小支持設(shè)置條件下,,c-SpiderMine在內(nèi)存使用和運(yùn)行時(shí)間方面的性能均優(yōu)于SpiderMine,。文中還證明了c-SpiderMine在不同的最小支持設(shè)置和機(jī)器數(shù)量條件下,具有良好的伸縮性,。在下一步工作中,,可結(jié)合更多的真實(shí)大型數(shù)據(jù)集對本文方法展開研究。

參考文獻(xiàn)

  [1] 孫鶴立,,陳強(qiáng),,劉瑋,等.利用MapReduce平臺(tái)實(shí)現(xiàn)高效并行的頻繁子圖挖掘[J].計(jì)算機(jī)科學(xué)與探索,,2014,,8(7):790-801.

  [2] ANCHURI P,,ZAKI M J,BARKOL O,,et al.Approximate graph mining with label costs[C].Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining.ACM,,2013:518-526.

  [3] KANG U,AKOGLU L,,CHAU D H P.Big graph mining:algorithms,,anomaly detection,and applications[J].Proceedingsof the ACM ASONAM,,2013,,13:25-28.

  [4] 李濤,,肖南峰.基于共生頻繁項(xiàng)樹和逆矩陣的圖挖掘[J].計(jì)算機(jī)應(yīng)用研究,,2014,31(10):2916-2919.

  [5] ZHU F,,QU Q,,LO D,et al.Mining top-k large structural patterns in a massive network[J].Proceedings of the VLDB Endowment,,2011,,4(11):807-818.

  [6] 郭鑫,董堅(jiān)峰,,周清平.自適應(yīng)云端的大規(guī)模導(dǎo)出子圖提取算法[J].計(jì)算機(jī)科學(xué),,2014,41(6):155-160.

  [7] AKOGLU L,,CHAU D H,,KANG U,et al.Opavion:mining and visualization in large graphs[C].Proceedings of the 2012ACM SIGMOD International Conference on Management of Data.ACM,,2012:717-720.

  [8] SARMA A D,,AFRATI F N,SALIHOGLU S,,et al.Upper and lower bounds on the cost of a map-reduce computa-tion[C].Proceedings of the VLDB Endowment. VLDB Endowment,,2013,6(4):277-288.

  [9] BORGELT C,,MEINL T,,BERTHOLD M.Moss:a program for molecular substructure mining[C].Proceedings of the 1st international workshop on open source data mining:frequentpattern mining implementations.ACM,2005:6-15.

  [10] BORGELT C.Canonical forms for frequent graph mining[M].Advances in Data Analysis,,Springer Berlin Heidelberg,,2007:337-349.

  [11] LESKOVEC J.Stanford large network dataset collection[J].URL http://snap.stanford.edu/data/index.html,2011.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。