op mizing error for workloads of
play

Op#mizing error for workloads of queries CompSci 590.03 - PowerPoint PPT Presentation

Op#mizing error for workloads of queries CompSci 590.03 Instructor: Ashwin Machanavajjhala Lecture 8 : 590.03 Fall 16 1 Recap: Laplace Mechanism Thm :


  1. Op#mizing ¡error ¡for ¡workloads ¡of ¡ queries ¡ CompSci ¡590.03 ¡ Instructor: ¡Ashwin ¡Machanavajjhala ¡ Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 1 ¡

  2. Recap: ¡Laplace ¡Mechanism ¡ Thm : ¡If ¡ sensi(vity ¡ of ¡the ¡query ¡is ¡ S , ¡then ¡adding ¡Laplace ¡noise ¡with ¡ parameter ¡ λ ¡guarantees ¡ε-­‑differen#al ¡privacy, ¡when ¡ ¡ λ ¡= ¡S/ε ¡ ¡ Sensi(vity : ¡Smallest ¡number ¡s.t. ¡for ¡any ¡d, ¡d’ ¡differing ¡in ¡one ¡entry, ¡ ¡ || ¡q(d) ¡– ¡q(d’) ¡|| ¡ ¡≤ ¡ ¡S(q) ¡ ¡ ¡ Histogram ¡query: ¡Sensi#vity ¡= ¡2 ¡ • Variance ¡/ ¡error ¡on ¡each ¡entry ¡= ¡2λ 2 ¡= ¡2/ε 2 ¡ Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 2 ¡

  3. Example ¡1: ¡Enforcing ¡Constraints ¡ • Database ¡of ¡values ¡{x1, ¡x2, ¡…, ¡xk} ¡ • Query ¡Set: ¡ ¡ – Value ¡of ¡x1 ¡ ¡η1 ¡= ¡x1 ¡+ ¡δ1 ¡ – Value ¡of ¡x2 ¡η2 ¡= ¡x2 ¡+ ¡δ2 ¡ – Value ¡of ¡x1 ¡+ ¡x2 ¡η3 ¡= ¡x1 ¡+ ¡x2 ¡+ ¡δ3 ¡ • But ¡we ¡know ¡that ¡ ¡ -­‑ ¡ ¡η1 ¡and ¡η2 ¡should ¡sum ¡up ¡to ¡η3 ¡ -­‑ ¡ ¡η1 ¡<= ¡η3 ¡ ¡ ¡AND ¡ ¡ ¡η2 ¡<= ¡η3 ¡ ¡ Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 3 ¡

  4. Example ¡2: ¡Query ¡Strategy ¡ • Query ¡Set: ¡ ¡ – Value ¡of ¡x1 ¡ ¡ ¡ – Value ¡of ¡x2 ¡ ¡ – Value ¡of ¡x1 ¡+ ¡x2 ¡ ¡ • Strategy ¡1: ¡Answer ¡all ¡queries ¡ ¡ – Sensi#vity ¡= ¡2; ¡Error ¡in ¡each ¡query ¡is ¡8/ε 2 . ¡ • Strategy ¡2: ¡Answer ¡query ¡1 ¡and ¡query ¡2. ¡ ¡ ¡ ¡Query ¡3 ¡= ¡query ¡1 ¡+ ¡query ¡2 ¡ – Sensi#vity ¡= ¡1 ¡ – Error ¡in ¡query ¡1 ¡and ¡query ¡2: ¡2/ε 2 . ¡ – Error ¡in ¡query ¡3: ¡4/ε 2 . ¡ Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 4 ¡

  5. Today’s ¡class ¡ • How ¡to ¡answer ¡a ¡workload ¡of ¡queries ¡with ¡the ¡least ¡error? ¡ ¡ • Query ¡Strategy: ¡ – A ¡workload ¡W ¡may ¡be ¡best ¡answered ¡by ¡answering ¡a ¡different ¡query ¡set ¡A, ¡ and ¡then ¡compu#ng ¡W ¡from ¡A ¡ – Hierarchical, ¡Wavelet ¡and ¡Matrix ¡Mechanism ¡for ¡linear ¡queries. ¡ • Constrained ¡inference: ¡ ¡ – Ensure ¡the ¡query ¡answers ¡are ¡consistent ¡with ¡each ¡other ¡ ¡ – Order ¡constraints ¡ – Sum ¡constraints ¡ Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 5 ¡

  6. Outline ¡ • Strategies ¡for ¡answering ¡a ¡query ¡workload ¡ • All ¡Range ¡queries ¡on ¡1D ¡domain ¡ – Hierarchical ¡Mechanism ¡ ¡ ¡ ¡[Hay ¡et ¡al ¡VLDB ¡10] ¡ – Wavelet ¡Mechanism ¡ ¡ ¡ ¡[Xiao ¡et ¡al ¡ICDE ¡09] ¡ • Constrained ¡inference ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡[Hay ¡et ¡al ¡VLDB ¡10] ¡ • General ¡Query ¡Workloads ¡ – Matrix ¡Mechanism ¡ ¡ ¡ ¡ ¡[Li ¡et ¡al ¡PODS ¡10] ¡ Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 6 ¡

  7. Note ¡ • The ¡following ¡solu#on ¡ideas ¡are ¡useful ¡whenever ¡ ¡ – You ¡want ¡to ¡answer ¡a ¡set ¡of ¡correlated ¡queries. ¡ – Queries ¡are ¡based ¡on ¡noisy ¡measurements. ¡ – Each ¡measurement ¡(x1 ¡or ¡x1+x2) ¡has ¡similar ¡variance. ¡ Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 7 ¡

  8. 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 ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 8 ¡

  9. When ¡do ¡you ¡do ¡this? ¡ ¡ • Query ¡workload ¡W ¡has ¡a ¡high ¡sensi#vity ¡ – Removing ¡or ¡changing ¡a ¡tuple ¡affect ¡a ¡large ¡number ¡of ¡the ¡queries ¡ • Query ¡strategy ¡A ¡has ¡low ¡sensi#vity ¡ • Each ¡query ¡in ¡W ¡can ¡be ¡answered ¡using ¡a ¡small ¡number ¡of ¡query ¡ answers ¡in ¡A ¡ ¡ – This ¡ensures ¡that ¡the ¡noise ¡in ¡answering ¡queries ¡in ¡W ¡is ¡not ¡too ¡high ¡ ¡ Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 9 ¡

  10. Example ¡Workload: ¡All ¡Range ¡Queries ¡ • Given ¡a ¡set ¡of ¡values ¡{v1, ¡v2, ¡…, ¡vn} ¡ • Let ¡xi ¡= ¡number ¡of ¡tuples ¡with ¡value ¡v1. ¡ ¡ • Range ¡query: ¡q(j,k) ¡= ¡xj ¡+ ¡… ¡+ ¡xk ¡ ¡ ¡ Q: ¡Suppose ¡we ¡want ¡to ¡answer ¡all ¡range ¡queries? ¡ ¡ Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 10 ¡

  11. All ¡Range ¡Queries ¡ Given ¡a ¡set ¡of ¡values ¡{x1, ¡x2, ¡…, ¡xn} ¡ • Range ¡query: ¡q(j,k) ¡= ¡xj ¡+ ¡… ¡+ ¡xk ¡ • Q: ¡Suppose ¡we ¡want ¡to ¡answer ¡all ¡range ¡queries? ¡ ¡ Strategy ¡1: ¡Answer ¡all ¡range ¡queries ¡using ¡Laplace ¡mechanism ¡ • Sensi#vity ¡= ¡O(n 2 ) ¡ • O(n 4 /ε 2 ) ¡total ¡error ¡across ¡all ¡range ¡queries. ¡ ¡ ¡ • May ¡reduce ¡using ¡constrained ¡op#miza#on ¡… ¡ ¡ Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 11 ¡

  12. All ¡Range ¡Queries ¡ Given ¡a ¡set ¡of ¡values ¡{x1, ¡x2, ¡…, ¡xn} ¡ • Range ¡query: ¡q(j,k) ¡= ¡xj ¡+ ¡… ¡+ ¡xk ¡ • Q: ¡Suppose ¡we ¡want ¡to ¡answer ¡all ¡range ¡queries? ¡ ¡ Strategy ¡2: ¡Answer ¡all ¡xi ¡queries ¡using ¡Laplace ¡mechanism ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Answer ¡range ¡queries ¡using ¡noisy ¡xi ¡values. ¡ • O(1/ε 2 ) ¡error ¡for ¡each ¡xi. ¡ ¡ ¡ • Error(q(1,n)) ¡= ¡O(n/ε 2 ) ¡ • Total ¡error ¡on ¡all ¡range ¡queries ¡: ¡O(n 3 /ε 2 ) ¡ Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 12 ¡

  13. Hierarchical ¡Mechanism ¡for ¡Range ¡Queries ¡ [Hay ¡et ¡al ¡VLDB ¡2010] ¡ Strategy ¡3: ¡ ¡ Answer ¡ sufficient ¡sta?s?cs ¡ using ¡Laplace ¡mechanism ¡ Answer ¡range ¡queries ¡using ¡noisy ¡sufficient ¡sta#s#cs. ¡ x1-­‑8 ¡ x1234 ¡ x5678 ¡ x12 ¡ x34 ¡ x56 ¡ x78 ¡ x1 ¡ x2 ¡ x3 ¡ x4 ¡ x5 ¡ x6 ¡ x7 ¡ x8 ¡ Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 13 ¡

  14. Hierarchical ¡Mechanism ¡for ¡Range ¡Queries ¡ • Sensi#vity: ¡log ¡n ¡ • q(2,6) ¡= ¡x2 ¡+ ¡x34 ¡+ ¡x56 ¡ ¡ ¡Error ¡= ¡2 ¡x ¡3log 2 n/ε 2 ¡ x1-­‑8 ¡ x1234 ¡ x5678 ¡ x12 ¡ x34 ¡ x56 ¡ x78 ¡ x1 ¡ x2 ¡ x3 ¡ x4 ¡ x5 ¡ x6 ¡ x7 ¡ x8 ¡ Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 14 ¡

  15. Hierarchical ¡Mechanism ¡for ¡Range ¡Queries ¡ • Every ¡range ¡query ¡can ¡be ¡answered ¡by ¡summing ¡at ¡most ¡log ¡n ¡ different ¡noisy ¡answers ¡ • Maximum ¡error ¡on ¡any ¡range ¡query ¡= ¡O(log 3 n ¡/ ¡ε 2 ) ¡ • Total ¡error ¡on ¡all ¡range ¡queries ¡= ¡O(n 2 ¡log 3 n ¡/ ¡ε 2 ) ¡ x1-­‑8 ¡ x1234 ¡ x5678 ¡ x12 ¡ x34 ¡ x56 ¡ x78 ¡ x1 ¡ x2 ¡ x3 ¡ x4 ¡ x5 ¡ x6 ¡ x7 ¡ x8 ¡ Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 15 ¡

  16. Summary ¡of ¡Hierarchical ¡Mechanism ¡ • Answering ¡all ¡range ¡queries ¡on ¡a ¡1D ¡axribute ¡ – Op#mal ¡mechanism ¡for ¡range ¡queries ¡is ¡also ¡an ¡op#mal ¡mechanism ¡for ¡ compu#ng ¡the ¡CDF. ¡ ¡ • Error ¡depends ¡on ¡the ¡query ¡strategy ¡ – Noisily ¡answer ¡all ¡range ¡queries: ¡ ¡Total ¡error ¡= ¡O(n 4 /ε 2 ) ¡ ¡ – Noisily ¡answer ¡each ¡count, ¡and ¡ ¡ use ¡them ¡to ¡answer ¡range ¡queries: ¡Total ¡error ¡= ¡O(n 3 /ε 2 ) ¡ – Hierarchical ¡Mechanism ¡ Answer ¡counts ¡on ¡a ¡binary ¡tree ¡noisily: ¡Total ¡error ¡= ¡ ¡O(n 2 ¡log 3 n ¡/ ¡ε 2 ) ¡ Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 16 ¡

Recommend


More recommend