天天看點

機器學習入門筆記(七):聚類

作者:AI小李

一.聚類的基本概念

聚類是針對給定的樣本,依據它們特征的 相似度或距離,将其歸并到若千個“類”或“簇”的資料分析問題。一個類是樣本的一個子集。直覺上,相似的樣本聚集在相同的類,不相似的樣本分散在不同的類。這裡,樣本之間的相似度或距離起着重要作用。

1.1 相似度或距離

聚類的對象是觀測資料,或樣本集合。假設有 n 個樣本,每個樣本由 m 個屬性的特征向量組成。樣本集合可以用矩陣 X 表示矩陣的第 j 清單示第 j 個樣本, j=1,2,..,n; 第 i 行表示第 i 個屬性, i=1,2,...,m; 矩陣元素 xij 表示第 j 個樣本的第 i 個屬性值, i=1,2,...,m; j=1,2,..,n。

機器學習入門筆記(七):聚類

聚類的核心概念是相似度(similarity) 或距離(distance) ,有多種相似度或距離的定義。因為相似度直接影響聚類的結果,是以其選擇是聚類的根本問題。具體哪種相似度更合适取決于應用問題的特性。

1.闵可夫斯基距離

在聚類中,可以将樣本集合看作是向量空間中點的集合,以該空間的距離表示樣本之間的相似度。常用的距離有 闵可夫斯基距離,特别是 歐氏距離。闵可夫斯基距離越大相似度越小,距離越小相似度越大。

定義7.1 給定樣本集合 X, X 是 m維實數向量空間 Rm​中點的集合,其中 x i , x j ∈ X , xi​=(x1i​,x2i​,...,xmi​)T, xj​=(x1j​,x2j​,...,xmj​)T,樣本 xi​ 與樣本xj​ 的 **闵可夫斯基距離( Minkowski distance)**定義為

機器學習入門筆記(七):聚類

這裡 p≥1。當 p=2 時稱為 歐氏距離( Euclidean distance),即

機器學習入門筆記(七):聚類

當 p = 1 p=1 p=1 時稱為曼哈頓距離( Manhattan distance ),即

機器學習入門筆記(七):聚類

當p=∞時稱為 切比雪夫距離( Chebyshev distance),取各個坐标數值差的絕對值的最大值,即

機器學習入門筆記(七):聚類
  1. 相關系數

樣本之間的相似度也可以用 相關系數(correlation cofficient) 來表示。相關系數的絕對值越接近于1,表示樣本越相似;越接近于0,表示樣本越不相似。

機器學習入門筆記(七):聚類

1.2 類或簇

通過聚類得到的類或簇,本質是樣本的子集。如果一個聚類方法假定一個樣本隻能屬于一個類,或類的交集為空集,那麼該方法稱為 硬聚類(hard clustering) 方法。否則,如果一個樣本可以屬于多個類,或類的交集不為空集,那麼該方法稱為軟聚類(soft clustering) 方法。本章隻考慮硬聚類方法。

用 G 表示類或簇(cluster) ,用xi​,xj​表示類中的樣本,用 nG​表示G 中樣本的個數,用 dij​ 表示樣本 xi​ 與樣本 xj​ 之間的距離。下面給出 類的定義:

設 T 為給定的正數,若集合 G 中任意兩個樣本 xi​,xj​,有

機器學習入門筆記(七):聚類

則稱 G 為一個類或簇。

類的特征可以通過不同角度來刻畫,常用的特征有下面幾種:

(1)類的均值

機器學習入門筆記(七):聚類

​,又稱為類的中心

機器學習入門筆記(七):聚類

(2)類的直徑(diameter) DG​

類的直徑 DG​是類中任意兩個樣本之間的最大距離,即

機器學習入門筆記(七):聚類

1.3 類與類之間的距離

下面考慮類 Gp​與類 Gq​之間的距離 D(p,q), 也稱為連接配接(linkage)。類與類之間的距離也有多種定義。

(1)最短距離或單連接配接(single linkage)

定義類 Gp​ 的樣本與 Gq​ 的樣本之間的最短距離為兩類之間的距離

機器學習入門筆記(七):聚類

(2)最長距離或完全連接配接(complete linkage)

定義類 Gp​ 的樣本與 Gq​ 的樣本之間的最長距離為兩類之間的距離

機器學習入門筆記(七):聚類

(3)中心距離

定義類Gp​ 與類 Gq​ 的中心

機器學習入門筆記(七):聚類

之間的距離為兩類之間的距離

機器學習入門筆記(七):聚類

(4)平均距離

定義類 Gp​ 與類 Gq​ 任意兩個樣本之間距離的平均值為兩類之間的距離

機器學習入門筆記(七):聚類

二.層次聚類

層次聚類假設類别之間存在層次結構,将樣本聚到階層化的類中。層次聚類又有 聚(agglomerative) 或自下而上(ottom-up)聚類、分裂(divisive) 或自上而下(top-down)聚類兩種方法。因為每個樣本隻屬于一個類,是以層次聚類屬于硬聚類。

2.1 基本概念

聚合聚類開始将 每個樣本各自分到一個類;之後将相距 最近的兩類合并,建立一個新的類,重複此操作直到滿足停止條件;得到階層化的類别。分裂聚類開始将 所有樣本分到一個類;之後将已有類中相距 最遠的樣本分到兩個新的類,重複此操作直到滿足停止條件;得到階層化的類别。本書隻介紹聚合聚類。

