1. 程式人生 > >從零開始-Machine Learning學習筆記(26)-聚類

從零開始-Machine Learning學習筆記(26)-聚類

文章目錄

0. 前言

  原本計計劃用兩個早晨看完這一章節的,沒想到竟然很順利的只用了一早上就看完了。所以在此也跟各位同道中的小夥伴們分享一下,千萬不要覺得這些知識枯燥,沒有現成的演算法直接使用起來那麼爽,那麼有成就感,但是掌握這些演算法的原理卻是我們在今後使用這些演算法的根基,根基不穩,終究也就只是個調包怪罷了。認真看進去的話,收穫非常大,且觸類旁通,對於你在別的領域,或許也會有些許的啟迪。

1. 聚類的效能度量和距離計算

  聚類任務是“無監督學習”中研究最多、應用最廣的。聚類試圖將資料集中的樣本劃分為若干個通常是不相交的子集,每個子集稱為一個"簇"(cluster)。

1.1 效能度量

  聚類效能度量大致有兩類. 一類是將聚類結果與某個"參考模型" (reference model)進行比較,稱為"外部指標" (external i醜dex); 另一類是直接考察聚類結果而不利用任何參考模型,稱為"內部指標" (internal
index)。

其中:
a: 表示在聚類模型和參考模型中都屬於同一簇的樣本對
b: 表示在聚類模型中屬於同一簇,但在參考模型中不屬於同一簇的樣本對
c

: 表示在參考模型中屬於同一簇,但在聚類模型中不屬於同一簇的樣本對
d: 表示在聚類模型和參考模型中都不屬於同一簇的樣本對
這四個值的感覺其實跟混淆矩陣類似,都是用於判定聚類產生的簇的好壞。有了這四個的值,就可以求出以下的幾個效能度量的外部指標
Jaccard 係數(Jaccard Coefficient, JC):
J C = a
a + b + c JC = \frac{a}{a+b+c}

FM 指數(Fowlkes and Mallows Index, FMI):
F M I = a a + b a a + c FMI = \sqrt{\frac{a}{a+b}· \frac{a}{a+c}}
Rand 指數(Rand Index, RI):
R I = 2 ( a + d ) m ( m 1 ) RI = \frac{2(a+d)}{m(m-1)}
上述效能度量的結果都在[0, 1]之間,其值越大越好。
  聚類效能度量內部指標,考慮聚類結果的簇劃分 C = { c 1 , c 2 , . . . , c k } C =\{c_1, c_2, ... ,c_k\} ,定義:
C a v g ( C ) = 2 C ( C 1 ) 1 i j C d i s t ( x i , x j ) C d i a m ( C ) = max 1 i j C d i s t ( x i , x j ) C d m i n ( C i , C j ) = min 1 i j C d i s t ( x i , x j ) C i C j d c e n ( C i , C j ) = d i s t ( μ i , μ j ) 簇C內樣本間的平均距離: avg(C) = \frac{2}{|C|(|C|-1)}\sum_{1 \leq i \leq j \leq |C|} dist(x_i, x_j) \\ 簇C內樣本間的最遠距離: diam(C) = \max_{1 \leq i \leq j \leq |C|}dist(x_i, x_j) \\ 簇C內樣本間的最近距離:d_{min}(C_i,C_j) = \min_{1 \leq i \leq j \leq |C|}dist(x_i, x_j) \\ 簇C_i與簇C_j中心點的距離: d_{cen}(C_i, C_j) = dist(\mu_i, \mu_j)
DB 指數(Davies-Bouldin Index, DBI):
D B I = 1 k i = 1 k max j i ( a v g ( C i ) + a v g ( C j ) d c e n ( μ i , μ j ) ) DBI = \frac{1}{k} \sum_{i=1}^{k} \max_{j \neq i} ( \frac{avg(C_i)+avg(C_j)}{d_{cen} (\mu_i,\mu_j)})
Dunn指數(Dunn Index, DI):
D I = min 1 i k { min j i d m i n ( C i , C j ) max 1 l k d i a m ( C l ) } DI = \min_{1 \leq i \leq k}\{ \min_{j \neq i }\frac{d_{min}(C_i,C_j)}{\max_{1 \leq l \leq k}diam(C_l)}\}