以超圖結構和聚類分析來輔助大資料的關聯規則法 研究
on the study of association rules in large data based on hypergraph and cluster
陳榮昌 胡小靜 謝永紅
摘 要
如何在大資料中挖掘有價值的關聯規則,
找出其中隱藏的知識,已經被越來越多的學者 重視。本研究利用超圖和聚類分析來幫助局部 關聯規則法,可以快速找到隱藏在大資料中的 關聯規則。因為大量資料中,若直接使用傳統 的聚類演算法來找關聯規則,其複雜度會相當 大,所以我們首先在預處理中,對資料庫裡面 大量資料進行基於無向超圖結構的聚類預處 理,在較短時間複雜度內找出不同類別的群聚 類;然後針對不同的群聚類,構造相應的基於 有向超圖結構的關聯規則;最後,對形成的有 向超圖進行局部精簡的動作,去除迴圈邊和逆 邊的存在。因此,可以在較短時間內找到價值 的、簡潔的以及準確的關聯規則。
關鍵詞:大資料,超圖,聚類,關聯規則
Abstract
The issue of how to mine valuable association rules or the hidden knowledge in big data has been concerned by more and more scholars. In this research, we propose a local mining method of association rules based on hypergraph and clustering analysis that can find out the association rules quickly.
Using traditional clustering algorithms to find out association rules directly in large amounts of data made quite large time complexity. Therefore, we first identify different types of clusters structured by undirected hypergraph as a pretreatment process in a short time complexity; then build the association rules network based on directed hypergraph for each cluster; finally, simplify the formed directed hypergraph by
removing looping hyperedge or reverse hyperedge. After these steps, we can find out association rules with value, concision as well as accuracy in a relatively short period of time.
Keywords: big data, hypergraph, clustering analysis, association rules
1. 前言
如何從大資料中挖掘重要資訊和知識已經 被越來越多的學者研究,並且在資料庫系統和 機 器 學 習 等 領 域 中 作 為 一 個 重 要 的 研 究 主 題——資料採擷,也稱為知識發現[1]。隨著資 料庫中的資料不斷增長,相應的挖掘技術和工 具也隨之而出,常見的挖掘技術有分類法[2][3],
例如基於決策樹的分類中,決策樹的葉子個數 即 為 資 料 被 分 類 的 類 別 數 ; 聚 類 分 析 法 [4][5][6],例如基於資料相似性的聚類分析中,
同一聚類中的資料相似性最大,不同聚類中資 料相似性最小;關聯規則法 [7][8],例如應用 Apriori[8]或 FP-tree[9]等演算法挖掘出高支援 度和高信任度的強關聯規則。傳統的基於最小 支持度和最小信任度的架構來挖掘關聯規則 會產生大量頻繁項集,即蘊含了大量的關聯規 則,然而這些規則中存在過多沒有價值的資訊,
如顯而易見的規則(購買麵包的人經常同時購 買牛奶)或由於缺少資訊完整性而導致不符合 事實的規則(女性每月工資低於 5K),這種情 況下挖掘出的關聯規則存在冗餘和錯誤的資 訊。針對消除冗餘資訊的問題,不少學者也提 出來相應的方法,文獻[10][11]提出在產生候選 專案集的過程中加入閉集合的概念,文獻[12]
則加入興趣度標準作為約束條件,減少候選項 目集的數量,文獻[13][14]則是將挖掘出的關聯 北京科技大學計算機與
通信工程學院 [email protected] 朝陽科技大學資訊管理系
北京科技大學計算機與 通信工程學院 [email protected]
規則再次進行基於距離函數的聚類分析,提煉 出精簡的關聯規則。以上方法一定程度上使得 所挖掘的關聯規則品質有所提高,通過在全域 資料範圍內刪除冗餘資訊達到精簡資料,達到 精簡所挖掘的關聯規則的目的。然而,在資料 庫中,通過全域刪除部分資訊的方法會導致重 要資訊的遺失,被刪除的資訊在局部範圍內可 能有著重要的價值,蘊含著潛在的關聯規則。
在文獻[15]中,作者獨樹一幟地提出了基 於超圖的結構在局部範圍內挖掘關聯規則,並 在局部範圍內對所挖掘的關聯規則進行精簡,
以消除冗餘規則,不僅提高了所挖掘的關聯規 則的品質,而且確保了全域資料資訊不會被遺 失。同時,由於超圖結構的性質特點,所挖掘 的關聯規則結合圖論的應用可以達到規則推 理的目的,挖掘出不易被發現的關聯規則。然 而,在資料量龐大的資料庫裡挖掘有價值的潛 在規則通常會耗費大量的時間和空間,因此,
本文提出了降低複雜度的方法:首先針對大量 資料採用基於超圖結構的聚類預處理,將強關 聯性的資料項目聚集在一個聚類中,形成多組 不同的聚類,使得每個聚類內的資料項目相關 性最大,並且不同聚類間的相關性最小。然後,
應用切割演算法將所有聚類進行切割形成不 同子群,找出其中強關聯性的子群。最後,針 對強關聯性子群應用基於超圖的局部關聯規 則法挖掘出高品質的關聯規則。相對於在全域 資料庫中挖掘關聯規則的方法,該方法的挖掘 效率以及挖掘準確性要高的多。由於在局部挖 掘規則過程中結合了超圖結構,它充分體現了 規則的完整性以及傳遞性,規則的完整性確保 了資訊的準確性,規則的傳遞性隱含了知識的 推理過程,説明我們找出潛在的規則,這些規 則往往是最具有價值的部分。
本文章節安排如下:章節 1,介紹研究背 景,針對當前資料採擷技術存在的問題,提出 本論文所要討論的研究方法;章節 2,介紹相 關工作,探討已有的相關技術;章節 3,重點 介紹本文提出的基於超圖結構和群聚分析的 大資料關聯規則法,並給出相應的演算法;最 後章節 4 是結論和未來研究。
2. 相關工作
本篇論文所用到的相關文獻的方法簡述如 下。
2.1 超圖模型
超圖(Hypergraph)H=(V,E),v={v1,v2,…,vn}
是節點的集合,E={e1,e2,…,em}是超邊的集合 [16],ei包含於 V,i=1,2,…,m。超圖相對於一 般圖而言,最大的不同是一般圖只能建立兩個 節點之間的關係,而超圖中的邊可以表示兩個 或兩個以上的多個節點之間的關係,也稱為超 邊。一般圖是超圖的一個特例,即當超圖中所 有超邊連接的節點個數均為 2 時。有向超圖 (Direted Hyper Graph)[17],是在無向超圖的基 礎上明確了節點之間的方向。H=(V,E),V 是 節點的集合,有向超邊 E=(X,Y),X 與 Y 分 別是節點子集,且不相交。X 稱為有向超邊的 尾節點集合,Y 稱為有向超邊的頭節點集合,
也可用 T(E)和 H(E)來表示,即 E=(T(E),H(E))。
|H(E)|=1,表示有向超邊的頭結點集裡面的節點 個 數 為 1 , 該 有 向 超 邊 叫 做 B 有 向 超 邊 (Backward Direted Hyper-edge),如圖 1(a)所示。
當有向超圖的所有超邊均為 B 超邊時,該有向 超 圖 就 叫 做 B 有 向 超 圖 (Backward Direted Hyper-graph)。同理,有向超邊的尾節點個數為 1,即|T(E)|=1,該超邊叫做 F 有向超邊(Forward Direted Hyper-edge),如圖 1(b)所示。
隨著超圖理論的不斷發展,超圖模型的應 用也逐漸變得越來越廣泛。在資料採擷課題研 究中,超圖因為有著特殊的結構模型不斷被研 究,學者嘗詴用這種新穎的結構代替傳統的資 料模式[15][18],以達到更有效的資料採擷。例 如,在無向超圖模型中,超邊可以用來表示一 個聚類,超邊所包含的節點用來表示聚類內的 資料項目,同時,賦予超邊權值為聚類的平均 支持度(Support)或平均信任度(Confidence)。在 有向超圖模型中,超邊可以用來表示一條關聯 規則,T(E)節點集和 H(E)節點集分別用來表示 關聯規則的前件和後件,同時,賦予超邊權值 為該關聯規則的信任度大小。用基於超圖模型 的方法來進行資料採擷的好處就在於,超圖結 構本身的多元關係可以表示資料庫中大量資 料間的複雜關係以及超圖的推理性質可以表 示資料間複雜關係的傳遞性。
(a) (b) 圖 1 有向超邊
(a) B 有向超邊; (b) F 有向超邊 2.2 超圖結構的聚類
文獻[18]提出採用超圖的結構對資料進行
聚類。在超圖模型中,資料項目對應超圖的節 點,資料項目形成的聚類則對應超圖的超邊。
一條超邊代表一個聚類內資料項目之間存在 著關聯關係,超邊權值大小表示了關聯關係的 強弱。因此,使用超圖結構來呈現資料的聚類 形式主要要解決以下三個目標問題:(1) 確定 演算法形成資料的不同聚類;(2) 確定聚類的 權重;(3)完善所形成的聚類。
(1) 確定演算法形成資料的不同聚類。傳 統的聚類技術有基於資料相似性或資料項目 之間距離的聚類演算法等,著名的演算法有 Apriori[8]演算法、k-means 演算法等,均可以 形成好的聚類。文獻[18]採用 Apriori 演算法,
挖掘出所有滿足最小支持度和最小信任度的 頻繁項,將每一個頻繁項作為一個聚類。對應 到超圖模型中,形成的聚類對應超圖中的超邊,
聚類內的資料項目為超邊所包含的節點。
(2) 確定聚類的權重:聚類的權重即超邊 權值的大小依據聚類內資料項目間存在的關 聯規則平均信任度的大小來確定。規則的信任 度越大表示規則所包含的前件與後件關聯強 度越大,利用 Apriori 演算法挖掘出一個聚類內 所有存在的關聯規則,求和它們的信任度,再 求平均值,該平均值即作為超邊的權值。在超 圖模型中,用超邊所包含的節點間的平均關聯 強度的大小來表示超邊權值的大小。
(3) 完善所形成的聚類。在非大量資料項 目的情況下,以上演演算法足以對資料項目進 行有效的聚類。然而,隨著大資料時代的到來,
越來越多的不同類別的資料彙集在資料庫裡,
當資料量或資料類別非常龐大的情況下,形成 的聚類數目(超邊個數)也會隨之增大,因此,
文獻[19][20]中, Karypis 提出了 HMETIS 演 算法,該演算法對超圖結構進行切割形成多個 子超圖,即對形成的聚類進行分群,形成不同 的子群。實驗證明 HMETIS 演算法可以挖掘出 高品質的聚類,並在 VLSI 應用中取得較好的 結果。文獻[18]進一步對形成的子群進行完善,
提出 Fitness(C)檢測標準和 Connectivity(v,C)檢 測標準。Fitness(C)檢測標準用來刷選出子群中 高 品 質 的 子 群 , 即 強 關 聯 的 子 群 。 Connectivity(v,C)檢測標準用來剔除聚類內―壞‖
品質的資料項目,即關聯性較弱的資料項目,
而保留強關聯的資料項目。通過 Fitness(C)和 Connectivity(v,C)標準檢測得到的子群為高品 質的聚類切割。
用超圖結構來表示聚類,同時對超圖結構 不斷完善以達到高品質的聚類是一種新穎的
思路。超圖結構克服了一般圖一對一關聯性的 局限性,用來表示多個資料項目之間的關聯關 係。這種多元關係以及其中隱藏著的重要資訊,
例如資料項目之間的關聯性,可以通過其他資 料採擷技術進行挖掘。
2.3 超圖結構的關聯規則
關聯規則挖掘是資料採擷研究中的奠基 石 [8], 諸 多 挖 掘 關 聯 規 則 演 算 法 中 , 利 用 Apriori 演算法挖掘關聯規則是最常使用的方 法。另外,由於挖掘出的關聯規則同時存在著 大量冗餘資訊,關於關聯規則的另一個研究重 點是如何對挖掘出的關聯規則進行精簡的問 題。文獻[15]提出了用有向 B 超圖的結構來表 示關聯規則,一條關聯規則用一條有向超邊表 示,T(E)節點集和 H(E)節點集分別用來表示關 聯規則的前件和後件,同時,賦予超邊權值為 該關聯規則的信任度大小。因此,使用 B 超圖 結構來表示關聯規則主要解決兩個目標問題。
(1)構造關聯規則的有向 B 超圖;(2)精簡關聯 規則,即刪除 B 超圖的逆向邊和迴圈邊。
(1) 構造關聯規則的有向 B 超圖:在關聯 資料項目中任意找出一個資料項目作為目標 資料項目 G,利用 ARN 挖掘演算法挖掘所有 與目標資料項目 G 存在直接或間接關係的關 聯規則,同時為該關聯規則構造相應的有向超 邊,並將有向超邊的權值賦予該關聯規則的信 任度。有向超邊指向目標資料項目 G,它作為 超邊的 H(E)節點集裡面的元素,超邊的 T(E) 節點集裡面的元素為該關聯規則的前件。由於 是基於 B 超圖結構,因此任意超邊的 H(E)節點 集裡面的元素個數為 1,即所挖掘的關聯規則 的後件必頇是唯一的。ARN(association rules network)挖掘演算法利用反覆運算挖掘的原理,
將當前 T(E)節點集裡面的元素作為下一個目 標資料項目,依次挖掘出所有相關的關聯規則,
同時構造出完整的 B 有向超圖。
(2) 精簡關聯規則:構造 B 超圖的同時,
為每一個關聯資料項目賦予 Level 值,且定義 目標資料項目 G 的 Level 值為 0,即 Level(G)=0,
任 意 其 他 節 點 v 的 Level 值 定 義 為 L(v)=min{L(u)+1|e,v∈T(e)且 u=H(e)}。因此,
構造出的任一超邊的 Level(T(E))值應大於等於 Level(H(E))值,而 B 超圖中存在的逆向邊和迴 圈邊則出現 Level(T(E))值小於 Level(H(E))值 的情況,逆向邊和迴圈邊對應冗餘的關聯規則。
為了到達消除冗餘規則的目的,在演算法 ARN 中,所有逆向邊和迴圈邊不被構造,即不會出
現冗餘規則的情況,達到精簡關聯規則的目 的。
精簡後的 B 有向超圖稱為關聯規則網路
(ARN association rules network),其中所有節 點表示直接或間接關係的資料項目,利用超圖 的推理性質可以很容易的挖掘出資料項目之 間的間接關係,即隱藏著的關聯規則,具有重 要的意義。
3. 基於超圖結構的大資料關聯規則
法
在資料採擷的研究中,包含著高支持度
(Support)和高關聯度(Association)這兩個 重 點 部 分 , 我 們 希 望 找 出 的 關 聯 規 則
(Association Rules)是存在於頻繁專案中的潛 在規則,所以才能是有用的規則,因此,著名 的 Apriori 演算法通過最小支援度的篩選,來捨 棄一些較低支持度的項目[8]。然而,在大量資 料的資料採擷中,若只依據一個最小支持度這 個門檻值來篩選,往往會因為門檻過高而把高 關聯度的規則誤砍了,或者為了怕誤砍有用規 則而降低門檻,又會導致過多冗餘的規則產生,
並且提高了複雜度。所幸,我們可以利用超圖 結構的特性,將高關聯度相關的頻繁專案以超 邊來表示,然後再利用超圖目前的一些研究成 果來幫忙篩選有用的關聯規則,如此,既可以 保留高關聯度的項目,又能降低計算的複雜度。
底下我們將詳細介紹本研究的方法。本研究分 三個步驟來完成資料庫中關聯規則的挖掘,其 一為基於超圖結構的聚類預處理,目的是從大 量資料中,找到一些有價值的群聚,有別於傳 統群聚的演算法,這些候選的群聚間可能會是 有交集的,因此,群聚間的關聯資訊不會被捨 棄。其二是針對各候選的群聚進行局部關聯規 則挖掘,如此可以找出高支援度的關聯規則。
其三是關聯規則後處理,將挖掘出的關聯規則 再精簡。
3.1 基於超圖結構的聚類預處理
在資料採擷的過程中,聚類的作用就是將 資料集通過聚類演算法分成不同的組別或不 同的子集,使得在同一子集內的資料屬性相似 性最大或資料項目之間關聯性最大,使得不同 子集之間的資料屬性相似性最小或資料項目 之間關聯性最小。因此,聚類預處理將大量相 關資料項目預先聚集在一起,這有助於下一階 段更快更準確的進行局部關聯規則的挖掘。
(1) 確定演算法形成不同聚類
著名的 Apriori 演算法通過預設最小支援 度和最小信任度的閾值可以很有效的挖掘出 大量資料項目中的頻繁資料項目,頻繁資料項 目的數量隨著最小支持度和最小信任度的降 低而增多,隨著最小支持度和最小信任度的增 大 而 減 少 。 在 本 篇 論 文 中 , 我 們 同 樣 採 用 Apriori 演算法進行頻繁項的挖掘,確定支持度 和信任度的最小閾值,挖掘出資料庫中所有滿 足閾值的頻繁項集。每一個頻繁項集為一個聚 類,頻繁項集中的頻繁項為聚類中的資料項 目。
例如,如圖 2 所示:利用 Apriori 演算法挖 掘出頻繁多項集{A, B},{B, C}和{C, D, E}。
它們分別形成不同的聚類,用 I1、I2和 I3來表 示這三個聚類,I1內包含資料項目 A 和 B 意味 著資料項目 A 和 B 之間存在著關聯關係,同理,
資料項目 B 和 C 也存在關聯關係,聚類 I1,I2
同時包含資料項目 B,說明聚類 I1和聚類 I2之 間也存在著關聯關係。
圖 2 利用 Apriori 演算法形成不同聚類
(2) 確定聚類的權重
聚類的權重可以由該聚類內資料項目的 支援度或信任度來決定。若使用信任度來表示 聚類權值,它表示資料項目之間的緊密程度,
聚類內資料項目的局部緊密程度不能反應其 在全域資料項目中的重要程度,因此,我們不 採用信任度作為聚類權重。相反,資料項目的 支援度反應的是全域的概念,它能標記出該資 料項目在全域資料項目中是不是高頻出現的 項集,而往往高頻出現的資料項目集在實際應 用中更為普遍也更為重要,因此,我們採用資 料項目集(頻繁項集)的支援度來標記聚類的 權重,權重越大表示該聚類所包含的資料項目 也即頻繁項,在所有資料項目中一起出現的頻 率越大,是高頻出現的資料項目;權重越小表 示該聚類所包含的資料項目在所有資料項目 中一起出現的頻率越小,是低頻出現的資料項 目。
例如,頻繁項集{A,B}、{ B, C}和頻繁項 集{ C, D, E}的支持度分別為 0.6、0.5 和 0.3。
則它們形成的聚類 I1、I2和 I3的權重大小分別 為 I1=0.6, I2=0.5,I3=0.3。
I1 A B C D E I2 I3
(3) 建立聚類子群
Apriori 演算法挖掘出的頻繁項作為聚類,
在非大量資料情況下,以上步驟可以挖掘出好 的聚類,即提高支援度的大小挖掘出高頻出現 的聚類。但在大量資料情況下,挖掘出的聚類 數目仍然會過多,且挖掘出的資料項目之間關 係太細化,不能在較短時間內找出有用的資訊。
為了挖掘出明顯的且強關聯性的聚類,文獻 [19][20]提出了 HMETIS 演算法,該演算法是 在高維度資料項目集的基礎上,對基於超圖結 構的聚類進行切割,形成多個子超圖,即對聚 類進行分群,形成不同的聚類子群,使得每個 子群所包含的資料項目之間的關聯關係最大,
而不同子群之間的資料項目關聯最小,從而挖 掘出強關聯性的資料項目集。
然而,如果在此處硬將每個子群切割開來,
群與群間的聯繫訊息將會遺失,因此,研究基
於 HMETIS 演算法的切割思想,提出修改的方 法,詳細步驟如下。
步驟一:建立基於超圖結構的聚類。在一 個無向超圖 H=(V,E)中,所有經 Apriori 演算法挖掘出的頻繁項集對應的聚類集 I={I1, I2,… Ii …,In},用超邊 E={e1,e2,… ei …,
en}中元素 ei表示聚類集中的聚類 Ii,超邊 ei所 包含的節點對應聚類 Ii內的資料項目,超邊 ei 的權值用聚類 Ii的權重(支持度)來表示。
如圖 3 所示,聚類集中有四個聚類{ I1,I2, I3,I4},I1={A,B}, I2={B,C},I3={C,D,
E},I4={F,G},它們的聚類權重分別為 0.6,
0.3,0.5,0.6。於是,分別構造超邊{ e1,e2, e3,e4 }來表示這四個聚類,並賦予超邊權值的 大 小 分 別 為 聚 類 的 權 重 大 小 。 例 如 權 值 W(e1)=0.6 表示 e1所包含的節點 A 和 B 一起出 現的頻繁概率為 0.6。
圖 3 基於超圖結構的聚類
步驟二:切割思想。基於超圖結構的聚類 有兩種情況存在:一,聚類所形成的超邊獨立 存在,與其他超邊無交集,如圖 3 中 e4,這種 情況的超邊也稱為子群,不需要對其進行切割;
二,聚類所形成的超邊有交集的情況,如圖 3 中 e1,e2和 e3,這是我們需要切割的物件,即 為有交集的超邊。我們切割的目的是為了降低 Apriori 演算法形成的聚類集的複雜度,並且盡 可能劃分出高頻且高關聯度的群聚。我們採用 以下切割思想對其進行切割,用最小資訊丟失 代價,確保較大程度的降低聚類集的複雜度。
在超圖的理論中,最小切割(Minimum Cuts)
代表著讓超圖非連通(Disconnect)的最弱超 邊,因此我們可以利用現有演算法來達成切割 的目的。我們針對相互有交集的超邊,設定切 割線的閾值為其中權值最小的權值大小,對最 小權值的超邊做一次切割,最小權值的超邊便 被刪除,相連的集群就被一分為二形成兩個新 的集群。然而,新產生的兩個集群裡面的節點 除了包含原本的資料項目之外,還可能包含被 切割超邊中的資料項目(非交集資料項目),
該資料項目與交集資料之間存在高信任度的 關係,即強關聯性的資料項目會被保留在新的 集群內,而被刪除的資料項目均為低支持度與
低信任度資料項目。
如圖 4 所示,e4是獨立超邊,不需要對其 進行切割。存在交集的超邊有 e1,e2和 e3,對 權值最小的超邊做一次切割,形成一條切割線,
如下圖所示。若被切割的超邊 e2所包含的節點 B 和 C 之間存在關聯規則 B->C 和 C->B(圖中 虛線所示),但前者的信任度值達到 0.9,而後 者信任度值只有 0.2,假定信任度閾值為 0.5,
表示資料項目之間是強關聯性。對於超邊 e1來 說,與超邊 e2的交集資料項目 B 有強關聯性的 資料項目 C 要同時被保留在 e1中,即形成了新 集群 e11={A,B,C}。對於超邊 e3來說,由於 關聯規則 C->B 的信任度 0.2 低於信任度閾值 0.5,則認為這條規則較弱,因此,與超邊 e2
的交集資料項目 C 存在弱關聯性的唯一資料項 目 B,不會被保留在 e3中。由於經過一次切割 後,圖 4 中基於超圖結構的簡單聚類便不再出 現交集的情況,則停止切割,最終形成的新集 群為圖 5 所示。
步驟三:基於超圖結構的大量聚類情況下,
分別針對各個有交集的超邊,即兩條或多條超 邊共同包含一個或多個節點,重複做步驟二的 動作。依據相交的超邊中最小超邊權值的不同,
不斷調整切割線的閾值,反覆運算的進行切割 F G
W(e4)=0.6 W(e1)=0.6
A B D E
C
W(e2)=0.3 W(e3)=0.5
演算法,直到達到切割總次數或滿足結束條件,
使得最終切割出的新集群中包含的資料項目 不僅是高頻出現的而且是強關聯性的,停止切 割。
以上完成了挖掘關聯規則的基於無向超 圖的聚類預處理,在大量資料存在的情況下,
經過基於超圖結構的聚類預處理,使得大量高 頻且強關聯的資料項目聚集在同一個聚類中,
為後續進行關聯規則的挖掘提供了高品質的 資料樣本,有助於在局部範圍內,即單個聚類 中,更快更精確的挖掘出資料項目之間有價值 的關聯規則。
圖 4 切割基於超圖結構的聚類
圖 5 切割後的新集群
3.2 局部關聯規則挖掘
資料庫中的資料經過 3.1 章節的聚類預處 理,各候選群聚裡的資料項目高度相關,隱藏 了大量關聯規則。為了確保挖掘出的關聯規則 具有完整性,精簡性以及推理性,本文採用基 於 B 超圖(Backward Hypergraph)結構來構造 關聯規則網路(ARN association rules network)
[15],並按照如下兩個步驟實現局部關聯規則 的挖掘:一,應用 Apriori 演算法挖掘出各候選 群聚內的關聯規則;二,針對單個候選群聚,
確定目標結論,依據目標結論構造基於 B 超圖 的關聯規則網路(ARN)。
(1) Apriori 演算法
Apriori 演算法挖掘頻繁項的過程中有兩 個重要的參數。一是支援度(support),給定 一個交易資料庫 D,I={I1,I2,…,Im}是資料項目 的集合,每筆交易是 I 的非空子集。X,Y 分 別是兩筆交易,關聯規定義 X->Y 的支援度是 在交易資料庫 D 中同時包含交易 X 和 Y 的交 易集占所有交易的百分比,即概率f(XY)。支 援度表示規則的頻繁程度,其中,最小支持度 用 Min_sup 表示。二是信任度(confidence),
定義 X->Y 的信任度是 D 中已經含有 X 的情況 下,同時含有 X 和 Y 的交易占所有包含 X 的 交易的百分比,即條件概率f(Y|X)f(XY)/f(X),
信任度表示規則的強度,其中,最小置信度用 Min_conf 表示。
遍歷資料庫中的所有資料項目,找出支持 度大於 Min_sup 的所有頻繁 1 項集 L1。若 L1 非 空,由 L1 產生長度為 2 的候選項集合 C2,遍 歷資料庫中所有交易 t, 找出 t 在 C2中的全部子 集 Ct, 對於 Ct 中的每一個長度為 2 的候選項集 c, 令 c 的計數加 1。當掃描交易資料庫一遍後, 篩選出候選項集合 C2中所有計數滿足 Min_sup 的項集,組成了長度為 2 的頻繁項集。重複以 上步驟,找出所有頻繁 3 項集,頻繁 4 項集,…,
頻繁 k 項集,直到沒有頻繁項集產生。具體演 算法如下:
Ck: 長度為 k 的候選項集;
Lk : 長度為 k 的頻繁項集;
L1 = {頻繁 1 項集};
for (k = 2; Lk-1 !=; k++) do begin 頻繁項集 Lk-1產生候選項集 Ck; for all t∈D do begin
Ct = subset ( Ck,t ) for all c∈ Ct do
c.count++;
end
Lk = { c∈ Ck | c.count ≥ Min_sup } end
return k Lk; A
W(e3)=0.5
W(e2)=0.3 W(e4)=0.6
F G
W(e1)=0.6
B E
C D
C D
F G
W(e11)=0.6
A B
W(e2)=0.5 W(e4)=0.6
C E
其中候選項集產生的過程被分為連接與 剪技兩個部分。一,自連接。Lk-1 通過自連接 Lk-1∞Lk-1產生候選 k 項集,記做 Ck。二,剪枝。
Ck中的項集不一定都是頻繁的,但是所有的頻 繁 k 項集都包含在 Ck中。掃描資料庫 D,利用 Lk-1剪掉 Ck中的非頻繁項, 並找出所有支持度 大於 Min_sup 的項集,從而確定 Lk。具體演算 法如下:
步驟一: 自連接 Lk-1 insert into Ck
select p.item1, p.item2, …p.itemk-2, p.itemk-1, q.itemk-1
from Lk-1 p, Lk-1 q
where p.item1=q.item1, …, p.itemk-2=q.itemk-2, p.itemk-1 < q.itemk-1;
步驟二:對 Ck進行剪枝 for all itemsets c in Ck do
for all (k-1)-subsets s of c do if (s is not in Lk-1) then
delete c from Ck;
因此,經 Apriori 演算法挖掘出的頻繁項集 中,項集 X 是頻繁項集 Lk的必要條件是 X 中 的所有 k-1 子項集均在 Lk-1中出現。若存在任 一 k-1 子項集非 Lk-1中項集, 則 X 不是頻繁項 集。
例如,頻繁 2 項集 L2為{1,2}、{1,3}、
{2,3}和{2,5},經過步驟一自連接得到候選 3 項集 C3為{1,2,3}、{2,3,5}。在步驟二 對 C3進行剪枝的時候會將項集{2,3,5}刪除,
因為{2,3,5}的子集{3,5}沒有出現在頻繁 2 項集 L2中,因此頻繁 3 項集 L3為{1,2,3}。
(2) 構 造 基 於 B 超 圖 的 關 聯 規 則 網 路 (ARN association rules network)
在 3.1 章節中,Apriori 演算法的主要目標 是挖掘出高支援度的頻繁項集,在本章節中,
Apriori 演算法的主要目標是在高支援度的頻
繁項集中挖掘出高信任度的關聯規則,即我們 所需要的強關聯性的規則,而不是僅僅滿足最 小支持度與最小信任度的標準。構造基於 B 超 圖的關聯規則網路(ARN)的目的是為了將規 則結構化,利用圖形結構特有的推理性質推導 出其中隱藏的重要資訊,挖掘出潛在的有價值 的關聯規則;另一方面,Apriori 演算法所挖掘 出來的關聯規則仍然避免不了冗餘資訊的存 在,構造 ARN 的同時,冗餘資訊也被結構化,
再利用超圖的性質來消除結構化的冗餘資訊 會簡便的多。
考慮到挖掘出的關聯規則需要基於 B 超圖 結構,我們只挖掘單一後件的關聯規則。例如 {A,B} -> C 是滿足條件的關聯規則,而{A,
B} -> {C,D}不是所需的關聯規則。
針對各候選群聚,通過調整 Min_conf 門檻 值,上述的 Apriori 演算法可以成功的挖掘出其 中高信任度的關聯規則。例如,挖掘出的規則 如下:
規則:
r1:沒有移民過->工資低於 5w
r2:性別為女性,年齡小於 75 歲->沒有移 民過
r3:沒有移民過->性別為女性 r4:農村戶口->工資低於 5w r5:農村戶口->性別為女性
針對上例構造基於 B 超圖的關聯規則網路。
首先確定目標結論,如上例中確定目標結論為
―工資低於 5w‖, 依據目標結論構造基於 B 超 圖的關聯規則網路,一條關聯規則用一條有向 超邊 e 表示,T(e)節點集和 H(e)節點集分別用 來表示該關聯規則的前件和後件,同時,賦予 超邊權值為該關聯規則的信任度大小。所構造 的 ARN 如圖 6 所示。
圖 6 B 超圖構建示意圖
可以看出,規則 r1單獨出現的時候並不符 合實際的情況,是由於缺少資訊的完整性,而 在 B 超圖結構中,規則 r1和規則 r2作為兩條形 成推理路徑的超邊先後呈現出來,清晰明瞭的
表達了規則所傳遞的完整資訊,推導出的結論 更具說服力。注意到,―沒有移民過‖經規則 r1
直接推導出目標結論―工資低於 5w‖,也可以通 過規則 r3,r2,r1間接推導出目標結論,這就出 r2
r1
年齡小於 75
女性
沒有移民過
工資低於 5w
農村戶口
r5
r4
r3
現了冗餘資訊/冗餘規則的情況。為了使所挖掘 出來的規則完整、準確和精簡,我們會選擇保 留推導出目標結論次數最少的規則並且刪除 導致冗餘資訊存在的冗餘規則,如上例,規則 r3被刪除,保留規則 r1。
3.3 關聯規則後處理
關聯規則後處理的主要目的是為了消除 冗餘規則。在過去的研究中就有學者提出了構 造 ARN 以及對其精簡的具體演算法[15]。依據 目標結論,構造出基於有向超圖的關聯規則網 路,冗餘規則在 B 超圖中則以迴圈邊和逆向邊 存在,因此,可以通過進行局部裁剪,刪除 B 超圖中的迴圈邊和逆向邊,達到消除冗餘規則 的目的。精簡過的 B 超圖結構能更好的表達關 聯規則的完整性、精簡性和推理性,推理結論 往往是隱藏著的最有價值的關聯知識。
如圖 7 所示,確定規則集 R 和目標節點 G,
我們可以先對每個節點賦予 Level 值,設定目 標節點 G 的 Level(G)=0,然後根據路徑長度的 計 算 標 記 其 他 節 點 的 Level 值 , 例 如 Level(E)=0.75,Level(C)=1.55,Level(B)=2.15,
他也代表從 E、C 和 B 結點到 G 結點的最短路 徑各為 0.75、1.55 和 2.15,由此我們就可以利 用 Level 值來定位各節點的順序關係。顯然的,
建立的 B 超圖中,所有超邊的頭結點的 Level 值 都 會 小 於 尾 結 點 的 Level 值 , 即 滿 足 Level(H(e))≤Level(T(e)),任一不滿足該條件的 超邊即為逆向邊,可以被捨棄。例如圖 7 中超 邊 e6是一條逆向邊,超邊 e6對應的規則便不被 構造,即進行了刪除冗餘規則的動作,最終構 造出精簡的關聯規則網路(ARN)。
精簡後的 B 超圖中的路徑可以用來推理隱 藏著的關聯規則,這些關聯規則往往是最具有 價值的部分。例如在超圖模型中,Level 值最 大的節點和目標節點之間的關聯關係通過推 理路徑得到,並且它們之間的關聯強度可以通 過超邊上的權值運算得出,超邊上的權值即關 聯規則的信任度值。關聯強度計算公式有如式 (1)、(2)所示,其中,weight()函數表示規則推 導的可信度大小,即規則所涉及的資料項目之 間的關聯強度大小,Info()函數表示規則獨立性 的大小,同樣用來可以表示資料項目之間的關 聯強度的大小。函數數值越大,表明資料項目 間的關聯性越強;函數數值越小,表明資料項 目間的關聯性越弱。
( ) log( ( ))
i p i
weight p conf
e
e
(1)Info(p)= - ( ) log( ( ))
i pconf i conf i
e
e e
(2)最後,基於 B 超圖的關聯規則網路是針對 單獨聚類內的資料項目局部構造而成,因此,
相對全域資料項目來說,挖掘局部資料項目中 關聯規則的時間複雜度由原來的 O(n2)降低為 O(n/k)2,n 為資料項目個數,k 為聚類個數。聚 類越精確,k 值越大,局部關聯規則挖掘時間 複雜度越小。另外,由於局部資料項目之間的 關聯程度遠遠高於全域資料項目之間的緊密 程度,挖掘出的關聯規則也更精確,更具有利 用價值。
4. 實例說明
本節將以一個簡單的商品交易資料來說 明我們提出來的聚類和關聯方法。為了促進商 品銷售,增加盈利。我們常需要分析不同類別 商品之間的關聯性,從而可以採取調整物品擺 放位置或捆綁銷售等策略。為此我們從某商場 2013_sales 事實表中提取自生活日用商品專案 的資料樣本,如表 1 所示。
圖 7 基於有向超圖的規則構建示意圖
表 1 2013_sales 生活日用商品項目
聚類 主要商品類別及比例 主要交易商品 交易比例 1 休閒食品(54%) 休閒食品,日用百貨 44.8%
2 日用百貨(62%) 休閒食品,沖飲品 31.9%
3 沖飲品(34%) 沖飲品,乾果食品 62%
4 煙酒(31%) 煙酒,休閒食品,日用百貨 47%
5 針紡(33%) 針紡,日用百貨 30.3%
6 乾果食品(30%) 乾果食品,日用百貨,沖飲品 28.8%
C B
A D
E
F
G e2(0.7)
e1(0.6)
e4(0.8)
e3(0.9)
e5(0.75) e6(0.5)
7 零件用品(22%) 零件用品,電子用品 23.1%
8 電子用品(35%) 零件用品,電子用品 23.1%
9 高科技產品(23%) 高科技產品 23%
表 1 中主要商品類別分為休閒食品、沖飲 品、糧油、日用百貨、電子產品等。利用 Apriori 演 算 法 挖 掘 結 果 顯 示 聚 類 數 9 。 設 置 Min_sup=20%,Min_conf=20%,挖掘處理結果 顯示顧客購買最頻繁的商品類別基本上以日 用百貨(62%)和休閒食品(54%)為主。為了方便 舉例說明,我們針對其中零件用品、電子用品 和高科技產品三個商品類別,利用本文提出的 基於超圖結構的聚類形式顯示如圖 8 所示。圖 8 中,零件用品 L(22%)、電子用品 D(35%)和 高科技產品 G(23%)三個類別的商品聚類 L、聚 類 D 和聚類 G,利用超圖結構來表示,分別用 超邊 e7,e8和 e9表示這三個聚類,超邊內所包 含的資料項目即商品項目,超邊的權值被賦予 這三個商品類別的比例數值,即支持度的大小,
分別為 e7=22%,e8=35%,e9=23%。
從表 2 可以看出,零件用品和電子用品存 在共同的商品專案電子鎖和遙控器,即聚類 L 中的 L7和 L8與聚類 D 中的 D10和 D5是同樣的 商品。聚類 G 由於是獨立聚類,與其他聚類沒 有交集,因此不採用切割演算法對其進行切割,
針對有交集項目的超邊 e7和 e8,採用本文提出 的切割思想來做聚類預處理的過程,切割其中 權值最小的超邊(如圖 9 所示)即將支持度較 弱的超邊刪除掉,但是同時將其中與交集資料 項目目有強關聯性的資料項目(非交集資料項 目)保留下來,確保有價值的關聯規則不會被 刪除,如圖 9 中紅色標記所示。儘管非交集資 料項目目之間仍然可能存在高關聯度關聯規 則,但是由於它們是低頻出現的且與其他聚類 資料項目無關聯或弱關聯,研究價值不大,因 此不被保留。
圖 8 聚類 7,8,9 基於超圖結構的聚類形式
表 2 零件用品、電子用品和高科技產品專案
聚類 主要商品類別及總數 商品項目及件數
7 零件用品 L(698)
刹車盤 L1(50),氣缸蓋 L(40),連接杆 L3(15),曲軸 L4(23),電池 L5(120),防火 器材 L6(100),電子鎖 L7(150),遙控器 L8(70),音響元件 L9(130)
8 電子用品 D(1110)
電扇 D1(176),洗衣機 D2(92),電冰箱 D3(114),電視 D4(64),遙控器 D5(70),
電子體重秤 D6(150),微波爐 D7(90),
空調 D8(54),清潔電器 D9(150),電子 鎖 D10(150)
9 高科技產品 G(730)
智能表 G1(150),數碼攝像機 G2(125),
智能手機 G3(166),高倍望遠鏡 G4(74),
多功能數位筆 G5(45),ipad G6(170)
L1
L8
L3
L2
L5
L9
L6
L7
L4
D1
D8
D4
D2
D6
D3
D7
D9
G1
G4
G2
G6
G3
G5
e7=22%
e9=23%
e8=35%
圖 9 基於超圖結構的聚類預處理
圖 9 中,選擇最小權值的超邊 e7=22%做切 割動作,超邊 e7便被刪除。由於 e7所包含的商 品電池(L5)、音響元件(L9)分別與交集部分的商 品電子鎖(L7)、遙控器(L8)存在強關聯性,因此,
會被保留在新的聚類 e8*(以虛線表示)。對所有 基於超圖結構的聚類經切割演算法做過預處 理步驟後,所形成的聚類均是高頻出現的商品 項目集。
隨後,針對單個聚類商品集,例如聚類 e8*, 利用第 3 章節敘述的 Apriori 演算法挖掘其中高 信任度的關聯規則。首先,確定目標節點專案,
如下例所示目標節點專案為 D5(遙控器),根 據目標節點專案挖掘出所有滿足 Min_conf=0.5 的相關規則集{r1,r2,r3,r4,r5,r6},由此構建基於 B 超圖的關聯規則網路(ARN)。圖 10 中,規則 r5
和規則 r6作為逆向邊,在構造 ARN 的時候會 被當做冗餘規則剔除掉,用虛線表示。精簡後 的 ARN 可以通過路徑推理過程挖掘出其中任 意節點專案之間的關聯關係,例如 D7(微波爐) 與 D5(遙控器)之間的關聯關係可以通過超邊權 值 ( 即 信 任 度 大 小 ) 計 算 得 出 : 0.9 × 0.8 × 0.78=0.56,由此發現微波爐與遙控器之間隱藏 的關聯關係。
例:
r1: D4(電視) D5(遙控器)
r2: D3(電冰箱),D10(電子鎖) D4(電視) r3: D7(微波爐) D3(電冰箱)
r4: L5(電池) D5(遙控器) r5: D5(遙控器) D3(電冰箱) r6: L5(電池) D10(電子鎖)
圖 10 基於超圖結構的關聯規則網路
此時,所有規則既是高頻出現又是高度相 關的規則,將這些關聯規則構造成基於 B 超圖 的關聯規則網路,利用推理路徑挖掘其中隱藏 的關聯規則,實驗證明,該方法能有效的找出 高相關度的商品專案集,有利於商場管理人員 根據分析結果調整行銷策略。
5. 結論
本文通過超圖結構清晰呈現出不易被挖 掘的資料項目之間的關聯關係。大量資料項目 經過基於無向超圖的聚類預處理,將緊密關聯 的資料項目聚集在同一個聚類,為後續挖掘高 品質的關聯規則提供了好的資料樣本,同時也 降低挖掘關聯規則的時間複雜度。和傳統的規 則形式相比較,基於超圖結構的關聯規則是一 種新穎、有效的規則表達形式,它不僅表達了 規則的整體性和精簡性,還利用圖形中推理路 徑的性質來挖掘隱藏的規則,因而又具有推導 性。和傳統的挖掘方法相比較,由於是進行局 部關聯規則的挖掘,並且在局部範圍內對規則 進行精簡,局部刪除的資料項目不會對全域資 料項目造成影響,因而更具靈活性。
在未來研究中,我們將針對相關參數的最 佳化進行研究,例如用來篩選群聚的閥值,閥 值的高低影響著聚類的多寡,在不同的應用中,
他將扮演著相當重要的角色。另外,有些隱藏 的強關聯性鏈結可能也存在較低頻的項目集 中,我們也將研究如何保留這一些低頻卻重要 的訊息。
參考文獻
[1] Chen M S, Han J, Yu P S, ―Data mining: an overview from a database perspective,‖
Knowledge and data Engineering, IEEE Transactions on, Vol. 8, No. 6, pp. 866-883, 1996.
[2] Matheus C J, Rendell L A, ―Constructive
e9=23%
D1
D8
D4 D2
D6
D3
D7
D9
L1
L8(D5) L3
L2
L5
L9
L6
L7(D10) L4
G1
G4
G2
G6
G3
G5
e8*
e7=22%
e8=35%
0.78
0.9 0.8
0.6 0.5
0.8
e4=0.78
D4 D5
L5
D10 D3 D7
e2=0.6
e6=0.8
e5=0.5 e3=0.8 e1=0.9
Induction On Decision Trees,‖ IJCAI, Vol.
89, pp. 645-650, 1989.
[3] Hanson R, Stutz J, Cheeseman P, Bayesian classification theory, NASA Ames Research Center, Artificial Intelligence Research Branch, 1991.
[4] Zhang T, Ramakrishnan R, Livny M,
―BIRCH: an efficient data clustering method for very large databases,‖ ACM SIGMOD Record. ACM, Vol. 25, No. 2, pp. 103-114, 1996.
[5] Fisher D, ―Optimization and Simplification of Hierarchical Clusterings,‖ KDD, pp.
118-123, 1995.
[6] Fisher D H, ―Improving Inference through Conceptual Clustering,‖ AAAI, Vol. 87, pp.
461-465, 1987.
[7] Agrawal R, Imieliński T, Swami A, ―Mining association rules between sets of items in large databases,‖ ACM SIGMOD Record.
ACM, Vol. 22, No. 2, pp. 207-216, 1993.
[8] Agrawal, Rakesh, Ramakrishnan Srikant,
―Fast algorithms for mining association rules.‖ Proc. 20th int. conf. very large data bases, VLDB, Vol. 1215. 1994.
[9] Han J, Pei J, Yin Y, ―Mining frequent patterns without candidate generation,‖
ACM SIGMOD Record. ACM, Vol. 29, No.
2, pp. 1-12, 2000.
[10] Mohammed J. Zaki, ―Generating non-redundant association rules,‖ In Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining, ACM Press, pp.
34–43, 2000.
[11] V. Pudi, J.R. Haritsa, ―Reducing rule covers with deterministic error bounds,‖ In Proceedings of the 7th Pacific-Asia Conference on Advances in Knowledge Discovery and Data Mining, Springer, pp.
313–324, 2003.
[12] S. Jaroszewicz, D. A. Simovici, ―Pruning redundant association rules using maximum entropy principle,‖ In Advances in Knowledge Discovery and Data Mining, 6th Pacific-Asia Conference, PAKDD’02, pp.
135–147, 2002.
[13] Brian Lent, Arun N. Swami, Jennifer Widom,
―Clustering association rules,‖ In ICDE, pp.
220–231,1997.
[14] G. Gupta, A. Strehl, J. Ghosh, ―Distance based clustering of association rules.‖ In Intelligent Engineering Systems Through Artificial Neural Networks (Proceedings of ANNIE 1999), ASME Press, Vol. 9, pp.
759–764, 1999.
[15] Chawla S, Davis J G, Pandey G, ―On Local Pruning of Association Rules Using Directed Hypergraphs,‖ ICDE, Vol. 4, pp. 832-841, 2004.
[16] C. Berge, Graphs and Hypergraphs, North-Holland, Amsterdam, 1973.
[17] Gallo, Giorgio, et al, ―Directed hypergraphs and applications,‖ Discrete applied mathematics, Vol. 42, No. 2, pp. 177-201, 1993.
[18] Han, Eui-Hong, et al, ―Hypergraph based clustering in high-dimensional data sets: A summary of results,‖ IEEE Data Eng. Bull, Vol. 21, No. 1, pp. 15-22, 1998.
[19] G.F. Italiano, G. Ausiello, U. Nanni,
―Dynamic maintenance of directed hypergraphs,‖ Theoretical Computer Science, Vol. 72, No. 2-3, pp. 97-117, 1990.
[20] Rakesh Agrawal, Tomasz Imielinski, Arun N.Swami, ―Mining association rules between sets of items in large databases,‖ In Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data, Washington, D.C, pp. 207-216, 1993.