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

来源:互联网 发布:阿里云建立pptp 编辑:程序博客网 时间:2024/05/24 02:35

思想: 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 0
原创粉丝点击