韩家炜数据挖掘第十章聚类课件详解_第1页
韩家炜数据挖掘第十章聚类课件详解_第2页
韩家炜数据挖掘第十章聚类课件详解_第3页
韩家炜数据挖掘第十章聚类课件详解_第4页
韩家炜数据挖掘第十章聚类课件详解_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十章聚类分析:基本概念和方法本章结构

10.1聚类分析

10.2划分方法10.3层次方法

10.4基于密度的方法

10.5基于网格的方法10.6聚类评估一、聚类分析*什么是聚类?聚类分析(clusteranalysis)简称聚类(cluster-ing)是把数据划分成子集的过程。每个子集是一个簇(cluster),使得簇中的对象彼此相似,但与其他簇中的对象很不相似。*分类与聚类分类称作监督学习,事先知道训练样本的标签,通过挖掘将属于不同类别标签的样本分开,可利用得到的分类模型,预测样本属于哪个类别。而聚类是一种无监督的学习,事先不知道样本的类别标签,通过对相关属性的分析,将具有类似属性的样本聚成一类。

一、聚类分析数据挖掘对聚类的典型要求:1.处理不同属性类型的能力

聚类的对象不只是数值,也有在二元的、标称的、

序数的等类型数据的应用。现在,很多应用需要

对诸如图、序列、图像这样的复杂数据类型进行

聚类的技术。2.聚类高维数据的能力高维度的数据往往比较稀松,而且高度倾斜,这

大大增加了聚类的难度。

3.基于约束的聚类找到既满足约束条件,又具有良好聚类特性的数

据分组。4.簇的分离性

有些方法把数据对象划分为互斥的簇。但在一些情况下一个数据可以属于多个簇。10.2划分方法给定n个数据对象的数据集D,以及要生成的簇数k,划分算法把数据对象组织成k(k≤n)个分区,每个分区代表一个簇。

传统的划分方法可能需要穷举所有可能的划分,计算量极大,所以大多应用都采用了启发式方法,如:K-均值和k-中心点算法。K-均值:一种基于形心的技术基于形心的技术使用簇Ci的中心点ci代表该簇。对象p∈

Ci与ci之差用dist(p,ci)度量,簇Ci的质量可以用簇内变差度量,它是Ci中所有对象和型心ci之间的误差的平方和。但是,n值和k值较大时优化簇内变差得到精确解的计算开销非常巨大。所以,经常使用k-均值(K-means)方法进行聚类。K-均值:一种基于形心的技术K-均值算法过程:输入:

输出:k个簇的集合

k:簇的个数

D:包含n个数据的数据集

方法:(1)从D中任意选择k个对象作为初始簇中心;(2)repeat(3)根据簇中对象的均值,将每个对象分配到最相似的簇;(4)更新簇均值,即计算每个簇中对象的均值;(5)until不再发生变化;

k均值算法把簇的形心定义为簇内点的均值。K-均值:一种基于形心的技术K-均值聚类算法的优缺点优点(1)思想简单易行;

(2)时间复杂度接近线性;

(3)对大数据集,是可伸缩和有效的;

缺点(1)要求用户事先给出要生成的簇数k,不适合的k值可能

返回较差的结果

(2)不适合发现非凸形状的簇,或者大小差别很大的

簇。(3)对噪声和离群点敏感。K-均值:一种基于形心的技术对k-均值算法可伸缩性的改进思路:(1)在大型数据集上聚类时使用合适的样本。(2)使用过滤方法,使用空间层次数据索引节省计算均值的开

销。(3)利用微聚类思想,就是在聚类前先把邻近的对象划分到一些“微簇”。K-中心点:一种基于代表对象的技术K均值算法对于离群点是敏感的,因为一个有很大极端值的对象可能显著地扭曲数据的分布。平方差的使用更是严重恶化了这一影响。

我们可以在每个簇中选出一个实际的对象来代表该簇。而不是利用均值。其余的每个对象分配到到与其最相似的代表性对象所在的簇中。这样,划分基于绝对误差标准(absolute-errorcriterion)来进行划分。K-中心点聚类通过最小化该绝对误差,把n个对象划分到k个簇中。K-中心点:一种基于代表对象的技术

