模糊C均值聚类分析的应用

上传人:沈*** 文档编号:136770667 上传时间:2022-08-17 格式:DOC 页数:23 大小:305.50KB
收藏 版权申诉 举报 下载
模糊C均值聚类分析的应用_第1页
第1页 / 共23页
模糊C均值聚类分析的应用_第2页
第2页 / 共23页
模糊C均值聚类分析的应用_第3页
第3页 / 共23页
资源描述:

《模糊C均值聚类分析的应用》由会员分享,可在线阅读,更多相关《模糊C均值聚类分析的应用(23页珍藏版)》请在装配图网上搜索。

1、模式识别作业模糊C-均值聚类分析的应用学院、系 电子信息工程学院自动化系 专业名称 模式识别与智能系统 年 级 学生姓名 学 号 目录1 前言12模糊C均值算法22.1 FCM算法准则22.2 模糊C均值算法步骤32.2.1简介32.2.2 FCM算法具体步骤43 模糊C均值聚类算法的Matlab实现53.1 实验数据53.2 模糊C均值聚类程序分析73.3 Matlab实现及结果分析73.3.1前29组数据的聚类分析73.3.2 49组数据的聚类分析15总结20参考文献21模糊C-均值聚类分析的应用1 前言聚类就是按照一定的要求和规律对事物进行区分和分类的过程,在这一过程中没有任何关于类分的

2、先验知识,仅靠事物间的相似性作为类属划分的准则,因此属于无监督分类的范畴。聚类分析则是指用数学的方法研究和处理给定对象的分类。“人以群分,物以类聚”,聚类是一个古老的问题,它伴随着人类社会的产生和发展而不断深化,人类要认识世界就必须区别不同的事物并认识事物间的相似性。传统的聚类分析是一种硬划分,它把每个待辨识的对象严格地划分到某个类中,同一事物属于且仅属于所划定类别中的某一类,具有非此即彼的性质。例如在描述人的很多特征之一性别的时候,很容易就可以对人进行分类,因为性别只有男性和女性之分,因此这种分类的类别界限是分明的、清晰的、不含糊的,属于普通集合理论的范畴。而实际上大多数对象并没有严格的属性

3、,它们在形态和类属方面存在着中介性,适合进行软划分,用普通集合的理论往往不能完全解决具有模糊性的分类问题。例如:将人按身高分为:高个子、中等个子、矮个子;图1-1所示经典硬聚类无法解决的聚类问题示意图,I部分代表高个子,II部分代表矮个子,但是他们的交集部分,用传统的硬聚类分析方法就无法解决。图1-1经典硬聚类无法解决的聚类问题示意图在此基础上,Zadeh提出的模糊集理论为这种软划分提供了有力的分析工具,人们开始用模糊的方法来处理聚类问题,并称之为模糊聚类分析。应该指出,基于模糊集理论的模糊逻辑本身并不是模糊的,而是用来对“模糊”进行处理以达到消除模糊的逻辑。事实上,模糊逻辑是一种精确地解决不

4、精确、不完全信息的方法,其最大的特点就是用它可以比较自然的处理人类的概念。具体地说,模糊逻辑是通过模糊集合来工作的,模糊集合与传统集合的本质区别在于:(1)传统集合对集合中的元素关系进行严格区分,一个元素要么属于此集合,要么不属于此集合,并且不存在介于二者之间的情况;(2)模糊集合则具有灵活的隶属关系,允许元素在一个集合中部分隶属。元素在模糊集合中的隶属度可以是从0到1之间的任何值,而不像在传统集合中要么是0要么是1,这样模糊集合可以从“不隶属”到“隶属”逐级的过渡。正是由于模糊聚类具有样本属于各个类别的不确定性程度,表达了样本类属的中介性,即建立起了样本对于类别的不确定性的描述,能更客观地反

5、映现实世界,从而成为聚类分析研究的主流。为了优化聚类分析的目标函数,人们提出了现在相当流行和应用广泛的模糊C-均值FCM(Fuzzy C-means)聚类算法。该算法是从硬C-均值HCM(Hard C-means)聚类算法发展而来的。2模糊C均值算法2.1 FCM算法准则给定数据集,其中每个元素包含s个属性。模糊聚类就是要将X划分为c个类,为C个类的聚类中心在模糊划分中,每一个样本点不能严格地被划分到某一类,而是以一定的隶属度属于某一类。令表示第j个样本点第i个类的隶属度。且满足下式: (2.1) (2.2) (2.3)FCM算法的目标函数为: (2.4)其中,为样本点与聚类中心之间的距离则F

