我们应该用K-手段++而不是K-手段?手段、应该用、而不是

2023-09-11 22:54:54 作者:爱的深、伤的越深。

借助 K均值++ 算法有助于在原来两个以下几点k-means算法

The k-means++ algorithm helps in two following points of the original k-means algorithm:

在原来的k-means算法具有运行超级多项式输入大小的时候最坏的情况下,当k均值++声称是为O(log k)的。 在发现可以产生一个不那么令人满意的结果对于目标函数相比,最优聚类逼近。

但那里的k-means什么缺点++?我们应该始终从现在开始使用K-意味着它呢?

But are there any drawbacks of k-means++? Should we always used it instead of k-means from now on?

推荐答案

没有人声称的 K 的-means ++ 为O(LG的 K 的)时间;它的解决方案的质量是O(LG的 K 的) - 与最佳的解决方案的竞争力。双方的 K 的-means ++和常用的方法,称为劳合社的算法,是近似的NP难优化问题。

Nobody claims k-means++ runs in O(lg k) time; it's solution quality is O(lg k)-competitive with the optimal solution. Both k-means++ and the common method, called Lloyd's algorithm, are approximations to an NP-hard optimization problem.

我不知道运行的 K 的时间-means ++最坏的情况是什么;请注意,在亚瑟和放大器; Vassilvitskii 的原始描述,步骤算法的2-4指劳合社的算法。他们声称,这是双向更好,更快的做法,因为它从一个更好的位置开始。

I'm not sure what the worst case running time of k-means++ is; note that in Arthur & Vassilvitskii's original description, steps 2-4 of the algorithm refer to Lloyd's algorithm. They do claim that it works both better and faster in practice because it starts from a better position.

的缺点的 K 的-means ++是这样的:

The drawbacks of k-means++ are thus:

它也可以找到最佳的解决方案(它仍然是一个近似值)。 这不是一直快于劳氏算法(参见亚瑟和放大器; Vassilvitskii的表)。 在这复杂得多,劳合社的算法中。 这是比较新的,而劳合社已经证明了它的价值超过50年。 在更好的算法可能存在的特殊度量空间。

也就是说,如果你的 K 的-means库支持的 K 的-means ++,然后通过各种手段尝试一下。

That said, if your k-means library supports k-means++, then by all means try it out.