平衡聚类

平衡聚类

  • balanced clustering
    • 核心问题
    • 分类
      • hard-balanced(balance driven)
      • soft-balanced(balance constrained)
    • 主流方法
    • 代表算法
    • 目标
      • hard balanced
      • soft balanced

balanced clustering

核心问题

现状:一些算法产生的聚类经常是不平衡的,即不同类中所含样本的数量差异会很大。但是在许多聚类问题中,存在着问题域上的平衡先验以及数据收集过程中的平衡偏差。[1]

期望:因此,在实际应用中,经常期望聚类算法的输出结果是平衡的,即聚类结果中不同类中包含基本相同的样本点数目。

例子:
手写数字图像聚类,期望10个数字出现的频率是相同的。
图像分类领域,词袋模型用聚类算法将图像特征聚类成不同的类别。为了得到更高的图像分类准确率,通常需要平衡的聚类结果。

分类

hard-balanced(balance driven)

将类别大小的平衡性视为聚类算法的主要目标,第二目标才是最小化MSE(mean squared error)。[2]
聚类的结果严格要求为 ⌊ n k ⌋ \lfloor\frac{n}{k}\rfloor kn ⌈ n k ⌉ \lceil \frac{n}{k} \rceil kn ,其中n表示数据数目,k表示需要聚成几类。[3]

soft-balanced(balance constrained)

将最小化MSE视为聚类算法的主要目标,第二目标是类别大小的平衡。

主流方法

凝聚聚类算法(agglomerative clustering methods):先使集群到达某个特定的大小,然后通过使用某些方法使其达到平衡。方法的选择可能会影响聚类算法的质量。算法的复杂性为 O ( N 2 ) O(N^2) O(N2)。通常会存在扩展性的问题。

将聚类问题转换为图分割问题(graph partitioning problem):通过构建一个权重图来实现。点表示数据集中的数据,边的权重表示相邻点之间的相似度。其中相似度的度量可根据问题域而改变。然后,可以利用min cut 算法,在soft balance的限制下,对图进行分割。算法的复杂性为 O ( N 2 ) O(N^2) O(N2),但表现比上一种方法好。

使用Minimum cost flow问题来迭代解常用聚类算法:解cost flow问题的时候,可以加上一些soft balance的限制。算法的复杂性为 O ( N 3 ) O(N^3) O(N3),扩展性的问题更严重。

代表算法

hard-balanced soft-balanced
balanced k-means FSCL
constrained k-means FSCL-Additive bias
Size constrained Cluster sampled data
“less is more” (LIMA) Ratio cut
SR-Cut
Submodular fractional programming
lasso k-means (LKM)

目标

什么是一个好的balanced clustering算法呢?

hard balanced

在hard balanced算法中,平衡性是基础,因此不需要衡量。在此基础上,MSE越小越好(best,avg,std),收敛的时间越短越好。

  • 在相同轮数内,MSE越小越好(best,avg,std),时间越短越好。
  • 在相同时间内,MSE越小越好(best,avg,std)。
  • 在达到同样的MSE时,用时越少越好。

soft balanced

clustering accuracy (ACC)
normalized mutual information (NMI)[5]

[1]一种基于Hartigan-Wong和Lloyd的定性平衡聚类算法,2016
[2]A Survey on Balanced Data Clustering Algorithms,2017
[3]Balanced clustering
[4]Balanced Data Clustering Algorithm for Both Hard and Soft Clustering
[5]Mutual information and Normalized Mutual information 互信息和标准化互信息

你可能感兴趣的:(平衡聚类)