29.聚类---性能度量

一、性能度量

聚类的性能度量也称作聚类的有效性指标。

聚类的性能度量分两类:

  1. 聚类结果与某个参考模型进行比较,称作外部指标
  2. 直接考察聚类结果而不利用任何参考模型,称作内部指标

1. 外部指标

对于数据集D=x1,x2,...,xN,假定通过聚类给出的簇划分为C=C1,C2,...,CK,参考模型给出的簇划分为C={C1,C2,...,CK},其中KK不一定相等。

λ,λ分别表示C,C的簇标记向量。定义:

其中|·|表示集合的元素的个数,各集合的意义为:

  1. SS:包含了同时隶属于C,C的样本对;
  2. SD:包含了隶属于C,但是不隶属于C的样本对;
  3. DS:包含了不隶属于C,但是隶属于C的样本对;
  4. DD:包含了同时不隶属于C,C的样本对;

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

a+b+c+d=N(N1)2

下面性能度量的结果都在[0,1]之间,这些值越大,说明聚类的性能越好。

1.1 Jaccard系数

Jaccard系数Jaccard Coefficient:JC=aa+b+c

它刻画了所有的同类的样本对(要么在C中属于同类,要么在C*中属于同类)中,同时隶属于C,C的样本对的比例。

1.2 FM指数

FM指数Fowlkes and Mallows Index:FMI=aa+b·aa+c

它刻画的是:

  1. C中同类的样本对中,同时隶属于C的样本对的比例为p1=aa+b
  2. C中同类的样本对中,同时隶属于C的样本对的比例为p2=aa+c
  3. FMI就是p1p2的几何平均。

1.3 Rand指数

Rand指数Rand Index:RI=a+dN(N1)/2

它刻画的是:

  1. 同时隶属于C,C的同类样本对(这种样本对属于同一个簇的概率最大)与既不隶属于C、又不隶属于C的非同类样本对(这种样本对不是同一个簇的概率最大)之和,占所有样本对的比例。
  2. 这个比例其实就是聚类的可靠程度的度量。

1.4 ARI指数

使用RI有关问题:对于随机聚类,RI指数不保证接近0(可能还很大)。

ARI指数就通过利用随机聚类来解决这个问题。

定义一致性矩阵为:

其中:

  1. si为属于簇Ci的样本的数量,ti为属于簇Ci的样本的数量。
  2. ni,j为同时属于簇Ci和簇Ci的样本的数量。

则根据定义有:ijCni,j2,其中Cn2=n(n1)2表示组合数,数字2是因为需要提取两个样本组成样本对。

定义ARI指数Adjusted Rand Index:

  1. 随机挑选一对样本,一共有CN2种情形。
  2. 这对样本隶属于C中的同一个簇,一共有iCsi2种可能。
  3. 这对样本隶属于C中的同一个簇,一共有jCtj2种可能。
  4. 这对样本隶属于C中的同一个簇、且属于C中的同一个簇,一共有iCsi2jCtj2种可能。 
  5. 则在随机划分的情况下,同时隶属于C,C的样本对的期望为:[iCsi2jCtj2]/CN2

2. 内部指标

对于数据集D=x1,x2,...,xN,假定通过聚类给出的簇划分为C=C1,C2,...,CK

定义:

其中,distance(xi,xj)表示两点xi,xj之间的距离;uk表示簇Ck的中心点,ul表示簇Cl的中心点,distance(uk,ul)表示簇Ck,Cl的中心点之间的距离。

2.1 DB指数

DB指数Davies-Bouldin Index:DBI=1Kk=1Kmaxkl(avg(Ck+avg(Cl))dcen(Ck,Cl))

其物理意义为:

  1. 给定两个簇,每个簇样本距离均值之和比上两个簇的中心点之间的距离作为度量。该度量越小越好。
  2. 给定一个簇k,遍历其他的簇,寻找该度量的最大值。
  3. 对所有的簇,取其最大度量的均值。

