Linear Programming in Bounded Tree-width Markov Networks Percy - - PowerPoint PPT Presentation

linear programming in bounded tree width markov networks
SMART_READER_LITE
LIVE PREVIEW

Linear Programming in Bounded Tree-width Markov Networks Percy - - PowerPoint PPT Presentation

Linear Programming in Bounded Tree-width Markov Networks Percy Liang Nati Srebro MIT U. Toronto Workshop on Mathematical Programming in Data Mining and Machine Learning / June 1, 2005 1 Motivation: Multivariate density estimation Goal: to


slide-1
SLIDE 1

Linear Programming in Bounded Tree-width Markov Networks

Percy Liang Nati Srebro

MIT

  • U. Toronto

Workshop on Mathematical Programming in Data Mining and Machine Learning / June 1, 2005 1

slide-2
SLIDE 2

Motivation: Multivariate density estimation

Goal: to model the dependencies between a set of random variables

? ?

Linear Programming in Bounded Tree-width Markov Networks / Motivation 2

slide-3
SLIDE 3

Hypertrees

Use Markov networks. Control complexity by limiting tree-width k.

k=1 k=2

Weight of a hyperedge (clique) quantifies the importance of modeling the dependencies between the variables in the hyperedge. The maximum hypertree problem: Input: weights of all candidate k-hyperedges Output: a maximum weight k-hypertree

Linear Programming in Bounded Tree-width Markov Networks / Motivation 3

slide-4
SLIDE 4

1-windmill farms

A windmill farm is a subset of the hyperedges of a hypertree.

a 1-windmill (star) a 1-windmill farm in the tree a tree a 1-windmill farm in the tree Linear Programming in Bounded Tree-width Markov Networks / Motivation 4

slide-5
SLIDE 5

2-windmill farms

a 2-windmill a 2-windmill farm in a 2-hypertree a 2-hypertree a 2-windmill farm in a 2-hypertree

Linear Programming in Bounded Tree-width Markov Networks / Motivation 5

slide-6
SLIDE 6

Using windmills to approximate hypertrees

  • A linear programming relaxation finds a windmill farm

with weight

1 8kk! of the maximum windmill farm

  • The maximum windmill farm captures at least

1 (k+1)! of

the weight of a hypertree

  • Conclusion: The LP-based algorithm can find a

hypertree with weight

1 8kk!(k+1)! of the optimal hypertree

Linear Programming in Bounded Tree-width Markov Networks / Motivation 6

slide-7
SLIDE 7

Analyzing the windmill coverage ratio

Ck = the fraction of the weight of a k-hypertree that can be captured by a maximum weight k-windmill farm

1 (k + 1)!

≤ Ck ≤

1 k+1

Previous lower bound Previous upper bound Question: What is Ck? Approach: find the “worst” hypertrees for which the weight of the maximum windmill farm is minimized

Linear Programming in Bounded Tree-width Markov Networks / Motivation 7

slide-8
SLIDE 8

Analyzing the windmill coverage

Assume all weights are non-negative and weight of the hypertree w(T) = 1.

  • 1. Given a weighted hypertree (T, w), find

the maximum weight windmill farm F. Ck(T, w) = max

F ⊂T w(F)

Linear Programming in Bounded Tree-width Markov Networks / Question 8

slide-9
SLIDE 9

Analyzing the windmill coverage

Assume all weights are non-negative and weight of the hypertree w(T) = 1.

  • 1. Given a weighted hypertree (T, w), find

the maximum weight windmill farm F. Ck(T, w) = max

F ⊂T w(F)

  • 2. Given an unweighted hypertree structure

T, find the “worst” weights w. Ck(T) = min

w max F ⊂T w(F)

Linear Programming in Bounded Tree-width Markov Networks / Question 8

slide-10
SLIDE 10

Analyzing the windmill coverage

Assume all weights are non-negative and weight of the hypertree w(T) = 1.

  • 1. Given a weighted hypertree (T, w), find

the maximum weight windmill farm F. Ck(T, w) = max

F ⊂T w(F)

  • 2. Given an unweighted hypertree structure

T, find the “worst” weights w. Ck(T) = min

w max F ⊂T w(F)

  • 3. Find

the “worst” weighted hypertree (T, w). Ck = inf

T min w max F ⊂T w(F)

Linear Programming in Bounded Tree-width Markov Networks / Question 8

slide-11
SLIDE 11

Analyzing the windmill coverage

Assume all weights are non-negative and weight of the hypertree w(T) = 1.

  • 1. Given a weighted hypertree (T, w), find

the maximum weight windmill farm F. Ck(T, w) = max

F ⊂T w(F)

  • 2. Given an unweighted hypertree structure

T, find the “worst” weights w. Ck(T) = min

w max F ⊂T w(F)

  • 3. Find

