ImageVerifierCode 换一换
格式:PPT , 页数:108 ,大小:1.89MB ,
资源ID:8922047      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-8922047.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(聚类分析课件.ppt)为本站会员(杨桃文库)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

聚类分析课件.ppt

1、1,聚类分析,2,14 聚类分析(提纲),14.1 聚类分析概述 14.2 相似性计算方法 14.3 常用聚类方法 14.3.1 划分方法 k-means算法(k-均值算法) k-medoids算法(k-中心算法) 14.3.2 层次方法 AGNES算法(合并聚类法) DIANA算法(分裂聚类法) 14.4 孤立点分析,3,第五章 聚类分析(提纲),14.1 聚类分析概述 14.2 相似性计算方法 14.3 常用聚类方法 14.3.1 划分方法 k-means算法(k-均值算法) k-medoids算法(k-中心算法) 14.3.2 层次方法 AGNES算法(合并聚类法) DIANA算法(分裂

2、聚类法) 14.4 孤立点分析,4,14.1 聚类分析概述,聚类分析的定义 聚类分析(Cluster Analysis)是一个将数据集中的所有数据,按照相似性划分为多个类别(Cluster, 簇)的过程; 簇是相似数据的集合。 聚类分析是一种无监督(Unsupervised Learning)分类方法:数据集中的数据没有预定义的类别标号(无训练集和训练的过程)。 要求:聚类分析之后,应尽可能保证类别相同的数据之间具有较高的相似性,而类别不同的数据之间具有较低的相似性。,5,14.1 聚类分析概述,聚类分析在数据挖掘中的作用: 作为一个独立的工具来获得数据集中数据的分布情况; 作为其他数据挖掘算

3、法的预处理步骤。,6,14.1 聚类分析概述,聚类分析在数据挖掘中的作用: 作为一个独立的工具来获得数据集中数据的分布情况; 首先,对数据集执行聚类,获得所有簇; 然后,根据每个簇中样本的数目获得数据集中每类数据的大体分布情况。 作为其他数据挖掘算法的预处理步骤。,7,14.1 聚类分析概述,聚类分析在数据挖掘中的作用: 作为一个独立的工具来获得数据集中数据的分布情况; 作为其他数据挖掘算法的预处理步骤。 首先,对数据进行聚类粗分类; 然后,分别对每个簇进行特征提取和细分类,可以有效提高分类精度。,8,14.1 聚类分析概述,聚类分析的典型应用: 空间数据分析 图像处理灰度图像的二值化(对灰度

4、像素进行聚类)。 万维网 对WEB日志数据进行聚类,以发现类似的用户访问模式。 金融领域 用户交易数据的聚类分析,以获得奇异点(异常交易)。 ,9,14.1 聚类分析概述,常用的聚类分析方法: 划分法(Partitioning Methods):以距离作为数据集中不同数据间的相似性度量,将数据集划分成多个簇。 属于这样的聚类方法有:k-means、k-medoids等。 层次法(Hierarchical Methods):对给定的数据集进行层次分解,形成一个树形的聚类结果。 属于这样的聚类方法有:自顶向下法、自底向上法。,10,年龄,80,类别1,类别2,类别3,收入,60000,30000,

5、114000,0,14.1 聚类分析概述划分法示例,11,14.1 聚类分析概述层次法示例,12,第五章 聚类分析(提纲),14.1 聚类分析概述 14.2 相似性计算方法 14.3 常用聚类方法 14.3.1 划分方法 k-means算法(k-均值算法) k-medoids算法(k-中心算法) 14.3.2 层次方法 AGNES算法(合并聚类法) DIANA算法(分裂聚类法) 14.4 孤立点分析,13,14.2 相似性计算方法,在聚类分析中,样本之间的相似性通常采用样本之间的距离来表示。 两个样本之间的距离越大,表示两个样本越不相似性,差异性越大; 两个样本之间的距离越小,表示两个样本越相

