聚类分析模式识别.doc
- 文档编号:2496297
- 上传时间:2022-10-30
- 格式:DOC
- 页数:6
- 大小:67KB
聚类分析模式识别.doc
《聚类分析模式识别.doc》由会员分享,可在线阅读,更多相关《聚类分析模式识别.doc(6页珍藏版)》请在冰豆网上搜索。
聚类分析实验
一、实验目的
加深对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类,各类值都与其对应聚类中心值相等。
画出图像,算法结束。
四、实验结果
最后的聚类中心和一共迭代次数为:
五、附录
closeall;clearall;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个聚类中
form=1:
100%最大失代次数
%x1=[];x2=[];x3=[];x4=[];x5=[];
zz=zeros(5,3);
k=zeros(5,1);
forrr=1:
S(1,1);
forll=1:
S(1,2);
%计算样本到各聚类中心的距离
fornn=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
forn=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
ifmax(dz)<=0.01%如果新老聚类中心的距离<=0.01则认为相等
break;
end
end
%所有样本的值都与其聚类中心的值相等
forn=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
forn=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,n,1),zb(2,n,2),3)=z(2,3);
end
forn=1:
k(3,1)
hd(zb(3,n,1),zb(3,n,2),1)=z(3,1);
hd(zb(3,n,1),zb(3,n,2),2)=z(3,2);
hd(zb(3,n,1),zb(3,n,2),3)=z(3,3);
end
forn=1:
k(4,1)
hd(zb(4,n,1),zb(4,n,2),1)=z(4,1);
hd(zb(4,n,1),zb(4,n,2),2)=z(4,2);
hd(zb(4,n,1),zb(4,n,2),3)=z(4,3);
end
forn=1:
k(5,1)
hd(zb(5,n,1),zb(5,n,2),1)=z(5,1);
hd(zb(5,n,1),zb(5,n,2),2)=z(5,2);
hd(zb(5,n,1),zb(5,n,2),3)=z(5,3);
end
fn=uint8(hd);
figure;
imshow(fn);
title('K均值聚类后的图像');
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 聚类分析 模式识别