k-Means for Streaming and Distributed Big Sparse Data
Abstract
We provide the first streaming algorithm for computing a provable approximation to the -means of sparse Big data. Here, sparse Big Data is a set of vectors in , where each vector has non-zeroes entries, and . E.g., adjacency matrix of a graph, web-links, social network, document-terms, or image-features matrices. Our streaming algorithm stores at most input points in memory. If the stream is distributed among machines, the running time reduces by a factor of , while communicating a total of (sparse) input points between the machines. % Our main technical result is a deterministic algorithm for computing a sparse -coreset, which is a weighted subset of input points that approximates the sum of squared distances from the input points to every centers, up to factor, for any given constant . This is the first such coreset of size independent of both and . Existing algorithms use coresets of size at least polynomial in , or project the input points on a subspace which diminishes their sparsity, thus require memory and communication even for . 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.
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