2016-12-11 55 views
0

我正在使用數據集來製作2個使用EM和K-means的聚類。我已經分別實現了K-means和EM算法。現在我試圖從我的EM算法的實現中派生出k-means來進行聚類。我有兩個問題。K-means作爲廣義EM算法的專用案例

  1. K均值被視爲廣義EM算法的一個特例。但是我們需要從EM算法中推導出k-均值的假設?

  2. 此外,在編碼方面,我們需要在EM算法的實現中做出什麼樣的改變,以便它的行爲完全像k-means算法一樣?我假設我們需要在兩個羣集之間共享相同的協方差矩陣。是否有權承擔?

有些見解將不勝感激。

編輯: 這就是我正在使用k-means。 Clustering K-means

這是使用EM的聚類。 Clustering EM

回答

0

這是太長的評論。

K均值和EM聚類非常相關,但不完全相同。對EM的兩次更改將使其與K-means非常非常相似:

  1. EM使用多維分佈。限制分佈的標準偏差在所有維度上都是相同的。
  2. 修改EM的輸出以僅生成最可能的羣集。 EM產生軟聚類(一個點在每個聚類中的單獨概率),而K均值產生硬聚類(單個聚類選擇)。

我不知道這些「修復」如何轉化爲您的特定代碼。

我並不是100%確定在任何情況下,這種EM方法都會收斂到與K均值完全相同的羣集。我相信,在大多數情況下,這兩種方法會產生非常可比的結果。

+0

謝謝你的迴應。得到它了。如果我們在所有維度上使用相同的標準偏差(或協方差),它會產生類似於k均值的結果。 –

+0

@SalA。 。 。 。是。這恰好是我在第三版「數據挖掘技術」的聚類章節中討論的主題。用於EM的羣集的「截面」是橢圓,而K平均是圓圈。因此,強化差異的等式會將橢圓限制爲圓。 –