6、似性,差异性越小。 特例:当两个样本之间的距离为零时,表示两个样本完全一样,无差异。,14,14.2 相似性计算方法,在聚类分析中,样本之间的相似性通常采用样本之间的距离来表示。 样本之间的距离是在样本的描述属性(特征)上进行计算的。 在不同应用领域,样本的描述属性的类型可能不同,因此相似性的计算方法也不尽相同。 连续型属性(如:重量、高度、年龄等) 二值离散型属性(如:性别、考试是否通过等) 多值离散型属性(如:收入分为高、中、低等) 混合类型属性(上述类型的属性至少同时存在两种),15,14.2 相似性计算方法,14.2.1 连续型属性的相似性计算方法 14.2.2 二值离散型属性的相似性

7、计算方法 14.2.3 多值离散型属性的相似性计算方法 14.2.4 混合类型属性的相似性计算方法,16,14.2 相似性计算方法,14.2.1 连续型属性的相似性计算方法 14.2.2 二值离散型属性的相似性计算方法 14.2.3 多值离散型属性的相似性计算方法 14.2.4 混合类型属性的相似性计算方法,17,14.2.1 连续型属性的相似性计算方法,假设两个样本Xi和Xj分别表示成如下形式: Xi=(xi1, xi2, , xid ) Xj=(xj1, xj2, , xjd ) 它们都是d维的特征向量,并且每维特征都是一个连续型数值。 对于连续型属性,样本之间的相似性通常采用如下三种距离

8、公式进行计算。,18,欧氏距离(Euclidean distance) 曼哈顿距离(Manhattan distance) 闵可夫斯基距离(Minkowski distance),14.2.1 连续型属性的相似性计算方法,q=2,q=1,19,14.2.1 连续型属性的相似性计算方法,Euclidean距离和Manhattan距离的性质: d(i,j) 0 d(i,i) = 0 d(i,j) = d(j,i) d(i,j) d(i,k) + d(k,j),20,14.2.1 连续型属性的相似性计算方法,欧式距离的示例,Distance Matrix,21,14.2.1 连续型属性的相似性计算方

9、法,曼哈顿距离的示例,Distance Matrix,22,14.2 相似性计算方法,14.2.1 连续型属性的相似性计算方法 14.2.2 二值离散型属性的相似性计算方法 14.2.3 多值离散型属性的相似性计算方法 14.2.4 混合类型属性的相似性计算方法,23,14.2.2 二值离散型属性的相似性计算方法,二值离散型属性只有0和1两个取值。 其中:0表示该属性为空,1表示该属性存在。 例如:描述病人的是否抽烟的属性(smoker),取值为1表示病人抽烟,取值0表示病人不抽烟。 假设两个样本Xi和Xj分别表示成如下形式: Xi=(xi1, xi2, , xip ) Xj=(xj1, xj

10、2, , xjp ) 它们都是p维的特征向量,并且每维特征都是一个二值离散型数值。,24,14.2.2 二值离散型属性的相似性计算方法,假设二值离散型属性的两个取值具有相同的权重,则可以得到一个两行两列的可能性矩阵。a = the number of attributes where Xi was 1 and Xj was 1;b = the number of attributes where Xi was 1 and Xj was 0;c = the number of attributes where Xi was 0 and Xj was 1;d = the number of att

11、ributes where Xi was 0 and Xj was 0.,Xj,Xi,25,14.2.2 二值离散型属性的相似性计算方法,如果样本的属性都是对称的二值离散型属性,则样本间的距离可用简单匹配系数(Simple Matching Coefficients, SMC)计算: SMC = (b + c) / (a + b + c + d) 其中:对称的二值离散型属性是指属性取值为1或者0同等重要。 例如:性别就是一个对称的二值离散型属性,即:用1表示男性,用0表示女性;或者用0表示男性,用1表示女性是等价的,属性的两个取值没有主次之分。,26,14.2.2 二值离散型属性的相似性计算方

