模式识别导论(六).ppt

Download Report

Transcript 模式识别导论(六).ppt

第六章 聚类分析
• §6-1 分类与聚类的区别
– 分类:用已知类别的样本训练集来设计分类
器(监督学习)
– 聚类(集群):用事先不知样本的类别,而
利用样本的先验知识来构造分类器(无监督
学习)
§6-2 系统聚类
• 系统聚类:先把每个样本作为一类,然
后根据它们间的相似性和相邻性聚合。
• 相似性、相邻性一般用距离表示
• (1)两类间的距离
– 1、最短距离:两类中相距最近的两样品间
的距离。
D pq  min d ij
xi  p
x j q
• 2、最长距离 :两类中相距最远的两个样本间
的距离。
D pq  max d ij
xi  p
x j q
• 3、中间距离:最短距离和最长距离都有
片面性,因此有时用中间距离。设ω1类和ω23
类间的最短距离为d12,最长距离为d13,ω 23类的
长度为d23,则中间距离为:
d 23
1 2 1
1 2
2
2
d 0  d12  d13  d 23
2
2
4
d0
d
12
•上式推广为一般情况:
d13
1
3
1 2 1
2
d  d12  d13   d 23
2
2
1
其中 为参数,-    0
4
2
0
• 4、重心距离:均值间的距离
• 5、类平均距离:两类中各个元素两两之间的
距离平方相加后取平均值
2
D pq
1

N p Nq
 d
xi 
2
ij
p
x j  q
其中 : N p :  p 样本数, N q :  q 样本数
d ij为 p 类点i与 q 类点j之间的距离
• 6、 离差平方和:
– 设N个样品原分q类,则定义第i类的离差平
方和为: N i
S i   ( xij  x i ) ( xij  x i )
q 
T
j 1
其中x i为样品xij的均值,
N i为第i类的样本数.
– 离差平方和增量:设样本已分成ωp,ωq两类,
若把ωp,ωq合为ωr类,则定义离差平方:
2
D pq
 Sr  (S p  Sq )
其中S p , S q 分别为 p 类于 q 类的离差平方和,
S r为 r 类的离差平方和
增量愈小,合并愈合理。
• (2)系统聚类的算法(略)
• 例:如下图所示
G3 G1
G2
G5
• 1、设全部样本分为6类,
• 2、作距离矩阵D(0)
G4 G6
x
ω1
ω2
ω3
ω4
ω2
9
ω3
1
16
ω4
49
16
64
ω5
25
4
36
4
ω6
64
25
81
1
ω5
9
d31  d 64  1
• 3、求最小元素:
• 4、把ω1,ω3合并ω7=(1,3)
• ω4,ω6合并ω8=(4,6)
• 5、作距离矩阵D(1)
ω7
ω2
ω2
9
ω8
49
16
ω5
25
4
ω8
4
• 6、若合并的类数没有达到要求,转3。
否则停止。
• 3、求最小元素:
d52  d58  4
• 4、ω8,ω5,ω2合并, ω9=(2,5,4,6)
1
2
3
4
5
6
7
9
10
枝状图
8
§6-2 分解聚类
• 分解聚类:把全部样本作为一类,然后
根据相似性、相邻性分解。
• 目标函数 两类均值方差
T
N1 N 2
E
(
x

x
)
(
x

x
)
1
2
1
2
N
N:总样本数,N1 :ω1类样本数
N 2:ω2类样本数,x1 , x 2 : 两类均值
分解聚类框图:
初始分类
调整分类方案
N
目标函数
达到最优先?
Y
最终结果
• 对分算法:略
例:已知21个样本,每个样本取二个特征,原
始资料矩阵如下表:
样本号 1
x1
0
x2
6
2
0
5
3
2
5
4 5
2 4
3 4
6
4
3
7
5
1
8
6
2
9
6
1
10
7
0
11 12 13 14 15 16 17 18 19 20 21
-4 -2 -3 -3 -5 1
0
3
-1 -2 -1 -3 -5
2
2
0
2
1
0
-1 -1 -3
解:第一次分类时计算所有样本,分别划到G
时的E值,找出最大的。
1、开始时,G1(0)  ( x1 , x2 ,..., x21 ) G(20)  空
∴
(0)
x
1
0.714
(
)
1.333
∴目标函数
(0)
0
x 2  ( ) N1
0
(0)
 21, N 2  0
