stratified sampling meets machine learning · 2020-04-07 · stratified sampling meets machine...

25
STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY

Upload: others

Post on 27-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY

Page 2: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

2

Page 3: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

3

Page 4: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

4

Apps with Flurry SDK

Page 5: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

5

Page 6: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

6

Examples: •  Number of event of a certain type •  Number of unique user •  Number of unique users in a specific day •  Total time spent in certain geo •  Average $ spent by age

P iq(u

i)q(·)

Page 7: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

7

SAMPLING

Challenges: 1.  The data is very large. Computing exactly is too costly. 2.  The function is user specified and completely unconstrained.

Good News: And approximate answer is acceptable (if the error is small) Solution: Estimate the answer on a random subset of the records

q(·)

Pi q(ui)

Page 8: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

8

NOTATIONS

•  for brevity

•  the exact answer for the query q!

•  the probability of choosing record

•  the set of sampled records, each chosen with probability

•  the Horvitz-Thompson estimator for!

qi := q(ui)

pi

y :=P

i qi

S pi

y =P

i2S qi/pi y

i

Page 9: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

9

PROPERTIES •  Horvitz-Thompson estimator is unbiased

•  its standard deviation isn’t large!

•  probability for large error is small

(Olken, Rotem and Hellerstein 1986, and 1990) application to databases (Acharya, Gibbons, Poosala 2000) uniform sampling is best in the worst case

E[y � y] = 0

�[y � y] yp

1/(⇣ · card(q))

card(q) :=P

|qi|/max |qi|⇣ = mini

pi

Pr[|y � y| � "y] e�O("2⇣·card(q))

card(q) ⇠ ⌦(n) ! |S| ⇠ 1/"2

Page 10: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

10

•  Sample = 100,000 US individuals. •  Query = Republicans vs. Democrats in American Samoa?

•  Sample different strata (e.g. US territories) with different probabilities. (Neyman, Jerzy 1934)

STRATIFIED SAMPLING

card(q)If is small must be large |S|

American Samoa is 0.02% of population

Only ~20 from Samoa in the

sample

Survey error is very large!

Page 11: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

11

DBLP EXAMPLE

Choosing the right strata is hard! •  2,101,151 papers •  1000 most populous venues •  Query example title contains “learning” and # authors <= 3 title contains “mechanism” and year > 2004 What is the right stratification here? •  Stratifying by venue made things worse! •  Stratifying by year was better but still worse than uniform sampling.

Page 12: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

12

SAMPLING, STRATIFICATION, AND DATABASES

•  Design strata that minimize worst case variance on possible queries •  Linearly combine strata based on record features •  Combine stratifies and uniform sampling: Congressional Sampling

o  Acharya, Gibbons, Poosala 2000: Important idea: consider past queries to the database!

•  Each stratum is a set of records that agree on all queries o  Chaudhuri, Das and Narasayya 2007: optimize for the query log

•  Split to two strata, per each query. Take linear combinations

o  Joshi, Jermaine, 2008: linear combinations of stratified probabilities

Page 13: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

13

OUR APPROACH

•  Assume queries are drawn from a distribution

•  Use the query log as a “training set” (assumed w.r.t. )

•  Allow each record to be sampled with a different probability

•  Minimize the Risk

•  This translates to

unknown

Q

Q Q

pi

E[(y � y)2]

Eq⇠QX

i

q2i (1/pi � 1)

Page 14: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

14

OUR APPROACH

•  ERM: Minimize

•  Sampling budget ( )

•  Regularization ( )

X

q2Q

X

i

q2i (1/pi � 1)

Query log

X

i

pici BP

i ci ⌧ B

8 i pi 2 [⇣, 1] ⇣ B/P

i ci

Page 15: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

15

OUR APPROACH

•  Solve with Lagrange multipliers

•  By KKT conditions

or or

max

↵,�,�[

1

|Q|X

q2Q

X

i

q2i (1/pi � 1)�X

i

↵i(pi � ⇣)

�X

i

�i(1� pi)� �(B �X

i

pici)]

pi /q

1ci

1|Q|

Pq2Q q2ipi = ⇣ pi = 1

Page 16: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

16

OUR APPROACH

Alg’ Risk

Best Risk

Database “badness”

Training Set size

Risk(p) Risk(p⇤)

1 +O

skew

slog(n/�)

|Q|

!!

Page 17: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

17

RESULTS

Page 18: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

18

0.16

0.18

0.2

0.22

0.24

0.26

0.28

0.3

0.32

0.34

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Exp

ect

ed E

rror

[weaker...] Value of Regularization Parameter Eta [...stronger]

DBLP Dataset

Uniform Sampling p = 1/1005000 Training Queries

10000 Training Queries20000 Training Queries40000 Training Queries

RESULTS

Page 19: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

19

RESULTS

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

1.1

1.2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Exp

ect

ed E

rror

[weaker...] Value of Regularization Parameter Eta [...stronger]

Cube Dataset

Uniform Sampling p = 1/1050 Training Queries

100 Training Queries200 Training Queries800 Training Queries

6400 Training Queries

Page 20: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

20

0.06

0.07

0.08

0.09

0.1

0.11

0.12

0.13

0.14

0.15

0.16

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Exp

ect

ed

Err

or

[weaker...] Value of Regularization Parameter Eta [...stronger]

YAM+ Dataset

Uniform p = 1/10050 Training Queries

100 Training Queries200 Training Queries400 Training Queries

All Training Queries

RESULTS

Page 21: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

21

RESULTS

1e-05

0.0001

0.001

0.01

0.1

1

10

1 10 100 1000 10000 100000 1e+06

Exp

ect

ed

Err

or

Numeric Cardinality of Test Query

YAM+ Dataset

Regularized ERMUniform Sampling

Page 22: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

22

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4

Pro

babili

ty (

Rescale

d)

Average Error

YAM+ Dataset

Uniform SamplingRegularized ERM

RESULTS

Page 23: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

23

0.0001

0.001

0.01

0.1

1

10

0.0001 0.001 0.01 0.1 1

Exp

ect

ed

Err

or

’Sampling Rate’ = Budget / (Total Cost)

YAM+ Dataset

Uniform SamplingRegularized ERM

RESULTS

Page 24: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK

24

0.0001

0.001

0.01

0.1

1

10

100

1 10 100 1000 10000

Exp

ect

ed

Err

or

Numeric Cardinality of Test Query

Cube Dataset

ERMUniform Sampling

RESULTS

Page 25: STRATIFIED SAMPLING MEETS MACHINE LEARNING · 2020-04-07 · STRATIFIED SAMPLING MEETS MACHINE LEARNING KEVIN LANG KONSTANTIN SHMAKOV EDO LIBERTY . 2 . 3 . 4 Apps with Flurry SDK