機器學習演算法之Kmeans演算法(K均值演算法)

Kmeans演算法(K均值演算法)

KMeans演算法是典型的基於距離的聚類演算法,採用距離作為相似性的評價指標,即認為兩個對象的距離越近,其相似度就越大。該演算法認為簇是由距離靠近的對象組成的,因此把得到緊湊且獨立的簇作為最終目標。

如何定義兩個樣本的相似:

兩個樣本在歐式空間中的距離

引入新概念:

Cluster: 表示一個簇
centroid: 表示當前簇的中心

演算法步驟 :

1.隨機從數據集中選取k個樣本當做centroid
2.對於數據集中的每個點,計算它距離每個centroid的距離,並把它歸為距離最近打那個cluster
3.更新新的centroid位置
4.重複2和2,直到centroid的位置不再改變

KMEANS 的優缺點

Pros:

1. 非監督類的演算法不需要樣本的標註資訊

CONS:

1. 不能利用到數據的標註資訊,意味著模型的性能不如其他監督學習
2. 對於K的取值,也就是你認為數據集中的樣本應該分為幾類,這個參數的設置極為敏感!
不同的K值,導致完全不同的分類結果!
3. 對於數據集本身樣本的分布也很敏感

和KNN的區別:

KNN:

  1.只關注待測樣本的局部分布
  2.K:K個最近鄰 
  3.監督類模型

KMeans:

  1.關注樣本的全局分布
  2.k:K個簇