聚類模型的演算法效能評價

归去_来兮發表於2024-06-27

一、概述

  作為機器學習領域的重要內容之一,聚類模型在許多方面能夠發揮舉足輕重的作用。所謂聚類,就是透過一定的技術方法將一堆資料樣本依照其特性劃分為不同的簇類,使得同一個簇內的樣本有著更相近的屬性。依不同的實現策略,聚類演算法有很多種,如基於距離的k-means、基於密度的DBSCAN等。在聚類完成之後,其效能的評估是一個不可規避的問題,常見的評估方法依有無事先的標記性資訊分為外部評估法和內部評估法。

二、評價指標

1.外部評估法

  一種常用的評估方式是外部評估,利用測試樣本事先已有的標記資訊來衡量模型的效能。常見的外部評估指標有純度(Purity)、蘭德指數(Rand Index, RI)、調整蘭德指數(Adjusted Rand Index, ARI)、F值(F-score)、傑卡德係數(Jaccard, JC)、標準化互資訊(NMI)等。

(1)純度

  純度是一種較直接的效能表徵方式,計算的是正確聚類的樣本數與總樣本數的比值。在聚類完成之後,對每個簇內的樣本,假設知曉其事先的標記性屬性資訊,每個簇中類別數量最多的樣本即作為該簇的屬性類別,給類別下的樣本即純性樣本,各個簇的純性樣本數之和對總樣本數的佔比即純度(Purity)。表示式為

\[Purity=\frac{1}{N}\sum_{k}{max_j\left| w_k\cap c_j \right|} \]

  其中,N為總的樣本數,\(\Omega=\left\{ w_1,w_2,...,w_K \right\}\)表示聚類簇的劃分,\(C=\left\{ c_1,c_2,...,c_J \right\}\) 表示樣本真實類別的劃分。純度的取值範圍是[0,1],值越大,效能越好。
【示例】
  現對一堆樣本進行聚類操作,劃分了三個簇,如下所示

  在Cluster A中,三角形最多,因此該簇歸屬為三角形的簇,有效樣本數為5;
  在Cluster B中,圓形最多,因此該簇歸屬為圓形的簇,有效樣本數為4;
  在Cluster C中,正方形最多,因此該簇歸屬為正方形的簇,有效樣本數為4。

  純度為有效樣本數對總樣本的佔比

\[Purity=\frac{5+4+4}{8+6+6}=\frac{13}{20}=0.65 \]

(2)蘭德指數

  對於已有了預先標記資訊的情形,可以以與分類模型中相類似的方式進行衡定,明確下列幾個概念
   TP(True Positive):同類樣本點被劃分在同一個簇中的可能情形數;
   FP(False Positive):非同類樣本點被劃分在同一個簇中的可能情形數;
   TN(True Negative):非同類樣本點分佈在不同簇中的可能情形數;
   FN(False Negative):同類樣本點分佈在不同簇中的可能情形數。

  蘭德指數就是指準確率,聚類後樣本分佈的整體準確率,定義為

\[RI=\frac{TP+TN}{TP+FP+TN+FN} \]

(3)調整蘭德指數

  對於隨機結果,蘭德指數並不能保證值接近於零,這與直觀上的意義不甚符合,為能夠改善這種情況,調整的蘭德指數(ARI)被提出。它的表示式為

\[ARI=\frac{RI-E(RI)}{max(RI)-E(RI)} \]

  ARI取值範圍為[-1,1],值越接近於1,效能越好;接近於0,相當於隨機聚類;接近於-1,效能不如隨機聚類。

(4)F值

  這裡同樣首先借鑑了分類模型中精準度和召回率的概念,然後以F度量進行綜合衡定。精準度(Precision)和召回率(Recall)定義為

\[Precision=\frac{TP}{TP+FP} \]

\[Recall=\frac{TP}{TP+FN} \]

  F度量綜合衡量精確度(查準率)和召回率(查全率),\(F_\beta\)是F1的一般形式,能讓我們表達出對查準率/查全率的不同偏好,如F1分數認為召回率和精確度同等重要,F2分數認為召回率的重要程度是精確度的兩倍,而F0.5分數認為召回率的重要程度是精確度的一半。

\[F_1=\frac{2\ast precision \ast recall}{precision+recall} \]

\[F_\beta=\frac{(1+\beta^{2})\ast precision \ast recall}{\beta^2\ast precision + recall} \]

  F度量的取值範圍為[0,1],值越大效能越好。

(5)傑卡德係數

  傑卡德係數(Jaccard, JC)定義為聚類結果正確的樣本數與聚簇結果或實際結果一致的比例,取值範圍為0到1。表示式為

\[JC=\frac{TP}{TP+FP+FN} \]

  傑卡德係數值越大,效能越好。

