1 定义

聚类(clustering)是一种无监督学习方法,根据样本特征寻找数据中自然存在的分组,使同一簇(cluster)中的样本相对相似、不同簇中的样本相对不同。与监督学习中的分类不同,聚类没有预先给定的类别标签,形成哪些簇以及各样本属于哪个簇由数据及所采用的聚类方法决定。

2 类型

不同聚类方法对“相似”和“簇”的定义不同,常见方法包括:

  • 划分聚类(partitioning methods)直接把全部样本划分为若干互不重叠的簇。典型方法是K-means聚类,研究者预先指定簇数,算法反复调整各簇中心和样本归属,使样本到所属簇中心的距离尽可能小。
  • 层次聚类(hierarchical clustering)逐步合并距离较近的样本或簇,形成由小簇到大簇的树状结构;也可以从全部样本组成的整体开始逐步拆分。结果通常可以用树状图表示,研究者再根据树状结构选择合适的聚类层级。
  • 基于密度的聚类(density-based methods)根据样本在特征空间中的密度识别不同簇。例如DBSCAN将被低密度区域隔开的高密度区域识别为不同簇,并可以把稀疏区域中的样本识别为噪声。
  • 基于网格的聚类(grid-based methods)先把特征空间划分为许多网格单元,再根据各单元中的样本分布进行聚类。
  • 概率聚类(probabilistic methods)假定数据由若干概率分布混合产生,估计每个样本属于各个簇的概率,而不一定只给出非此即彼的簇归属。