层次聚类算法_数据挖掘入门笔记——层次聚类 ( 浮光掠影)

7ba8dc79551186f0f671209b5c207a6e.png

写在前面:健忘星人自学笔记,仅供参考

简单易懂的阅读资料

层次聚类-概念全解 - 万勇's Blog - CSDN博客​blog.csdn.net
0ea1a31259c75cfa62b9620dc91043a6.png

前面的文章我们分别介绍了 K-means , 密度聚类,谱聚类,其中谱聚类的难度比较大,要求有一定的矩阵学习基础,今天不妨轻松一下,学习一个较为简单的“层次聚类”。

正文:

一、层次聚类基本原理

层次的聚类方法(Hierarchical Clustering),从字面上理解,其是层次化的聚类,最终得出来的是树形结构。专业一点来说,层次聚类通过 计算不同类别数据点间的相似度 来创建一棵有层次的嵌套聚类树。

层次聚类的好处是不需要指定具体类别数目的,其得到的是一颗树,聚类完成之后,可在任意层次横切一刀,得到指定数目的簇。

4ea307c18176dc200846cc436e5b7c46.png
聚类数示例

按照 层次分解是自下而上,还是自顶向下,层次的聚类方法可以进一步分为以下两种:

自下而上的 凝聚方法(agglomerative:先将所有样本的每个点都看成一个簇,然后找出距离最小的两个簇进行合并,不断重复到预期簇或者其他终止条件), 凝聚方法的代表算法:AGNES,Agglomerative Nesting
自顶向下的 分裂方法(divisive:先将所有样本当作一整个簇,然后找出簇中距离最远的两个簇进行分裂,不断重复到预期簇或者其他终止条件)。 分裂方法的代表算法:DIANA,Divisive Analysis

67374b095c2bbee79abd86c12e7c3dbd.png

AGNES 算法步骤:

(1) 初始化,每个样本当做一个簇

(2) 计算任意两簇距离,找出 距离最近的两个簇,合并这两簇

(3) 重复步骤 2……

直到,最远两簇距离超过阈值,或者簇的个数达到指定值,终止算法

DIANA 算法步骤:

(1) 初始化,所有样本集中归为一个簇

(2) 在同一个簇中,计算任意两个样本之间的距离,找到 距离最远 的两个样本点a,b,将 a,b 作为两个簇的中心;

(3) 计算原来簇中剩余样本点距离 a,b 的距离,距离哪个中心近,分配到哪个簇中

(4) 重复步骤2、3 ……

直到,最远两簇距离不足阈值,或者簇的个数达到指定值,终止算法

二、距离度量

在上面说的 AGNES 提到了 合并距离最近的两簇,这里的距离是如何度量的呢?

簇间距离的计算方法有许多,包括:

最小距离,最大距离,均值距离,(类)平均距离,中间距离,重心距离

(1)最小距离,取两个类中距离最近的两个样本的距离作为这两个簇的距离

(2)最大距离,取两个类中距离最远的两个样本的距离作为这两个簇的距离

b158f5572a6b22e0618b0e46062bfc04.png

补充:

当算法选择“最小距离”作为簇间距离时,有时称之为 最近邻聚类算法。并且,当最近两个簇之间的距离超过阈值时,算法终止,则称其为单连接算法

当算法选择“最大距离”作为簇间距离时,有时称之为 最远邻聚类算法。并且,当最近两个簇之间的最大距离超过阈值时,算法终止,则称其为全连接算法

(3)均值距离,两个簇的平均值作为中心点,取这两个均值之间的距离作为两个簇的距离

45137569ab51f0ede721efd0aa687438.png

(4)(类)平均距离两个簇任意两点距离加总后,取平均值 作为两个簇的距离

8339bc513fa7e8c8c9ab8413bf89a7e2.png

9a7edfd7c64b7cc0ce2d33774209f40e.png

(5)中间距离,介于最短距离和最长距离之间,相当于初等几何中三角形的中线

假设 p 点 是最长距离点,q 点是最短距离点,则中间距离为:

f519116d2d9951e7ff78a77c658048c2.png

5d2d4375c0808759ea9fa370249f1d65.png

(6)重心距离,将每类中包含的样本数考虑进去。

若 I 类中有 n I 个样本, J 类中有 n J 个样本

0f7304f1c3b9bc1efffefe9a63b9e34e.png

40cbb8d7b38bfd906763113a8f06f8b6.png

还有其他距离计算方法,这里省略

有兴趣继续了解的可参考:

[图文]层次聚类分析 - 百度文库​wenku.baidu.com

距离度量的选择

(1)最小和最大度量代表了簇间距离度量的两个极端。它们趋向对离群点或噪声数据过分敏感。
(2)使用均值距离和平均距离是对最小和最大距离之间的一种折中方法,而且可以克服离群点敏感性问题。
(3)尽管均值距离计算简单,但是平均距离也有它的优势,因为它既能处理数值数据又能处理分类数据。

三、优缺点

优点:

(1)距离和规则的相似度容易定义,限制少;
(2)不需要预先制定聚类数;
(3)可以发现类的层次关系;
(4)可以聚类成其它形状

缺点:

(1)计算复杂度太高;
(2)奇异值也能产生很大影响;
(3)算法很可能聚类成链状

层次聚类的改进:

一个有希望的方向是集成层次聚类和其他的聚类技术,形成多阶段聚类。

BIRCH:首先用树结构对对象进行层次划分,其中叶节点或者是低层次的非叶节点可以看作是由分辨率决定的“微簇”,然后使用其他的聚类算法对这些微簇进行宏聚类。
ROCK:基于簇间的互联性进行合并。
CURE:选择基于质心和基于代表对象方法之间的中间策略。
Chameleon:探查层次聚类的动态建模。

上面四种衍生算法的参考资料:

[图文]聚类算法 - 层次方法 - 百度文库​wenku.baidu.com

预计在后面文章中详细介绍。

今天的内容就到这里,总体而言,层次聚类还是比较简单的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值