KMeans和EM算法聚类实验分析.docx
- 文档编号:12087587
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:13
- 大小:441.23KB
KMeans和EM算法聚类实验分析.docx
《KMeans和EM算法聚类实验分析.docx》由会员分享,可在线阅读,更多相关《KMeans和EM算法聚类实验分析.docx(13页珍藏版)》请在冰豆网上搜索。
KMeans和EM算法聚类实验分析
K-Means与EM算法聚类实验分析
章舜仲204060198
1.概述
K-Means是一种常用聚类算法,EM算法是进行极大似然估计的一种有效方法,本文对这两种方法的聚类应用进行了实验比较分析,实验环境为P
2.8G/1G,Windowsxp+Delphi6.0。
实验数据为n个数值组成的点集,分配到k个类别中,本文实验中EM聚类算法基于样本数据的混合高斯分布假设,假设概率模型为
,其中
,实验采用简化处理,
取为常数1/K忽略,
取值为1,EM与K-Means算法具体步骤略。
2.数据集生成
实验在三个数据集上进行,每个数据集包括6000个随机数值,数值生成方法描述如下。
2.1高斯分布随机数
高斯分布随机数的产生使用Marsaglia-Bray算法,函数RandG输入参数为均值
和标准差
,返回服从高斯分布的随机数。
(1)产生两个(0,1)上均匀分布的随机数U1和U2
(2)令V1=2*U1-1,V2=2*U2-1
(3)计算S=V1*V1+V2*V2
(4)若S>=1,返回步骤
(1)
(5)返回值Result=
实验中分别以N(100,5)和N(150,20)各生成3000个数字,数值频率分布如图1所示。
2.2一维布朗运动轨迹
令初始数字为d,对d以0.5的概率加1或减1操作,每次得到一个数字,作n次操作即可得到n个数字,相当于一维布朗运动的轨迹。
实验中分别以100和200作为起始点作3000次操作,得到数据如图2所示。
2.3均匀分布随机数
使用随机函数产生(100,200)区间上的随机数,如图3所示。
观察以上三个数据集,高斯分布数据集a由两个标准的高斯分布类构成,数据类别特征良好,属于比较理想的情况。
布朗运动数据集b可分为两个大类,但多处形成局部小类,这和实际情形比较相似,如学科领域交叉形成的边缘学科,大学科中的小学科等,属于比较复杂的情形。
数据集c为均匀分布,使用此数据集主要用于观察算法在临界情形下的性能。
3.实验分析
3.1聚类正确性和稳定性
(1)K=2
图4中,处于同一水平直线上的十字表示属于同一类的数据,在K=2情形下,K-means和EM算法均得到稳定的聚类结果,其中在数据集a和b上的聚类符合实际情形,而在均匀分布数据集c上聚类的结果等于平均分割数据集。
(2)K=3
K=3时的聚类结果如图5所示,在数据集a和c中,两个算法均取得较好的稳定性,其中在均匀分布数据集c上的聚类结果依然是等分数据集(增大k后依然有此结论,下面不再给出c的实验结果显示)。
而在数据集b出现a1和a2两种聚类结果,通过多次反复实验,a1和a2在k-means和EM算法下均以近似0.5的概率出现,聚类结果出现随机性,在这里K-Means和EM算法具有相同的不稳定性。
不稳定的原因在于两个大类交叉处形成的一个局部子类具有不确定的类别特征。
解决此种类交叉形成的不确定类可有以下两个方法。
采用分层次聚类的方法,通过实验得到稳定聚类结果的K值后,划分数据集,数据样本归到各类中,然后在每个类的数据集中进行聚类。
所有不确定样本组成不确定数据集,然后在不确定数据集中进行聚类得到确定类,依此类推直至所有样本均归属到确定类别。
(3)K=4
图6(a1)数据集a上聚类结果1
据
图6(a2)数据集a上聚类结果2
据
如图6所示,K=4的情形下,数据集a上有a1、a2两种情形,数据集b上有b1、b2、b3三种情形,同时实验发现K-Means算法和EM算法对于这几种情形的产生有了差别。
设P(a1|K-Means)表示K-Means算法时出现a1情形的概率,P(a1|EM)为EM算法时出现a1的概率,通过反复试验可得到如下结果。
在数据集a上,P(a1|K-Means)≈0.5,P(a2|K-Means)≈0.5,P(a1|EM)≈0,P(a2|EM)≈1,即EM算法得到稳定的结果,而K-Means算法稳定性较差。
在数据集b上,P(b1|K-Means)≈1/3,P(b2|K-Means)≈1/3,P(b3|K-Means)≈1/3,P(b1|EM)≈0,P(b2|EM)≈0.5,P(b3|EM)≈0.5,相对来说EM算法仍然比K-Means算法稳定性好。
以上数据显示EM算法不会产生a1和b1情形,观察图6中a1和b1可以发现这两种情形属于最糟糕的情形,其共同点是将图中的数值频率最高峰一分为二,图中的高峰表示样本密度最大的区域,也是类别特征最清晰的样本,应该属于同一类。
而b2和b3的不确定形成原因是由于两个类交叉处有一个子类,和图5的b1、b2的情形相同,是由于样本类别特征模糊造成的。
因此EM算法相比K-Means算法聚类的正确性的和稳定性更好。
3.2时间复杂度
实验给定了EM算法和K-Means算法收敛的相同判定条件,K-Means算法为连续5次迭代类中心不变(不变指当前中心值和原来的中心值差小于0.01),EM算法同样为连续5次迭代高斯分布中心不变,以下实验数据比较了K-means和EM算法从开始到收敛的时间消耗。
(1)K=2
表1K=2算法收敛时间消耗
毫秒
实验次数
数据集a
数据集b
数据c
K-Means
EM
K-Means
EM
K-Means
EM
1
15
47
16
32
32
63
2
16
32
16
31
15
32
3
15
16
0
31
16
32
4
0
16
0
31
0
31
5
0
31
15
31
15
31
6
0
32
16
31
0
31
7
15
31
15
31
15
31
8
0
32
16
31
16
47
9
0
31
0
16
16
46
10
16
47
16
31
15
32
平均
7.7
31.5
11
29.6
14
37.6
总平均
10.9
32.9
时间耗费比值
3.0
(2)K=3
表2K=3算法收敛时间消耗
毫秒
实验次数
数据集a
数据集b
数据c
K-Means
EM
K-Means
EM
K-Means
EM
1
16
63
16
62
31
78
2
16
31
15
62
16
47
3
16
62
16
62
15
62
4
15
62
0
63
16
47
5
16
47
15
78
15
47
6
0
46
0
78
15
62
7
15
47
15
78
16
62
8
16
62
16
79
16
47
9
16
63
15
63
0
63
10
16
63
0
62
16
62
平均
14.2
54.6
10.8
68.7
15.6
57.7
总平均
13.53
60.33
时间耗费比值
4.5
(3)K=4
表3K=4算法收敛时间消耗
毫秒
实验次数
数据集a
数据集b
数据c
K-Means
EM
K-Means
EM
K-Means
EM
1
31
125
31
109
46
141
2
16
187
15
62
16
125
3
16
63
16
63
32
125
4
16
188
16
62
16
141
5
15
62
16
62
32
125
6
16
63
31
79
32
62
7
16
172
15
78
16
63
8
16
157
15
62
16
156
9
16
172
16
63
15
63
10
31
63
16
78
16
93
平均
18.9
125.2
18.7
71.8
23.7
109.4
总平均
20.43
102.13
时间耗费比值
5.0
(4)K=5
表4K=5算法收敛时间消耗
毫秒
实验次数
数据集a
数据集b
数据c
K-Means
EM
K-Means
EM
K-Means
EM
1
31
140
31
109
31
156
2
16
125
16
125
31
172
3
16
140
16
125
15
203
4
31
187
31
109
15
156
5
31
94
16
156
16
93
6
16
110
16
78
32
94
7
16
110
16
110
16
188
8
32
79
16
94
16
141
9
16
125
15
93
31
157
10
15
94
16
94
15
62
平均
22
120.4
18.9
109.3
21.8
142.2
总平均
20.9
123.97
时间耗费比值
6.0
(5)K=6
表5K=5算法收敛时间消耗
毫秒
实验次数
数据集a
数据集b
数据c
K-Means
EM
K-Means
EM
K-Means
EM
1
32
360
31
109
47
359
2
31
312
15
312
31
390
3
16
296
31
297
16
204
4
16
109
15
343
31
297
5
16
188
31
218
16
312
6
32
219
15
328
16
172
7
32
203
31
281
15
94
8
16
312
16
94
31
203
9
32
187
31
188
15
359
10
32
140
16
359
16
296
平均
25.5
232.6
23.2
252.9
23.4
268.6
总平均
24.03
251.37
时间耗费比值
10.5
从表1至表5中可以看出EM算法的时间复杂度大大高于K-Means算法,且随着K值的增加,EM算法和K-Means算未能的时间消耗的比值呈明显上升趋势。
考虑到本文已经简化EM算法,并且只在一维数据集进行的实验,因此EM算法对于比较耗时的应用如大规模数据或高维数据的处理并不适用。
实验中还发现在使用EM算法计算概率密度时,由于数值过小使得浮点运算溢出而导致结果为0,为此实验采用的办法是将8字节的double类型改成了10字节的长双精度型,在本文实验中可以满足要求,但是由于概率密度趋向于无穷小,在某些应用中仍然可能产生溢出,因此需要采用其它方法进行处理,而这也将导致EM算法的时间复杂度进一步提高。
3.结论
本文通过对EM算法和K-means算法在一维数据集上的聚类实验可知,EM算法作为一种有着坚实的数学基础的算法,其应用十分广泛,具有良好的稳定性,在聚类应用的准确性和稳定性明显好于K-means算法,但由于其时间复杂度的限制不适用于大规模数据集或高维数据集的应用,在参数优化应用很好的适用性。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- KMeans EM 算法 实验 分析