围绕 Medoids (PAM) 进行分区是确定性的吗?

机器算法验证 聚类
2022-04-12 02:27:24

我最近做了很多聚类工作,一直在使用 PAM 算法。

根据我的研究,它似乎是确定性的,因为 medoids 的初始化是从数据集中的项目中选择的(随机选择)。此外,SWAP阶段的后续中心点也是数据集中的项目。因此,对于任何给定的数据集,只有一个正确答案可以最小化到它们的集群中心点的绝对距离之和。

因此,PAM 是对每个元素的详尽搜索,以找到最佳的 k 个中心点。

相比之下,k-means 算法为聚类中心选择任意合成起点。中心一直移动,直到误差被最佳地减小。

我在这个假设中正确吗?

2个回答

PAM 接近于确定性,但可能存在联系

特别是,PAM 不使用随机生成器。

PAM 的核心是构建阶段,它试图巧妙地选择初始设置(存在使用随机样本的变体,但 IIRC不是原始 PAM 算法)。如果我没记错的话,作者甚至声称您实际上并不需要迭代细化(SWAP 阶段),并且由于良好的起始条件,它将在很少的迭代中完成。

然而,如果你有,例如,一个对称数据集,你可能在某个时候有不止一个选择作为“最佳中心点”。由于这些“联系”,它不能是完全确定的(大多数实现将是确定的,因为它们不会随机打破这些联系;但如果您置换数据并有这样的联系,您可能偶尔会看到不同的结果)。

PAM 也不是穷举搜索这是一种最陡下降的方法,但它只会考虑附近的解决方案。CLARANS 文章中的超图解释概述了这一点。但是很容易看出有 (n 选择 k) 个可能的 medoids,但是 PAM 在任何时候都只考虑每个 SWAP 步骤中的 (nk)*k 个备选方案。

简短的回答没有。它对起始中心点很敏感。可能有多个正确的中心点组合来最小化目标函数。

一些软件包实现了一个智能构建阶段,其中以确定的方式选择起始中心点。如果起始中心点是确定性的,则 PAM 结果也将是确定性的。

这篇论文帮助我将它们联系在一起Amorim 等人本文介绍了 PAM 的加权版本。