1. 程式人生 > >各種聚類演算法的對比

各種聚類演算法的對比

聚類的目標是使同一類物件的相似度儘可能地大;不同類物件之間的相似度儘可能地小。目前聚類的方法很多,根據基本思想的不同,大致可以將聚類演算法分為五大類:層次聚類演算法、分割聚類演算法、基於約束的聚類演算法、機器學習中的聚類演算法和用於高維度的聚類演算法。摘自 資料探勘中的聚類分析研究綜述 這篇論文。

1、層次聚類演算法

1.1聚合聚類

1.1.1相似度依據距離不同Single-Link:最近距離、Complete-Link:最遠距離、Average-Link:平均距離

1.1.2最具代表性演算法

1CURE演算法

特點:固定數目有代表性的點共同代表類

優點:識別形狀複雜,大小不一的聚類,過濾孤立點

2ROCK演算法

特點:對CURE演算法的改進

優點:同上,並適用於類別屬性的資料

3CHAMELEON演算法

特點:利用了動態建模技術

1.2分解聚類

1.3優缺點

優點:適用於任意形狀和任意屬性的資料集;靈活控制不同層次的聚類粒度,強聚類能力

缺點:大大延長了演算法的執行時間,不能回溯處理

2、分割聚類演算法

2.1基於密度的聚類

2.1.1特點

將密度足夠大的相鄰區域連線,能有效處理異常資料,主要用於對空間資料的聚類

2.1.2典型演算法

1DBSCAN:不斷生長足夠高密度的區域

2DENCLUE:根據資料點在屬性空間中的密度進行聚類,密度和網格與處理的結合

3OPTICSDBCLASDCURD:均針對資料在空間中呈現的不同密度分不對DBSCAN作了改進

2.2基於網格的聚類

2.2.1特點

利用屬性空間的多維網格資料結構,將空間劃分為有限數目的單元以構成網格結構;

1)優點:處理時間與資料物件的數目無關,與資料的輸入順序無關,可以處理任意型別的資料

2)缺點:處理時間與每維空間所劃分的單元數相關,一定程度上降低了聚類的質量和準確性

2.2.2典型演算法

1STING:基於網格多解析度,將空間劃分為方形單元,對應不同解析度

2STING+:改進STING,用於處理動態進化的空間資料

3)CLIQUE:結合網格和密度聚類的思想,能處理大規模高維度資料

4WaveCluster:以訊號處理思想為基礎

2.3基於圖論的聚類

2.3.1特點

轉換為組合優化問題,並利用圖論和相關啟發式演算法來解決,構造資料集的最小生成數,再逐步刪除最長邊

1)優點:不需要進行相似度的計算

2.3.2兩個主要的應用形式

1)基於超圖的劃分

2)基於光譜的圖劃分

2.4基於平方誤差的迭代重分配聚類

2.4.1思想

逐步對聚類結果進行優化、不斷將目標資料集向各個聚類中心進行重新分配以獲最優解

2.4.2具體演算法

1)概率聚類演算法

期望最大化、能夠處理異構資料、能夠處理具有複雜結構的記錄、能夠連續處理成批的資料、具有線上處理能力、產生的聚類結果易於解釋

2)最近鄰聚類演算法——共享最近鄰演算法SNN

特點:結合基於密度方法和ROCK思想,保留K最近鄰簡化相似矩陣和個數

不足:時間複雜度提高到了O(N^2)

3K-Medioids演算法

特點:用類中的某個點來代表該聚類

優點:能處理任意型別的屬性;對異常資料不敏感

4K-Means演算法

1》特點:聚類中心用各類別中所有資料的平均值表示

2》原始K-Means演算法的缺陷:結果好壞依賴於對初始聚類中心的選擇、容易陷入區域性最優解、對K值的選擇沒有準則可依循、對異常資料較為敏感、只能處理數值屬性的資料、聚類結構可能不平衡

3》K-Means的變體

BradleyFayyad等:降低對中心的依賴,能適用於大規模資料集

Dhillon等:調整迭代過程中重新計算中心方法,提高效能

Zhang等:權值軟分配調整迭代優化過程

Sarafis:將遺傳演算法應用於目標函式構建中

Berkh in等:應用擴充套件到了分散式聚類

還有:採用圖論的劃分思想,平衡聚類結果,將原始演算法中的目標函式對應於一個各向同性的高斯混合模型

5)優缺點

優點:應用最為廣泛;收斂速度快;能擴充套件以用於大規模的資料集

缺點:傾向於識別凸形分佈、大小相近、密度相近的聚類;中心選擇和噪聲聚類對結果影響大

3、基於約束的聚類演算法

3.1約束

對個體物件的約束、對聚類引數的約束;均來自相關領域的經驗知識

3.2重要應用

對存在障礙資料的二維空間按資料進行聚類,COD(Clustering with Obstructed Distance):用兩點之間的障礙距離取代了一般的歐式距離

3.3不足

通常只能處理特定應用領域中的特定需求

4、用於高維資料的聚類演算法

4.1困難來源因素

1)無關屬性的出現使資料失去了聚類的趨勢

2)區分界限變得模糊

4.2解決方法

1)對原始資料降維

2)子空間聚類

CACTUS:對原始空間在二維平面上的投影

CLIQUE:結合基於密度和網格的聚類思想,借鑑Apriori演算法

3)聯合聚類技術

特點:對資料點和屬性同時進行聚類

文字:基於雙向劃分圖及其最小分割的代數學方法

4.3不足:不可避免地帶來了原始資料資訊的損失和聚類準確性的降低

5、機器學習中的聚類演算法

5.1兩個方法

1)人工神經網路方法

自組織對映:向量化方法,遞增逐一處理;對映至二維平面,實現視覺化

基於投影自適應諧振理論的人工神經網路聚類

2)基於進化理論的方法

缺陷:依賴於一些經驗引數的選取,並具有較高的計算複雜度

模擬退火:微擾因子;遺傳演算法(選擇、交叉、變異)

5.2優缺點

優點:利用相應的啟發式演算法獲得較高質量的聚類結果

缺點:計算複雜度較高,結果依賴於對某些經驗引數的選擇

下面附上個人對聚類演算法的選擇及比較的理解: