k-均值:一种基于型心的技术

思想: k-均值算法把簇的型心定义为簇内点的均值。它的处理流 程如下。首先,在数据集D中随机地选择k个对象,每个对象代表一个簇的初始均值或中心。对剩下的每个对象,根据其与各个簇中心的欧式距离,将它们分配到最相似的簇。然后,k-均值算法迭代地改善簇内变差。对于每个簇,它使用上次迭代分配到该簇的对象,计算新的均值。然后,使用更新后的均值作为新的簇中心,重新分配所有对象。迭代继续,直到分配稳定,即本轮形成的簇与前一轮形成的簇相同。

算法: k-均值。用于划分的k-均值算法,其中每个簇的中心都用簇中所有对象的均值来表示。

输入:

  • k:簇的数目
  • D:包含n个对象的数据集

输出:k个簇的集合

方法:

  1. 从D中任意选择k个对象作为初始簇中心;
  2. repeat
  3.     根据簇中对象的均值,将每个对>象分配到最相似的簇;
  4.     更新簇均值,即重新计算每个簇中对象的均值;
  5. util不在发生变化;

由于k-均值算法采用的是贪心算法而没有列举出所有可能的划分,所以k-均值算法不能保证收敛于全局最优解,它常常终止于一个局部最优解。结果可能依赖于初始簇中心的随机选择。实践中,为了得到好的结果,通常以不同的初始簇中心,多次运行k-均值算法。

k-均值算法的时间复杂度是O(nkt),其中n是对象总数,k是簇数,t是迭代次数。通常k << n 且 t << n。因此,对于处理大型数据集,该算法是相对可伸缩和有效的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值