改进C均值聚类算法

上传人:cl****1 文档编号:469731433 上传时间:2023-03-21 格式:DOCX 页数:7 大小:55.69KB
返回 下载 相关 举报
改进C均值聚类算法_第1页
第1页 / 共7页
改进C均值聚类算法_第2页
第2页 / 共7页
改进C均值聚类算法_第3页
第3页 / 共7页
改进C均值聚类算法_第4页
第4页 / 共7页
改进C均值聚类算法_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《改进C均值聚类算法》由会员分享,可在线阅读,更多相关《改进C均值聚类算法(7页珍藏版)》请在金锄头文库上搜索。

1、改进C均值聚类算法c均值算法属于聚类技术中一种基本的划分方法,具有简单、快速的优点。 其基本思想是选取c个数据对象作为初始聚类中心,通过迭代把数据对象划分到 不同的簇中,使簇内部对象之间的相似度很大,而簇之间对象的相似度很小。对C 均值算法的初始聚类中心选择方法进行了改进,提出了一种从数据对象分布出发 动态寻找并确定初始聚类中心的思路以及基于这种思路的改进算法。1、C-均值聚类算法 给出n个混合样本,令I = 1,表示迭代运算次数,选取c个初始聚合中心 Z (1),j = 1,2,.,c ; 计算每个样本与聚合中心的距离DR%(I),k = 1,2,.,n,j = 1,2,.,c。若 D(x

2、,Z (I) = min D(x ,Z (I),k = 1,2,., n,则 x e w。k ik jk ij =1,2,., c 计算c个新的集合中心:Z(I +1) = Lxy),j = 1,2,.,c。j k =1 判断:若Z (I +1)。Z (I),j = 1,2,.,c,则I = I +1,返回,否则算法 结束。2、C-均值改进算法的思想在C-均值算法中,选择不同的初始聚类中心会产生不同的聚类结果且有不 同的准确率,此方法就是如何找到与数据在空间分布上尽可能相一致的初始聚类 中心。对数据进行划分,最根本的目的是使得一个聚类中的对象是相似的,而不同 聚类中的对象是不相似的。如果用距离

3、表示对象之间的相似性程度,相似对象之 间的距离比不相似对象之间的距离要小。如果能够寻找到C个初始中心,它们分 别代表了相似程度较大的数据集合,那么就找到了与数据在空间分布上相一致的 初始聚类中心。目前,初始聚类中心选取的方法有很多种,在此仅介绍两种:1)基于最小距离的初始聚类中心选取法其主要思想:(1) 计算数据对象两两之间的距离;(2) 找出距离最近的两个数据对象,形成一个数据对象集合A1 ,并将它们 从总的数据集合U中删除;(3) 计算A1中每一个数据对象与数据对象集合U中每一个样本的距离,找 出在。中与入1中最近的数据对象,将它并入集合A1并从U中删除,直到A1中的 数据对象个数到达一定

4、阈值;(4) 再从U中找到样本两两间距离最近的两个数据对象构成A2,重复上面的 过程,直到形成k个对象集合;(5) 最后对k个对象集合分别进行算术平均,形成k个初始聚类中心。这种方法和Huffman算法一样。后一种算法介绍是是基于最小二叉树的方法,看起来比较费劲。算法:(1) 计算任意两个数据对象间的距离d ( x, y)找到集合U中距离最近的两 个数据对象,形成集合Am (lmk),并从集合U中删除这两个对象;(2) 在U中找到距离集合Am最近的数据对象,将其加入集合Am,并从集合U中 删除该对象;(3) 重复(2)直到集合中的数据对象个数大于等于a3 n /k ( 0 al);(4) 如果

5、m k,则m-m + 1,再从集合U中找到距离最近的两个数据对象,形 成新的集合Am, (1mk),并从集合U中删除这两个数据对象,返回(2)执行;(5) 将最终形成的k个集合中的数据对象分别进行算术平均,从而形成k个初 始聚类中心。从这c个初始聚类中心出发,应用c均值聚类算法形成最终聚类。2)基于取样思想的改进C均值算法首先对样本数据采用K-means算法进行聚类,产生一组聚类中心。然后将这 组聚类中心作为初始聚类中心,在采用K-means算法进行聚类。在此,也可以在第一步中,对样本数据采用K-means算法进行n次聚类运算,每次 产生一组聚类中心,对n组聚类中心进行算术平均,从而得到c组初

