1、模式识别 第二章 聚类分析,余莉,2,2.1 聚类的基本概念,似圆度,2.1.1聚类分析的基本思想 Clustering Analysis 据相似程度分类 无监督分类(Unsupervised),3,2.1 聚类的基本概念,2.1.2 特征量的类型 物理量:直接反映特征的实际物理意义 如:长度、重量、速度等。处理前需要离散化。 次序量:按某种规则确定的只反映特征的次序 关系或等级 如:产品的等级、病症的级或期。已是离散量。 名义量:反映样本的状态特征非数值的, 如男性与女性、事物的状态、种类等。需要数值化。这些特征的数值指标既无数量含义,也无次序关系,只是用数字代表各种状态。,4,2.1 聚类
2、的基本概念,2.1.3 方法的有效性 (1) 特征选取不当或不足使分类无效; (2) 特征选取过多可能有害无益,且增加分析负担。,5,2.1 聚类的基本概念,(3) 特征量纲对聚类结果的影响,财富(万),5 10,年龄,60,30,财富(十万),年龄,60,30,5 10,6,2.1.4聚类准则对聚类结果的影响,羊,狗,猫, 鲨鱼,蜥蜴,蛇, 麻雀,海鸥, 金鱼,青蛙,(a)繁衍后代的方式,金鱼, 鲨鱼,羊,狗,猫,蜥蜴,蛇,麻雀,海鸥,青蛙,(b) 肺的存在,金鱼, 鲨鱼,羊,狗,猫,蜥蜴,蛇,麻雀,海鸥,青蛙,(c) 生存环境,金鱼,蜥蜴,蛇,麻雀,海鸥,青蛙,(d)繁衍后代的方式和是否存
3、在肺,鲨鱼,羊,狗,猫,2.1 聚类的基本概念,2.1.5 距离测度对聚类结果的影响,2.1 聚类的基本概念,7,数据的粗聚类是两类,细聚类为4类,8,2.2 模式相似性测度,2.2.1 距 离 测 度2.2.2 相 似 测 度2.2.3 匹 配 测 度,9,2.2.1 距离测度(差值测度),Distance (or Dissimilarity) Measure 设特征矢量 和 的距离为 则 一般应满足如下公理,(1) (2) (3),(triangular inequality),10,(一)距离测度(差值测度), 欧氏(Euclidean)距离, 绝对值距离(街坊距离或Manhattan距
4、离),(3) 切氏(Chebyshev)距离,11,(一)距离测度(差值测度),(4) 明氏(Minkowski)距离,(5) Cambera距离(Lance距离、Willims距离),该距离能克服量纲的影响, 但不能克服分量间的相关性。,12,(一)距离测度(差值测度),(6)马氏(Mahalanobis)距离,其中,(协方差矩阵的无偏估计),(均值向量的估计),性质:对一切非奇异线性变换都是不变的。 即,具有坐标系比例、旋转、平移不变性, 并且从统计意义上尽量去掉了分量间的相关性。,13,马氏距离具有线性变换不变性,证明:设,有非奇异线性变换: 则,14,故,15,马氏距离的一般定义,设
5、、 是从期望矢量为 、协方差矩阵为的母体G中抽取的两个样本,则它们间的马氏距离定义为当 和 是分别来自两个数据集中的样本时,设C是它们的互协方差阵,则它们间的马氏距离定义为,当、V、C为单位矩阵时,马氏距离欧氏距离。 对于正态分布,等概率密度点轨迹是到均值矢量的马氏距离为常数的点所构成的超椭球面。,16,例2.1,求点 和 至均值点 的距离。解:由题设,可得从而马氏距离它们之比达 倍。若用欧氏距离,则算得的距离值相同:由分布函数知,A、B两点的概率密度分别为,已知一个二维正态母体G的分布为,17,2.2.2 相 似 测 度,重点考虑两矢量的方向是否相近,而忽略矢量长度。,(1) 角度相似系数(
6、夹角余弦) 矢量之间的相似性可用它们的夹角余弦来度量,(2) 相关系数 数据中心化后的矢量夹角余弦,性质:相关系数具有坐标系平移、旋转、比例不变性。,18,相关系数具有坐标系平移、旋转、比例变换不变性,证明: (作业),设,有旋转、平移变换: 其中,R是旋转变换矩阵(即正交矩阵), 是平移矢量。 则有,设,有旋转、平移变换: 其中,R是旋转变换矩阵(即正交矩阵), 是平移矢量。 则有,19,性质:不受量纲变化的影响。,(3) 指数相关系数,这里假设 和 的维数n相同、概率分布相同。是第i个分量的方差。,20,(三) 匹 配 测 度,若特征只有两个状态:,0 = 有此特征;1 = 无此特征。称之
7、为二值特征。 对于给定的二值特征矢量x和y中的某两个相对应的分量xi与yj 若xi=1,yj=1 ,则称 xi与yj (1-1)匹配; 若xi=1,yj=0 ,则称 (1-0)匹配; 若xi=0,yj=1 ,则称 (0-1)匹配; 若xi=0,yj=0 ,则称 (0-0)匹配。 对于二值n维特征矢量可定义如下相似性测度:,21,(三) 匹 配 测 度,(1) Tanimoto测度,(1-1)匹配的特征数目 (0-1)匹配的特征数目 (1-0)匹配的特征数目 (0-0)匹配的特征数目,令,注意,这里只考虑(1-1)匹配,而不考虑(0-0)匹配。,22,(三) 匹 配 测 度,(2) Rao测度
8、(3) 简单匹配系数 (4) Dice系数 (5) Kulzinsky系数,(1-1)匹配特征数目与特征总数之比,(1-1)匹配+(0-0)匹配/特征总数,只对(1-1)匹配加权,(1-1)匹配/ (1-0)匹配+(0-1)匹配,23,例 2.2,设(1) Tanimoto测度 (2) Rao测度 (3) 简单匹配测度 (4) Dice系数 (5) Kulzinsky系数,则,24,小结,一、影响分类的因数 (1)分类准则;(2)特征量的选择;(3)量纲。 二、模式相似性测度 (一) 距 离 测 度 (1) 欧氏距离 (2) 马氏距离 对坐标系平移、旋转、比例不变。 (二) 相 似 测 度 相
9、关系数 (特征矢量的方向) 对坐标系平移、旋转、比例不变。 (三) 匹 配 测 度 (0-1)匹配系数,25,2.3 类的定义与类间距离,2.3.1 类的定义 类的划分具有人为规定性,这反映在类的定义的选取及参数的选择上。 分类结果的优劣最后只能根据实际来评价。 定义1 设集合S中任意元素xi与xj间的距离dij有 dij h 其中h为给定的阈值,称S对于阈值h组成一类。,定义2 其中k为S中元素的个数。(类内平均距离),26,2.3.1 类的定义,定义3 设集合S中任意元素xi与xj间的距离dij有 其中k为S中元素的个数,称S对于阈值h,r组成一类。,定义4 xiS ,xjS,使dij h
10、成立,则称S对于 阈值h组成一类。(最近距离),定义5 若将集合S任意分成两类S1,S2,这两类间的 距离D(S1,S2)h,则称S对于阈值h组成一类。,27,2.3.2 类间距离测度,(一)最近距离 两个聚类k和l之间的最近距离定义为 式中, dij表示 xi k与xj l间的距离。 如果l由p和q两类合并而成,则有递推公式,28,2.3.2 类间距离测度,(二)最远距离递推公式,29,2.3.2 类间距离测度,(三)中间距离 递推公式,30,2.3.2 类间距离测度,(四)重心距离 递推公式式中 , 和 分别是i和j的重心, i,j=k,l,p,q 。,31,2.3.2 类间距离测度,(五
11、) 平均距离 两类p和q间的距离平方定义为这两类元素两两之间的平均平方距离,即 设l =p q ,类平均距离的递推公式为,32,2.3.2 类间距离测度,(六) 离差平方和法 设类t的重心是 , t的类内离差平方和定义为 设l =p q ,则sl要变大。把两类合并所增加的离差平方和定义为两类平方距离,即 ,可以证明k与l =p q的离差平方和的递推公式,33,类间距离递推公式,(其中l =p q ),34,2.3.3 聚类准则函数,评估分类过程或分类结果优劣的准则函数 (一)类内距离准则(误差平方和准则),式中,nj是j中的样本个数,,适用于各类模式呈团状分布的情况。,35,2.3.3 聚类准
12、则函数,(二)类间距离准则,式中, 是总的样本均值矢量,,加权类间距离准则,对于两类问题 ,可以定义,36,(三)基于类内类间距离的准则函数,构造能同时使Jwmin和JBmax的准则函数 类内离差矩阵(Scatter Matrix),总的类内离差矩阵,总的离差矩阵,类间离差矩阵,37,ST = SW + SB (作业),证明:,38,(三)基于类内类间距离的准则函数,聚类的基本目标是使 JWB=TrSBmax和JWW =TrSWmin 因此可定义如下聚类准则函数,Jimax,(i=1,2,3,4) 即,类内越“紧”,类间越“开”,聚类效果越好。,%该函数用于显示二维正态分布的函数图 clear
13、; %X1和X2分别为两个向量 X1=-5:0.1:5; X2=-5:0.1:5; %Miu为均值向量 Miu=1,1; %E为协方差矩阵 E=3 0.0;0.0 1.0; %y为求得的函数值 for i=1:length(X1)for j=1:length(X2)x=X1(i),X2(j);y(i,j)=exp(-0.5*(x-Miu)*inv(E)*(x-Miu);y(i,j)=y(i,j)/(2*pi)*sqrt(det(E);end end %显示函数值 meshc(X1,X2,y);,40,24 聚类的算法,(1) 简单聚类方法,算法运行中,两类合并为一类,不断重复进行。也称为谱系聚
14、类法。,(2) 层次聚类法,(3) 动态聚类法,算法运行中,类心不断地修正,各模式的类别的指定也不断地更改。这类方法有C均值法、ISODATA法等。,算法运行中模式的类别及类的中心一旦确定将不会改变。,41,24 聚类的算法-简单聚类方法,根据相似性阈值和最小距离原则, 条件及约定设待分类的模式为 ,选定类内距离门限 。 算法思想计算模式特征矢量到聚类中心的距离并和门限 比较,决定归属该类或作为新的一类中心。这种算法通常选择欧氏距离。,42,24 聚类的算法-简单聚类方法, 算法原理步骤 取任意的一个模式特征矢量作为第一个聚类中心。例 如,令 类的中心 。 计算下一个模式特征矢量 到 的距离
15、。若 ,则建立新的一类 ,其中心 。若 ,则 。,43,24 聚类的算法-简单聚类方法, 算法原理步骤 假设已有聚类中心 ,计算尚未确定类别的模式特征矢量 到各聚类中心 的距离 。如果 , 则 作为新的一类 的中心, ; 否则,如果 ,则指判 。检查是否所有的模式都分划完类别,如果都分划完了则结束;否则返到。,44,24 聚类的算法-简单聚类方法,45,简单聚类图例,24 聚类的算法-简单聚类方法,例2.4.1:初始条件不同的简单聚类结果,初始中心不同,样本顺序不同,1 2 3 4 5,1 2 3 4 5,1 2 3 4 5,1 2 3 4 5,10 9 8,10 9 8,8 7 6,8 7
16、6,11 6 7,11 6 7,9 10 11,9 10 11,47,层次聚类法 (Hierarchical Clustering Method) (系统聚类法、 谱系聚类法) 条件及约定设待分类的模式特征矢量为 , 表示第 次合并时的第 类。 算法思想首先将 N 个模式视作各自成为一类,然后计算类与类之间的距离,选择距离最小的一对合并成一个新类,计算在新的类别分划下各类之间的距离,再将距离最近的两类合并,直至所有模式聚成两类为止。,按最小距离原则不断进行两类合并,24 聚类的算法层次聚类法,48,24 聚类的算法层次聚类法, 找出前一步求得的矩阵 中的最小元素,设它 是 和 间的距离,将 和
17、 两类合并 成一类,于是产生新的聚类 令 检查类的个数。如果类数 大于2,转至;否则,停止。,49,3. 算法原理步骤,24 聚类的算法层次聚类法,例2.4.3:如下图所示 1、设全部样本分为6类, 2、作距离矩阵D(0) 3、求最小元素: 4、把1,3合并7=(1,3) 4,6合并8=(4,6) 5、合并的类数没有达到要求 作距离矩阵D(1),D(0),例2.4.3:如下图所示 7、作距离矩阵D(1) 8、求最小元素: 9、把2,5,8合并 9=(2,5,4,6) 10、合并的类数达到要求, 停止。,D(1),52,C-均值法 条件及约定设待分类的模式特征矢量集为 ,类的数目C是事先取定的。
18、 算法思想该方法取定 C个类别和选取 C个初始聚类中心,按最小距离原则将各模式分配到 C类中的某一类,之后不断地计算类心和调整各模式的类别,最终使各模式到其判属类别中心的距离平方之和最小。,依据准则函数,24 聚类的算法动态聚类法,53, 算法原理步骤,24 聚类的算法动态聚类法,(4) 如果 ,则结束,否则 ,转至(2)。,54,(3) 计算重新分类后的各类心式中 为类 中所含模式的个数。, 算法原理步骤,24 聚类的算法动态聚类法,55,4.动态聚类框图,24 聚类的算法动态聚类法,例2.4.3:已知有20个样本,每个样本有2个特征,数据分布如下图,使用C均值法实现样本分类(C=2)。,第
19、一步:令C=2,选初始聚类中心为,(0,0.5),(1.25,1.13),(7.67,7.33),(3) 动态聚类法ISODATA算法,(Iterative Self-Organizing Data Analysis Techniques Algorithm 迭代自组织数据分析),特点:启发性推理、分析监督、控制聚类结构及人机交互。条件及约定:设待分类的模式特征矢量为 ,算法运行前需设定7个初始参数。算法思想:在每轮迭代过程中,样本重新调整类别之后计算类内及类间有关参数,并和设定的门限比较,确定是两类合并为一类还是一类分裂为两类,不断地“自组织”,以达到在各参数满足设计要求条件下,使各模式到其
20、类心的距离平方和最小。,ISODATA算法原理步骤, 预置 设定聚类分析控制参数:=预期的类数,=初始聚类中心个数(可以不等于c),=每一类中允许的最少模式数目,=类内各分量分布的距离标准差上界,=两类中心间的最小距离下界,=在每次迭代中可以合并的类的最多对数,=允许的最多迭代次数。 将待分类的模式特征矢量 读入。 选定初始聚类中心,可从待分类的模式特征矢量集 中任选 个模式特征矢量作为初始聚类中心。,ISODATA算法原理步骤, 按最小距离原则将模式集 中每个模式分到某一类中,即 如果 则判 式中 表示 和类 的中心 之间的距离。 依据 判断合并。如果类 中样本数 ,则取消该类的中心 , ,
21、转至。 计算分类后的参数:各类中心、类内平均距离及总体平均距离。,ISODATA算法原理步骤, 计算各类的中心 计算各类中模式到类心的平均距离 计算各个模式到其类内中心的总体平均距离, 计算分类后的参数:各类中心、类内平均距离及总体平均距离。,ISODATA算法原理步骤,ISODATA算法原理步骤,ISODATA算法原理步骤, 计算各对聚类中心间的距离 依据 判断合并。将 与 比较,并将小于 的那些 按递增次序排列,取前L个, 。从最小的 开始,将相应的两类合并。若原来的两个类心为 和 ,则合并后的聚类中心为(已并掉的类数)。在一次迭代中,某一类最多只能被合并一次。,ISODATA算法原理步骤
22、, 如果迭代次数 已达 次或过程收敛,则结束。否则,若需要调整参数,则转至;若不改变参数,则转至。,ISODATA算法原理步骤,我们将ISODATA算法的合并和分裂的条件归纳如下: 合并的条件:(类内样本数 )(类的数目 )(两类间中心距离 ) 分裂的条件:(类的数目 )(类的某分量标准差 )这里,表示“或”的关系;表示“与”的关系。如果类的 数目 有 ,当 是奇数时分裂,当 是偶数时合并。 由上述合并与分裂的判断条件可以看出算法初设的7个参数存 在一定的相互制约。,ISODATA算法总结,(二维),(1)初始值设定:,类间距离上限,距离标准差上界,最少模式数目,合并的类的最多对数,ISODA
23、TA算法举例,(2)聚类(只有一个中心):,ISODATA算法举例,(4) 计算聚类中心、类内平均距离和总的平均距离。,(3)因 ,无合并:,ISODATA算法举例,(5)因不是最后一步迭代,且 ,转至,(6)求 的标准差矢量,ISODATA算法举例,(6) 因 且 将 分裂成 两类,取 , 则,(7)算得,且 转(2),ISODATA算法举例,(2)聚类(两个中心):,(3) 因 ,无合并:,ISODATA算法举例,(4) 计算聚类中心、类内平均距离和总的平均距离。,(5) 因这是偶次迭代,满足算法原理步骤中的条件,故转,ISODATA算法举例,(9)计算类间距离,由 ,类不能合并。,(11
24、) 因不是最后一 次迭代( ,题设 ), ,判断是否修改参数。由上面结果可知,已获得所要求类别数目,类间距离大于类内距离,每类样本数都有样本总数的足够大的百分比,因此不改变参数。,ISODATA算法举例,(2)(4) 计算结果与前一次迭代结果相同。 (5) 没有任一种情况被满足,到。 (6) 计算 和 的标准差矢量,(7),分裂条件不满足,转至。与前一次迭代结果相同, 无合并发生。 ,无新的变化, ,转至。, 与前一次迭代结果相同。 因是最后一次迭代,令 ,转至。 ,同前。 因 ,无合并发生。 因是最后一次迭代,结束。,80,小结,简单聚类:,层次聚类:,动态聚类:C-均值、ISOTDATA,81,上机,层次聚类,