(0)
N1 N 2
E
( x1  x 2 )T ( x1  x 2 )  0
N
2
2、分别计算当 x1 , x2 ,..., x21划入 G 时的E值
把 x1划入G 时有
2
2
(0)
(1)
x
1

(0)
x
1

x
1
 x1
N1( 0 )  1
0 
 0.714
(
)  ( )

0.714
0.75
1.333
6 

(
)
(
),
1.333
1.10
( 21  1)
0
(1)
x 2  ( 6)
E 


20  1
0.75 2  (1.10  6) 2  23.40
21
•
然后再把 x2 , x3 ,..., x21划入G 时对应的E
值,找出一个最大的E值。
把 x21划为 G 的E值最大。
2
2
∴
G
(1)
1
 ( x1 , x2 ,..., x20 ),
G
(1)
2
 ( x21 )
3
(1)
(1)
x1  (
), x2  ( ), N1  20, N 2  1
5
1.65
0 .9
E(1)=56.6
再继续进行第二,第三次迭代…
计算出 E(2) , E(3) , …
次数
1
2
3
4
5
6
7
8
9
10
11
G
1
x
x
x
x
x
x
x
x
x
x
x
21
20
18
14
15
19
11
13
12
17
16
G
2
E值
56.6
79.16
90.90
102.61
120.11
137.15
154.10
176.15
195.26
213.07
212.01
•
第10次迭代 x17划入 G 2 时,E最大。于是分成
以下两类:
• ∴ G1  ( x1 , x2 ,..., x10 , x16 )
G2  ( x11 , x12 , x13 , x14, x15 , x17 , x18 , x19 , x20 , x21 )
•每次分类后要重新计算 x1 , x2的值。可用以下递推
公式: ( k 1)
(k )
(k )
(k )
 x1
x1
( k 1)
2
x
x1
(k )
 x2
 ( x1
(k )
 ( x2
(k )
 xi ) /( N1
 1)
 xi ) /( N
 1)
