论文部分内容阅读
聚类是机器学习、数据挖掘领域中非常重要的方法。作为典型的无监督学习方法,聚类对于解决实际问题有重要的应用价值。但传统聚类方法都或多或少存在着缺点,比如对形状不敏感,无法实现非凸数据分布聚类;对噪声、孤立点敏感;聚类结果不稳定,依赖于Center点的选择;聚类个数依赖超参数等。因此,近年来对于聚类的很多探讨都围绕改良现有的聚类方法或者提出一种聚类新方法来进行。 谱聚类算法是一种聚类新方法,它以谱图分割理论为基础发展而来,对于高维、非凸数据分布问题有很好的聚类结果。因其算法的求解过程较传统聚类方法而言抓住了问题的主要特征,有效避免了局部最优,故已得到了很广泛的应用。随着聚类问题的数据规模不断扩大,计算效率、存储限制等问题成为该算法的瓶颈,在保证聚类质量的前提下,对算法进行自适应的改进和并行化的需求应运而生。 本文围绕谱聚类算法展开讨论,并基于MPI并行编程模型实现了并行自适应谱聚类(PSTSC,Parallel Self-Tuning Spectral Clustering)算法。具体研究工作如下: 1.实现了谱聚类算法的自适应。其中,使用了自动可调的Local Scale提高算法对不同规模数据的适应性;使用基于特征向量结构分析自动确定聚类个数的方法,通过梯度下降法和一系列Givens旋转变换,寻找最佳聚类个数,摆脱超参数的限制。 2.针对并行谱聚类算法的计算密集性和通信密集性,给出一种基于局部计算和循环通信的并行方法,最大限度的降低通信次数;并采用异步通信与计算重叠的方式,既可以保证正确的计算结果,又能将计算耗时降低约50%。 3.采用基于大顶堆的t-近邻方式稀疏化相似度矩阵,在不影响聚类质量的前提下使算法的计算复杂性显著降低。 4.在常用的特征值求解方法和求解器中,选择LOBPCG方法,并使用中国科学院计算机网络信息中心自主开发的并行特征值求解器PLOBPCG计算Laplacian矩阵的特征向量,降低特征降维部分的计算时间。 5.使用不同规模、不同维度、多种类型的公开数据集测试算法,综合评价算法的性能。 在中国科学院的“元”超级计算机上的实验数据表明,对两类百万级大规模数据聚类,PSTSC算法在2048核上的加速比接近线性加速,并行效率达到96%以上,聚类质量和并行性能明显优于流行的PSC算法。对于二维数据集自动确定聚类个数效果较好,而对于高维数据集,由于其本身存在一定噪声,需要结合不同数据集和选取的参数来综合讨论。