模糊聚类分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模糊聚类分析----96845308-7160-11ec-a68e-7cb59b590d7d
聚类分析就是将一个没有类别标记的样本集按照某种准则划分成若干个子集(类),使相似的样本尽可能归为一类,而不相似的样本尽可能划分到不同的类中。
由于在对样本集进行聚类的过程中,没有任何关于类别的先验知识,所以聚类分析属于无监督分类的范畴。
传统的聚类分析是一种硬划分,它严格地将每个待识别对象划分为一个类。
阶级划分的界限是明确的,具有非此即彼的性质。
在现实世界中,无论是一组对象根据其亲和力和相似性形成一个组,还是一个对象是否属于一个类别,其边界往往是不明确的,并且具有“这个和那个”的性质。
对于这种具有不确定性的聚类问题,模糊聚类分析提供了一种强有力的分析工具。
模糊聚类分析能够建立样本对于类别的不确定性描述,表达样本类属的中介性,已经成为聚类分析研究的主流。
粗略来讲,模糊聚类分析方法可分为两类:基于模糊等价关系的聚类方法和基于目标函数的聚类方法。
有时,这两类方法也结合起来使用。
一、数据预处理
在模糊聚类分析中,我们称待分类的对象为样本。
要对样本进行合理的分类,首先应考虑样本的各种特性指标(观测数据)。
设有n个被分类对象,即样本集为
x={x1,x2,…,xn}
每一个xi有m个特性指标,即xi可表示为特性指标向量
xi={xi1,xi2,…,xim}
其中xij表示第i个样本的第j个特性指标。
于是,n个样本的特性指标矩阵为
⎜⎜x21⎜M⎜⎜十、⎜n1x12lx1m⎜
x22lx2m⎜
xn2lxnm⎜⎜
通常,我们也将样本集记为特性指标矩阵的形式,即x=(xij)n×m。
如果M个特征指标的维度和数量级不同,在运行过程中可能会突出一些大数量级特征指标的作用,而一些小数量级特征指标的作用可能会减少甚至被排除,导致每个特征指标的分类缺乏统一的尺度。
因此,为了消除不同特征指标单位和数量级的影响,当特征指标的维度和数量级不同时,通常会提前对各种指标值进行数据标准化(归一化),使每个指标值统一在一个共同的数值特征范围内。
我们称之为数据预处理。
常用的数据标准化方法有两种:均值方差标准化和极大极小标准化。
(1)均值方差标准化
假设给定的样本集为x=(Xij)n×m。
标准化样本集为x=(x′ij)n×m。
然后
,i=1,2,…,n,j=1,2,…,m
j=∑xij,σj=
(2)极大极小标准化
(十九)−j),j=1,2,…,m∑N−1i=1
设给定的样本集为x=(xij)n×m,标准化之后的样本集为x=(x′ij)n×m,则
xij−xjminxjmax−xjmin
,i=1,2,…,n,j=1,2,…,m
xjmin=min{xij},xjmax=max{xij},j=1,2,…,m
显然,实施数据标准化之后,每个指标值均在区间[0,1]中。
二、基于模糊等价关系的聚类方法(Ⅰ)模糊等价矩阵聚类方法
模糊等价矩阵聚类方法是典型的基于模糊等价关系的聚类方法之一。
其主要思想就是从计算各个样本之间的相似性统计量出发,建立样本集x上的模糊相似矩阵(关系);通过改造模糊相似矩阵为模糊等价矩阵,达到对样本集x进行模糊聚类的目的。
模糊等价矩阵聚类法
1°选择适当的相似性统计量;2°构造样本集上的模糊相似矩阵;3°将模糊相似矩阵改造为模糊等价矩阵;4°聚类;画出聚类的谱系图。
1.建立模糊相似矩阵
将样本集分类为x={x1,X2,…,xn}或x=(Xij)n×m,并已标准化。
如果可以计算相似性统计RiJ来测量样本席XI和XJ之间的相似性,那么
,i,j=1,2,…,n0≤rij≤1,
其中,RiJ=0表示样本席席和XJ根本不相似,RiJ=1表示样本席Xi和XJ完全相似或相等,RII表示样本Xi和它们自身之间的相似程度,它总是被取为1,即,RII=1,I =1,2,…N.然后,基于样本集X,建立描述样本之间模糊相似关系的模糊相似矩阵
⎜r11r12⎜
⎜r21r22r=⎜
⎜rr⎜n1n2lr1n⎜
⎜lm⎜lrnn⎜⎜
常用的计算样本的相似性统计量的方法有如下几种:(1)相关系数法−我|⋅|xjk−j|
i=∑xik,j=∑xjk
mk=1mk=1
(2)夹角余弦法
x2ik⋅x2jk
(3)数量积法
⎜1.⎜里杰=⎜1.
其中m为一适当选取的正数,满足
⋅xjk,我≠J
⎜m⎜m≥max⎜∑xik⋅xjk⎜
(4)最大最小法
k=1mk=1
(5)算术平均最小值法
(xik+xjk)∑2k=1
(6)几何平均最小值法
xik⋅xjk
(7)指数相似系数法
其中sk是第k个特征的标准差:
1.∑emk=1
4(xik−xjk)−⋅23sk
s=(∑希克−k)二,
(8)绝对值指数法
(9)绝对值减法
∑|xik−xjk|
1.−C∑|希克−xjk |,i≠J⎜k=1⎜
其中,c是一个适当选取的数,使得0≤rij≤1。
(10)绝对倒数法
i=j⎜1,⎜m⎜,i≠jrij=⎜m
⎜∑|希克−xjk|⎜⎜k=1
其中m为适当选取的正数,使得0≤rij≤1。
2.将模糊相似矩阵转化为模糊等价矩阵
根据计算相似性统计量得到的模糊矩阵r,一般只满足自反性和对称性,即r是相似矩阵。
为了进行模糊聚类,需将r改造成模糊等价矩阵。
为此采用平方法求出r的传递闭包t(r),t(r)便是所求的模糊等价矩阵。
根据得到的模糊等价矩阵t(R),我们可以使用不同层次的割矩阵来得到该层次的聚类结果。
所有不同层次的聚类结果构成了聚类谱系。
例环境单元分类
每个环境单元包括四个要素:空气、水、土壤和作物。
环境单元的污染状况通过四种元素中污染物含量的超标来描述。
有五个环境单位,其污染数据如下:
i=(5,5,3,2),ii=(2,3,4,5),iii=(5,5,2,3),iv=(1,5,3,1),v=(2,4,5,1)
让u={I,II,III,IV,V},并尝试对u进行分类。
解样本集的特性指标矩阵为
⎜5.⎜⎜2.⎜5.⎜⎜1.⎜2.⎜
5355434235
2.⎜⎜5.⎜
3.⎜⎜1.⎜1.⎜⎜
由于数据不存在量纲和数量级的差异,故不需进行数据标准化,直接进入构造模糊相似矩阵步骤。
按照绝对值减数法建立模糊相似关系,取c=0.1,得模糊相似矩阵
⎜⎜0.1r=⎜0.8
⎜⎜0.5⎜0.3⎜
⎜1.⎜⎜0.3r2=⎜0.8
⎜⎜0.5⎜0.5⎜⎜1⎜⎜0.4r8=⎜0.8
⎜⎜0.5⎜0.5⎜
0.310.30.40.40.410.40.40.4
0.80.310.50.50.80.410.50.5
0.50.40.510.60.50.40.510.6
0.110.10.20.40.80.110.50.30.50.20.510.6
0.3⎜⎜0.4⎜0.3⎜⎜0.6⎜1⎜⎜0.410.40.40.4
0.80.410.50.5
0.50.40.510.6
0.5⎜⎜0.4⎜0.5⎜,
⎜0.6⎜1⎜⎜
用平方法求传递闭包,将模糊相似矩阵转化为模糊等价矩阵。
我们有:
⎜⎜0.4⎜⎜0.40.5⎜,r4=⎜0.8⎜⎜0.6⎜⎜0.5
⎜0.51⎜⎜⎜0.5⎜
0.5⎜=r4⎜0.6⎜1⎜⎜
因此,传递闭包t(R)=R4是模糊等价矩阵。
根据得到的模糊等价矩阵t(R),通过使用不同级别的切割矩阵,得到每个级别的聚类结果,如下所示:
当0.0≤λ≤0.4时,u分为一类:{i,ii,iii,iv,v};当0.4
最后,所有不同级别的聚类结果形成如下聚类谱系:
不同水平下聚类结果的谱系图
(二)模糊最大生成树聚类方法
模糊最大支撑树聚类方法是另一个典型的基于模糊等价关系的聚类方法。
它首先构造一个完全赋权图k|x|,k|x|中的顶点为待分类的样本点,边权为相应的两个样本之间的相似性统计量值;然后通过寻找完全赋权图k|x|的最大支撑树,来进行聚类。
模糊最大生成树聚类法1°选择合适的相似性统计;2.在样本集上构造模糊相似矩阵;
3°根据模糊相似关系矩阵构造完全赋权图;4°寻找完全赋权图的最大支撑树;5°
由最大支撑树进行聚类分析。
1.建立模糊相似矩阵
将样本集分类为x={x1,X2,…,xn}或x=(Xij)n×m,并已标准化。
如果可以计算
相似性统计RiJ来测量样本席XI和XJ之间的相似性,那么
,i,j=1,2,…,n0≤rij≤1,
其中,RiJ=0表示样本席席和XJ根本不相似,RiJ=1表示样本席Xi和XJ完全相似
或相等,RII表示样本Xi和它们自身之间的相似程度,它总是被取为1,即,RII=1,I
=1,2,…N.然后,基于样本集X,建立描述样本之间模糊相似关系的模糊相似矩阵
⎜r11r12
r=⎜2122
⎜rr⎜n1n2lr1n⎜
⎜lrnn⎜⎜
建立模糊相似矩阵的方法与模糊等价矩阵聚类法完全相同。
2.构造完全赋权图
构造一个完全加权的图k x,其中顶点集是x= {x1,x2,…,xn},每个边xxJ的权
重是席和XJ之间的相关性。
系数(模糊相似关系矩阵中的元素)rij。
3.找到k | x的最大支撑树|
用kruskal算法或者prim算法,求完全赋权图k|x|的最大支撑树(生成树)t。
kruskal算法和prim算法可参见相关的图论著作。
4.聚类
选择合适的阈值λ,切断小于最大支持树tλ的权重。
连接的顶点(采样点)属于同一类。
例如,设x={1,…,6},已知的模糊相似矩阵为:
⎜1⎜⎜0.53⎜0.38r=⎜
⎜0.45⎜0.64⎜⎜0.60⎜
利用图论中的prim算法,可求得矩阵
10.380.450.530.38
0.381⎜0.380.451⎜⎜0.530.550.591⎜⎜
1616⎜⎜1.
⎜⎜t=⎜56423⎜
⎜0.640.600.550.530.53⎜⎜⎜
其中,矩阵t中的第一、第二行表示构成最大支撑树t的边的端点标号,第三行表示
对应的边权值,如图。
根据最大生成树T,可以得到不同层次的聚类结果如下:
当0.00≤λ≤0.53时,x分为一类:{1,2,3,4,5,6};当0.53
最后,所有不同级别的聚类结果形成如下聚类谱系:
不同水平下聚类结果的谱系图
(三)最佳阈值的确定
基于模糊等价关系的模糊聚类算法,如上述的模糊等价矩阵法和模糊最大支撑树法,
本质上是一种动态的聚类方法,最终给出的只是在不同水平下的聚类结果。
如何选择阈值λ,使得在λ水平下样本集的聚类结果更为合理,我们称之为最佳阈值的确定问题。
最
佳阈值通常根据问题的背景和经验知识来确定,也可以运用f统计量来选择理论最佳阈值。
如果样本集X={x1,X2,…,xn}的第k个样本的特征索引向量是XK={XK1,xk2,…,XKM},k=1,。
,N、倪是第二个
iiiiiii
},的特征指数向量为XK,k=1,。
,Ni,I类样品的数量,I类样品为{x1i,X2,K,xnixk=(XK1,xk2,K,XKM)
则第i个类的聚类中心向量为
vi=(v,v,k,v),v=
,j=1,…,m
样本集的中心向量为
=(1,2,k,m),j=∑xj,j=1,…,m
设置λ值对应的Cλ并构造F统计量
ni||vi−||2∑c−1i=1
fλ=λcλni
||xij−vi||2∑∑n−cλi=1j=1
在公式中,分子表示类之间的距离,分母表示类内的距离,Fλ越大,分类越合理,
与最大F统计量对应的阈值λ*是最佳阈值。
三、模糊c均值聚类方法
模糊C均值聚类算法是一种通用的数据聚类算法,其中每个样本点属于一个类的程度
由隶属度来确定。
在基于目标函数的模糊聚类方法中,FCM算法具有最完善的理论和应用
(一)模糊c均值(fcm)聚类算法
在每个模糊群中找到FCM,将包含N个向量的样本集X={x1,X2,…,xn}划分为C个
模糊群,
找一个聚类中心,使得一个基于距离测度的目标函数最小化。
它兼顾了类之间的交迭,允许对象对所有的类有部分归属。
每一个样本点都以0和1之间的一个隶属程度属于任何
群组,聚类的结果是用下面的c×n矩阵
u=(μik)c×n
⎜⎜μ=⎜21
M⎜⎜ μ ⎜c1
μ12lμ1n⎜
μ22lμ2n⎜
表示的一个模糊c划分:
mfc={u∈rc×n |μik∈[0,1];
∑i=1μik=1,∀k;n>∑k=1μik>0,∀i}
矩阵U的第i行给出了一个模糊子集,描述了样本集中的第i类Xμ隶属函数i,
i=1,。
,Cu的第k列表示样本点XK在X的C模糊子集中的隶属度值;μik=μI(XK)表示XK所属的第I类(模糊子集)的成员值。
设jm:mfc×rc×p→r+,
jm(u,v)=
mik2dik(2.4.1)
给你∈ MFC是X的模糊C划分;V={V1,…,VC},VI∈ RP是I的第I个模糊群μ
簇中心,I=1,。
,CDik是采样点XK和I类中心向量VI之间的距离度量,
dik=||xk−vi||a=(xk−vi)ta(xk−vi),a是p阶对称正定矩阵(2.4.2)
M∈ [1, ∞] 是控制最终划分模糊性的加权指数。
增加m将增加函数的模糊性。
显然,JM(U,V)是一个平方误差聚类准则。
该算法的目的是寻找合适的u和V来最小化JM(u,V)。
因此,将聚类问题转化为以下非线性优化问题
=juvmin(,)μ∑∑⎜mikdik
(2.4.3)i=1k=1⎜
⎜s.t.u∈m
因为U中的每一列都是独立的,所以
⎜cnm2⎜n⎜cm2⎜
min{jm(u,v)}=min⎜∑∑ μikdik⎜=∑闵⎜∑μikdik⎜(2.4.4)
⎜i=1k=1⎜k=1⎜i=1⎜
考虑约束条件
μik=1,使用lagrange乘数法,令
f=∑ μd+λ⎜∑ μik−1.⎜(2.4.5)
i=1⎜i=1⎜
然后给出了优化的一阶必要条件
=∑μik−1=0(2.4.6a)∂λi=1
∂F∂ μ=mμm−12
jtdjt−λ=0jt
从(2.4.6b)
μ⎜jt=⎜⎜⎜md2⎜
将上述公式替换为(2.4.6a)
⎜c⎜lt==1
⎜M⎜⎜⎜⎜⎜d2⎜=⎜⎜ λ⎜书信电报⎜
⎜∑⎜⎜1⎜m−1⎜2⎜⎜=1⎜⎜l=1⎜dlt⎜⎜⎜
l=1⎜⎜d2⎜书信电报⎜
将上式代入(2.4.7)得
⎜djt⎜⎜⎜D⎜l=1lt⎜⎜
考虑到dik可能为0,应分两种情况加以讨论。
对于∀k,定义集合
i={i|1≤我≤c、 d~
kik=0},ik={1,…,c}−ik,
然后将JM(U,V)最小化,μIK值为:
(2.4.6b)(2.4.7)
1.⎜= μ、 ik=∅
2.⎜ik
c⎜⎜dik⎜m−1
(2.4.8)⎜⎜⎜∑j=1⎜⎜⎜djk⎜⎜
~⎜μ=0,∀i∈iik≠∅k,∑i∈iμik=1,k⎜ik
使用类似的方法,可以得到JM(U,V)的最小VI值。
顺序
jm(u,v)=0∂vi
∑ μikk=1n
[(xk−vi)ta(xk−vi)]=0∂vi
[−2a(xk−vi)]=0
mμ∑ik(xk−vi)=0k=1n
x(2.4.9)
若样本集x、聚类数c和权重m的值已知,就能由式(2.4.8)和(2.4.9)确定最佳模糊分类矩阵和聚类中心。
算法的迭代步骤如下:
FCM聚类算法
1°初始化:给定聚类数c,0≤c≤n,设定迭代停止阈值ε,初始化中心向量矩阵v(0),设置迭代计数器l=0;
2°更新分区矩阵U(L):用于∀一、 K,如果∃ Dik>0,有
⎜c⎜(l)⎜m−1⎜d⎜⎜=⎜∑⎜ik⎜⎜(2.4.10a)(l)
⎜djk⎜⎜⎜⎜j=1⎜⎜⎜
如果∃i,r使得dir=0,则有
=1,对于J≠ R、μij=0(2.4.10b)μir
3°更新聚类中心向量矩阵v(l+1):对于∀i,k,如果∃dik>0,则有
六(l+1)=
(l+1)mik
(2.4.11)
4°判断与终止:如果||v(l)−v(l+1)||
FCM是实现模糊聚类的典型算法。
它通过最小化类内距离来更新成员身份。
一旦确定
了样本点的隶属度,将根据最大隶属度原则将样本点分配给具有最高隶属度的类别。
(2)聚类有效性分析
与其它基于目标函数的模糊聚类方法一样,fcm要求在实施算法之前,必须事先指定
分类数目。
如果我们指定的聚类数不正确,即使使用很好的聚类算法也不会得到最优的聚
类结果。
例如,图1给出一个数据集,我们从视觉上很容易得知这个数据集分三类。
然而,当我们使用fcm聚类算法对其进行聚类,并把类别数设为4时,我们会得到如图2所示的
结果。
fcm算法可能得到了类别数为4时的最好的聚类效果,然而这个结果对于这个数据
集来说却不是最优的,因为它没有反应出数据集的真实结构。
图1由三种数据类型组成的数据集图2通过FCM将数据集聚合为四种类型的结果
然而,在实际应用中通常事先并不知道或难以确切知道样本集的聚类数。
因此,根据
给定样本集中数据的内在结构来自动判断样本集最应该具有的聚类数(称之为最佳聚类数),是一个非常有意义的课题。
这种自动寻求样本集的最佳聚类数问题,我们称之为聚
类有效性分析,可以借助有效性函数来实现。
聚类的有效性函数,均以聚类算法的相关参
数为自变量,目的是评价在选定的参数值下,算法所得的分类结果是否或以多大程度有效
地反映了数据本身固有的分类结构。
经过深入研究,人们基本取得一致的认识:反映聚类
有效性的主要特征是类内的紧致性和类间的分离性,因而人们设计的聚类有效性函数,都
始于这一基本出发点。
已有许多聚类有效性函数被提出,人们仍在逐步改进。
有代表性的是:。
(1)分配
系数
如果将给定样本集分成c类,对应的模糊划分矩阵为u=(μij)c×n,则相应的划分系数为
足球俱乐部=∑∑ μij=tr(uut)
ni=1j=1n
FC的最大值对应于最佳簇数c*。
,反映的是在模糊划分矩事实上,若令uut=(sij)c×c,则sij是u的第i行与第j 行的内积(即相关性)阵为u的模糊聚类中,第i类与第j类两类相互覆盖的程度。
考虑了两种特殊情况:
情形1:分类是清晰的。
此时,模糊划分矩阵u为如下形式(以c=3,n=7为例):
⎜1100000⎜
u=⎜0010100⎜⎜
⎜⎜0001011⎜⎜
相应的uut为:
uut=⎜020⎜⎜
⎜⎜003⎜⎜
分配系数为FC=1。
这表明,任何两个类别都不能相互涵盖。
情形2:分类是最模糊的。
此时,分类矩阵r为如下形式:
mlmu=⎜⎜⎜⎜⎜L⎜⎜c×n
相应的uut为:
uut=⎜毫升
⎜nl⎜c⎜⎜m⎜n⎜c⎜c×c
C分配系数为FC=1/C。
这表明任何两个类别在最大程度上相互覆盖。
可以证明:1/c≤fc≤1。
(2)平均模糊熵
如果给定的样本集被划分为C类,则相应的模糊划分矩阵为u=(μij)C×n,则相应的平均模糊熵为
hc=−∑∑μijln(μij)
ni=1j=1
hc的最小值对应于最佳的聚类数c*。
平均模糊熵以熵函数的形式度量对应于模糊划分的模糊性。
显然,如果分类清晰,模糊划分矩阵退化为硬划分矩阵:μIj∈ {0,1},HC=0。
上面提到的划分系数和平均模糊熵这两个有效性函数,只用隶属度来衡量聚类的有效性,而没有考虑到数据集的结构,通常它们有如下几个缺陷:
•聚类数量变化的单调性•对模糊聚类算法中的加权指数(m)敏感•与样本集的数据结构缺乏直接联系
而下面有效性函数,则同时兼顾了模糊划分的隶属度和样本集的数据结构。
(3)变异−−决议
如果将给定样本集分成c类,对应的模糊划分矩阵为u=(μij)c×n,聚类中心矩阵为v=(v1,v2,…,vc)t,vi为第i类的聚类中心向量,则相应的变差−−分离度为
瓦恩(u,v)大众=
sepn(c,u)
VW的最小值对应于最佳簇数c*,其中
varn(u,v)=
var(u,v)
,varmax=maxvar(u,v),
C∈{2,3,l,cmax}varmaxsep(c,u)
,sepmax=maxsep(c,u)
C∈{2,3,l,cmax}sepmax
sepn(c,u)=
我们称var(U,V)为变化程度,其定义如下:
⎜cnμijd2(xj,vi)⎜⎜c+1⎜2
var(u,v)=⎜∑∑⎜ × ⎜
n(i)c−1⎜⎜⎜⎜i=1j=1⎜⎜
这里,n(I)是I类样本的数量,D(x,y)是一个度量,定义为:
d(x,y)=[1−exp(−β||x−y||2)]1/2
变异程度反映了整个样本集的平均类内离散度。
分类效果越好,类内数据越接近,变
异程度越小。
称sep(c,u)为分离度,其定义如下:
九月(c,u)=1−max{s(fi,fj)}
s(fi,fj)=max{min(μik,μjk)}
分离度通过模糊集之间的差异来描述不同类别之间的分离度。
分类效果越好,分离度
越大。
注:最佳聚类数c*的求取,通常是对c=2,3,…,cmax逐次实施模糊聚类算法,然后根据相应的模糊划分矩阵u和聚类中心矩阵v计算有效性函数值,最后比较得出最佳的聚类
数c*。
在实际应用中,需要处理的数据集其样本数可能非常大,但真实的分类数并不很大。
因而通常取cmax=n1/2,或者根据实际情况将cmax限定的更小,以减少算法运行的费用。
该示例假设给定的数据集如表1所示,样本点分布的散点图如图1所示。
图1数据的散点图
分配系数、平均模糊熵和变异−−分离度用于15次测试给定数据的有效性。
试验结
果如表2-4所示。
从有效性函数的平均测试值可以看出,给定数据集的最佳聚类数为2,
也就是说,从数据的分布结构来看,将其分为两类是最合理的。
如果将数据集分成两类,根据fcm聚类算法,得到的聚类结果如表5。
表5分为两类的聚类结果
样本序号所属类标号样本序号所属类标号样本序号所属类标号
表1:给定数据集
表2划分系数
表4变化−−分离。