聚类评价指标分为 内部指标 和 外部指标 两大类,用于评估聚类算法的性能。
一、内部评价指标
内部评价指标不依赖真实标签,主要通过聚类结果本身的紧凑性和分离性进行评估。
-
轮廓系数(Silhouette Coefficient, SC)
- 衡量数据点与其簇内点的紧密程度,以及与最近簇的分离程度。
- 公式:
- a(i): 数据点 i 到其簇内其他点的平均距离。
- b(i): 数据点 i 到最近簇的平均距离。
- 值域:[-1, 1],值越大表示聚类效果越好。
-
DB指数(Davies-Bouldin Index, DBI)
- 衡量簇内紧密性与簇间分离性的比值。
- 公式:
- k: 簇的数量。
- σi,σj: 簇 i 和 j 的内部散度。
- dij: 簇 i和 j 的中心距离。
- 值越小表示聚类效果越好。
-
CH指数(Calinski-Harabasz Index)
- 衡量簇间分离度与簇内紧密度的比值。
- 公式:
- k: 簇数。
- n: 数据总数。
- 值越大表示聚类效果越好。
二、外部评价指标
外部指标依赖真实标签,衡量聚类结果与真实类别的匹配程度。
-
准确率(Accuracy, ACC)
- 衡量聚类结果与真实标签的最大匹配程度。
- 公式:
- yi: 数据点 i 的真实标签。
- ci: 数据点 i 的聚类标签。
- map(ci): 聚类标签与真实标签的最佳映射。
- 值域:[0, 1],值越大表示聚类效果越好。
-
归一化互信息(Normalized Mutual Information, NMI)
- 衡量真实类别与聚类结果的互信息量。
- 公式:
- I(Y;C): 真实标签 Y 和聚类结果 C 的互信息。
- H(Y),H(C): 真实标签和聚类结果的熵值。
- 值域:[0, 1],值越大表示聚类效果越好。
-
调整兰德指数(Adjusted Rand Index, ARI)
- 衡量数据点对间一致性的调整比例。
- 公式:
- 值域:[-1, 1],值越大表示聚类效果越好。
三、总结
不同指标适用于不同场景:
- 内部指标适合无标签数据的聚类评估。
- 外部指标适合已知真实类别的数据,用于对比不同算法的表现。
选择合适的指标有助于全面分析聚类算法的优劣。
目前的深度聚类领域的论文大多采用的是ACC、NMI、ARI三种,并且大多以NMI的值为准来衡量一个模型的聚类性能。也有部分论文采用了分类的F1指标来作为一种参考指标(个人认为可以不用)。当然,内部指标也可以用,我刚刚有一篇论文就被专家建议增加内部指标。。。。。。