6、CM算法就是要求满足的情况下目标函数J的最小值,J的条件极值可以由拉格朗日乘数法求得。首先,J在(2.4)式下的条件极值可以表示成(2.5) 式,其中函数为常数: (2.5)对求偏导经过计算后得:,用同样的方法为最小值时的值为: (i=1,2c)2.2 模糊C均值算法步骤2.2.1简介FCM算法有五个参数(,A,c,m,),改变任何一个参数都将影响到FCM聚类的最终结果。(1)为初始隶属度矩阵,它直接影响到聚类中心的初始值,隶属度可以看做是数据对聚类中心作用力强度的表征,隶属度越大,数据对类中心的吸引力就越大,类中心的下一次迭代值受它的影响也就越大,从而影响到算法的迭代次数,也就影响了算法的计

7、算时间。(2)对称矩阵A,对称矩阵A也是一个重要参数,当A=I时,聚类类似于球状分布,当聚类形状为球状时,可给A赋予不同的矩阵形式,以适应不同的聚类要求,例如,聚类近似于条状或带形分布时。(3)聚类数目c,c是影响聚类精度和聚类速度的参数,若c较大,就会使原本密集的簇分开;若c值较小则会使原本是比较分离的簇合并,使聚类结果不能满足客户的需要,计算所需要的系统内存和时间也要成倍的增加,这有时候是不能容忍的。(4)加权指数m ,Zadeh认为“加权指数m控制着模糊类间的分享程度”。参数m控制着FCM聚类结果的模糊性,m值越大,所得到的分类矩阵模糊程度就越大。当m时,U中所有的元素接近1/c,距离就

8、失去了意义。所以要使用FCM算法分析数据就必需选取合适的m值。当然这并不意味着小的m值就对应好的聚类结果,因为较大的加权指数m还具有抑制噪声的功能,在噪声污染的数据中模糊聚类有着重要的作用。因此在不同的应用领域,m值的选取也有其不同的范围。(5)收敛阈值,也是影响聚类精度和聚类速度的参数。数值过大时,会导致算法过早收敛,聚类结果不稳定,特别是在初始参数不确定的条件下,这种现象更为普遍和明显。当阈值过小时,则可能会导致过度计算,既浪费时间,又可能发生无法收敛的问题。2.2.2 FCM算法具体步骤初始化:取模糊加权指数m=2,聚类的类别数c(2cn),n为数据样本点的个数,迭代停止阈值,初始的聚类

9、中心值,以及迭代次数b=0;步骤一:用公式(2-7)计算由隶属度的值所组成的划分矩阵: 当 当 (2-7)步骤二:用公式(2-8)更新聚类中心。 (2-8)步骤三:若v (b )-v(b+1),则算法停止并输出划分U和聚类中心V,否则令b=b+1,转向执行步骤一。3 模糊C均值聚类算法的Matlab实现3.1 实验数据_Record_XY Z TypeRecord_#11739.941675.152395.963Record_#2373.33087.052429.474Record_#31756.7716521514.983Record_#4864.451647.312665.91Record

10、_#5222.853059.542002.334Record_#6877.882031.663071.181Record_#71803.581583.122163.053Record_#82352.122557.041411.532Record_#9401.33259.942150.984Record_#10363.343477.952462.864Record_#111571.171731.041735.333Record_#12104.83389.832421.834Record_#13499.853305.752196.224Record_#142297.283340.14535.622

11、Record_#152092.623177.21584.322Record_#161418.791775.892772.91Record_#171845.591918.812226.493Record_#182205.363243.741202.692Record_#192949.163244.44662.422Record_#201692.621867.52108.973Record_#211680.671575.781725.13Record_#222802.883017.111984.982Record_#23172.783084.492328.654Record_#242063.543

12、199.761257.212Record_#251449.581641.583405.121Record_#261651.521713.281570.383Record_#27341.593076.622438.634Record_#28291.023095.682088.954Record_#29237.633077.782251.964Record_#301702.81639.792068.74Record_#311877.931860.961975.3Record_#32867.812334.682535.1Record_#331831.491713.111604.68Record_#3

13、4460.693274.772172.99Record_#352374.983346.98975.31Record_#362271.893482.97946.7Record_#371783.641597.992261.31Record_#38198.833250.452445.08Record_#391494.632072.592550.51Record_#401597.031921.522126.76Record_#411598.931921.081623.33Record_#421243.131814.073441.07Record_#432336.312640.261599.63Reco

