1. 程式人生 > >K-means聚類演算法原理簡單介紹

K-means聚類演算法原理簡單介紹

  • K-means演算法

(1. 剛開始隨機選擇兩個點作為簇重心,然後計算每個資料點離這個重心的距離並把這些點歸為兩個類)
(上一步的結果如下圖,所有離藍色叉近的點被標為藍色了,紅色亦然)
(下面的圖中的兩條直線是我自己加上去的,說明剛開始進行分類的時候是用直線來分割類的,在直線的上邊則歸為和紅叉一類,在下面則歸為和藍叉一類,這條直線的選擇是根據紅叉和藍叉連線的平分垂直線)
(2. 進行重心轉移,即把所有藍色點計算出平均值作為重心,紅色點也是一樣,計算出的結果如下圖,這是第一次迭代)

(如上圖,計算出重心後,再重新計算離紅叉和藍叉的點的距離,再重新分配簇。結果如下圖)
(然後再重新計算這些點的平均值作為簇重心,這是第二次迭代,結果如下圖,結果顯示重心已經很收斂了,再進行迭代重心不會改變了)