12、法,如果样本的属性都是不对称的二值离散型属性,则样本间的距离可用Jaccard系数计算(Jaccard Coefficients, JC): JC = (b + c) / (a + b + c) 其中:不对称的二值离散型属性是指属性取值为1或者0不是同等重要。 例如:血液的检查结果是不对称的二值离散型属性,阳性结果的重要程度高于阴性结果,因此通常用1来表示阳性结果,而用0来表示阴性结果。,27,例:已知两个样本p=1 0 0 0 0 0 0 0 0 0和q= 0 0 0 0 0 0 1 0 0 1 a = 0 (the number of attributes where p was 1 an

13、d q was 1) b = 1 (the number of attributes where p was 1 and q was 0) c = 2 (the number of attributes where p was 0 and q was 1) d = 7 (the number of attributes where p was 0 and q was 0),14.2.2 二值离散型属性的相似性计算方法,28,SMC = (b + c) / (a + b + c + d)= (1+2) / (0+1+2+7) = 0.3 JC = (b+c) / (a + b + c) = (1

14、+2) / (0+1+2) = 1,14.2.2 二值离散型属性的相似性计算方法,29,14.2 相似性计算方法,14.2.1 连续型属性的相似性计算方法 14.2.2 二值离散型属性的相似性计算方法 14.2.3 多值离散型属性的相似性计算方法 14.2.4 混合类型属性的相似性计算方法,30,14.2.3 多值离散型属性的相似性计算方法,多值离散型属性是指取值个数大于2的离散型属性。 例如:成绩可以分为优、良、中、差。 假设一个多值离散型属性的取值个数为N,给定数据集X=xi | i=1,2,total。 其中:每个样本xi可用一个d维特征向量描述,并且每维特征都是一个多值离散型属性,即:

15、xi = (xi1, xi2, , xid)。,31,14.2.3 多值离散型属性的相似性计算方法,问题:给定两个样本xi = (xi1, xi2, , xid)和xj = (xj1, xj2, , xjd) ,如何计算它们之间的距离? 方法一:简单匹配方法。 方法二:先将多值离散型属性转换成多个二值离散型属性,然后再使用Jaccard系数计算样本之间的距离。,32,14.2.3 多值离散型属性的相似性计算方法,问题:给定两个样本xi = (xi1, xi2, , xid)和xj = (xj1, xj2, , xjd) ,如何计算它们之间的距离? 方法一:简单匹配方法。 距离计算公式如下:其中

16、: d为数据集中的属性个数,u为样本xi和xj取值相同的属性个数。,33,14.2.3 多值离散型属性的相似性计算方法,问题:给定两个样本xi = (xi1, xi2, , xid)和xj = (xj1, xj2, , xjd) ,如何计算它们之间的距离? 方法一:简单匹配方法。d(x1, x2) = (3-1)/3 0.667,34,14.2.3 多值离散型属性的相似性计算方法,问题:给定两个样本xi = (xi1, xi2, , xid)和xj = (xj1, xj2, , xjd) ,如何计算它们之间的距离? 方法一:简单匹配方法。d(x1, x3) = (3-0)/3 = 1,35,1

17、4.2.3 多值离散型属性的相似性计算方法,问题:给定两个样本xi = (xi1, xi2, , xid)和xj = (xj1, xj2, , xjd) ,如何计算它们之间的距离? 方法一:简单匹配方法。d(x1, x4) = (3-2)/3 0.333,36,14.2.3 多值离散型属性的相似性计算方法,问题:给定两个样本xi = (xi1, xi2, , xid)和xj = (xj1, xj2, , xjd) ,如何计算它们之间的距离? 方法二:先将多值离散型属性转换成多个二值离散型属性,然后再使用Jaccard系数计算样本之间的距离。 对有N个取值的多值离散型属性,可依据该属性的每种取值

18、分别创建一个新的二值离散型属性,这样可将多值离散型属性转换成多个二值离散型属性。,37,14.2.3 多值离散型属性的相似性计算方法,问题:给定两个样本xi = (xi1, xi2, , xid)和xj = (xj1, xj2, , xjd) ,如何计算它们之间的距离? 方法二:先将多值离散型属性转换成多个二值离散型属性,然后再使用Jaccard系数计算样本之间的距离。,38,14.2.3 多值离散型属性的相似性计算方法,问题:给定两个样本xi = (xi1, xi2, , xid)和xj = (xj1, xj2, , xjd) ,如何计算它们之间的距离? 方法二:先将多值离散型属性转换成多个

