收藏 分销(赏)

Matlab学习系列23.模糊聚类分析原理及实现.docx

上传人:w****g 文档编号:7421807 上传时间:2025-01-03 格式:DOCX 页数:13 大小:188.12KB
下载 相关 举报
Matlab学习系列23.模糊聚类分析原理及实现.docx_第1页
第1页 / 共13页
Matlab学习系列23.模糊聚类分析原理及实现.docx_第2页
第2页 / 共13页
点击查看更多>>
资源描述
Matlab学习系列23.模糊聚类分析原理及实现 Matlab学习系列23.模糊聚类分析原理及实现 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(Matlab学习系列23.模糊聚类分析原理及实现)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为Matlab学习系列23.模糊聚类分析原理及实现的全部内容。 23。 模糊聚类分析原理及实现 聚类分析,就是用数学方法研究和处理所给定对象,按照事物间的相似性进行区分和分类的过程。 传统的聚类分析是一种硬划分,它把每个待识别的对象严格地划分到某个类中,具有非此即彼的性质,这种分类的类别界限是分明的。 随着模糊理论的建立,人们开始用模糊的方法来处理聚类问题,称为模糊聚类分析。由于模糊聚类得到了样本数与各个类别的不确定性程度,表达了样本类属的中介性,即建立起了样本对于类别的不确定性的描述,能更客观地反映现实世界。 本篇先介绍传统的两种(适合数据量较小情形,及理解模糊聚类原理):基于择近原则、模糊等价关系的模糊聚类方法。 (一)预备知识 一、模糊等价矩阵 定义1 设R=(rij)n×n为模糊矩阵,I为n阶单位矩阵,若R满足 i) 自反性:I≤R (等价于rii =1); ii) 对称性:RT=R; 则称R为模糊相似矩阵,若再满足 iii) 传递性:R2≤R(等价于) 则称R为模糊等价矩阵. 定理1 设R为n阶模糊相似矩阵,则存在一个最小的自然数k(k〈n), 使得Rk为模糊等价矩阵,且对一切大于k的自然数l,恒有Rl=Rk. Rk称为R的传递闭包矩阵,记为t(R). 二、模糊矩阵的λ—截矩阵 定义2 设A=(aij)n×m为模糊矩阵,对任意的λ∈[0,1], 作矩阵 其中, 称为模糊矩阵A的λ-截矩阵.显然,Aλ为布尔矩阵,且其等价性与与A一致。 意义:将模糊等价矩阵转化为等价的布尔矩阵,可以得到有限论域上的普通等价关系,而等价关系是可以分类的.因此,当λ在[0,1]上变动时,由Aλ得到不同的分类. 若λ1<λ2, 则Aλ1≥Aλ2, 从而由Aλ2确定的分类是由Aλ1确定的分类的加细.当λ从1递减变化到0时,Aλ的分类由细变粗,逐渐归并,形成一个分级聚类树. 例1 设U={u1, u2, u3, u4, u5}, 对给定的U上的模糊等价关系 让λ从1到0变化,观察分类过程. (1) 当λ=1时, 分类结果为5类:(每行代表一类,1代表对应元素在该类) {u1}, {u2}, {u3}, {u4}, {u5} (2) 当λ=0。8时, 分类结果为4类:{u1, u3}, {u2}, {u4}, {u5} (3) 当λ=0。6时, 分类结果为3类:{u1, u3}, {u2}, {u4, u5} (4) 当λ=0.5时, 分类结果为2类:{u1, u3, u4, u5}, {u2} (4) 当λ=0.4(R中的最小值)时, 分类结果为1类:{u1, u2, u3, u4, u5} 整个动态分类过程如下: (二)基于择近原则的模糊聚类 择近原则就是利用贴近度来实现分类操作,贴近度用来衡量两个模糊集A和B的接近程度,用N(A,B)表示。贴近度越大,表明二者越接近。 设论域有限或者在一定区间,即U={u1, u2, …, un}或U=[a,b], 常用的贴近度有以下三种: (1) 海明贴近度 (2) 欧氏贴近度 (3) 格贴近度 其中,. Matlab实现:格贴近度的实现函数fuz_closing.m function y=fuz_closing(A,B,type) %要求A与B列数相同的行向量 [m,n]=size(A); switch type case 1 %海明贴近度 y=1-sum(abs(A—B))/n; case 2 %欧氏贴近度 y=1—(sum(A-B).^2)^(1/2)/sqrt(n); case 3 %格贴近度 y1=max(min(ones(m,n)—A,ones(m,n)—B)); %ones(m,n)-A等于A^c y2=max(min(A,B)); y=min(y1,y2); end 例2 设某产品的质量等级分为5级,其中一级有5种评判因素u1, u2, u3, u4, u5. 每一等级的模糊集为 B1={0。5 0.5 0。6 0.4 0。3} B2={0.3 0.3 0.4 0.2 0.2} B3={0.2 0.2 0.3 0.1 0.1} B4={0.1 0.1 0.2 0。1 0} B5={0.1 0。1 0。1 0.1 0} 假设某产品各评判因素的值为A={0.4 0.3 0。2 0.1 0.2}, 问该产品属于哪个等级? 代码: A=[0.4 0.3 0.2 0.1 0.2]; B=[0.5 0。5 0.6 0.4 0。3; 0。3 0.3 0.4 0.2 0.2; 0。2 0。2 0.3 0.1 0.1; 0。1 0.1 0.2 0.1 0; 0。1 0.1 0.1 0.1 0]; for i=1:5 haiming(i)=fuz_closing(A,B(i,:),1); oushi(i)=fuz_closing(A,B(i,:),2); ge(i)=fuz_closing(A,B(i,:),3); end haiming oushi ge 运行结果: haiming = 0.7800 0.9200 0.9000 0.8600 0.8400 oushi = 0.5081 0.9106 0。8658 0.6870 0.6422 ge = 0。4000 0。3000 0。2000 0。2000 0。1000 可见样本A与各等级的格贴近度分别为0.4, 0。3, 0。2, 0。2, 0.1, 故可认为该产品属于B1等级。若按令两种贴近度判断,该产品属于B2等级。 (三)基于模糊等价关系的模糊聚类 一、算法步骤 1。 样本数据归一化 设X={x1, x2, …, xn}为要分类的n个样本,每个样本有m个指标,即 xi={ xi1, xi2, …, xim}, i=1,2,..,n 得到原始数据矩阵X=( xij)n×m. 由于不同指标的数据量纲不同,为了使数据能够比较,要先对X做归一化处理。 2. 建立模糊相似矩阵R 先建立样本xi与xj相似程度rij, 进而构造模糊相似矩阵R=(rij)n×n建立rij常用的方法有: (1) 相似系数法 ①夹角余弦法: ②相关系数法: (2) 距离法 一般取 rij=1—c(d(xi,xj))α, 其中c和α为适当选取的参数,使得 0≤rij≤1。 常用的距离有: ①海明距离: ②欧氏距离: ③切比雪夫距离: (3) 贴近度法 ①最大最小法: ②算术平均最小法: ③几何平均最小法: 3. 求出R的传递闭包t(R) 即改造相似关系为等价关系:令, 再令, …, 直到满足与Rl相等,即为t(R), 仍记为R。 4。 选取合适的λ, 利用λ-截矩阵Rλ进行分类(参考例1). 二、Matlab实现 求模糊相似矩阵R的函数:fuz_distance.m function R=fuz_distance(x,type) %x为归一化的数据矩阵, type选择计算相似程度的方法 %返回模糊相似矩阵R [n,m]=size(x); %距离法的选择参数c和a, 需要根据具体情况修改以保证R(i,j)属于[0,1] c=0.1; a=1; for i=1:n for j=1:n switch type case 1 %夹角余弦法 R(i,j)=(x(i,:)*x(j,:)’)/(norm(x(i,:),2)*norm(x(j,:),2)); case 2 %相关系数法 Dxi=abs(x(i,:)—mean(x(i,:))); Dxj=abs(x(j,:)—mean(x(j,:))); R(i,j)=(Dxi*Dxj')/(norm(Dxi,2)*norm(Dxj,2)); case 3 %海明距离法 d=sum(abs(x(i,:)—x(j,:))); R(i,j)=1—c*d^a; case 4 %欧氏距离法 d=norm(x(i,:)—x(j,:),2); R(i,j)=1-c*d^a; case 5 %切比雪夫距离法 d=max(abs(x(i,:)-x(j,:))); R(i,j)=1-c*d^a; case 6 最大最小(贴近度)法 R(i,j)=sum(min([x(i,:);x(j,:)]))/sum(max([x(i,:);x(j,:)])); case 7 算术平均最小(贴近度)法 R(i,j)=2*sum(min([x(i,:);x(j,:)]))/sum(x(i,:)+x(j,:)); case 8 %几何平均最小(贴近度)法 R(i,j)=sum(min([x(i,:);x(j,:)]))/sum(sqrt(x(i,:)。*x(j,:))); end end end 求R的传递闭包t(R)的函数:tran_R.m function [B,k]=tran_R(R) % R为模糊相似矩阵, 循环构造满足传递性的t(R) %k为满足R^2k = R^k的最小的自然数k n=length(R); B=zeros(n,n); flag=0; k=1/2; while flag==0 B=fco(R,R); %做模糊合成运算 k=2*k; if B==R flag=1; else R=B; %循环计算R传递闭包 end end 上面的函数tran_R。m调用函数矩阵模糊合成算子函数:fco。m function B=fco(Q,R) %实现模糊合成算子的计算, 要求Q的列数等于R的行数 [n,m]=size(Q); [m,l]=size(R); B=zeros(n,l); for i=1:n for k=1:l B(i,k)=max(min([Q(i,:);R(:,k)'])); end end 求t(R)的λ-截矩阵的函数:fuz_lamda.m function y=fuz_lamda(X,m) %用λ—截矩阵将样本分成m类, m≤总样本数 lamda=unique(X)’; %根据R中的值取λ值 %unique函数取矩阵不重复元素组成向量并从小到大排好序 X(find(X〈lamda(m)))=0; X(find(X>=lamda(m)))=1; y=X; 例3某地区设有11个雨量站,其分布如图所示: 10年来各雨量站测得的年降雨量表如下: 现因经费问题,希望撤销几个雨量站,问撤销哪些雨量站而不会太多地减少降雨信息? 分析:对11个雨量站进行模糊聚类,同一类的只需保留一个即可。比如,已知该市决定撤销6个只保留5个雨量站,则模糊聚类为5类. 代码: load data; %数据归一化 [X,ps]=mapminmax(data’,0,1); X=X'; %选择计算相似程度的方法 type=3; % c=0。1, a=1, 此时也称绝对值减数法 %求模糊相似矩阵R0 R0=fuz_distance(X,type) %将模糊相似矩阵R0改造成模糊等价矩阵R [R,k]=tran_R(R0) %求将样本分成8类的λ—截矩阵 R_lamda=fuz_lamda(R,8) 运行结果及说明: 归一化后的数据矩阵X: 模糊相似矩阵R0: 由R0改造成的模糊等价矩阵R: k = 8 说明R16=R8。 将样本分为5类的λ-截矩阵R_lamda: 可以判断5类分别是: {x1, x7} {x2, x4, x5, x6} {x3, x9} {x8, x11} {x10} 注:对于这类C均值模糊聚类问题,也可以直接调用Matlab自带的模糊聚类函数fcm。m求解。调用方式: [center,U, obj_fcn,]=fcm(data,cluster_n) 其中,data为归一化后的样本数据,每一行是一个样本;cluster_n为聚类数;center返回最终的聚类中心矩阵;U为最终的模糊分区矩阵;obj_fcn为迭代过程中的目标函数值(越小越好)。 代码:(X为前面已归一化的样本数据) [center,U, obj_fcn]=fcm(X,5) maxU=max(U); index1 = find(U(1,:)==maxU); %第一类 index2 = find(U(2,:)==maxU); %第二类 index3 = find(U(3,:)==maxU); %第三类 index4 = find(U(4,:)==maxU); %第四类 index5 = find(U(5,:)==maxU); %第五类 class1=X(index1,:) %第一类中的样本数据 class2=X(index2,:) %第二类中的样本数据 class3=X(index3,:) %第三类中的样本数据 class4=X(index4,:) %第四类中的样本数据 class5=X(index5,:) %第五类中的样本数据 运行结果略,对比class1—class5与X, 得到分类结果与前文相同。另外,分为5类的obj_fcn=1.0578, 如何选取合适的分类数,使得obj_fcn达到最小(最优模糊聚类)放到下一篇。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服