【问题标题】:What is the flow of K-Means++ , I would like to know exactly differences between K-Mean and K-Means++?K-Means++ 的流程是什么,我想知道 K-Mean 和 K-Means++ 之间的确切区别?
【发布时间】:2014-03-24 23:01:31
【问题描述】:

我想知道 K-Mean 和 K-Means++ 算法之间的区别。如果有人了解 K-Means++ 算法的流程,你能举例解释一下吗?虽然,我了解 K-Mean 算法,找到方法实现 K-Means++ 算法对我来说很困难,因为我不明白这个算法的工作流程:清楚。 谢谢大家。

【问题讨论】:

标签: algorithm k-means


【解决方案1】:

说你想知道 k-meansk-means++ 之间的区别是不准确的。因为,这两种算法没有可比性,而是相互融合。

Kmeans++ 来自维基百科的定义:

k-means++ 是一种为 k-means 聚类算法选择初始值(或“种子”)的算法

并且需要存在这样的算法,因为 k-means 在性能和准确性方面存在问题(取决于您分析数据的方式和整个预处理步骤)。

关于你的问题:

对我来说很难找到如何实现 K-Means++ 算法,因为我不明白这个算法的工作流程:清楚。

您从数据集中的一个随机点开始,然后计算该集中每个点与所选点之间的距离(欧几里得距离可以是您的选择之一)。然后,随机选择一个新数据点作为新中心,使用weighted probability distribution,其中选择点x 与probability proportional 到D(x)2。并重做相同的事情(除了从随机点开始),直到达到所需的 k 集群(k 应作为参数传递给算法)。

在您拥有k 集群之后,您可以继续使用k-means请注意,这主要来自维基百科,但我的意思是,您将 k-means++ 作为 k-means 的替代品,事实并非如此,这是上述定义所述。

最后,k-means++ 足以帮助克服 k-means 存在的一些问题,但是通过将簇的数量 (k) 作为输入参数传递给它,它不再是可扩展的。但是,如果您有兴趣,还有另一个版本的 k-means 称为 k-means2(我没有搜索其他来源)可能会克服可伸缩性问题。

【讨论】:

  • 谢谢,我会努力深入了解的。
猜你喜欢
  • 2020-03-03
  • 2011-07-24
  • 2011-06-10
  • 1970-01-01
  • 2021-04-29
  • 2013-07-03
  • 2011-10-01
  • 2018-02-27
  • 2013-03-23
相关资源
最近更新 更多