基于matlab的模糊聚类分析.ppt
基于基于MatlabMatlab的模糊聚的模糊聚类类分析及其分析及其应应用用管理数学实验课程汇报学号:2120111705姓名:贾珊1预备 预备 知 知 识 识1基于 基于MATLAB MATLAB 的模糊聚 的模糊聚类 类 分析的 分析的 传递 传递 方法 方法2实实例例应应用用3ContentsContents1.预备知识31.1.预备预备知知识识u 聚类分析和模糊聚类分析u 模糊相似矩阵u 模糊等价矩阵u 模糊矩阵的-截矩阵u 模糊传递闭包和等价闭包4定义一:(模糊)聚类分析 在科学技术,经济管理中常常需要按一定的标准(相似程度或亲疏关系)进行分类。对所研究的事物按一定标准进行分类的数学方法称为聚类分析。由于科学技术,经济管理中的分类往往具有模糊性,因此采用模糊聚类方法通常比较符合实际。我们不能明确地回答“是”或“否”,而是只能作出“在某种程度上是”的回答,这就是模糊聚类分析。定义二:模糊相似矩阵 若模糊关系 R 是 X 上各元素之间的模糊关系,且满足:(1)自反性:R(x,x)=1;(2)对称性:R(x,y)=R(y,x);则称模糊关系 R 是 X 上的一个模糊相似关系.当论域X=x1,x2,xn 为有限时,X 上的一个模糊相似关系 R 就是模糊相似矩阵,即R 满足:(1)自反性:I R(rii=1);(2)对称性:RT=R(rij=rji).定义三:模糊等价矩阵 若 X=x1,x2,xn 为有限论域时,X 上的模糊等价关系R 是一个矩阵(称为模糊等价矩阵),它满足下述三个条件:(1)自反性:rii=1,i=1,2,n。(2)对称性:rij=rji,i,j=1,2,n。(3)传递性:R R R,即 定义四:模糊矩阵的 截矩阵设A=(aij)m n,对任意的 0,1,称A=(aij()m n,为模糊矩阵A 的-截矩阵,其中 当aij 时,aij()=1;当aij 时,aij()=0.显然,A 的-截矩阵为布尔矩阵.若 R 是 X 上的模糊等价关系,则其 截关系是经典等价关系,它们都可将 X 作一个划分,当 从 1 下降到 0 时,就得到一个划分族,而且由于 时,R x R x,即 R 给出的分类结果中的每类,是 R 给出的分类结果的子类,所以 R 给出的分类结果比 R 给出的分类结果更细。随着 的下降,R 给出的分类越来越粗,这样就得到一个动态的聚类图。但通常模糊关系,不一定有传递性,因而不是模糊等价关系,对这种模糊关系直接进行上述分类显然是不合理的。为此,我们希望寻求一种方法,能将不是等价的模糊关系进行改造,以便分类使用。定义五:模糊传递闭包设 R F(X X),称 t(R)为 R 的传递闭包,如果 t(R)满足:(1)传递性:(t(R)2 t(R);(2)包容性:R t(R);(3)最小性:若 R 是 X 上的模糊传递关系,且 R R t(R)R,即 R 的传递闭包t(R)是包含 R 的最小的传递关系。定义六:模糊等价闭包设 R F(X X),称 e(R)为 R 的等价闭包,若 e(R)满足下述条件:(1)等价性:e(R)是 X 上的模糊等价关系。(2)包容性:R e(R)。(3)最小性:若 R 是 X 上的模糊等价关系,且 R R e(R)R。显然,R 的等价闭包是包含 R 的最小的等价关系。重要定理设 R F(X X)是相似关系(即 R 是自反、对称模糊关系),则e(R)=t(R),即模糊相似关系的传递闭包就是它的等价闭包。在实际问题中建立的模糊关系,多数情况下都是相似关系,定理给我们提供了一个求相似关系的等价闭包的方法。当论域为有限集时,此法很简便,即对相似矩阵 R,求 R2,R4,当 RkRk=Rk 时,便有 e(R)=t(R)=Rk。2.基于MATLAB 的模糊聚类分析的传递方法132.1 2.1 特征抽取,建立原始数据矩特征抽取,建立原始数据矩阵阵假设待分类对象的集合为 X=X1,X2,Xn,集合中的每个元素具有 m 个特征,设第 i 个对象 Xi 的第 j(j=1,2,m)个特征为 xij,则 Xi 就可以用这 m 个特征的取值来描述,记Xi=(xi1,xi2,xim)(i=1,2,n)于是,得到原始数据矩阵为:2.2 2.2 数据数据标标准化准化处处理理u 描述事物特征的量纲是各种各样的,为了便于分析和比较,从而在计算的过程中消除这种干扰。因此要对矩阵进行标准化处理,这可以有各种类型的方法,如平移-标准差变换和平移-标准差变换,从而可以把矩阵尽量转化为标准化矩阵。2.2 2.2 数据数据标标准化准化处处理(理(续续)平移 标准差变换其中平移 极差变换Matlab 程序-bzh1.mu ufunction Y=bzh1(X)ua,b=size(X);uC=max(X);uD=min(X);uY=zeros(a,b);ufor i=1:au for j=1:bu Y(i,j)=(X(i,j)-D(j)/(C(j)-D(j);%平移极差变化进行数据标准化u enduendufprintf(标准化矩阵如下:Y=n);udisp(Y)uend2.3 2.3 标标定定,建立模糊相似矩建立模糊相似矩阵阵u 针对上述的标准化矩阵,计算各分类对象间的相似程度,从而建立模糊相似矩阵 R=(rij)n n,这个过程又称为标定,计算标定的方法是很多的,主要包括三大类方法:(1)相似系数法;(2)距离法;(3)主观评分法。三类方法各有不同的适用范围,不同的问题需要的方法是不一样的。u(1)相似系数法-夹角余弦法相似系数法-相关系数法其中,19(2)距离法rij=1 c d(xi,xj)其中c 为适当选取的参数.海明距离欧氏距离切比雪夫距离d(xi,xj)=|xik-xjk|,1km20(3)主观评分法请有经验的人来分别对 Xi 与 Xj 的相似性打分,设有 s 个人参加评分,若第 k 个人(1 k s)认为 Xi 与 Xj 相似的程度为 aij(k)(在 0,1 中),他对自己评分的自信度也打分,若自信度分值是 bij(k),则可以用下式来计算相似系数:Matlab 程序-biaod2.m function R=biaod2(Y,c)a,b=size(Y);Z=zeros(a);R=zeros(a);for i=1:a for j=1:a for k=1:b Z(i,j)=abs(Y(i,k)-Y(j,k)+Z(i,j);R(i,j)=1-c*Z(i,j);%绝对值减数法-欧氏距离求模糊相似矩阵 end endendfprintf(模糊相似矩阵如下:R=n);disp(R)end2.4 2.4 求求传递闭传递闭包包 所谓聚类方法就是依据模糊矩阵将所研究的对象进行分类的方法。对于不同的置信水平 0,1,可以得到不同的分类结果,从而形成动态聚类图。常用的方法如下:(1)传递闭包法(2)布尔矩阵法(3)直接聚类法本文基于模糊聚类分析的传递闭包方法进行matlab 编程。当 X、Y、Z 为 有 限 论 域时,即 X=x1,x2,xn,Y=y1,y2,ym,Z=z1,z2,zl,则 Q、R、S(=Q R)均 可 表示为矩阵形式:Q=(qij)n m,R=(rjk)m l,S=(sik)n l 其中S 称为模糊矩阵 Q 与 R 的乘积。在当论域为有限集时,传递闭包法很简便,即对相似矩阵 R,求 R2,R4,当 RkRk=Rk 时,便有 e(R)=t(R)=Rk。24Matlab 程序-cd3.m function B=cd3(R)a=size(R);B=zeros(a);flag=0;while flag=0for i=1:a for j=1:a for k=1:a B(i,j)=max(min(R(i,k),R(k,j),B(i,j);%R 与R 内积,先取小再取大 end endendif B=R flag=1;else R=B;%循环计算R 传递闭包endend2.5 2.5 求求模糊矩模糊矩阵阵的的截矩截矩阵阵u 依次取 0,1,截关系 R,R 是经典等价关系,它诱导出 X 上的一个划分 X/R,将 X 分成一些等价类。确定相应的 截矩阵,则可以将其分类。u 随 由大到小,分类由细到粗,形成一个动态的分类图。Matlab 程序-jjz4.m function D k=jjz4(B)L=unique(B);a=size(B);D=zeros(a);for m=length(L):-1:1 k=L(m);for i=1:a for j=1:a if B(i,j)=k D(i,j)=1;else D(i,j)=0;%求 截距阵,当bij 时,bij()=1;当bij 时,bij()=0 end end endfprintf(当分类系数k=:n);disp(L(m);fprintf(所得截距阵为:n);disp(D);end3.案例分析283.3.案例分析案例分析环境单元分类每 个 环 境 单 元 可 以 包 括 空 气、水 分、土 壤、作 物 等 四 个要 素。环 境 单 元 的 污 染 状 况 由 污 染 物 在 四 要 素 中 含 量 的 超 限度来描写。假设有五个单元 x1,x2,x3,x4,x5,它们的污染数据如下表所示。空气 水分 土壤 作物x15 5 3 2x22 3 4 5 x35 5 2 3x42 3 4 1x52 4 5 1原始矩阵X:u X=u 5 5 3 2u 2 3 4 5u 5 5 2 3u 2 3 4 1其动态分类如图 3.47 所示:=1 x1 x3 x4 x5 x2 0.8 0.6 0.5 0.4动态聚类图u Y=bzh1(X)u 标准化矩阵如下:Y=u 1.0000 1.0000 0.3333 0.2500u 0 0 0.6667 1.0000u 1.0000 1.0000 0 0.5000u 0 0 0.6667 0u 0 0.5000 1.0000 0u R=biaod2(Y,0.1)u 模糊相似距离矩阵如下:R=u 1.0000 0.6917 0.9417 0.7417 0.7583u 0.6917 1.0000 0.6833 0.9000 0.8167u 0.9417 0.6833 1.0000 0.6833 0.7000u 0.7417 0.9000 0.6833 1.0000 0.9167u 0.7583 0.8167 0.7000 0.9167 1.0000u B=cd3(R)u 模糊相似矩阵R 的传递闭包如下:t(R)=u 1.0000 0.7583 0.9417 0.7583 0.7583u 0.7583 1.0000 0.7583 0.9000 0.9000u 0.9417 0.7583 1.0000 0.7583 0.7583u 0.7583 0.9000 0.7583 1.0000 0.9167u 0.7583 0.9000 0.7583 0.9167 1.0000u jjz4(B)u 当分类系数是k=:u 1u 所得截矩阵为:u 1 0 0 0 0u 0 1 0 0 0u 0 0 1 0 0u 0 0 0 1 0u 0 0 0 0 1u 当分类系数是k=:u 0.9250u 所得截矩阵为:u 1 0 1 0u 0 1 0 0u 1 0 1 0u 0 0 0 1u 当分类系数是k=:u 0.9417u 所得截矩阵为:u 1 0 1 0 0u 0 1 0 0 0u 1 0 1 0 0u 0 0 0 1 0u 0 0 0 0 1u 当分类系数是k=:u 0.9167u 所得截矩阵为:u 1 0 1 0 0u 0 1 0 0 0u 1 0 1 0 0u 0 0 0 1 1u 0 0 0 1 1u 当分类系数是k=:u 0.9000u 所得截矩阵为:u 1 0 1 0 0u 0 1 0 1 1u 1 0 1 0 0u 0 1 0 1 1u 0 1 0 1 1u 当分类系数是k=:u 0.7583u 所得截矩阵为:u 1 1 1 1 1u 1 1 1 1 1u 1 1 1 1 1u 1 1 1 1 1u 1 1 1 1 1谢谢大家!42