第4章 层次聚类法(二)
(3) 将最小距离 2 对应的两类合并为一类,距 离矩阵 D(2) D(2) G12 (2) G3 (2) G45 (2) G12 (2) 0 G3 (2) 2* 0 G45 (2) 0 13 10
(4) 将最小距离 2 对应的两类合并为一类,距 离矩阵 D(3) D(3) G123 (3) G45 (3) G123 (3) 0 G45 (3) 0 10 给 定 的 阈 值 T=3 , D(3) 中 的 最 小 元 素 10 T ,聚类结束,结果为 S1 { X1 , X 2 , X 3}, S2 { X 4 , X 5 }.
DHK
nJ nI 2 2 DHI DHJ nI nJ nI nJ
类间距离的定义方法不同,会使分类结果不太一致.实际
问题中常用几种不同的方法进行计算,比较其分类结果, 从而选择一个比较切合实际的分类.
上述五中类间距离的定义方法,可以采取统一的递推公 式.
例题
设有 5 个二维模式样本:
G12 (1) { X 1 , X 2 }, G3 (1) { X 3}, G4 (1) { X 4 }, G5 (1) { X 5 }
按最小距离准则计算类间距离,由 D(0)递推 得到聚类后的距离矩阵 D(1) D(1) G12 (1) G3 (0) G4 (0) G5 (0) G12 (1) 0 G3 (0) 2 0 G4 (0) 0 13 10 G5 (0) 2* 0 25 20
计算各类间欧式距离
D12 (0) || X 1 X 2 || 1, D13 (0) 2 , D14 (0) 18 , D15 (0) 32 ;
D23 (0) 5 , D24 (0) 13 , D25 (0) 25 ;
D34 (0) 10 , D35 (0) 20 ; D45 (0) 2
思考
如何计算合并后的聚类与其它没有合并
的模式类之间的距离,或者合并后的聚类
间的距离?
类间距离的定义
(1) 最短距离法:
如果 H、K 是两个聚类,则两类间的最短距离定义为
DHK min{D( X H , X K )} X H H , X K K
其中 D( X H , X K ) 表示 H 类中的样本 X H 和 K 类中的样本 X K 之间 的欧氏距离;DHK 表示 H 类中的所有样本与 K 类中的所有 样本之间的最小距离。 如果 K 类由 I 和 J 两类合并而成,则
如果 H、K 是两个聚类,则两类间的距离定义为
DHK 1 nH nK
iH jK
d
2 ij
2 d ij 表示 H 类中的任一样本 X i 和 K 类中的任一样本 X j 之 其中
间的欧氏距离平方; nH 和 nK 分别表示 H 类和 K 类的样本数目. 如果 K 类是由 I 类和 J 类合并而成,则可以得到 H 类和 K 类 之间距离的递推式
若没有阈值要求,会写出层次聚类法的树状表示。
DHI min{D( X H , X I )} X H H , X I I DHJ min{D( X H , X J )} X H H , X J J
得递推公式
DHK min{DHI , DHJ }
(2)最长距离法
与最短距离法类似,H、K 是两个聚类,则两类 间的最短距离定义为
G1 (n 1), G2 (n 1),L .
(3) 计算合并后新类别之间的距离,得到距离矩阵 D(n 1) 。 (4) 转制步骤(2),重复计算与合并。
结束条件:
设定一个距离阈值 T , D(n) 的最小分量超过给定值 T 时, 当 算法停止。这就意味着,所有的类间距离均大于要求的 T 值,各类已经足够分开了,这时所得到的分类即为聚类结 果。或者不设阈值 T ,一直到将全部样本聚为一类为止, 输出聚类的分级树。
G1 (0), G2 (0),L , GN (0) 。计算各类之间(各样本间)的距离,得
到一个 N N 维的距离矩阵 D(0) 。标号(0)表示聚类开始 运算前的状态。 (2) 如在前一步聚类运算中,已求得聚类矩阵 D(n) ( n 为逐 次聚类合并的次数) ,则找出 D(n) 中的最小元素,将其对 应的两类合并为一类。由此建立新的分类:
得递推公式
DHK max{DHI , DHJ }
(3)中间距离法
中间距离法介于最长与最短的距离之间。 如 果 K 类是由 HK 1 2 1 2 1 2 DHI DHJ DIJ 2 2 4
(4)重心法
重心法类间距离中考虑每一类中所包含的样本数目, 如 果 I 类中有 nI 个样本,J 类中有 nJ 个样本,则 I 和 J 合
DHK max{D( X H , X K )} X H H , X K K
如果 K 类由 I 和 J 两类合并而成,则
DHI max{D( X H , X I )} X H H , X I I
DHJ max{D( X H , X J )} X H H , X J J
得距离矩阵 D(0)
D(0) G1 (0) G2 (0) G3 (0) G4 (0) G5 (0) G1 (0) 0 G2 (0) 1 * 0 G3 (0) 2 0 5 G4 (0) 0 18 13 10 G5 (0) 0 32 25 20 2
(2) 将最小距离 1 对应的两类合并为一类,得到 新的分类
层次聚类法
2011年6月4
层次聚类法也称系统聚类法或分级聚类法,是工作 中采用最多的方法之一.
该方法将距离阈值作为决定聚类数目的标准.
基本思路是每个样本先自成一类,然后按距离准则 逐步合并,减少聚类数,直到达到分类的要求为止.
算法描述
(1) N 个 初 始 模 式 样 本 自 成 一 类 , 即 建 立 N 类
nI nJ nI nJ 个样本。用 并后共有 nI nJ 和 nI nJ 代替中间距离
法的系数, 即可得到重心法的类与类之间的距离递推式
nJ nI nJ nI 2 2 2 DHK DHI DHJ DIJ nI nJ nI nJ (nI nJ )2
(5)类平均距离
X 1 [0,0] , X 2 [0,1] , X 3 [2,0] ,
X 4 [3,3] , X 5 [4, 4]
定义类间距离为最短距离,阈值 T=3,利用 层次聚类法对这 5 个样本进行分类。
解:(1) 将每一样本看作单独一类
G1 (0) { X 1}, G2 (0) { X 2 }, G3 (0) { X 3}, G4 (0) { X 4 }, G5 (0) { X 5}