the “worst” weighted hypertree (T, w). Ck = inf

T min w max F ⊂T w(F)

Plan: solve problems 1, 2, and 3 for trees and then for hypertrees.

Linear Programming in Bounded Tree-width Markov Networks / Question 8

slide-12
SLIDE 12

Problem 1: Ck=1(T, w) = max

F⊂T w(F) Goal: find the maximum weight windmill farm in a weighted tree.

1

1 1 3 2

2

1 9

1 1

4

4 2

6

1

5

1

4

1

9 5

w(F) = 1 + 4 + 4 + 6 + 2 + 3 + 5 + 9 + 9 + 5 + 1 + 1 = 50

Linear Programming in Bounded Tree-width Markov Networks / Problem 1 (trees) 9

slide-13
SLIDE 13

Problem 1: Ck=1(T, w) = max

F⊂T w(F) Solve using dynamic programming:

e

Linear Programming in Bounded Tree-width Markov Networks / Problem 1 (trees) 10

slide-14
SLIDE 14

Problem 1: Ck=1(T, w) = max

F⊂T w(F) Find the maximum weight windmill farm given the state of the root vertex.

3 vertex states: free regular blocked

fv,i,s = maximum weight of a 1-windmill farm in subtree (v, i) with vertex v in state s

Linear Programming in Bounded Tree-width Markov Networks / Problem 1 (trees) 11

slide-15
SLIDE 15

Problem 1: Ck=1(T, w) = max

F⊂T w(F)

3 vertex states: free regular blocked

+ =

fv,i,× = fv,i

+ 1,× + fci,1,◦

Linear Programming in Bounded Tree-width Markov Networks / Problem 1 (trees) 12

slide-16
SLIDE 16

Problem 1: Ck=1(T, w) = max

F⊂T w(F)

+ + + = max{ , }

3 vertex states: free regular blocked

fv,i,• = max{ fv,i

+ 1,• + fci,1,◦,

fv,i

+ 1,• + fci,1,× + wv,ci }

Linear Programming in Bounded Tree-width Markov Networks / Problem 1 (trees) 13

slide-17
SLIDE 17

Problem 1: Ck=1(T, w) = max

F⊂T w(F)

= max{ + } + + , ,

3 vertex states: free regular blocked

fv,i,◦ = max{ fv,i,•, fv,i

+ 1,◦ + fci,1,◦,

fv,i

+ 1,× + fci,1,• + wv,ci }

Linear Programming in Bounded Tree-width Markov Networks / Problem 1 (trees) 14

slide-18
SLIDE 18

Problem 1: Ck=1(T, w) = max

F⊂T w(F)

Compute all dynamic programming states fv,i,s in O(|V |) time: fv,i,× = fv,i

+ 1,× + fci,1,◦

fv,i,• = max{ fv,i

+ 1,• + fci,1,◦,

fv,i

+ 1,• + fci,1,× + wv,ci }

fv,i,◦ = max{ fv,i,•, fv,i

+ 1,◦ + fci,1,◦,

fv,i

+ 1,× + fci,1,• + wv,ci }

Linear Programming in Bounded Tree-width Markov Networks / Problem 1 (trees) 15

slide-19
SLIDE 19

Problem 2: Ck=1(T) = min

w max F⊂T w(F) Preliminary step: convert the dynamic program into an equivalent linear program.

Compute froot(T ),1,◦ fv,i,× = fv,i

+ 1,× + fci,1,◦

fv,i,• = max{ fv,i

+ 1,• + fci,1,◦,

fv,i

+ 1,• + fci,1,× + wv,ci }

fv,i,◦ = max{ fv,i,•, fv,i

+ 1,◦ + fci,1,◦,

fv,i

+ 1,× + fci,1,• + wv,ci }

Linear Programming in Bounded Tree-width Markov Networks / Problem 1 (trees) 16

slide-20
SLIDE 20

Problem 2: Ck=1(T) = min

w max F⊂T w(F) Preliminary step: convert the dynamic program into an equivalent linear program.

Compute froot(T ),1,◦ fv,i,× = fv,i

+ 1,× + fci,1,◦

fv,i,• = max{ fv,i

+ 1,• + fci,1,◦,

fv,i

+ 1,• + fci,1,× + wv,ci }

fv,i,◦ = max{ fv,i,•, fv,i

+ 1,◦ + fci,1,◦,

fv,i

+ 1,× + fci,1,• + wv,ci }

Minimize froot(T ),1,◦ fv,i,× ≥ fv,i

+ 1,× + fci,1,◦

fv,i,• ≥ fv,i

+ 1,• + fci,1,◦

fv,i,• ≥ fv,i

+ 1,• + fci,1,× + wv,ci

fv,i,◦ ≥ fv,i,• fv,i,◦ ≥ fv,i

+ 1,◦ + fci,1,◦

