K-medoids和PAM之间的区别

机器算法验证 聚类 k-中心点
2022-03-10 12:09:00

我知道 PAM 只是一种 K-medoids 算法。不同之处在于新的中心点选择(每次迭代):

  • K-medoids 选择离该中心点最近的对象作为下一个中心点

  • PAM 尝试将集群中的所有对象作为一个新的中心点,这将导致较低的 SSE。

如果我理解得很好,PAM 会提供更好的结果,但会占用更多时间。是这样吗?

哪个更好,为什么?


这让我感到困惑,这是一个实现 K-medoids 的软件列表,来自Wikipedia

  • ELKI 包括几个 k-means 变体,包括 k-medoids 和 PAM。
  • Julia 在 Clustering 包中包含一个 k-medoid 实现 [5]
  • R 包含在 k-means 的“flexclust”包变体和“cluster”包中。
  • Gap 一个基于距离的聚类的 embrional 开源库。
  • Java 机器学习。包括一个 k-medoid 实现。

例如,它说 ELKI 包含两种变体,k-medoids 和 PAM?

例如,首先看一下javaml中的 K-medoids 实现,看起来它找到了最接近 medoid 的对象并尝试了它。

1个回答

k-medoids 是问题规范。这可能是一个 np-hard 问题。

PAM 是一种为 k-medoids 问题找到局部最小值的算法。也许不是最佳的,但比穷举搜索更快。

PAM 对于 k-medoids 就像 Lloyd 算法对于 k-means 一样。Lloyd 算法是一种快速启发式算法,可以找到 k-means 的良好解决方案,但它可能无法找到最佳解决方案。