宋中山,楊 敏,周 易
(中南民族大學(xué) 計算機(jī)科學(xué)學(xué)院,武漢 430074)
Agrawal和Srikant首次提出了序列模式挖掘問題[1],L A.Zadeh提出了模糊集的重要概念[2],把經(jīng)典集合推廣到模糊集.現(xiàn)存的模糊序列模式挖掘算法,大多是針對傳統(tǒng)序列模式挖掘算法作適當(dāng)修改而得到的.Tzung-Pei Hong等人基于AprioriAll算法,提出了模糊序列模式挖掘算法Fuzzy-Apriori算法[3],該算法不可避免地具有AprioriAll算法多次掃描數(shù)據(jù)庫,不易發(fā)現(xiàn)長序列模式的缺點(diǎn).模糊序列模式挖掘的一般化架構(gòu),需對數(shù)據(jù)庫中的數(shù)量屬性進(jìn)行模糊化處理.在現(xiàn)實(shí)的購物序列數(shù)據(jù)庫中,項的數(shù)量值、交易之間的時間間隔等都是數(shù)量屬性.近年來,針對模糊序列模式挖掘,人們提出了很多新的方法[4-6],都取得了較好的效果,擴(kuò)展了模糊序列模式挖掘的應(yīng)用范圍.
現(xiàn)有時序關(guān)聯(lián)規(guī)則算法,一般在處理高密度海量數(shù)據(jù)時會生成規(guī)模龐大的頻繁項候選集,整個過程要消耗大量的時間,并需要重復(fù)多次掃描數(shù)據(jù)庫,執(zhí)行效率低.本文針對時序關(guān)聯(lián)規(guī)則在解決商品項分類時所出現(xiàn)的不精確和不確定分層情況,對層次型關(guān)聯(lián)規(guī)則模式進(jìn)行模糊擴(kuò)展,用以克服不同隸屬度項的語義差異的不足,給出了基于模糊集的時序關(guān)聯(lián)規(guī)則的度量準(zhǔn)則,通過實(shí)驗驗證了該方法的有效性.
關(guān)聯(lián)規(guī)則挖掘最早由Agrawal等人提出,是為了發(fā)現(xiàn)顧客交易數(shù)據(jù)庫中項集間的關(guān)聯(lián)信息.由于關(guān)聯(lián)規(guī)則挖掘在數(shù)據(jù)挖掘中的廣泛應(yīng)用,已經(jīng)產(chǎn)生了大量的關(guān)聯(lián)規(guī)則挖掘算法.為了揭示關(guān)聯(lián)規(guī)則隨時間變化的特性,在處理時序關(guān)聯(lián)規(guī)則中,運(yùn)用支持度向量SV和置信度向量CV來分析關(guān)聯(lián)規(guī)則的時序特性[7].
假設(shè)在時間t內(nèi)生成事務(wù)數(shù)據(jù)集D,那么可以將t分成n個不相交的時間序列,記為t={t1,t2,…,tn},由此可以得到n個數(shù)據(jù)子集,記為D={D1,D2,…,Dn}.其中,任意數(shù)據(jù)子集Di是在時間段ti(i∈1,2,…,n})中生成的.
設(shè)項集I={i1,i2,…,im},若X?I,Y?I,且X∩Y=Φ,那么可以將X?Y這樣的蘊(yùn)涵式稱為關(guān)聯(lián)規(guī)則.它的支持度為s和置信度為c,那么,公式s=PD(X∪Y)給出了D中既含X又含Y的概率;公式c=PD(Y|X)給出了D中既出現(xiàn)X又出現(xiàn)Y事務(wù)集的概率.
定義1 時序關(guān)聯(lián)規(guī)則X?Y的支持度向量SV定義為:
SV=(s(X∪Y)1,s(X∪Y)2,…,s(X∪Y)n),
s.t.s(X∪Y)i=f(X∪Y)i/|Di|(i∈(1,2,…,n).
(1)
其中,f(X∪Y)i為項集X∪Y在數(shù)據(jù)子集Di(i∈{1,2,…,n})中出現(xiàn)的頻數(shù);|Di|為Di中的事務(wù)數(shù).那么,s(X∪Y)i反映了項集X∪Y在Di中的支持度.X?的支持度s可表示為:
(2)
其中,f(X∪Y)為項集X∪Y在D中出現(xiàn)的頻數(shù);s(X∪Y)為項集X∪Y在D中的支持度.M是D中的事務(wù)數(shù).
定義2 時序關(guān)聯(lián)規(guī)則X?Y(或者項集X∪Y)的置信度向量CV定義為:
CV=(c(X∪Y)1,c(X∪Y)2,…,c(X∪Y)n),
(3)
其中,s(X∪Y)i為項集(X∪Y)的SV中的第i個元素;sXi為項集X的SV中的第i個元素.
上述定義中,c(X∪Y)i反映了項集(X∪Y)在Di中的支持度量.X?Y的置信度c可表示為:
c=s(X∪Y)/SX.
(4)
綜上所述,可以得到新的時序關(guān)聯(lián)規(guī)則的完整定義.
定義3 時序關(guān)聯(lián)規(guī)則的完整定義包括支持度s、置信度c、支持度向量SV和置信度向量CV等4個參數(shù),完整定義如下:
X?Y(SV,CV,s,c),
(5)
其中,SV、s、CV和c分別由公式(1)、(2)、(3)和(4)給出.
定義4 時序關(guān)聯(lián)規(guī)則X?Y的頻數(shù)向量可以定義為:
FV=(f(X∪Y)1,f(X∪Y)2,…,f(X∪Y)n),
(6)
其中,f(X∪Y)i為項集(X∪Y)在數(shù)據(jù)子集Di(i∈{1,2,…,n})中出現(xiàn)的頻數(shù).
那么,時序關(guān)聯(lián)規(guī)則挖掘的過程如下:
(1) 計算頻數(shù)向量FV和頻繁項集L;
(2) 由L生成時序規(guī)則,F(xiàn)V生成SV、CV.
模糊集理論最根本的特征是承認(rèn)事物變化的過渡狀態(tài),若模糊集A是論域X上滿足某些性質(zhì)的一類對象,其中每個對象都有一個隸屬于A的程度稱為隸屬度,隸屬函數(shù)μA(x)(x∈X)將每個對象x映射到區(qū)間[0, 1].人們把L. Zadeh的模糊理論用于語義研究[8],認(rèn)識到模糊性也存在于人類自然語言中,是它的一種客觀屬性,而它描述的是詞語所指范圍的不確定性.由于人們在認(rèn)知過程中對有中間狀態(tài)的事物或現(xiàn)象具有認(rèn)識上的任意性或主觀性,就不可避免地會產(chǎn)生模糊語義.
模糊語義指語義的模糊性,針對層次型關(guān)聯(lián)規(guī)則在構(gòu)造層次分類樹的過程中時所出現(xiàn)的不精確和不確定分層情況,對其進(jìn)行模糊擴(kuò)展:即對于X?Y這樣的蘊(yùn)涵式,若X和Y是模糊集合,則對應(yīng)的關(guān)聯(lián)規(guī)則就為模糊關(guān)聯(lián)規(guī)則(Fuzzy Association Rule).
模糊層次分類結(jié)構(gòu)是指具有隸屬度模糊的概念層次樹[9].通過建立帶語義差異的模糊層次分類結(jié)構(gòu),就能夠計算項間距離、項集間距離,逐步得到最終的關(guān)聯(lián)規(guī)則間距離度量的方法.
定義5 設(shè)有帶語義差異的模糊層次分類結(jié)構(gòu)T=,x,y∈I,項x和y之間的距離定義為:
(7)
其中,w′(e)是有向邊e的語義差異權(quán)值,x是y的祖先,lmin(x,y)是x和y間所有向路徑中語義差異權(quán)值最小的.
本文使用平均距離來計算項集間距離,這樣就有:
定義6 設(shè)有基數(shù)為m的項集X={x1,x2,…,xm}和基數(shù)為n的項集Y={y1,y2,…,yn},則X和Y之間的項集距離定義為:
(8)
在對關(guān)聯(lián)規(guī)則距離進(jìn)行度量的過程中,分析對其起決定作用的2個因子:結(jié)構(gòu)差異和規(guī)則度量差異,進(jìn)而由規(guī)則的結(jié)構(gòu)距離、規(guī)則度量距離來定義規(guī)則距離.
定義7 在帶語義差異的模糊層次分類結(jié)構(gòu)T=中,有關(guān)聯(lián)規(guī)則r1:X1?Y1,r2:X2?Y2,X1,X2,Y1,Y2∈I,且λ1,λ2,λ3≥0,則r1和r2間的規(guī)則結(jié)構(gòu)距離可表示為:
Distrule,stru(r1,r2)=λ1×Distset(X1,X2)+λ2×
Distset(Y1,Y2)+λ3×Distset(X1∪Y1,X2∪Y2).
(9)
若Conf(r1),Sup(r1),Conf(r2),Sup(r2)分別為規(guī)則r1,r2的支持度和置信度,λ4,λ5≥0,則r1,r2間的規(guī)則度量距離可表示為:
Distrule,meas(r1,r2)=λ4×|Sup(r1)-Sup(r2)|+λ5×
|Conf(r1)-Conf(r2)|.
(10)
這樣,設(shè)有權(quán)重w1,w2,則r1和r2間的規(guī)則距離可表示為:
Distrule(r1,r2)=
(11)
綜上所述,λ1,λ2,λ3是結(jié)構(gòu)距離Distrule,stru(r1,r2)中前項、后項和兩者并集的差異的權(quán)重;λ4,λ5是度量距離Distrule,measu(r1,r2)中支持度和信任度的差異的權(quán)重;w1,w2是規(guī)則距離Distrule(r1,r2)中用戶定義的結(jié)構(gòu)差異和度量差異的值.
本文使用George Karypis等人研發(fā)的gCLUTO聚類工具包,進(jìn)行關(guān)聯(lián)規(guī)則的聚類和可視化,本文選擇重復(fù)對分(Repeated Bisections)的聚類算法.
通過對T10I4D100K數(shù)據(jù)集進(jìn)行測試來驗證關(guān)聯(lián)規(guī)則距離度量方法的有效性,其中,T10I4D100K來自IBM Almaden Quest 研究組的頻繁項集,處于稀疏型數(shù)據(jù)和密集型數(shù)據(jù)之間.對于數(shù)據(jù)集中的1000個商品項目,共有100000條交易數(shù)據(jù),給它設(shè)定不同的支持度和置信度,用OFP-Growth算法對時序關(guān)聯(lián)規(guī)則進(jìn)行挖掘[10].
由于經(jīng)過時序關(guān)聯(lián)規(guī)則挖掘后得到的規(guī)則數(shù)量較大,而且其距離度量計算過程中的消耗較大,不能進(jìn)行實(shí)時處理.本文有必要將整個實(shí)驗分為2部分進(jìn)行.
如表1所示,在給定的支持度和置信度下,本文得到關(guān)聯(lián)規(guī)則集RS1和RS2,其中RS1用于時序關(guān)聯(lián)規(guī)則距離度量的實(shí)驗;RS2用于聚類及規(guī)則間相似性的可視化實(shí)驗.
表1 OFP-Growth算法得到關(guān)聯(lián)規(guī)則結(jié)果
本文將T10I4D100K數(shù)據(jù)集的模糊層次分類結(jié)構(gòu)記為T,根據(jù)其定義,就可以進(jìn)行如下描述.
(1)T共有1個有向無環(huán)圖,可將其分為4層,最上面的是樹根節(jié)點(diǎn)ROOT,平均扇出為10;
(2) 建立模糊層次分類結(jié)構(gòu)有向邊時,可以隨機(jī)生成其模糊隸屬度,使l/3的模糊隸屬度隨機(jī)均勻分布在區(qū)間[0.5, l]中,2/3的模糊隸屬度為1;
(3) 相鄰不同層次a,a+1,1≤a≤3的層次語義差異計算函數(shù)設(shè)置ld(a,a+1)=(3-a+1)/10;
(4) 不相鄰層次a,a+n,n>1的層次語義差異計算函數(shù)設(shè)置為:
(5)權(quán)重參數(shù)設(shè)置為:
λ1=1,λ2=1,λ3=0,w1=1,w2=0.
本文的實(shí)驗平臺為PC,2GB內(nèi)存,Intel Core i3 CPU,Windows7操作系統(tǒng),用VC 6.0來編程實(shí)現(xiàn)關(guān)聯(lián)規(guī)則距離的度量.
在進(jìn)行關(guān)聯(lián)規(guī)則距離度量的過程中,本文使用RS1規(guī)則集,并以每次遞增600條關(guān)聯(lián)規(guī)則的方式來測試計算時的速度.當(dāng)規(guī)則數(shù)量為n時,關(guān)聯(lián)規(guī)則間距離的度量需要計算n×(n+1)/2次規(guī)則間的距離.
因為在關(guān)聯(lián)規(guī)則距離度量的過程中,構(gòu)建帶語義差異的模糊層次分類結(jié)構(gòu)T所耗費(fèi)的時間與整體性能相比很小,可以忽略不計.
將本文由公式(8)給出的項集度量方法與文獻(xiàn)[11]、文獻(xiàn)[12]的方法進(jìn)行比較.它們隨關(guān)聯(lián)規(guī)則數(shù)量的增加所消耗的時間對比如圖1所示.
圖1 關(guān)聯(lián)規(guī)則距離度量耗時Fig.1 Execution time of measuring distance among association rules
本文使用gCLUTO聚類工具包來聚類分析關(guān)聯(lián)規(guī)則結(jié)果,并對結(jié)果進(jìn)行可視化展示[10].本文使用規(guī)則集RS2,設(shè)置重復(fù)對分(Repeated Bisections)類別為8類.取得了較好的效果,如圖2、圖3所示.
圖2 關(guān)聯(lián)規(guī)則聚類的山丘視圖Fig.2 Mountain view of association rules clustered
圖2中可視化山丘將8個類群顯示為8個山丘,并標(biāo)記了相應(yīng)的類號.每個山丘的形狀為高斯曲線.這種形狀用來作為每個類內(nèi)數(shù)據(jù)分布的粗略估計.山丘的高度與類內(nèi)相似性成比例,體積與類群包含的對象數(shù)量成比例.合成的高斯曲線相加在一起形成可視化山丘的地形.山丘的顏色與類內(nèi)標(biāo)準(zhǔn)差成比例.紅色代表低標(biāo)準(zhǔn)差,藍(lán)色代表高標(biāo)準(zhǔn)差.只有峰頂?shù)念伾怯幸饬x的.在其他所用區(qū)域,顏色混合以產(chǎn)生平滑過渡.
圖3 關(guān)聯(lián)規(guī)則聚類的樹形視圖Fig.3 Tree view of association rules clustered
圖3中的可視化矩陣中,顏色代表原始數(shù)據(jù)矩陣中的數(shù)值.gCLUTO用白色代表接近零值,逐漸加深的紅色代表較大的數(shù)值,逐漸加深的綠色代表負(fù)值.矩陣的行重新排列,使得同一類的行列在一起.黑色的水平線隔開各個類.左面和上面關(guān)聯(lián)規(guī)則聚類后得到的樹形結(jié)構(gòu),說明了規(guī)則間的組織方式;右下角部分給出了可視化的關(guān)聯(lián)規(guī)則的相似性.右下角部分的每一點(diǎn)都說明了橫縱坐標(biāo)對應(yīng)的兩個規(guī)則間的相似性,紅顏色越深,表示規(guī)則間的相似性越高.
觀察圖3可以發(fā)現(xiàn),對角線上紅顏色很深,表示類間的關(guān)聯(lián)規(guī)則間的相似性較低,類中的關(guān)聯(lián)規(guī)則間的相似性比較高.
本文針引入的層次型關(guān)聯(lián)規(guī)則的模糊擴(kuò)展,即基于隸屬度模糊的層次分類結(jié)構(gòu),克服了原有分類結(jié)構(gòu)僅僅考慮不同層次之間的語義差異,而沒有進(jìn)一步考慮具有不同隸屬度項的語義差異的不足.使用本文定義的項間距離、項集間距離和關(guān)聯(lián)規(guī)則間距離的度量,構(gòu)建模糊層次分類結(jié)構(gòu),實(shí)驗結(jié)果表明,該方法是有效的,并具有良好的性能.將時序關(guān)聯(lián)規(guī)則結(jié)果進(jìn)行聚類分析,得到規(guī)則和規(guī)則之間相似性,并進(jìn)行可視化展示.在實(shí)際問題中,模糊集的時序關(guān)聯(lián)規(guī)則將其應(yīng)用到帶語義模糊的商品分類中,為企業(yè)合理有效的管理提供依據(jù),并可根據(jù)發(fā)現(xiàn)的知識和規(guī)律廣泛地應(yīng)用到描述客觀現(xiàn)實(shí)情況,重現(xiàn)及識別動態(tài)系統(tǒng),及時調(diào)整企業(yè)經(jīng)營策略.
參 考 文 獻(xiàn)
[1] Agrawal R, Srikant R. Mining sequential patterns[C]// ICDE.Proc of the International Conference on Data Engineering (ICDE). Taibei: IEEE, 1995: 3-14.
[2] Zadeh L A. Fuzzy sets[J]. Information and Control, 1965, 8(3): 338-353.
[3] Hong T P, Kuo C S, and Wang S L. A fuzzy AprioriTid mining algorithm with reduced computational time[J]. Applied Soft Computing, 2004, 5(1): 1-10.
[4] Zabihi F, Pedram M M, Ramezan M, et al. Fuzzy sequential pattern mining with sliding window constraint[C]//ICETC. 2010 2nd International Conference on Education Technology and Computer (ICETC). Shanghai: IEEE, 2010, 5: 396-400.
[5] Chang C I, Chueh H E, Luo Y C. An integrated sequential patterns mining with fuzzy time-intervals[C]//ICSAI. 2012 International Conference on Systems and Informatics (ICSAI). Yantai: IEEE, 2012: 2294-2298.
[6] Ouyang W. Discovery of direct and indirect fuzzy sequential patterns with multiple minimum supports in transaction databases[C]//FSKD. 2012 9th International Conference on Fuzzy Systems and Knowledge Discovery (FSKD). Chengdu: IEEE, 2012: 302-306.
[7] 榮 岡,劉進(jìn)鋒,顧海杰.數(shù)據(jù)庫中動態(tài)關(guān)聯(lián)規(guī)則的挖掘[J]. 控制理論與應(yīng)用, 2007, 24(1): 127-131.
[8] Zadeh L A. Fuzzy sets as a basis for a theory of possibility [J]. Fuzzy Sets and Systems, 1999, 100(1): 9-34.
[9] Chen G, Qiang W. Fuzzy association rules and the extended mining algorithms[J]. Information Sciences, 2002, 147(1-4): 201-228.
[10] 宋中山,周 騰,周晶平.一種改進(jìn)的蟻群聚類算法在客戶細(xì)分中的應(yīng)用[J].中南民族大學(xué)學(xué)報:自然科學(xué)版,2013,32(3):77-81.
[11] 阮備軍,朱揚(yáng)勇.基于商品分類信息的關(guān)聯(lián)規(guī)則聚類[J]. 計算機(jī)研究與發(fā)展, 2004, 41(2): 352-360.
[12] Gupta G, Strehl A, Ghosh J. Distance based clustering of association rules[C]//ANNIE. Proc of Intelligent Engineering Systems Through Artificial Neural Networks (ANNIE 1999). St. Louis: ASME Press, 1999: 759-764.