【发布时间】:2018-03-12 20:27:15
【问题描述】:
我研究过 K-medoid 算法 (PAM) 是一种基于分区的聚类算法,是 K-means 算法的一种变体。它解决了K-means产生空簇和对异常值/噪声敏感等问题。
然而,K-medoid 的时间复杂度是 O(n^2),不像 K-means(劳埃德算法)的时间复杂度是 O(n)。我想问一下K-medoid算法除了时间复杂度之外是否还有其他缺点。
【问题讨论】:
-
其实k-means的最坏情况运行时间比O(n)差很多;可能与k-medoids没有什么不同。你还需要更加更加精确。您可能正在谈论劳埃德算法和 PAM。 k-means 是问题,而不是解决问题的方法; k-medoids 也一样。
-
是的,我在这里说的 k-means 是劳埃德算法,而 k-medoids 是围绕 medoids 进行分区。
-
这个问题是针对 stats.stackexchange.com 的。
-
"K-medoid 的时间复杂度是 O(n^2),不像 K-means(劳埃德算法)的时间复杂度是 O(n)。 - 你的意思是每次迭代的时间复杂度是 O(n^2) 和 O(n) 吗?因为K-means的时间复杂度不是O(n),甚至不接近。
-
哦,真的吗?那么K-means的复杂度是多少,你知道PAM(K-medoid)的其他缺点吗?
标签: algorithm cluster-analysis data-mining k-means hierarchical-clustering