19、二值离散型属性,然后再使用Jaccard系数计算样本之间的距离。,39,14.2 相似性计算方法,14.2.1 连续型属性的相似性计算方法 14.2.2 二值离散型属性的相似性计算方法 14.2.3 多值离散型属性的相似性计算方法 14.2.4 混合类型属性的相似性计算方法,40,14.2.4 混合类型属性的相似性计算方法,在实际中,数据集中数据的描述属性通常不只一种类型,而是各种类型的混合体。 连续型属性 二值离散型属性 多值离散型属性,41,14.2.4 混合类型属性的相似性计算方法,问题:对于包含混合类型属性的数据集,如何计算样本之间的相似性? 方法:将混合类型属性放在一起处理,进行一次

20、聚类分析。 假设:给定的数据集X=xi | i=1,2,total,每个样本用d个描述属性A1, A2, , Ad来表示,属性Aj(1jd)包含多种类型。,42,14.2.4 混合类型属性的相似性计算方法,问题:对于包含混合类型属性的数据集,如何计算样本之间的相似性? 方法:将混合类型属性放在一起处理,进行一次聚类分析。 在聚类之前,对样本的属性值进行预处理: 对连续型属性,将其各种取值进行规范化处理,使得属性值规范化到区间0.0, 1.0; 对多值离散型属性,根据属性的每种取值将其转换成多个二值离散型属性。 预处理之后,样本中只包含连续型属性和二值离散型属性。,43,14.2.4 混合类型属

21、性的相似性计算方法,问题:对于包含混合类型属性的数据集,如何计算样本之间的相似性? 给定两个样本xi = (xi1, xi2, , xid)和xj = (xj1, xj2, , xjd) ,它们之间的距离为:其中:dij(k)表示xi和xj在第k个属性上的距离。表示第k个属性对计算xi和xj距离的影响。,44,14.2.4 混合类型属性的相似性计算方法,问题:对于包含混合类型属性的数据集,如何计算样本之间的相似性? dij(k)表示xi和xj在第k个属性上的距离。 当第k个属性为连续型时,使用如下公式来计算dij(k):当第k个属性为二值离散型时,如果xik=xjk,则dij(k) = 0;否

22、则,dij(k) = 1。,45,14.2.4 混合类型属性的相似性计算方法,问题:对于包含混合类型属性的数据集,如何计算样本之间的相似性?表示第k个属性对计算xi和xj距离的影响。 (1)如果xik或xjk缺失(即:样本xi或样本xj没有第k个属性的度量值),则: 。 (2)如果xik=xjk=0,且第k个属性是不对称的二值离散型,则: 。 (3)除了上述(1)和(2)之外的其他情况下,则: 。,46,14.2 相似性计算方法,14.2.1 连续型属性的相似性计算方法 14.2.2 二值离散型属性的相似性计算方法 14.2.3 多值离散型属性的相似性计算方法 14.2.4 混合类型属性的相似

23、性计算方法,47,第五章 聚类分析(提纲),14.1 聚类分析概述 14.2 相似性计算方法 14.3 常用聚类方法 14.3.1 划分方法 k-means算法(k-均值算法) k-medoids算法(k-中心算法) 14.3.2 层次方法 AGNES算法(合并聚类法) DIANA算法(分裂聚类法) 14.4 孤立点分析,48,第五章 聚类分析(提纲),14.1 聚类分析概述 14.2 相似性计算方法 14.3 常用聚类方法 14.3.1 划分方法 k-means算法(k-均值算法) k-medoids算法(k-中心算法) 14.3.2 层次方法 AGNES算法(合并聚类法) DIANA算法(

24、分裂聚类法) 14.4 孤立点分析,49,14.3.1 划分方法,给定n个样本的数据集,以及要生成的簇的数目k,划分方法将样本组织为k个划分 (kn),每个划分代表一个簇。 划分准则:同一个簇中的样本尽可能接近或相似,不同簇中的样本尽可能远离或不相似。 以样本间的距离作为相似性度量。 典型的划分方法: k-means(k-均值) 由簇中样本的平均值来代表整个簇。 k-medoids(k-中心点) 由处于簇中心区域的某个样本代表整个簇。,50,第五章 聚类分析(提纲),14.1 聚类分析概述 14.2 相似性计算方法 14.3 常用聚类方法 14.3.1 划分方法 k-means算法(k-均值算

25、法) k-medoids算法(k-中心算法) 14.3.2 层次方法 AGNES算法(合并聚类法) DIANA算法(分裂聚类法) 14.4 孤立点分析,51,k-means算法,52,k-means算法示例,0,1,2,3,4,5,6,7,8,9,10,0,1,2,3,4,5,6,7,8,9,10,K=2 Arbitrarily choose K object as initial cluster center,Assign each objects to most similar center,Update the cluster means,Update the cluster means

