日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

图挖掘算法-gSpan

發(fā)布時(shí)間:2024/1/18 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图挖掘算法-gSpan 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原文鏈接:https://blog.csdn.net/qq_41653753/article/details/79112436

原文鏈接:https://blog.csdn.net/weidai00/article/details/85245217

一、基本概念

1、圖挖掘

近年來,圖挖掘作為,數(shù)據(jù)挖掘的重要組成部分引起了社會(huì)各界的極大關(guān)注。圖挖掘(Graph Mining)是指利用圖模型從海量數(shù)據(jù)中發(fā)現(xiàn)和提起有用知識(shí)和信息的過程。通過圖挖掘所獲取的知識(shí)和信息已廣泛應(yīng)用于各種領(lǐng)域,如商務(wù)管理、市場(chǎng)分析、生產(chǎn)控制、科學(xué)探索和工程設(shè)計(jì)。

2、圖在不同領(lǐng)域的應(yīng)用

應(yīng)用?? ?圖形?? ?頂點(diǎn)?? ?邊
生物信息學(xué)
(蛋白質(zhì)結(jié)構(gòu)分析、基因組織識(shí)別)?? ?蛋白質(zhì)結(jié)構(gòu)?? ?氨基酸?? ?接觸殘基
社交網(wǎng)絡(luò)
(實(shí)體間的聯(lián)系)?? ?社會(huì)關(guān)系網(wǎng)絡(luò)結(jié)構(gòu)?? ?個(gè)體或組合?? ?依賴關(guān)系
Web分析
(Web連接結(jié)構(gòu)分析、Web內(nèi)容挖掘、
Web日志搜索)?? ?Web瀏覽模式?? ?Web頁(yè)面?? ?頁(yè)面之間的超鏈接
網(wǎng)絡(luò)計(jì)算?? ?計(jì)算機(jī)網(wǎng)絡(luò)?? ?計(jì)算機(jī)和服務(wù)器?? ?機(jī)器之間的互聯(lián)
3、難點(diǎn)
(1)圖邊的數(shù)量是頂點(diǎn)數(shù)量的指數(shù)倍。而具有規(guī)模大于109頂點(diǎn)和邊數(shù)量的圖數(shù)據(jù)愈來愈普遍,對(duì)查找和存儲(chǔ)提出了很大的挑戰(zhàn);

(2)圖同構(gòu)問題一般認(rèn)為不是P問題也不是NPC問題,雖然它明顯是一個(gè)NP問題。判斷來年改革大圖是否同構(gòu)非常困難。而同構(gòu)的概念卻大量用在相關(guān)圖挖掘算法中;

(3)由于圖的復(fù)雜性,使得圖挖掘具有較高的復(fù)雜性,基于圖的算法很難進(jìn)行并行化;

(4)很多傳統(tǒng)數(shù)據(jù)挖掘算法無法應(yīng)用到圖數(shù)據(jù)中需要重新設(shè)計(jì)合適的算法。由于圖結(jié)構(gòu)的復(fù)雜性,算法的設(shè)計(jì)要修高效性,并且對(duì)實(shí)驗(yàn)機(jī)器的配置要求較高。

4、圖挖掘的基礎(chǔ)研究

(1)圖的匹配

(2)圖數(shù)據(jù)中的關(guān)鍵字查詢

(3)頻繁子圖挖掘:

Apriori-based 方法:包括AGM,AcGM,FSG和path-join算法等

FP-growth方法:包括gSpan、CloseGraph和FFSM等(它們主要通過逐漸擴(kuò)展頻繁邊得到頻繁子圖,但對(duì)邊的擴(kuò)展過程略有不同)

其他的頻繁子圖挖掘算法:例如Wang等人提出了一種基于索引的頻繁子圖挖掘算法GraphMiner;Zhu等人提出了一種基于用戶約束條件的頻繁子圖挖掘短發(fā)gPrune;Karste等人提出了適合于動(dòng)態(tài)圖挖掘DynamicGREW算法等。

(4)顯著性子圖挖掘

(5)密集子圖挖掘

(4)圖的聚類

(5)圖的分類

(6)不確定圖的挖掘

(7)社會(huì)網(wǎng)絡(luò)應(yīng)用的連接分析(link analysis)
基于連接的對(duì)象分類(Link based object classification);

對(duì)象類型預(yù)測(cè)(object type predication);

連接類型預(yù)測(cè)(link type predication);

預(yù)測(cè)鏈路擴(kuò)展(predicate link extension);

組探測(cè)(Group detection);

元數(shù)據(jù)挖掘(metadata mining)。

(7)隱私保護(hù)

(8)生物信息學(xué)

(9)化學(xué)圖數(shù)據(jù)

?

二、gSpan


為了遍歷圖,gSpan算法采用深度優(yōu)先搜索。初始,隨機(jī)選擇一個(gè)起始頂點(diǎn),并且對(duì)圖中訪問過的頂點(diǎn)做標(biāo)記。被訪問過的頂點(diǎn)集合反復(fù)擴(kuò)展,直到建立一個(gè)完全的深度優(yōu)先搜索 (DFS) 樹。(圖中加粗的邊)
如下圖所示:

基于邊序,如果用5元組(i ,j ,L(i), L(i,j), L(j)) 表示邊,其中 L(j) 和 L(i)
分別是 v(i) 和 v(j) 的標(biāo)記,而 L(i,j) 是連接它們的邊的標(biāo)記, 則


?

gSpan最右路徑擴(kuò)展規(guī)則