(k )
2
(k )
, x2 是第k步对分时两类均值,
x1( k 1) , x2( k 1)是下一次对分时把xi从G1( k )
划到G2( k )时的两类均值 
N1( k ) , N 2( k )为二类样品数
6
5
X2
x1
x3
x2
x5
4
x11
x15
x12
x13
x4
3
2
1
3  2
1
x19  1
x17
2
x18
x20  3
4
5
x21
1 2
6
x8
x9
x7
x16
x14
6 5  4
x6
3
4
5
x10
6
X1
作业:
样本 1 2 3 4 5 6 7 8
x1 0 2 1 5 6 5 6 7
x2 0 2 1 3 3 4 4 5
用对分法编程上机,分成两类画出图形。
§6-3 动态聚类——兼顾系统
聚类和分解聚类
一、动态聚类的方法概要
① 先选定某种距离作为样本间的相似性
的度量;
② 确定评价聚类结果的准则函数;
③ 给出某种初始分类,用迭代法找出使
准则函数取极值的最好的聚类结果。
动态聚类框图
Y
选代表点
初始分类
分类合理否
N
修改分类
最终分类
二、代表点的选取方法:代表点就是初始分类
的聚类中心数k
① 凭经验选代表点,根据问题的性质、数据分布,
从直观上看来较合理的代表点k;
②将全部样本随机分成k类,计算每类重心,把这些
重心作为每类的代表点;
③ 按密度大小选代表点:
以每个样本作为球心,以d为半径做球形;落在球内
的样本数称为该点的密度,并按密度大小排序。首先选
密度最大的作为第一个代表点,即第一个聚类中心。再
考虑第二大密度点,若第二大密度点距第一代表点的距
离大于d1(人为规定的正数)则把第二大密度点作为第
二代表点,,否则不能作为代表点,这样按密度大小考
察下去,所选代表点间的距离都大于d1。d1太小,代表点
太多,d1太大,代表点太小,一般选d1=2d。对代表点内
的密度一般要求大于T。T>0为规定的一个正数。
④ 用前k个样本点作为代表点。
• 三、初始分类和调整
① 选一批代表点后,代表点就是聚类中心,计算其它样本
到聚类中心的距离,把所有样本归于最近的聚类中心点,形成
初始分类,再重新计算各聚类中心,称为成批处理法。
② 选一批代表点后,依次计算其它样本的归类,当计算完第
一个样本时,把它归于最近的一类,形成新的分类。再计算新
的聚类中心,再计算第二个样本到新的聚类中心的距离,对第
二个样本归类。即每个样本的归类都改变一次聚类中心。此法
称为逐个处理法。
③ 直接用样本进行初始分类,先规定距离d,把第一个样品作
为第一类的聚类中心,考察第二个样本,若第二个样本距第一
个聚类中心距离小于d,就把第二个样本归于第一类,否则第
二个样本就成为第二类的聚类中心,再考虑其它样本,根据样
本到聚类中心距离大于还是小于d,决定分裂还是合并。
④ 最佳初始分类。
如图所示,随着初始分类k的增大,准则函数下降很快,经
过拐点A后,下降速度减慢。拐点A就是最佳初始分类。
J
准则函数
下降快
拐点
A
下降慢
0 1 2 3 4 5 6 7
最佳初始分类
K
• 四、K次平均算法:成批处理法( 算法略)
例:已知有20个样本,每个样本有2个特征,数据分布如下
图 样本序号 x x x x x x x x x x
1
2
3
4
5
6
7
8
9
10
特征x1
0
1
0
1
2
1
2
3
6
7
特征x2
0
0
1
1
1
2
2
2
6
6
x11 x12 x13 x14 x15 x16 x17 x18 x19 x20
8 6 7 8 9 7 8 9 8 9
6
7
7
7
7
8
8
8
9
9
第一步:令K=2,选初始聚类中心为
Z1 (1)  x1  (0,0) ; Z 2 (1)  x2  (1,0)
T
T
X2
10
x19 x20
9
8
7
6
5
4
x3
3
2
1
0
x1
x16 x17 x18
x12 x13 x14 x15
x9
x10 x11
x6 x7 x8
x4 5x
X1
1
2
x2
3 4
5
6 7 8
9 10
0
0
第二步:x1  Z1 (1) =( )-( )=0
0
0
0
1
x1  Z 2 (1) =( )-( )=1
0
0
因为 x1  Z1 (1)  x1  Z 2 (1)
所以x1  Z1 (1)
1
0
x2  Z1 (1) =( )-( )=1
0
0
1
1
x2  Z 2 (1)  ( )  ( )  0
0
0
因为 x2  Z1 (1)  x2  Z 2 (1) ,
所以x2  Z 2 (1)
同理
x3  Z1 (1) =1  x3  Z 2 (1)  2, x3  Z1 (1)
x4  Z1 (1) =2  x4  Z 2 (1)  1, x4  Z 2 (1)
同样把所有x5、x6、
...x20与第二个聚类中心的距
离计算出来,判断x5、x6、
...x20都属于Z 2 (1)
因此分为两类:
一、G1 (1)  ( x1 , x3 ),
二、G1 (1)  ( x2 , x4 , x5 ,...x20 )
N1  2, N 2  18
• 第三步:根据新分成的两类建立新的聚类中心
0
1
1 0
X  ( x1  x3 )  ( )  ( ) 

1
2
2 0
xG1 (1)
1 0
 ( )  (0,0.5)T
2 1
1
Z 1 ( 2) 
N1
1
Z 2 (2) 
N2
1
X 
( x2  x4  x5  ...  x20 )

18
xG2 (1)
 (5.67,5.33)T
• 第四步:
• ∵ Z J (2)  Z J (1), J  1,2(新旧聚类中心不等)
转第二步。
• 第二步:重新计算 x1 , x2 ,..., x20 到z1(2) , z2(2) 的距
离,把它们归为最近聚类中心,重新分为两类,
G1 (2)  ( x1 , x2 ,..., x8 ), N1  8
G2 (2)  ( x9 , x10 ,..., x20 ), N 2  12
• 第三步,更新聚类中心
1
1
Z1 (3) 
X  ( x1  x2  x3  ...  x8 )

N1 xG1 ( 2) 8
 (1.25,1.13)
1
1
Z 2 (3) 
X  ( x9  x10  ...  x20 )

N 2 xG2 ( 2) 12
T
 (7.67,7.33)T
• 第四步,因Z j (3)  Z j (2), j  1,2, 转第二步
重新计算x1 , x2 ,..., x20到Z1 (3), Z 2 (3)的距离,
• 第二步,
分别把x1 , x2 ,..., x20归于最近的那个聚类中心,
重新分为二类G1 ( 4)  ( x1 , x2 ,..., x8 )
G2 ( 4)  ( x9 , x10 ,..., x20 ), N1  8, N 2  12
• 第三步,更新聚类中心
Z1 (4)  Z1 (3)  (1.25,1.13)
T
Z 2 (4)  Z 2 (3)  (7.67,7.33)T
计算结束。