- 聚类算法本身是一种无监督算法,但是对于聚类算法的评估方式却存在(supervised)有监督 和 (unsupervised)无监督 两种;
- 本讲主要讲无监督的评估方式,这种评估方式不需要借助标签
- 有监督的评估方式可以参考我的上一篇博客:
机器学习理论之(14):聚类算法的有监督(supervised)评估方式:purity v.s. entropy - 我们认为,聚类算法应该保证同一个 “簇”内的样本距离尽量地近,而不同簇之间的样本距离应该尽量地远;因此在同一个簇内,我们使用 cohesion 来衡量这个簇的内聚程度;不同簇之间,我们使用 separation 来衡量两个簇的分散程度。
内聚度 Cohesion
- 整个空间一共有
k
k
k 个聚类中心,分别是
C
1
,
.
.
.
,
C
k
C_1,...,C_k
C1,...,Ck,对于任意两个样本
x
,
y
x,y
x,y,我们都去计算他们的间隔 proximity,当然计算的方式有很多,所以在这里只用 proximity 代指,后面会介绍具体的算法。对于所有成对的样本的proximity 进行求和得到整个簇的 簇内总距离(我自己取得名字,不是专业名词)。
离散度 Separation
- 对于两个簇
C
i
,
C
j
C_i, C_j
Ci,Cj 他们两个簇的间距的衡量公式如下:
- 在 C i C_i Ci 中的每一个样本 x x x 都与 C j C_j Cj 中的每一个样本 y y y 计算间距,然后最后将所有的间距求和,可以把这个距离称为 簇间总距离(我自己取的)。
簇致密度 Cluster compactness
- 通常使用 均方误差和 sum of squared errors 来衡量簇的致密度。
- 一共 k k k 个簇, C 1 , . . . , C k C_1,...,C_k C1,...,Ck, 每个簇的聚类中心分别用小写 c 1 , . . . , c k c_1,...,c_k c1,...,ck 表示;
- 对于每个簇
C
i
C_i
Ci 的所有样本
x
x
x 距离当前簇中心
c
i
c_i
ci 的距离之和作为这个簇的致密度的衡量指标:
- 对于全部的
k
k
k 个簇,都用这个方式进行求和,得到最终整个聚类算法结果的致密度衡量指标:
Proximity 距离衡量方式
- 对于连续的数据类型,通常使用欧几里得距离来衡量
- 对于 nominal / discrete(离散数据),通常使用 hamming 距离来衡量。
Hamming 距离度量致密度
- 给定一个聚类算法的聚类结果,这些样本都是离散数值的形式,确定了聚类中心之后,求算一下在 SSE 指标下的簇密度。
- 当前样本和聚类中心有多少个特征值不一致,hamming 距离就为几。
- 第一个样本中,hot 和聚类中心的 mild 不同,因此误差是 1 1 1, 1 2 1^2 12 还是 1 1 1,第二个样本中的 yes,hot 都与聚类中心不同,因此 hamming 距离下的误差是 2,而 2 2 = 4 2^2=4 22=4 所以第二步的错误是 4 4 4,
- 以此类推,第一个聚类中心的总误差是 18;
- 第二个聚类中心的总误差是 20
- 因此整个聚类算法在 hamming 距离下的总误差是 38