




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、一種有效的并行頻繁子圖挖掘算法陳曉云 趙娟 陳鵬飛 邢喬金 劉國華(蘭州大學(xué)信息科學(xué)與工程學(xué)院 蘭州 730000)摘要:在分析并行頻繁項集挖掘算法的基礎(chǔ)上,提出了一種有效的并行頻繁子圖挖掘算法,該并行算法采用主從節(jié)點處理模式,將主節(jié)點處理后生成的頻繁子樹集放到從節(jié)點上并行的生成頻繁子圖。通過實驗驗證了算法的可行性和有效性。關(guān)鍵字:并行化;頻繁項集;頻繁子圖;Abstract:Based on the analysis of the parallel frequent itemset mining algorithm, a kind of effective parallel algorith
2、m for mining frequent subgraph is introduced in this paper. The parallel algorithm adopts a master-slave node processing mode,put the frequent subtree sets which generated by the master node on the slave node which parallel generate frequent subgraph.The results of the experiments show that our algo
3、rithm has good effectiveness and feasibility.Key words: parallel; frequent itemset; frequent subgraph1. 引言:頻繁子圖挖掘與其他比較成熟的頻繁模式挖掘相比,圖結(jié)構(gòu)數(shù)據(jù)所包含的信息比一般的數(shù)據(jù)類型的數(shù)據(jù)量更大,其數(shù)據(jù)結(jié)構(gòu)比線性表和樹更為復(fù)雜。在圖形結(jié)構(gòu)中,結(jié)點之間的關(guān)系是任意的,任意兩個數(shù)據(jù)元素之間都可能相關(guān)。盡管其結(jié)構(gòu)很復(fù)雜,但是由于基于圖的應(yīng)用越來越廣泛,其已經(jīng)滲入到諸如語言學(xué)、邏輯學(xué)、物理、化學(xué)、計算機科學(xué)及數(shù)學(xué)的這些分支學(xué)科中。如通過對已有的生物分子結(jié)構(gòu)與未知的生物結(jié)構(gòu)的研究,來確定未
4、知生物分子與已知生物分子之間的聯(lián)系與區(qū)別。例如在PTE(predictive toxicology evaluation challenge)項目中找到頻繁出現(xiàn)的而且與已有的有毒物質(zhì)具有相同子結(jié)構(gòu)的物質(zhì),這樣就可以發(fā)現(xiàn)新的對人體有害的物質(zhì)。因此,對基于圖的頻繁子圖挖掘的算法研究是非常必要的,而且具有很好的實際應(yīng)用價值。在通常情況下,由于沒有任何先驗知識做參考,頻繁子圖的挖掘工作量會很大。對于海量數(shù)據(jù)的挖掘任務(wù)來講,現(xiàn)有的頻繁子圖挖掘算法速度比較慢,而且效率不高,因此沒有得到廣泛的應(yīng)用。所以研究出一個算法效率高,執(zhí)行速度快的頻繁子圖挖掘算法是目前一個非常熱門的話題。 本文在分析以往的并行頻繁項集
5、挖掘算法的基礎(chǔ)上,提出了一種并行頻繁子圖發(fā)掘算法PG-Miner。該挖掘算法采用主從模式,將整個過程分為兩部分,第一部分由主處理節(jié)點來生成頻繁子樹集,然后將生成的子樹集分發(fā)到其他從處理節(jié)點。第二部分將頻繁子圖邊擴展及同構(gòu)判斷這部分頻繁子圖挖掘算法中時間復(fù)雜度最高的部分并行處理。文章在最后通過實驗驗證了本算法的有效性和可行性。2. 并行頻繁項集挖掘綜述頻繁模式挖掘的搜索空間可以被模擬成類似格的結(jié)構(gòu),其中由模式的大小來決定它處于格中的哪一層,每一層又以某種順序進行排列。模式格的維數(shù)決定了問題的指數(shù)級別。例如,對于一個有著n個不同項的事務(wù)數(shù)據(jù)庫,可能的模式就會有2n。也就是說,如果一個事務(wù)數(shù)據(jù)庫有1
6、00個不同的項,搜索空間就達(dá)到21001030。巨大的搜索空間使得在大型數(shù)據(jù)庫上的頻繁模式的挖掘成為一個計算密集型問題。然而傳統(tǒng)的頻繁模式挖掘算法被單一處理器和有限的內(nèi)存空間所限制,不適用于大型數(shù)據(jù)庫。因此,利用高性能并行計算來改善現(xiàn)有頻繁模式挖掘算法的瓶頸,使其適用于大規(guī)模數(shù)據(jù)庫是非常必要的。在FP-Growth算法的基礎(chǔ)上,2001年Osmar R. Zaiane等人提出了并行頻繁項集挖掘算法MLFPT, 2004年Javed和Khokhar等人提出了并行頻繁項集挖掘算法PFP-tree。2.1 MLFPT算法Zaane.O.R等人于2001年提出基于共享式內(nèi)存的類FP-Growth的并行
7、頻繁項集挖掘算法MLFPT。此算法對FP-Growth算法中的FP-Tree進行了并行化的改進。在整個執(zhí)行過程中僅需掃描數(shù)據(jù)庫兩次,建立了一個特殊的數(shù)據(jù)結(jié)構(gòu)叫做頻繁模式樹(Frequent Pattern Tree),之后在上面挖掘頻繁項集。由于一顆在并行節(jié)點上共享的樹結(jié)構(gòu)勢必需要在葉子或節(jié)點甚至路徑上設(shè)置鎖機制,這樣就會導(dǎo)致嚴(yán)重的瓶頸。于是,MLFPT算法中采取了將FP-Tree分成塊到每個節(jié)點上,而保持結(jié)果樹是各節(jié)點上共享的來避免假負(fù)現(xiàn)象。建立這樣的樹大大減少了生成頻繁項集的開銷。這些樹上的頻繁項都是交叉連接起來的(與FP-Tree中相同),并且總體上連接在一個全局頭表上。每塊樹森林(tr
8、ee forest)被分配到各個處理節(jié)點上,分開后的FP-Tree在挖掘過程中被自下向上的順序快速遍歷。樹的位置降低了并行節(jié)點間由于錯誤的操作而覆蓋其他節(jié)點更新的可能性,同時使得死鎖的可能性最小化。但是基于共享式內(nèi)存的并行頻繁項集不能夠適用于廣泛使用的集群系統(tǒng),因此局限性比較大。2.2 PFP-tree算法Javed和Khokhar等人于2004年提出了分布式內(nèi)存環(huán)境下的類FP-Growth并行頻繁項集挖掘算法PFP-Tree。算法中將整個數(shù)據(jù)庫分割成不重合的p塊,其中p是處理節(jié)點的數(shù)量。然后將各個數(shù)據(jù)塊分配給相應(yīng)的處理節(jié)點。PFP-tree算法的具體步驟如下:1 各節(jié)點p掃描被分配的數(shù)據(jù)塊并
9、且計算本地數(shù)據(jù)庫塊中的頻繁項的支持度。2 所有處理節(jié)點做同步得到總體的頻繁項支持度計數(shù)。3 各節(jié)點依據(jù)總的支持度來排序頻繁項,并刪除非頻繁項。4 各節(jié)點第二次掃描本地數(shù)據(jù)庫塊并建立本地FP-tree。5 頭表被分成p個互不相交的子集,每個處理節(jié)點為被分配到的項的集合并行挖掘頻繁模式。6 由于第5步中的劃分是靜態(tài)的,每個處理節(jié)點必須通過其他的節(jié)點來確認(rèn)本地樹上的信息。在第4步被分配到一個節(jié)點上的單頻繁前綴分支構(gòu)成了挖掘步的完整信息。利用一次自底向上的掃描來進行確認(rèn)信息。7 第6步中確認(rèn)的信息利用一個遞歸的歸并樹結(jié)構(gòu)在各節(jié)點上將需要進行次通訊。在每一次通訊的最后,一個節(jié)點需要解包收到的信息到本地的
10、FP-tree樹上,然后為下一次歸并準(zhǔn)備新的信息。8 每個處理節(jié)點挖掘被分配的頻繁項集。由于PFP-tree需要各節(jié)點交換基于每個頻繁1-項集的條件模式基來得到本地所需的數(shù)據(jù)分塊,所以整個算法的通訊還是比較多的,降低了并行的效率。3. 并行頻繁子圖挖掘算法PG-Miner為了提高并行效率并且減少算法的通訊量,我們提出了一個頻繁子圖挖掘算法,該挖掘算法采用主從模式,將整個過程分為兩部分,第一部分由主處理節(jié)點來生成頻繁子樹集,然后將生成的子樹集分發(fā)到其他從處理節(jié)點。第二部分將頻繁子圖邊擴展及同構(gòu)判斷這部分頻繁子圖挖掘算法中時間復(fù)雜度最高的部分并行處理。3.1 主節(jié)點頻繁子樹挖掘算法FTGenFTG
11、en(frequent subtree generation)算法第一步判斷要擴展的頻繁子樹是否為最小DFS 編碼,來避免對重復(fù)生成的子樹做進一步擴展。第二步通過對頻繁邊集中的每條邊進行擴展判斷。第三步將已提取的邊從邊集中去掉,減小需要擴展的邊集,第四步判斷當(dāng)前提取的邊是否為樹邊ee,如果是,將其加入到DFS編碼最小的頻繁子樹t中。第五步判斷在頻繁子樹T中是否存在t的同構(gòu)子樹。如果不存在,將t加入到結(jié)果集T中。第六步對擴展后的t執(zhí)行FTGen算法以得到全部頻繁子樹。FTGen 的挖掘結(jié)果是圖集GS中出現(xiàn)的頻繁子樹,儲存在集合T中。頻繁子樹將被用于進一步對邊擴展以形成圖,同時,頻繁子樹作為圖的一
12、種,是最終挖掘結(jié)果的子集。算法偽代碼如Algorithm 3-1所示:3.2 從節(jié)點子圖拓展挖掘算法PFGGen算法PFGGen在FTGen算法的基礎(chǔ)上做進一步挖掘,主要是從頻繁子樹向頻繁子圖的擴展過程。第一步由于FTGen本身生成的頻繁子樹也是最終結(jié)果的一部分,故需要將其也加入到結(jié)果集中。第二步將T中的頻繁子樹按降序DFS編碼排序,并且對T中每顆子樹做擴展成圖的處理。第三步先將當(dāng)前需要擴展的子樹初始化到圖g,然后對頻繁邊集中的每條邊ee做擴展處理,將已提取要擴展的邊從邊集中去掉。第四步判斷當(dāng)前邊是否可擴展,如果當(dāng)前邊可以擴展,擴展這條邊。第五步判斷擴展后的圖是否滿足最小DFS編碼的要求,避免
13、重復(fù)操作。第六步判斷擴展的圖在結(jié)果集中是否存在同構(gòu)子圖,如果不存在,將擴展的子圖加入到結(jié)果集。算法偽代碼如Algorithm 3-2所示:3.3 PG-Miner算法PG-Miner算法第一步初始化MPI并行環(huán)境并且計算用于此次并行計算的所有節(jié)點。第二步判斷是否為主節(jié)點,掃描圖集并找到圖集GS中所有頻繁邊,并刪除圖集中所有非頻繁邊,將所有頻繁邊集按DFS編碼和支持度降序排列,初始化擴展子樹t。第三步調(diào)用FTGen算法,獲得頻繁子樹集。第四步調(diào)用PFGGen算法,擴展頻繁子樹到頻繁子圖。第五步結(jié)束MPI。PG-Miner算法偽代碼如Algorithm 3-3所示:4. 實驗結(jié)果與分析實驗環(huán)境:由
14、 5臺2.8 GHz Intel Core CPU,2GB內(nèi)存的PC機搭建MPI環(huán)境,機子之間的通信采用千兆路由器實現(xiàn),操作系統(tǒng)為內(nèi)核2.6.31-14的Ubuntu Karmic Koala ( Ubuntu 9.10 )。所有程序均用GCC3.4.3和MPI庫mpich2-1.0.7編譯實現(xiàn)。在實驗中,我們分別選取真實數(shù)據(jù)和仿真數(shù)據(jù)來與gSpan,F(xiàn)FSM作比較,gSpan和FFSM都是在單臺機子運行,我們的算法啟動4個從節(jié)點來計算。數(shù)據(jù)可從以下網(wǎng)址獲得:/docs/aids/aids_data.html。圖4-1,4-2,4-3給出了在不同數(shù)據(jù)集
15、上gSpan,F(xiàn)FSM,PG-Miner的運行結(jié)果圖4-1 CA數(shù)據(jù)集圖4-2 CM數(shù)據(jù)集圖4-3 CI數(shù)據(jù)集仿真數(shù)據(jù)我們采用文獻(xiàn)16Kuramochi和Karypis提供的工具產(chǎn)生的數(shù)據(jù)集。我們選取了兩個參數(shù)集來測試我們的結(jié)果,第一個設(shè)置N=10(N代表可能的節(jié)點標(biāo)識數(shù)),T=40(T代表每個圖的平均邊數(shù)),D=10000(D代表生成圖的數(shù)量),I=7(I代表可能生成的頻繁子圖的平均大小);另一個數(shù)據(jù)集設(shè)置T=40,N=5,D=10000,I=7。圖4-4,4-5在不同數(shù)據(jù)集上gSpan,F(xiàn)FSM,PG-Miner的運行結(jié)果圖4-4 N10I7T40數(shù)據(jù)集圖4-5 N5I7T40數(shù)據(jù)集在下面
16、,我們將PG-Miner在從節(jié)點個數(shù)為2和從節(jié)點為4時在CA上的運行結(jié)果也展示出來,用來分析我們的算法在處理節(jié)點擴展時的可擴展性,圖4-6給出了運行結(jié)果。圖4-6 CA數(shù)據(jù)集圖4-1到4-3為了能更加清晰的列出結(jié)果,我們采用了對數(shù)值。在這幾個真實數(shù)據(jù)集上,我們比較了從支持度3%到9%,在圖上我們可以看到,在支持度很小時,PG-Miner算法的運行時間僅是FFSM的1/4多一點,這說明PG-Miner運行效率提高了接近n(處理節(jié)點數(shù))倍。但當(dāng)支持度增加時,PG-Miner算法的運行時間在4s左右,甚至出現(xiàn)高于FFSM的情況,這說明此時,MPI環(huán)境的啟動開銷和通信開銷已經(jīng)成為程序運行的主要時間,在
17、這種情況下,并不適合PG-Miner算法。圖4-4和4-5是在模擬數(shù)據(jù)集上得到的運行結(jié)果,我們比較了支持度從1%到6%,由結(jié)果可以得到與真實結(jié)果集上相同的結(jié)論。圖4-6在CA數(shù)據(jù)集上處理節(jié)點分別為2和4時,我們比較了支持度從1%到6%的運行結(jié)果,從運行結(jié)果可以看出,PG-Miner具有很好的可擴展性。5. 結(jié)論本文在研究以往并行頻繁項集挖掘算法的基礎(chǔ),提出了并行頻繁子圖挖掘算法PG-Miner。該算法成功的將頻繁子圖挖掘算法中時間復(fù)雜度最高的子圖同構(gòu)判斷過程分發(fā)到多臺處理器上并行處理,使得算法的執(zhí)行時間隨處理節(jié)點的線性增加而線性減少。并且在不同的真實和模擬數(shù)據(jù)集上驗證了算法的可行性。另外算法在
18、并行化方面,如何提高并行粒度,使得各處理節(jié)點負(fù)載更加均衡以及如何減少子圖同構(gòu)的判斷是我們下一步的研究方向。文獻(xiàn):1 范明,孟曉峰.數(shù)據(jù)挖掘概念與技術(shù)第2版2 王丹陽,田衛(wèi)東,胡學(xué)剛.一種有效的并行頻繁項集挖掘算法.計算機應(yīng)用研究.1001-3695(2008)11-3332-03 3 王永恒,楊樹強,賈 焰.海量文本數(shù)據(jù)庫中的高效并行頻繁項集挖掘方法.計算機工程與科學(xué).1007-130X(2007)09-0110-044 張大為,黃丹,嵇敏,謝福鼎.利用模式指導(dǎo)樹的并行頻繁項集挖據(jù)方法.計算機工程與應(yīng)用.1002-8331(2010)22-0147-045 Fiedler, M. and Bo
19、rgelt, C.: 2007, Support computation for mining frequent subgraphs in a single graph, in P. Frasconi, K. Kersting and K. Tsuda (eds), MLG.6 X. Yan and J. Han, “gSpan: Graph-Based Substructure Pattern Mining,” Proc. 2002 Intl Conf. Data Mining (ICDM 02), pp. 721- 724, Dec. 2002.7 Wu, J. and Chen, L.:
20、 Mining Frequent Subgraph by Incidence Matrix Normalization. Journal of Computers 3(10)(2008) 109115.8 C. Wang and S. Parthasarathy. Parallel algorithms for mining frequent structural motifs in scientific data. In Proceedings of the ACM International Conference on Supercomputing (ICS), 2004.9 T. Mei
21、nl, I. Fischer, and M. Philippsen. Parallel mining for frequent fragments on a shared-memory multiprocessor -results and java-obstacles-. In M. Bauer, A. Kroner, and B. Brandherm, editors, LWA 2005 - Beitrage zur GI-Workshopwoche Lernen, Wissensentdeckung, Adaptivitat, pages 196201, 2005.10 M. Kuramochi and G. Karypis. Frequent subgraph discovery. In Proceedings of the Internation Conference on Data Mining (ICDM), pages 31
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 票務(wù)代理電子客票系統(tǒng)應(yīng)用考核試卷
- 紙張的老化機理與防護考核試卷
- 連續(xù)搬運設(shè)備環(huán)境適應(yīng)性測試考核試卷
- 窄軌機車車輛關(guān)鍵性能指標(biāo)考核試卷
- 糕點店品牌定位與市場推廣策略考核試卷
- 期貨市場交易員職業(yè)技能提升考核試卷
- 畜牧機械人機工程考核試卷
- 蜜柚土壤改良技術(shù)考核試卷
- 車庫玻璃屋頂考核試卷
- 2025年秋季幼兒園教師培訓(xùn)計劃范文
- DB32T 2334.4-2013 水利工程施工質(zhì)量檢驗與評定規(guī)范 第4部分 電氣設(shè)備與自動化
- 導(dǎo)尿術(shù)課件完整版
- 寧夏銀川市一中2025屆高考數(shù)學(xué)押題試卷含解析
- 院感防控應(yīng)急演練方案
- 高考3500詞匯表(完整版)
- 中國咳嗽基層診療與管理指南(2024年)解讀
- 2024年度-工程造價培訓(xùn)課件全新
- 13馬爾可夫鏈公開課獲獎?wù)n件
- 江蘇省高速公路施工標(biāo)準(zhǔn)化技術(shù)指南-工地建設(shè)篇
- 銀行行長任職表態(tài)發(fā)言稿(7篇)
- 中國急性缺血性卒中診治指南(2023版)
評論
0/150
提交評論