如何在不为每个交换创建群集副本的情况下执行PAM算法?

时间:2018-10-08 14:50:07

标签: machine-learning time-complexity cluster-analysis unsupervised-learning

我正在尝试实现PAM算法。在交换阶段,我需要找到一对元素(medoid,nonmedoid)之间的最佳交换。我评估掉期质量的最初想法是计算掉期前后的总分散度,并寻找最高增量值以选择最佳的一对货币对。但是,这需要我为每对创建一个整个系统的副本,这对于大型数据集可能会变得很慢。

对于聚类表示,我使用的是Map,其中,质体映射到非质体列表(它们组成的聚类)。

有没有更有效的方法来执行此任务?

1 个答案:

答案 0 :(得分:1)

那太慢了。

对您的方法进行复杂性分析。 PAM应该是O(k(n-k)²)。所有类固醇和所有非类质都有循环。这样就剩下O(n-k)来计算掉期成本。

PAM直接计算集群质量中的变化以实现此目标。您可能需要更仔细地研究它-不要依赖专注于主要思想而不是所有细节的Wikipedia质量摘要。相反,请阅读考夫曼和卢梭的书。