26、,reassign,53,样本数据 序号 属性 1 属性 2 1 1 1 2 2 1 3 1 2 4 2 2 5 4 3 6 5 3 7 4 4 8 5 4,迭代次数 平均值 平均值 产生的新簇 新平均值 新平均值(簇1) (簇2) (簇1) (簇2)1 (1,1) (1,2) 1,2,3,4,5,6,7,8 (1.5,1) (3.5,3) 2 (1.5,1) (3.5,3) 1,2,3,4,5,6,7,8 (1.5,1.5) (4.5,3.5) 3 (1.5,1.5) (4.5,3.5) 1,2,3,4,5,6,7,8 (1.5,1.5) (4.5,3.5),根据所给的数据通过对其实施k-m

27、eans (设n=8,k=2),其主要执行步骤: 第一次迭代:假定随机选择的两个对象,如序号1和序号3当作初始点,分别找到离两点最近的对象,并产生两个簇1,2和3,4,5,6,7,8。 对于产生的簇分别计算平均值,得到平均值点。 对于1,2,平均值点为(1.5,1); 对于3,4,5,6,7,8,平均值点为(3.5,3)。 第二次迭代:通过平均值调整对象的所在的簇,重新聚类,即将所有点按离平均值点(1.5,1)、(3.5,3)最近的原则重新分配。得到两个新的簇:1,2,3,4和5,6,7,8。重新计算簇平均值点,得到新的平均值点为(1.5,1.5)和(4.5,3.5)。 第三次迭代:将所有点按

28、离平均值点(1.5,1.5)和(4.5,3.5)最近的原则重新分配,调整对象,簇仍然为1,2,3,4和5,6,7,8,发现没有出现重新分配,而且准则函数收敛,程序结束。,实例,54,假设对于相同的样本数据,若随机选择的两个初始点为序号4和7。 问题1:结果与前面会一样吗? 问题2:有何结论?,样本数据 序号 属性 1 属性 2 1 1 1 2 2 1 3 1 2 4 2 2 5 4 3 6 5 3 7 4 4 8 5 4,实例,55,k-means算法,k-means算法的评价准则:误差平方和准则误差平方和达到最优(小)时,可以使各聚类的类内尽可能紧凑,而使各聚类之间尽可能分开。 对于同一个数

29、据集,由于k-means算法对初始选取的聚类中心敏感,因此可用该准则评价聚类结果的优劣。 通常,对于任意一个数据集,k-means算法无法达到全局最优,只能达到局部最优。,56,k-means算法,优点: 可扩展性较好,算法复杂度为O(nkt)。 其中:n为样本个数,k是簇的个数,t是迭代次数。 缺点: 簇数目k需要事先给定,但非常难以选定; 初始聚类中心的选择对聚类结果有较大的影响; 不适合于发现非球状簇; 对噪声和离群点数据敏感。,57,第五章 聚类分析(提纲),14.1 聚类分析概述 14.2 相似性计算方法 14.3 常用聚类方法 14.3.1 划分方法 k-means算法(k-均值算

30、法) k-medoids算法(k-中心算法) 14.3.2 层次方法 AGNES算法(合并聚类法) DIANA算法(分裂聚类法) 14.4 孤立点分析,58,k-medoids算法,k-medoids算法基本思想: 选取有代表性的样本(而不是均值)来表示整个簇,即:选取最靠近中心点(medoid)的那个样本来代表整个簇。 以降低聚类算法对离群点的敏感度。 PAM (Partitioning Around Medoids, 围绕中心点的划分)算法,于1987年提出。,59,k-medoids算法,60,如果代表样本能被非代表样本所替代,则替代产生的总代价S是所有样本产生的代价之和。 总代价的定义

