輪廓 (聚類)

聚类分析方法

在機器學習與數據挖掘領域,輪廓指的是一種反映數據聚類結果一致性的方法,可以用於評估聚類後簇與簇之間的離散程度。[1]輪廓的取值範圍為[-1, +1],如果某一樣本的輪廓接近1,則說明樣本聚類結果合理;如果接近-1,則說明其更應該分類到其他的簇;如果輪廓近似為0,則說明該樣本在兩個簇的邊界上。所有樣本輪廓的均值稱為聚類結果的輪廓係數(Silhouette Coefficiency),是該聚類是否合理、有效的度量。

定義

 
該圖顯示了Orange數據挖掘套件渲染的動物園數據集中的三種動物的輪廓。 在圖底部的輪廓值反映了該數據集中海豚和鼠海豚是離群值(outlier)

假設某一數據集使用如k-means等聚類方法分成了  個簇:

對於某一屬於簇 樣本 ,記為   ,設 為樣本  之間的距離,求算樣本 與其他樣本之間的平均距離的公式如下(由於不計算樣本與自身的距離 ,故計算平均值時樣本總數為 ):

 

上述公式結果記為 ,它反映了樣本 當前聚類結果的優劣(值越小,聚類結果越好)。

然後,我們定義樣本與某簇 的平均相異性為與樣本 距離簇的平均值 到簇 內所有樣本的距離均值 ( ),則對於樣本  ,有 最小平均距離 對應的簇 ,我們稱其為 的「相鄰簇」:

 

結合上述內容,我們定義 的輪廓值為:

 

等效為:

 

對於上述定義,顯然 

為了防止簇數量暴增,對於僅有一個樣本的簇( ),定義其  反映了 與其所屬簇的距離,較小的 值說明其與所屬簇的關係緊密;而較大的 反映了 與其他簇關係疏遠;故為提高 (或稱為優化聚類結果),我們需要使 [2]

考夫曼(Kaufman)等人定義了輪廓係數(silhouette coefficient )的概念——在某個數據集的有限種聚類方法中,平均 的最大值[3]

 

上式中 代表被分為 個簇後該數據集的平均 


評價

輪廓係數一般不能用於橫向評價多種聚類方法。凸簇(如經由DBSCAN方法得出的簇)的輪廓係數一般高於其他類型的簇。

 
途中藍色線條是DBSCAN的輪廓係數,隨著參數變化其SC迅速增大。然而實際聚類結果很差。

另見

  • Davies–Bouldin指數
  • k-medoids
  • 如何確定數據集中有多少簇

參考文獻

  1. ^ Peter J. Rousseeuw. Silhouettes: a Graphical Aid to the Interpretation and Validation of Cluster Analysis. Computational and Applied Mathematics. 1987, 20: 53–65. doi:10.1016/0377-0427(87)90125-7. 
  2. ^ R.C. de Amorim, C. Hennig. Recovering the number of clusters in data sets with noise features using feature rescaling factors. Information Sciences. 2015, 324: 126–145. arXiv:1602.06989 . doi:10.1016/j.ins.2015.06.039. 
  3. ^ Leonard Kaufman; Peter J. Rousseeuw. Finding groups in data : An introduction to cluster analysis. Hoboken, NJ: Wiley-Interscience. 1990: 87. ISBN 9780471878766. doi:10.1002/9780470316801.