1. 程式人生 > >評價聚類效能指標

評價聚類效能指標

聚類

在無監督學習中,訓練樣本的標記是沒有指定的,通過對無標記樣本的訓練來探索資料之間的規律。其中應用最廣的便是聚類,聚類試圖把一群未標記資料劃分為一堆不相交的子集,每個子集叫做”簇“,每個簇可能對應於一個類別標籤,但值得注意的是,這個標籤僅僅是我們人為指定強加的,並不是資料本身就存在這樣的標籤。例如音樂軟體對音樂的曲分或者流派進行聚類,可以劃分為傷感,輕快等一系列標籤,但是這個曲分只是人為加上的,音樂本身並不知道自己被分為了什麼曲分。

效能指標

具體的效能度量有兩類,一類是外部指標,與某個專家給定的參考模型進行比對,另一類是內部指標,只考慮自己聚類之後的結果。

外部指標

外部指標需要一個參考模型,這個參考模型通常是由專家給定的,或者是公認的參考模型比如公開資料集。對於聚類的結果所形成的簇集合(這裡叫做簇C),對於參考模型的簇集合(這裡叫做D),對這兩個模型結果的樣本進行兩兩配對比較,可得到如下顯而易見的資料。

a = S S

, S S = ( x i
, x j ) λ i = λ j , λ i = λ j , i < j
a=|SS|,SS={(x_i,x_j)|\lambda_i=\lambda_j,\lambda_i^*=\lambda_j^*,i<j}
b = S D , S D = ( x i , x j ) λ i = λ j , λ i = /   λ j , i < j b=|SD|,SD={(x_i,x_j)|\lambda_i=\lambda_j,\lambda_i^*{=}\mathllap{/\,}\lambda_j^*,i<j}
c = D S , D S = ( x i , x j ) λ i = /   λ j , λ i = λ j , i < j c=|DS|,DS={(x_i,x_j)|\lambda_i{=}\mathllap{/\,}\lambda_j,\lambda_i^*=\lambda_j^*,i<j}
c = D D , D D = ( x i , x j ) λ i = /   λ j , λ i = /   λ j , i < j c=|DD|,DD={(x_i,x_j)|\lambda_i{=}\mathllap{/\,}\lambda_j,\lambda_i^*{=}\mathllap{/\,}\lambda_j^*,i<j} $
a = 在C中屬於相同簇且在D中屬於相同簇的樣本對的數量。
b = 在C中屬於相同簇且在D中屬於不同簇的樣本對的數量。
c = 在C中屬於不同簇且在D中屬於相同簇的樣本對的數量。
d = 在C中屬於不同簇且在D中屬於不同簇的樣本對的數量。

對這裡的abcd,不考慮一個樣本屬於多個簇的情況,因此每個樣本都只能出現在一個集合中,所以a+b+c+d=m(m-1)/2。(m為樣本總數)
由此可以匯出幾個常見的外部效能指標,Jaccard係數,FM指數,Rand指數。

Jaccard指數(簡稱JC)

常用來表示集合之間的相似性和差異性,常常被定義為集合交集大小與集合並集大小的比值,因此也常被叫做並交比。其公式為
J C = a a + b = c JC=\frac{a}{a+b=c}

FM指數(簡稱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之間,顯然值越大說明聚類效果越好。

內部指標

內部指標則只考慮聚類之後這些簇之間的效果,通常用距離來度量.
a v g ( C ) = 2 C ( C 1 ) 1 i j C d i s t ( x i , x j ) avg(C)=\frac{2}{|C|(|C|-1)} \sum_{\mathclap{1\le i\le j\le {|C|}}}dist(x_i,x_j)
d i a m ( C ) = m a x 1 i j C d i s t ( x i , x j ) diam(C)=max_{{1\le i\le j\le {|C|}}} dist(x_i,x_j)
d m i n ( C i , C j ) = m i n x i C i , x j C j d i s t ( x i , x j ) d_{min}(C_i,C_j)=min_{x_i\in{C_i},x_j\in{C_j}}dist(x_i,x_j)