K-中心点:一种基于代表对象的技术K-中心点:一种基于代表对象的技术

K-中心点:一种基于代表对象的技术

10.3层次方法--层次聚类方法(hierarchicalclusteringmethod)

将数据对象组成一棵聚类树。--根据层次分解是以自底向上(合并)还是自顶向下

(分裂)方式,层次聚类方法可以进一步分为凝聚

的和分裂的。--一种纯粹的层次聚类方法的质量受限于:一旦合并

或分裂执行,就不能修正。也就是说,如果某个合

并或分裂决策在后来证明是不好的选择,该方法无

法退回并更正。凝聚的与分裂的层次聚类下图描述了一种凝聚层次聚类算法AGNES和一种分裂层次聚类算法DIANA对一个包含五个对象的数据集合{a,b,c,d,e}的处理过程。Step0Step1Step2Step3Step4bdceaabdecdeabcdeStep4Step3Step2Step1Step0agglomerative(AGNES)divisive(DIANA)凝聚的与分裂的层次聚类*初始,AGNES将每个对象自为一簇,然后这些簇根据某种准则逐步合并,直到所有的对象最终合并形成一个簇。例如,如果簇C1中的一个对象和簇C2中的一个对象之间的距离是所有

属于不同簇的对象间欧氏距离中最小的,则C1和C2合并。*在DIANA中,所有的对象用于形成一个初始簇。根据某种原则(如,簇中最近的相邻对象的最大欧氏距离),将该簇分裂。簇的分裂过程反复进行,直到最终每个新簇只包含一个对象。*在凝聚或者分裂层次聚类方法中,用户可以定义希望得到的簇数目作为一个终止条件。凝聚的与分裂的层次聚类通常,使用一种称作树状图的树形结构表示层次聚类的过程。它展示出对象是如何一步步分组的。图2显示图1的五个对象的树状图。描述簇之间的相似程度。例如,{a,b}和{c,d,e}的相似度大约为0.16。凝聚的与分裂的层次聚类

凝聚的与分裂的层次聚类最小距离最大距离均值距离平均距离凝聚的与分裂的层次聚类

单连接算法例子*先将五个样本都分别看成是一个簇,最靠近的两个簇是3和4,因为他们具有最小的簇间距离D(3,4)=5.0。*第一步:合并簇3和4,得到新簇集合1,2,(34),5单连接算法例子*更新距离矩阵:

D(1,(34))=min(D(1,3),D(1,4))=min(20.6,22.4)=20.6D(2,(34))=min(D(2,3),D(2,4))=min(14.1,11.2)=11.2D(5,(34))=min(D(3,5),D(4,5))=min(25.0,25.5)=25.0

原有簇1,2,5间的距离不变,修改后的距离矩阵如图所示,在四个簇1,2,(34),5中,最靠近的两个簇是1和5,它们具有最小簇间距离D(1,5)=7.07。单连接算法例子单连接算法例子凝聚的与分裂的层次聚类*最小和最大度量代表了簇间距离度量的两个极端。它

们趋向对离群点或噪声数据过分敏感。*使用均值距离和平均距离是对最小和最大距离之间的

一种折中方法,而且可以克服离群点敏感性问题。*层次聚类方法的困难之处:(1)层次聚类方法尽管简单,但经常会遇到合并或分裂点选择的困难。因为一旦一组对象合并或者分裂,下一步的处理将对新生成的簇进行。(2)不具有很好的可伸缩性,因为合并或分裂的决定需要检查和估算大量的对象或簇。BIRCH:使用聚类特征树的多阶段聚类*BIRCH方法通过集成层次聚类和其他聚类算法来对大量数值数据进行聚类。其中层次聚类用于初始的微聚类阶段,而其他方法如迭代划分(在后来的宏聚类阶段)。它克服了凝聚聚类方法所面临的两个困难:1.可伸缩性;2.不能撤销前一步所做的工作;*BIRCH使用聚类特征来概括一个簇,使用聚类特征树(CF树)来表示聚类的层次结构。这些结构帮助聚类方法在大型数据库中取得好的速度和伸缩性,还使得BIRCH方法对新对象增量和动态聚类也非常有效。BIRCH:使用聚类特征树的多阶段聚类考虑一个n个d维的数据对象或点的簇,簇的聚类特征(ClusteringFeature,CF)是一个3维向量,汇总了对象簇的信息。定义如下

