Clustering
K-means 可能導致的聚類
我得到了以下問題作為考試的測試問題,我根本無法理解答案。
投影到前兩個主成分上的數據散點圖如下所示。我們希望檢查數據集中是否存在某種組結構。為此,我們使用歐幾里得距離度量運行了 k = 2 的 k-means 算法。根據隨機初始條件,k-means 算法的結果在運行之間可能會有所不同。我們多次運行該算法並得到一些不同的聚類結果。
通過對數據運行 k-means 算法,只能獲得所示的四個聚類中的三個。k-means不能得到哪一個?(數據沒有什麼特別的)
正確答案是 D。你們誰能解釋一下為什麼?
為了讓 Peter Flom 的回答更加深入人心,k-means 聚類在數據中尋找 k 個組。該方法假設每個簇在某個 處都有一個質心
(x,y)
。k-means 算法最小化每個點到質心的距離(這可能是歐幾里得距離或曼哈頓距離,具體取決於您的數據)。為了識別集群,首先猜測哪些數據點屬於哪個集群,然後計算每個集群的質心。然後計算距離度量,然後在集群之間交換一些點以查看擬合是否有所改善。細節上有很多變化,但從根本上說,k-means 是一種依賴於初始條件的蠻力解決方案,因為聚類解決方案存在局部最小值。
因此,在您的情況下,情況 A 的初始條件看起來很分散,
x
因此集群解決了,因為從質心到數據的距離很小,這是一個穩定的解決方案。相反,您無法獲得 D,因為單個紅點比許多其他點更靠近藍點的質心,因此紅點應該已成為藍集的一部分。因此,獲得 D 的唯一方法是在集群完成之前中斷集群過程(或者生成集群的代碼被破壞)。