multiplicative weights algorithms
play

Multiplicative Weights Algorithms CompSci 590.03 Instructor: Ashwin - PowerPoint PPT Presentation

Multiplicative Weights Algorithms CompSci 590.03 Instructor: Ashwin Machanavajjhala Lecture 13 : 590.03 Fall 12 1 This Class A Simple Multiplicative Weights Algorithm Multiplicative Weights for privately publishing synthetic data


  1. Multiplicative Weights Algorithms CompSci 590.03 Instructor: Ashwin Machanavajjhala Lecture 13 : 590.03 Fall 12 1

  2. This Class • A Simple Multiplicative Weights Algorithm • Multiplicative Weights for privately publishing synthetic data Lecture 13 : 590.03 Fall 12 2

  3. Multiple Experts Problem Will it rain Yes Yes Yes No today? What is the best prediction based on these experts? Lecture 13 : 590.03 Fall 12 3

  4. Multiple Experts Problem • Suppose we know the best expert (who makes the least error), then we can just return that expert says. – This is the best we can hope for. • We don’t know who the best expert is. – But we can learn … we know whether it rained or not at the end of the day. Qn: Is there an algorithm that learns over time who the best expert is, and has an accuracy that close to the best expert? Lecture 13 : 590.03 Fall 12 4

  5. Weighted Majority Algorithm [Littlestone&Warmuth ‘94] “Experts” Algorithm W 1 W 2 W 3 W 4 Y 1 Y 2 Y 3 Y 4 Lecture 13 : 590.03 Fall 12 5

  6. Weighted Majority Algorithm [Littlestone&Warmuth ‘94] “Experts” Algorithm Truth 1- ε 1- ε 1- ε 1 1 1 1 Yes Yes Yes No No Yes! Lecture 13 : 590.03 Fall 12 6

  7. Multiplicative Weights Algorithm • Maintain weights (or probability distribution) over experts. Answering/Prediction: • Answer using weighted majority, OR • Randomly pick an expert based on current probability distribution. Use random experts answer. Update: • Observe truth. • Decrease weight (or probability) assigned to the experts who are wrong. Lecture 13 : 590.03 Fall 12 7

  8. Error Analysis [Arora, Hazan , Kale ‘05] Theorem: After t steps, let m(t,j) be the number of errors made by expert j let m(t) be the number of errors made by algorithm let n be the number of experts, Lecture 13 : 590.03 Fall 12 8

  9. Error Analysis: Proof • Let φ (t) = Σ w i . Then, φ (1) = n. • When the algorithm makes a mistake, φ (t+1) ≤ φ (t) (1/2 + ½(1- ε )) = φ (t)(1- ε /2) • When the algorithm is correct, φ (t+1) ≤ φ (t) • The herefore, , φ (t (t) ≤ n(1 - ε /2) m(t) t) Lecture 13 : 590.03 Fall 12 9

  10. Error Analysis: Proof • φ (t) ≤ n(1 - ε /2) m(t) • Also, W j (t) = (1- ε ) m(t,j) • φ (t) ≥ W j (t) => n(1- ε /2) m(t) ≥ (1 - ε ) m(t,j) • Hence, m(t) ≥ 2/ε ln n + 2(1+ ε )m(t,j) Lecture 13 : 590.03 Fall 12 10

  11. Multiplicative Weights [Arora, Hazan , Kale ‘05] • This algorithm technique has been used to solve a number of problems – Packing and covering Linear programs (Plotkin-Shmoys-Tardos) – Log n approximation for many NP- hard problems (set cover …) – Boosting – Zero sum games – Network congestion – Semidefinite programs Lecture 13 : 590.03 Fall 12 11

  12. This Class • A Simple Multiplicative Weights Algorithm • Multiplicative Weights for privately publishing synthetic data Lecture 13 : 590.03 Fall 12 12

  13. Workload-aware Synthetic Data Generation Input: Q, a workload of (expected/typical) linear queries of the form Σ x q(x) , and each q(x) is in the range [-1,1] D, a database instance T, number of iterations ε , differential privacy parameter Output: A, a synthetically generated dataset such that for all q in Q, q(A) is close to q(D) Lecture 13 : 590.03 Fall 12 13

  14. Multiplicative Weights Algorithm • Let n be the number of records in D, and N be the number of values in the domain. Initialization • Let A 0 be a weight function that assigns n/N weight to each value in the domain. Lecture 13 : 590.03 Fall 12 14

  15. Multiplicative Weights • Let n be the number of records in D, and N be the number of values in the domain. • Let A 0 be a weight function that assigns n/N weight to each value in the domain. In iteration j in {1,2,…, T}, • Pick query q from Q with maximum error – Error = q(D) – q(A i-1 ) Lecture 13 : 590.03 Fall 12 15

  16. Multiplicative Weights • Let n be the number of records in D, and N be the number of values in the domain. • Let A 0 be a weight function that assigns n/N weight to each value in the domain. In iteration j in {1,2,…, T}, • Pick query q from Q with maximum error • Compute m = q(D) Lecture 13 : 590.03 Fall 12 16

  17. Multiplicative Weights • Let n be the number of records in D, and N be the number of values in the domain. • Let A 0 be a weight function that assigns n/N weight to each value in the domain. In iteration j in {1,2,…, T}, • Pick query q from Q with maximum error • Compute m = q(D) • Update Weights – A i (x) A i-1 (x) ∙ exp( q(x) ∙ (m – q(A i-1 ))/2n ) Output: average i (A i ) Lecture 13 : 590.03 Fall 12 17

  18. Update rule A i (x) A i-1 (x) ∙ exp( q(x) ∙ (m – q(A i-1 ))/2n ) If q(D) – q(A) > 0, then increase the weight of records with q(x) > 0 , and decrease the weight of records with q(x) < 0 If q(D) – q(A) < 0, then decrease the weight of records with q(x) > 0 , and increase the weight of records with q(x) < 0 Lecture 13 : 590.03 Fall 12 18

  19. Error Analysis Theorem: For any database D , and any set of linear queries Q , MWEM outputs an A such that: Lecture 13 : 590.03 Fall 12 19

  20. Error Analysis: Proof Consider the potential function: Lecture 13 : 590.03 Fall 12 20

  21. Error Analysis: Proof Lecture 13 : 590.03 Fall 12 21

  22. Synthetic Data Generation with Privacy Input: Q, a workload of (expected/typical) linear queries of the form Σ x q(x) , and each q(x) is in the range [-1,1] D, a database instance T, number of iterations ε , differential privacy parameter Output: A, a synthetically generated dataset such that for all q in Q, q(A) is close to q(D) Lecture 13 : 590.03 Fall 12 22

  23. MWEM [Hardt, Ligett & McSherry‘12] • Let n be the number of records in D, and N be the number of values in the domain. Initialization • Let A 0 be a weight function that assigns n/N weight to each value in the domain. Lecture 13 : 590.03 Fall 12 23

  24. MWEM [Hardt, Ligett & McSherry‘12] • Let n be the number of records in D, and N be the number of values in the domain. • Let A 0 be a weight function that assigns n/N weight to each value in the domain. In iteration j in {1,2,…, T}, • Pick query q from Q with max error using Exponential Mechanism – Parameter: ε /2T – Score function: |q(A i-1 ) – q(D)| More likely to pick those queries for which the answer on the synthetic data is very different from the answer on the true data. Lecture 13 : 590.03 Fall 12 24

  25. MWEM [Hardt, Ligett & McSherry‘12] • Let n be the number of records in D, and N be the number of values in the domain. • Let A 0 be a weight function that assigns n/N weight to each value in the domain. In iteration j in {1,2,…, T}, • Pick query q from Q with max error using Exponential Mechanism • Compute m = q(D) using Laplace Mechanism – Parameter: ε /2T – m = q(D) + Lap(2T/ ε ) Lecture 13 : 590.03 Fall 12 25

  26. MWEM [Hardt, Ligett & McSherry‘12] • Let n be the number of records in D, and N be the number of values in the domain. • Let A 0 be a weight function that assigns n/N weight to each value in the domain. In iteration j in {1,2,…, T}, • Pick query q from Q with max error using Exponential Mechanism • Compute m = q(D) using Laplace Mechanism • Update Weights – A i (x) A i-1 (x) ∙ exp( q(x) ∙ (m – q(A i-1 ))/2n ) Output: average i (A i ) Lecture 13 : 590.03 Fall 12 26

  27. Update rule A i (x) A i-1 (x) ∙ exp( q(x) ∙ (m – q(A i-1 ))/2n) If noisy q(D) – q(A) > 0, then increase the weight of records with q(x) > 0 , and decrease the weight of records with q(x) < 0 If noisy q(D) – q(A) < 0, then decrease the weight of records with q(x) > 0 , and increase the weight of records with q(x) < 0 Lecture 13 : 590.03 Fall 12 27

  28. Error Analysis Theorem: For any database D , and any set of linear queries Q , with probability at least 1-2T/|Q| , MWEM outputs an A such that: Lecture 13 : 590.03 Fall 12 28

  29. Error Analysis: Proof 1. But exponential mechanism picks qi, which might not have the maximum error! Lecture 13 : 590.03 Fall 12 29

  30. Error Analysis: Proof 1. In each iteration with probability at least 1 – 1/|Q|, error in the query picked by exponential mechanism is smaller than max error by at most 2. We add noise to m = q(D). But with probability at least 1 – 1/|Q| in each iteration, the noise added by Laplace is at most Lecture 13 : 590.03 Fall 12 30

  31. Error Analysis Theorem: For any database D , and any set of linear queries Q , with probability at least 1-2T/|Q| , MWEM outputs an A such that: Lecture 13 : 590.03 Fall 12 31

  32. Optimizations • Output A T rather than the average • In update step, use queries picked in all previous rounds for which (m-q(A)) is large. • Can improve the solution by initializing A 0 with noisy counts. Lecture 13 : 590.03 Fall 12 32

  33. Next Class • Implementations of Differential Privacy – How to write programs with differential privacy – Security issues due to incorrect implementation – How to convert any program to satisfy differential privacy Lecture 13 : 590.03 Fall 12 33

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend