模糊聚类-Matlab程序_第1页
模糊聚类-Matlab程序_第2页
模糊聚类-Matlab程序_第3页
全文预览已结束

下载本文档

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

文档简介

1、模糊聚类1、模糊c划分空间为:即有c个类,共N个数据(样本),对于某一样本,其在所有类的隶属度值和为1,对于某一个类,所有数据的隶属度值和小于N。2、目标函数中样本与每类原型间的距离使用隶属值加权:定性上说,距离越小,则越好,但还要考虑隶属度值。3、采用欧式距离(A=I):4、模糊划分矩阵的元素为5、聚类中心为:模糊聚类从某种程度上说就是找到聚类中心。6、流程图为:举例与程序:在2、5和8周围以-22产生随机数,各20组数据,维数为2。结果为:数据的均值为:2.2273 1.61615.5304 4.67288.7255 8.3218类中心为:5.6280 4.74522.2143 1.604

2、68.8565 8.4761分类效果图为:程序为:clearclcclose allm=2;%平滑因子,m=1等于没有分类(听说的)x1=2+rand(20,2).*4-2;x2=5+rand(20,2).*4-2;x3=8+rand(20,2).*4-2;x=x1;x2;x3;n,n1=size(x);%x为样本数,n1为样本维数c_max=3;%round(sqrt(n);分的类数%*x为n*m的矩阵,行为样本的个数,列为样本的维数*%*z为c*m的矩阵,行为类的个数,列为每个类的代表中心*%*u为c*n的矩阵,行为类的个数,列为样本数,表示某样本对类的隶属度*z=x(1:c_max,:)

3、;%z初始化,x的前c_max个样本为中心。u=zeros(c_max,n);%u初始化sumn=0;sum0=zeros(1,n1);sum1=0;num=0;e=1;%精度初始化while e>1e-6%隶属度值不再发生变化时终止 u0=u;%记录前一个的u num=num+1;%记录循环次数 for i=1:c_max %列更新u for k=1:n %行更新u %*计算每个隶属度* t0=norm(x(k,:)-z(i,:)2; if t0=0%意味着某的数据就是类中心 u(:,k)=0;%其他隶属度为0,自身为1. u(i,k)=1; else for j=1:c_max t1

4、=norm(x(k,:)-z(j,:)2; t2=(t0/t1)(2/(m-1); sumn=sumn+t2; end u(i,k)=1/(sumn+0.00001);%得到第k的数据在第k类的隶属度 sumn=0; end end end%*更新每类的代表中心z* for i=1:c_max for k=1:n r1=u(i,k)m; sum1=sum1+r1; sum0=sum0+x(k,:).*r1; end z(i,:)=sum0/(sum1+0.000001); sum0=0;sum1=0; end %*终止条件部分* e=norm(u-u0)2; if num>500%防止陷入死循环 break; endend%*画出其中的二维图*plot(x(:,1),x(:,2),'*',z(:,1)

温馨提示

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

评论

0/150

提交评论