层次聚类简介
2017-03-27 14:43
337 查看
层次聚类简介
层次聚类分为凝聚式层次聚类和分裂式层次聚类。凝聚式层次聚类,就是在初始阶段将每一个点都视为一个簇,之后每一次合并两个最接近的簇,当然对于接近程度的定义则需要指定簇的邻近准则。
分裂式层次聚类,就是在初始阶段将所有的点视为一个簇,之后每次分裂出一个簇,直到最后剩下单个点的簇为止。
本文中我们将详细介绍凝聚式层次聚类算法。
对于凝聚式层次聚类,指定簇的邻近准则是非常重要的一个环节,在此我们介绍三种最常用的准则,分别是 MAX, MIN, 组平均。如下图所示:
图 2. 层次聚类计算准则
算法流程
凝聚式层次聚类算法也是一个迭代的过程,算法流程如下:每次选最近的两个簇合并,我们将这两个合并后的簇称之为合并簇。
若采用 MAX 准则,选择其他簇与合并簇中离得最远的两个点之间的距离作为簇之间的邻近度。若采用 MIN 准则,取其他簇与合并簇中离得最近的两个点之间的距离作为簇之间的邻近度。若组平均准则,取其他簇与合并簇所有点之间距离的平均值作为簇之间的邻近度。
重复步骤 1 和步骤 2,合并至只剩下一个簇。
算法过程举例
下面我们看一个例子:下图是一个有五个点的而为坐标系:
图 3. 层次聚类举例
下表为这五个点的欧式距离矩阵:
表 1. 欧式距离原始矩阵
P1 | P2 | P3 | P4 | P5 | |
P1 | 0 | 0.81 | 1.32 | 1.94 | 1.82 |
P2 | 0.81 | 0 | 1.56 | 2.16 | 1.77 |
P3 | 1.32 | 1.56 | 0 | 0.63 | 0.71 |
P4 | 1.94 | 2.16 | 0.63 | 0 | 0.71 |
P5 | 1.82 | 1.77 | 0.71 | 0.71 | 0 |
合并 P3, P4 为 {P3, P4},根据 MIN 原则更新矩阵如下:
MIN.distance({P3, P4}, P1) = 1.32;
MIN.distance({P3, P4}, P2) = 1.56;
MIN.distance({P3, P4}, P5) = 0.70;
表 2. 欧式距离更新矩阵 1
P1 | P2 | {P3, P4} | P5 | |
P1 | 0 | 0.81 | 1.32 | 1.82 |
P2 | 0.81 | 0 | 1.56 | 1.77 |
{P3, P4} | 1.32 | 1.56 | 0 | 0.71 |
P5 | 1.82 | 1.77 | 0.71 | 0 |
合并 {P3, P4}, P5 为 {P3, P4, P5},根据 MIN 原则继续更新矩阵:
MIN.distance(P1, {P3, P4, P5}) = 1.32;
MIN.distance(P2, {P3, P4, P5}) = 1.56;
表 3. 欧式距离更新矩阵 2
P1 | P2 | {P3, P4, P5} | |
P1 | 0 | 0.81 | 1.32 |
P2 | 0.81 | 0 | 1.56 |
{P3, P4, P5} | 1.32 | 1.56 | 0 |
合并 P1, P2 为 {P1, P2},根据 MIN 原则继续更新矩阵:
MIN.distance({P1,P2}, {P3, P4, P5}) = 1.32
表 4. 欧式距离更新矩阵 3
{P1, P2} | {P3, P4, P5} | |
{P1, P2} | 0 | 1.32 |
{P3, P4, P5} | 1.32 | 0 |
图 4. 层次聚类举例结果
相关文章推荐
- 层次聚类简介
- BOM__Document对象简介-三种获取节点方式,通过节点层次关系获取节点,以及对象中的属性操作
- 层次聚类——自底向上方法
- 数据挖掘中的划分聚类简介(k均值和k中心点)
- 读书笔记 -- 008_数据挖掘_聚类_基于层次的方法
- 聚类算法(三):层次聚类 Hieriachical算法
- kmeans 文本聚类方法简介
- kmeans 文本聚类方法简介
- 《Python数据分析与挖掘实战》第14章——层次聚类
- 聚类分析层次聚类及k-means算法
- 每R一点:层次聚类分析实例实战-dist、hclust、heatmap等(转)
- 机器学习Chapter3-(聚类分析)聚类简介
- R对term进行层次聚类完整实例(tm包)
- 【机器学习】聚类算法:层次聚类
- 机器学习算法复习--层次聚类
- R语言之系统聚类(层次)分析之图谱形式完整版
- 层次聚类 Hierarchical Clustering
- kmeans 文本聚类方法简介