模糊K均值算法及其matlab实现_第1页
模糊K均值算法及其matlab实现_第2页
模糊K均值算法及其matlab实现_第3页
模糊K均值算法及其matlab实现_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、模糊K-均值算法及其matlab实现模糊K-均值算法由K-均值算法派生而来。K-均值算法在聚类过程中,每次得到的结果虽然不一定是预期的结果,但类别之间的边界是明确的,聚类中心根据各类当前具有的样本进行修改。模糊K-均值算法在聚类过程中,每次得到的类别边界仍是模糊的,每类聚类中心的修改都需要用到所有样本,此外聚类准则也体现了模糊性。模糊K-均值算法聚类的结果仍是模糊集合,但是如果实际问题希望有一个明确的界限,也可以对结果进行去模糊化,通过一定的规则将模糊聚类转化为确定性分类。模糊K-均值算法基本思想是首先设定一些类及每个样本对各类的隶属度;然后通过迭代,不断调整隶属度至收敛。收敛条件是隶属度的变

2、化量小于规定的阈值。具体步骤如下:确定模式类数K,1KN,N为样本个数。根据先验知识确定样本从属于各类的隶属度,建立初始隶属度矩阵U,其中i为类别编号、矩阵的行号,j为样本编号、矩阵的列号。表示第j个元素对第i个类的隶属度。对隶属度矩阵的第j列而言,它表示第j个元素分别对各模式类的隶属度,因此矩阵的每列元素之和为1。求各类的聚类中心ZL为迭代次数。imxZ淬i1,2,,K;m2mij式中,参数m2,是一个控制聚类结果模糊程度的参数。可以看出各聚类中心的计算必须用到全部的N个样本,这是与一般(非模糊)K-均值算法的区别之一。在一般(非模糊)K-均值算法中,某一类的聚类中心仅由该类样本决定,不涉及

3、其他类。计算新的隶属度矩阵U(L+1),矩阵元素计算如下:1,i1,2,K,j1,2,N,m2ijKd(-j)2嘱d式中,d是第L次迭代完成时,第j个样本到第i类聚类中心Z勺距离。为避免分母为iji零,特别的若d0,则1Vh1,H1oiijijpj可见,d越大,1越小。ijij回到(3)求聚类中心,重复至收敛。收敛条件:max1,其中为规定的参数。jiji,j当算法收敛时,就得到了各类的聚类中心以及表示个样本对各类隶属程度的隶属度矩阵,模糊聚类到此结束。这时,准则函数JKN(L1)m|XZ|2ijjiij达到最小。根据隶属度矩阵D(L+1)进行聚类,按照隶属原则进行划分,即若lmaxlVfao

4、,j12,Nj1pKPp则X类。ji例设有4个二维样本,分别是Xo,X舉1,X,,X嘤21234去参数m2,利用模糊K-均值算法把它们聚为两类。解:(1)根据要求N=4,K=2。(2)根据先验知识确定初始隶属度矩阵X10.9U0.1X20.80.2X30.70.3X40.10.9討2为一类,X为一类1234计算聚类中心ZZ取m=2,有12由U(0)可知,倾向于X,X,XS卜;卜洋02;BS.59S0.120.222Zf%20120.220.320.92S184计算新的隶属度矩阵U(1)。取m=2,分别计算,以X为例有ij3d2(30.77)2,(10.59)5.14130.920.820.72

5、0.1202d2(384)2,(1-1.84)20.7323113d2d21313d2d2132323d2d22323d2d21323空辺25.140.73(0.73.0.73)0.88(5.140.73)类似地,可得到U(1)中其它元素,有.).920.920.120.011ij(1)0.080.080.880.99若满足收敛条件max,则迭代结束,否则返回(3)计算聚类中心。i,jijij假设此时满足收敛条件,迭代结束,则根据51)进行聚类。(1)(1),(1)(1),X,X112112221121(1)(1),(1)(1),X,X231324143242Matlab代码实现如下:func

6、tiony=fuzzy_Kmeans(X,k,m,U,e)k=2;%自定义k个类中心数X=00;01;31;32;%样本测试数U=0.90.80.70.1;0.10.20.30.9;%隶属度初始值%loadfisheriris;X=meas;M,N=size(X);U=1/k*ones(k,M);U(1,1)=U(1,1)-0.1;U(k,1)=U(k,1)+0.1;%Iris据集,目的是让U的值不全为1/k%初始化m=2;%控制模糊程度的参数e=0.0001;%达到收敛时最小误差UL=membership(U,X,m);%求隶属度err=abs(UL-U);%误差while(max(err(

7、1,:)e)%收敛条件没达到要求,则继续迭代temp=UL;%保存先前的隶属度UL=membership(UL,X,m);%更新隶属度err=abs(UL-temp);%更新误差endUL%输出最终的隶属度矩阵%通过最终所获得的隶属度矩阵,判断样本所属类别class=cell(k,1);%初始化类样本classfori=1:size(X,1);MAX,index=max(UL(:,i);classindex=cat(1,classindex,i);endcelldisp(class);%显示Kmeans聚类结果%子函数部分functiony=membership(U0,X,m)%U0初始隶属度

8、矩阵,X为需聚类样本,m为控制聚类结果的模糊程度,y为返回的新的隶属度classNum=size(U0,1);%求出类别数fori=1:classNumUO(i,:)=UO(i,:).F;%隶属度各值平方endZ=zeros(classNum,size(X,2);%聚类中心初始化fori=1:classNumforj=1:size(X,1)Z(i,:)=Z(i,:)+U0(i,j)*X(j,:);endZ(i,:)=Z(i,:)/sum(U0(i,:);%计算聚类中心endfori=1:size(X,1)forj=1:size(Z,1)d(i,j)=dist(X(i,:),Z(j,:)F(2/(m-l);%求距离end

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论