非頻繁模式
非頻繁模式,是一個項集或規則,其支持度小於閾值minsup.
絕大部分的頻繁模式不是令人感興趣的,但其中有些分析是有用的,特別是涉及到數據中的負相關時,如一起購買DVD的顧客多半不會購買VCR,反之亦然,這種負相關模式有助於識別競爭項(competing item),即可以相互替代的項。
某些非頻繁模式也可能暗示數據中出現了某些罕見事件或例外情況。如,如果{火災=yes}是頻繁的,但是{火災=yes,警報=on}是非頻繁的,則后者是有趣的非頻繁模式,因為可能指出報警系統出問題,為了檢測這種情況,可以確定模式的期望支持度,當模式支持度小於期望支持度時,表明其實一個有趣的非頻繁模式。
挖掘非頻繁模式的主要問題是:
- 如何識別有趣的非頻繁模式。
- 如何在大數據集中有效地發現它們。
負模式
設\(I = { i_1, i_2, \cdots, i_d }\)是項的集合。負項\(\bar{i_k}\)表示項\(i_k\)不在給定事務中出現。如事務不包含咖啡,則\(\bar{咖啡}\)是一個值為1的負項。
負項集,負項集X是一個具有如下性質的項集:(1)\(X = A \cup \bar{B}\),其中A是正項的集合,而\(\bar{B}\)是負項的集合,\(|\bar{B}| \geq 1\);(2)\(s(X) \geq minsup\)。
負關聯規則,(1)規則是從負項集中提取的,(2)規則支持度大於或等於minsup,(3)規則的置信度大於或等於minconf。
負項集和負關聯規則稱為負模式(negative pattern)。負關聯規則的一個例子是\(茶 \to \bar{咖啡}\)。
負相關模式
用\(X = {x_1, x_2, \cdots, x_k}\)表示k-項集,P(X)表示事務包含X的概率。在關聯分析中,這個概率通常用項集的支持度s(X)估計。
負相關項集 項集X是負相關的,如果
其中\(s(x_j)\)是項\(x_j\)的支持度。s(X)是給出了X的所有項統計獨立的概率估計。如果它的支持度小於使用統計獨立性假設計算出的期望支持度。s(X)越小,模式就越負相關。
負相關關聯規則,規則\(X \to Y\)是負相關的,如果
其中$X \cap Y = \varnothing $,這里定義的X和Y中的項的負相關部分條件,負相關的完全條件為
其中\(x_i \in X\)而\(y_i \in Y\)。因為X或Y中的項通常是正相關的,因此使用部分條件而不是完全條件來定義負相關關聯規則更實際。如規則
是負相關的,但是其中項集內的項之間是負相關的,眼鏡盒鏡頭清潔劑是負相關的,如果使用完全條件,可能就不能發現該規則了。
負相關條件也可以用正項集和負項集的支持度表示
(不知道為什么博客園的markdown不支持多行公式?在其他地方都可以的,如果知道怎么做的希望能告知~~)
可以得到負相關的條件為
負相關項集和負相關關聯規則統稱為負相關模式(negatively correlated pattern)
非頻繁模式、負模式和負相關模式比較
根據上面的定義,我們得到,非頻繁模式與負相關模式只涉及包含正項的項集或模式,而負模式涉及包含正項和負項的項集或模式。
挖掘有趣的非頻繁模式技術
非頻繁項集是未被的頻繁項集產生算法如Apriori或FP所提取的有所項集,如下面邊界下的那些項集
非頻繁模式的數量可能是指數的,挖掘非頻繁模式主要是為了挖掘那些有趣的非頻繁模式。可以通過刪除那些不滿足負相關條件的非頻繁項集得到。但是與挖掘頻繁項集的支持度度量不同,挖掘負相關項集使用的基於相關性的度量不具有用於指數搜索空間剪枝的反單調性,因而計算量很大。
基於挖掘負模式的技術
使用負項增廣,將事務數據二元化,把原始數據變成具有正項和負項的事務。對增廣的事務使用已有的頻繁項集生成算法。可以導出所有的負項集。
(下面的右表中B和D兩項標好像錯了,應為\(\bar{B}\)和\(\bar{D}\))
如果只有少量變量被視為對稱的二元變量時,該方法可行的,但是如果很多項,則會出現一些問題
- 數據集翻倍
- 引入負項后,會出現\(x\)和\(\bar{x}\),其中必有一個項的支持度超過50%,因而導致使用基於支持度剪枝策略算法時,頻繁項集的數量將呈指數增長。
- 增加負項后,事務的寬度增加,將會增加候選項集的數量,很多算法都不能使用。
前面的方法是蠻力計算方法,代價很高,因為迫使我們確定大量正模式和負模式的支持度。另一種方法不是用負項集增廣數據集,而利用正項集來計算負項集的支持度。如
通常項集\(X \cup Y\)的支持度可以
可以用其他的方法來進一步提高算法性能,僅桑y頻繁時,\(\bar{y}\)才是有趣的。稀有項易於產生非頻繁項集。
基於支持度期望的技術。
僅當非頻繁模式的支持度顯著小於期望支持度時,才認為是有趣的,期望支持度根據統計獨立性假設計算。使用概念分層和基於近鄰的方法,稱作間接關聯。
1. 基於概念分層的支持度期望
僅用客觀度量還不足以刪除不感興趣的非頻繁模式。如面包和台式機是不同的產品類,他們的支持度較低,但是他們不是有趣的非頻繁模式,因而需要使用領域知識裁剪不感興趣的項。
假定{C, G}是頻繁的,用s(.)表示模式的實際支持度,\(\varepsilon(.)\)表示期望支持度。則
2. 基於間接關聯的支持度期望
商品(a, b),如果是不相關商品,則預期支持度較低,如果是相關的商品,預期支持度較高。上面使用概念分層來計算期望支持度,下面使用另外一種方法:通過考察與這兩個商品一起購買的其他商品。
間接關聯,一對項a,b是通過中介集間接關聯的,如果下列條件成立
(1)\(s({a, b}) < t_x\) (項對支持度條件)
(2)\(\exists Y \neq \varnothing\)使得
(a) \(s({a} \cup Y) \geq t_f\)並且\(s({b} \cup Y) \geq t_f\) (中介支持度條件)
(b) \(d({a}, Y) \geq t_d, d({b}, Y) \geq t_d\),其中d(X, Z)是X和Z之間關聯的客觀度量 (中介依賴條件)
中介支持度和依賴條件確保Y中的項形成a和b的近鄰。可以使用興趣因子、余弦或其他依賴度量。
進階關聯有很多應用,如a和b可能是競爭商品。文本挖掘中可以識別同義詞和反義詞。
數據挖掘之關聯分析一(基本概念)
數據挖掘之關聯分析二(頻繁項集的產生)
數據挖掘之關聯分析三(規則的產生)
數據挖掘之關聯分析四(連續屬性處理)
數據挖掘之關聯分析五(序列模式)
數據挖掘之關聯分析六(子圖模式)
數據挖掘之關聯分析七(非頻繁模式)