給定圖G 和G 的DFS樹T ,一條新邊e 可以添加到最右節(jié)點(diǎn)和最右路徑上另一個(gè)節(jié)點(diǎn)之間(后向擴(kuò)展);或者可以引進(jìn)一個(gè)新的節(jié)點(diǎn)并且連接到最右路徑上的節(jié)點(diǎn)(前向擴(kuò)展)。由于這兩種擴(kuò)展都發(fā)生在最右路徑上,因此稱為最右擴(kuò)展。 (黑點(diǎn)為最右路徑)第一優(yōu)先級(jí)始終是將當(dāng)前結(jié)束頂點(diǎn)鏈接回第一個(gè)頂點(diǎn)(標(biāo)記為0的頂點(diǎn))。如果那是不可能的,我們看看是否可以將它鏈接回第二個(gè)頂點(diǎn)(標(biāo)記為1的頂點(diǎn))。如果我們有一個(gè)更大的子圖,我們將繼續(xù)嘗試鏈接到第3,第4等,如果可能的話。如果這些都不可能,那么我們的下一個(gè)(第三個(gè))優(yōu)先級(jí)是從我們所處的頂點(diǎn)(上面標(biāo)記為4)增長(zhǎng),并使鏈長(zhǎng)得更長(zhǎng)。如果這不起作用,我們回到父節(jié)點(diǎn),再退一步,然后嘗試從那里開始增長(zhǎng)(圖(e))。如果這不起作用,那么我們?cè)傧蛏线~出一步,并嘗試從那里成長(zhǎng)(下面的第五個(gè)例子)。


gSpan偽代碼


實(shí)例

步驟一:圖里共有有7個(gè)alpha(α)頂點(diǎn),8個(gè)beta(β)頂點(diǎn)和14個(gè)lambda(λ)頂點(diǎn)。有15個(gè)邊緣為純藍(lán)色,13個(gè)為雙紅色,8個(gè)為綠色點(diǎn)綴。現(xiàn)在我們已經(jīng)有了這些計(jì)數(shù),我們需要將頂點(diǎn)和邊的原始標(biāo)簽排序成一個(gè)代碼,這將有助于我們稍后對(duì)搜索進(jìn)行優(yōu)先級(jí)排序。為此,我們創(chuàng)建一個(gè)代碼,該代碼以具有最高計(jì)數(shù)的頂點(diǎn)和邊開始降序排列標(biāo)號(hào)。


我們首先查看各個(gè)邊(例如A,b,A),看看它們是否滿足此最小支持閾值。我將從查看頂部的第一個(gè)圖表開始。有一個(gè)邊是(B,a,C),我需要計(jì)算有多少圖有這樣的邊。我可以在第一張圖,第二張圖,第三張圖和第四張圖中找到它,因此它支持4; 我們會(huì)保留那一個(gè)。還要注意我可以選擇將該邊寫為(C,a,B),但是選擇用B作為起始頂點(diǎn)來編寫它,因?yàn)槲覀冊(cè)谏厦娼⒘怂捻樞颉N覀兝^續(xù)前進(jìn)并檢查(A,a,C)并發(fā)現(xiàn)它只能在第一個(gè)圖中找到; 它被丟棄了。我們檢查(A,c,C)并在前4個(gè)圖中找到它; 收下

我們基于優(yōu)先級(jí)規(guī)則的下一步是嘗試將頂點(diǎn)3(‘C’)鏈接到根或’A’。我們可以選擇的唯一常用邊是(C,c,A)。

這僅存在于我們的一個(gè)圖表中,因此我們將進(jìn)入下一個(gè)增長(zhǎng)優(yōu)先級(jí)。由于在頂點(diǎn)3處的’C’與’B’和頂點(diǎn)1之間已經(jīng)存在鏈接,因此第二優(yōu)先級(jí)不是一個(gè)選項(xiàng),因此我們嘗試再次從頂點(diǎn)3處的’C’增長(zhǎng)/延伸。我們可以添加(C,a,B)或(C,c,A)。添加(C,a,B)看起來像這樣

我們嘗試添加(C,c,A)。但在我們留下的任何圖表中都找不到它。由于我們?cè)谶@里再次走向死胡同,我們將進(jìn)入我們的第五個(gè)優(yōu)先增長(zhǎng)選擇:再次從根增長(zhǎng)。如果我們?cè)噲D從根’A’增長(zhǎng),我們可以使用(A,b,B)或(A,c,C)。從(A,b,B)開始,我們將得到一個(gè)如下所示的子圖


這在我們的任何圖表中都找不到,所以我們嘗試添加(A,c,C)作為我們最后的努力

support=0,回到最近一個(gè)待定狀態(tài)(1,3,B,b,A),其support<3,繼續(xù)回到(0,4,A,c,C)support<3,繼續(xù)回到上一個(gè)待定狀態(tài)(0,2,A,c,C)。

我們可以從C節(jié)點(diǎn)擴(kuò)展,我們的兩個(gè)選項(xiàng)是(2,3,C,a,B)和(2,3,C,c,A)添加(2,3,C,a,B)看起來像這樣

第一條邊擴(kuò)展結(jié)束,下面來擴(kuò)展第二條邊(0,1,A,c,C)此時(shí)在原圖中去掉(A,b,B)邊。原圖變?yōu)?/p>

經(jīng)過一系列擴(kuò)展后得到

下面來擴(kuò)展第三條邊(0,1,B,a,C)此時(shí)在原圖中去掉(A,b,B),(A,c,C)邊。原圖變?yōu)?/p>

經(jīng)過一系列擴(kuò)展后得到

綜上所述,所有的頻繁子圖為:

?

總結(jié)

以上是生活随笔為你收集整理的图挖掘算法-gSpan的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。