ML10-层次聚类

层次聚类含义:

是构建簇层次结构的算法。从分配给自己簇的所有的数据点开始,然后两个距离最近的簇合并成一个簇,重复合并不同的簇,直到最后只剩下一个簇时,算法终止。

聚类种类:

凝聚:

将每个对象当做一个单一的簇,将相似的簇进行合并,直到形成一个大的簇为止。类似于树状图。

全连接的凝聚层次聚类方法:

  1. 获取所有样本的距离矩阵
  2. 将每个数据点作为一个单独的簇
  3. 基于某一度量距离,合并两个簇
  4. 更新矩阵距离
  5. 重复2-4,直到所有样本都在同一个簇中

分裂:

分裂聚类正好与凝聚聚类相反。凝聚聚类是从下到上的聚类方法,分裂聚类是从上到下的方法。首先是将所有的对象都置于同一个簇中,然后逐渐细分成越来越小的簇,直到每个对象都独成一簇,或者到达我们预设的某种终止条件,则分裂聚类结束。

度量距离:

要聚类,肯定需要计算距离,计算点与点之间的距离,聚类与聚类之间的距离。

度量距离的常用方法有:

  1. Single Linkage将两个组合中距离最近的点作为这两个组合间的距离
  2. Complete Linkage将两个组合中,距离最大的点之间的距离,作为这两个组合间的距离
  3. Average Linkage计算两组合中的每两个数据之间的距离,取其平均值,作为两组合之间的距离

参考文章:

  1. https://blog.csdn.net/sinat_29957455/article/details/80146093
  2. https://zhuanlan.zhihu.com/p/32438294