Kmeans是聚類算法中比較簡單的算法,也用的非常多。這裏進行簡單的解釋,主要目的在於給自己記錄,以備以後查看。
K均值聚類的主要思想是爲了使得各個類的點離聚類中心都儘可能近。
K均值聚類的算法可以描述爲:
輸入:數據集
聚類簇個數:k
算法:
- 從數據集D中隨機選擇k個樣本作爲初始聚類中心
- repeat
- 令
- for j = 1,2,…,m do
- for l = 1,2,…,n
- 計算樣本l 和每個聚類中心的距離,並把樣本l加入到距離最近的聚類中心所屬的集合中
- end for
- end for
- 重新計算所有聚類簇的中心位置,即均值向量
- until 聚類中心不再變化(有時候收斂時間很長,可能會設置一個最大重複次數,或是設置聚類中心的變化閾值 )
輸出:聚類簇