【问题标题】:K means clustring find k farthest points in javaK表示聚类在java中找到k个最远的点
【发布时间】:2013-09-06 04:16:07
【问题描述】:

我正在尝试实现 k 均值聚类。

我有一组坐标为 (x,y) 的点,我使用欧几里得距离来求距离。我已经计算出矩阵中所有点之间的距离

dist[i][j] - 点 i 和 j 之间的距离

当我选择距离 pt 1 最远的 [1][3] 作为 3.

那么当我搜索距离 3 最远的时候,我可能会得到 a[3][j] 但 a[1][j] 可能是最小值。

[pt j 远离 pt3 但接近 1]

那么如何使用距离矩阵选择k个最远的点。

【问题讨论】:

  • 为什么不对 [i][j] 对进行升序排序?上次我学习数据挖掘时,我认为这就是解决方案……排序,然后找到 k 最大值或 k 最小值。

标签: cluster-analysis k-means


【解决方案1】:

请注意,k 最远点不一定会产生最佳结果:它们显然不是最佳聚类中心估计值。

另外,由于 k-means 启发式算法可能会陷入局部最小值,因此您需要一种随机算法,该算法允许您多次重新启动该过程并获得可能不同的结果。

您可能想查看 k-means++,它是已知的用于 k-means 初始化的良好启发式算法。

【讨论】:

    猜你喜欢
    • 2021-07-11
    • 1970-01-01
    • 2011-07-21
    • 2016-08-12
    • 2016-09-06
    • 1970-01-01
    • 2016-10-13
    • 2013-08-29
    相关资源
    最近更新 更多