聚类算法在深度学习中的应用(1)-袁志辉博士

2021-04-13

聚类是机器学习和计算机视觉领域最重要的研究方向之一,作为一种重要的数据分析工具,在数据挖掘、文档检索、图像分割和模式分类等任务中有着广泛的应用。聚类的学习算法与分类有所不同,分类是对类别信息已知的训练数据进行训练,将训练完成的模型用于对测试数据进行预测,根据测试数据的特征预测其对应的类别。而聚类算法则致力于在没有数据标签的情况下,将样本数据按照其相似性划分为不同的类别,使得同一个类别中的数据之间的相似性尽可能大,而不同类别的数据之间的相似性则尽可能小,这样的类别也被称为“簇”(cluster)。以在二维平面上非均匀分布的目标点的聚类为例,其典型的聚类结果如图1所示,其中不同颜色的点代表不同的簇。

 image.png

图1 聚类分析结果示意图

典型的聚类算法通常可以分为以下三个阶段:

(1)首先利用特征提取、特征选择或者特征学习方法对样本数据进行特征预处理操作;

(2)然后在数据域定义一种相似度的度量标准;

(3)最后执行聚类任务。

传统的聚类算法通常分为划分聚类、网格聚类、层次聚类、密度聚类和模型聚类。其中,k-means算法是一种广泛使用的简单有效的聚类算法,该算法迭代地将各个数据点分配到距离其最近的聚类中心,并且反复更新中心点直到算法收敛从而得到聚类结果。但是k-means算法中的特征表示和距离度量是固定的,而且只有在数据样本非常均匀地分布在中心点附近的数据空间才能表现出良好的性能,这样的数据通常被称为具备“k-means友好”的结构,而现实中存在的绝大部分数据集,例如复杂高维而且分布不均匀的原始图像像素并不具备这样理想的性质,因此很多算法致力于将高维的数据映射到一个更适合于执行聚类算法的低维特征空间中,得到一个“聚类友好”的特征表示,然后再在这些特征上进行聚类任务。为了学习高维度数据中的低维表示,使其所在的特征空间能够展现出“聚类友好”的结构特性,很多算法利用降维的思想将原始的N维数据映射到K维正交特征上,这些重新被构造出来的具有代表性的特征也被称为主成分。

随着大量信息数据在各个应用领域的出现,高维度数据越来越普遍,因而对大规模高维度数据的处理成为了各个研究方向的热点和难点。在处理高维度数据的时候,通常的方法是进行特征学习,使得原始的统计数据在规模上变小,从而可以方便的进行处理。特征学习是聚类分析中最为关键的一个步骤,很大程度上决定了聚类的性能。但是传统的特征学习方法不能够很好地学习出大规模高维度数据中的深层特征,或者只能够针对单一领域的数据表现出较好的效果。于是怎样进行完全的特征学习成为研究人员面临的棘手问题。在聚类分析的过程中,因为原始数据的规模越来越大,其中的隐含结构也越来越复杂,聚类也变得越来越困难。而深度学习使用深层结构进行特征抽象,在语音数据上和图像数据上都能取得很好的效果。由于深层结构中的多层非线性映射层,深度学习具有强大的学习能力,可以完成复杂函数的逼近。此外,分层的特征学习模式能够更深层次地发掘数据的分布特征和模式,很适合于大数据和分布式计算。深度学习和聚类有着许多共同的地方:首先,它们都采用了无监督学习方法;其次,他们都是对数据进行内部的结构和模式进行发掘;再次,它们都面临着大规模数据带来的挑战和有利之处。因此,随着深度神经网络的不断发展和其强大的特征表示能力,人们对基于深度特征学习的深度聚类算法在未来一段时间内将会一直保持一个较高的研究热度,需要不断探索这一领域中的问题才能实现对现有算法的有效改进。