- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
主 讲:周润景 教授
单 位:电子信息工程学院
模糊C均值聚类
目 录
模糊C均值聚类应用背景
模糊C均值算法
模糊C均值聚类的MATLAB实现
模糊C均值聚类结果分析
一.模糊C均值聚类应用背景
传统的聚类分析是一种硬划分(Crisp Partition),它把每个待辨识的对象严格地划分到某类中,具有“非此即彼”的性质,因此这种类别划分的界限是分明的。然而实际上大多数对象并没有严格的属性,它们在性质和类属方面存在着中介性,具有“亦此亦彼”的性质,因此适合进行软划分。Zadeh提出的模糊集理论为这种软划分提供了有力的分析工具,人们开始用模糊方法来处理聚类问题,并称之为模糊聚类分析。模糊聚类得到了样本属于各个类别的不确定性程度,表达了样本类属的中介性,建立起了样本对于类别的不确定性的描述,能更客观地反映现实世界,从而成为聚类分析研究的主流。
在基于目标函数的聚类算法中模糊C均值(FCM,Fuzzy C—Means)类型算法的理论最为完善,应用最为广泛。
二.模糊C均值算法
1.模糊C均值聚类的准则
设 是n个样本组成的样本集合,c为预定的类别数目, 是第i个样本对于第j类的隶属度函数。用隶属度函数定义的聚类损失函数可以写为
其中,b1,是一个可以控制聚类结果的模糊程度的常数。
在不同的隶属度定义方法下最小化聚类损失函数,就得到不同的模糊聚类方法。其中最有代表性的是模糊C均值方法,它要求一个样本对于各个聚类的隶属度之和为1,即:
二.模糊C均值算法
2.模糊C均值算法步骤
(1)设定聚类数目c和加权指数b:
J . C. Bezdek根据经验,认为b 取2 最合适。
Cheung和Chen从汉字识别的应用背景得出b的最佳取值应在1.25~1.75之间。
Bezdek和Hathaway等人从算法收敛性角度着手,得出b 的取值与样本数目n有关的结论,建议b的取值要大于n/(n2)。
Pal等人从聚类有效性方面的实验研究得到b的最佳选取区间为[1.5, 2.5],在不做特殊要求下可取区间中值b = 2。
二.模糊C均值算法
(2)初始化各个聚类中心 :
式中,Ni是第i聚类中的样本数目。
(3)重复下面的运算,直到各个样本的隶属度值稳定:
用当前的聚类中心根据下式计算隶属度函数:
二.模糊C均值算法
用当前的隶属度函数按下式更新计算各类聚类中心:
当模糊C均值算法收敛时,就得到了各类的聚类中心和各个样本对于各类的隶属度值,从而完成了模糊聚类划分。如果需要,还可以将模糊聚类结果进行解模糊,即用一定的规则把模糊聚类划分转化为确定性分类。
三.模糊C均值聚类的MATLAB实现
1.重要程序代码
这里对酒瓶颜色进行分类。下面介绍其重要程序代码:
1)MATLAB模糊C均值数据聚类识别函数
在MATLAB中(b=2),只要直接调用如下程序即可实现模糊C均值聚类:
[Center,U,obj_fcn]=fcm(data,cluster_n)
data:要聚类的数据集合,每一行为一个样本;
cluster_n:聚类数;
Center:最终的聚类中心矩阵,每一行为聚类中心的坐标值;
U:最终的模糊分区矩阵;
obj_fcn:在迭代过程中的目标函数值。
三.模糊C均值聚类的MATLAB实现
注意:在使用上述方法时,要根据中心坐标Center的特点分清楚每一类中心所代表的实际中的哪一类,然后才能准确地将待聚类的各方案准确地分为各自所属的类别;否则,就会出现张冠李戴的现象。
2)MATLAB图形显示聚类模式
使用命令[center,U,obj_fcn] = fcm(data,4)进行聚类后,可调用MATLAB图形窗口显示聚类结果,命令格式如下:
maxU=max(U); %最大隶属度
index1 = find(U(1,:) == maxU) %找到属于第一类的点
index2 = find(U(2,:) == maxU) %找到属于第二类的点
index3 = find(U(3,:) == maxU) %找到属于第三类的点
index4 = find(U(4,:) == maxU) %找到属于第四类的点
三.模糊C均值聚类的MATLAB实现
为了提高图形的区分度,添加如下命令:
line(data(index1,1),data(index1,2),data(index1,3),linestyle,none,marker,*,color,g);
line(data(index2,1),data(index2,2),data(index2,3),
您可能关注的文档
最近下载
- 基于51单片机的智能台灯设计.doc
- 幼儿园课件:小老鼠和泡泡糖最终.pptx
- 2024必威体育精装版国开《个人理财》形考题库.docx VIP
- 国家开放大学学前教育专业+毕业作业(幼儿园教学活动设计与指导)9.doc
- 第18课 从九一八事变到西安事变(课件).pptx VIP
- 酒店装配式装修技术规程.pdf VIP
- 2023年中国汉字听写大赛全部试题库及答案.pdf VIP
- 2024中国铁路成都局集团限公司招聘高校毕业生998人高频考题难、易错点模拟试题(共500题)附带答案详解.docx
- 人文英语3--An-absence-excuse-letter完整版.docx
- 神经工程学(天津大学)大学MOOC慕课 客观题答案.docx
文档评论(0)