聚类(Clustering)
是按照某个特定标准(如距离)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。也即聚类后同一类的数据尽可能聚集到一起,不同类数据尽量分离。
聚类概述
聚类分析在机器学习和数据挖掘中起着不可或缺的作用。学习一个好的数据表示方法对于聚类算法是至关重要的。近年来,利用深度神经网络学习聚类友好表示的深度聚类已经广泛应用于各种聚类任务中。
我们从数据源的角度对深度聚类进行分析,
在不同数据源和初始条件下,从方法论、先验知识和体系结构等方面我们可以将深度聚类方法分为四大类:
- 单视图深度聚类
- 半监督深度聚类
- 深度多视图聚类
- 深度转移聚类
如下图所示:
Deep single-view clustering
单视图深度聚类
对于传统的集群任务,我们通常会假设数据具有相同的形式和结构,那么这称为单视图或单模态数据。用深度神经网络(DNNs)提取这些数据的表示形式是深度聚类的一个重要特征。
那么,不同的应用深度学习的技术是与 DNN 的结构高度相关的。根据已有的论文提出的结构,我们可以将算法具话为为五类:
- 基于 深度自编码器(DAE) 的深度聚类
- 基于 深度神经网络(DNN) 的深度聚类
- 基于 变分自编码器(VAE) 的深度聚类
- 基于 生成对抗网络(GAN) 的深度聚类
- 基于 图神经网络(GNN) 的深度聚类
Deep clustering based on semi-supervised learning
基于半监督学习的深度聚类
当遇到待处理的数据中包含有少量的先验约束时,传统的聚类方法无法有效的利用这些先验信息,但是半监督聚类是解决这一问题的有效方法。
通过在模型中添加附加信息作为约束损失,可以使聚类方法成为半监督聚类方法。但是目前深度半监督聚类的研究还未得到很好的探索。
Deep clustering based on multi-view learning
基于多视图学习的深度聚类
在现实世界中,我们遇到的数据通常来自不同的特征收集器或具有不同的结构,这些数据被称之为 “多视图数据” 或“多模态数据”,其中每个样本都有多个表示。
基于多视图学习的深度聚类,其目的是利用多视图数据中所包含的一致性和互补性信息来提高聚类性能。
目前深度多视图聚类可以大致归纳为三大类:
- 基于深度嵌入聚类
- 基于子空间聚类
- 基于图神经网络聚类
Deep clustering based on transfer learning
基于迁移学习的深度聚类
对于实例数量有限且维度较高的任务,有时我们可以找一个助手来提供额外的信息。
例如,如果 任务A 与另一个 任务B 相似,而 任务B 比 任务A 具有更多的信息用于聚类 (B是有标记的 或 B比A 更容易聚类),那么将信息从 B 转移到 A 是有用的。
这就是经常遇到的无监督域适应(unsupervised domain adaption, UDA)迁移学习,这种算法包括两个域:有标记的源域 和 无标记的目标域。
迁移学习的目标是将从源任务中学到的知识或模式应用到不同但相关的目标任务中,基于迁移学习的深度聚类方法旨在利用相关任务的信息提高当前聚类任务的性能。
相关函数映射关系
给定一组数据样本XXX,我们的目标是找到一个映射函数 FFF,使得可以通过映射函数将 XXX 映射到 k个聚类,映射结果用
来表示。
(1)Deep single-view clustering
(2)Deep clustering based on semi-supervised learning
其中,AAA 是指 约束矩阵。
(3)Deep clustering based on multi-view learning
其中,XiX_iXi 是 XXX视图中的第 iii 行。
(4)Deep clustering based on transfer learning
其中,(Xs,Ys)(X^s,Y^s)(Xs,Ys) 是 标记的源域,XtX^tXt 是未标记的目标域。