fv,i,◦ ≥ fv,i

+ 1,× + fci,1,• + wv,ci

Linear Programming in Bounded Tree-width Markov Networks / Problem 1 (trees) 16

slide-21
SLIDE 21

Problem 2: Ck=1(T) = min

w max F⊂T w(F) Preliminary step: convert the dynamic program into an equivalent linear program.

Compute froot(T ),1,◦ fv,i,× = fv,i

+ 1,× + fci,1,◦

fv,i,• = max{ fv,i

+ 1,• + fci,1,◦,

fv,i

+ 1,• + fci,1,× + wv,ci }

fv,i,◦ = max{ fv,i,•, fv,i

+ 1,◦ + fci,1,◦,

fv,i

+ 1,× + fci,1,• + wv,ci }

Minimize froot(T ),1,◦ fv,i,× ≥ fv,i

+ 1,× + fci,1,◦

fv,i,• ≥ fv,i

+ 1,• + fci,1,◦

fv,i,• ≥ fv,i

+ 1,• + fci,1,× + wv,ci

fv,i,◦ ≥ fv,i,• fv,i,◦ ≥ fv,i

+ 1,◦ + fci,1,◦

fv,i,◦ ≥ fv,i

+ 1,× + fci,1,• + wv,ci

max

F ⊂T w(F) =

min

Af≥Bw froot(T ),1,◦

Linear Programming in Bounded Tree-width Markov Networks / Problem 1 (trees) 16

slide-22
SLIDE 22

Problem 2: Ck=1(T) = min

w max F⊂T w(F)

max

F⊂T w(F) =

min

f:Af≥Bw froot(T),1,◦

Linear Programming in Bounded Tree-width Markov Networks / Problem 2 (trees) 17

slide-23
SLIDE 23

Problem 2: Ck=1(T) = min

w max F⊂T w(F)

min

w w≥0; wi=1

max

F⊂T w(F) =

min

w w≥0; wi=1

min

f:Af≥Bw froot(T),1,◦

Linear Programming in Bounded Tree-width Markov Networks / Problem 2 (trees) 17

slide-24
SLIDE 24

Problem 2: Ck=1(T) = min

w max F⊂T w(F)

min

w w≥0; wi=1

max

F⊂T w(F) =

min

w w≥0; wi=1

min

f:Af≥Bw froot(T),1,◦

A single linear program: min

w,f w≥0; wi=1;Af≥Bw

froot(T),1,◦

Linear Programming in Bounded Tree-width Markov Networks / Problem 2 (trees) 17

slide-25
SLIDE 25

Problem 3: Ck=1 = inf

T min w max F⊂T w(F)

  • Observation: A weighted tree with a weight 0 edge is

equivalent to a weighted tree without the edge

  • Construct a family of tree structures

{Tb,h | b, h = 1, 2, 3, . . . } (branching factor b, height h) that contains each tree structure

  • Ck=1 = lim

b,h→∞ Ck=1(Tb,h)

We solve the linear program and get Ck=1 = 1

2

Linear Programming in Bounded Tree-width Markov Networks / Problem 3 (trees) 18

slide-26
SLIDE 26

k-windmill farms (definition)

Hyperedges of windmill = root-to-leaf paths in representing tree k = 1

... representing tree of a 1-windmill 1-windmill farm in a tree 1-windmill

k = 1

Linear Programming in Bounded Tree-width Markov Networks / Problem 1 (hypertrees) 19

slide-27
SLIDE 27

k-windmill farms (definition)

k = 2

representing tree of a 2-windmill 2-windmill

k = 2

... 2-windmill farm in a hypertree

Linear Programming in Bounded Tree-width Markov Networks / Problem 1 (hypertrees) 20

slide-28
SLIDE 28

Problem 1: Ck(T, w) = max

F⊂T w(F) Analyze the windmill coverge for hypertrees. k = 2 2-hyperedge

hyperedge in windmill farm representing forest

How do we decompose a hypertree?

Linear Programming in Bounded Tree-width Markov Networks / Problem 1 (hypertrees) 21

slide-29
SLIDE 29

Problem 1: Ck(T, w) = max

F⊂T w(F) Incidence tree structure: represents how the hypertree is connected k = 2

hyperedge-nodes separator-nodes

Linear Programming in Bounded Tree-width Markov Networks / Problem 1 (hypertrees) 22

slide-30
SLIDE 30

Problem 1: Ck(T, w) = max

F⊂T w(F)

representing forest of the windmill farm incidence tree structure

3 vertex states: free regular blocked

k = 1 k = 2 k = 12

Linear Programming in Bounded Tree-width Markov Networks / Problem 1 (hypertrees) 23

slide-31
SLIDE 31

Problem 1: Ck(T, w) = max

F⊂T w(F) Dynamic programming states: fg,i,s, fh,S fg,i,s = max