14、rd_#443543300.122373.61Record_#452144.472501.62591.51Record_#46426.313105.292057.8Record_#471507.131556.891954.51Record_#48343.073271.722036.94Record_#492201.943196.22935.53其中前29组数据为已分类好的数据,用于学习及验证,看是否与已给出的聚类结果一致。后20组数据为待识别的数据。3.2 模糊C均值聚类程序分析Matlab中自带有模糊C均值聚类的程序,所以直接调用就可实现聚类,该程序为:Center,U,obj_fcn=fc

15、m(data,cluster_n)其中Center代表聚类中心 U代表由隶属度组成的划分矩阵 obj_fcn代表在迭代过程中的目标函数值 data代表待聚类数据 cluster_n为聚类的组数程序中还用到了如下语句:1通过Center,U,obj_fcn=fcm(data,cluster_n)得到的聚类中心和隶属度,将各个点分类。maxU=max(U); %寻找最大隶属度 index1 = find(U(1,:) = maxU) %找到属于第一类的点 index2 = find(U(2,:) = maxU) %找到属于第二类的点 index3 = find(U(3,:) = maxU) %找到

16、属于第三类的点index4 = find(U(4,:) = maxU) %找到属于第四类的点2直观的观察四组聚类结果line(data(index1,1),data(index1,2),data(index1,3),linestyle,none,marker,*,color,g); line(data(index2,1),data(index2,2),data(index2,3),linestyle,none,marker,*,color,r); line(data(index3,1),data(index3,2),data(index3,3),linestyle,none,marker,+,

17、color,b); line(data(index4,1),data(index4,2),data(index4,3),linestyle,none,marker,+,color,y);3.3 Matlab实现及结果分析3.3.1前29组数据的聚类分析1前29组数据的聚类程序 clear alldata=1739.94 1675.15 2395.96373.3 3087.05 2429.471756.77 1652 1514.98864.45 1647.31 2665.9222.85 3059.54 2002.33877.88 2031.66 3071.181803.58 1583.12 21

18、63.052352.12 2557.04 1411.53401.3 3259.94 2150.98363.34 3477.95 2462.861571.17 1731.04 1735.33104.8 3389.83 2421.83499.85 3305.75 2196.222297.28 3340.14 535.622092.62 3177.21 584.321418.79 1775.892772.91845.59 1918.81 2226.492205.36 3243.74 1202.692949.16 3244.44 662.421692.62 1867.5 2108.971680.67

19、1575.78 1725.12802.88 3017.111984.98172.78 3084.492328.652063.54 3199.761257.211449.58 1641.583405.121651.52 1713.281570.38341.59 3076.622438.63291.02 3095.682088.95237.63 3077.78 2251.96;center,U,obj_fcn=fcm(data,4)plot3(data(:,1),data(:,2),data(:,3),o);grid;maxU=max(U);index1=find(U(1,:)=maxU)inde

20、x2=find(U(2,:)=maxU)index3=find(U(3,:)=maxU)index4=find(U(4,:)=maxU)line(data(index1,1),data(index1,2),data(index1,3),linestyle,none,marker,*,color,g);line(data(index2,1),data(index2,2),data(index2,3),linestyle,none,marker,*,color,r);line(data(index3,1),data(index3,2),data(index3,3),linestyle,none,m

21、arker,+,color,b);line(data(index4,1),data(index4,2),data(index4,3),linestyle,none,marker,+,color,y);title(模糊C均值聚类分析图);xlabel(第一特征坐标);ylabel(第二特征坐标);zlabel(第三特征坐标);2 实验结果及分析Iteration count = 1, obj. fcn = 15682616.695522Iteration count = 2, obj. fcn = 11653961.331769Iteration count = 3, obj. fcn = 91

22、19718.776584Iteration count = 4, obj. fcn = 6749981.025963Iteration count = 5, obj. fcn = 5568174.608885Iteration count = 6, obj. fcn = 5172439.796387Iteration count = 7, obj. fcn = 4868367.892072Iteration count = 8, obj. fcn = 4473302.792618Iteration count = 9, obj. fcn = 4283336.750297Iteration co

23、unt = 10, obj. fcn = 4152104.975270Iteration count = 11, obj. fcn = 4048650.988456Iteration count = 12, obj. fcn = 3992027.823158Iteration count = 13, obj. fcn = 3970326.734500Iteration count = 14, obj. fcn = 3963611.524872Iteration count = 15, obj. fcn = 3961736.224221Iteration count = 16, obj. fcn

24、 = 3961236.668319Iteration count = 17, obj. fcn = 3961106.553349Iteration count = 18, obj. fcn = 3961073.041430Iteration count = 19, obj. fcn = 3961064.459819Iteration count = 20, obj. fcn = 3961062.268852Iteration count = 21, obj. fcn = 3961061.710351Iteration count = 22, obj. fcn = 3961061.568098I

