170 likes | 488 Views
指導 教授:陳世穎 專題成員: 蔡岳峻 、郭立辰 國立臺中科技大學資訊工程系. 巨量資料探勘技術. System Software and Network Multimedia Lab. 目錄. 簡介 研究背景 MapReduce 架構 AprioriAll 演算法 GSP 演算法 (Generalized Sequential Pattern) AprioriAll 演算法平行化設計 GSP 演算法平行化設計 實驗環境 實驗 結果 結論. System Software and Network Multimedia Lab. 簡介.
E N D
指導教授:陳世穎 專題成員:蔡岳峻、郭立辰 國立臺中科技大學資訊工程系 巨量資料探勘技術 System Software and Network Multimedia Lab
目錄 • 簡介 • 研究背景 • MapReduce架構 • AprioriAll演算法 • GSP演算法(Generalized Sequential Pattern) • AprioriAll演算法平行化設計 • GSP演算法平行化設計 • 實驗環境 • 實驗結果 • 結論 System Software and Network Multimedia Lab
簡介 • 本研究的目的是透過平行化的MapReduce架構,有效處理大型資料庫,並設計序列樣本探勘的演算法,縮短其執行時間。 • 分析兩種探勘演算法的效能: 序列樣本探勘之AprioriAll演算法、GSP演算法在不同的Min-Support 效能與不同的資料量大小處理效能比較。 System Software and Network Multimedia Lab
研究背景(1/3) • MapReduce架構 Output Map 階段 Reduce 階段 Input Sort / copy Output 0 Merge Reduce function Map function Split 0 Output 1 Merge Reduce function Map function Split 1 Output 2 Merge Reduce function Map function Split 2
研究背景(2/3) AprioriAll演算法介紹: 循序樣本探勘中最基礎的演算。 主要包含下列步驟: 第一、排序階段。 第二、找出最大的項目集階段。 第三、轉換項目集。 第四、產生候選序列集。 第五、由候選序列中找出大型的序列(large sequence) (重複第四步驟,直到沒有大型序列為止)。 第六、將最後搜尋的最大序列,還原為原始的交易項目。 System Software and Network Multimedia Lab
研究背景(3/3) GSP 演算法介紹: • GSP演算法以 AprioriAll為基礎 (1)改善時間相近的問題與時間上的限制。 (2)處理步驟相較於AprioriAll少,但是參數設定較多。 • GSP演算法與AprioriAll演算法不同之特性 (1)增加時間的限制(max-gap)、(min-gap)的間隔。 (2)設定時間的滑動視窗,允許相近的交易時間視為同一筆交易, 增加交易時間彈性。 System Software and Network Multimedia Lab
AprioriAll平行化設計(1/2) 3 {[1] [2] [3] [4] } • AprioriAll演算法平行化範例說明: 找出Large 1-sequence itemset 1 {[1 5] [2] [3] [4]} 4 {[1] [3] [5] } 2 {[1 ] [3] [4] [3 5] } 5 {[4] [5] } Map function Map function <1, {2} > <2, {1}> <3, {3}> <4, {2}> <5, {2}> <1, {2}> <2, {1}> <3, {2}> <4, {2}> <5, {2}> <2, {1}> <2, {1}> <4, {2}> <4, {2}> <1, {2}> <1, {2}> <3, {3}> <3, {2}> <5, {2}> <5, {2}> Reduce function Reduce function <1, 4> <3, 4> <5 4> <2,2> <4, 4> System Software and Network Multimedia Lab
AprioriAll平行化設計(2/2) 3 {[1] [2] [3] [4] } 1 {[1 5] [2] [3] [4]} 4 {[1] [3] [5] } • AprioriAll演算法平行化範例說明: 找出Large 2-sequence itemset 2 {[1 ] [3] [4] [3 5] } 5 {[4] [5] } Map function Map function < [1 2 ], 1> < [1 3 ], 2> < [1 4 ], 1> < [1 5 ], 1> < [2 3 ], 1> < [2 4 ], 1> < [3 4 ], 1> < [3 5 ], 1> < [4 5 ], 1> < [1 2 ], 1> < [1 3 ], 2> < [1 4 ], 2> < [1 5 ], 2> < [2 3 ], 1> < [2 4 ], 1> < [3 4 ], 2> < [3 5 ], 1> < [4 5 ], 1> 由Large 2-sequenceitemsets • 再找出Large 3-sequence itemsets • 再找出Large 4-sequence itemsets,持續重複直到下一階段無任何大型序列為止。 < [1 2 ], {1,1}> < [1 3 ], {2,2} > < [1 4 ], {2,1}> < [1 5 ], {2,1} > < [3 4 ], {1,2}> < [3 5 ], {1,1}> < [2 3 ], {1,1}> < [2 4 ], {1,1}> < [4 5 ], { 1,1} > < [1 2 3 ],2> < [1 2 4 ], 2> < [1 3 4 ],3> < [1 3 5 ], 2> < [2 3 4 ], 2> Reduce function Reduce function < [1 2 ], 2> < [1 3 ], 4> < [1 4 ],3> < [1 5 ], 3> < [3 4 ], 3> < [3 5 ], 2> < [2 3 ], 2> < [2 4 ], 2> < [4 5 ], 2> < [1 2 3 4 ], 2> System Software and Network Multimedia Lab
GSP平行化設計(1/2) 3 {[1] [2] [3] [4] } • GSP演算法平行化範例說明: 找出Large 1-sequence itemset 1 {[1 5] [2] [3] [4]} 4 {[1] [3] [5] } 2 {[1 ] [3] [4] [3 5] } 5 {[4] [5] } Map function Map function <1, 2> <2,1> <3, 3> <4, 2> <5, 2> <1, 2> <2,1> <3, 2> <4, 2> <5, 2> <1, {2, 2}> <3, {3, 2}> <5, {2, 2}> < 2,{1,1}> <4, {2, 2}> Reduce function Reduce function <1, 4> <3, 5> <5,4> < 2,2> < 4, 4> System Software and Network Multimedia Lab
GSP平行化設計(2/2) 3 {[1] [2] [3] [4] } 1 {[1 5] [2] [3] [4]} 4 {[1] [3] [5] } • GSP演算法平行化範例說明: 找出Large 2-sequence itemset 2 {[1 ] [3] [4] [3 5] } 5 {[4] [5] } Map function Map function < [1 2 ], 1> < [1 3 ], 2> < [1 4 ], 1> < [1 5 ], 1> < [2 3 ], 1> < [2 4 ], 1> < [3 4 ], 1> < [3 5 ], 1> < [4 5 ], 1> < [1 2 ], 1> < [1 3 ], 2> < [1 4 ], 2 >< [1 5 ], 2> < [2 3 ], 1> < [2 4 ], 1> < [3 4 ], 2> < [3 5 ], 1> < [4 5 ], 1> 由Large 2-sequence itemsets 執行合併找出Large 3-sequence itemsets 再找出Large 4-sequence itemsets, • 持續重複直到下一階段無任何大型序列為止。 < [1 2 ], {1,1}> < [1 3 ], {2,2}> < [1 4 ],{2,1}> < [1 5 ], {2,1}> < [3 4 ], {1,2}> < [3 5 ], {1,1}> < [2 3 ], {1,1}> < [2 4 ], {1,1}> < [4 5 ], {1,1} > < [(1,2) (3 ], 2> < [(1,2) (4) ], 2> < [(1) (3,4) ],3> < [(1,3) (5) ], 2> < [(2) (3,4) ], 2> < [(2) (3) (5) ], 2> < [(1,2 )(3,4) ], 2> Reduce function Reduce function s < [(1,2) (3) (5)], 1> < [2 3 ], 2> < [2 4 ], 2> < [4 5 ], 2> < [1 2 ], 2> < [1 3 ], 4> < [1 4 ],3> < [1 5 ], 3> < [3 4 ], 3> < [3 5 ], 2> < [(1,2 )(3,4) ], 2> System Software and Network Multimedia Lab
實驗設計 • 測量二者演算法於平行架構上的效能測試, 實驗設定交易資料筆數多寡、最低支持度數據。 • 本實驗為排除GSP演算法的參數限制, 方能與AprioriAll演算法一同進行實驗, 所以將GSP演算法參數設定為WindowsSlide=0, min-gap=0且max-gap=∞,進行實驗效能比較。 • 本實驗使用IBM提供Synthetic Data Generation 來產生資料集,並且寫一支程式由亂數產生時間戳記與交易次數(平均交易5次)。 System Software and Network Multimedia Lab
實驗環境 • 實際測驗環境與設備,硬體設備結合7台電腦進行效能測試,其中1台為Master主機,其餘6台為Slaves機器。 System Software and Network Multimedia Lab
實驗結果(1/3) • 最低支持度數據效能測試 • 資料庫數據約為5萬筆交易量,平均長度約10個交易項目。 • 最低支持度數據分別為5%、10%、15%、20%進行實驗測試之效能分析。 • GSP演算法執行效能優於Apriori All演算法。 • 比較顯著差異在於設定Min-Support為5%時。 System Software and Network Multimedia Lab
實驗結果(2/3) • 資料庫交易量效能測試 • 測試資料庫交易量分別為5萬筆、10萬筆、50萬筆、100萬筆,平均長度約10個交易項目。 • GSP演算法效能執行上也優於Apriori All演算法。 • 最顯著差異在於設定交易筆數為100萬筆時。 System Software and Network Multimedia Lab
實驗結果(3/3) • GSP參數設定效能測試 • 資料平均長度約10個交易項目。 • 測試交易單位時間分別為100、200、500、1000、10000進行分析。 • 設定交易時間長短,當交易時間越長相對交易筆數量也增加的情況下,所執行的時間效能也會明顯增加。 • 圖15 GSP參數執行時間 System Software and Network Multimedia Lab
結論 • 本研究的目的分析二種不同類型探勘演算法透過平行應用架構,有效處理大型資料庫並縮短執行時間。 • 採用序列探勘模式中AprioriAll演算法與 GSP 演算法,透過 MapReduce資料平行應用架構。 • 實驗結果顯示於MapReduce資料平行應用架構下, GSP演算法在資料筆數越多的大型資料庫處理效能上優於AprioriAll演算法。 System Software and Network Multimedia Lab
報告結束 謝謝各位聆聽 System Software and Network Multimedia Lab