FriendlyCore:�Tool for Differentially Private Aggregation
Eliad Tsfadia
Joint with: Edith Cohen, Haim Kaplan, Yishay Mansour, Uri Stemmer
About Me
PhD Student at Tel Aviv University Cryptography
Researcher at Google
Differential Privacy
This Talk
Differentially Privacy (DP)
Dwork, McSherry, Nissim, Smith 2006
Differentially Privacy (DP)
Dwork, McSherry, Nissim, Smith 2006
Example: DP Averaging [Dwork, McSherry, Nissim, Smith 2006]
Friendly datasets
Friendly datasets
“almost” friendly
With DP: (almost) same output
(wishful) FriendlyCore Paradigm
x
x
Sample and Aggregate Framework �Nissim, Raskhodnikova, Smith 2007
Indication: A random sample of the data provides a good answer (non privately)
Example: Clustering
k-tuple Clustering
Friendly tuples:
x
x
x
x
(wishful) FriendlyCore Paradigm
(wishful) FriendlyCore Paradigm
(wishful) FriendlyCore Paradigm
K-tuples: Friendly DP is not DP!
K-tuples: Friendly DP is not DP!
K-tuples: Friendly DP is not DP!
K-tuples: Friendly DP is not DP!
K-tuples: Friendly DP is not DP!
D is not friendly => Step 2 may induce different clusters.
Key Property:
D and D’ are friendly => Same clusters in Step 2,�(and clustering becomes trivial).
FriendlyCore (simplified)
FriendlyCore (simplified)
Averaging
FriendlyCore (simplified)
k-tuple Clustering
FriendlyCore (simplified)
Averaging ordered k-tuples
FriendlyCore (simplified)
FriendlyCore for DP
FriendlyCore for zCDP (simp.)
FriendlyCore DP vs. zCDP
FriendlyCore
Demo: �Mean estimation
Demo: �Clustering via Sample and Aggregate
Safe because the core is CERTIFIED to be friendly!
The 3 private centers placed in the original dataset
Performing a final private Lloyd Step
Averaging: Previous results
Clustering: Previous Results
k-Means Clustering
k-Means Clustering
FriendlyCore: creating 200 tuples�using Python KMeans (sklearn)
k-Means Clustering
k-GMM
FriendlyCore: creating 200 tuples�using PCA based clustering
k-Means Clustering (Real Data)
FriendlyCore: creating 200 tuples�using Python KMeans (sklearn)
Summary
Thank you!