跳转至

1 概述和性能度量

聚类:没有标记,是无监督学习

将数据集中的样本划分为若干个通常是不相交的子集,每个子集成为一个簇(Cluster)

即:样本 D=\{x_1,...,x_m\}\Rightarrow k 个不相交簇 \{C_1,...,C_k\}

\lambda_j\in \text{range}(1,k),表示样本 x_j 被分到了哪个簇(簇标记),即 x_j\in C_{\lambda_j}

聚类结果可用簇标记向量 \lambda=(\lambda_1;...;\lambda_m) 来表示

性能度量

聚类性能度量,亦称聚类 “有效性指标”,用来评估聚类好坏

我们希望簇内相似度高、簇间相似度低

聚类性能度量大致有两种

  • 将结果与某个 “参考模型” 进行比较 —— 外部指标
  • 直接考察聚类结果 —— 内部指标

外部指标

假设我们的聚类做到了:样本 D=\{x_1,...,x_m\}\Rightarrow k 个不相交簇 \mathcal{C}=\{C_1,...,C_k\}

参考模型给出来的划分是 \mathcal{C}^*=\{C^*_1,...,C_k^*\}

\lambda\lambda^* 分别表示两种聚类的簇标记向量

将样本两两配对:

  • SS=\{(x_i,x_j)|\lambda_i=\lambda_j,\lambda_i^*=\lambda_j^*,i<j\}a=|SS|
  • SD=\{(x_i,x_j)|\lambda_i=\lambda_j,\lambda_i^*\not=\lambda_j^*,i<j\}b=|SD|
  • DS=\{(x_i,x_j)|\lambda_i\not=\lambda_j,\lambda_i^*=\lambda_j^*,i<j\}c=|DS|
  • DD=\{(x_i,x_j)|\lambda_i\not=\lambda_j,\lambda_i^*\not=\lambda_j^*,i<j\}d=|DD|

有一些常用的外部指标,值均在 [0,1] 内,值越大越好

  • Jaccard 系数,\displaystyle JC=\frac{a}{a+b+c}
  • FM 指数,\displaystyle FMI=\sqrt{\frac{a}{a+b}·\frac{a}{a+c}}
  • Rand 指数,RI=\displaystyle\frac{a+d}{\text{C}_m^2}

内部指标

对于某个簇 C

  • avg(C)=\displaystyle\frac{1}{\text{C}_{|C|}^2}\sum_{1\le i<j\le |C|} dist(x_i,x_j),即簇内样本的平均距离
  • diam(C)=\displaystyle \max_{1\le i<j\le |C|}dist(x_i,x_j),即簇内样本的最远距离

对于两个簇 C_i,C_j

  • d_\min(C_i,C_j)=\displaystyle\min_{x_i\in C_i,x_j\in C_j}dist(x_i,x_j),即两个簇间样本最近距离
  • d_{cen}(C_i,C_j)=dist(\mu_i,\mu_j),这里 \mu_i=\displaystyle\frac{1}{|C_i|}\sum_{x\in C_i}x,即两个簇中心点的距离

基于上面的定义,有如下常用内部指标:

  • DB 指数,DBI=\displaystyle\frac{1}{k}\sum_{i=1}^k\max_{j\neq i}\left[\frac{avg(i)+avg(j)}{d_{cen}(i,j)}\right],值越小越好

对每一个簇 i 计算与其他类的最大相似度值,也就是取出最差结果,然后对所有类的最大相似度取均值

  • Dunn 指数,DI=\displaystyle\min_{1\le i\le k}\left\{\min_{j\neq i}\left(\frac{d_\min(i,j)}{\max_{1\le l\le k}diam(l)}\right)\right\},值越大越好
本文阅读量