Performance 请问kmean大概什么时候结束?
很抱歉这个奇怪的问题,但问题是我正在运行kmeans,使用 我得到了大约9000000个128维向量,我将得到1000000个质心。它在24核CPU上运行,现在已经运行了好几个小时。这是我第一次用这么大的数据运行kmeans,我想知道它什么时候会完成,而不是等到它完成以后才知道 所以问题是,有可能估计kmean什么时候结束吗 你确定吗 A) 算法是否适合您的问题?k-means是建立在很多假设中的,特别是集群的大小相同 B) 你的参数有意义吗?“群集”到“1000000”是否有任何用途?这有意义吗?这些集群中有多少最终只包含0或1个观测值 一个朴素的k-均值实现(99%是朴素的)将使用Performance 请问kmean大概什么时候结束?,performance,cluster-analysis,k-means,Performance,Cluster Analysis,K Means,很抱歉这个奇怪的问题,但问题是我正在运行kmeans,使用 我得到了大约9000000个128维向量,我将得到1000000个质心。它在24核CPU上运行,现在已经运行了好几个小时。这是我第一次用这么大的数据运行kmeans,我想知道它什么时候会完成,而不是等到它完成以后才知道 所以问题是,有可能估计kmean什么时候结束吗 你确定吗 A) 算法是否适合您的问题?k-means是建立在很多假设中的,特别是集群的大小相同 B) 你的参数有意义吗?“群集”到“1000000”是否有任何用途?这有意义
O(n*k*i)
其中n
是观察数,k
是聚类数,i
是收敛前所需的迭代数。所以很明显,它严重扩展到1000000个集群。
但更糟糕的是:k-means在最坏的情况下会测试
O(k^n)
assignments。通常要少得多,但显然这个数字高度依赖于集群的数量。因此,集群越多,通常需要的迭代次数就越多,直到收敛 对不起,现在我明白你的问题了。我删除了我的答案。没有办法知道它什么时候会结束,甚至无法接近实时。因为这里有很多因素,你永远不可能完全了解它们:)但我可以说这需要很多时间,所以振作起来,离开它:)