📅  最后修改于: 2020-09-29 01:25:51             🧑  作者: Mango
聚类或聚类分析是一种机器学习技术,用于对未标记的数据集进行分组。可以将其定义为“一种将数据点分为不同集群的方式,该集群由相似数据点组成。具有可能相似性的对象保留在与另一个组具有很少或没有相似性的组中。”
它通过在未标记的数据集中找到一些相似的模式(例如形状,大小,颜色,行为等)来进行操作,并根据这些相似模式的存在与否对其进行划分。
这是一种无监督的学习方法,因此没有为算法提供监督,并且处理未标记的数据集。
应用此群集技术后,将为每个群集或组提供一个群集ID。 ML系统可以使用此id简化大型和复杂数据集的处理。
聚类技术通常用于统计数据分析。
注意:聚类类似于分类算法,但是区别在于我们使用的数据集类型。在分类中,我们使用标记的数据集,而在聚类中,我们使用未标记的数据集。
示例:让我们通过Mall的真实示例来了解聚类技术:当我们访问任何购物中心时,我们可以观察到具有相似用法的事物被分组在一起。例如,T恤在一个区域中分组,而裤子在其他区域中分组,同样在蔬菜区域中,苹果,香蕉,芒果等在不同区域中分组,以便我们可以轻松地找到东西。聚类技术也以相同的方式工作。聚类的其他示例是根据主题对文档进行分组。
聚类技术可以广泛用于各种任务。此技术的一些最常见用法是:
除了这些常规用法外,Amazon在其推荐系统中使用它来根据过去的产品搜索提供推荐。 Netflix还根据观看历史记录使用此技术向用户推荐电影和网络连续剧。
下图说明了聚类算法的工作。我们可以看到不同的水果被分成几组具有相似特性的水果。
聚类方法大致分为硬聚类(数据点仅属于一组)和软聚类(数据点也可以属于另一组)。但是也存在其他各种聚类方法。以下是机器学习中使用的主要聚类方法:
这是一种将数据分为非分层组的群集。也称为基于质心的方法。分区聚类的最常见示例是K-Means聚类算法。
在这种类型中,数据集分为一组k组,其中K用于定义预定义组的数量。以这样的方式创建聚类中心:与另一个聚类质心相比,一个聚类的数据点之间的距离最小。
基于密度的聚类方法将高密度区域连接成簇,并且只要可以连接密集区域,就可以形成任意形状的分布。该算法通过识别数据集中的不同聚类来实现,并将高密度区域连接到聚类中。数据空间中的密集区域由稀疏区域彼此分开。
如果数据集具有变化的密度和高维,则这些算法可能难以聚类数据点。
在基于分布模型的聚类方法中,根据数据集如何属于特定分布的概率对数据进行划分。通过假设一些分布通常是高斯分布来完成分组。
这种类型的示例是使用高斯混合模型(GMM)的Expectation-Maximization Clustering算法。
层次集群可以用作分区集群的替代方案,因为不需要预先指定要创建的集群数量。在这种技术中,数据集被分为簇以创建树状结构,也称为树状图。可以通过以正确级别切割树来选择观察值或任意数量的聚类。这种方法最常见的示例是聚集层次算法。
模糊聚类是一种软方法,其中数据对象可能属于多个组或集群。每个数据集都有一组隶属系数,这取决于要在集群中的隶属程度。模糊C均值算法就是这种聚类的例子。有时也称为模糊k均值算法。
可以基于上述算法对聚类算法进行划分。已经发布了不同类型的聚类算法,但是只有少数几种是常用的。聚类算法基于我们正在使用的数据类型。例如,某些算法需要猜测给定数据集中的聚类数量,而某些算法需要找到数据集观测值之间的最小距离。
在这里,我们主要讨论在机器学习中广泛使用的流行的聚类算法:
以下是群集技术在机器学习中的一些常见应用: