Alex_McAvoy

想要成为渔夫的猎手

聚类问题的外部评价指标

【概述】

聚类,是将数据集 $D$ 划分为若干互不相交的子集(样本簇),直观上来看,希望同一簇的样本尽可能的相似,不同簇的样本尽可能的不同,也就是说,聚类结果的簇内相似度(Intra-cluster Similarity)高,且簇间相似度(Inter-cluster Similarity)

聚类问题的评价指标可划分为两类:

  1. 外部指标(Externa Index):将聚类结果与某个参考模型进行比较
  2. 内部指标(Internal Index):直接考察聚类结果而不利用任何参考模型

具体来说,参考模型就是训练样本的真实标签

本文仅介绍聚类问题的外部评价指标

【聚类纯度】

聚类纯度(Cluster Purity)是最简单直观的外部指标,其基本思想与分类的准确率类似,用聚类正确的样本数除以总的样本数,因此它也经常被称为聚类的准确率

但由于并不知道聚类结果中每个簇所对应的真实类别,因此需要取每种情况下的最大值,其计算公式如下:

其中,$n$ 为样本总数,$K$ 为聚类簇数,$\omega_k$ 代表聚类后第 $k$ 个簇中的所有样本,$\mathbb{C}=\{c_1,c_2,\cdots,c_J\}$ 是正确的类别,$c_{j}$ 表示第 $j$ 个类别中真实的样本

如上图所示,定义 $\mathbb{C}=\{c_1,c_2,c_3\}$,其中 $c_1$ 表示叉形,$c_2$ 表示圆形,$c_3$ 表示菱形,那么对于第一个簇来说,有:

则:

同理,可得到第二个簇、第三个簇中最大的 $|\omega_k\cap c_j|$ 分别是 $4,3$,故最终纯度为:

【匹配矩阵】

对于数据集 $D=\{\mathbf{x}_1,\mathbf{x}_2,\cdots,\mathbf{x}_n\}$,第 $i$ 个样本 $\mathbf{x}_i$ 有 $m$ 个特征值,即:$\mathbf{x}_i=(x_i^{(1)},x_i^{(2)},\cdots,x_i^{(m)})\in \mathbb{R}^m$,假定通过聚类方法给出的簇划分为 $\mathcal{C} = \{C_1,C_2,\cdots,C_k\}$,实际类别划分为 $\mathcal{C}^{*}=\{C^{*}_1,C^{*}_2,\cdots,C^{*}_s\}$,通常 $k\neq s$

相应地,令 $\boldsymbol{\lambda}$ 和 $\boldsymbol{\lambda}^{*}$ 分别表示 $\mathcal{C}$ 和 $\mathcal{C}^{*}$ 对应的簇标记向量,定义:

其中,四个集合包含的元素如下:

  • 集合 $SS$:包含了在 $\mathcal{C}$ 中隶属于相同簇,在 $\mathcal{C}^{*}$ 中隶属于相同类别的样本对 $(\mathbf{x}_i,\mathbf{x}_j)$
  • 集合 $SD$:包含了在 $\mathcal{C}$ 中隶属于相同簇,在 $\mathcal{C}^{*}$ 中隶属于不同类别的样本对 $(\mathbf{x}_i,\mathbf{x}_j)$
  • 集合 $DD$:包含了在 $\mathcal{C}$ 中隶属于不同簇,在 $\mathcal{C}^{*}$ 中隶属于不同类别的样本对 $(\mathbf{x}_i,\mathbf{x}_j)$
  • 集合 $DS$:包含了在 $\mathcal{C}$ 中隶属于不同簇,在 $\mathcal{C}^{*}$ 中隶属于相同类别的样本对 $(\mathbf{x}_i,\mathbf{x}_j)$

此时,即可得到聚类下的匹配矩阵(Confusion Matrix),即:

同一簇 不同簇
同一类 TP FN
不同类 FP TN

由于每个样本对 $(\mathbf{x}_i,\mathbf{x}_j),i<j$ 仅能在一个集合中出现,故有:


如图所示,聚类簇数为 $3$,实际类别划分为绿色三角形、蓝色圆形、红色正方形,下面计算 TP、FP、TN、FN

对于 TP 的计算,其是在第一簇中的 $5$ 个绿色三角形中取 $2$ 个、在第二簇的 $4$ 个蓝色圆形中取 $2$ 个、在第三簇的 $3$ 个红色正方形中取 $2$ 个、在第三簇的 $2$ 个绿色三角形中取 $2$ 个,这四种情况的和,即:

而对于 FP、TN、FN 的计算较为复杂,但可以转变思路,进行联合计算

TP+FP 是在同一簇中取两个样本,即:

TP+FN 是在任意两个同类样本点分布在同簇和非同簇的情况和,即:

TP+FP+TN+FN 是在所有样本中随机抽取两个样本,即:

根据这些组合结果与 TP 的值,即可得到匹配矩阵的所有结果,即:

同一簇 不同簇
同一类 TP(20) FN(24)
不同类 FP(20) TN(72)

【常见指标】

基于匹配矩阵,可得出如下常用的聚类外部评价指标

兰德指数

兰德指数(Rand Index,RI)的计算公式如下:

其取值范围在 $[0,1]$ 区间内,值越大说明聚类结果越接近参考模型

从形式上看,兰德指数与分类问题中的准确率十分相似,但两者有着本质的区别

$F_{\beta}$ 分数

$F_{\beta}$ 分数(F-Score)的计算公式如下:

其中,$P$、$R$ 的计算如下

从形式上看,$F_{\beta}$ 分数与分类问题中的 $F_{\beta}$ 分数十分相似,但两者有着本质的区别

杰卡德系数

Jaccard 系数(Jaccard Coefficient,JC)的计算公式如下:

FM 指数

FM 指数(Fowlkes and Mallows Index,FMI)的其计算公式如下:

感谢您对我的支持,让我继续努力分享有用的技术与知识点!