【精选】MATLAB的模糊C均值聚类程序

上传人:豆浆 文档编号:891559 上传时间:2017-05-20 格式:DOC 页数:8 大小:126.50KB
返回 下载 相关 举报
【精选】MATLAB的模糊C均值聚类程序_第1页
第1页 / 共8页
【精选】MATLAB的模糊C均值聚类程序_第2页
第2页 / 共8页
【精选】MATLAB的模糊C均值聚类程序_第3页
第3页 / 共8页
【精选】MATLAB的模糊C均值聚类程序_第4页
第4页 / 共8页
【精选】MATLAB的模糊C均值聚类程序_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《【精选】MATLAB的模糊C均值聚类程序》由会员分享,可在线阅读,更多相关《【精选】MATLAB的模糊C均值聚类程序(8页珍藏版)》请在金锄头文库上搜索。

1、实验二 模糊 C 均值聚类实验目的:学会使用 MATLAB 软件进行模糊 C 均值聚类,学会如何进行迭代并观察迭代过程。 实验学时:4 学时实验内容:1、认真阅读 guide.doc 文件 ,通过给出的英文的例子学习进行 C 均值聚类的具体步骤。2、在学习完所给的例子后进行实际操作。根据表格提供的固定资本和人力资本等进行聚类分布。进一步熟悉和掌握熟悉 FUZZY CLUSTERING.实验日期:2013 年 4 月 24 日实验过程:1、查看所给数据表格(如下) ,由经济学理论知,GDP 的产出状况是由固定资本的投入和人力资源的投入决定的。因此,实际上我们只需要选取固定资本和人力资源这两组数据

2、进行处理就行了。地区(District )GDP 固定资本(Fixed Capital)人力资本(manpowerCapital)地区(District )GDP 固定资本(Fixed Capital)人力资本(manpowerCapital)北京 2.0576 5.9489 1.3600 湖北 0.7803 1.3820 1.0000天津 1.8328 4.0308 1.3990 湖南 0.6039 0.9171 0.6660河北 0.8236 1.6223 0.8690 广东 1.3681 2.7298 1.0260山西 0.5440 1.0337 0.7960 广西 0.4660 0.8

3、342 0.5460内蒙古 0.6503 1.1099 0.9310 海南 0.6859 0.8127 0.6200辽宁 1.2001 2.0314 0.3850 重庆 0.5650 0.8127 0.6200吉林 0.7553 0.3114 1.0220 四川 0.5118 1.0410 0.5630黑龙江 0.9344 1.4208 1.2810 贵州 0.2856 0.5756 0.2990上海 3.0674 8.0396 1.7480 云南 0.4840 1.0166 0.4660江苏 1.2933 2.2450 1.0880 西藏 0.5275 1.3588 0.5240浙江 1.4

4、629 3.1038 0.8940 陕西 0.5040 1.0307 0.5740安徽 0.5199 0.8112 0.6140 甘肃 0.4165 0.8544 0.4590福建 1.2365 2.0523 1.1550 青海 0.5754 1.508 0.5500江西 0.5198 0.7494 0.7850 宁夏 0.5300 1.5036 0.5180山东 1.0439 1.6534 0.9470 新疆 0.7981 2.0226 0.9110河南 0.5903 1.9210 0.6530 平均 0.8914 1.8936 0.85732、通过学习 guide 中的范例,将所给的 de

5、fcm.m 程序进行重新编辑。其具体程序如下:function NCentres, M = defcm(Centres, q)Tiles = 5.9489 1.3600 14.0308 1.3990 12.0314 0.3850 11.4208 1.2810 18.0396 1.7480 12.2450 1.0880 13.1038 0.8940 12.0523 1.1550 11.6534 0.9470 12.7298 1.0260 11.6223 0.8690 -11.0337 0.7960 -11.1099 0.9310 -10.3114 1.0220 -10.8112 0.6140 -

6、10.7494 0.7850 -11.9210 0.6530 -11.3820 1.0000 -10.9171 0.6660 -10.8342 0.5460 -10.8127 0.6200 -10.8127 0.6200 -11.0410 0.5630 -10.5756 0.2990 -11.0166 0.4660 -11.3588 0.5240 -1 1.0307 0.5740 -10.8544 0.4590 -11.508 0.5500 -11.5036 0.5180 -12.0226 0.9110 -1 ; % 将固定资本和人力资本的数据按GDP的平均值进行分类,大于平均值的分为一类,记