31、如下:其中:n是数据集中样本的个数;Cpjh表示中心点Oj被非中心点Oh替代后,样本点p的代价。 问题:如何计算每个样本点p产生的代价Cpjh ?,k-medoids算法,61,k-medoids算法,当非代表样本Orandom替代代表样本Oj后,对于数据集中的每一个样本p,它所属的簇的类别将有以下四种可能的变化:,62,k-medoids算法,当非代表样本Orandom替代代表样本Oj后,对于数据集中的每一个样本p,它所属的簇的类别将有以下四种可能的变化: 情况1:样本p属于代表样本Oj。 如果Oj被Orandom替代,则此时样本p最接近另外一个代表样本Oi,因此p被分配为Oi (ij)。,

32、63,k-medoids算法,当非代表样本Orandom替代代表样本Oj后,对于数据集中的每一个样本p,它所属的簇的类别将有以下四种可能的变化: 情况2:样本p属于代表样本Oj。 如果Oj被Orandom替代,则此时样本p最接近代表样本Orandom,因此p被分配为Orandom。,64,k-medoids算法,当非代表样本Orandom替代代表样本Oj后,对于数据集中的每一个样本p,它所属的簇的类别将有以下四种可能的变化: 情况3:样本p属于代表样本Oi (ij)。 如果Oj被Orandom替代,则此时样本p任然最接近代表样本Oi,因此p无变化。,65,k-medoids算法,当非代表样本O

33、random替代代表样本Oj后,对于数据集中的每一个样本p,它所属的簇的类别将有以下四种可能的变化: 情况4:样本p属于代表样本Oi (ij)。 如果Oj被Orandom替代,则此时样本p最接近代表样本Orandom,因此p被分配为Orandom。,66,k-medoids算法,第二种情况p被重新分配给Oh,Cpjh =d(p, h)-d(p, j),第一种情况p被重新分配给Oi, Cpjh =d(p, i)-d(p, j),第三种情况p的隶属不发生变化, Cpjh =0,第四种情况p被重新分配给Oh,Cpjh =d(p, h)-d(p, i),67,假设空间中的五个点A、,如下图所示。各点之

34、间的距离关系如下表所示,根据所给的数据对其运行k-medoids算法实现划分聚类(设k=2)。,k-medoids算法示例,68,第一步 建立阶段:假如从5个对象中随机抽取的2个中心点为A,B,则样本被划分为A、C、D和B、E,如图所示。 第二步 交换阶段:假定中心点A、B分别被非中心点C、D、E替换,根据PAM算法需要计算下列代价TCAC、 TCAD、 TCAE、TCBC、TCBD、 TCBE。,起始中心点为A,B,k-medoids算法示例,69,以TCAC为例说明计算的过程: a) 当A被C替换以后,A不再是一个中心点,因为A离B比A离C更近,A被分配到B中心点代表的簇,CAAC=d(A

35、,B)-d(A,A)=1。 b) B是一个中心点,当A被C替换以后,B不受影响,CBAC=0。 c) C原先属于A中心点所在的簇,当A被C替换以后,C是新中心点,符合PAM算法代价函数的第二种情况CCAC=d(C,C)-d(C,A)=0-2=-2。 d) D原先属于A中心点所在的簇,当A被C替换以后,离D最近的中心点是C,根据PAM算法代价函数的第二种情况CDAC=d(D,C)-d(D,A)=1-2=-1。 e) E原先属于B中心点所在的簇,当A被C替换以后,离E最近的中心仍然是 B,根据PAM算法代价函数的第三种情况CEAC=0。 因此,TCAC=CAAC+ CBAC+ CBAC+ CDAC

36、+ CEAC=1+0-2-1+0=-2。,可按上述步骤依次计算代价TCAD、TCAE以及TCBC、TCBD、TCBE。,k-medoids算法示例,70,在上述代价计算完毕后,要选取一个代价最小的替换。图(a)、(b)、(c)分别表示了C替换A, D替换A,E替换A的情况和相应的代价。(a) C替换A, TCAC=-2 (b) D替换A, TCAD=-2 (c) E替换A, TCAE=-1,k-medoids算法示例,71,图 (d)、(e)、(f)分别表示了用C、D、E替换B的情况和相应的代价。(d) C替换B, TCBC=-2 (e) D替换B, TCBD=-2 (f) E替换B, TCB

