天天看點

Kmeans缺點分析

K均值聚類是一種應用廣泛的聚類技術,特别是它不依賴于任何對資料所做的假設,比如說,給定一個資料集合及對應的類數目,就可以運用K均值方法,通過最小化均方誤差,來進行聚類分析。

是以,K均值實際上是一個最優化問題。在一些已知的文獻中論述了K均值聚類的一下一些缺點:

  • K均值假設每個變量的分布是球形的;
  • 所有的變量具有相同的方差;
  • 類具有相同的先驗機率,要求每個類擁有相同數量的觀測

以上任一個條件不滿足時,kmeans都會失效,現在具體分析一些。

第一, 資料分布是球形的。

根據kmeans的算法設定,類内各點與中心的距離之和最小,可以形象的将類内各樣本點想象成一個球體,而這個中心就是我們計算出來的類中心。是以,其隐含條件是資料服從一個高次元的球體,而在實際情況,這種資料比較少見。而GMM,高斯混合模型,則是一種更為廣泛的資料分布假設。或者就混合模型而已,可以引入更多的混合模型,比如weibull。

第二,變量具有相同的方差。

在 k-means 中,我們假設各個 cluster 的先驗機率是一樣的,但是各個 cluster 的資料量可能是不均勻的。舉個例子,cluster A 中包含了10000個樣本,cluster B 中隻包含了100個。如此帶來了新的問題,由于在不均衡樣本上的聚類,大類的誤差會覆寫掉小類的誤差,容易将小類并入到大類中,是以,若想單獨成類,小類最好的方式就是在空間上與大類保持一定的距離,聚類時,才能獨立成類。否則,容易被誤認為離群點進行處理。

注意在 k-means 中,我們通常采用歐氏距離來衡量樣本與各個 cluster 的相似度,當然也有其他度量方法,将歐式距離的2改為1或者更大,都是以不同形式逼近中心。這種距離實際上假設了資料的各個次元對于相似度的衡量作用是一樣的。能不能有其他方法改變次元在間的權重問題? GMM 中,相似度的衡量使用的是後驗機率,通過引入協方差矩陣,我們就可以對各次元資料的不同重要性進行模組化。

第三,聚類結果。

在 k-means 中,各個樣本點隻屬于與其相似度最高的那個 cluster ,這實際上是一種 hard clustering 。相較而言,以機率隸屬的GMM會展示更符合實際的結果,這種結果類似于logistic回歸,最終是0或者1,但實際上給出了相對的隸屬機率大小。GMM可以看作是一種 fuzzy clustering 。

天下沒有免費的午餐,根據資料正确使用模型才是正理。kmeans存在這樣或那樣的問題,但終究還是好用。

繼續閱讀