賈彬 梁毅 蘇航
摘 要:為了改善傳統(tǒng)K-Modes聚類算法相異度度量公式弱化了類內(nèi)相似性,忽略了屬性間差異,以及單一屬性值的Modes忽視了某一屬性可能存在多屬性值組合,且算法受初始中心點影響很大的缺點,基于多屬性值Modes的相異度度量方法提出MAV-K-Modes算法,并采用一種基于預(yù)聚類的初始中心選取方法。使用UCI數(shù)據(jù)集進(jìn)行實驗,結(jié)果表明,MAV-K-Modes算法相比于傳統(tǒng)K-Modes算法,其正確率、類精度和召回率都有明顯提升,且MAV-K-Modes算法適合于并行化改造。
關(guān)鍵詞:聚類算法;相異度度量;初始中心點;多屬性值Modes;K-Modes
DOI:10. 11907/rjdk. 182651
中圖分類號:TP312
文獻(xiàn)標(biāo)識碼:A文章編號:1672-7800(2019)006-0060-05
Abstract:The dissimilarity measure method of traditional K-Modes clustering algorithm suffers from some shortcomings, such as weakening the similarity within a class, ignoring the difference between attributes, and the Modes with single attribute value neglects that a property may have multiple attribute value combinations, and the algorithm is greatly affected by the initial center points. A MAV-K-Modes algorithm is proposed based on the dissimilarity measure method of multi-attribute value Modes, and an initial center selection method based on pre-clustering is adopted. The results of experiments using UCI datasets show that the MAV-K-Modes algorithm has a significant improvement in accuracy rate, precision rate and recall rate compared with the traditional K-Modes algorithms, and the MAV-K-Modes algorithm is suitable for parallel transformation.
Key Words: clustering algorithm; dissimilarity measure; initial center points; multi-attribute value Modes; K-Modes
0 引言
近年來隨著互聯(lián)網(wǎng)的快速發(fā)展,信息量以前所未有的速度迅猛增長。聚類算法[1]作為一種有效的數(shù)據(jù)挖掘工具,其應(yīng)用十分廣泛,目前已成為國內(nèi)外學(xué)者的研究熱點。聚類算法的核心是將一個數(shù)據(jù)集劃分成幾個子集,并使同一子集中的元素盡可能相似,且不同子集中的元素盡可能相異。聚類算法用來訓(xùn)練的樣本標(biāo)記信息是未知的,因而也被稱作無監(jiān)督學(xué)習(xí)方法[2],需要通過學(xué)習(xí)探究數(shù)據(jù)內(nèi)在性質(zhì)及規(guī)律。
基于劃分的K-Means算法[3]是一種用于處理大數(shù)據(jù)集的有效且應(yīng)用廣泛的聚類算法,但該算法只能處理數(shù)值型數(shù)據(jù),而大多數(shù)實際數(shù)據(jù)集不僅包括數(shù)值型數(shù)據(jù),還包括大量分類屬性數(shù)據(jù)(Categorical Data)。Huang[4]提出一種K-Modes算法,對K-Means算法進(jìn)行拓展,使其可以處理分類屬性數(shù)據(jù)。算法采用簡單0-1匹配機(jī)制度量兩數(shù)據(jù)點在某一屬性下的距離,目標(biāo)函數(shù)定義為所有數(shù)據(jù)點與所屬聚類中心Modes相異度量總和。該相異度度量方法弱化了類中相似性,也忽略了屬性之間權(quán)重的差異性。傳統(tǒng)算法在聚類過程中使用基于頻度的方法修正聚類中心Modes在每個屬性中的取值,但每個屬性只保留最高頻率屬性值的聚類中心Modes,會造成其它較高頻率的重要屬性值丟失,導(dǎo)致準(zhǔn)確率降低。K-Modes算法受初始中心點選取的影響也很大,容易使目標(biāo)函數(shù)陷入局部最優(yōu),導(dǎo)致整體聚類效果下降。
針對傳統(tǒng)K-Modes算法的不足,很多學(xué)者都提出了改進(jìn)方法。針對相異度度量公式問題,Ng[5]、Goodall[6]、趙亮[7]、DinoIenco[8]提出新的類內(nèi)屬性距離計算公式,但只強(qiáng)化了類內(nèi)相似性,而未考慮屬性間的差異性;HongJia[9]、Ahamad[10]、Hsu[11-12]、李仁侃[13]、Jayabal[14]提出的方法只考慮了不同屬性的權(quán)重計算;石雋鋒[15]定義一種基于期望熵的新目標(biāo)函數(shù);黃苑華[16]提出基于結(jié)構(gòu)相似性的方法,但計算代價較大,且不易于進(jìn)行數(shù)據(jù)并行處理;梁吉業(yè)、白亮[17]在提出基于粗糙集的相異度量方法的同時,也考慮了類內(nèi)相似性與屬性權(quán)重的差異,但當(dāng)屬性具有很多值時,粗糙隸屬度的計算量很大。針對初始選點問題,Huang[4]提出將最頻繁的屬性值均勻分配到初始Modes中;Sun[18]將Bradley的迭代初始點優(yōu)化算法應(yīng)用到算法中;Cao[19]結(jié)合距離和密度提出一種初始中心選擇方法。但這些選點方法只適用于單屬性值Modes的初始化。
由于以上改進(jìn)方法均未考慮聚類中心Modes每個屬性只能取單屬性值的問題,且K-Modes算法受初始中心點選取影響很大,容易陷入局部最優(yōu),導(dǎo)致整體聚類效果下降,因此本文提出一種MAV-K-Modes算法。使用基于多屬性值Modes的相異度度量方法,可有效防止重要屬性值丟失,并強(qiáng)化同一屬性內(nèi)屬性值的相似性,突出不同屬性的差異性,使相異度度量更加準(zhǔn)確。新的多屬性值Modes相異度度量方法使用信息熵[20]計算屬性權(quán)重,以強(qiáng)化屬性間的差異,而新的類內(nèi)屬性距離計算公式強(qiáng)化了類內(nèi)相似性。同時,針對多屬性值聚類中心Modes提出一種基于預(yù)聚類的初始選點方法,通過統(tǒng)計分析預(yù)聚類結(jié)果,得到各類的多屬性值聚類中心Modes作為初始中心點,以減少局部最優(yōu)情況的發(fā)生。實驗結(jié)果表明,MAV-K-Modes算法在正確率、類精度和召回率方面相比傳統(tǒng)算法都有較大提升,因而有效提升了聚類效果,且該算法可滿足數(shù)據(jù)并行要求,經(jīng)過并行化改造后可大幅提升算法執(zhí)行效率。