常用數據挖掘算法從入門到精通 第二章 K-means聚類算法

數據挖掘 歐幾里得 科技 小AI諮詢 小AI諮詢 2017-08-26

今天主要講述K-means聚類算法,並附有詳細的案例來幫助大家理解。

K-means聚類算法簡介

聚類分析也稱無監督學習, 因為和分類學習相比,聚類的樣本沒有標記,需要由聚類學習算法來自動確定。聚類分析是研究如何在沒有訓練的條件下把樣本劃分為若干類

K-means聚類算法是最為經典也是使用最為廣泛的一種基於劃分的聚類算法,它屬於基於距離的聚類算法

所謂基於距離的聚類算法是指採用距離作為相似性量度的評價指標,也就是說當兩個對象離得近時,兩者之間的距離比較小,那麼它們之間的相似性就比較大。這類算法通常是由距離比較相近的對象組成簇,把得到緊湊而且獨立的簇作為最終目標,因此將這類算法稱為基於距離的聚類算法。K-means聚類算法就是其中比較經典的一種算法

K-means算法,也被稱為K-平均或K-均值算法,它是將各個聚類子集內的所有數據樣本的均值作為該聚類的代表點,算法的主要思想是通過迭代過程把數據集劃分為不同的類別,使得評價聚類性能的準則函數達到最優(誤差平方和準則函數E),從而使生成的每個聚類(又稱簇)內緊湊,類間獨立

常用數據挖掘算法從入門到精通 第二章 K-means聚類算法

聚類

相似度準則與聚類性能評價準則

常見的相似度/距離評價準則有:

  • 歐幾里得距離

其意義就是兩個元素在歐氏空間中的集合距離,因為其直觀易懂且可解釋性強,被廣泛用於標識兩個標量元素的相異度。

常用數據挖掘算法從入門到精通 第二章 K-means聚類算法

歐幾里得距離

  • 曼哈頓距離

常用數據挖掘算法從入門到精通 第二章 K-means聚類算法

曼哈頓距離

  • 閔可夫斯基距離

常用數據挖掘算法從入門到精通 第二章 K-means聚類算法

閔可夫斯基距離

聚類性能評價準則

K-means聚類算法使用誤差平方和準則函數來評價聚類性能。給定數據集X,其中只包含描述屬性,不包含類別屬性。假設X包含K個聚類子集X1,X2,…XK;各個聚類子集中的樣本數量分別為n1,n2,…,nk;各個聚類子集的均值代表點(也稱聚類中心)分別為m1,m2,…,mk。

  • 誤差平方和準則函數公式

常用數據挖掘算法從入門到精通 第二章 K-means聚類算法

誤差平方和準則函數公式

K-means聚類算法原理和步驟

輸入:初始數據集和簇(聚類)的數目K。

輸出:K個簇,滿足誤差平方和準則函數收斂。

算法步驟:

1)任意選擇K個數據對象作為初始聚類中心;

2)將樣本集中的樣本按照最小距離原則分配到最鄰近聚類中心;

3)使用得到的每個聚類中的樣本均值作為新的聚類中心;

4)重複步驟2和3直到聚類中心不再變化,或者是直到誤差平方和準則函數收斂,即|E(K+1)-E(K)|<e;

5)結束,得到K個聚類。

常用數據挖掘算法從入門到精通 第二章 K-means聚類算法

K-Means算法的工作流程

K-means聚類算法實例

初始數據集,共5條記錄,每條數據記錄包含兩個屬性x和y。

常用數據挖掘算法從入門到精通 第二章 K-means聚類算法

初始數據集

作為一個聚類分析的二維樣本,要求的簇的數量K=2

常用數據挖掘算法從入門到精通 第二章 K-means聚類算法

K-Means算法實例

常用數據挖掘算法從入門到精通 第二章 K-means聚類算法

K-means聚類過程圖示

相關推薦

推薦中...