是否可以近似何时完成?

时间:2012-12-30 14:49:15

标签: performance cluster-analysis k-means

抱歉这个奇怪的问题,但问题是我正在使用Yael library运行kmeans。

我得到了大约9,000,000个128维度的向量,我将获得1,000,000个质心。它运行在24核CPU上,现在运行了很多个小时。这是我第一次运行带有大量数据的kmeans,我想知道它什么时候结束,而不是等待它完成并稍后知道。

所以问题是,是否可以近似何时完成?

1 个答案:

答案 0 :(得分:2)

你确定吗

A)算法适合您的问题? k-means建立在许多假设之上,特别是你的集群具有相同的大小

B)你的参数有意义吗?任何使用的“聚类”是否为“1000000”?是否有意义?这些集群中有多少最终只包含0或1个观测结果?

天真的k-means实现(99%天真)将使用O(n*k*i),其中n是观察数量,k是群集数量i是收敛前所需迭代次数。所以显然它严重缩放到1000000个集群。 但更糟糕的是:k-means将在最坏的情况下测试O(k^n)分配。通常要少得多,但显然这个数字高度依赖于集群的数量。所以集群越多,通常需要的迭代次数才会收敛!