版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一、C-均值算法与模糊C均值聚类的比较一、实验目的1. 通过对算法的编程实现,加强对该算法的认识和理解,提高自身的知识水平和编程能力,认识模式识别在生活中的应用;2. 深入理解C均值和模糊C均值的基本原理;3. 采用两种分类方式进行仿真;二、 实验原理1.C均值的原理;C均值聚类算法是一种典型的无监督动态聚类算法。该算法是在类别数目已知(=k)的条件下进行的,能够使聚类结果的距离平方和最小,即算法的基础是误差平方和准则。其基本过程是建立初始的聚心和聚类,通过多次迭代,逐渐调整各类的聚心和各像元的类别,直至得到聚类准则约束下的最好结果为止。本实验的具体过程如下:选择初始类别中心,假设有c个类
2、别,设置其中心分别为在第k步迭代中,对于任何一个像元x(是一个N维向量,N是高光谱图像的波段数目),按如下方法把它调整到。各类别中的某一个类别中去。令d(x,y)为向量x,y之间的距离,若:, j = 1 2 c ()则,其中是以为中心的类。由上一步得到的(i=1 2c)个类别新的中心其中Ni是类别的数目。是按照最小J的原则,J的表达式为:对所有的i=1 2c。如果,则迭代结束(在程序中,则按照每个类别的对应的那些像素不再变化,则停止迭代),否则转到第二步继续迭代。2模糊C均值的原理在数字图像由于存在混合像素的原因,也就是说一个像素中不仅存在一类地物,因而采用硬分类方式往往不合适,而模糊C均值
3、就是引入模糊集对每个像素的划分概率不单单是用0或1这样的硬分类方式,而是0和1之间的范围内(包括0和1)。定义是n个样本组成的样本集合,c为预定的类别数目,为每个聚类中心,是第个样本对于第类的隶属度函数。用隶属度函数定义的聚类损失函数可以写为:其中,是一个可以控制聚类结果的模糊程度的常数。在不同的隶属度定义方法下最小化式的损失函数,就得到不同的模糊聚类方法。其中最有代表的是模糊C均值方法,它要求一个样本对于各个聚类的隶属度之和为1,即 在条件式下求得其极小值,令对和的偏导数为0,可得必要条件:, 。用迭代的方法求解上式,就是模糊C均值算法。算法步骤如下:1) .设定聚类数目c和参数b。2) 初
4、始化各个聚类中心。3)重复下面的运算,直到各个样本的隶属度值稳定:当算法收敛时,就得到了各类的聚类中心和各个样本对于各类的隶属度值,从而完成了模糊聚类划分。三、 实验要求表1、实验数据(X1、X2、X3是样本的特征)样本12345678910X1-7.82-6.684.366.72-8.64-6.874.476.73-7.71-6.91X2-4.583.16-2.190.883.060.57-2.62-2.012.34-0.49X3-3.972.712.092.803.50-5.455.764.18-6.33-5.68样本11121314151617181920X16.186.72-6.25-
5、6.948.096.81-5.19-6.384.086.27X22.81-0.93-0.26-1.220.200.174.24-1.741.300.93X35.82-4.040.561.132.25-4.154.041.435.33-2.78利用表1数据完成下面的实验:1.编写C-均值算法,并用上表数据按下列条件分别测试。(a) c=2(类别数);初始聚类的均值:m1(0)=(1,1,1),m2(0)=(-1,1,-1)(b) c=2(类别数);初始聚类的均值:m1(0)=(0,0,0),m2(0)=(1,1,-1)。将得到的结果与(a)中结果比较,并解释差别,包括迭代次数的差别。(c) c=
6、3(类别数);初始聚类的均值:m1(0)=(0,0,0),m2(0)=(1,1,1),m3(0)=(-1,0,2)(d) c=2(类别数);初始聚类的均值:m1(0)=(-0.1,0,0.1),m2(0)=(0,-0.1,0.1),m3(0)=(-0.1,-0.1,0.1)。将得到的结果与(a)与(c)中结果比较,并解释差别,包括迭代次数的差别。2.重做(1),但利用模糊C均值聚类,并设置:b=2。并与C-均值算法比较。四、 实验结果及分析1、c=2(类别数);初始聚类的均值:m1(0)=(1,1,1),m2(0)=(-1,1,-1)在设定初始中心m1(0)=(1,1,1),m2(0)=(-1
7、,1,-1)情况下分得的结果如图1,绿色和红色分别是两种不同的种类。C均值聚类(K均值聚类)是采用欧氏距离作为类别的相似性度量,也就是说与某个类别中心相聚最近就判属于这类。由图1可以看出绿色“o”和红色“*”两种种类中间存在着一个较大的间距,因而可以将这两类样本区别开来。图1 分类结果在同样的初始聚类中心条件下,我们采用模糊C均值方式对样本进行分类,因为模糊C均值属于一种软分类方式,因而得到的结果只能用隶属度来描述,对于模糊C均值的相似度描述是依赖于样本与类均值间的二范数(欧式距离)。结果如表2所示,P1表示样本属于第一类的概率,P2表示样本属于第二类的概率。从这我们也可以很明显看出C均值和模
8、糊C均值间的差别,C均值是属于一种硬分类方式,所以分类结果只能用0或1来表示,然而,实际中存在着介于“是”与“不是”间的类别,采用硬分类方式就得不到合理的结果。迭代次数比较,C均值经过2次迭代结束,而模糊C均值却需要5次迭代才能结束,这也许引起的一个主要原因是循环结束条件不一致。表2、模糊C均值的分类结果样本12345678910P10.12650.10890.95520.98750.11780.08870.88760.95830.11850.0977P20.87350.89110.04480.01250.88220.91130.11240.04170.88150.9023样本11121314
9、151617181920P10.90210.83910.01760.03740.97810.83680.22240.06000.90420.8807P20.09790.16090.98240.96260.02190.16320.77760.94000.09580.11932、c=2(类别数);初始聚类的均值:m1(0)=(0,0,0),m2(0)=(1,1,-1)在设定初始中心m1(0)=(0,0,0),m2(0)=(1,1,-1)情况下分得的结果如图2,绿色和红色分别是两种不同的种类。显而易见,实验二的结果和实验一的结果一致,这可能由于初始中心的选取不合理引起的结果。此外,最为主要的原因可能
10、是,绿色“o”和红色“*”两类之间的间隔确实较远,在分两类的情况下确实只会导致这样的结果。图2 分类结果由表3可见,在硬分类的条件下,无法对红色“*”类别进行合理的描述,而模糊C均值却能给出一个较为合理的分析。对于C均值迭代结束是3,而模糊C均值的迭代次数为7。由此可见,迭代次数不仅依赖于样本本身,还依赖于初值的选取。表3、模糊C均值的分类结果样本12345678910P10.87240.89280.04510.01270.88380.91010.11390.04230.88050.9009P20.12760.10720.95490.98730.11620.08990.88610.95770.
11、11950.0991样本11121314151617181920P10.09910.15890.98290.96320.02170.16120.77990.94060.09760.1176P20.90090.84110.01710.03680.97830.83880.22010.05940.90240.88243、c=3(类别数);初始聚类的均值:m1(0)=(0,0,0),m2(0)=(1,1,1),m3(0)=(-1,0,2)在设定初始中心m1(0)=(0,0,0),m2(0)=(1,1,1),m3(0)=(-1,0,2)情况下分得的结果如图3,绿色“o”、红色“*”和蓝色“x”分别是三种
12、不同的种类。如图3可见,在实验一和实验二中的某一类被分成两个子类,这主要是C均值只利用到均值特征,而没有利用方差特征,对于上两个实验中某一类的类内方差较大,所以不能简单的把它当做一类对待,采用分三类的方式就能得到一个更好的实验结果。图3 分类结果C均值分类迭代次数为3,而模糊C均值迭代次数为11,模糊C均值所需的迭代次数较多。当然不仅影响这个结果主要原因依赖于程序本身的设计。而C均值方法是引用MATLAB自带的程序。表4、模糊C均值的分类结果样本12345678910P10.7074 0.0580 0.0343 0.0074 0.1012 0.9900 0.0670 0.0260 0.8834
13、 0.9934 P20.0643 0.0249 0.9161 0.9818 0.0399 0.0020 0.8157 0.9354 0.0250 0.0014 P30.2283 0.9171 0.0497 0.0107 0.8589 0.0080 0.1173 0.0386 0.0916 0.0052 样本11121314151617181920P10.0607 0.1517 0.1047 0.1282 0.0147 0.1535 0.1143 0.1435 0.0563 0.1119 P20.8356 0.7157 0.0235 0.0317 0.9658 0.7115 0.0831 0.0
14、437 0.8353 0.7791 P30.1037 0.1326 0.8718 0.8400 0.0195 0.1350 0.8027 0.8128 0.1084 0.1090 4、c=3(类别数);初始聚类的均值(初始聚类中心):m1(0)=(-0.1,0,0.1),m2(0)=(0,-0.1,0.1),m3(0)=(-0.1,-0.1,0.1)在设定初始中心m1(0)=(-0.1,0,0.1),m2(0)=(0,-0.1,0.1),m3(0)=(-0.1,-0.1,0.1)情况下分得的结果如图4,绿色“o”、红色“*”和蓝色“x”分别是三种不同的种类。如图4可见,实验四的结果与实验三的结
15、果不一致,从而说明初值的选择对实验结果有较大的影响。对于那种类似较难区分的数据,我们应该根据经验等合理方式来给定。图4 分类结果C均值分类迭代次数为4,而模糊C均值迭代次数为17。从以上结果,可以看出迭代次数依赖于程序本身、初始类别中心和样本数据。表5、模糊C均值的分类结果样本12345678910P10.2210 0.9248 0.0494 0.0109 0.8652 0.0089 0.1177 0.0388 0.0931 0.0049 P20.0639 0.0225 0.9162 0.9816 0.0380 0.0023 0.8148 0.9349 0.0257 0.0014 P30.71
16、51 0.0527 0.0343 0.0075 0.0967 0.9888 0.0675 0.0263 0.8812 0.9937 样本11121314151617181920P10.1047 0.1314 0.8590 0.8272 0.0194 0.1339 0.8114 0.8002 0.1095 0.1081 P20.8343 0.7176 0.0257 0.0340 0.9660 0.7133 0.0793 0.0463 0.8338 0.7808 P30.0610 0.1511 0.1154 0.1387 0.0147 0.1528 0.1093 0.1534 0.0567 0.1
17、112 四、程序close allclear allclcdataset=load('F:experience1.mat');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;%kmeansk_class1,C1,sumd1,D1=kmeans(dataset.data,2,'start',center1);one1=dataset.data(find(k_class1=1),:);se
18、cond1=dataset.data(find(k_class1=2),:);scatter3(one1(:,1),one1(:,2),one1(:,3),'*','r')hold onscatter3(second1(:,1),second1(:,2),second1(:,3),'o','g')hold offxlabel('X1','Fontsize',15);ylabel('X2','Fontsize',15);zlabel('X3','
19、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'
20、;)hold onscatter3(second2(:,1),second2(:,2),second2(:,3),'o','g')hold offxlabel('X1','Fontsize',15);ylabel('X2','Fontsize',15);zlabel('X3','Fontsize',15);title('the second results of kmeans','Fontsize',15)%k_class3,C3,su
21、md3,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 onscatter3(second3(:,1),second3(:,2),second3(:,3),
22、39;o','g')hold onscatter3(third3(:,1),third3(:,2),third3(:,3),'x','b')hold offxlabel('X1','Fontsize',15);ylabel('X2','Fontsize',15);zlabel('X3','Fontsize',15);title('the third results of kmeans','Fontsize',15
23、)%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 onscatter3(second4(:,1),second4(:,2)
24、,second4(:,3),'o','g')hold onscatter3(third4(:,1),third4(:,2),third4(:,3),'x','b')hold offxlabel('X1','Fontsize',15);ylabel('X2','Fontsize',15);zlabel('X3','Fontsize',15);title('the fourth results of kmeans','
25、;Fontsize',15)%fcmclass_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:Ä£Ê
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度粮油食品检验人员考前冲刺测试卷(轻巧夺冠)附答案详解
- 2024-2025学年度医学检验(师)模拟试题附答案详解(完整版)
- 2024-2025学年度环境影响评价工程师之环境影响评价相关法律法规考前冲刺练习试题及参考答案详解【能力提升】
- 2024-2025学年度中医助理医师试卷【夺冠系列】附答案详解
- 2024-2025学年度沈阳职业技术学院妇产护理期末每日一练试卷附参考答案详解(精练)
- 2024-2025学年山东化工职业学院单招《物理》考前冲刺练习试题含完整答案详解【夺冠系列】
- 2024-2025学年度计算机四级真题附完整答案详解(名师系列)
- 2024-2025学年度辅警招聘考试全真模拟模拟题及答案详解(夺冠系列)
- 2024-2025学年中医执业医师考前冲刺试卷往年题考附答案详解
- 2024-2025学年度烟草职业技能鉴定复习提分资料及答案详解(夺冠系列)
- 计算机操作员职业标准
- PPK(表格模板、XLS格式)
- 最科学养羊技术
- GB/T 30257-2013节能量测量和验证技术要求通风机系统
- GB/T 22708-2008绝缘子串元件的热机和机械性能试验
- GB/T 17492-2019工业用金属丝编织网技术要求和检验
- GB 13614-2012短波无线电收信台(站)及测向台(站)电磁环境要求
- 城市绿地设计规范课件
- 2023年宁波城市职业技术学院单招职业适应性测试笔试题库及答案解析
- 风景园林工程课件第四章-园路
- 工程质量问责追责管理办法
评论
0/150
提交评论