Matrix ¡Mechanism ¡and ¡Data ¡Dependent ¡ algorithms ¡ CompSci ¡590.03 ¡ Instructor: ¡Ashwin ¡Machanavajjhala ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 1 ¡
Recap: ¡Constrained ¡Inference ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 2 ¡
Constrained ¡Inference ¡ [Hay ¡et ¡al ¡VLDB ¡10] ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 3 ¡
Recap: ¡Query ¡Strategy ¡ Strategy ¡Query ¡ ¡ Original ¡Query ¡ ¡ Workload ¡ Workload ¡ A ¡ W ¡ I ~ ¡ ~ ¡ A(I) ¡ W(I) ¡ A(I) ¡ Differen.al ¡ Noisy ¡Workload ¡ Noisy ¡Strategy ¡ Privacy ¡ Answers ¡ Answers ¡ Private ¡ ¡ Data ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 4 ¡
This ¡Class ¡ ¡ • Query ¡strategy ¡for ¡General ¡Workloads ¡ – Matrix ¡Mechanism ¡ ¡ ¡ ¡ ¡[Li ¡et ¡al ¡PODS ¡10] ¡ • Data ¡Dependent ¡vs ¡Data ¡Independent ¡algorithms ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 5 ¡
Linear ¡Queries ¡ • A ¡set ¡of ¡linear ¡queries ¡can ¡be ¡represented ¡by ¡a ¡matrix ¡ • X ¡= ¡[x1, ¡x2, ¡x3, ¡x4] ¡is ¡a ¡vector ¡ ¡ represenYng ¡the ¡counts ¡of ¡4 ¡values ¡ • H 4 ¡X ¡ represents ¡the ¡following ¡7 ¡queries ¡ – ¡ x1+x2+x3+x4 ¡ – ¡x1+x2 ¡ – ¡x3+x4 ¡ – ¡x1 ¡ – ¡x2 ¡ – ¡x3 ¡ – ¡x4 ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 6 ¡
Example: ¡range ¡queries ¡over ¡spaYal ¡data ¡ Input: ¡sensiYve ¡data ¡ D ¡ Input: ¡range ¡query ¡ workload ¡ W ¡ Shown ¡is ¡workload ¡of ¡ 3 ¡ range ¡queries ¡ BeijingTaxi ¡dataset[1]: ¡ 4,268,780 ¡records ¡of ¡(lat,lon) ¡ pairs ¡of ¡taxi ¡pickup ¡locaYons ¡ in ¡Beijing, ¡China ¡in ¡1 ¡month. ¡ Sca^er ¡plot ¡of ¡input ¡data ¡ ¡ Task : ¡compute ¡answers ¡to ¡workload ¡ W ¡over ¡private ¡input ¡ D ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 7 ¡
Linear ¡Query ¡RepresentaYon ¡ 1. DiscreYze ¡a^ribute ¡domain ¡into ¡cells ¡ 2. ¡ x ¡vector ¡represents ¡the ¡count ¡in ¡each ¡ cell. ¡ ¡ ¡ 3. Every ¡query ¡in ¡the ¡workload ¡ represented ¡by ¡1 ¡in ¡the ¡cells ¡that ¡ intersect ¡the ¡query ¡range. ¡ ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 8 ¡
Baseline ¡Algorithm ¡ • Add ¡Laplace ¡noise ¡to ¡the ¡original ¡counts ¡in ¡ x ¡ • Reconstruct ¡the ¡counts ¡using ¡the ¡noisy ¡counts. ¡ ¡ • Query ¡Strategy: ¡ ¡IDENTITY ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 9 ¡
Error ¡analysis ¡ Error ¡ baseline ¡algorithm ¡ on ¡every ¡range ¡query ¡ • Domain ¡is ¡single ¡a^ribute, ¡ discreYzed ¡into ¡128 ¡cells ¡ • Baseline ¡simply ¡adds ¡noise ¡ to ¡every ¡cell ¡count ¡ • Incurs ¡ high ¡error ¡ on ¡ large ¡ ranges ¡ Small ¡range ¡ Large ¡range ¡ Error ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 10 ¡
Other ¡Query ¡Strategies ¡ Iden.ty ¡ ¡ Hierarchical ¡ Haar ¡Wavelet ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 11 ¡
Error ¡comparison ¡ Error ¡ tree ¡algorithm ¡ Error ¡ baseline ¡algorithm ¡ on ¡every ¡range ¡query ¡ on ¡every ¡range ¡query ¡ Hierarchy ¡lowers ¡error ¡on ¡ large ¡ranges ¡ but ¡ incurs ¡slightly ¡higher ¡error ¡for ¡ small ¡ranges ¡ ¡ Error ¡ Error ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 12 ¡
Credit: ¡Cormode ¡ Data ¡transformaYons ¡ Noise ¡ “Invert” ¡ Transform ¡ Coefficients ¡ Original ¡ Noisy ¡ Private ¡ Data ¡ Coefficients ¡ Data ¡ • Can ¡think ¡of ¡trees ¡as ¡transform ¡of ¡input ¡ • Can ¡apply ¡other ¡data ¡transformaYons ¡ • General ¡idea: ¡ – Apply ¡transform ¡of ¡data ¡ – Add ¡noise ¡in ¡the ¡transformed ¡space ¡(based ¡on ¡sensiYvity) ¡ – Publish ¡noisy ¡coefficients, ¡or ¡“invert” ¡transform ¡ • Goal : ¡pick ¡a ¡low ¡sensiYvity ¡transform ¡that ¡preserves ¡ good ¡properYes ¡of ¡data ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 13 ¡
SensiYvity ¡of ¡a ¡Query ¡Matrix ¡ • How ¡many ¡queries ¡are ¡affected ¡by ¡a ¡change ¡in ¡a ¡single ¡count? ¡ Sensi.vity ¡= ¡1 ¡ Sensi.vity ¡= ¡3 ¡ Sensi.vity ¡= ¡3 ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 14 ¡
Laplace ¡Mechanism ¡ Sensi.vity ¡ Noise ¡Vector ¡of ¡ Laplace(1) ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 15 ¡
Matrix ¡Mechanism ¡ Original ¡ Noisy ¡ Data ¡ Representa.on ¡ Reconstructed ¡Data ¡ Final ¡query ¡answer ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 16 ¡
ReconstrucYon ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 17 ¡
Matrix ¡Mechanism ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 18 ¡
Error ¡analysis ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 19 ¡
Extreme ¡strategies ¡ Good ¡when ¡each ¡ • Strategy ¡A ¡= ¡I n ¡ ¡ query ¡hits ¡a ¡few ¡ – Noisily ¡answer ¡each ¡xi ¡ values. ¡ ¡ – Answer ¡queries ¡using ¡noisy ¡counts ¡ Good ¡when ¡ • Strategy ¡A ¡= ¡W ¡ sensiYvity ¡is ¡small ¡ (or ¡each ¡value ¡hits ¡a ¡ – Add ¡noise ¡to ¡all ¡the ¡query ¡answers ¡ small ¡# ¡queries) ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 20 ¡
Finding ¡the ¡OpYmal ¡Strategy ¡ • Find ¡A ¡that ¡minimizes ¡TotalError A (W) ¡ – Reduces ¡to ¡solving ¡a ¡semi-‑definite ¡program ¡with ¡rank ¡constraints ¡ – O(n 6 ) ¡running ¡Yme. ¡ • ¡See ¡paper ¡for ¡approximaYons ¡and ¡an ¡interesYng ¡discussion ¡on ¡ geometry. ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 21 ¡
Matrix ¡Mechanism ¡Summary ¡ • Approach ¡ – Use ¡Laplace ¡mechanism ¡to ¡answer ¡batch ¡of ¡queries, ¡each ¡of ¡which ¡is ¡linear ¡ combinaYon ¡of ¡cell ¡counts ¡ • Examples ¡ – Hierarchical: ¡Trees ¡[HRMS10,QYL13], ¡full ¡height ¡quadtree ¡[CPSSY12] ¡ – Haar ¡Wavelet ¡[XWG10] ¡ – Discrete ¡Fourier ¡transform ¡[BCDKMT07] ¡ • InverYng ¡transformaYon ¡ – Some ¡transformaYons ¡(e.g. ¡tree) ¡have ¡redundancy ¡(over-‑constrained), ¡so ¡ require ¡pseudo-‑inverse ¡ – Pseudo-‑inverse ¡automaYcally ¡takes ¡into ¡account ¡postprocessing ¡due ¡to ¡ linear ¡constraints. ¡ ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 22 ¡
This ¡Class ¡ ¡ • Query ¡strategy ¡for ¡General ¡Workloads ¡ – Matrix ¡Mechanism ¡ ¡ ¡ ¡ ¡[Li ¡et ¡al ¡PODS ¡10] ¡ • Data ¡dependent ¡Noise ¡addiYon ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 23 ¡
Data ¡dependence ¡vs ¡Data ¡Independence ¡ • Data ¡independent ¡algorithm ¡adds ¡noise ¡that ¡is ¡independent ¡of ¡ the ¡input ¡instance ¡ – Laplace ¡mechanism ¡ – Hierarchical ¡mechanism ¡ – Wavelet ¡mechanism ¡ ¡ – Matrix ¡Mechanism ¡ • Data ¡dependent ¡algorithms ¡add ¡noise ¡that ¡ depends ¡ on ¡the ¡input ¡ instance ¡ – ExponenYal ¡mechanism ¡(when ¡the ¡score ¡funcYon ¡is ¡data ¡dependent) ¡ – Smooth ¡sensiYvity ¡ – Many ¡more ¡… ¡we ¡will ¡see ¡next ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 24 ¡
Data ¡dependent ¡transformaYons ¡ Noise ¡ “Invert” ¡ Transform ¡ Coefficients ¡ Original ¡ Noisy ¡ Private ¡ Data ¡ Coefficients ¡ Data ¡ Use ¡a ¡Lossy ¡ Inversion ¡is ¡no ¡ transformaYon ¡ longer ¡“unique” ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 25 ¡
Example: ¡Histogram ¡Release ¡ ¡ 5 ¡ 3 ¡ 2 ¡ 1 ¡ 1 ¡ 1 ¡ 1 ¡ • Using ¡Laplace ¡mechanism ¡(ε=1), ¡ Mean ¡squared ¡Error ¡= ¡7 ¡* ¡2 ¡= ¡14 ¡ 25 ¡ 35 ¡ 45 ¡ 55 ¡ 30 ¡ 40 ¡ 50 ¡ 60 ¡ Lecture ¡9 ¡: ¡590.03 ¡Fall ¡16 ¡ 26 ¡
Recommend
More recommend