Machine Learning 简明教程

Machine Learning - Clustering Algorithms

聚类方法是最有用的无监督 ML 方法之一。这些方法用于查找数据样本之间的相似性和关系模式,然后根据特征将这些样本聚类到具有相似性的组中。聚类很重要,因为它确定了当前未标记数据中的内在分组。它们基本上对数据点做出一些假设以构成它们的相似性。每个假设都会构建不同但同样有效的聚类。

例如,以下是显示聚类系统将不同聚类中相似类型的数据分组在一起的图表:

clustering

Cluster Formation Methods

聚类不必以球形形式形成。以下是一些其他聚类形成方法:

  1. Density-based - 在这些方法中,聚类形成为稠密区域。这些方法的优点是它们具有良好的准确性,并且能够很好地合并两个聚类。例如,基于密度的应用程序空间聚类,带噪声的数据(DBSCAN)、对点排序以识别聚类结构(OPTICS)等。

  2. Hierarchical-based - 在这些方法中,聚类根据层次结构形成为树型结构。它们有两个类别,即凝聚(自下而上的方法)和分裂(自上而下的方法)。例如,使用代表的聚类(CURE)、平衡迭代,使用层次结构减少聚类(BIRCH)等。

  3. Partitioning − 在这些方法中,聚类是由将各个对象分配到 k 个聚类中而形成的。聚类数将等于分区数。例如,K 均值,基于随机搜索聚类大型应用程序 (CLARANS)。

  4. Grid − 在这些方法中,聚类被形成为网格状结构。这些方法的优点在于,在这些网格上进行的所有聚类操作都很快,并且与数据对象的数量无关。例如,统计信息网格 (STING),寻求聚类 (CLIQUE)。

聚类不必以球形形式形成。以下是一些其他聚类形成方法:

Density-based

在这些方法中,聚类被形成为稠密区域。这些方法的优点在于,它们既具有良好的准确性,又有合并两个聚类的良好能力。例如,带噪声的基于密度的空间聚类应用 (DBSCAN),用于识别聚类结构的排序点 (OPTICS) 等。

Hierarchical-based

在这些方法中,聚类被基于分层形成为树型结构。它们有两个类别,即凝聚(自底向上的方法)和分裂(自顶向下的方法)。例如,使用代表的聚类 (CURE),使用层次结构的平衡迭代缩小聚类 (BIRCH) 等。

Partitioning

在这些方法中,聚类是由将各个对象分配到 k 个聚类中而形成的。聚类数将等于分区数。例如,K 均值,基于随机搜索聚类大型应用程序 (CLARANS)。

Grid

在这些方法中,聚类被形成为网格状结构。这些方法的优点在于,在这些网格上进行的所有聚类操作都很快,并且与数据对象的数量无关。例如,统计信息网格 (STING),寻求聚类 (CLIQUE)。

Types of ML Clustering Algorithms

以下是最重要的有用的 ML 聚类算法 −

K-means Clustering

此聚类算法计算质心并迭代直至找到最佳质心。它假定已知聚类数。它也被称为平面聚类算法。算法从数据识别的聚类数在 K 均值中表示为“K”。

Mean-Shift Algorithm

这是无监督学习中使用的另一种强有力的聚类算法。与 K 均值聚类不同,它不作任何假设,因此它是一种非参数算法。

Hierarchical Clustering

这是另一种无监督学习算法,用于对具有相似特征的未标记数据点进行分组。

我们将在接下来的章节中详细讨论所有这些算法。

Applications of Clustering

我们可以在以下领域发现聚类很有用 −

Data summarization and compression − 聚类被广泛用于我们要求数据汇总、压缩和减少的领域。例如图像处理和矢量量化。

Collaborative systems and customer segmentation − 由于聚类可以用于查找类似产品或同类用户,因此它可以用于协作系统和客户细分领域。

Serve as a key intermediate step for other data mining tasks − 聚类分析可以生成用于分类、测试、假设生成的数据的紧凑摘要;因此,它也作为其他数据挖掘任务的关键中间步骤。

Trend detection in dynamic data − 通过创建具有类似趋势的不同聚类,聚类还可以用于动态数据中的趋势检测。

Social network analysis − 聚类可以用于社交网络分析。例如,在图像、视频或音频中生成序列。

Biological data analysis − 聚类还可以用于生成图像和视频聚类,因此可以成功地用于生物数据分析。

既然您了解聚类是什么以及它是如何工作的,那么让我们在接下来的几章中了解一些机器学习中使用的聚类算法。