天天看点

层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

层次聚类算法介绍

  • 1层次聚类的定义
    • 思考示例问题:
  • 2距离与相似性
    • 2.1常用的计算距离的方法
    • 2.2计算指标相似性的方法
      • 1)余弦计算公式:![000](https://img-blog.csdnimg.cn/20200714234628463.png)
      • 2)相关计算公式:
  • 3合并算法思想
      • 1)重心法
      • 2)最短距离法
      • 3)最长距离法
      • 4)组间平均连接法
      • 5)组内平均链接法
  • 4算法流程
      • 程序执行过程:
  • 5 示例与分析
    • 5.1基于最小值的层次聚类
      • 优缺点
    • 5.2 基于最大值的层次聚类
      • 优缺点
    • 5.3基于组平均
      • 优缺点 (MIN和MAX之间的折中)
  • 6需注意的问题
      • 对比Kmean算法

1.本博客是观看清风数学建数学建模课程后有所感想记录的笔记,有想要深入学习的朋友可以购买观看课程:https://weidian.com/?userid=1372657210

2.感兴趣的推荐看B站数学建模试看课程:

https://www.bilibili.com/video/av20238704

1层次聚类的定义

聚类就是对大量未知标注的数据集,按照数据内部存在的数据特征将数据集划分为多个不同的类别,使类别内的数据比较相似,类别之间的数据相似度比较小,属于无监督学习。

层次聚类的合并算法通过计算两类数据点间的距离,对最为接近的两类数据点进行组合,并反复迭代这一过程,直到将所有数据点合成一类,并生成聚类谱系图。

层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题
层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

思考示例问题:

层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题
层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题
层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题
层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题
层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

2距离与相似性

2.1常用的计算距离的方法

层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

Ps:其中绝对值距离一般应用于网状道路距离,一般采用欧氏距离。

2.2计算指标相似性的方法

1)余弦计算公式:
层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

2)相关计算公式:

层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题
层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

3合并算法思想

思想:将两个簇合成为一个簇,计算这个簇与其他簇之间的距离,再进行合并。

簇与簇之间的常用距离:重心法,最短距离法,最长距离法,组间平均连接法,组内平均链接法(下图顺序一致)

1)重心法

层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

2)最短距离法

层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

3)最长距离法

层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

4)组间平均连接法

层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

5)组内平均链接法

层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

4算法流程

程序执行过程:

系统(层次)聚类的算法流程:
	1.将每个对象看作一类,计算两两之间的最小距离;
	2.将距离最小的两个类合并成一个新类;
	3.新计算新类与所有类之间的距离;
	4.重复2、3两步,直到所有类最后合并成一类;
	5.结束。
           
层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

5 示例与分析

根据所给的图,以及距离矩阵,求解聚类结果:

层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

5.1基于最小值的层次聚类

计算结果如下:

层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

优缺点

优点:可以处理非椭圆形状

层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

缺点:对噪声点和异常值敏感

5.2 基于最大值的层次聚类

计算结果如下:

层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

优缺点

优点:不容易受噪声点和异常值影响

缺点:1.往往打破大聚类 2.偏向球状星团

层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

5.3基于组平均

计算结果如下:

层次聚类算法介绍1层次聚类的定义2距离与相似性3合并算法思想4算法流程5 示例与分析6需注意的问题

优缺点 (MIN和MAX之间的折中)

优点:不易受噪声和异常值影响

缺点:偏向球状星团

6需注意的问题

1.对于一个实际问题要根据分类的目的来选取指标,指标选取的不同分类结果一般也不同。
2.样品间距离定义方式的不同,聚类结果一般也不同。
3.聚类方法的不同,聚类结果一般也不同 (尤其是样品特别多的时候)。最好能通过各种方法找出其中的共性。
4.要注意指标的量纲,量纲差别太大会导致聚类结果不合理。
5.聚类分析的结果可能不令人满意,因为我们所做的是一个数学的处理,对于结果我们要找到一个合理的解释。
           

对比Kmean算法

k均值需要定义聚类簇数k,而层次聚类不需要,层次聚类可以根据聚类谱系图选择聚类的簇个数。

继续阅读