25、teration count = 23, obj. fcn = 3961061.531881Iteration count = 24, obj. fcn = 3961061.522662Iteration count = 25, obj. fcn = 3961061.520316Iteration count = 26, obj. fcn = 3961061.519719Iteration count = 27, obj. fcn = 3961061.519567Iteration count = 28, obj. fcn = 3961061.519528Iteration count = 2

26、9, obj. fcn = 3961061.519518% Iteration count代表迭代次数,观察这组数据,当迭代了29次时,迭代过程中的目标函数值趋于稳定时,此时停止迭代,计算出聚类中心,隶属度等结果center =1.0e+003 * 1.2020 1.7892 2.9333 2.3361 3.1747 0.9674 1.7234 1.7361 1.8822 0.3078 3.1855 2.2762%迭代完成后四类数据的聚类中心U =Columns 1 through 14 0.2882 0.0139 0.0537 0.7989 0.0266 0.8434 0.0942 0.08

27、08 0.0086 0.0304 0.0270 0.0244 0.0166 0.0209 0.0367 0.0061 0.0425 0.0222 0.0165 0.0196 0.0221 0.5902 0.0057 0.0184 0.0130 0.0138 0.0113 0.9096 0.6359 0.0092 0.8787 0.1208 0.0228 0.0696 0.8642 0.2647 0.0071 0.0220 0.9494 0.0174 0.0136 0.0415 0.0392 0.9709 0.0250 0.0581 0.9341 0.0674 0.0195 0.0642 0.9

28、786 0.9292 0.0106 0.9444 0.9585 0.0279 Columns 15 through 28 0.0225 0.8967 0.1412 0.0120 0.0387 0.0675 0.0285 0.1345 0.0098 0.0254 0.8180 0.0450 0.0145 0.0129 0.8993 0.0108 0.0386 0.9480 0.8437 0.0182 0.0139 0.5229 0.0047 0.8871 0.0275 0.0313 0.0062 0.0077 0.0475 0.0736 0.7872 0.0247 0.0759 0.8973 0

29、.9473 0.2372 0.0069 0.0532 0.1041 0.9029 0.0095 0.0107 0.0306 0.0189 0.0331 0.0154 0.0417 0.0170 0.0103 0.1054 0.9786 0.0342 0.0504 0.0208 0.9698 0.9687 Column 29 0.0055 0.0028 0.0041 0.9876%每组数据对应四个聚类中心的隶属度,第n列代表第n组数据,分别对应四个聚类中心的隶属度值。obj_fcn = 1.0e+007 * 1.5683 1.1654 0.9120 0.6750 0.5568 0.5172 0.

30、4868 0.4473 0.4283 0.4152 0.4049 0.3992 0.3970 0.3964 0.3962 0.3961 0.3961 0.3961 0.3961 0.3961 0.3961 0.3961 0.3961 0.3961 0.3961 0.3961 0.3961 0.3961 0.3961%迭代过程中的目标函数值,在迭代完成后,其值稳定。index1 = 4 6 16 25 %属于第一类的四组数据index2 =8 14 15 18 19 22 24 %属于第二类的七组数据index3 = 1 3 7 11 17 20 21 26 %属于第三类的八组数据index4

31、= 2 5 9 10 12 13 23 27 28 29 %属于第四类的十组数据3 直观的三维聚类分析图4 多次试验比对结果recordXYZ原始类1次试验的分类 多次试验的分类11739.941675.152395.963132373.33087.052429.4744431756.7716521514.983134864.451647.312665.91215222.853059.542002.334446877.882031.663071.1812171803.581583.122163.0531382352.122557.041411.532329401.33259.942150.98

32、44410363.343477.952462.86444111571.171731.041735.3331312104.83389.832421.8344413499.853305.752196.22444142297.283340.14535.62232152092.623177.21584.32232161418.791775.892772.9121171845.591918.812226.49313182205.363243.741202.69232192949.163244.44662.42232201692.621867.52108.97313211680.671575.781725

33、.1313222802.883017.111984.9823223172.783084.492328.65444242063.543199.761257.21232251449.581641.583405.12121261651.521713.281570.3831327341.593076.622438.6344428291.023095.682088.9544429237.633077.782251.96444经多次实验验证发现:将29组数划分成四类时,每个类中所包含的数据点都与给定的数据类中所包含的数据相同,但是每类对应的编号不一致,但经多次试验后能得出与给定类的编号是完全相同的。主要是