DBI越小越好,

  1. 如果每个簇样本距离均值越小(即簇内样本距离都很近),则DBI越小。
  2. 如果簇间中心点的距离越大(即簇间样本距离相互都很远),则DBI越小。

2.2 Dunn指数

Dunn指数Dunn Index:DI=minkldmin(Ck,Cl)maxidiam(Ci)

其物理意义为:任意两个簇之间最近的距离的最小值,除以任意一个簇内距离最远的两个点的距离的最大值。

DI越大越好,

  1. 如果任意两个簇之间最近的距离的最小值越大(即簇间样本距离相互都很远),则DI越大。
  2. 如果任意一个簇内距离最远的两个点的距离的最大值越小(即簇内样本距离都很近),则DI越大。

3. 距离度量

3.1 闵可夫斯基距离Minkowski distance

给定样本Xi=(xi,1,xi,2,...,xi,n)Xj=(xj,1,xj,2,...,xj,n),则闵可夫斯基距离定义为:distance(Xi,Xj)=(d=1n|xi,dxj,d|p)1/p

  1. p=2时,闵可夫斯基距离就是欧式距离Euclidean distance:distance(Xi,Xj)=||XiXj||2=d=1n|xi,dxj,d|2)
  2. p=1时,闵可夫斯基距离就是曼哈顿距离Euclidean distance:distance(Xi,Xj)=||XiXj||1=d=1n|xi,dxj,d|

3.2 VDM距离 value Difference Metric

考虑非数值类属性(如属性取值为:中国,印度,美国,英国),令md,a表示xd=a的样本数;md,a,k表示xd=a且位于簇Ck中的样本的数量。则在属性d上的两个取值a,b之间的VDM距离为:

VDMp(a,b)=(k=1K|md,a,kmd,amd,b,kmd,b|p)1/p

该距离刻画的是:属性取值在各簇上的频率分布之间的差异。

3.3 混合距离

当样本的属性为数值属性与非数值属性混合时,可以将闵可夫斯基距离与VDM距离混合使用。

假设属性x1,x2,...,xnc为数值属性,属性xnc+1,xnc+2,...,xn为非数值属性。则:distance(Xi,Xj)=(d=1nc|xi,dxj,d|p+d=nc+1nVDMp(xi,d,xj,d)p)1/p

3.4 加权距离

当样本空间中不同属性的重要性不同时,可以采用加权距离。以加权闵可夫斯基距离为例:distance(Xi,Xj)=(d=1nwd|xi,dxj,d|p)1/pwd>=0,d=1,2,...,n;d=1nwd=1

这里的距离度量满足三角不等式:distance(Xi,Xj)<=distance(Xi,Xk)+distance(Xk,Xj)

【注意】余弦距离不是一个严格定义的距离,其满足正定性,对称性,但是不满足三角不等式。余弦相似度在高维的情况下依然保持“相同时为1,正交时为0,相反时为-1”的性质。欧式距离的数值受维度的影响,范围不固定,并且含义也比较模糊。欧式距离体现数值上的绝对差异,而余弦距离体现方向上的相对差异。

 

 

 

 

 

 

 

posted @   nxf_rabbit75  阅读(1436)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
历史上的今天:
2018-11-22 神经网络的调参顺序
2018-11-22 3.keras实现-->高级的深度学习最佳实践
2018-11-22 在Keras模型中one-hot编码,Embedding层,使用预训练的词向量/处理图片
一、性能度量1. 外部指标1.1 Jaccard系数1.2 FM指数1.3 Rand指数1.4 ARI指数2. 内部指标2.1 DB指数2.2 Dunn指数3. 距离度量3.1 闵可夫斯基距离Minkowski distance3.2 VDM距离 value Difference Metric3.3 混合距离3.4 加权距离
点击右上角即可分享
微信分享提示