【问题标题】:Initial centroids in k-meansk-means 中的初始质心
【发布时间】:2019-05-14 20:48:33
【问题描述】:

于是我在网上找到了一段描述,上面写着:

从所有点的中心开始。依次选择离所有中心最远的点作为下一个聚类的中心。

所以我认为:

center = 所有点的平均值

centroid1 = 离中心最远的点

centroid2 = 离中心最远的点和 centroid1

centroid3 = 离中心最远的点 AND centroid1 AND centroid2。

我的问题是,我应该如何计算例如离中心和质心 1 最远的点?我是否对它们进行平均,然后选择离中间最远的点?我是否计算中心和质心1的最大距离点并选择另一个?如果是这样,centroid3 会不会等于 centroid1 或 2?

【问题讨论】:

  • 您可以选择随机点作为初始质心。这也可以。

标签: algorithm math k-means


【解决方案1】:

在本文档中,Centroids Initialization for K-Means Clustering using Improved Pillar Algorithm 最远表示总和。因此,在第二步中,您需要将与第一个质心的距离相加,距离形成每个点的所有点的平均值,然后选择最大的一个。

提供的伪代码中的相关行是

2. Calculate D <- dis(X, m)
...
6. Set i = 1 as counter to determine the i-th initial centroid
7. DM = DM + D
8. Select x <- xargmax(DM) as the candidate for i-th initial centroids

为了选择下一个 x 作为其余初始质心的候选者,在每个数据点和 c 之间重新计算 Di(其中 i 是当前迭代步长) i-1 。然后将 Di添加到累积距离度量 DM (DM i)。

【讨论】:

  • 谢谢。我在没有重复检测的情况下进行了测试,经过 5 次迭代后,我已经在 100 个元素的数据集上得到了重复的质心。这正常吗?
  • @sollniss 要让算法正常工作,您需要实现它的所有部分。您可以检查链接文档中的伪代码。
猜你喜欢
  • 2016-06-27
  • 2017-07-04
  • 2020-02-21
  • 2014-01-25
  • 2015-04-06
  • 1970-01-01
  • 2017-02-09
  • 2018-05-09
相关资源
最近更新 更多