Kmeans算法

Posted 随·风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kmeans算法相关的知识,希望对你有一定的参考价值。

一、Kmeans算法流程:

1.选取K个类中心(首次随机选取)

2.计算每个点到K个类中心的距离

3.把数据点分配距离最近的一个类中心

4.计算新的类中心(对该类中的所有点取均值

5.重复234,直至满足终止条件后终止迭代

  • 不再有重新分配
  • 最大迭代数
  • 所有类中心移动小于某一阈值  

 

二、Kmean算法类数K的选取:多值尝试聚类指标最优提升转折点

 

三、Kmean算法初始类中心选取:

  • 多次全随机取最优
  • 最远选取
  1. 第一个类中心:随机选取
  2. 第二个类中心:距离第一个类中心最远的点
  3. 第三个类中心:距离前两个类中心最远的点
  4. 以此类推,直到第K个
  • 半随机选取(实验证明该方法最有效)
  1. 随机选择第一个类中心
  2. 记D(x)为数据点x距最近类中心的距离
  3. 选取下一个类中心,选取的概率正比于D(x)^2
  4. 以此类推,直到第K个
  • 其他

以上是关于Kmeans算法的主要内容,如果未能解决你的问题,请参考以下文章

聚类算法 - kmeans

求MATLAB实现canopy-kmeans聚类算法的完整代码

如何用mapreduce分布式实现kmeans算法

11- 聚类算法 (KMeans/DBSCAN/agg) (算法)

Kmeans聚类算法简介(有点枯燥)

Java实现Kmeans算法