220 likes | 515 Views
Incremental Mining Association Rules. 報告人 : 楊士賢 4/15. Introduction. Data Mining 的重要性日益普及,目前相關的演算法和研究是偏重在靜態的資料庫上。 對於現實生活而言,資料庫的內容往往是隨時間在變動的,如何有效的改良現有的演算法用配合動態的資料庫是一個重要的課題。 接下來將報告 Association Rules Mining 運用在動態的資料庫的相關研究。. 我們來看看一個例子. 變動前. 變動後. 假如我想做 Association Rules Mining ?.
E N D
Incremental Mining Association Rules 報告人:楊士賢 4/15
Introduction • Data Mining 的重要性日益普及,目前相關的演算法和研究是偏重在靜態的資料庫上。 • 對於現實生活而言,資料庫的內容往往是隨時間在變動的,如何有效的改良現有的演算法用配合動態的資料庫是一個重要的課題。 • 接下來將報告 Association Rules Mining 運用在動態的資料庫的相關研究。
我們來看看一個例子 變動前 變動後
假如我想做 Association Rules Mining ? • min_support=40% • 透過 Apriori Algorithm • C1={A(6), B(6), C(6), D(3), E(4), F(3)} • S1={A(6), B(6), C(6), E(4)} • C2={AB(4), AC(4), AE(2), BC(4), BE(4), CE(2)} • S2={AB(4), AC(4), BC(4), BE(4)} • C3={ABC(3)}
資料變動後,假如我想再做一次做 Association Rules Mining ? • min_support=40% • 透過 Apriori Algorithm • C1={A(4), B(5), C(5), D(5), E(5), F(4)} • S1={A(4), B(5), C(5), D(5), E(4), F (4)} • C2={AB(2), AC(3), AD(2), AE(1), AF(1), BC(2), BD(4), BE(4), CE(2)…} • S2={BD(4), BE(4), DE(4)} • C3={BDE(3)}
FUP Base • 1996年由 David W. Cheung、Jiawei Han 提出。 • 利用之前已經 mining 好的結果,降低之後再做 mining 時所產生的candicate itemset 數目,以減少 scan 資料庫的時間。
min_support=40% • 透過 Apriori Algorithm • C1={A(6), B(6), C(6), D(3), E(4), F(3)} • S1={A(6), B(6), C(6), E(4)} • C2={AB(4), AC(4), AE(2), BC(4), BE(4), CE(2)} • S2={AB(4), AC(4), BC(4), BE(4)} • C3={ABC(3)} Q :是 candicate itemset 但不是frequent itemset P :是 candicate itemset 也是 frequent itemset
變更 我們只要掃過 – 和 + 即可知道這些 itemset 的新 Support 值。
PELICAN & MAAP Algorithm • PELICAN & MAAP Algorithm 都是在 2001年發表的論文,兩篇論文的作者皆認為所謂 “ 重要的frequent itemset ” ,指的是那些 maximum frequent itemsets,所以在 mining 的時候,只需算出哪些是 maximum frequent itemsets 即可。 • 在做法上是屬於 FUP 家族,而 PELICAN 和 MAAP 的不同點在 PELICAN 是利用 latice 的做法,而 MAAP 則是利用 apriori 的方式。(其實 latice 也是 apriori 的一種 ,資料結構不同)
Sliding Window • 在2001年,由 Ming-Syan Chen ( 陳銘憲 ) 、Chang-Hung Lee (李昌鴻) 提出。 想法: • 將資料及 itemset 利用時間切成一部份、一部份,假如資料庫變動之後,針對變動的部分做處理。
F F • 假如某 itemset (稱為 I1 )在 P1中的出現次數大於 | P1 | * min_support, • 且 P1到P2的出現次數大於 | P1 + P2 | * min_support • 且 P1到P3的出現次數大於 | P1 + P2 + P3 | * min_support • 則 I1必為 frequent itemset。 F • 假如某 itemset (稱為 I2 )在 P1中的出現次數大於 | P1 | * min_support, • 且 P1到P2的出現次數小於| P1 + P2 | * min_support • 而在P3的出現次數大於 | P3 | * min_support • 則 I2可能為 frequent itemset。( 我們稱 I2為 candicate itemset ) F NoF F
假如某 itemset (稱為 I3 )在 P1中的出現次數大於 | P1 | * min_support • 但 P1到P2的出現次數小於| P1 + P2 | * min_support • 且在P3的出現次數也小於| P3 | * min_support • 則 I3不可能為 frequent itemset。 F NoF NoF 4 3 2 1 3 2 1 3 2 1
1.根據實驗,大部分做 frequent itemset mining 的瓶頸是卡在 C2到L2的步驟,利用 Sliding Window Algorithm,可將C2的產生的時間縮短,並且將 C2 的結果逼近 L2。 2.一但產生C2後,因為C2 的結果逼近 L2,所以直接用 C2*C2產生 C3,再用 C3*C3 產生 C4,再用 C4*C4 產生 C5…。 3.最後將 C2 + C3 + C4 +…+ Ck 一起做 check 去決定是否為 freqeunt。 ( 2、3 步驟合起來稱為 scan reduction ) Incremental Mining: 1.修正上一次的C2﹝同樣利用 Sliding Window 做修正﹞。 2.一但產生新C2後,因為新C2 的結果逼近新 L2,所以直接用 C2*C2產生 C3,再用 C3*C3 產生 C4,再用 C4*C4 產生 C5…。 3.最後將 C2 + C3 + C4 +…+ Ck 一起做 check 去決定是否為 freqeunt。
FUP + Sliding Window • FUP 的目的在降低 candicate itemset 的數目,以縮短 scan 資料庫的時間。 • Sliding Window 目的在快速的產生數目接近 的 2-freqeunt itemset 的 2-candicate itemset,以縮短 mining 時間。 • FUP + Sliding Window : 先以 Sliding Window 快速的產生長度為2的 candicate itemset ,在利用 FUP 降低長度大於 2的 candicate itemset 數目,以縮短 scan 資料庫的時間。
Experiment T10-I4-D100-d10
T10-I4-D100-d10 0.1%
References • David W. Cheung, S.D. Lee, Benjamin Kao, “A General Incremental Techniques for Maintaining Discovered Association Rules”, Proceedings of the 5th international conference on database systems for advanced applications, Melbourne, Australia, Apr. 1-4, 1997 • Chang-Hung Lee, Cheng-Ru Lin, and Ming-Syan Chen, “Sliding-Window Filtering: An Efficient Algorithm for Incremental Mining”, ACM CIKM 2001 • Zequn Zhou, “A Low-Scan Incremental Association Rule maintenance Method Based on the Apriori Property”, AI 2001 • A. Veloso, B. Possas, W. Meira Jr., M. B. de carvalho, Knowledge Management in Association Rule Mining, ICDM 2001