k-means 算法介紹

    

概述

  聚類屬於機器學習的無監督學習,在數據中發現數據對象之間的關係,將數據進行分組,組內的類似性越大,組間的差異越大,則聚類效果越好。它跟分類的最主要區別就在於有沒有「標籤」。好比說咱們有一組數據,數據對應着每一個「標籤」,咱們經過這些數據與標籤之間的相關性,預測出某些數據屬於哪些「標籤」,這屬於分類;而聚類是沒有「標籤」的,所以說它屬於無監督學習,分類則屬於監督學習。算法

  k-means(k-均值)屬於聚類算法之一,籠統點說,它的過程是這樣的,先設置參數k,經過歐式距離進行計算,從而將數據集分紅k個簇。爲了更好地理解這個算法,下面更加詳細的介紹這個算法的思想。機器學習

算法思想

  咱們先過一下幾個基本概念:學習

 (1) K值:即要將數據分爲幾個簇;網站

 (2) 質心:可理解爲均值,即向量各個維度取平均值,這個是咱們聚類算法一個重要的指標;spa

 (3) 歐式距離:對象

 

  上面的這3條基本概念你大可沒必要太糾結,由於這是爲了讓你看下面的內容時,可以更好理解。假如說,咱們如今有一堆數據集,在圖像上的分佈是這樣的:blog

     

 

  從圖像上看,貌似能夠直接把他分爲3個簇,所以,咱們設置 k=3,而後咱們隨機生成3個點,再經過歐式距離公式,計算每一個點到這三個點之間的距離,距離哪一個點最近的,就歸類,因而它就變成了這樣:get

    

  固然,這樣還不夠,畢竟這三個點只是隨機生成的,並且咱們還須要不斷調整以達到更好的聚類效果;所以咱們計算初次分好的簇的均值,即上面提到的質心,讓這三個質心替代掉隨機點,而後迭代重複上面的過程,以達到最優。it

         

            

  ......(重複迭代n次)......原理

  最後,才生成最優解,如圖:

           

  上面的圖是在這個網站經過演示獲得的,能夠上這個網址實際操做一波,加深理解。

 缺點

  幾乎每一個算法都有其缺點,這個算法也不例外,優勢是原理簡單,實現容易,缺點以下:

 (1)不規則點的聚類結果會有所誤差,以下圖,好比咱們想分紅4個簇,倆眼睛一嘴巴以及外輪廓,但效果老是難以達到。

     

 (2)k值難以肯定。好比下面這樣的圖,應該把它從中間分割獲得兩塊呢仍是分紅左中右三塊呢,難以肯定。

    

  想要第一時間獲取更多有意思的推文,可關注公衆號: Max的平常操做

                            

相關文章
相關標籤/搜索