Clustering
通過數據集的隨機子樣本初始化 K-means 中心?
如果我有某個數據集,那麼使用該數據集的隨機樣本初始化集群中心有多聰明?
例如,假設我想要
5 clusters
. 我5 random samples
說size=20%
的是原始數據集。然後我可以取這 5 個隨機樣本中的每一個的平均值並將這些平均值用作我的 5 個初始聚類中心嗎?我不知道我在哪裡讀到的,但我想知道你們對這個想法的看法。
**更新:**請參閱此線程Initializing K-means clustering: what are the existing methods?有關各種初始化方法的一般性討論。
如果您將樣本隨機分成 5 個子樣本,您的 5 個均值幾乎會重合。將如此接近的點作為初始集群中心有什麼意義?
在許多 K-means 實現中,初始聚類中心的默認選擇是基於相反的想法:找到相距最遠的 5 個點並將它們作為初始中心。您可能會問,找到那些相距甚遠的點的方法可能是什麼?以下是 SPSS 的 K-means 正在為此做的事情:
取數據集中任意k個事例(點)作為初始中心。正在檢查所有其餘病例是否能夠通過以下條件替代作為初始中心的病例:
- a) 如果箱子離最靠近它的中心的距離比兩個最接近的中心之間的距離更遠,則箱子用它更接近的後兩個中心代替。
- b) 如果案例離第二個最近的中心比離它最近的中心和最靠近後一個的中心之間的距離更遠,則案例用最靠近它的中心代替。
如果條件(a)不滿足,則檢查條件(b);如果不滿足,則案件不會成為中心。作為這種遍歷案例的結果,我們在雲中獲得了k個最大案例,這些案例成為初始中心。該算法的結果雖然足夠穩健,但對“任意k個案例”的起始選擇和數據集中案例的排序順序並非完全不敏感;因此,仍然歡迎進行幾次隨機啟動嘗試,就像K-means 一樣*。*
請參閱我的答案以及 k-means 的流行初始化方法列表。拆分為隨機子樣本的方法(我和其他人在這裡批評)以及 SPSS 使用的描述方法 - 也在列表中。