第五章 聚类分析 - 广州中医药大学
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2、层次法(hierarchical
method)
层次方法对给定数据对象集合进行层次的分解。
凝聚----自底向上 分裂-----自顶向下的 缺点:一旦一个步骤(合并或分裂)完成,它就不能被撤消,因此 而不能更正错误的决定。
代表算法有:
BIRCH算法(利用层次方法的平衡迭代归约和聚类) 、
CURE算法(利用代表点聚类)
sj=
其中,xlj,X2j,…,xnj是变量j的n个测量值,xj 为变量j xj 的均值;
1 n
也就是:
1 xj = xij n i 1
n
(2)计算标准化测量值(z-分量)
zij =
xij xj sj
其中,绝对偏差均值sj要比标准偏差j更为鲁棒(对含有噪声数 据而言)。
2、差异矩阵 差异矩阵是一个对象-对象结构。它存放n个对象彼此之间 所形成的差异。一般采用n n矩阵表示
应用聚类分析的例子
• 市场销售: 帮助市场人员发现客户中的不同群体,然后用这 些知识来开展一个目标明确的市场计划; • 土地使用: 在一个陆地观察数据库中标识那些土地使用相似 的地区;
• 保险: 对购买了汽车保险的客户,标识那些有较高平均赔偿 成本的客户;
• 城市规划: 根据类型、价格、地理位置等来划分不同类型的 住宅; • 地震研究: 根据地质断层的特点把已观察到的地震中心分成 不同的类;
可伸缩性
能够处理不同类型的属性
能发现任意形状的簇 在决定输入参数的时候,尽量不需要特定的领域知识
能够处理噪声和异常
对输入数据对象的顺序不敏感 能处理高维数据 能产生一个好的、能满足用户指定约束的聚类结果 结果是可解释的、可理解的和可用的
6.2 聚类分析算法分类
• 差异度矩阵
– (one mode)
0 d(2,1) 0 d(3,1 d ( 3,2) ) : : d ( n,1) d ( n,2)
0 : ... ... 0
1.数据矩阵 数据矩阵是一个对象—属性结构。它是n个对象组
成,例如:人的对象是利用P个属性来进行描述的,如:
Chapter 7. 聚类分析
• 聚类分析概述 • 聚类分析的数据类型
• 主要聚类分析方法分类
划分方法(Partitioning Methods)
分层方法
基于密度的方法
基于网格的方法
基于模型(Model-Based)的聚类方法
6.1 聚类分析概述
• 簇(Cluster):一个数据对象的集合
许多聚类算法都是基于差异矩阵进行聚类分析的。如果数据
是以数据矩阵形式给出的,就需要先转换为差异矩阵,才能利用 聚类算法进行处理。
3、基于数值型数据的差异矩阵计算
在标准化之后,或在无需标准化的特定应用中,由数值所描
述对象之间的差异(或相似)程度可以通过计算相应两个对象
之间距离来确定。最常用的距离计算公式就是欧氏距离 具体公式内容如下:
5、基于模型的方法(model-based
method)
给每个聚类假设一个模型(如密度分布函数),然后去寻 找能很好地满足这个模型的数据集。 它的潜在的一个假定是:目标数据集是由一系列的概率分 布所决定的。 通常有两种:统计的方案和神经网络方案
ex6.1: 在病理分析时发现肺癌患者的头发中微量元 素的含量与正常人相比有无异常变化。 如果以Cr,Cd及As含量的一个函数作为变量x1: x1= f (Cr,Cd, As )
聚类算法通常都采用以下两种数据结构:
两种Leabharlann Baidu据结构
• 数据矩阵
– (two modes)
x11 ... x i1 ... x n1 ... x1f ... ... ... xif ... ... ... xnf ... x1p ... ... ... xip ... ... ... xnp
生物方面,聚类分析可以用来对动物或植物分类,或 根据基因功能对其进行分类以获得对人群中所固有的
结构更深入的了解。
什么是一个好的聚类方法?
• 一个好的聚类方法要能产生高质量的聚类结果——簇,这 些簇要具备以下两个特点: – 高的簇内相似性 – 低的簇间相似性 • 聚类结果的好坏取决于该聚类方法采用的相似性评估方法 以及该方法的具体实现; • 聚类方法的好坏还取决于该方法是能发现某些还是所有的 隐含模式;
d(i,j)=0,表示对象自身之间距离为零。 ,
d(i,j)=d(j,i),表示对象之间距离是对称函数。 d(i,j)≤d(i,h)+d(h,j),表示对象自身之间距离满足“两边之 和不小于第三边”的性质
相似性度量
例:对于一个4维向量 X1={1,0,1,0} X2={2,1,-3,-1},这些距离的度量标准 L1(X1,X2)=1+1+4+1=7, L2(X1,X2)=(1+1+16+1)1/2=4.36 L3(X1,X2)=(1+1+64+1)1/3=4.06。 Lk(Xi,Xj)=( | x ik x jk | k)1/k k 1
分裂法
层次法 基于密度类方法 基于网格类方法 基于模型类方法
1、分裂法(partitioning
method)
给定一个有N个元组或者记录的数据集,分裂法将构造K个分组, 每个分组就代表一个聚类,K<N ,而且这K个分组满足下列几个 条件 (1)每个分组至少包含一个数据记录 (2)每一个数据记录属于且仅属于一个分组(在某些模糊聚类 算法中可以放宽) 对于一个给定 的K,算法首先给出一个初始的分组方法法, 以后通过反复迭代的方法改变分组,使得每一次改进之后的分组 方案都较前一次好。 好的标准就是:同组记录越来越近,不同组记录越来越好 使用这个算法的基本思想有: K-MEANS算法、KMEDOID算法、CLARANS算法
d( i,j) = [ (|xi1-xj1|2+ |xi2-xj2|2+…+ |xip-xjp|2 ]1/2 (6.3)
-----------欧氏距离
其中,i=(xi1, xi2 ,….xip)
j= (xj1, xj2 ,….xjp)
分别表示一个P维数据对象
另一个常用的距离计算方法就是Manhattan距离,
标准化测量------给所有属性相同的权值
而在一些应用中,用户会有意识地赋予某些属性更大
权值以突出其重要性。例如:在对候选篮球选手进行聚类
分析时,可能就会给身高属性赋予更大的权值。
常用的标准化手段有:
标准差标准化 极差标准化 极差正轨化 如标准差标准化分两步
(1)计算绝对偏差均值sj
它的具体计算公式定义如下:
d(i,,j)=|xi1-xj1|+ |xi2-xj2|+…+ |xip-xjp|
--------------- Manhattan距离
(6.4)
欧氏距离和Manhattan距离均满足距离函数的有关数学性质(要 求): d(i,j)≥0,表示对象之间距离为非负数的一个数值。 ·
3、基于密度的方法(density-based method)
它与其他方法的根本区别:不是基于各种各样的距离的、 而是基于密度的,这样就能克服基于距离的算法只能发现 “类圆形”聚类的缺点。 其主要思想是:只要临近区域的密度超过某个阈值,就
继续聚类。这样的方法可以用来过滤“噪声”孤立点数据,
发现任意形状的簇。 代表算法有: DBSCAN算法 (基于高密度连接区域的密度聚类方法) OPTICS算法、DENCLUE算法
d
Minkowski距离: 是欧式距离和Manhattan距离的一个推广;计算公式如下:
d(i,j)=[ (|xi1-xj1|q+ |xi2-xj2|q+…+ |xip-xjp|q]1/q (6.5)
其 中,q为一个正整数,当q=1时,它代表Manhattan距离计 算公式;当q二2时,它代表欧氏距离计算公式。 可以为每个变量赋予一个权值,以表示其所代表属性的重要 性 还有 契比雪夫距离、马氏距离等
0 d(2,1) d(3,1) … d(n,1)
0 对称 d(3,2) 0 … … … d(n,2) … ….0
(6.2)
其中,d(i,j)表示对象i和对象j之间的差异(或不相似
程度)。通常d(i,j)为一个非负数,当对象i和对象j非常相 似或彼此“接近”时,该数值接近0,该数值越大,就表 示对象i和对象j越不相似。
以Se,Zn含量的另一个函数做为变量x2, 则
x2= g (Se,Zn ) 在以x1为横坐标,x2为纵坐标的平面上,每个 检查者按这些微量元素的含量在该平面上占据一点, 其分布情况如下:
初期患者 x2
健康人群 x1
后期患者
6.3 聚类分析中的数据类型
假设一个要进行聚类分析的数据集包含n
个对象,这些对象可以是人、房屋、文件等。
年龄、高度、重量等。数据矩阵采用关系表形式或 nP矩阵来表示,如(6.1)式
x11 … x1f ….x1p … … … … xi1 …xif …xip … … … … xn1 …xnf ….xnp
(6.1)
常称为样本数据矩阵。其中第 i个样品p个变量的观 测值可以记为向量: x i = ( xi1 , xi2,…x ip )T
– 在同一个类中,对象之间具有相似性; – 不同类的对象之间是相异的。 • 聚类分析(群分析、簇群分析) – 把一个给定的数据对象集合分成不同的簇;
所谓聚类就是按照事物的某些属性,把事物聚集成类, 使类间的
相似性尽可能的小,类内相似性尽量大的过程
• 聚类是一种无监督分类法: 没有预先指定的类别; • 典型的应用 – 作为一个独立的分析工具,用于了解数据的分布; – 作为其它算法的一个数据预处理步骤; ---异常分析
4、基于网格的方法(grid-based
method)
基于网格的聚类方法采用一个网格数据结构。把对象空间
量化为有限数目的单元,形成了一个网格结构。
优点:处理速度很快,其处理时间独立于数据对象的数目, 只与量化空间中每一维的单元数目有关。 代表算法有: STING算法(统计信息风格)、CLIQUE算法、WAVECLUSTER算法
二值变量个数, t表示在对象i中取i取0而在对象j
中取0的二值变量个数
二值变量的总个数为p,那么就有p=
q+r+s+t
如果一个二值变量取0或1所表示的内容同样重要, 那么该二值变量就是对称的。 如 “性别”就是对称变量,因为它究竟是用0还
是用1来(编码)表示“男”,“女”并不重要。 同样的基于对称二值变量所计算相应的相似(或差 异)性称为不变相似性(invariant similarity),因为无 论如何对相应二值变量进行编码并不影响到它们相似 (或差异)性的计算结果。
类分析结果产生。因此需要采用特定方法计算二值变量所描述对
象间的差异(程度)
计算方法:
根据二值数据计算差异矩阵;
如果认为所有的二值变量的权值均相同,那么就能得到 一个22条件表,如下图6.1所示。
对象j
对象i
1 0 合计
1 q s q+s
0 r t r+t
图6.1
合计 q+r S+t p
表中q表示在对象i和对象j中均取1的二值变 量个数,r表示在对象i取1而在对象j中取0的二值 变量个数,s表示在对象i中取0而在对象j中取1的
两个对象间的相似系数也可有多种定义形式 如:
夹角余弦法
相关系数法等
cov(x,y) ))/D(x)D(y) =E(x-E(x))(y-E(y))/D(x)D(y)
4、其它类型的变量相似性值
(1)二值变量 一个二值变量仅取0或1值,其中0代表(变量所表示的)状态 不存在;1代表相应的状态存在。 给定变量smoker,它描述了一个病人是否吸烟情况。 如:smoker为1表示病人吸烟,若smoker为0 ,表示病人不吸烟。 如果按照数值变量对二值变量进行处理,常会导致错误的聚
对于不变相似性(计算),最常用的描述对象i
和对象j之间差异(程度)参数是简单匹配关系数,
定义:
d(i,j)= (r + s)/ (q+r+s+t)
(7-9)
如果一个二值变量取0或1所表示内容的重要性 是不一样的,那么该二值变量就是非对称的。 例如,一个疾病disease-的测试结果可描述为 positive或negative。显然这两个(输出)结果的重要 性是不一样的、通常将少见的情况用l来表示 (如:HIV positive),而将其它情况用0来表示