Online Learning via Convex Geometry, with Applications to Pricing - - PowerPoint PPT Presentation

online learning via convex geometry with applications to
SMART_READER_LITE
LIVE PREVIEW

Online Learning via Convex Geometry, with Applications to Pricing - - PowerPoint PPT Presentation

Online Learning via Convex Geometry, with Applications to Pricing Adrian Vladu MIT Dynamic Pricing Problem ? ? ? $0.5 $2.0 $1.0 ? ? ? $0.5 $2.0 $1.0 ? ? ? day 1 x 1 x 3 x 0 ? $0.5 $2.0 $1.0 ? ? ?


slide-1
SLIDE 1

Online Learning via Convex Geometry, with Applications to Pricing

Adrian Vladu MIT

slide-2
SLIDE 2

Dynamic Pricing Problem

? ? ?

slide-3
SLIDE 3

? ? ?

$0.5 $2.0 $1.0

🙋

slide-4
SLIDE 4

? ? ? x 1

💶?

x 3 x 0

day 1

$0.5 $2.0 $1.0

🙋

slide-5
SLIDE 5

? ? ? x 1

💶?

x 3 x 0

$7

day 1

$0.5 $2.0 $1.0

🙋

slide-6
SLIDE 6

? ? ? x 1

💶?

x 3 x 0

$7

day 1

$0.5 $2.0 $1.0

🙋

slide-7
SLIDE 7

? ? ? x 1

💶?

x 3 x 0

$7

day 1

$0.5 $2.0 $1.0

🙋

Regret=6.5

slide-8
SLIDE 8

? ? ? x 1

💶?

x 3 x 0

$7

day 1

x 2

💶?

x 0 x 2

day 2

$0.5 $2.0 $1.0

🙋

Regret=6.5

slide-9
SLIDE 9

Regret=6.5

? ? ? x 1

💶?

x 3 x 0

$7

day 1

x 2

💶?

x 0 x 2

$2

day 2

$0.5 $2.0 $1.0

🙋

slide-10
SLIDE 10

Regret=7.5

? ? ? x 1

💶?

x 3 x 0

$7

day 1

x 2

💶?

x 0 x 2

$2

day 2

$0.5 $2.0 $1.0

🙋

slide-11
SLIDE 11

Regret=7.5

? ? ? x 1

💶?

x 3 x 0

$7

day 1

x 2

💶?

x 0 x 2

$2

day 2

x 0

💶?

x 1 x 1

day 3

$0.5 $2.0 $1.0

🙋

slide-12
SLIDE 12

Regret=7.5

? ? ? x 1

💶?

x 3 x 0

$7

day 1

x 2

💶?

x 0 x 2

$2

day 2

x 0

💶?

x 1 x 1

$4

day 3

$0.5 $2.0 $1.0

🙋

slide-13
SLIDE 13

Regret=10.5

? ? ? x 1

💶?

x 3 x 0

$7

day 1

x 2

💶?

x 0 x 2

$2

day 2

x 0

💶?

x 1 x 1

$4

day 3

$0.5 $2.0 $1.0

🙋

slide-14
SLIDE 14

? ? ? x 1

💶?

x 3 x 0

$7

day 1

x 2

💶?

x 0 x 2

$2

day 2

x 0

💶?

x 1 x 1

$4

day 3

x 1

💶?

x 1 x 1

day 4

$0.5 $2.0 $1.0

🙋

Regret=10.5

slide-15
SLIDE 15

? ? ? x 1

💶?

x 3 x 0

$7

day 1

x 2

💶?

x 0 x 2

$2

day 2

x 0

💶?

x 1 x 1

$4

day 3

x 1

💶?

x 1 x 1

$3

day 4

$0.5 $2.0 $1.0

🙋

Regret=10.5

slide-16
SLIDE 16

? ? ? x 1

💶?

x 3 x 0

$7

day 1

x 2

💶?

x 0 x 2

$2

day 2

x 0

💶?

x 1 x 1

$4

day 3

x 1

💶?

x 1 x 1

$3

day 4

$0.5 $2.0 $1.0

🙋

Regret=11

slide-17
SLIDE 17

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • this work
slide-18
SLIDE 18

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • this work

?

slide-19
SLIDE 19

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • this work

?

$0 $1

slide-20
SLIDE 20

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • this work

?

💶?

$0 $1

slide-21
SLIDE 21

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • this work

?

💶?

$0 $1

$0.5

slide-22
SLIDE 22

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • this work

?

$0 $1

$0.5

slide-23
SLIDE 23

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • this work

?

💶?

$0 $1

slide-24
SLIDE 24

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • this work

?

💶?

$0 $1 $0.75

slide-25
SLIDE 25

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • this work

