K均值算法

http://www.idataskys.com/%E8%81%9A%E7%B1%BB%E5%88%86%E6%9E%90%E4%B9%8Bk%E5%9D%87%E5%80%BC%E7%AE%97%E6%B3%95/

K均值算法是一种基于划分的方法,它以K作为输入参数,将所有N个对象集合划分为N个类别。

K均值初始输入:1、类别或者簇的个数K2、随机选取K个种子点

K均值算法的收敛准则函数:平方误差准则或者种子点不在移动

K均值算法的主要流程如下。首先随机选取K个对象,每个对象代表一个簇的初始均值值或中心。计算剩余每个对象与各个簇均值的距离,并将对象指派到相似的簇。再计算每个簇的新均值,更新它。不断重复这一过程直到所有的对象指派到了簇并满足准则函数。

K均值算法的伪代码:

输入:

K:簇的数目

D:包含N个对象的数据集

输出:K个簇的集合

方法:

(1)从D中随机选取K个对象作为种子点;

(2)Repeat:

1. 根据簇中对象的均值,将每个对象指派到最相似的簇

2. 更新簇的中心种子点的值,即计算每个簇中对象的均值;

(3)Until:种子点不再发生变化

 

该算法的缺点:

(1)在 K-means 算法中 是事先给定的,这个 值的选定是非常难以估计的。很多时候,事先并不知道给定的数据集应该分成多少个类别才最合适。

(2) 在 K-means 算法中,首先需要根据初始聚类中心来确定一个初始划分,然后对初始划分进行优化。这个初始聚类中心的选择对聚类结果有较大的影响,一旦初始值选择的不好,可能无法得到有效的聚类结果

(3)该算法需要不断地进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法的时间开销非常大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值