37、E=-2通过上述计算,选择代价最小的替换(如:C替换A)。这样就完成了PAM算法的第一次迭代。在下一迭代中,将用其新的非中心点A、D、E来替换中心点B、C,从中找出具有最小代价的替换。一直重复上述过程,直到代价不再减小为止。,k-medoids算法示例,72,k-medoids与k-means的比较,当存在噪声和离群点时,k-medoids算法比k-means算法更加鲁棒(稳定)。 这是因为中心点不像均值那样易被极端数据(噪声或者离群点)影响。 k-medoids算法的执行代价比k-means算法要高。 k-means算法: O(nkt) k-medoids算法:O(k(n-k)2) 当n与k

38、较大时, k-medoids算法的执行代价很高。 两种方法都需要事先指定簇的数目k。,73,第五章 聚类分析(提纲),14.1 聚类分析概述 14.2 相似性计算方法 14.3 常用聚类方法 14.3.1 划分方法 k-means算法(k-均值算法) k-medoids算法(k-中心算法) 14.3.2 层次方法 AGNES算法(合并聚类法) DIANA算法(分裂聚类法) 14.4 孤立点分析,74,14.3.2 层次方法,对给定的数据集进行层次分解: 自底向上方法(合并):开始时,将每个样本作为单独的一个组;然后,依次合并相近的样本或组,直至所有样本或组被合并为一个组或者达到终止条件为止。

39、代表算法:AGNES算法 自顶向下方法(分裂):开始时,将所有样本置于一个簇中;然后,执行迭代,在迭代的每一步中,一个簇被分裂为多个更小的簇,直至每个样本分别在一个单独的簇中或者达到终止条件为止。 代表算法:DIANA算法,75,14.3.2 层次方法,层次方法的示例:,76,第五章 聚类分析(提纲),14.1 聚类分析概述 14.2 相似性计算方法 14.3 常用聚类方法 14.3.1 划分方法 k-means算法(k-均值算法) k-medoids算法(k-中心算法) 14.3.2 层次方法 AGNES算法(合并聚类法) DIANA算法(分裂聚类法) 14.4 孤立点分析,77,AGNES

40、算法,AGNES (Agglomerative Nesting)算法 首先,将数据集中的每个样本作为一个簇; 然后,根据某些准则将这些簇逐步合并; 合并的过程反复进行,直至不能再合并或者达到结束条件为止。 合并准则:每次找到距离最近的两个簇进行合并。 两个簇之间的距离由这两个簇中距离最近的样本点之间的距离来表示。,78,AGNES算法,AGNES算法(自底向上合并算法) 输入:包含n个样本的数据集,终止条件簇的数目k。 输出:k个簇,达到终止条件规定的簇的数目。 (1) 初始时,将每个样本当成一个簇; (2) REPEAT根据不同簇中最近样本间的距离找到最近的两个簇;合并这两个簇,生成新的簇的

41、集合; (3) UNTIL 达到定义的簇的数目。,79,AGNES算法,在这个算法中,需要使用单链接(Single-Link)方法和相异度矩阵。 单链接方法用于确定任意两个簇之间的距离;,80,AGNES算法,在这个算法中,需要使用单链接(Single-Link)方法和相异度矩阵。 单链接方法用于确定任意两个簇之间的距离; 相异度矩阵用于记录任意两个簇之间的距离(它是一个下三角矩阵,即:主对角线及其上方元素全部为零)。,表1 数据集,81,AGNES算法,在这个算法中,需要使用单链接(Single-Link)方法和相异度矩阵。 单链接方法用于确定任意两个簇之间的距离; 相异度矩阵用于记录任意两

42、个簇之间的距离(它是一个下三角矩阵,即:主对角线及其上方元素全部为零)。,82,AGNES算法示例,例:为了研究辽宁省等五省区某年度城镇居民生活消费的分布规律,对如下调查数据进行聚类。,表1 数据集,83,AGNES算法示例,3,84,AGNES算法示例,G5,85,AGNES算法示例,86,AGNES算法示例,G9=G7, G8,87,AGNES算法示例,K=2,K=3,K=4,88,对于表中给定的样本数据,用AGNES算法将它们聚为三个簇(k=3)。,AGNES算法练习,89,AGNES算法,AGNES算法的优、缺点: 算法简单,但有可能遇到合并点选择困难的情况; 一旦不同的簇被合并,就不

