CH系数指的是Calinski-Harabasz指数,这是一种用于评估聚类结果质量的统计量,特别是在确定最优聚类数目时非常有用。
CH系数基于簇内离散度和簇间离散度的比值,较高的CH值表明聚类结构更加明显,簇间差异大而簇内差异小,因此好的聚类结果应该有较高的CH系数。
CH系数的计算公式如下:
CH(k)=Bk/(k−1)Wk/(n−k)CH(k) = \frac{B_k / (k-1)}{W_k / (n-k)} CH(k)=Wk/(n−k)Bk/(k−1)
这里每一个组成部分都有其特定的意义:
-
BkB_kBk:
簇间离散度,即各个簇质心与总质心之间的离散程度的加权和。它的值越大,表示簇之间的差异越大。 -
WkW_kWk:
簇内离散度,即每个簇内所有点到该簇质心的离散程度的加权和。它的值越小,表示簇内部的凝聚性越好。 -
kkk:聚类的簇数。
-
nnn:样本总数。
具体来说,公式中的每一项解释如下:
-
Bk/(k−1)B_k / (k-1)Bk/(k−1):
簇间离散度的标准化,这里的 k−1k-1k−1 是自由度,因为 kkk 个簇就有 k−1k-1k−1 个自由度(假设总质心固定的情况下)。 -
Wk/(n−k)W_k / (n-k)Wk/(n−k):
簇内离散度的标准化,这里的 n−kn-kn−k 同样是自由度,表示 nnn 个样本减去已经聚类成簇的 kkk 组后剩余的自由度。
具体计算方法如下:
- 对于 BkB_kBk,先
计算每个簇的质心,然后计算每个簇质心到总体质心的平方距离的加权和,权重是每个簇内的样本数量。
Bk=∑i=1kni(μi−μ)2 B_k = \sum_{i=1}^{k} n_i (\mu_i - \mu)^2 Bk=i=1∑kni(μi−μ)2
其中,
- nin_ini 是第 iii 簇的
样本数量 - μi\mu_iμi 是第 iii 簇的
质心 - μ\muμ 是所有样本的
总质心。
- 对于 WkW_kWk,计算
每个簇内所有样本到该簇质心的平方距离的加权和。
Wk=∑i=1k∑xj∈Ci(xj−μi)2 W_k = \sum_{i=1}^{k} \sum_{x_j \in C_i} (x_j - \mu_i)^2 Wk=i=1∑kxj∈Ci∑(xj−μi)2
其中,
- xjx_jxj 是属于第 iii 簇的
某个样本 - CiC_iCi 是第 iii 簇的
所有样本集合。 - μi\mu_iμi 是第 iii 簇的
质心
最后,将 BkB_kBk 和 WkW_kWk 根据上述公式标准化并求比值,即可得到CH系数。
在实际应用中,通常会计算不同 kkk 值下的CH系数,选择使CH系数最大的 kkk 值作为最优的聚类数目。
这是因为最大的CH系数表明簇间差异最大而簇内差异最小,从而说明聚类效果最好。
1万+

被折叠的 条评论
为什么被折叠?