CF=<n,LS,SS>其中,n是簇中点的数目,LS是n个点的线性和(即),SS是数据点的平方和(即)。BIRCH:使用聚类特征树的多阶段聚类使用聚类特征,我们可以很容易地推导出簇的许多有用的统计量。例如,簇的形心x0,半径R和直径D分别是:其中R是成员对象到形心的平均距离,D是簇中逐对对象的平均距离。R和D都反映了形心周围簇的紧凑程度。BIRCH:使用聚类特征树的多阶段聚类*使用聚类特征概括簇可以避免存储个体对象或点的详细信息。我们只需要固定大小的空间来存放聚类特征。这是空间中BIRCH有效性的关键。*聚类特征是可加的。也就是说,对于两个不相交的簇C1和C2,其聚类特征分别为CF1=<n1,LS1,SS1>和CF2=<n2,LS2,SS2>,合并C1和C2后的簇的聚类特征是CF1+CF2=<n1+n2,LS1+LS2,SS1+SS2>假定在簇C1中有三个点(2,5),(3,2)和(4,3)。C1的聚类特征是:CF1=<3,(2+3+4,5+2+3),(22+32+42,52+22+32)>=<3,(9,10,(29,38))>假定C1和第2个簇C2是不相交的,其中CF2=<3,(35,36),(417,440)>。C1和C2合并形成一个新的簇C3,其聚类特征便是CF1和CF2之和,即:CF3=<3+3,(9+35,10+36),(29+417,38+440)>=<6,(44,46),(446,478)>BIRCH:使用聚类特征树的多阶段聚类*CF树是一棵高度平衡的树,它存储了层次聚类的聚类特征。如图给出了一个例子。树中的非叶节点有后代或“子女”。非叶节点存储了其子女的CF的总和,因而汇总了关于其子女的聚类信息。*CF树有两个参数:分支因子B和阈值T。分支因子定义了每个非叶节点子女的最大数目。而阈值参数给出了存储在树的叶节点中的子簇的最大直径。这两个参数影响结果数的大小。BIRCH:使用聚类特征树的多阶段聚类*BIRCH主要包括两个阶段:阶段一:BIRCH扫描数据库,建立一棵存放于内存的初始CF树,它可以看作数据的多层压缩,试图保留数据的内在的聚类结构。阶段二:BIRCH采用某个(任意的)聚类算法对CF树的叶节点进行聚类,把稀疏的簇当作离群点删除,而把稠密的簇合并为更大的簇。*在阶段一中,随着对象被插入,CF树被动态地构造。这样,该方法支持增量聚类。BIRCH:使用聚类特征树的多阶段聚类*实验表明该算法关于对象数目是线性可伸缩的,并且具有较好的数据聚类质量。*因为CF树的每个节点由于大小限制只能包含有限数目的条目,一个CF树节点并不总是对应于用户所考虑的一个自然簇。*此外,如果簇不是球形的,BIRCH不能很好地工作,因为它使用半径或直径的概念来控制簇的边界。Chameleon:使用动态建模的多阶段层次聚类*Chameleon是一种层次聚类算法,它采用动态建模来确定一对簇之间的相似度。*在Chameleon中,簇的相似度依据如下两点评估:(1)簇中对象的连接情况(2)簇的邻近性也就是说,如果两个簇的互连性都很高并且它们又靠的很近就将其合并。*Chameleon算法的思想是:首先使用一种图划分算法将k最近邻图划分成大量相对较小的子簇。然后使用凝聚层次聚类算法,基于子簇的相似度反复地合并子簇。*Chameleon在发现高质量的任意形状的簇方面具有很强的能力

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论