34、因为初始聚类中心时,给每个聚类中心对应类的编号是随机的,所以导致以上问题。为准确识别后20组数据,本文采用的方法就是将49组数据全部进行聚类,并且重复做多组实验,当发现前29组数据与给定的分类结果完全相同时,则后面的20组待识别的数据分类正确。3.3.2 49组数据的聚类分析1 Matlab 程序clear alldata=1739.94 1675.152395.96373.3 3087.052429.471756.77 1652 1514.98864.45 1647.312665.9222.85 3059.542002.33877.88 2031.663071.181803.58 1583.

35、122163.052352.12 2557.04 1411.53401.3 3259.942150.98363.34 3477.952462.861571.17 1731.041735.33104.8 3389.83 2421.83499.85 3305.752196.222297.28 3340.14535.622092.62 3177.21584.321418.79 1775.892772.91845.59 1918.812226.492205.36 3243.741202.692949.16 3244.44662.421692.62 1867.5 2108.971680.67 1575.

36、781725.12802.88 3017.111984.98172.78 3084.492328.652063.54 3199.761257.211449.58 1641.58 3405.121651.52 1713.281570.38341.59 3076.622438.63291.02 3095.682088.95237.63 3077.782251.961702.8 1639.792068.741877.93 1860.961975.3867.81 2334.682535.11831.49 1713.111604.68460.69 3274.772172.992374.98 3346.9

37、8 975.312271.89 3482.97946.71783.64 1597.992261.31198.83 3250.452445.081494.63 2072.59 2550.511597.03 1921.52 2126.761598.93 1921.081623.331243.13 1814.073441.072336.31 2640.261599.63354 3300.122373.612144.47 2501.62591.51426.31 3105.292057.81507.13 1556.891954.51343.07 3271.722036.942201.94 3196.22

38、935.53;center,U,obj_fcn=fcm(data,4) ;plot3(data(:,1),data(:,2),data(:,3),o);grid;maxU=max(U);index1=find(U(1,:)=maxU)index2=find(U(2,:)=maxU)index3=find(U(3,:)=maxU)index4=find(U(4,:)=maxU)line(data(index1,1),data(index1,2),data(index1,3),linestyle,none,marker,*,color,g);line(data(index2,1),data(ind

39、ex2,2),data(index2,3),linestyle,none,marker,*,color,r);line(data(index3,1),data(index3,2),data(index3,3),linestyle,none,marker,+,color,b);line(data(index4,1),data(index4,2),data(index4,3),linestyle,none,marker,+,color,y);title(模糊C均值聚类分析图);xlabel(第一特征坐标);ylabel(第二特征坐标);zlabel(第三特征坐标);2 聚类结果index1 =4

40、6 16 25 32 39 42%第一类的聚类结果index2 = 8 14 15 18 19 22 24 35 36 43 45 49%第二类的聚类结果index3 =1 3 7 11 17 20 21 26 30 31 33 37 40 41 47%第三类的聚类结果index4 =2 5 9 10 12 13 23 27 28 29 34 38 44 46 48%第四类的聚类结果经过多次实验对比发现,用模糊C均值进行聚类分析,其分类结果与给定结果完全吻合。并且待识别数据的聚类结果,多次比对完全一致。总结FCM算法是目前比较常用的模糊聚类算法,它有着完善的理论和深厚的数学基础。在数据的结果簇

41、是密集的,且簇与簇之间区分明显时,它的效果较好。而且该算法是相对可伸缩和高效率的,因为算法的复杂度是O(ncb),其中,n是用户对象的个数,c是聚类的数目,b是迭代的次数。然而FCM算法也有不少缺点:(1)FCM算法对孤立点数据比较敏感。(2)FCM算法需要事先指定聚类数目c和模糊加权指数m,而c和m直接影响着聚类的结果。(3)由于模糊聚类的目标函数是非凸的,而FCM类型算法又是迭代爬山的,因此容易陷入局部极值点或鞍点,而得不到最优解。仅仅针对上述这些缺点,不断提出了改进的模糊C均值算法和对手抑制式模糊C均值聚类算法,不仅改善了FCM算法,从而也提高了聚类的收敛速度。参考文献1 唐庭安,基于Matlab的模糊聚类分析的传递方法,计算机应用,2004112 郭珉,模糊聚类分析算法的Matlab语言实现,农业网络信息,200453 王嘉,模糊C均值算法在拼车系统中的应用,东北大学硕士学位论文,2008124 陈丽萍,模糊C均值聚类的研究,燕山大学硕士学位论文5 李敏,基于模糊C均值算法在遥感图像变化检测的研究,湖南大学硕士学位论文,200936 闫兆振,自适应模糊C均值聚类算法的研究,山东科技大学硕士学位论文,200657 王威娜,改进的模糊C均值聚类算法,大连海事大学硕士学位论文,2007321

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!