1、第6章 聚类分析,本章目标 辩别类有不同表示法和相似度的不同量度标准。 比较凝聚聚类和分区聚类算法的基本特征。 用相似度的单链接或全链接度量标准实现凝聚算法。 推导分区聚类的K-平均法并分析其复杂性。 解释增量聚类算法的实现和它的优缺点。,聚类分析是依据样本间关联的量度标准将其自动分成几个群组,且使同一群组内的样本相似,而属于不同群组的样本相异的一组方法。聚类分析的一个附加的结果是对每个类的综合描述,这种结果对于更进一步深入分析数据集的特征是尤其重要。,6.1 聚类概念,聚类的样本是用度量指标的一个向量表示,或更正式的说法是,用多维空间的一个点来表示。同类中的样本比属于不同类的样本彼此具有更高
2、的相似性。聚类方法尤其适合用来探讨样本间的相互关联关系从而对一个样本结构做一个初步的评价。人们能够对一维、二维或三维的样本进行聚类分析,但是大多数现实问题涉及到更高维的聚类。,例如:下表是一个简单聚类例子,包含了9个顾客的信息,分三类,两个特征值(数量,价格) 类1:购少量高价商品,类2:购大量的高价品,类3:购小量的低价商品。,聚类是一个非常难的问题,因为在一个n维的样本空间数据可以以不同的形状和大小揭示类。 下面基于欧几里得二维空间的聚类过程的一个示例。,上面数据可以分类三个类也可以分为四个类,类的数量的任意性是聚类过程中的主要问题。 另一方面,上面的类是能够直接观察到的。对于高维欧几里得
3、空间里的一组点,就无法从视觉上观察到。聚类分析输入可以用一组有序数对(X,s)或(X,d)表示。聚类系统的输出是一个分区=G1,G2,GN,其中Gk(k=1,N)是X的子集。 G1,G2,GN称为类,每一个类用一些特征描述。聚类结果是类和它的特征或描述。,规范化的描述有以下几种图式:1.通过它们的重心或类中关系远的(边界)点表示n维空间的一类点。2. 使用聚类树中节点图形化地表示一个类。3.使用样本属性的逻辑表达式表示类。,现有的用于数据挖掘的聚类方法分为四类:分割法,分层法,密度法和网格法。 分割聚类法一般是通过优化一个评价函数把数据分割成K个部分,主要有两种方法:K-means聚类法和K-
4、medoid聚类法.K-means法在处理海量数据库方面很有效,特别是对数值属性处理。K-prototypes是结合K-means和K-modiod的优点,可以同时处理数值与符号属性和聚类法,分层聚类法是由不同层次的分割聚类组成,层次之间的分割具有嵌套关系。分层聚类法不必事先输入聚类块数K,基于模糊相似关系的模糊聚类属于这种聚类法。 密度聚类法是利用数据密度函数进行聚类。 网格聚法利用空间量子化方法把数据分到有限个单元进行聚类,这种方法效率高,与数据大小无关,仅与单元数有关。,值得注意的是:没有哪一种聚类技术对揭示多维数据集中的构造种类是普遍适用的。使用者对问题的理解和与其相应的数据类型是选择
5、合适方法的最好标准,大多数聚类算法基于下面两种常见方法:1.层次聚类2.迭代的平方误差分区聚类 层次方法按群组的嵌套顺序组织数据,以树状图或树形结构来表示。 平方误差分区算法试图得到一个使类内分散最小而类间分散最大的分区。它是非层次的。,6.2 相似度的度量,为了规范化相似度的度量标准,我们有如下约定:在样本空间的聚类算法中,用一个数据向量表示一个样本x(或特征向量,观察值)。假定每一个样本xi,i=1,n都用向量xi=xi1,xi2,xim来表示,m的值是样本的维数(特征),n是一个样本数。 如果某个样本xi的单个分量xij是一个特征或属性值,那么每一组成xij,j=1,m是一个域Pj。则每
6、一个特征的值的取值范围。,Pj可以是二元类型,整型,实数,或某一特征的一组分类。 例如Pj是一组颜色: Pj =白,黑,红,蓝,绿。 由于相似度是定义一个聚类的基础,因此在聚类分析中有必要建立同一特征空间中的两种模式的相似度的度量标准。而且聚类分析过程的质量取决于对度量标准的选择。 一般地,不是计算两个样本间的相似度,而是用特征空间中的距离作为度量标准计算两个样本间的相异度。,聚类中的“相似度”意味着当x和x是两个相似样本时,s(x,x)的取值是很大的,当x和x不相似时,s(x,x)的取值是很小的。而且,相似度的度量标准S具有自反性:s(x.x)=s(x.x)对于大多数聚类方法,相似度的度量可
7、以标准化为:0s(x,x)1 相异度的度量标准用d(x,x)来表示。通常称相异度为距离。当x和x相似时,d很小,当x和x不相似时,d很大。而且d0,d(x,x)=d(x,x),d(x,x)d(x,x)+d(x,x),距离度量标准的算式:1.欧氏距离:2.L1距离或城区距离:3.明考斯基距离:显然,p=1时(3)与(2)距离一样;p=2时(3)与(1)距离一样。,欧氏 n维空间模型不仅给出了欧氏距离,还给出另外的相似度度量标准,余弦相关就是其中之一:则有:当xi=xj,0时 scos(xi,xj)=1;当xi=xj,0时 scos(xi,xj)=-1 例如:对于一个四维向量x1=1,0,1,0,
8、x2=2,1,-3,-1scos(xi,xj)=(2+0+3+0)/(21/2151/2)=-0.18。,由于样本中的特征可能包含一些或全部不连续值,这种情况不可能采用上面距离度量标准。实际上,对于异类样本的不同特征使用不同的距离度量标准。下面介绍一个可行的二元类型数据的距离度量标准。 假定,每一个样本都由n维向量xi表示,该向量xi由一个二类型数值组成。两个样本xi和xj间的距离量度标准计算方法是:,第一步:构造样本xi和xj的22列联表:,1.a为样本中xi和xj同时为1的数量。 2. b为样本中xi=1和xj=0的数量。 3. c为样本中xi=0和xj=1的数量。 4. d为样本中xi和
9、xj同时为0的数量。,例如:xi=0,0,1,1,0,1,0,1xj=0,1,1,0,0,1,0,0则a=2,b=2,c=1,d=3 第二步:采用下面3种方式计算二元特性样本的相似度。 1.简单匹配系数:Ssmc(xi,xj)=(a+d)/(a+b+c+d) 2.Jaccard系数:Sjc(xi,xj)=a/(a+b+c) 3.Rao系数:Src(xi,xj)=a/(a+b+c+d),在环境已知的情况下,两个点xi和xj之间的相似度可用互近邻距离(mutual Neighbor Distance,MND)来度量,它定义如下:MND(xi,xj)=NN(xi,xj)+NN(xj,xi)其中,NN
10、(xi,xj)是xj对xi点的邻近数目。如果xi是xi离最近的点,那么NN(xi,xj)等于1,如果它是第二近的点, NN(xi,xj)等于2,以此类推。下图是MND量度标准的计算。,NN(A,B)=NN(B,A)=1MND(A,B)=2 NN(B,C)=1,NN(C,B)=2 MND(B,C)=3 通过对图6-3加入3个新点D、E、F得出图6-4。,因为环境改变了,样本点A、B、C之间的距离也改变了。 NN(A,B)=1,NN(B,A)=4MND(A,B)=5 NN(B,C)=1,NN(C,B)=2MND(B,C)=3 尽管A和B未动,但因引入离A近的其他点,使A和B的MND增大了,B和C点变得比A和B具有更高的相似度。,一般地,根据样本之间的一个距离度量标准,可以确定类(样本集)间的距离度标准,这些度量标准对评价一个聚类过程的质量是必不可少的。广泛应用于Ci和Cj的距离度量标准是: 1)Dmin(Ci,Cj)=min|pi-pj| 2)Dmean(Ci,Cj)=|mi-mj| 其中mi和mj是Ci和Cj的质心 3)Davg(Ci,Cj)=1/(ninj)|pi-pj| 4)Dmax(Ci,Cj)=max|pi-pj|,