机器学习中的聚类17 Mar 2025 | 6 分钟阅读 聚类或聚类分析是一种机器学习技术,用于对未标记的数据集进行分组。它可以被定义为“一种将数据点分组成不同簇的方法,簇由相似的数据点组成。具有可能相似性的对象保留在一个组中,该组与另一个组的相似性很小或没有相似性。” 它通过在未标记的数据集中找到一些相似的模式,如形状、大小、颜色、行为等,并根据这些相似模式的存在与否进行划分。 它是一种无监督学习方法,因此没有为算法提供监督,它处理的是未标记的数据集。 应用这种聚类技术后,每个簇或组都会被提供一个簇ID。机器学习系统可以使用此ID来简化对大型复杂数据集的处理。 聚类技术通常用于统计数据分析。 注意:聚类在某种程度上类似于分类算法,但区别在于我们使用的数据集类型。在分类中,我们处理的是标记数据集,而在聚类中,我们处理的是未标记数据集。示例:让我们用一个真实的商场例子来理解聚类技术:当我们去任何购物商场时,我们可以观察到用途相似的物品被分组在一起。例如,T恤被分在一区,裤子在另一区;同样,在蔬菜区,苹果、香蕉、芒果等被分在不同的区域,这样我们就能轻松找到东西。聚类技术的工作方式也是如此。聚类的其他例子还包括根据主题对文档进行分组。 聚类技术可以广泛应用于各种任务。该技术最常见的一些用途是:
除了这些一般用途外,亚马逊在其推荐系统中使用它,根据过去的产品搜索历史提供推荐。Netflix也使用这种技术,根据用户的观看历史向其推荐电影和网络剧。 下图解释了聚类算法的工作原理。我们可以看到不同的水果被分成了几个具有相似属性的组。 ![]() 聚类方法的类型聚类方法大致分为硬聚类(数据点仅属于一个组)和软聚类(数据点也可以属于另一个组)。但还存在其他各种聚类方法。以下是机器学习中使用的主要聚类方法:
划分聚类这是一种将数据划分为非层次化组的聚类类型。它也被称为基于质心的方法。划分聚类最常见的例子是K-Means 聚类算法。 在这种类型中,数据集被划分为k个组的集合,其中K用于定义预定义的组数。创建簇中心的方式是,一个簇的数据点之间的距离与另一个簇的质心相比是最小的。 ![]() 基于密度的聚类基于密度的聚类方法将高密度区域连接成簇,只要密集区域可以连接,就可以形成任意形状的分布。该算法通过识别数据集中的不同簇,并将高密度区域连接成簇来实现。数据空间中的密集区域被稀疏区域相互分隔。 如果数据集具有变化的密度和高维度,这些算法在聚类数据点时可能会遇到困难。 ![]() 基于分布模型的聚类在基于分布模型的聚类方法中,数据是根据数据集属于特定分布的概率进行划分的。分组是通过假设一些分布来完成的,通常是高斯分布。 这种类型的例子是使用高斯混合模型(GMM)的期望最大化聚类算法。 ![]() 层次聚类层次聚类可以作为划分聚类的替代方案,因为它不需要预先指定要创建的簇的数量。在这种技术中,数据集被划分为簇以创建树状结构,也称为树状图。可以通过在正确的级别切割树来选择观测值或任意数量的簇。这种方法最常见的例子是凝聚层次算法。 ![]() 模糊聚类模糊聚类是一种软方法,其中一个数据对象可能属于多个组或簇。每个数据集都有一组成员系数,这取决于属于某个簇的隶属度。模糊C均值算法是这种聚类的例子;它有时也被称为模糊k均值算法。 聚类算法聚类算法可以根据上面解释的模型进行划分。已经发布了不同类型的聚类算法,但只有少数被普遍使用。聚类算法基于我们正在使用的数据类型。例如,一些算法需要猜测给定数据集中的簇数,而另一些则需要找到数据集中观测值之间的最小距离。 这里我们主要讨论在机器学习中广泛使用的流行聚类算法:
聚类的应用以下是聚类技术在机器学习中一些常见的应用:
下一个主题机器学习中的层次聚类 |
我们请求您订阅我们的新闻通讯以获取最新更新。