7、为1,小于平均值 的分为一类,记为-1Tiles(:, 1) = log(Tiles(:, 1) ;Tiles(:, 2) = log(Tiles(:, 2) ;clf ; hold off;plot(Tiles(1:16, 1), Tiles(1:16, 2), ob) ;axis(-1.5 2.5 -1.5 2.5) ;xlabel(固定 资本) ;ylabel(人力 资本) ;title(Tiles data: o = whole tiles, * = cracked tiles, x = centres) ;hold on;plot(Tiles(17:31, 1), Tiles(17:

8、31, 2), *b) ;plot(Centres(:,1), Centres(:,2),xr) ;Object = Tiles(:,1 2) ;Centres = Centres ;k = length(Centres(:,1); D = dist(Object, Centres);M = member(D, q) ; ClustSums = sum(M) ;NoOfObs, NoOfCtrs = size(M) ;z = M ./ (ones(NoOfObs,1) * ClustSums) ; NCentres = Centres ;for i = 1:NoOfCtrs,w = z(:,i

9、) * ones(1,2) ; NCentres(i,:) = sum(Object .* w) ;end ;3、将上述程序保存为 defcm.m 文件,然后在命令窗口中输入初始聚类中心 Cts = 0.5 0.5; 0.8 0.8, 即在这里面我们取了两个聚类中心点,c1=(0.5,0.5)、c2=(0.8,0.8),并设 q=2。需要注意的是,q 越接近 1 收敛速度越快,但若 q=1 则为硬 C 均值聚(HCM)。然后不断调用函数 defcm,Cts, M = defcm(Cts,q)。即在 Command 窗口中输入:Cts = 0.5 0.5; 0.8 0.8;q = 2;Cts,

10、M = defcm(Cts,q)。本次实验一共迭代了 13 次,M 矩阵才不再变化,达到了最佳聚类中心。迭代的仿真图形如下所示:(迭代时只要将 Command 窗口中 Cts 中的值换成前一次迭代输出的值即可)第 1 次迭代仿真的图形-1.5 -1 -0.5 0 0.5 1 1.5 2 2.5-1.5-1-0.500.511.522.5人 人 人 人人人人人Tiles data: o = whole tiles, * = cracked tiles, x = centres第6次迭代仿真的图像-1.5 -1 -0.5 0 0.5 1 1.5 2 2.5-1.5-1-0.500.511.522.

11、5人 人 人 人人人人人Tiles data: o = whole tiles, * = cracked tiles, x = centres第 13 次的迭代图形:-1.5 -1 -0.5 0 0.5 1 1.5 2 2.5-1.5-1-0.500.511.522.5人 人 人 人人人人人Tiles data: o = whole tiles, * = cracked tiles, x = centres下面为最终的聚类中心和 M 矩阵。Cts =0.0733 -0.44950.7166 -0.0713M = 0.2683 0.73170.2094 0.79060.5422 0.45780.

12、2945 0.70550.3096 0.69040.0382 0.96180.1241 0.87590.0570 0.94300.1187 0.88130.0780 0.92200.1822 0.81780.9066 0.09340.7226 0.27740.6688 0.33120.9268 0.07320.8565 0.14350.2787 0.7213 0.3759 0.62410.9650 0.03500.9244 0.07560.9274 0.07260.9274 0.07260.9770 0.02300.7501 0.24990.9048 0.09520.8426 0.15740.

13、9818 0.01820.8865 0.11350.7317 0.26830.7387 0.26130.0012 0.99884、由于不能确保 FCM 收敛于一个最优解,所以我们可以采用不同的初始聚类中心启动该算法,以便用来比较结果。在 Command 窗口中输入:Cts = 0.5 1.0; 1.5 2.0;q = 2;Cts, M = defcm(Cts,q)在这次实验一共迭代了 15 次,M 矩阵才不再变化,达到了最佳聚类中心。在这里只给出第 15 次,Command 窗口中显示的聚类中心值 Cts 和 M 矩阵:通过最终的迭代图可以看出:当初始聚类中心取值不同时,最后的聚类中心点的值也

14、有细微的差别。FCM 是否收敛于一个最优解,不仅与初始聚类中心的选择有关,还与加权指数 q 有关。由模糊集的知识我们知道,加权指数 q 取得过大,聚类效果会很差;q 取得过小则算法会接近与 HCM 聚类算法。所以下面的仿真中,其他数据不变,取:q=1.1,聚类中心为 Cts = 0.5 0.5; 0.8 0.8。经过 MATLAB 仿真后知道,此时只需迭代 8 次就可达到了最佳聚类中心。下面只给出第八次迭代的相关数据:实验小结:通过这次实验对模糊 C 均值聚类(FCM )有了近一步的了解,并且结合例子能够进行简单的聚类中心迭代,寻找最佳聚类中心。另外,通过 q 取不同的值进行了比较,得到了更快更好的聚类中心。通过观察实验结果,明确 FCM 算法的输出是 C 个聚类中心向量和 C*N 的一个模糊划分矩阵 M,这个矩阵表示的是每个样本点属于每个类的隶属度。根据这个划分矩阵按照模糊集合中的最大隶属原则就能确定每个样本归哪个类。聚类中心表示的是每个类的平均特性,可以认为是这个类的代表点。FCM 算法因算法简单、收敛速度快、易于应用计算机实现等特点受到了越来越多人的关注,并应用于各个领域。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号