輪廓 (聚類)
在機器學習與數據挖掘領域,輪廓指的是一種反映數據聚類結果一致性的方法,可以用於評估聚類後簇與簇之間的離散程度。[1]輪廓的取值範圍為[-1, +1],如果某一樣本的輪廓接近1,則說明樣本聚類結果合理;如果接近-1,則說明其更應該分類到其他的簇;如果輪廓近似為0,則說明該樣本在兩個簇的邊界上。所有樣本輪廓的均值稱為聚類結果的輪廓係數(Silhouette Coefficiency),是該聚類是否合理、有效的度量。
定義
編輯假設某一數據集使用如k-means等聚類方法分成了 個簇:
對於某一屬於簇 樣本 ,記為 ,設 為樣本 與 之間的距離,求算樣本 與其他樣本之間的平均距離的公式如下(由於不計算樣本與自身的距離 ,故計算平均值時樣本總數為 ):
上述公式結果記為 ,它反映了樣本 當前聚類結果的優劣(值越小,聚類結果越好)。
然後,我們定義樣本與某簇 的平均相異性為與樣本 距離簇的平均值 到簇 內所有樣本的距離均值 ( ),則對於樣本 ,有 最小平均距離 對應的簇 ,我們稱其為 的「相鄰簇」:
結合上述內容,我們定義 的輪廓值為:
等效為:
對於上述定義,顯然
為了防止簇數量暴增,對於僅有一個樣本的簇( ),定義其 。 反映了 與其所屬簇的距離,較小的 值說明其與所屬簇的關係緊密;而較大的 反映了 與其他簇關係疏遠;故為提高 (或稱為優化聚類結果),我們需要使 [2]。
考夫曼(Kaufman)等人定義了輪廓係數(silhouette coefficient )的概念——在某個數據集的有限種聚類方法中,平均 的最大值[3]:
上式中 代表被分為 個簇後該數據集的平均 。
評價
編輯輪廓係數一般不能用於橫向評價多種聚類方法。凸簇(如經由DBSCAN方法得出的簇)的輪廓係數一般高於其他類型的簇。
另見
編輯- Davies–Bouldin指數
- k-medoids
- 如何確定數據集中有多少簇
參考文獻
編輯- ^ 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.
- ^ 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.
- ^ 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.