(6)標準化互資訊

  這裡首先介紹一下互資訊(Mutual Information)的概念,它反映了兩個事件相互影響所產生的資訊量。設兩個隨機變數(X,Y)的聯合分佈為p(x,y),邊緣分佈分別為p(x),p(y),互資訊I(X; Y)是聯合分佈p(x,y)與邊緣分佈p(x)p(y)的相對熵,即

\[I\left( X;Y \right)=\sum_{x\in X}{\sum_{y\in Y}{p\left( x,y \right)log\frac{p(x,y)}{p(x)p(y)}}} \]

  標準化互資訊(Normalized Mutual Information, NMI)計算表示式為

\[NMI=\frac{I\left( X,Y \right)}{F\left( H(x),H(y) \right)} \]

  其中F(x,y)可以為min/max函式、幾何平均或算術平均,幾何平均即\(F\left( x_1,x_2 \right)=\sqrt{x_1\cdot x_2}\) ,算術平均即\(F\left( x_1,x_2 \right)=\frac{x_1+x_2}{2}\),採用算術平均是比較常見的一種計算方式,此時NMI表示式可化為

\[NMI=\frac{2\cdot I\left( X,Y \right)}{H\left( X \right)+H\left( Y \right)} \]

  其中,I(X,Y)為互資訊,\(H\left( X \right)=-\sum_{i}{p(x_i)logp(x_i)}\)\(H\left( Y \right)=-\sum_{j}{p(y_j)logp(y_j)}\)為資訊熵。

2.內部評估法

  另一種常用的評估方式是內部評估,利用測試樣本本身的資訊衡量模型效能。常見的內部評估指標有緊密度(Compactness, CP)、間隔度(Separation, SP)、輪廓係數(Silhouette Coefficient, SC)、戴維森堡丁指數(Davies-Bouldin Index, DBI)、鄧恩指數(Dunn Validity Index, DVI)等。

(1)緊密度

  緊密度(Compactness, CP)是指簇內各點到聚類中心的平均距離,值越小說明簇內緊密度越高

\[CP=\frac{1}{n}\sum_{i=1}^{n}{\left| x_i-\mu \right|} \]

(2)間隔度

  間隔度(Separation, SP)指各個聚類中心之間的平均距離,值越高表明類間距離越大

\[SP=\frac{1}{k^2}\sum_{i=1}^{k}{\sum_{j=1}^{k}{\left| \left| \mu_i-\mu_j \right| \right|_2}} \]

(3)輪廓係數

  對單個樣本,設a是其與同簇中其他樣本的平均距離,b是與它距離最近的不同簇類中樣本的平均距離,輪廓係數為

\[s=\frac{b-a}{max\left( a,b \right)} \]

  樣本集合的輪廓係數是各樣本輪廓係數的平均值

\[SC=\frac{1}{n}\sum_{i=1}^{n}{s_i} \]

  輪廓係數的取值範圍是[-1,1],取值越接近1聚類效能越好,反之越差。

(4)戴維森堡丁指數

  對於兩個簇的樣本而言,各自簇內平均距離之和除以兩簇中心的距離,稱為簇間相似度,簇間相似度越小說明簇內距離越小、簇間距離越大,效果越好。對所有的簇,分別找到與之聚類效果最差那個簇的簇間相似度,然後求平均值,即為戴維森堡丁指數(DBI)的定義。表示式為

\[DBI=\frac{1}{N}\sum_{i=1}^{N}{\max_{j\ne i}{\left[ \frac{\sigma_i+\sigma_j}{d\left( c_i,c_j \right)} \right]}} \]

  其中,\(\sigma_i=\frac{1}{n_i}\sum_{k=1}^{n_i}{x_k-\mu_i}\)\(\sigma_j=\frac{1}{n_j}\sum_{k=1}^{n_j}{x_k-\mu_j}\)\(d\left( c_i,c_j \right)=\left| \left| \mu_i-\mu_j \right| \right|_2\)
易知,DBI值越小,表明聚類效果越好,反之越差。

(5)鄧恩指數

  鄧恩指數定義為兩簇之間最小的那個簇間距離與各簇中最大的那個簇內距離的比值。表示式為

\[DVI=\frac{min_{1\leq i\ne j\leq N}d\left( \mu_i,\mu_j \right)}{max_{1\leq k \leq N} d_{intra}(k)} \]

  其中,簇間距離指兩個簇的質心之間的距離,對於維度為D的樣本集有

\[d\left( \mu_i,\mu_j \right)=\sqrt{\sum_{d=1}^{D}{\left( \mu_{i}^{(d)}-\mu_{j}^{(d)} \right)^2}} \]

  簇內距離是簇內各樣本到質心的平均距離,對於一個簇S,若質心為c,則它的簇內距離表示式為

\[d_{intra}=\frac{1}{|S|}\sum_{s=1}^{|S|}{d\left( x_s,c \right)} \]

  因簇間距離越大、簇內距離越小時聚類效果越好,所以鄧恩指數越大,效能越好。


End.


pdf下載

相關文章