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

op mizing error for workloads of
SMART_READER_LITE
LIVE PREVIEW

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 :


slide-1
SLIDE 1

Op#mizing ¡error ¡for ¡workloads ¡of ¡ queries ¡

CompSci ¡590.03 ¡ Instructor: ¡Ashwin ¡Machanavajjhala ¡

1 ¡ Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡

slide-2
SLIDE 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 ¡

2 ¡ Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡

slide-3
SLIDE 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 ¡

slide-4
SLIDE 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 ¡

slide-5
SLIDE 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 ¡

slide-6
SLIDE 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 ¡

slide-7
SLIDE 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 ¡

slide-8
SLIDE 8

Query ¡Strategy ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 8 ¡

I

Private ¡ ¡ Data ¡

W ¡ A ¡

Differen(al ¡ Privacy ¡

A(I) ¡ A(I) ¡ W(I) ¡ ~ ¡ ~ ¡

Original ¡Query ¡ ¡ Workload ¡ Strategy ¡Query ¡ ¡ Workload ¡ Noisy ¡Strategy ¡ Answers ¡ Noisy ¡Workload ¡ Answers ¡

slide-9
SLIDE 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 ¡

slide-10
SLIDE 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 ¡

slide-11
SLIDE 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(n2) ¡
  • O(n4/ε2) ¡total ¡error ¡across ¡all ¡range ¡queries. ¡ ¡ ¡
  • May ¡reduce ¡using ¡constrained ¡op#miza#on ¡… ¡ ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 11 ¡

slide-12
SLIDE 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(n3/ε2) ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 12 ¡

slide-13
SLIDE 13

Hierarchical ¡Mechanism ¡for ¡Range ¡Queries ¡

Strategy ¡3: ¡ ¡ Answer ¡sufficient ¡sta?s?cs ¡using ¡Laplace ¡mechanism ¡ Answer ¡range ¡queries ¡using ¡noisy ¡sufficient ¡sta#s#cs. ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 13 ¡

x1 ¡ x2 ¡ x3 ¡ x4 ¡ x5 ¡ x6 ¡ x7 ¡ x8 ¡ x12 ¡ x34 ¡ x56 ¡ x78 ¡ x1234 ¡ x5678 ¡ x1-­‑8 ¡

[Hay ¡et ¡al ¡VLDB ¡2010] ¡

slide-14
SLIDE 14

Hierarchical ¡Mechanism ¡for ¡Range ¡Queries ¡

  • Sensi#vity: ¡log ¡n ¡
  • q(2,6) ¡= ¡x2 ¡+ ¡x34 ¡+ ¡x56

¡ ¡ ¡Error ¡= ¡2 ¡x ¡3log2n/ε2 ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 14 ¡

x1 ¡ x2 ¡ x3 ¡ x4 ¡ x5 ¡ x6 ¡ x7 ¡ x8 ¡ x12 ¡ x34 ¡ x56 ¡ x78 ¡ x1234 ¡ x5678 ¡ x1-­‑8 ¡

slide-15
SLIDE 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(log3n ¡/ ¡ε2) ¡
  • Total ¡error ¡on ¡all ¡range ¡queries ¡= ¡O(n2 ¡log3n ¡/ ¡ε2) ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 15 ¡

x1 ¡ x2 ¡ x3 ¡ x4 ¡ x5 ¡ x6 ¡ x7 ¡ x8 ¡ x12 ¡ x34 ¡ x56 ¡ x78 ¡ x1234 ¡ x5678 ¡ x1-­‑8 ¡

slide-16
SLIDE 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(n4/ε2) ¡ ¡ – Noisily ¡answer ¡each ¡count, ¡and ¡ ¡ use ¡them ¡to ¡answer ¡range ¡queries: ¡Total ¡error ¡= ¡O(n3/ε2) ¡ – Hierarchical ¡Mechanism ¡ Answer ¡counts ¡on ¡a ¡binary ¡tree ¡noisily: ¡Total ¡error ¡= ¡ ¡O(n2 ¡log3n ¡/ ¡ε2) ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 16 ¡

slide-17
SLIDE 17

Outline ¡

¡

  • 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 ¡ 17 ¡

slide-18
SLIDE 18

Wavelet ¡Mechanism ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 18 ¡

x1 ¡ x2 ¡ x3 ¡ x4 ¡ x5 ¡ xn ¡ C2 ¡ C3 ¡ Cm ¡ ¡

… ¡ ¡ … ¡ ¡

C1 ¡ Step ¡1: ¡Compute ¡ Wavelet ¡coefficients ¡ C2+η2 ¡ C3+η3 ¡ Cm+ηm ¡ ¡

… ¡ ¡

C1+η1 ¡ Step ¡2: ¡Add ¡noise ¡to ¡ coefficients ¡ y1 ¡ y2 ¡ y3 ¡ y4 ¡ y5 ¡ yn ¡

… ¡ ¡

Step ¡3: ¡ ¡Reconstruct ¡

  • riginal ¡counts ¡
slide-19
SLIDE 19

Haar ¡Wavelet ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 19 ¡

slide-20
SLIDE 20

Haar ¡Wavelet ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 20 ¡

For ¡an ¡internal ¡node, ¡ ¡ Let ¡a ¡= ¡average ¡of ¡leaves ¡in ¡ ley ¡subtree ¡ Let ¡b ¡= ¡average ¡of ¡leaves ¡in ¡ right ¡subtree ¡ ¡ ¡ ¡

slide-21
SLIDE 21

Haar ¡Wavelet ¡Reconstruc#on ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 21 ¡

Sum ¡of ¡coefficients ¡on ¡root ¡ to ¡leaf ¡path ¡

  • + ¡if ¡xi ¡is ¡in ¡the ¡ley ¡

subtree ¡of ¡coefficient ¡

  • -­‑ ¡if ¡xi ¡is ¡in ¡right ¡subtree ¡

¡ ¡

slide-22
SLIDE 22

Haar ¡Wavelet ¡: ¡Range ¡Queries ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 22 ¡

Range ¡Query: ¡number ¡of ¡tuples ¡in ¡a ¡ range ¡S ¡= ¡[a,b] ¡ ¡ Let ¡α(c) ¡be ¡the ¡number ¡of ¡values ¡in ¡the ¡ ley ¡subtree ¡of ¡c ¡that ¡are ¡in ¡S ¡ Let ¡β(c) ¡be ¡the ¡number ¡of ¡values ¡in ¡the ¡ right ¡subtree ¡of ¡c ¡that ¡are ¡in ¡S ¡ ¡ ¡ ¡

slide-23
SLIDE 23

Haar ¡Wavelet ¡: ¡Range ¡Queries ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 23 ¡

¡ ¡ ¡ ¡α(c) ¡– ¡β(c) ¡= ¡0 ¡when ¡no ¡leaves ¡under ¡c ¡ are ¡contained ¡in ¡S ¡ ¡α(c) ¡– ¡β(c) ¡= ¡0 ¡when ¡all ¡leaves ¡under ¡c ¡ are ¡contained ¡in ¡S ¡ ¡ Only ¡need ¡to ¡consider ¡those ¡coefficients ¡ with ¡par#al ¡overlap ¡with ¡the ¡range. ¡ ¡ ¡

slide-24
SLIDE 24

Haar ¡Wavelet ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 24 ¡

For ¡an ¡internal ¡node, ¡ ¡ Let ¡a ¡= ¡average ¡of ¡leaves ¡in ¡ ley ¡subtree ¡ Let ¡b ¡= ¡average ¡of ¡leaves ¡in ¡ right ¡subtree ¡ ¡ ¡ ¡

slide-25
SLIDE 25

Adding ¡noise ¡to ¡wavelet ¡coefficients ¡

  • Associate ¡each ¡coefficient ¡with ¡a ¡weight ¡
  • ¡level( ¡c ¡) ¡= ¡height ¡of ¡c ¡in ¡the ¡tree. ¡
  • Generalized ¡sensi#vity ¡(ρ) ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 25 ¡

slide-26
SLIDE 26

Adding ¡noise ¡to ¡wavelet ¡coefficients ¡

Theorem: ¡Adding ¡noise ¡to ¡a ¡coefficient ¡c ¡from ¡Laplace(λ/W(c)) ¡ guarantees ¡(2ρ/λ)-­‑differen#al ¡privacy. ¡ ¡ ¡ Proof: ¡ ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 26 ¡

¡ ¡

slide-27
SLIDE 27

Generalized ¡Sensi#vity ¡of ¡Wavelet ¡ Mechanism ¡

Proof: ¡

  • Any ¡coefficient ¡changes ¡by ¡1/m, ¡where ¡m ¡is ¡the ¡number ¡of ¡values ¡

in ¡its ¡subtree. ¡

  • ¡m ¡= ¡1/W(c) ¡
  • Only ¡c0 ¡and ¡the ¡coefficients ¡in ¡one ¡root ¡to ¡leaf ¡path ¡change ¡if ¡

some ¡xi ¡changes ¡by ¡1. ¡ ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 27 ¡

slide-28
SLIDE 28

Error ¡in ¡answering ¡range ¡queries ¡

  • Range ¡query ¡depends ¡on ¡at ¡most ¡O(log ¡n) ¡coefficients. ¡ ¡
  • Error ¡in ¡each ¡coefficient ¡is ¡at ¡most ¡O(log2n/ε2) ¡
  • Error ¡in ¡a ¡range ¡query ¡is ¡O(log3n/ε2) ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 28 ¡

slide-29
SLIDE 29

Summary ¡of ¡Wavelet ¡Mechanism ¡

  • Query ¡Strategy: ¡use ¡wavelet ¡coefficients ¡
  • Can ¡be ¡computed ¡in ¡linear ¡#me ¡
  • Noise ¡in ¡each ¡range ¡query: ¡O(log3n/ε2) ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 29 ¡

slide-30
SLIDE 30

Outline ¡

¡

  • 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 ¡ 30 ¡

slide-31
SLIDE 31

Constrained ¡Inference ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 31 ¡

slide-32
SLIDE 32

Constrained ¡Inference ¡

  • Let ¡x1 ¡and ¡x2 ¡be ¡the ¡original ¡values. ¡We ¡observe ¡noisy ¡values ¡η1, ¡

η2 ¡and ¡η3 ¡

  • We ¡would ¡like ¡to ¡reconstruct ¡the ¡best ¡es#mators ¡y1 ¡(for ¡x1) ¡and ¡

y2 ¡(for ¡x2) ¡from ¡the ¡noisy ¡values. ¡ ¡

  • That ¡is, ¡we ¡want ¡to ¡find ¡the ¡values ¡of ¡y1, ¡y2 ¡such ¡that: ¡ ¡

¡ ¡ min ¡(y1-­‑η1)2 ¡ ¡+ ¡ ¡(y2 ¡– ¡η2)2 ¡+ ¡(y3 ¡– ¡η3)2 ¡ s.t., ¡y1 ¡+ ¡y2 ¡= ¡y3 ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 32 ¡

slide-33
SLIDE 33

Constrained ¡Inference ¡[Hay ¡et ¡al ¡VLDB ¡10] ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 33 ¡

slide-34
SLIDE 34

Case ¡1: ¡Sorted ¡Histograms ¡

  • Sorted ¡Unaxributed ¡Histograms ¡

– Counts ¡of ¡values ¡in ¡the ¡domain ¡(Without ¡releasing ¡which ¡count ¡ corresponds ¡to ¡which ¡value) ¡

  • Degree ¡sequence: ¡List ¡of ¡node ¡degrees ¡ ¡

– (without ¡associa#ng ¡a ¡degree ¡to ¡a ¡par#cular ¡node) ¡ ¡

  • Cumula#ve ¡Histograms ¡

– CDF ¡if ¡the ¡counts ¡add ¡up ¡to ¡1 ¡ ¡

  • Constraint: ¡The ¡values ¡are ¡sorted ¡

¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 34 ¡

slide-35
SLIDE 35

Sorted ¡Unaxributed ¡Histograms ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 35 ¡

slide-36
SLIDE 36

Isotonic ¡Regression ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 36 ¡

slide-37
SLIDE 37

DP ¡Algorithm ¡

¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 37 ¡

¡

¡

¡

slide-38
SLIDE 38

Sorted ¡Unaxributed ¡Histograms ¡

  • ¡n: ¡number ¡of ¡values ¡in ¡the ¡histogram ¡
  • ¡d: ¡number ¡of ¡dis#nct ¡values ¡in ¡the ¡histogram ¡
  • ¡ni: ¡number ¡of ¡#mes ¡ith ¡dis#nct ¡value ¡appears ¡in ¡the ¡histogram. ¡ ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 38 ¡

slide-39
SLIDE 39

Case ¡2: ¡Linear ¡Dependency ¡Constraints ¡

  • Queries ¡may ¡be ¡linearly ¡dependent ¡

Examples ¡

  • k-­‑gram ¡counts ¡in ¡sequen#al ¡data ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 39 ¡

slide-40
SLIDE 40

Sequen#al ¡Data ¡

  • Suppose ¡you ¡have ¡data ¡where ¡each ¡tuple ¡is ¡a ¡sequence ¡from ¡an ¡

alphabet ¡Σ ¡

– Loca#on ¡trajectory ¡(Σ ¡is ¡a ¡set ¡of ¡loca#ons) ¡ – Text ¡or ¡search ¡logs ¡(Σ ¡is ¡a ¡set ¡of ¡words) ¡ – Browsing ¡history ¡(Σ ¡is ¡a ¡set ¡of ¡web ¡pages) ¡ ¡ – … ¡

  • Want ¡to ¡learn ¡a ¡predic#ve ¡model ¡for ¡the ¡next ¡value ¡given ¡the ¡last ¡

k ¡values ¡(semi-­‑Markov ¡Model) ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 40 ¡

slide-41
SLIDE 41

K-­‑Gram ¡model ¡

  • Given ¡data ¡about ¡sequences, ¡ ¡
  • K-­‑gram ¡is ¡a ¡sequence ¡of ¡K ¡symbols ¡x ¡= ¡(a1, ¡a2, ¡…, ¡ak) ¡from ¡the ¡

alphabet ¡

  • Denote ¡by ¡c(x) ¡as ¡the ¡number ¡of ¡#mes ¡the ¡k-­‑gram ¡occurs ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 41 ¡

slide-42
SLIDE 42

Private ¡Predic#on ¡Model ¡

  • Compute ¡all ¡the ¡k-­‑gram ¡counts ¡and ¡(k+1)-­‑gram ¡counts ¡
  • Add ¡noise ¡to ¡all ¡these ¡counts ¡ ¡

– What ¡is ¡the ¡sensi#vity? ¡ ¡

  • Build ¡the ¡semi-­‑Markov ¡model ¡using ¡the ¡noisy ¡counts ¡
  • Problem? ¡ ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 42 ¡

slide-43
SLIDE 43

Noisy ¡(k+1)-­‑gram ¡counts ¡don’t ¡sum ¡up ¡to ¡ ¡k-­‑gram ¡counts ¡

  • Prefix ¡consistency ¡

– Needed ¡to ¡compute ¡the ¡ ¡ probabili#es. ¡ ¡

¡

  • Suffix ¡consistency ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 43 ¡

slide-44
SLIDE 44

Case ¡2: ¡Linear ¡Dependency ¡Constraints ¡

  • Queries ¡may ¡be ¡linearly ¡dependent ¡

Examples ¡

  • k-­‑gram ¡counts ¡in ¡sequen#al ¡data ¡
  • Range ¡Queries ¡(next ¡class) ¡and ¡other ¡hierarchical ¡index ¡structures ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 44 ¡

slide-45
SLIDE 45

Handling ¡linear ¡dependency ¡constraints ¡ ¡

  • n ¡a ¡tree ¡
  • Consider ¡a ¡set ¡of ¡counts ¡on ¡a ¡tree ¡such ¡that ¡count ¡at ¡a ¡parent ¡

must ¡equal ¡the ¡sum ¡of ¡the ¡counts ¡of ¡its ¡children ¡

– Example: ¡prefix ¡consistency ¡for ¡k-­‑grams. ¡ ¡

  • Given ¡noisy ¡counts ¡at ¡each ¡node ¡in ¡the ¡tree ¡we ¡want ¡a ¡new ¡set ¡of ¡

counts ¡such ¡that: ¡ ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 45 ¡

slide-46
SLIDE 46

Constrained ¡Inference ¡

  • 2 ¡Pass ¡linear ¡#me ¡algorithm: ¡ ¡
  • Pass ¡1: ¡(Boxom ¡Up, ¡k ¡= ¡0 ¡for ¡leaf, ¡height ¡for ¡root) ¡

¡

  • Pass ¡2: ¡(Top ¡down) ¡ ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 46 ¡

[Hay ¡et ¡al ¡VLDB ¡2010] ¡

slide-47
SLIDE 47

Constrained ¡Inference ¡for ¡hierarchical ¡ counts ¡

  • Resul#ng ¡consistent ¡counts ¡ ¡

– Have ¡lower ¡error ¡than ¡noisy ¡counts ¡(upto ¡10 ¡#mes ¡smaller ¡in ¡some ¡cases) ¡ – Unbiased ¡es#mators ¡ ¡ – Have ¡the ¡least ¡error ¡amongst ¡all ¡unbiased ¡es#mators ¡ ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 47 ¡

slide-48
SLIDE 48

Summary ¡of ¡constrained ¡inference ¡

  • Complex ¡algorithm ¡for ¡differen#al ¡privacy ¡may ¡require ¡answering ¡

a ¡set ¡of ¡queries ¡privately ¡

  • Answers ¡to ¡a ¡set ¡of ¡queries ¡may ¡exhibit ¡constraints ¡and ¡

correla#ons ¡

– Note ¡the ¡constraints ¡are ¡on ¡the ¡queries ¡and ¡are ¡not ¡the ¡input ¡database ¡

  • We ¡can ¡use ¡postprocessing ¡to ¡ensure ¡the ¡resul#ng ¡counts ¡sa#sfy ¡

the ¡constraints ¡(and ¡in ¡some ¡cases ¡reduce ¡noise) ¡

– Postprocessing ¡=> ¡no ¡impact ¡on ¡privacy ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 48 ¡

slide-49
SLIDE 49

Next ¡Class ¡

¡

  • 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 ¡ 49 ¡

slide-50
SLIDE 50

References ¡

  • M. ¡Hay, ¡V. ¡Rastogi, ¡G. ¡Miklau, ¡D. ¡Suciu, ¡“Boos#ng ¡the ¡Accuracy ¡of ¡Differen#ally ¡Private ¡

Histograms ¡Through ¡Consistency”, ¡PVLDB ¡2010 ¡

  • X. ¡Xiao, ¡G. ¡Wang, ¡J. ¡Gehrke, ¡“Differen#al ¡Privacy ¡via ¡Wavelet ¡Transform”, ¡ICDE ¡2009 ¡
  • C. ¡Li, ¡M. ¡Hay, ¡V. ¡Rastogi, ¡G. ¡Miklau, ¡A. ¡McGregor, ¡“Op#mizing ¡Linear ¡Queries ¡under ¡

Differen#al ¡Privacy”, ¡PODS ¡2010 ¡

Lecture ¡8 ¡: ¡590.03 ¡Fall ¡16 ¡ 50 ¡