但K-means存在一定的挑战 。因为它总是试图将集群划分为相同大小 。此外,我们必须在算法开始时确定簇的数量 。理想情况下,我们不知道算法的一开始应该有多少个簇,因此它是K-means的挑战 。
这就平稳的过渡到了层次聚类 。它消除了必须预先定义集群数量的问题 。听起来像在做梦!那么,让我们看看什么是层次聚类,以及它如何改进k-means 。
什么是层次聚类
假设我们有以下几个点,我们希望将它们分组:
我们可以将每个点分配给一个单独的集群:
现在,基于这些集群的相似性,我们可以将最相似的集群组合在一起并重复此过程,直到只留下一个集群:
我们这是在构建集群层次结构 。这就是为什么这个算法被称为层次聚类 。我将在后面的部分讨论如何确定集群的数量 。现在,让我们看看不同类型的层次聚类 。
层次聚类的类型
主要有两种类型的层次聚类:
- 聚合层次聚类
- 分裂层次聚类
聚合层次聚类
我们在这种技术中,将每个点分配给一个单独的集群 。假设有4个数据点 。我们将每个点分配给一个集群,因此在开始时将有4个集群:
文章插图
文章插图
然后,在每次迭代时,我们合并最近的一对集群并重复此步骤,直到只留下一个簇:
我们在每一步合并(或添加)集群,对吧?因此,这种类型的聚类也称为加和层次聚类 。
分裂层次聚类
分裂层次聚类以相反的方式工作 。我们不是从n个集群开始(在n个观察的情况下),而是从单个集群开始,并将所有点分配给该集群 。
因此,如果我们有10或1000个数据点,都无关紧要 。所有这些点在开始时都属于同一个集群:
现在,在每次迭代中,我们分离集群中的最远点并重复此过程,直到每个集群仅包含一个点:
我们在每一步进行分裂(或划分)集群,因此称为分裂层次聚类 。
聚合聚类在业界广泛使用,这将成为本文的重点 。一旦我们处理了聚合型,分裂的层次聚类就像一块蛋糕一样 。
执行层次聚类的步骤
我们在层次聚类中合并最相似的点或集群–这是我们已知的 。现在的问题是 – 我们如何确定哪些点相似,哪些不相似?这是聚类中最重要的问题之一!
计算相似度的方法之一是获取这些集群质心之间的距离 。具有最小距离的点被称为相似点,我们可以合并它们 。这被称为基于距离的算法(因为我们正在计算集群之间的距离) 。
在层次聚类中,有一个被称为邻近矩阵的概念 。它存储了每个点之间的距离 。让我们举一个例子来理解这个矩阵以及执行层次聚类的步骤 。
示例
假设一位老师想把她的学生分成不同的小组 。她有每个学生的作业得分,她希望根据这些分数给学生分组(这里没有固定要多少组的目标) 。由于教师不知道应该将哪种类型的学生分配到哪个小组,所以不能将其作为监督学习问题解决 。我们将尝试在此处应用层次聚类,并将学生划分为不同的组 。
我们来看看5名学生的样本:
文章插图
文章插图
创建邻近矩阵
首先,我们将创建一个邻近矩阵,它将告诉我们每个点之间的距离 。我们计算了每个点与每个其他点的距离,得到一个形状为n X n的方形矩阵(其中n是观测数) 。
制作5 x 5邻近矩阵:
此矩阵的对角线元素将始终为0,因为点与其自身的距离始终为0 。使用欧几里德距离公式计算其余距离 。假设我们想要计算第1点和第2点之间的距离:
√(10-7)^ 2 =√9= 3
同样,我们可以计算所有距离并填充邻近矩阵 。
执行层次聚类的步骤
第1步: 首先,将所有点分配给单个集群:
这里不同的颜色代表不同的聚类 。您可以看到有5个点,对应5个不同的聚类 。
第2步: 接下来,我们将查看邻近矩阵中的最小距离,合并具有最小距离的点 。然后更新邻近矩阵:
推荐阅读
- 算法重大调整红利基本结束 2022抖音日活量是多少
- 什么是商业数据分析商业数据分析的四个层次
- 马斯洛需求层次理论简述 马斯洛需求层次理论名词解释
- 什么是逻辑算法逻辑回归算法你了解多少
- 马斯洛需求层次 马斯洛需要层次论主要包括
- 海南省人才认定标准2021 2021海南高层次人才证明认定
- 海南高层次E类人才 海南高层次E类人才对应的是什么人才
- 海南高层次人才子女入学政策 海南高层次人才子女入学办法
- 海南高层次人才落户条件 海南高层次人才落户的标准
- 海口高层次人才落户怎么办理 海口人才落户要求