机器学习算法——聚类1(性能度量——外部指标Jaccard系统,FM指数,Rand指数;内部指标:DB指数,Dunn指数)

1.聚类简介

在“无监督学习”中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。此类学习任务中研究最多、应用最广的是“聚类”。

聚类将数据集中的样本划分为若干个通常不相交的子集,每个子集称为一个“簇”(类别)。聚类过程仅能自动形成簇结构,簇所对应的概念语义需由使用者来把握和命名。

形式化表达如下:

假定样本集D=\{x_1,x_2,...,x_m\}包含m个无标记的样本,每个样本x_i=\{x_{i1},x_{i2},...,x_{in}\}是一个n维特征向量,则聚类算法将样本集D划分为k个不相交的簇\{C_{l}|l=1,2,...,k\},其中C_{l'} \cap_{l'\neq l} C_{l} = \phiD=\cup^{k}_{l=1} C_l

相应地,用\lambda_j \in \{1,2,...,k\}表示样本x_j的“簇标记”,即x_j \in C_{\lambda j}

则,聚类的结果可用包含m个元素的簇标记向量\lambda = (\lambda_1,\lambda_2,...,\lambda_m)表示。

聚类既能作为一个单独过程,用于寻找数据内在的分布结构,也可作为分类等其他学习任务的前驱过程。

2. 聚类的性能度量

聚类性能度量亦称聚类“有效性指标”。对聚类结果,我们需通过某种性能度量来评估其好坏;另一方面,若明确了最终将要使用的性能度量,则可直接将其作为聚类过程的优化目标,从而更好地得到符合要求的聚类结果。

什么样的聚类结果比较好呢?我们希望物以类聚,即同一簇的样本尽可能彼此相似,不同簇的样本尽可能不同。换言之,聚类结果的“簇内相似度高”且“簇间相似度低”。

聚类性能指标大致有两类:一类是将聚类结果与某个“参考模型”进行比较,称为“外部指标”。

另一类是直接考察聚类结果而不利用任何参考模型,称为“内部指标”。

对数据集D=\{x_1,x_2,...,x_m\},假定通过聚类给出的簇划分为C=\{C_1,C_2,...,C_k\},参考模型给出的簇划分为C^*=\{C^*_1, C^*_2,...,C^*_s\}。相应地,令\lambda\lambda^*分别表示与C和C^*对应的簇标记向量。我们将样本两两配对考虑,定义

a=|SS|, SS=\{(x_i,x_j)|\lambda_i = \lambda_j, \lambda^*_i = \lambda^*_j, i<j\}

b=|SD|, SD=\{(x_i,x_j)|\lambda_i=\lambda_j,\lambda^*_i \neq \lambda^*_j,i<j \}

c = |DS|, DS=\{(x_i,x_j)|\lambda_i\neq \lambda_j, \lambda^*_i = \lambda^*_j, i<j\}

d = |DD|, DD=\{(x_i,x_j)|\lambda_i \neq \lambda_j, \lambda^*_i \neq \lambda^*_j, i<j\}

其中

集合SS包含了C中隶属于相同簇且在C^*中也隶属于相同簇的样本对

集合SD包含了C中隶属于相同簇但在C^*中隶属于不同簇的样本对

由于每个样本对(x_i,x_j)(i<j)仅能出现在一个集合中,因此有

a+b+c+d = \frac{m(m-1)}{2}

基于上述式子,可导出下面这些常用的聚类性能度量外部指标:

  • Jaccard系数(简称JC,用于比较有限样本集之间的相似性与差异性,JC系数越大,样本相似度越高):

JC = \frac{a}{a+b+c}

  •  FM指数(简称FMI)

FMI=\sqrt{\frac{a}{a+b}\cdot\frac{a}{a+c}}

  • Rand指数(简称RI)

RI=\frac{2(a+d)}{m(m-1)}

显然,上述性能度量的结果值均在[0,1]区间,值越大越好。

考虑聚类结果的簇划分C=\{C_1,C_2,...,C_k\},定义

avg(C) = \frac{2}{|C|(|C|-1)} \sum_{1\leqslant i < j \leqslant|C|}dist(x_i,x_j)

diam(C) = max_{1 \leqslant i < j \leqslant |C|} dist(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)

d_{cen}(C_i,C_j) = dist(\mu_i, \mu_j)

其中,dist(.,.)用于计算两个样本之间的距离;\mu代表簇C的中心点 \mu=\frac{1}{|C|}\sum_{1\leqslant i \leqslant |C|} x_i

avg(C)对应于簇C内样本间的平均距离

diam(C)对应于簇C内样本间的最远距离

d_{min}(C_i,C_j)对应于簇C_i与簇C_j最近样本间距离

 d_{cen}(C_i,C_j)对应于簇C_i与簇C_j中心点间的距离

基于上式可导出常用的聚类性能度量内部指标:

  • DB指数(简称DBI)

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指数(简称DI)

DI= min_{1\leqslant i \leqslant k}\{min_{j \neq i} (\frac{d_{min}(C_i,C_j)}{max_{1\leqslant l \leqslant k}diam(C_l)})\}

显然DBI的值越小越好, DI的值越大越好。‘;

 

 

 

你可能感兴趣的:(聚类,聚类,算法,机器学习)