首页 模式识别C均值算法的实现

模式识别C均值算法的实现

举报
开通vip

模式识别C均值算法的实现模式识别C均值算法的实现 中国矿业大学 计算机科学与技术学院 《模式识别》实验报告 课程名称 模式识别 实验名称 C均值算法的实现 姓名 褚钰博 学号 08113545 手机 QQ Email: 班级 信科11-1 班 教师 陈伟 手机 QQ 735932337 Email: cumt_pr@126.com 实验日期 2014. 06 .09 实验报告要求:1.实验目的 2.实验内容 3.实验原理或步骤 4.运行结果和分析 5.实验体会与总结 一、实验目的 1.掌握监督学习方法与非监督学习方法的区别,2.对动态...

模式识别C均值算法的实现
模式识别C均值算法的实现 中国矿业大学 计算机科学与技术学院 《模式识别》实验 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 课程名称 模式识别 实验名称 C均值算法的实现 姓名 褚钰博 学号 08113545 手机 QQ Email: 班级 信科11-1 班 教师 陈伟 手机 QQ 735932337 Email: cumt_pr@126.com 实验日期 2014. 06 .09 实验报告要求:1.实验目的 2.实验内容 3.实验原理或步骤 4.运行结果和分析 5.实验体会与总结 一、实验目的 1.掌握监督学习 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 与非监督学习方法的区别,2.对动态聚类方法有深入的理解,了解其步骤,3.掌握C均值算法的基本思想、步骤,4.会熟练运用C均值算法进行聚类,5、通过c均值算法具体实现,熟练掌握其思想。 二、实验内容 写程序实现c均值算法,并用下表中的三维数据进行测试,下面给出了每种测试的类别数目和初始值。不要求编程环境,可以使用C,MATLAB等语言来实现。 TTTT(1)c=2, m(0)=(1,1,1), m(0)=(-1,1,-1)。 (2)c=2, m(0)=(0,0,0), m(0)=(1,1,-1)。将(2)得到的结果与(1)1212 中的结果进行比较,并解释差别,包括迭代次数的差别。 TTTTT(3)c=3, m(0)=(0,0,0), m(0)=(1,1,1), m(0)=(-1,0,2)。(4)c=3, m(0)=(-0.1,0,0.1), m(0)=(0,-0.1,0.1), 12312Tm(0)=(-0.1,-0.1,0.1)。将(4)得到的结果与(3)中的结果进行比较,并解释差别,包括迭代次数的差别。 3 数据如下表所示: 样本编号 样本编号 xxxxxx331212 1 -7.82 -4.58 -3.97 11 6.18 2.81 5.82 2 -6.68 3.16 2.71 12 6.72 -0.93 -4.04 3 4.36 -2.19 2.09 13 -6.25 -0.26 0.56 4 6.72 0.88 2.80 14 -6.94 -1.22 1.13 5 -8.64 3.06 3.50 15 8.09 0.20 2.25 6 -6.87 0.57 -5.45 16 6.18 0.17 -4.15 7 4.47 -2.62 5.76 17 -5.19 4.24 4.04 8 6.73 -2.01 4.18 18 -6.38 -1.74 1.43 9 -7.71 2.34 -6.33 19 4.08 1.30 5.33 10 -6.91 -0.49 -5.68 20 6.27 0.93 -2.78 三、实验原理或步骤 C均值算法的基本思想即是通过迭代寻找c个聚类的一种划分 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ,使得用这c个聚类的均值来代表相应各类样本时所得到的总体误差最小。 N,m C均值算法的基础是最小误差平方和准则。若是第i聚类中的样本数目,是这些样本的均值,即iii 2c1m,yJ,y,m,m 把中的各样本y与均值间的误差平方和对所有类相加后为 ,i,,iiieNy,,,,,iyi1iiJ是误差平方和聚类准则,它是样本集和类别集的函数。 y,e C均值算法的步骤: 1.选择初始划分,并计算每个聚类的均值以及误差平方和; ,,2.选择一个备选样本y,设y; i 3.若样本数目为1,则转2,否则继续; 1 N2j4.计算:j?i时,; ,,,y,mjjjN,1j N2i j=i时, ; ,,y,mii1N,i 5.考查中的最小者,若,则把y从移到中; ,,,,,,,jikkik 6.重新计算聚类i和k的均值,并修改误差平方和; 7.若多次迭代后误差平方和不变,则停止,否则转到步骤2。 Je 四、运行结果和分析 当 c=2时, TTm1(0)=(1,1,1), m2(0)=(-1,1,-1) current is: 409.49777 Je after recalculate mean by 25 steps class 0: (4.36, -2.19, 2.09) (6.72, 0.88, 2.80) (4.47, -2.62, 5.76) (6.73, -2.01, 4.18) (6.18, 2.81, 5.82) (6.72, -0.93, -4.04) (8.09, 0. 20, 2.25) (6.18, 0.17, -4.15) (4.08, 1.30, 5.33) (6.27, 0.93, -2.78) class 1: (-8.64, 3.06, 3.50) (-6.87, 0.57, -5.45) (-7.71, 2.34, -6.33) (-6.91, -0.49, -5.68) (-6.25, -0.26, 0.56) (-6.94, -1.22, 1.13) (-5 .19, 4.24, 4.04) (-6.38, -1.74, 1.43) (-7.82,-4.58,-3,.97) (-6.68,3.16,2.71) TTm1(0)=(0,0,0), m2(0)=(1,1,-1) current J is: 409.49777 e after recalculate mean by 18 steps (2)的结果与(1)的结果相同,虽然初始设置的聚类均值不同,但它只影响迭代次数,对最后结果没影响。 当c=3时, TTTm1(0)=(0,0,0), m2(0)=(1,1,1), m3(0)=(-1,0,2) Jcurrent is:263.06184 e after recalculate mean by 35 steps class 0: (-6.87, 0.57, -5.45) (-7.71, 2.34, -6.33) (-6.91, -0.49, -5.68) (-7.82,-4.58,-3,.97) class 1: (6.72, 0.88, 2.80) (4.47, -2.62, 5.76) (6.73, -2.01, 4.18) (6.18, 2.81, 5.82) (6.72, -0.93, -4.04) (8.09, 0.20, 2.25) (6.18, 0.1 7, -4.15) (4.08, 1.30, 5.33) (6.27, 0.93, -2.78)(4.36,-2.19,2.09) class 2: (-8.64, 3.06, 3.50) (-6.25, -0.26, 0.56) (-6.94, -1.22, 1.13) (-5.19, 4.24, 4.04) (-6.38, -1.74, 1.43) (-6.68,3.16,2.71) TTTm1(0)=(-0.1,0,0.1), m2(0)=(0,-0.1,0.1), m3(0)=(-0.1,-0.1,0.1) 2 current is: 295.0098799 Je after recalculate mean by 22 steps class 0: (-8.64, 3.06, 3.50) (-6.25, -0.26, 0.56) (-7.82,-4.58,-3,.97) (-6.94, -1.22, 1.13) (-5.19, 4.24, 4.04) (-6.38, -1.74, 1.43) (4.36,-2.19,2.09) class 1: (6.72, 0.88, 2.80) (4.47, -2.62, 5.76) (6.73, -2.01, 4.18) (6.18, 2.81, 5.82) (6.72, -0.93, -4.04) (8.09, 0.20, 2.25) (6.18, 0.1 7, -4.15) (4.08, 1.30, 5.33) (6.27, 0.93, -2.78) class 2: (-6.91, -0.49, -5.68) (-6.87, 0.57, -5.45) (-7.71, 2.34, -6.33) (-6.68,3.16,2.71) ( 3 )和( 4 )的聚类结果也基本接近,初始均值设置的不同会影响迭代的次数以及各次迭代所产生的聚类中心,但 它不会影响最后的分类结果。 the first results of kmeansthe second results of kmeans 1010 55 00X3X3 -5-5 -10-10551010550000-5-5-5-5-10-10X2X2X1X1 程序如下: clear all dataset=[-7.82,-4.58,-3.97;-6.68,3.16,2.71;4.36,-2.19,2.09;6.72,0.88,2.80;-8.64,3.06,3.50; -6.87,0.57,-5.45;4.47,-2.62,5.76;6.73,-2.01,4.18;-7.71,2.34,-6.33;-6.91,-0.49,-5.68; 6.18,2.81,5.82;6.72,-0.93,-4.04;-6.25,-0.26,0.56;-6.94,-1.22,1.13;8.09,0.20,2.25; 6.18,0.17,-4.15;-5.19,4.24,4.04;-6.38,-1.74,1.43;4.08,1.30,5.33;6.27,0.93,-2.78;]; center1=[1 1 1;-1 1 -1]; center2=[0 0 0;1 1 -1]; center3=[0 0 0;1 1 1;-1 0 2]; center4=[-0.1 0 0.1;0 -0.1 0.1;-0.1 -0.1 0.1]; %kmeans [k_class1,C1,sumd1,D1]=kmean(dataset.data,2,'start',center1); 3 one1=dataset.data(find(k_class1==1),:); second1=dataset.data(find(k_class1==2),:); scatter3(one1(:,1),one1(:,2),one1(:,3),'*','r') hold on scatter3(second1(:,1),second1(:,2),second1(:,3),'o','g') hold off xlabel('X1','Fontsize',15); ylabel('X2','Fontsize',15); zlabel('X3','Fontsize',15); title('the first results of kmeans','Fontsize',15) %%%%%%%%%%%%% [k_class2,C2,sumd2,D2]=kmeans(dataset.data,2,'start',center2); one2=dataset.data(find(k_class2==1),:); second2=dataset.data(find(k_class2==2),:); figure,scatter3(one2(:,1),one2(:,2),one2(:,3),'*','r') hold on scatter3(second2(:,1),second2(:,2),second2(:,3),'o','g') hold off xlabel('X1','Fontsize',15); ylabel('X2','Fontsize',15); zlabel('X3','Fontsize',15); title('the second results of kmeans','Fontsize',15) %%%%%%%%%%%%%%%%%%%% [k_class3,C3,sumd3,D3]=kmeans(dataset.data,3,'start',center3); one3=dataset.data(find(k_class3==1),:); second3=dataset.data(find(k_class3==2),:); third3=dataset.data(find(k_class3==3),:); figure,scatter3(one3(:,1),one3(:,2),one3(:,3),'*','r') hold on scatter3(second3(:,1),second3(:,2),second3(:,3),'o','g') hold on scatter3(third3(:,1),third3(:,2),third3(:,3),'x','b') hold off xlabel('X1','Fontsize',15); ylabel('X2','Fontsize',15); zlabel('X3','Fontsize',15); title('the third results of kmeans','Fontsize',15) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [k_class4,C4,sumd4,D4]=kmeans(dataset.data,3,'start',center4); one4=dataset.data(find(k_class4==1),:); second4=dataset.data(find(k_class4==2),:); third4=dataset.data(find(k_class4==3),:); figure,scatter3(one4(:,1),one4(:,2),one4(:,3),'*','r') hold on scatter3(second4(:,1),second4(:,2),second4(:,3),'o','g') hold on 4 scatter3(third4(:,1),third4(:,2),third4(:,3),'x','b') hold off xlabel('X1','Fontsize',15); ylabel('X2','Fontsize',15); zlabel('X3','Fontsize',15); title('the fourth results of kmeans','Fontsize',15) %%%fcm [class_jwei1,fuzzy_jwei1]=fcm_jwei(dataset.sample,2,center1',2); [class_jwei2,fuzzy_jwei2]=fcm_jwei(dataset.sample,2,center2',2); [class_jwei3,fuzzy_jwei3]=fcm_jwei(dataset.sample,2,center3',3); [class_jwei4,fuzzy_jwei4]=fcm_jwei(dataset.sample,2,center4',3); %子函数fcm_jwei部分 function [class_center,fuzzy,time]=fcm_jwei(sample,b,initial_center,class_num) % close all % clear all % clc % dataset=load('F:\?,ê?ê??e2010\experience1.mat'); % initial_center=[0 0 0;1 1 1;-1 0 2]'; % b=2; % class_num=3; % sample=dataset.sample; %sample is a two demention matrix,each row is a feature [feature_num,sample_num]=size(sample); fuzzy=zeros(class_num,sample_num); class_center=initial_center; class_cen=initial_center; time=0; while(1) for i=1:sample_num for j=1:class_num fuzzy(j,i)=(sample(:,i)-class_center(:,j))'*... (sample(:,i)-class_center(:,j))+eps; fuzzy(j,i)=fuzzy(j,i).^(-(1/(b-1))); end end normal_fuzzy=sum(fuzzy,1); for j=1:class_num fuzzy(j,:)=fuzzy(j,:)./normal_fuzzy; end for j=1:class_num sum_fuzzy=sum((fuzzy(j,:).^b),2)+eps; for k=1:feature_num 5 class_center(k,j)=((fuzzy(j,:).^b)*sample(k,:)')/(sum_fuzzy); end end time=time+1; if sum(sum((class_center-class_cen).*(class_center-class_cen)))<0.001; break; end class_cen=class_center; end 五、实验体会与总结 1.当各聚类设定的初始均值不同时,程序结果经过的步骤不同。 2.无论在聚类时,初始均值如何选取,在程序结果中总能得到相同的分类结果,同时的结果相差很小。 Je3.是随着聚类数目的增加而单调的减少的,当聚类数目等于样本数时=0,即每个样本自己成一类。 JJee4.此算法是个局部搜索算法,并不能保证收敛到全局最优解,即不能保证找到所有可能的聚类划分中误差平方和 最小的解。算法的结果受到初始划分和样本调整顺序的影响。 5.用均值来作为一类样本的代表点,只有当类内样本的分布为超球状或接近超球状时,才能取得较好的效果;否 则,它就不能很好的代表一个类。 优+ 良+ 中+ 及格+ 不及格+ 教师教师日优 良 中 及格 不及格 2012. 评价 签名 期 优- 良- 中- 及格- 不及格- 6
本文档为【模式识别C均值算法的实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_482581
暂无简介~
格式:doc
大小:29KB
软件:Word
页数:10
分类:
上传时间:2017-11-08
浏览量:47