您的位置:首页 > 其它

k均值聚类(K-means)

2017-08-08 16:28 169 查看
分类作为一种监督学习方法,要求必须事先明确知道各个类别的信息,并且断言所有待分类项都有一个类别与之对应。但是很多时候上述条件得不到满足,尤其是在处理海量数据的时候,如果通过预处理使得数据满足分类算法的要求,则代价非常大,这时候可以考虑使用聚类算法。
聚类属于无监督学习,相比于分类,聚类不依赖预定义的类和类标号的训练实例。

所谓聚类问题,就是给定一个元素集合D,其中每个元素具有n个可观察属性,使用某种算法将D划分成k个子集,要求每个子集内部的元素之间相异度尽可能低,而不同子集的元素相异度尽可能高。其中每个子集叫做一个

与分类不同,分类是示例式学习,要求分类前明确各个类别,并断言每个元素映射到一个类别,而聚类是观察式学习,在聚类前可以不知道类别甚至不给定类别数量,是无监督学习的一种。

 k均值算法的计算过程非常直观:

      1、从D中随机取k个元素,作为k个簇的各自的中心。

      2、分别计算剩下的元素到k个簇中心的相异度,将这些元素分别划归到相异度最低的簇。

      3、根据聚类结果,重新计算k个簇各自的中心,计算方法是取簇中所有元素各自维度的算术平均数

      4、将D中全部元素按照新的中心重新聚类。

      5、重复第3,4步,直到聚类结果不再变化。

      6、将结果输出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: