第五章 演算法執行效率評估
為了驗證本研究方法的可行性與執行效率評估,我們在個人電腦上實做本論
文所提出的 FGCD 演算法,並和 gSpan 演算法[10]做比較。所選用的實驗平台為
Linux 工作站,處理器為 Intel Xeon 3.40GHz,記憶體為 1GB,作業系統為 Linux
2.6.13-gentoo-r5,演算法則以 C++語言實作。
5-1 資料來源及圖型資料串流產生方式
實驗中所採用的資料庫由gSpan作者Xifeng Yan所提供,亦為探勘常見子圖的
論文[1][10]用來實驗評估演算法效能的資料庫,為目前評量探勘常見子圖樣式演
算法的標準資料庫(benchmark)。此資料庫為一個化學複合物資料集,來源為美國
國家疾病管制局(National Cancer Institute)裡AIDS病毒篩檢部門,用來檢測評估病
毒(Predicative Toxicology Evaluation Challenge)的化學複合物資料集;其中PTE資
料集中有 340 筆化學複合物,共有 4 種鍵結類型,66 種原子類型,每筆化學複合
物平均有 27 個頂點,28 條邊。最大的化學複合物具有 214 個頂點及 214 個邊。
論文[10]將資料集中的鍵結類型當做圖型結構的邊標示編碼,原子類型當做圖型
結構的頂點編碼,轉成論文中圖型資料的輸入內容。
PTE資料集可由下列的網站下載:
http://web.comlab.ox.ac.uk/oucl/research/areas/machlearn/PTE
本論文模擬圖型資料串流,產生每單位時間的累積圖型資料集,由上述 PTE
資料庫中取出 61 筆產生最長常見子圖樣式的圖型資料集當做主要產生常見子圖
的母群圖型資料集,另外亦由 PTE 資料庫取出只會產生常見 1-子圖,最多產生常
見 2-子圖的一群圖型資料當做稀疏圖型資料集(sparse dataset);首先從稀疏圖型資
料集中取 39 筆圖型資料集,加上母群圖型資料集中的 61 筆圖型資料,組成 100
筆資料,做為第一個及第二個單位時間的累積圖型資料集。接下來每單位時間從
母群圖型資料集中減少 5 筆圖型資料,並由稀疏圖型資料集中增加 5 筆圖型資
料,共產生五個單位時間的累積圖型資料集,模擬圖型資料串流。
母群圖型資料集中所包含之最長子圖樣式如圖 5.1中所示之G
B1、G
B2、G
B3及
G
B4。
1 9
0 0 0
1 0
9
1 9
9
0 0
1 1
0 0
1 9
0 0
1 9
0 0
1 9
0 0 0
1
1 1
0 0
G B1
1 0
0 3
1 0
0
0 3
4 0
1 0
0 3
1 0
0 3
0
0 3
1
3
G B2
1 0 0 3
1 0
0
0 3
9 0
1 0
0 3
1 0
0 3
0
0 3
1
3
G B3
1 0
1
0
0 3
1 0
0
0 3
9 0
9 0
0 3
1 0
0 3
0
0 3
1
3
G
B41 0
1 0
圖5.1 母群圖型資料集中最長之子圖樣式
5-2 實驗評估
本實驗評估主要分為二大部份,第一部份對於以 gSpan 完整探勘出常見子圖
樣式以及以 FGCD 演算法對基底常見子圖樣式進行偵測比對,進行兩者的執行時
間比較。第二部份為模擬圖型資料串流,評估 FGCD 演算法在圖型資料串流中常
見子圖樣式趨勢轉變偵測的效能。
【實驗一】 :比較不同最小支持度門檻值對 FGCD 演算法與 gSpan 演算法在執行
時間上的影響。
【實驗 1.1】FGCD 演算法及 gSpan 演算法在 PTE 化學複合物資料集的執行時間
比較。
測試資料庫包含 340 筆PTE化學複合物圖型資料,首先執行gSpan演算法探勘
出常見子圖樣式,以此常見子圖樣式當做基底常見子圖樣式,再採用FGCD演算
法對相同的PTE圖型資料集在相同的最小支持度門檻值設定下進行常見子圖樣式
偵測比對。實驗中變動最小支持度門檻值,比較FGCD演算法與gSpan的執行時
間。實驗結果如表 5.1及圖 5.2所示,FGCD演算法比gSpan執行時間短,且兩者執
行時間的差異隨著最小支持度門檻值的降低而增大,顯示本論文方法比重新進行
探勘節省時間。
表5.1 變動最小支持度門檻值探勘 PTE 資料集所得之常見子圖樣式個數 最小支持度門檻值
5% 4.71% 4.41% 4.12% 3.82% 3.53% 3.24% 2.94% 2.65%最小計數值門檻值
17 16 15 14 13 12 11 10 9常見子圖樣式個數
3608 4405 4984 5935 8753 13816 18121 22758 31947PTE資料集
0 2 4 6 8 10 12 14 16 18 20
5.0% 4.7% 4.4% 4.1% 3.8% 3.5% 3.2% 2.9% 2.6%
最小支持度門檻值
執行時間(秒)
FGCD gSpan
圖5.2 FGCD 及 gSpan 在 PTE 資料集的執行時間比較
【實驗 1.2】 FGCD 演算法及 gSpan 演算法在 61 筆母群圖型資料集的執行時間比
較。
測試資料集為包含 61 筆母群圖型之資料集。同樣先以gSpan演算法探勘出常
見子圖樣式,以此常見子圖樣式當做基底常見子圖樣式,再採用FGCD演算法對
相同的 61 筆母群圖型資料在相同的最小支持度門檻值設定下進行常見子圖樣式
偵測比對。實驗中變動最小支持度門檻值,比較FGCD及gSpan的執行時間。由圖
5.3之實驗結果顯示,在包含 61 筆母群圖型的資料集中,FGCD演算法的偵測比對 時間比gSpan重新探勘常見子圖樣式的執行時間短,且節省時間比實驗 1.1 結果更
顯著。表 5.1及表 5.2顯示將兩個資料庫最小支持度門檻值換算成最小計數值門檻
值之觀察,當最小計數值門檻值為 9 時,PTE資料集中找出 31947 個常見子圖樣
式,而包含 61 筆母群圖型的資料集中只找出 8914 個常見子圖樣式,但是gSpan
在這二個資料集的執行時間變動卻不大,只降低 24.3%,而FGCD演算法的執行
時間則可有效降低 59.7%。如圖 5.3所示,在常見子圖樣式個數大幅增加的情況,
FGCD演算法執行時間呈線性成長,顯示FGCD演算法在樣式分佈較密集的資料庫 中比以gSpan重新探勘更有效率。
觀察母群圖型資料集中的子圖樣式,如圖 5.1中所示之G
B1共有 17 個邊,依
FGCD演算法 8 次可完成 17 個邊之比對,平均比對一個頂點v
gb後可完成 2.125 個 邊比對(17/8),也就是一個基底常見子圖的邊總數除以子圖中具有向前邊的頂點
個數越大,則FGCD演算法的比對效率越高。母群圖型資料集中其它的子圖樣式
如圖 5.1所示,G
B2可在 6 次頂點比對完成 12 個邊的比對(2 個邊/每個頂點),對子
圖G
B3在 7 次頂點比對能完成 13 個邊比對(1.86 邊/每個頂點),對G
B4能在 8 次頂點
比對完成 14 個邊比對(1.75 個邊/每個頂點)。因此FGCD演算法在包含 61 筆母群
圖型的資料集中平均一次頂點比對至少可比對完 1.75 個邊。因此歸納若一個子圖
樣式中頂點分支數越大,但同層頂點不會存在多個頂點皆具有向前邊,即一次頂
點比對能比對完越多的邊(有效處理邊個數/比對頂點次數),則能加速FGCD之方
法偵測特徵過程。且比起以gSpan重新探勘,執行效率的增進隨著最小支持度門
檻值降低而更為顯著。
表5.2 變動最小支持度門檻值探勘母群圖型資料集所得之常見子圖樣式個數 最小支持度門檻值 16.39% 14.75% 13.11%
最小計數值門檻值 10 9 8 常見子圖樣式個數 5812 8914 14182
0 2 4 6 8 10 12 14 16 18 20 22 24 26
16.39% 14.75% 13.11%
最小支持度門檻值
執行時間(秒)
FGCD gSpan
圖5.3 FGCD 及 gSpan 在母群圖型資料集的執行時間比較
【實驗二】圖型資料串流常見子圖樣式趨勢轉移之實驗。
本實驗以 5-1 節所述之 61 筆母群圖型資料及 39 筆稀疏資料所組成之 100 筆
圖型資料,當做模擬圖型資料串流中第一個時間單位之累積圖型資料集,第二個
單位時間也輸入相同的 100 筆圖型資料集,當做累積圖型資料集。第三個單位時
間則從母群圖型資料集中減少 2 筆圖型資料,並由稀疏圖型資料集中增加 2 筆圖
型資料。接下來第四個單位時間再從母群圖型資料集中減少 8 筆圖型資料,稀疏
圖型資料集中也再增加 8 筆圖型資料。最後第五個單位時間則再從母群圖型資料
集中減少 5 筆圖型資料,稀疏圖型資料集中則再增加 5 筆圖型資料。前後總共產
生五個單位時間的累積圖型資料集,模擬圖型資料串流。
實驗分為兩部份,第一部份以 gSpan 探勘出每單位時間累積圖型資料集中的
常見子圖樣式,觀察基底常見子圖在單位時間 2 到 5 之變化。第二部份則比較
FGCD 與 gSpan 所評估的趨勢轉移情況的差異。
第四章之 4-6 節所述之δ值表示基底常見子圖樣式仍為常見的比例:
δ = |累積圖型資料集中常見子圖樣式集∩基底常見子圖樣式集|
|基底常見子圖樣式集| ,
另計算一個 γ 值,表示累積圖型資料集中新出現的常見子圖比例。
γ = |累積圖型資料集中常見子圖樣式集 - 基底常見子圖樣式集|
|累積圖型資料集中常見子圖樣式集|
【實驗 2.1】觀察以 gSpan 實際探勘圖型資料串流所得δ值及 γ 值的變化。
首先由gSpan產生單位時間 1 的累積圖型資料集之常見子圖樣式,當做基底
子圖樣式。接下來每單位時間之累積圖型資料集,亦由gSpan探勘其常見子圖樣
式,從gSpan探勘出在累積圖型資料集之常見子圖樣式,與基底常見子圖樣式比
較算出δ值及γ值。圖 5.4顯示當累積圖型資料集與基底常見子圖的特徵差異越
大,γ值會越來越高,而δ值會越來越低,因此以δ值可反應基底常見子圖樣式
趨勢變化之情形。
0 20 40 60 80 100
1 2 3 4 5
時間
百分比 (%)
γ值 δ值
圖5.4 gSpan 探勘累積圖型資料集之δ及 γ 值結果
【實驗 2.2】以 FGCD 演算法實際偵測圖型資料串流趨勢轉移情況。
將單位時間 1 之累積圖型資料集以gSpan探勘出來的常見子圖樣式為基底常
見樣式。接下來單位時間 2 到 5 之累積圖型資料集以FGCD演算法偵測特徵,比
較使用FGCD演算法比對估算所得之δ值,及使用gSpan重新探勘累積圖型資料集
所得之實際δ值,結果如圖 5.5所示。我們可以看到,在單位時間 2 時,FGCD演
算法之δ值為 100%,與實際使用gSpan探勘結果相同,證實FGCD演算法在累積
圖型資料集中所出現的常見子圖樣式與基底常見子圖樣式完全相同時,能夠完整
偵測出來。我們也可以由圖 5.5看出FGCD演算法對此實驗集所估算出之δ值與使
用gSpan探勘所得之實際δ值差距甚小,因此使用FGCD演算法所估算之δ值準確
度很高。圖 5.6顯示採用FGCD演算法進行比對及採用gSpan進行重新探勘在各別
時間點的執行時間,由於圖型資料流時間 3 到 5 逐漸減少母群圖型資料中的圖
型,且增加稀疏圖型資料集中的圖型,因此gSpan的執行時間越來越短,但FGCD
依然比gSpan執行時間來得短。
0 20 40 60 80 100
1 2 3 4 5
時間
δ值
gSpan FGCD
圖5.5 FGCD 演算法與 gSpan 方法偵測累積圖型資料集之δ值
0 5 10 15 20 25
1 2 3 4 5
時間
時間 (秒)
FGCD gSpan