1. 程式人生 > >機器學習之K-means聚類演算法

機器學習之K-means聚類演算法

  k均值演算法的計算過程非常直觀:

      1、從D中隨機取k個元素,作為k個簇的各自的中心。

      2、分別計算剩下的元素到k個簇中心的相異度,將這些元素分別劃歸到相異度最低的簇。

      3、根據聚類結果,重新計算k個簇各自的中心,計算方法是取簇中所有元素各自維度的算術平均數。

      4、將D中全部元素按照新的中心重新聚類。

      5、重複第3,4步,直到聚類結果不再變化。

      6、將結果輸出。

相似度計算:

方法1:歐式距離

方法2:曼哈頓距離


方法3:閔可夫斯基距離


這裡有一個問題,就是不同維度的屬性取值範圍不同,對於最終結果的計算結果影響有偏差,所以需要進行規格化。所謂規格化就是將各個屬性值按比例對映到相同的取值區間,這樣是為了平衡各個屬性對距離的影響。通常將各個屬性均對映到[0,1]區間

對映公式:


其中max(ai)和min(ai)表示所有元素項中第i個屬性的最大值和最小值