图谱连接

草稿

Calinski-Harabasz 指数

用簇间质心离散度和簇内离散度的比例来评价聚类。

concept intermediate machine-learningmetricsclustering

问题入口:概括整幅几何图

轮廓系数逐点观察。Calinski-Harabasz 指数(CH)问一个更粗的摘要问题:

簇中心之间是否足够远,而每个簇内部是否足够紧?

它仍然是内部聚类指标。它使用几何和簇分配,不使用参考标签。

簇间离散度对簇内离散度CH 奖励远离全局中心的簇质心,同时要求点靠近自己的簇质心。
p1p2p3p4p5p6p7p8p9
B_k86.004

簇间离散度

W_k1.027

簇内离散度

CH251.312

越高越好

第一个朴素想法:只看簇内离散度

簇内离散度小是好事,但还不够。

三个很小但几乎重叠的簇,不应该和三个分散在平面各处的小簇得到同样评价。

核心发明:簇间离散度除以簇内离散度

CH 使用两个量:

  • W_k:簇内离散度,即每个点到自己簇质心的平方距离之和。
  • B_k:簇间离散度,即每个簇质心到全局质心的平方距离,并按簇大小加权。

形式化版本

n 个点、k 个簇:

CH=Bk/(k1)Wk/(nk)CH=\frac{B_k/(k-1)}{W_k/(n-k)}

直观地说:分子奖励彼此远离的簇中心;分母惩罚远离自己簇中心的点。

CH 越高越好。当 k < 2n <= k,或簇内离散度为零时,本实现返回不可用。

交互实验台

内部聚类指标预设实验台

说明: 三个紧凑组彼此较远,因此簇内紧密和簇间分离是一致的。

轮廓系数0.889

越高越好

Calinski-Harabasz251.312

越高越好

Davies-Bouldin0.126

越低越好

Dunn5.358

越高越好

B_k86.004
W_k1.027
最小间隔4.418
最大直径0.825

实现草图

function calinskiHarabasz(between: number, within: number, n: number, k: number) {
  if (k < 2 || n <= k || within === 0) return null;
  return (between / (k - 1)) / (within / (n - k));
}

复杂度

已知簇分配后,计算质心和平方距离和对固定维度点是 O(n)。如果维度可变,需要再乘上维度因子。

常见误区

  • CH 是越高越好,这一点和 Davies-Bouldin 相反。
  • CH 不是外部指标;它不知道真实标签。
  • 平方距离会让远离簇中心的点产生更大影响。
内部指标对比Silhouette、CH 和 Dunn 越高越好;DB 越低越好。
紧凑岛屿

Silhouette: 0.889

CH: 251.312

DB: 0.126

Dunn: 5.358

拉长的簇

Silhouette: 0.551

CH: 17.953

DB: 0.474

Dunn: 0.903

桥接点

Silhouette: 0.62

CH: 28.707

DB: 0.446

Dunn: 0.327

错误切分

Silhouette: -0.314

CH: 0.035

DB: 13.062

Dunn: 0.08

练习

  1. 簇质心彼此变远时,公式中的哪一部分会增大?
  2. 每个簇被拉长时,哪一部分会增大?
  3. 为什么 n <= k 是退化情况?

图谱连接 : Calinski-Harabasz 指数