摘要

聚类分析在机器学习、数据挖掘、生物DNA信息等方面都起着极为关键的作用。聚类算法从方法学上可分为扁平聚类和层谱聚类。扁平聚类通常将数据集分为K个并行社区,社区之间没有交集,但现实世界的社区之间多具有不同层次之间的包含关系,因而层谱聚类算法能对数据进行更精细的分析,提供更好的可解释性。而相对于扁平聚类,层谱聚类研究进展缓慢。针对层谱聚类面临的问题,从对代价函数的选择、聚类结果衡量指标、聚类算法性能等方面入手,调研了大量的相关文献。其中聚类结果衡量指标主要有模块度、Jaccard 指数、标准化互信息、树状图纯度等。扁平聚类算法中比较经典的算法有K-means算法、标签传播算法、DBSCAN 算法、谱聚类算法等。层谱聚类算法可以进一步划分为分裂聚类算法和凝聚聚类算法,分裂层谱聚类算法有二分K-means算法和递归稀疏割算法,凝聚层谱聚类算法有经典的Louvain算法、BIRCH 算法和近年提出的HLP 算法、PERCH算法及GRINCH算法。最后,进一步分析了这些算法的优缺点,并总结全文。