The ¡Sparse ¡Vector ¡Technique ¡and ¡ ¡ online ¡query ¡answering ¡ CompSci ¡590.03 ¡ Instructor: ¡Ashwin ¡Machanavajjhala ¡ Lecture ¡11: ¡590.03 ¡Fall ¡16 ¡ 1 ¡
Offline ¡QA ¡ • Till ¡now: ¡ ¡ ¡ Given ¡a ¡workload ¡of ¡queries ¡W, ¡design ¡a ¡differenLally ¡private ¡ algorithm ¡that ¡answers ¡these ¡queries ¡on ¡database ¡x ¡with ¡least ¡ error. ¡ ¡ Lecture ¡11: ¡590.03 ¡Fall ¡16 ¡ 2 ¡
Offline ¡QA ¡ • Is ¡reasonable ¡in ¡many ¡seRngs ¡ • Census ¡Data: ¡ – Set ¡of ¡tables ¡that ¡are ¡released ¡are ¡prespecified ¡ • SpaLal ¡data ¡analysis ¡ – Want ¡counts ¡of ¡people ¡within ¡conLguous ¡regions ¡ – Corresponds ¡to ¡a ¡workload ¡of ¡all ¡range ¡queries ¡ • DistribuLons ¡of ¡values ¡of ¡an ¡aVribute ¡ – CDF ¡is ¡the ¡prefix ¡workload ¡ Lecture ¡11: ¡590.03 ¡Fall ¡16 ¡ 3 ¡
Online ¡QA ¡ • But, ¡oXen ¡one ¡does ¡not ¡know ¡what ¡queries ¡to ¡pose ¡before ¡ looking ¡at ¡the ¡data ¡ • Online ¡QA: ¡ ¡ – Analyst ¡poses ¡queries ¡one ¡aXer ¡the ¡other ¡ – Next ¡query ¡can ¡be ¡determined ¡based ¡on ¡the ¡answer ¡to ¡the ¡previous ¡query ¡ • How ¡to ¡do ¡online ¡QA ¡with ¡least ¡error? ¡ Lecture ¡11: ¡590.03 ¡Fall ¡16 ¡ 4 ¡
SequenLal ¡ComposiLon ¡to ¡the ¡rescue ¡ • If ¡M 1 , ¡M 2 , ¡..., ¡M k ¡ are ¡algorithms ¡that ¡access ¡a ¡private ¡database ¡D ¡ such ¡that ¡each ¡M i ¡ ¡ saLsfies ¡ε i ¡ -‑differenLal ¡privacy, ¡ ¡ ¡ then ¡the ¡combinaLon ¡of ¡their ¡outputs ¡saLsfies ¡ ¡ ε-‑differenLal ¡privacy ¡with ¡ε ¡= ¡ε 1 +...+ε k ¡ ¡ • Spend ¡ε/|W| ¡budget ¡for ¡each ¡query ¡in ¡workload ¡W. ¡We ¡are ¡ guaranteed ¡ε ¡differenLal ¡privacy ¡aXer ¡answering ¡all ¡the ¡queries ¡in ¡ W. ¡ ¡ Lecture ¡11: ¡590.03 ¡Fall ¡16 ¡ 5 ¡
Two ¡problems ¡ • Is ¡this ¡the ¡most ¡error ¡efficient ¡strategy? ¡ ¡ – NO: ¡ ¡ – We ¡can ¡use ¡parallel ¡composiLon ¡on ¡queries ¡that ¡look ¡at ¡disjoint ¡parLLons ¡ of ¡output ¡ – We ¡can ¡leverage ¡dependencies ¡between ¡queries ¡ – But ¡how? ¡ ¡ • What ¡happens ¡when ¡you ¡run ¡out ¡of ¡privacy ¡budget? ¡ ¡ – Can ¡we ¡use ¡previously ¡query ¡answers ¡to ¡answer ¡new ¡queries ¡without ¡ looking ¡at ¡the ¡data? ¡ ¡ Lecture ¡11: ¡590.03 ¡Fall ¡16 ¡ 6 ¡
Cohort ¡Size ¡EsLmaLon ¡Problem ¡ Are ¡there ¡at ¡least ¡200 ¡ individuals ¡who ¡are ¡male ¡ cancer ¡survivors, ¡between ¡ PopulaLon ¡of ¡ 20-‑30, ¡who ¡were ¡admiVed ¡ for ¡surgery ¡ medical ¡ paLents ¡ Are ¡there ¡at ¡least ¡200 ¡male ¡ cancer ¡survivors ¡who ¡are ¡ between ¡ages ¡of ¡20 ¡and ¡30 ¡ Are ¡there ¡at ¡least ¡200 ¡ individuals ¡who ¡are ¡male ¡ cancer ¡survivors ¡and ¡ admiVed ¡for ¡surgery ¡ Lecture ¡11: ¡590.03 ¡Fall ¡16 ¡ 7 ¡
Cohort ¡Size ¡EsLmaLon ¡Problem ¡ • A ¡sequence ¡of ¡queries ¡{Q1, ¡Q2, ¡Q3, ¡…, ¡Qn} ¡ • Each ¡query ¡Qi ¡: ¡Number ¡of ¡tuples ¡saLsfying ¡property ¡pi ¡> ¡τ ¡? ¡ – If ¡answer ¡is ¡no, ¡then ¡return ¡NO ¡and ¡conLnue. ¡ ¡ – If ¡answer ¡is ¡yes, ¡return ¡YES ¡and ¡ STOP ¡a'er ¡c ¡posi/ve ¡answers ¡ ¡ • SensiLvity ¡of ¡each ¡Qi ¡= ¡? ¡ = ¡1 ¡ • How ¡do ¡we ¡answer ¡using ¡differenLal ¡privacy? ¡ ¡ Lecture ¡11: ¡590.03 ¡Fall ¡16 ¡ 8 ¡
Accuracy ¡ • We ¡will ¡say ¡that ¡an ¡algorithm ¡is ¡(α, ¡β)-‑accurate ¡wrt ¡a ¡threshold ¡T ¡ if ¡for ¡a ¡sequence ¡of ¡answers ¡a1, ¡a2, ¡… ¡in ¡{Y, ¡N} ¡for ¡queries ¡Q1, ¡Q2, ¡ … ¡if ¡ ¡with ¡probability ¡> ¡1-‑β: ¡ ¡for ¡all ¡ai ¡= ¡Y, ¡Qi(D) ¡>= ¡ ¡T ¡– ¡α ¡ ¡for ¡all ¡ai ¡= ¡N, ¡Qi(D) ¡<= ¡ ¡T ¡+ ¡α ¡ ¡and ¡the ¡algorithm ¡does ¡not ¡halt ¡before ¡outpuRng ¡c ¡YES ¡answers. ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ Lecture ¡11: ¡590.03 ¡Fall ¡16 ¡ 9 ¡
Cohort ¡Size ¡EsLmaLon ¡Problem ¡ Laplace ¡mechanism: ¡ ¡ • SensiLvity ¡of ¡all ¡queries ¡is: ¡n ¡ • For ¡each ¡query: ¡qi’ ¡= ¡Qi(D) ¡+ ¡Lap(n/ε) ¡ • Return ¡ YES ¡ if ¡qi’ ¡> ¡τ ¡ Return ¡NO ¡ ¡if ¡qi’ ¡< ¡τ ¡ Lecture ¡11: ¡590.03 ¡Fall ¡16 ¡ 10 ¡
Accuracy ¡of ¡Laplace ¡Mechanism ¡ ¡ ¡ ¡ ¡ ¡ Accuracy ¡depends ¡on ¡ number ¡of ¡queries ¡ Lecture ¡11: ¡590.03 ¡Fall ¡16 ¡ 11 ¡
Sparse ¡Vector ¡Technique ¡(c=1) ¡ ¡ • Set ¡τ’ ¡= ¡τ ¡+ ¡Lap(2/ε) ¡ Use ¡a ¡noisy ¡threshold ¡ • For ¡each ¡query: ¡qi’ ¡= ¡Qi(D) ¡+ ¡Lap(4/ε) ¡ Instead ¡of ¡Lap(n/ε) ¡ • If ¡qi’ ¡< ¡τ’ ¡ ¡ ¡Return ¡NO ¡and ¡conLnue ¡ ¡Else ¡ // ¡qi’ ¡≥ ¡τ’, ¡ ¡ ¡ ¡ ¡Return ¡ YES ¡and ¡ STOP ¡ ¡ Answer ¡exactly ¡one ¡ ¡ query ¡posiLvely ¡ Lecture ¡11: ¡590.03 ¡Fall ¡16 ¡ 12 ¡
Accuracy ¡Analysis ¡ • Given ¡a ¡sequence ¡of ¡queries ¡Q1, ¡…, ¡Qk ¡and ¡threshold ¡T ¡such ¡that ¡ ¡ ¡for ¡all ¡j ¡< ¡n, ¡ ¡Qj(D) ¡< ¡ ¡T ¡– ¡α ¡ ¡ ¡ ¡ ¡the ¡sparse ¡vector ¡technique ¡is ¡(α, ¡β)-‑accurate ¡for ¡ ¡ ¡ α = 8(log k + log(2 / β )) . ¡ � Accuracy ¡depends ¡on ¡ ¡ log ¡of ¡number ¡of ¡ ¡ queries! ¡ That ¡is, ¡when ¡all ¡but ¡the ¡last ¡query ¡are ¡“far ¡away” ¡from ¡the ¡ threshold, ¡the ¡algorithm ¡will ¡say ¡NO ¡for ¡all ¡but ¡the ¡last ¡query, ¡and ¡ say ¡YES ¡and ¡halt ¡on ¡the ¡last ¡query. ¡ ¡ Lecture ¡11: ¡590.03 ¡Fall ¡16 ¡ 13 ¡
Proof ¡ • All ¡we ¡need ¡to ¡show ¡is ¡with ¡probability ¡1-‑ ¡β: ¡ ¡ ¡for ¡all ¡j, ¡ ¡ ¡ ¡|noise j | ¡+ ¡|τ ¡-‑ ¡τ’| ¡< ¡α ¡ • This ¡implies: ¡for ¡ak ¡= ¡YES. ¡ ¡ ¡Qk(D) ¡ ¡ ¡> ¡ ¡ ¡τ’ ¡– ¡noise k ¡ ¡>= ¡ ¡ ¡τ’ ¡– ¡|noise k | ¡ ¡ ¡ ¡>= ¡ ¡τ ¡-‑ ¡|τ ¡-‑ ¡τ’| ¡-‑ ¡|noise k | ¡ ¡ ¡ ¡> ¡ ¡ ¡τ ¡– ¡α ¡ ¡ • For ¡all ¡aj ¡= ¡NO, ¡ ¡ ¡Qj(D) ¡ ¡ ¡< ¡τ’ ¡-‑ ¡noise j ¡ ¡ ¡<= ¡ ¡τ’ ¡+ ¡|noise j | ¡ ¡ ¡ ¡ ¡<= ¡τ ¡+ ¡|τ ¡-‑ ¡τ’| ¡+|noise j | ¡< ¡τ ¡+ ¡α ¡ ¡ ¡ Lecture ¡11: ¡590.03 ¡Fall ¡16 ¡ 14 ¡
Proof ¡ • All ¡we ¡need ¡to ¡show ¡is ¡with ¡probability ¡1-‑ ¡β: ¡ ¡ ¡for ¡all ¡j, ¡ ¡ ¡ ¡|noise j | ¡+ ¡|τ ¡-‑ ¡τ’| ¡< ¡α ¡ • Pr[|τ ¡-‑ ¡τ’| ¡> ¡α/2 ¡] ¡< ¡exp( ¡-‑ ¡ε ¡α ¡/4) ¡ • Pr[|noise j | ¡> ¡α/2] ¡< ¡exp( ¡-‑ ¡ε ¡α ¡/8) ¡ Therefore, ¡Pr[max j ¡ |noise j | ¡> ¡α/2] ¡< ¡k ¡exp( ¡-‑ ¡ε ¡α ¡/8) ¡ ¡ • SeRng ¡ ¡ε ¡α ¡> ¡8(log ¡k ¡+ ¡log(2/β)) ¡ensures ¡each ¡of ¡the ¡above ¡ probabiliLes ¡is ¡bounded ¡by ¡β/2. ¡ ¡ Lecture ¡11: ¡590.03 ¡Fall ¡16 ¡ 15 ¡ ¡
Sparse ¡Vector ¡Technique ¡(c=1) ¡ ¡ • Set ¡τ’ ¡= ¡τ ¡+ ¡Lap(2/ε) ¡ • For ¡each ¡query: ¡qi’ ¡= ¡Qi(D) ¡+ ¡Lap(4/ε) ¡ • If ¡qi’ ¡< ¡τ’ ¡ ¡ ¡Return ¡NO ¡and ¡conLnue ¡ ¡Else ¡ // ¡qi’ ¡≥ ¡τ’, ¡ ¡ ¡ Does ¡this ¡saLsfy ¡ε-‑differenLal ¡ ¡ ¡Return ¡ YES ¡and ¡ STOP ¡ ¡ privacy? ¡ ¡ ¡ Lecture ¡11: ¡590.03 ¡Fall ¡16 ¡ 16 ¡
Recommend
More recommend