43、能被撤销; 算法的时间复杂度为O(n2),因此不适用处理n很大的数据集。,90,第五章 聚类分析(提纲),14.1 聚类分析概述 14.2 相似性计算方法 14.3 常用聚类方法 14.3.1 划分方法 k-means算法(k-均值算法) k-medoids算法(k-中心算法) 14.3.2 层次方法 AGNES算法(合并聚类法) DIANA算法(分裂聚类法) 14.4 孤立点分析,91,DIANA算法,DIANA (Divisive Analysis)算法 在该种层次聚类算法中,也是以希望得到的簇的数目作为聚类的结束条件。 同时,使用下面两种测度方法: 簇的直径:在一个簇中,任意两个样本间距

44、离的最大值。 平均相异度(平均距离):,92,DIANA算法,DIANA算法(自顶向下分裂算法) 输入:包含n个样本的数据集,终止条件簇的数目k。 输出:k个簇,达到终止条件规定的簇的数目。 (1)初始时,将所有样本当成一个簇; (2) FOR (i=1; ik; i+) DO BEGIN (3) 在所有簇中挑出具有最大直径的簇C; (4) 找出C中与其它点平均相异度最大的一个点p,并把p放入splinter group,剩余的放在old party中; (5) REPEAT (6) 在old party里找出到最近的splinter group中的点的距离不大于到old party中最近点的

45、距离的点,并将该点加入splinter group。 (7) UNTIL 没有新的old party的点被分配给splinter group; (8) splinter group和old party为被选中的簇分裂成的两个簇,与其它簇一起组成新的簇集合。 (9) END,93,DIANA算法示例,例:有如下表所示的数据集,使用DIANA算法对该数据集进行分裂层次聚类。,序号 属性 1 属性 2 1 1 1 2 1 2 3 2 1 4 2 2 5 3 4 6 3 5 7 4 4 8 4 5,94,DIANA算法示例,第1步,首先找到具有最大直径的簇,然后计算该簇中每个样本的平均相异度(假定采用

46、是欧式距离)。,序号 属性 1 属性 2 1 1 1 2 1 2 3 2 1 4 2 2 5 3 4 6 3 5 7 4 4 8 4 5,95,DIANA算法示例,第1步,首先找到具有最大直径的簇,然后计算该簇中每个样本的平均相异度(假定采用是欧式距离)。 样本1的平均距离为:(1+1+1.4+3.6+4.5+4.2+5)/7=2.96 样本2的平均距离为:2.53 样本3的平均距离为:2.68 样本4的平均距离为:2.18 样本5的平均距离为:2.18 样本6的平均距离为:2.68 样本7的平均距离为:2.53 样本8的平均距离为:2.96 从上述值中挑出具有最大平均相异度的样本1(或者样本

47、8),将其放到splinter group中,剩余点在old party中。,96,DIANA算法示例,第2步,在old party中,找出到splinter group距离最近的样本,并且该样本到splinter group的距离不大于该样本与old party中其他样本之间的最小距离,则将该样本放入splinter group中;此时找到满足上述条件的是样本2。,97,DIANA算法示例,第2步,在old party中,找出到splinter group距离最近的样本,并且该样本到splinter group的距离不大于该样本与old party中其他样本之间的最小距离,则将该样本放入sp

48、linter group中;此时找到满足上述条件的是样本2。 第3步,重复第2步,splinter group中放入样本3。 第4步,重复第2步,splinter group中放入样本4。 第5步,在old party中,已找不到可以放入splinter group中的样本,并且此时达到算法的终止条件(k=2),算法结束。(如果没有达到算法的终止条件,应该从分裂出来的簇中再挑选一个具有直径最大的簇继续分裂。),98,DIANA算法示例,步骤 具有最大直径的簇 splinter group Old party 1 1,2,3,4,5,6,7,8 1 2,3,4,5,6,7,82 1,2,3,4,5,6,7,8 1,2 3,4,5,6,7,8 3 1,2,3,4,5,6,7,8 1,2,3 4,5,6,7,8 4 1,2,3,4,5,6,7,8 1,2,3,4 5,6,7,8 5 1,2,3,4,5,6,7,8 1,2,3,4 5,6,7,8 终止,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报