K均值改进聚类ppt课件.ppt

K均值改进聚类ppt课件.ppt

ID:50749356

大小:893.00 KB

页数:22页

时间:2020-03-13

K均值改进聚类ppt课件.ppt_第1页
K均值改进聚类ppt课件.ppt_第2页
K均值改进聚类ppt课件.ppt_第3页
K均值改进聚类ppt课件.ppt_第4页
K均值改进聚类ppt课件.ppt_第5页
资源描述:

《K均值改进聚类ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于取样思想的改进C均值聚类1目录C-均值算法的缺陷分析改进C均值算法的分析matlab编程所用到函数介绍matlab算法程序介绍结果分析结论2一.C-均值算法的缺陷分析1.聚类个数C需要预先给定有的算法是通过类的自动合并和分裂,得到较为合理的类型数目C,例如用ISODATA算法,得到初始的聚类数目C。然后运用C均值算法进行聚类分析。聚类数目C值的确定也可根据方差分析理论,F统计量来确定最佳分类数,并应用模糊划分嫡来验证最佳分类数的正确性。3一.C-均值算法的缺陷分析2.算法对初值敏感在C-means算法中,首先

2、需要根据初始聚类中心来确定一个初始划分,然后对初始划分进行优化。这个初始聚类中心的选择对聚类结果有较大的影响,一旦初始值选择的不好,可能无法得到有效的聚类结果,这也成为C-means算法的一个主要问题。对于该问题的解决,许多算法采用遗传算法进行初始化,以内部聚类准则作为评价指标。4一.C-均值算法的缺陷分析3.局部极小解的问题聚类问题本质是一个优化问题的,这就是通过一种迭代运算使得系统的目标函数达到一个极小值。但是这个目标函数在状态空间中不是一个非凸函数,它有许多极小值,其中只有一个是全局极小值,而其他的都是局部

3、极小值。求解的目标是得到全局最小值,而不是其它的局部极小值。这也是目前一些聚类算法,经常会遇到的总是,常会在求解过程中陷入局部最优,而得不到全局最优。5二.改进C均值算法的分析在K均值算法中,选择不同的初始聚类中心会产生不同的聚类结果且有不同的准确率,此方法就是如何找到与数据在空间分布上尽可能一致的初始聚类中心。对数据进行划分,最根本的目的是使一个聚类中的对象是相似的,而不同聚类中的对象是不相似的。如果用距离表示对象之间的相似性程度,相似对象之间的距离比不相似对象之间的距离要小。如果能够寻找到K个初始中心,它们分

4、别代表了相似程度较大的数据集合,那么就找到了与数据在空间分布上相一致的初始聚类中心。6二.改进C均值算法的分析目前,初始聚类中心选取的方法有很多种,在此仅介绍两种:1.基于最小距离的初始聚类中心选取法(1)计算数据对象两两之间的距离;(2)找出距离最近的两个数据对象,形成一个数据对象集合A1,并将它们从总的数据集合U中删除;(3)计算A1中每一个数据对象与数据对象集合U中每一个样本的距离,找出在U中与A1中最近的数据对象,将它并入集合A1并从U中删除,直到A1中的数据对象个数到达一定阈值;(4)再从U中找到样本两

5、两间距离最近的两个数据对象构成A2,重复上面的过程,直到形成k个对象集合;(5)最后对k个对象集合分别进行算术平均,形成k个初始聚类中心。7二.改进C均值算法的分析2.基于取样思想的改进C均值算法基于以上对C均值算法的分析,我提出自己的改进算法。首先采用对所给的样本数据进行K-means算法进行聚类,产生一组聚类中心。然后将这组聚类中心作为初始聚类中心,在采用n次K-means算法进行聚类。然后判断两次聚类得到的中心是否一致,直到一致则结束聚类。在此,也可以在第一步中,对样本数据采用K-means算法进行n次聚类

6、运算,每次产生一组聚类中心,对n组聚类中心进行算术平均,从而得到c组初始聚类中心。8三.matlab编程所用到函数介绍1.[IDX,C]=kmeans(data,k)IDX:聚类结果C:聚类中心k:分类个数data:要聚类的数据集合,每一行为一个样本。9三.matlab编程所用到函数介绍mean函数函数原型:mean(A,dim)参数:A待求解均值的矩阵dim默认dim=1,就会求每一列的均值;当dim=2时,就会求每一行的均值。10四.matlab算法程序介绍程序主要包括两部分,一个聚类中心的提取,另一个是重新

7、进行聚类划分。%计算初始聚类中心clc;clear;%使用c-均值得到初始分类functionyy=Kmeans2();data=xlsread(‘E:模式识别数据data')%载入数据[IDX,C]=kmeans(data,4);Cy=[1:59];z=[data,IDX]';x=[z;y];%初始聚类中心的提取%kmeans初始算得的聚类中心在矩阵C中x1=[];x2=[];x3=[];x4=[];fori=1:5911四.matlab算法程序介绍ifx(4,i)==1x1=[x1,x(:,i)];els

8、eifx(4,i)==2x2=[x2,x(:,i)];elseifx(4,i)==3x3=[x3,x(:,i)];elsex(4,i)==4x4=[x4,x(:,i)];endendformatshortgx1=C(1,:)';x2=C(2,:)';x3=C(3,:)';x4=C(4,:)';12四.matlab算法程序介绍x=[x(1:3,:);x(5,:)];xx=[

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。