聚合聚類的具體過程如下:對于給定的樣本集合,開始将每個樣本分到一個類;然後按照一定規則,例如類間距離最小,将最滿足規則條件的兩個類進行合并;如此反複進行,每次減少一個類,直到滿足停止條件,如所有樣本聚為一類。

由此可知,聚合聚類需要預先确定下面三個要素:

  1. 距離或相似度;
  2. 合并規則;
  3. 停止條件。

根據這些要素的不同組合,就可以構成不同的聚類方法。距離或相似度可以是闵可夫斯基距離、馬哈拉諾比斯距離、相關系數、夾角餘弦。合并規則一般是類間距離最小,類間距離可以是最短距離、最長距離、中心距離、平均距離。停止條件可以是類的個數達到門檻值(極端情況類的個數是1)、類的直徑超過門檻值。

如果采用 歐氏距離為樣本之間距離;類間距離最小為合并規則,其中最短距離為類間距離;類的個數是1,即所有樣本聚為一類,為停止條件,那麼聚合聚類的算法如下。

2.2 算法描述

算法14.1 (聚合聚類算法)

輸入: n n n 個樣本組成的樣本集合及樣本之間的距離;

輸出:對樣本集合的一個階層化聚類。

機器學習入門筆記(七):聚類

2.3 例題

例: 給定5個樣本的集合,樣本之間的歐氏距離由如下矩陣 D D D 表示:

機器學習入門筆記(七):聚類

其中dj​表示第 i 個樣本與第 j 個樣本之間的 歐氏距離。顯然 D 為對稱矩陣。應用聚合層次聚類法對這5個樣本進行聚類。

機器學習入門筆記(七):聚類
機器學習入門筆記(七):聚類

三.K均值聚類

k均值聚類是基于 樣本集合劃分 的聚類算法。k 均值聚類将樣本集合劃分為 k 個子集,構成 k個類,将 n 個樣本分到 k 個類中,每個樣本到其所屬類的中心的距離最小。每個樣本隻能屬于一個類,是以 k 均值聚類是硬聚類。下面分别介紹 k 均值聚類的模型、政策、算法,讨論算法的特性及相關問題。

3.1 模型

給定 n 個樣本的集合 X=x1​,x2​,...,xn​ 每個樣本由一個特征向量表示,特征向量的維數是 m。 k 均值聚類的目标是将 n 個樣本分到 k 個不同的類或簇中,這裡假設k < n。 k 個類 G1​,G2​,...,Gk​形成對樣本集合 X的劃分,其中

機器學習入門筆記(七):聚類

用 C 表示劃分,一個劃分對應着一個聚類結果。

劃分 C 是一個多對一的函數。事實上,如果把每個樣本用一個整數 i∈{1,2,..,n} 表示,每個類也用一個整數 l∈{1,2,..,k} 表示,那麼劃分或者聚類可以用函數 l=C(i) 表示,其中 i∈{1,2,...,n},l∈{1,2,..,k}。是以 k 均值聚類的模型是一個從樣本到類的函數。

3.2 政策

k均值聚類歸結為樣本集合X的劃分,或者從樣本到類的函數的選擇問題。k均值聚類的政策是通過 損失函數的最小化選取最優的劃分或函數C*。

首先,采用 歐氏距離平方(squared Euclidean distance) 作為樣本之間的距離d(xi,xj) .

機器學習入門筆記(七):聚類

然後,定義樣本與其所屬類的中心之間的距離的總和為損失函數,即

機器學習入門筆記(七):聚類

式中

機器學習入門筆記(七):聚類

是第 l 個類的均值或中心,

機器學習入門筆記(七):聚類

是訓示函數,取值為 1或 0。函數 W(C) 也稱為能量,表示相同類中的樣本相似的程度。

k均值聚類就是求解最優化問題:

機器學習入門筆記(七):聚類

3.3 算法

聚類中心的初始化

樣本集 D劃分之前,先選擇代表點作為初始聚類核心,再将其餘樣本初始分類。疊代結果與初始代表點選擇有關

3.3.1 K-Means ++ 中的聚類中心初始化算法:

機器學習入門筆記(七):聚類

3.3.2 聚類數 K 的确定

通常要求事先給定聚類數K,若類别數目未知,可按如下方法确定

  • 一般根據領域先驗知識确定
  • 實驗确定:

    令k = 1,2,3…分别進行聚類,得 Je​(k),繪制 Je​(k)−k曲線圖;找出拐點,對應聚類數目為最終類别數。

機器學習入門筆記(七):聚類

3.3.3 K均值聚類算法描述

機器學習入門筆記(七):聚類

3.4.例題

例: 給定含有5 個樣本的集合

機器學習入門筆記(七):聚類

試用k均值聚類算法将樣本聚到2個類中。

解:

機器學習入門筆記(七):聚類

四.密度聚類(DBSCAN)

DBSCAN 算法是一種基于 高密度連通區域的、基于密度的聚類算法。能夠将具有足夠高密度的區域劃分為簇。

4.1 相關概念

給定樣本集 D={x1​,⋯,xm​}

機器學習入門筆記(七):聚類
機器學習入門筆記(七):聚類
機器學習入門筆記(七):聚類

4.2 算法描述

機器學習入門筆記(七):聚類

結語

喜歡人工智能的小夥伴記得點贊關注哦~

繼續閱讀