English

k-Means for Streaming and Distributed Big Sparse Data

Data Structures and Algorithms 2016-02-09 v2

Abstract

We provide the first streaming algorithm for computing a provable approximation to the kk-means of sparse Big data. Here, sparse Big Data is a set of nn vectors in Rd\mathbb{R}^d, where each vector has O(1)O(1) non-zeroes entries, and dnd\geq n. E.g., adjacency matrix of a graph, web-links, social network, document-terms, or image-features matrices. Our streaming algorithm stores at most lognkO(1)\log n\cdot k^{O(1)} input points in memory. If the stream is distributed among MM machines, the running time reduces by a factor of MM, while communicating a total of MkO(1)M\cdot k^{O(1)} (sparse) input points between the machines. % Our main technical result is a deterministic algorithm for computing a sparse (k,ϵ)(k,\epsilon)-coreset, which is a weighted subset of kO(1)k^{O(1)} input points that approximates the sum of squared distances from the nn input points to every kk centers, up to (1±ϵ)(1\pm\epsilon) factor, for any given constant ϵ>0\epsilon>0. This is the first such coreset of size independent of both dd and nn. Existing algorithms use coresets of size at least polynomial in dd, or project the input points on a subspace which diminishes their sparsity, thus require memory and communication Ω(d)=Ω(n)\Omega(d)=\Omega(n) even for k=2k=2. Experimental results real public datasets shows that our algorithm boost the performance of such given heuristics even in the off-line setting. Open code is provided for reproducibility.

Keywords

Cite

@article{arxiv.1511.08990,
  title  = {k-Means for Streaming and Distributed Big Sparse Data},
  author = {Artem Barger and Dan Feldman},
  journal= {arXiv preprint arXiv:1511.08990},
  year   = {2016}
}

Comments

16 pages, 44 figures

R2 v1 2026-06-22T11:56:27.896Z