子圖模式

本文主要是對Xifeng Yan和Jiawei Han 發表於2002年的論文《gSpan:Graph-Based Substructure Pattern Mining》的解讀

子圖模式:基於圖的數據挖掘,挖掘圖數據庫中的頻繁子結構

Introduction


2000,Inokuchi結合Apriori算法和數學圖論知識,提出了AGM算法
2001,Kuramochi對AGM進行了修改並引入了一些剪枝策率,提出FSG算法
2002,Jiawei Han等人提出了gSpan算法,有效的挖掘出圖數據集中的頻繁連通子圖


注:
連通圖:無向圖G,圖中任意兩個節點都存在路徑可達,則圖G稱爲連通圖

Applications of Graph Patterns
圖片名稱

節點表示個體,邊表示個體之間的親密屬性

頻繁子圖挖掘的核心是圖的同構測試

The Apriori-like algorithms suffer two additional cost:
(1)Costly subgraph isomorphism test
(2)Costly candidate generation

gSpan
不產生候選集,gSpan能夠在圖數據庫中建立一個新的字典排序並且爲每一個圖賦予一個最小DFS碼作爲該圖的規範標籤(無向連通圖)

大致過程:Each graph is assigned a unique minimum DFS code .Based on DFS codes,a hierarchical search tree is constructed.By pre-order traversal of the tree,gSpan discovers all frequent subgraphs with required support

圖的同構測試

Preliminary Concepts

這裏寫圖片描述
圖同構:在兩圖的節點集合之間建立一個映射關係,G1兩頂點對應的邊和G2兩頂點對應的邊相同
f:保持了邊的連接性以及頂點標籤和邊標籤不變
(上面的五邊形和五角星是同構圖)

這裏寫圖片描述

注:只能挖掘連同子圖

Lexicographic Ordering in Graphs

這裏寫圖片描述
這裏寫圖片描述
最右路徑在後面有詳細介紹

這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
DFS Tree 一個節點都有一個前沿,可以有多個後沿
DFS code:按DFS的發現順序添加節點,與DFS中已存在的節點進行連接(按順序進行連接),先添加前沿,再添加後沿。

這裏寫圖片描述
DFS Code標籤按照字典順序進行比較得到Minimum DFS Code

Example

這裏寫圖片描述
這裏寫圖片描述
添加Gi 中互不相同的標籤元組作爲前向擴張,計算每條邊的支持度,選出頻繁一邊圖

這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
生成候選子圖C1,C2這裏涉及到最優路徑擴展,在下節詳細描述。
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
最終結果
這裏寫圖片描述
s4、s5是非頻繁的
s9同構於s8是非頻繁的

最右路徑擴展

這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

gSpan##實驗

gSpan是一個頻繁子圖挖掘算法,這個程序使用Python實現了gSpan算法。
無向圖頻繁子圖挖掘
數據集爲論文中的Chemical Compound Dataset
部分實驗結果:
這裏寫圖片描述
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章