分层聚类与分区聚类

聚类是一种机器学习技术,用于分析数据并将其分为相似数据组。 这些类似数据的组或集合称为群集。 聚类分析着眼于可以自动识别聚类的聚类算法。 分层和分区是聚类算法的两类。 分层聚类算法将数据分解为聚类的层次结构。 分区算法将数据集分为互不相交的分区。

什么是层次聚类?

分层聚类算法重复将较小的聚类合并为较大的聚类或将较大的聚类划分为较小的聚类的循环。 无论哪种方式,它都会产生一个称为树状图的簇层次结构。 聚集集群策略使用自下而上的方法将集群合并为较大的集群,而分裂集群策略使用自上而下的方法将集群分为较小的集群。 通常,贪婪方法用于确定将哪个较大/较小的群集用于合并/划分。 欧几里得距离,曼哈顿距离和余弦相似度是数字数据相似度最常用的指标。 对于非数字数据,使用诸如汉明距离之类的度量。 重要的是要注意,层次聚类不需要实际的观察(实例),因为仅距离矩阵就足够了。 树状图是群集的直观表示,可以非常清晰地显示层次结构。 用户可以根据切割树状图的级别获得不同的聚类。

什么是分区集群?

分区聚类算法会生成各种分区,然后根据某种标准对其进行评估。 它们也被称为非分层的,因为每个实例恰好位于k个互斥群集中的一个中。 因为只有一组集群是典型分区集群算法的输出,所以要求用户输入所需数量的集群(通常称为k)。 k-均值聚类算法是最常用的分区聚类算法之一。 要求用户在启动之前提供簇数(k),并且该算法首先启动k个分区的中心(或质心)。 简而言之,k-means聚类算法然后基于当前中心分配成员,并基于当前成员重新估计中心。 重复这两个步骤,直到某个集群内相似性目标函数和集群间非相似性目标函数得到优化为止。 因此,中心的合理初始化是从分区聚类算法获得质量结果的重要因素。

层次聚类和分区聚类有什么区别?

分层和分区聚类在运行时间,假设,输入参数和结果聚类方面具有关键差异。 通常,分区群集比分层群集更快。 层次聚类仅需要相似性度量,而分区聚类则需要更强的假设,例如聚类数量和初始中心。 分层集群不需要任何输入参数,而分区集群算法需要开始运行的集群数量。 分层聚类返回了更有意义和主观的聚类划分,但分区聚类得到的正是k个聚类。 层次聚类算法更适合分类数据,只要可以相应地定义相似性度量即可。