機器學習 -- K-MEANS算法(Ⅱ K-MEANS概述)

一. 介紹

        k-Means算法是最經典的基於劃分的聚類算法。所謂基於劃分的方法是將樣本集組成的矢量空間預先初始化,劃分爲多個區域,每個區域有一個區域中心,對於每個樣本,可以建立一種樣本到區域中心的映射。通過不斷的迭代,不斷的重新定位,從一個組移動到另一個組來進行劃分。不同的映射方式產生不同的基於劃分的聚類算法.k-means算法要求樣本點與中心點的歐幾里得距離最小。

 

二. 計算過程

k-Means算法計算過程如下:

(1)導入數據:收集並準備數值型矩陣作爲原始數據集;

(2)創建初始質心:指定聚類數k,從原始數據集中隨機選取k個對象作爲初始質心;

(3)分配:計算數據集中每個對象到所有質心的距離,並將數據點分配到距離最接近的質心,從而形成簇分配矩陣;

(4)重新計算質心:計算簇中所有點的均值,並將均值作爲新的質心。

(5)反覆執行(3)和(4),直至質心不再移動。

 

三. 工作流程圖例

(1)假設原始樣本點如下:
 
    
(2)若k=2,則在圖中隨機生成兩個顏色不同的點(如紅點和藍點):
 
(3)然後將所有樣本點(綠點)根據對紅藍點距離的比較進行劃分:
 
(4)劃分完成後,對新的紅色簇和藍色簇進行質心的重新選擇:
 
(5)根據新的質心進行樣本點的重新劃分:
 
 
然後重複進行(4)和(5)的操作,直到更新到幾乎所有樣本點的劃分不再發生變化爲止。
 
 

四. 評價

優勢:簡單、快速,適合常規數據集。

劣勢:

(1)難以確定k值。

(2)複雜度和樣本呈線性關係,在大規模數據集上收斂較慢。

(3)很難發現任意形狀的簇。

發佈了306 篇原創文章 · 獲贊 70 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章