- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
聚类分析实验
一、实验目的
加深对K 均值聚类分析算法的理解,掌握K 均值聚类分析分类器的设计方法。
二、实验内容
根据实验数据设计K均值聚类分析分类器,实验数据采用遥感彩色图像,以图像的所有象素为样本集,每一象素点的R、G、B值作为其特征向量。
1)选择合适的类别数K和初始聚类中心。
2)选择距离测度。
3)设计迭代中止条件,或人为设定迭代次数。
4)循环迭代结束时,各类的所有象素其R、G、B值用各类中心的R、G、B值表示,画出分类结果图。
5)分析不同初始聚类中心和迭代条件对分类效果的影响。
三、实验思路
利用K均值算法的思路,根据其步骤,将实验分为以下几步:
1、本实验中选定K=5,即选K个聚类中心,任选K个样本为初始聚类中心;
2、分别计算每个样本到各聚类中心的距离,按照最小距离原则,将全部样本分配到K个聚类中;
3、利用下式计算重新分类后的各聚类中心
j=(1,2,3)
4、比较新的聚类中心和旧的聚类中心之间的距离,如果它们的距离小于等于0.01,则认为两聚类中心相等,跳出迭代,否则转2,进行迭代,直至达到最大迭代数;
5、分类结束,将所有样本分成K类,各类值都与其对应聚类中心值相等。画出图像,算法结束。
四、实验结果
最后的聚类中心和一共迭代次数为:
五、附录
close all;clear all;clc;
%读取图像
f=imread(D:\model.bmp);
figure;
imshow(f);
title(未聚类前图像)
S=size(f);%得到图像矩阵,发现它是247*203*3矩阵
hd=double(f);
r=hd(:,:,1);%把三原色分开,红
g=hd(:,:,2);%绿
b=hd(:,:,3);%蓝
%任选K个初始聚类中心
z(1,:)=[r(50,40),g(50,40),b(50,40)];
z(2,:)=[r(200,40),g(200,40),b(200,40)];
z(3,:)=[r(50,160),g(50,160),b(50,160)];
z(4,:)=[r(200,160),g(200,160),b(200,160)];
z(5,:)=[r(120,100),g(120,100),b(120,100)];
%按最小距离原则,将全部样本分配到K个聚类中
for m=1:100%最大失代次数
%x1=[];x2=[];x3=[];x4=[];x5=[];
zz=zeros(5,3);
k=zeros(5,1);
for rr=1:S(1,1);
for ll=1:S(1,2);
%计算样本到各聚类中心的距离
for nn=1:5
dt(nn,1)=([hd(rr,ll,1),hd(rr,ll,2),hd(rr,ll,3)]-z(nn,:))*([hd(rr,ll,1),hd(rr,ll,2),hd(rr,ll,3)]-z(nn,:));
end
[yy,xx]=min(dt);%得到样本距离其中一个中心距离最小
k(xx,1)=k(xx,1)+1;
zz(xx,:)=zz(xx,:)+[r(rr,ll),g(rr,ll),b(rr,ll)];
zb(xx,k(xx,:),:)=[rr,ll];%标记坐标号
end
end
for n=1:5
zt(n,:)=zz(n,:)/k(n,1);%重新计算各聚类中心
dz(n)=sqrt((zt(n,:)-z(n,:))*(zt(n,:)-z(n,:)));%计算新旧聚类中心的距离
z(n,:)=zt(n,:);%聚类中心更新
end
if max(dz)=0.01 %如果新老聚类中心的距离=0.01则认为相等
break;
end
end
%所有样本的值都与其聚类中心的值相等
for n=1:k(1,1)
hd(zb(1,n,1),zb(1,n,2),1)=z(1,1);
hd(zb(1,n,1),zb(1,n,2),2)=z(1,2);
hd(zb(1,n,1),zb(1,n,2),3)=z(1,3);
end
for n=1:k(2,1)
hd(zb(2,n,1),zb(2,n,2),1)=z(2,1);
hd(zb(2,n,1),zb(2,n,2),2)=z(2,2);
hd(zb(2
您可能关注的文档
最近下载
- RIGOL普源PVP2350 无源探头用户手册.pdf VIP
- 电气试验管理制度.docx VIP
- 考研真题东北农业大学食品学院816食品生物化学历年考研真题汇编.docx VIP
- 化学锚栓计算(修改版).xls VIP
- osi七层模型教学课件.ppt VIP
- 新民主主义革命理论PPT2024版毛泽东思想和中国特色社会主义理论体系概论课件.pptx VIP
- ZOOM声乐乐器L-12快速入门(Chinese)说明书用户手册[1].pptx VIP
- 《成人密闭式吸痰技术操作规范》.pdf VIP
- 《图纸会审(表格)》.docx VIP
- 北京市房屋租赁合同(2008版-新)【模板范本】 .pdf VIP
文档评论(0)