?

$0 $1 $0.75

slide-26
SLIDE 26

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • this work

?

$0 $1 $0.75

slide-27
SLIDE 27

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • this work

?

$0 $1

O(log 1/ε) days

slide-28
SLIDE 28

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • this work

?

$0 $1

O(log 1/ε) days

≤ε

slide-29
SLIDE 29

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • O(log T) is easy
  • this work

?

$0 $1

O(log 1/ε) days

≤ε

slide-30
SLIDE 30

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • O(log T) is easy
  • O(log log T) is a cute puzzle [Kleinberg, Leighton ‘03]
  • Back to d-dimensional case
  • O(d2 log T) [Cohen, Lobel, Paes Leme ’16]
  • Ω(d log log T) lower bound
  • Can we bridge the gap?
  • this work
slide-31
SLIDE 31

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • O(log T) is easy
  • O(log log T) is a cute puzzle [Kleinberg, Leighton ‘03]
  • Back to d-dimensional case
  • O(d2 log T) [Cohen, Lobel, Paes Leme ’16]
  • Ω(d log log T) lower bound
  • Can we bridge the gap?
  • this work
slide-32
SLIDE 32

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • O(log T) is easy
  • O(log log T) is a cute puzzle [Kleinberg, Leighton ‘03]
  • Back to d-dimensional case
  • O(d2 log T) [Cohen, Lobel, Paes Leme ’16]
  • Ω(d log log T) lower bound
  • Can we bridge the gap?
  • this work
slide-33
SLIDE 33

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • O(log T) is easy
  • O(log log T) is a cute puzzle [Kleinberg, Leighton ‘03]
  • Back to d-dimensional case
  • O(d2 log T) [Cohen, Lobel, Paes Leme ’16]
  • Ω(d log log T) lower bound
  • Can we bridge the gap?
  • this work
slide-34
SLIDE 34

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • O(log T) is easy
  • O(log log T) is a cute puzzle [Kleinberg, Leighton ‘03]
  • Back to d-dimensional case
  • O(d2 log T) [Cohen, Lobel, Paes Leme ’16]
  • Ω(d log log T) lower bound
  • Can we bridge the gap?
  • this work
slide-35
SLIDE 35

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • O(log T) is easy
  • O(log log T) is a cute puzzle [Kleinberg, Leighton ‘03]
  • Back to d-dimensional case
  • O(d2 log T) [Cohen, Lobel, Paes Leme ’16]
  • Ω(d log log T) lower bound
  • Can we bridge the gap?
  • this work
slide-36
SLIDE 36

Dynamic Pricing Problem

  • Warm-up: 1-dimensional case
  • O(log T) is easy
  • O(log log T) is a cute puzzle [Kleinberg, Leighton ‘03]
  • Back to d-dimensional case
  • O(d2 log T) [Cohen, Lobel, Paes Leme ’16]
  • Ω(d log log T) lower bound
  • O(d log T) [this work]
  • this work
slide-37
SLIDE 37

Model

  • start with d-dimensional convex body (pos-

sible prices for items)

  • customer gives vector of item quantities u,

kuk = 1, with the promise that w (K, u) ✏, asks for price

  • player chooses price c, and partitions K =

