聚类算法评价PPT推荐.ppt
《聚类算法评价PPT推荐.ppt》由会员分享,可在线阅读,更多相关《聚类算法评价PPT推荐.ppt(102页珍藏版)》请在冰豆网上搜索。
![聚类算法评价PPT推荐.ppt](https://file1.bdocx.com/fileroot1/2022-10/5/b1419238-e6d2-48c5-a660-fc1c57dfdcd7/b1419238-e6d2-48c5-a660-fc1c57dfdcd71.gif)
,4.1.2数据挖掘对聚类算法的要求聚类是一个富有挑战性的研究领域,数据挖掘对聚类的典型要求如下:
(1)可伸缩性(Scalability)
(2)处理不同类型属性的能力(3)发现任意形状的聚类(4)用于决定输入参数的领域知识最小化(5)对于输入记录顺序不敏感(6)高维性(7)处理噪音和异常数据的能力(8)基于约束的聚类(9)可解释性,4.1.3典型聚类方法简介,划分方法(partitioningmethods)基于质心(K-means)、中心的划分方法层次的方法(hierarchicalmethods)BIRCH、ROCK、CURE基于密度的方法DBSCAN、OPTICS基于图的方法Chameleon、SNN基于网格的方法(grid-basedmethods)STING、WaveCluster、CLIQUE基于模型的方法(model-basedmethods)EM、COBWEB、神经网络其他聚类方法谱聚类算法(spectralclustering)、蚁群聚类算法等,基于划分的聚类,原始数据点,基于划分的聚类结果,基于层次的聚类,传统的层次聚类,非传统的基于层次的聚类,非传统的树图,传统的基于层次的树图,4.2基于划分的聚类算法,给定一个n个对象或元组的数据库,一个划分方法构建数据的k个划分,每个划分表示一个聚类,并且k=n。
也就是说,它将数据划分为k个组,同时满足如下的要求:
(1)每个组至少包含一个对象;
(2)每个对象必须属于且只属于一个组。
划分式聚类算法需要预先指定簇数目或簇中心,通过反复迭代运算,逐步降低目标函数的误差值,当目标函数值收敛时,得到最终聚类结果。
这类方法分为基于质心的(Centroid-based)划分方法和基于中心的(Medoid-based)划分方法。
4.2.1基本k-means聚类算法,k-means聚类算法:
(1)从数据集D中任意选择k个对象作为初始簇中心;
(2)repeat(3)for数据集D中每个对象Pdo(4)计算对象P到k个簇中心的距离(5)将对象P指派到与其最近(距离最短)的簇;
(6)endfor(7)计算每个簇中对象的均值,做为新的簇的中心;
(8)untilk个簇的簇中心不再发生变化,K-means算法采用来表示一个簇,k-means聚类算法示例-1,例4.1对表4-1中二维数据,使用k-means算法将其划分为2个簇,假设初始簇中心选为P7(4,5),P10(5,5)。
表4-1k-means聚类过程示例数据集1解:
图4-2显示了对于给定的数据集k-means聚类算法的执行过程。
(1)根据题目,假设划分的两个簇分别为C1和C2,中心分别为(4,5)和(5,5),下面计算10个样本到这2个簇中心的距离,并将10个样本指派到与其最近的簇:
(2)第一轮迭代结果如下:
属于簇C1的样本有:
P7,P1,P2,P4,P5,P8属于簇C2的样本有:
P10,P3,P6,P9重新计算新的簇的中心,有:
C1的中心为(3.5,5.167),C2的中心为(6.75,4.25),k-means聚类算法示例-2,(3)继续计算10个样本到新的簇的中心的距离,重新分配到新的簇中,第二轮迭代结果如下:
P1,P2,P4,P5,P7,P10属于簇C2的样本有:
P3,P6,P8,P9重新计算新的簇的中心,有:
C1的中心为(3.67,5.83),C2的中心为(6.5,3.25)(4)继续计算10个样本到新的簇的中心的距离,重新分配到新的簇中,发现簇中心不再发生变化,算法终止。
图4-2k-means算法聚类过程示例,k-means算法描述容易、实现简单、快速,但存在不足:
(1)簇的个数难以确定;
(2)聚类结果对初始值的选择较敏感;
(3)这类算法采用爬山式技术寻找最优解,容易陷入局部最优值;
(4)对噪音和异常数据敏感;
(5)不能用于发现非凸形状的簇,或具有各种不同大小的簇。
(a)大小不同的簇(b)形状不同的簇图4.3基于质心的划分方法不能识别的数据,4.2.2二分k-means算法,二分K-means算法是基本k-means算法的直接扩充,基于如下想法:
为了得到k个簇,将所有点的集合分裂成两个簇,从中选择一个继续分裂,如此重复直到产生k个簇。
算法详细描述如下:
初始化簇表,使之包含由所有的点组成的簇。
Repeat从簇表中选取一个簇。
对选定的簇进行多次二分“试验”Fori=1to试验次数do使用基于基本k-means,二分选定的簇Endfor从二分试验中选择具有最小总SSE的两个簇。
将这两个簇添加到簇表中Until簇表中包含k个簇,4.2.3k-means聚类算法的拓展-1,对于聚类分析而言,聚类表示和数据对象之间相似度的定义是最基础的问题,直接影响数据聚类的效果。
这里介绍一种简单的聚类表示方法,并对Minkowski距离进行推广以使聚类算法可以有效处理含分类属性的数据。
假设数据集D有m个属性,其中有mC个分类属性和mN个数值属性,m=mC+mN,用Di表示第i个属性取值的集合。
定义4-1给定簇C,a在C中关于Di的频度定义为C在Di上的投影中包含a的次数:
定义4-2给定簇C,C的摘要信息CSI(ClusterSummaryInformation)定义为:
,其中为C的大小,由分类属性中不同取值的频度信息和数值型属性的质心两部分构成,即:
4.2.3k-means聚类算法的拓展-2,定义4-3给定D的簇C、和,对象与,x0。
(1)对象p,q在属性i上的差异程度(或距离)定义为:
对于分类属性或二值属性,;
对于连续数值属性或顺序属性,;
(2)两个对象p,q间的差异程度(或距离)定义为:
;
4.2.3k-means聚类算法的拓展-3,(3)对象p与簇C间的距离定义为p与簇C的摘要之间的距离:
。
这里为p与C在属性上的距离,对于分类属性其值定义为p与C中每个对象在属性上的距离的算术平均值,即;
对于数值属性其值定义为。
(4)簇C1与C2间的距离定义为两个簇的摘要间的距离:
4.2.3k-means聚类算法的拓展-4,这里为与在属性上的距离,对于分类属性其值定义为中每个对象与中每个对象的差异的平均值:
在定义4-3的
(2)中,当x=1时,相当于曼哈顿(Manhattan)距离,当x=2时,相当于欧式(Euclidean)距离。
4.2.3k-means聚类算法的拓展-5,距离计算示例,例4-2假设描述学生的信息包含属性:
性别,籍贯,年龄。
有两条记录p,q及两个簇C1,C2的信息如下,分别求出记录和簇彼此之间的距离:
p=男,广州,18,q=女,深圳,20C1=男:
25,女:
5;
广州:
20,深圳:
6,韶关:
4;
19C2=男:
3,女:
12;
汕头:
12,深圳:
1,湛江:
2;
24按定义4-3,取x=1得到的各距离如下:
d(p,q)=1+1+(20-18)=4d(p,C1)=(1-25/30)+(1-20/30)+(19-18)=1.5d(p,C2)=(1-3/15)+(1-0/15)+(24-18)=7.8d(q,C1)=(1-5/30)+(1-6/30)+(20-19)=79/30d(q,C2)=(1-12/15)+(1-1/15)+(24-20)=77/15d(C1,C2)=1-(25*3+5*12)/(30*15)+1-6*1/(30*15)+(24-19)=1003/1506.69,4.2.3k-means聚类算法的拓展k-summary,k-summary算法由几个主要步骤完成:
(1)从数据集D中任意选择k个对象,并创建k个簇的摘要信息CSI;
(6)endfor(7)更新簇的摘要信息CSI;
(8)untilk个簇的摘要信息不再发生变化,k-summary算法示例-1,例4-3对于表4-2所示的数据集,请使用k-summary算法将其划分为3个簇。
表4-2聚类过程示例数据集2,k-summary算法示例-2,解:
(1)假定选择第5条记录rainy,68,80,FALSE,第7条记录overcast,64,65,TRUE和第10条记录rainy,75,80,FALSE作为三个簇C1、C2和C3的初始中心(摘要)。
(2)划分对象到最近的簇,各记录与三个簇之间的距离(使用欧几里得距离)如下表:
k-summary算法示例-3,第一次划分后三个簇的摘要信息更新为:
簇C1:
rainy:
3;
69.667;
89.000;
FALSE:
2,TRUE:
1;
簇C2:
overcast:
1,rainy:
1,sunny:
66.0;
68.333;
1,TRUE:
2;
簇C3:
3,rainy:
4;
77.875;
83.875;
5,TRUE:
3(3)重新划分对象到最近的簇,第二次迭代结果:
k-summary算法示例-4,第二次划分后三个簇的摘要信息更新为簇C1:
1,rain:
3,sunny:
70.6;
90.4;
3,TRUE:
68.25;
68.75;
2,rainy:
80.8;
83.2;
4,TRUE:
1(4)重新划分对象到最近的簇,第三次迭代结果:
k-summary算法示例-5,第三次划分后三个簇的摘要信息更新为簇C1:
1(5)经过三轮划分后,三个簇的摘要不再发生改变,聚类结束。
簇C1包含的记录集合为1,2,3,10,13,摘要信息为C1:
簇C2包含的记录集合