摘要
近年来,聚类与深度学习的结合受到了广泛关注。无监督神经网络,如自编码器,能够自主学习数据集中的关键结构。这一思想可以与聚类目标结合,实现对相关特征的自动学习。然而,这类方法通常基于 k-means 框架,因此继承了诸如聚类呈球形分布等各种假设。另一项常见假设(即使在非 k-means 方法中也存在)是需要预先知道聚类的数量。
本文提出了一种新颖的聚类算法 DipDECK,它能够在优化基于深度学习的聚类目标的同时估计聚类数。此外,方法无需假设聚类仅为球形结构,即可处理复杂的数据集。该算法的核心思路是:在自编码器的嵌入空间中大幅度高估聚类数,并基于 Hartigan 的 Dip 检验(一种用于判断单峰性的统计检验)分析生成的微聚类,从而确定哪些聚类应当合并。
通过大量实验证明了该方法的多种优势:
(1) 在同时学习有利于聚类的表示和聚类数量的情况下,能够取得具有竞争力的效果;
(2) 该方法对参数不敏感,具有稳定的性能表现,并支持更灵活的聚类形状;
(3) 在聚类数量估计方面,DipDECK方法优于相关的现有方法。
引言
在大量未标注数据中发现模式是数据挖掘研究的重要分支之一,其目标是将数据划分为若干组相似的数据点。然而在实际应用中,往往无法事先得知数据中有多少个聚类。
传统聚类算法中已有诸多方法尝试解决这一问题。其中许多方法基于 k-means 框架,例如 X-means [23] 和 Dip-means [16]。也有一些方法,如 PG-Means [8],采用基于期望最大化(EM)的方法,从而在聚类形状上具有更高的灵活性。但这些方法通常会自动继承“高斯分布聚类”的假设。虽然这种假设对部分数据集有效,但对其他数据集则过于严格,从而导致聚类结果不理想。
当然,也存在一些可以自动确定聚类数且不依赖高斯假设的聚类方法。例如著名的基于密度的 DBSCAN [7] 方法,以及一些基于谱聚类的变种 [31]。这些方法不仅可以估计聚类数,还支持任意形状的聚类。但它们以更复杂的参数(如邻域范围、邻居数量)取代了“聚类数量”这一直观参数。最终,聚类数量主要由这些复杂参数所控制,因此实质上只是将一个参数替换为了另外一些参数。
然而,上述所有方法在处理现代高维大数据(如图像、视频和文本)时往往效果不佳。即使运行时间和内存问题可以通过高性能实现来缓解,这些方法依然受到“维度灾难”的制约,因其多数依赖欧几里得距离。面对这类数据集,近年来的趋势是采用深度学习方法进行聚类。
在这类方法中,通常使用自编码器学习有利于聚类的低维表示,以降低维度并提升聚类效率,从而缓解高维带来的问题。因此,理想的方法应能够与深度学习聚类算法集成,在兼容深度学习优势的基础上,自动估计聚类数量。