K1 [ K2, where K1 = {x 2 K : x>u  c} and K2 = K \ K1

  • customer picks which half contains the true

prices, update K accordingly

  • repeat until no valid directions remaining
slide-38
SLIDE 38

Model

  • start with d-dimensional convex body (pos-

sible prices for items)

  • customer gives vector of item quantities u,

kuk = 1, with the promise that w (K, u) ✏, asks for price

  • player chooses price c, and partitions K =

K1 [ K2, where K1 = {x 2 K : x>u  c} and K2 = K \ K1

  • customer picks which half contains the true

prices, update K accordingly

  • repeat until no valid directions remaining

≥ε

Cut perpendicular to this direction

slide-39
SLIDE 39

Model

  • start with d-dimensional convex body (pos-

sible prices for items)

  • customer gives vector of item quantities u,

kuk = 1, with the promise that w (K, u) ✏, asks for price

  • player chooses price c, and partitions K =

K1 [ K2, where K1 = {x 2 K : x>u  c} and K2 = K \ K1

  • customer picks which half contains the true

prices, update K accordingly

  • repeat until no valid directions remaining

≥ε ✂

Cut perpendicular to this direction

slide-40
SLIDE 40

Model

  • start with d-dimensional convex body (pos-

sible prices for items)

  • customer gives vector of item quantities u,

kuk = 1, with the promise that w (K, u) ✏, asks for price

  • player chooses price c, and partitions K =

K1 [ K2, where K1 = {x 2 K : x>u  c} and K2 = K \ K1

  • customer picks which half contains the true

prices, update K accordingly

  • repeat until no valid directions remaining

Keep this half

slide-41
SLIDE 41

Model

  • start with d-dimensional convex body (pos-

sible prices for items)

  • customer gives vector of item quantities u,

kuk = 1, with the promise that w (K, u) ✏, asks for price

  • player chooses price c, and partitions K =

K1 [ K2, where K1 = {x 2 K : x>u  c} and K2 = K \ K1

  • customer picks which half contains the true

prices, update K accordingly

  • repeat until no valid directions remaining

Keep this half

slide-42
SLIDE 42

Model

  • start with d-dimensional convex body (pos-

sible prices for items)

  • customer gives vector of item quantities u,

kuk = 1, with the promise that w (K, u) ✏, asks for price

  • player chooses price c, and partitions K =

K1 [ K2, where K1 = {x 2 K : x>u  c} and K2 = K \ K1

  • customer picks which half contains the true

prices, update K accordingly

  • repeat until no valid directions remaining

Keep this half

Theorem: there exists a strategy for cutting such that w(K,u) ≤ ε for all u after O(d log (d/ε)) iterations. Set ε=d log T / T, regret is at most Tε + O(d log (d/ε)) = O(d log T).

slide-43
SLIDE 43

Model

  • start with d-dimensional convex body (pos-

sible prices for items)

  • customer gives vector of item quantities u,

kuk = 1, with the promise that w (K, u) ✏, asks for price

  • player chooses price c, and partitions K =

K1 [ K2, where K1 = {x 2 K : x>u  c} and K2 = K \ K1

  • customer picks which half contains the true

prices, update K accordingly

  • repeat until no valid directions remaining

Keep this half

Theorem: there exists a strategy for cutting such that w(K,u) ≤ ε for all u after O(d log (d/ε)) iterations. Set ε=d log T / T, regret is at most Tε + O(d log (d/ε)) = O(d log T).

slide-44
SLIDE 44

Convex Geometry Toolbox

slide-45
SLIDE 45

Convex Geometry Toolbox

Grunbaum’s Theorem: any cut through the centroid partitions K in two pieces of roughly equal volume (largest/ smallest ≤ e).

slide-46
SLIDE 46

Convex Geometry Toolbox

Grunbaum’s Theorem: any cut through the centroid partitions K in two pieces of roughly equal volume (largest/ smallest ≤ e).

Not quite sufficient

slide-47
SLIDE 47

Convex Geometry Toolbox

Grunbaum’s Theorem: any cut through the centroid partitions K in two pieces of roughly equal volume (largest/ smallest ≤ e).

Not quite sufficient ✂

slide-48
SLIDE 48

Convex Geometry Toolbox

Grunbaum’s Theorem: any cut through the centroid partitions K in two pieces of roughly equal volume (largest/ smallest ≤ e).

Not quite sufficient

slide-49
SLIDE 49

Convex Geometry Toolbox

Grunbaum’s Theorem: any cut through the centroid partitions K in two pieces of roughly equal volume (largest/ smallest ≤ e).

Not quite sufficient ✂

slide-50
SLIDE 50

Convex Geometry Toolbox

Grunbaum’s Theorem: any cut through the centroid partitions K in two pieces of roughly equal volume (largest/ smallest ≤ e).

Not quite sufficient ✂

slide-51
SLIDE 51

Convex Geometry Toolbox

Grunbaum’s Theorem: any cut through the centroid partitions K in two pieces of roughly equal volume (largest/ smallest ≤ e).

Not quite sufficient

slide-52
SLIDE 52

Convex Geometry Toolbox

Grunbaum’s Theorem: any cut through the centroid partitions K in two pieces of roughly equal volume (largest/ smallest ≤ e).

Not quite sufficient ✂

slide-53
SLIDE 53

Convex Geometry Toolbox

Grunbaum’s Theorem: any cut through the centroid partitions K in two pieces of roughly equal volume (largest/ smallest ≤ e).

Not quite sufficient ✂

slide-54
SLIDE 54

Convex Geometry Toolbox

Grunbaum’s Theorem: Any cut through c(K) partitions K in two pieces with volume ratio at most e. Directional Grunbaum (this work): A cut through c(K) partitions K=K1 ∪ K2 such that w(Ki) ≥ w(K,u) / (d+1), for all u. Cylindrification (this work): If w(K,u) ≥ δ for all u, and S is (d-1)-dimensional, then Vol(ProjS K) ≤ (d+1)2/δ Vol(K).

slide-55
SLIDE 55

Convex Geometry Toolbox

Grunbaum’s Theorem: Any cut through c(K) partitions K in two pieces with volume ratio at most e. Directional Grunbaum (this work): A cut through c(K) partitions K=K1 ∪ K2 such that w(Ki) ≥ w(K,u) / (d+1), for all u. Cylindrification (this work): If w(K,u) ≥ δ for all u, and S is (d-1)-dimensional, then Vol(ProjS K) ≤ (d+1)2/δ Vol(K).

slide-56
SLIDE 56

Convex Geometry Toolbox

✂ ✂

Grunbaum’s Theorem: Any cut through c(K) partitions K in two pieces with volume ratio at most e. Directional Grunbaum (this work): A cut through c(K) partitions K=K1 ∪ K2 such that w(Ki) ≥ w(K,u) / (d+1), for all u. Cylindrification (this work): If w(K,u) ≥ δ for all u, and S is (d-1)-dimensional, then Vol(ProjS K) ≤ (d+1)2/δ Vol(K).

slide-57
SLIDE 57

Convex Geometry Toolbox

✂ ✂

Grunbaum’s Theorem: Any cut through c(K) partitions K in two pieces with volume ratio at most e. Directional Grunbaum (this work): A cut through c(K) partitions K=K1 ∪ K2 such that w(Ki) ≥ w(K,u) / (d+1), for all u. Cylindrification (this work): If w(K,u) ≥ δ for all u, and S is (d-1)-dimensional, then Vol(ProjS K) ≤ (d+1)2/δ Vol(K).

slide-58
SLIDE 58

Convex Geometry Toolbox

✂ ✂

Grunbaum’s Theorem: Any cut through c(K) partitions K in two pieces with volume ratio at most e. Directional Grunbaum (this work): A cut through c(K) partitions K=K1 ∪ K2 such that w(Ki) ≥ w(K,u) / (d+1), for all u. Cylindrification (this work): If w(K,u) ≥ δ for all u, and S is (d-1)-dimensional, then Vol(ProjS K) ≤ (d+1)2/δ Vol(K).

≤ ✏/dO(1)

slide-59
SLIDE 59

Algorithm

  • 1. Cut through centroid.
  • 2. When w(K, u) ≤ = ✏/dO(1), cylindrify.
  • 3. Small volume blow-up from ≤ d cylindrifications, overall need to

reduce volume by a factor of (d/✏)O(d).

slide-60
SLIDE 60

Algorithm

  • 1. Cut through centroid.
  • 2. When w(K, u) ≤ = ✏/dO(1), cylindrify.
  • 3. Small volume blow-up from ≤ d cylindrifications, overall need to

reduce volume by a factor of (d/✏)O(d).

slide-61
SLIDE 61

Algorithm

  • 1. Cut through centroid.
  • 2. When w(K, u) ≤ = ✏/dO(1), cylindrify.
  • 3. Small volume blow-up from ≤ d cylindrifications, overall need to

reduce volume by a factor of (d/✏)O(d).

slide-62
SLIDE 62

Algorithm

  • 1. Cut through centroid.
  • 2. When w(K, u) ≤ = ✏/dO(1), cylindrify.
  • 3. Small volume blow-up from ≤ d cylindrifications, overall need to

reduce volume by a factor of (d/✏)O(d).

slide-63
SLIDE 63

Algorithm

POLYNOMIAL TIME ALGORITHM

  • 1. Compute approximate centroid, requires almost uniform sampling [LS ’93]
  • 2. Robust versions of our theorems
  • 1. Cut through centroid.
  • 2. When w(K, u) ≤ = ✏/dO(1), cylindrify.
  • 3. Small volume blow-up from ≤ d cylindrifications, overall need to

reduce volume by a factor of (d/✏)O(d).

slide-64
SLIDE 64

Algorithm

POLYNOMIAL TIME ALGORITHM

  • 1. Compute approximate centroid, requires almost uniform sampling [LS ’93]
  • 2. Robust versions of our theorems
  • 1. Cut through centroid.
  • 2. When w(K, u) ≤ = ✏/dO(1), cylindrify.
  • 3. Small volume blow-up from ≤ d cylindrifications, overall need to

reduce volume by a factor of (d/✏)O(d).

slide-65
SLIDE 65

Algorithm

POLYNOMIAL TIME ALGORITHM

  • 1. Compute approximate centroid, requires almost uniform sampling [LS ’93]
  • 2. Robust versions of our theorems
  • 1. Cut through centroid.
  • 2. When w(K, u) ≤ = ✏/dO(1), cylindrify.
  • 3. Small volume blow-up from ≤ d cylindrifications, overall need to

reduce volume by a factor of (d/✏)O(d).

Open: obtain regret O(d log d + d log log T) by combining with the 1-dimensional trick.

slide-66
SLIDE 66

Thank you!

🔭