6、始聚类中心。基于取样思想的改进C均值算法程序:function yy=Kmeans2()data=1739.94 1675.152395.96样本空间373.33087.052429.471756.771652 1514.98864.451647.312665.9222.853059.542002.33877.882031.663071.181803.581583.122163.052352.122557.041411.53401.33259.942150.98363.343477.952462.861571.171731.041735.33104.83389.832421.83499.853

7、305.752196.222297.283340.14535.622092.623177.21584.321418.791775.892772.91845.591918.812226.492205.363243.741202.692949.163244.44662.421692.621867.52108.971680.671575.781725.12802.883017.111984.98172.783084.492328.652063.543199.761257.211449.581641.583405.121651.521713.281570.38341.593076.622438.632

8、91.023095.682088.95237.633077.782251.961702.81639.792068.741877.931860.961975.3867.812334.682535.11831.491713.111604.68460.693274.772172.992374.983346.98975.312271.893482.97946.71783.641597.992261.31198.833250.452445.081494.632072.592550.511597.031921.522126.761598.931921.081623.331243.131814.073441

9、.072336.312640.261599.63354 3300.122373.612144.472501.62591.51426.313105.292057.81507.131556.891954.51343.073271.722036.942201.943196.22935.532232.433077.871298.871580.11752.072463.041962.41594.971835.951495.181957.443498.021125.171594.392937.7324.223447.312145.011269.071910.722701.971802.071725.811

10、966.351817.361927.42328.791860.451.1782.881875.13;IDX,C=kmeans(data,4);Cy=1:59; z=data,IDX;x=z;y;x1=;x2=;x3=;x4=;for i =1:59if x(4,i)=1x1=x1,x(:,i);elseif x(4,i)=2x2=x2,x(:,i);elseif x(4,i)=3x3=x3,x(:,i);else x(4,i)=4x4=x4,x(:,i);endendformat short gx1=C(1,:);x2=C(2,:);x3=C(3,:);x4=C(4,:);x=x(1:3,:)

11、;x(5,:);xx=mean(x1,2),mean(x2,2),mean(x3,2),mean(x4,2);xxx=ones(3,4);j=0;zwhile xx=xxxxx=xxx;d1=; d2=; d3=; d4=;for i=1:size(z,2)d1=d1,round(1000*sum(x(1:3,i)-mean(x1,2).A2)/1000;d2=d2,round(1000*sum(x(1:3,i)-mean(x2,2).A2)/1000;d3=d3,round(1000*sum(x(1:3,i)-mean(x3,2).A2)/1000;d4=d4,round(1000*sum(

12、x(1:3,i)-mean(x4,2).A2)/1000;endd1,d2,d3,d4ww1=;ww2=;ww3=;ww4=;for i =1:size(z,2)if min(d1(i),d2(i),d3(i),d4(i)=d1(i)ww1=ww1,x(:,i);elseif min(d1(i),d2(i),d3(i),d4(i)=d2(i)ww2=ww2,x(:,i);elseif min(d1(i),d2(i),d3(i),d4(i)=d3(i)ww3=ww3,x(:,i);elseww4=ww4,x(:,i);endendx1=ww1(1:3,:);x2=ww2(1:3,:);x3=ww

13、3(1:3,:);x4=ww4(1:3,:);xxx=mean(x1,2),mean(x2,2),mean(x3,2),mean(x4,2)yyy=xxxendww1ww2ww3ww4plot3(ww1(1,:),ww1(2,:),ww1(3,:),s,ww2(1,:),ww2(2,:),ww2(3,:),*,ww3(1,:),ww3(2,:),ww3(3,:),o,ww4(1,:),ww4(2,:),ww4(3,:),*)grid运行结果:C = ww1 =1733.22332.71210.6300.971735.63078.918783222.81976.21075.92957.92250.2Columns 1 through 111739.91756.81803.61571.21845.61692.61680.71651.51702.81877.91831.51675.216521583.117311918.81867.51575.81713.31639.818611713.1239615152163.11735.32226.521091725.11570.42068.71975.31604.71371117202126303133Columns 12 through 201783.615971598.91507

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号