s→S

  • fg,i

+ 1,s′ + fh,S + w(h)[[S is a path]]

  • fh,S

=

  • i

fgi,1,restrict(S,gi)

(g, i+1, s′) (g, i, s) (h, S)

Linear Programming in Bounded Tree-width Markov Networks / Problem 1 (hypertrees) 24

slide-32
SLIDE 32

Problem 2: Ck(T) = min

w max F⊂T w(F)

Apply the duality technique from before. min

w w≥0; wi=1

max

F⊂T w(F) =

min

w w≥0; wi=1

min

s,f:Af≥Bw froot(T),1,s

A single linear program: min

w,f w≥0; wi=1;Af≥Bw

froot(T),1,◦

Linear Programming in Bounded Tree-width Markov Networks / Problem 2 (hypertrees) 25

slide-33
SLIDE 33

Problem 3: Ck = inf

T min w max F⊂T w(F)

Construct a family of hypertrees {Tk,b,h} such that:

  • Each hypertree is contained in some Tk,b,h (branching

factor b, height h)

  • Ck = lim

b,h→∞ Ck(Tk,b,h)

Linear Programming in Bounded Tree-width Markov Networks / Problem 3 (hypertrees) 26

slide-34
SLIDE 34

Problem 3: Ck = inf

T min w max F⊂T w(F)

Tk=2,b,h b = 1 b = 2 b = 3 . . . h = 1 . . . h = 2 . . . h = 3 . . . . . . . . . . . . . . .

Linear Programming in Bounded Tree-width Markov Networks / Problem 3 (hypertrees) 27

slide-35
SLIDE 35

Problem 3: Ck = inf

T min w max F⊂T w(F)

Tk=2,b,h b = 1 b = 2 b = 3 . . . h = 1

0.5 0.5 0.5

. . . h = 2

0.5 0.364 0.308

. . . h = 3

0.333 0.269 0.263

. . . . . . . . . . . . . . . Converges to Ck=2.

Linear Programming in Bounded Tree-width Markov Networks / Problem 3 (hypertrees) 28

slide-36
SLIDE 36

Achieving a tighter upper bound

  • Use weights obtained from the LP solution to construct a

sequence of weighted hypertrees {(Tk,h, wk,h)}

  • Compute lim

h→∞ Ck(Tk,h, wk,h) (involves solving Problem 1)

wk,h: weight of a hyperedge is 2−height of hyperedge

Linear Programming in Bounded Tree-width Markov Networks / Problem 3 (hypertrees) 29

slide-37
SLIDE 37

Achieving a tighter upper bound

  • Use weights obtained from the LP solution to construct a

sequence of weighted hypertrees {(Tk,h, wk,h)}

  • Compute lim

h→∞ Ck(Tk,h, wk,h) (involves solving Problem 1)

wk,h: weight of a hyperedge is 2−height of hyperedge k = 2 . . . Tk=2,h=1 Tk=2,h=2 Tk=2,h=3 Tk=2,h=4 . . . 0.5 0.353 0.308 0.286 . . . 2/4 6/17 16/52 40/140 . . .

2h+2 9h−1 → 2 9

Linear Programming in Bounded Tree-width Markov Networks / Problem 3 (hypertrees) 29

slide-38
SLIDE 38

Achieving a tighter upper bound

Ck = min

T,w Ck(T, w) = min T

min

w max F ⊂T w(F)

k ≤ Ck Ck lim

h→∞ Ck(Tk,h, wk,h) ≥ Ck

≥ Ck Windmill Cover Previous upper Theorem bound 1 0.5 0.5 0.5 0.5 2 0.166666. . . ? 0.2222222. . . 0.33333. . . 3 0.041666. . . ? 0.0953932. . . 0.25 4 0.008333. . . ? 0.0515625 0.2 5 0.001389. . . ? 0.0258048 0.16666. . . 6 0.000198. . . ? 0.0123157. . . 0.14286. . . k 1/(k + 1)! ? < 1/2k? 1/(k + 1)

Linear Programming in Bounded Tree-width Markov Networks / Problem 3 (hypertrees) 30

slide-39
SLIDE 39

Conclusions

  • Motivation: using windmill farms to approximate the

maximum likelihood Markov network

  • We described an algorithmic technique for providing

bounds on the windmill farm coverage

Linear Programming in Bounded Tree-width Markov Networks / Problem 3 (hypertrees) 31

slide-40
SLIDE 40

Conclusions

  • Motivation: using windmill farms to approximate the

maximum likelihood Markov network

  • We described an algorithmic technique for providing

bounds on the windmill farm coverage

  • The exact windmill coverage Ck is open for k > 1
  • Future work: apply the duality technique to other

problems (shortest path, minimum cut)

Linear Programming in Bounded Tree-width Markov Networks / Problem 3 (hypertrees) 31