Differentially Private Clustering in Data Streams

Abstract

The streaming model is an abstraction of computing over massive data streams, which is a popular way of dealing with large-scale modern data analysis. In this model, there is a stream of data points, one after the other. A streaming algorithm is only allowed one pass over the data stream, and the goal is to perform some analysis during the stream while using as small space as possible. Clustering problems (such as kk-means and kk-median) are fundamental unsupervised machine learning primitives, and streaming clustering algorithms have been extensively studied in the past. However, since data privacy becomes a central concern in many real-world applications, non-private clustering algorithms are not applicable in many scenarios. In this work, we provide the first differentially private streaming algorithms for kk-means and kk-median clustering of dd-dimensional Euclidean data points over a stream with length at most TT using poly(k,d,log(T))poly(k,d,\log(T)) space to achieve a {\it constant} multiplicative error and a poly(k,d,log(T))poly(k,d,\log(T)) additive error. In particular, we present a differentially private streaming clustering framework which only requires an offline DP coreset algorithm as a blackbox. By plugging in existing DP coreset results via Ghazi, Kumar, Manurangsi 2020 and Kaplan, Stemmer 2018, we achieve (1) a (1+γ)(1+\gamma)-multiplicative approximation with O~γ(poly(k,d,log(T)))\tilde{O}_\gamma(poly(k,d,\log(T))) space for any γ>0\gamma>0, and the additive error is poly(k,d,log(T))poly(k,d,\log(T)) or (2) an O(1)O(1)-multiplicative approximation with O~(kpoly(d,log(T)))\tilde{O}(k \cdot poly(d,\log(T))) space and poly(k,d,log(T))poly(k,d,\log(T)) additive error. In addition, our algorithmic framework is also differentially private under the continual release setting, i.e., the union of outputs of our algorithms at every timestamp is always differentially private

    Similar works

    Full text

    thumbnail-image

    Available Versions