Learning chordal Markov networks by dynamic programming
Kustaa Kangas Teppo Niinim¨ aki Mikko Koivisto NIPS 2014 (to appear) November 27, 2014
Kustaa Kangas Learning chordal Markov networks by dynamic programming
Learning chordal Markov networks by dynamic programming Kustaa - - PowerPoint PPT Presentation
Learning chordal Markov networks by dynamic programming Kustaa Kangas Teppo Niinim aki Mikko Koivisto NIPS 2014 (to appear) November 27, 2014 Kustaa Kangas Learning chordal Markov networks by dynamic programming Probabilistic graphical
Kustaa Kangas Learning chordal Markov networks by dynamic programming
◮ Graph structure G on the vertex set V = {1, . . . , n} ◮ Represents conditional independencies in a joint distribution
◮ Easy to read ◮ Compact way to store a distribution ◮ Efficient inference
Kustaa Kangas Learning chordal Markov networks by dynamic programming
Kustaa Kangas Learning chordal Markov networks by dynamic programming
◮ Constraint satisfaction, Corander et al. ◮ Integer linear programming, Bartlett and Cussens
◮ First non-trivial bound ◮ Competitive in practice
Kustaa Kangas Learning chordal Markov networks by dynamic programming
◮ Joint distribution p(X) = p(X1, . . . Xn) ◮ Undirected graph G on V = {1, . . . , n} with the Global
Kustaa Kangas Learning chordal Markov networks by dynamic programming
◮ Joint distribution p(X) = p(X1, . . . Xn) ◮ Undirected graph G on V = {1, . . . , n} with the Global
Kustaa Kangas Learning chordal Markov networks by dynamic programming
◮ Joint distribution p(X) = p(X1, . . . Xn) ◮ Undirected graph G on V = {1, . . . , n} with the Global
Kustaa Kangas Learning chordal Markov networks by dynamic programming
◮ Joint distribution p(X) = p(X1, . . . Xn) ◮ Undirected graph G on V = {1, . . . , n} with the Global
Kustaa Kangas Learning chordal Markov networks by dynamic programming
◮ C is the set of (maximal) cliques of G ◮ ψC are mappings to positive reals ◮ XC = {Xv : v ∈ C}
Kustaa Kangas Learning chordal Markov networks by dynamic programming
◮ Directed acyclic graph ◮ Conditional independencies by d-separation ◮ Factorizes:
n
Kustaa Kangas Learning chordal Markov networks by dynamic programming
◮ Bayesian and Markov networks are not equivalent ◮ Chordal Markov networks are the intersection between the two
Kustaa Kangas Learning chordal Markov networks by dynamic programming
◮ A chord is an edge between two non-consecutive vertices in a
◮ An graph is chordal or triangulated if every cycle of at least 4
Kustaa Kangas Learning chordal Markov networks by dynamic programming
◮ A chord is an edge between two non-consecutive vertices in a
◮ An graph is chordal or triangulated if every cycle of at least 4
Kustaa Kangas Learning chordal Markov networks by dynamic programming
Kustaa Kangas Learning chordal Markov networks by dynamic programming
Kustaa Kangas Learning chordal Markov networks by dynamic programming
Kustaa Kangas Learning chordal Markov networks by dynamic programming
Kustaa Kangas Learning chordal Markov networks by dynamic programming
Kustaa Kangas Learning chordal Markov networks by dynamic programming
Kustaa Kangas Learning chordal Markov networks by dynamic programming
1 3 4 2 5 6 7 8 9
3 5 6 8 9 1 2 7 1 3 4 2 2 8
Kustaa Kangas Learning chordal Markov networks by dynamic programming
◮ ψi(XCi) = p(Ci)/p(Si) ◮ Factorization becomes
Kustaa Kangas Learning chordal Markov networks by dynamic programming
Kustaa Kangas Learning chordal Markov networks by dynamic programming
Kustaa Kangas Learning chordal Markov networks by dynamic programming
◮ Enumerate undirected graphs ◮ Determine which are chordal ◮ For each chordal G, find a clique tree to evaluate score(G) ◮ O∗(2(n
2)) Kustaa Kangas Learning chordal Markov networks by dynamic programming
◮ Every clique tree T uniquely specifies a chordal graph G. ◮ We can search the space of clique trees instead.
Kustaa Kangas Learning chordal Markov networks by dynamic programming
3 5 6 8 9 1 2 7 1 3 4 2 2 8
k
Kustaa Kangas Learning chordal Markov networks by dynamic programming
Kustaa Kangas Learning chordal Markov networks by dynamic programming
S ⊂ C ⊆ S ∪ R {R1, . . . , Rk} ❁ R \ C S1, . . . , Sk ⊂ C
k
Kustaa Kangas Learning chordal Markov networks by dynamic programming
k
S ⊂ C ⊆ S ∪ R {R1, . . . , Rk} ❁ R \ C S1, . . . , Sk ⊂ C
k
Kustaa Kangas Learning chordal Markov networks by dynamic programming
k
∅ ⊂ C ⊆ R {R1, . . . , Rk} ❁ R \ C S1, . . . , Sk ⊂ C
k
Kustaa Kangas Learning chordal Markov networks by dynamic programming
S ⊂ C ⊆ S ∪ R {R1, . . . , Rk} ❁ R \ C S1, . . . , Sk ⊂ C
k
Kustaa Kangas Learning chordal Markov networks by dynamic programming
S ⊂ C ⊆ S ∪ R {R1, . . . , Rk} ❁ R \ C
k
Si⊂C
Kustaa Kangas Learning chordal Markov networks by dynamic programming
S ⊂ C ⊆ S ∪ R {R1, . . . , Rk} ❁ R \ C
k
Si⊂C
S⊂C
Kustaa Kangas Learning chordal Markov networks by dynamic programming
S ⊂ C ⊆ S ∪ R {R1, . . . , Rk} ❁ R \ C
k
S⊂C
Kustaa Kangas Learning chordal Markov networks by dynamic programming
S ⊂ C ⊆ S ∪ R {R1, . . . , Rk} ❁ R \ C
k
Kustaa Kangas Learning chordal Markov networks by dynamic programming
S⊂C⊆S∪R score(C)
{R1,...,Rk}❁R\C k
Kustaa Kangas Learning chordal Markov networks by dynamic programming
S⊂C⊆S∪R score(C)
{R1,...,Rk}❁R\C k
{R1,...,Rk}❁U k
Kustaa Kangas Learning chordal Markov networks by dynamic programming
S⊂C⊆S∪R score(C)g(C, R \ C)
{R1,...,Rk}❁U k
Kustaa Kangas Learning chordal Markov networks by dynamic programming
{R1,...,Rk}❁U k
Kustaa Kangas Learning chordal Markov networks by dynamic programming
{R1,...,Rk}❁U k
Kustaa Kangas Learning chordal Markov networks by dynamic programming
{R1,...,Rk}❁U k
{R1,...,Rk}❁U k
Kustaa Kangas Learning chordal Markov networks by dynamic programming
{R1,...,Rk}❁U k
∅=R1⊆U
{R2,...,Rk}❁U\R1 k
Kustaa Kangas Learning chordal Markov networks by dynamic programming
{R1,...,Rk}❁U k
∅=R1⊆U h(C, R1)
{R2,...,Rk}❁U\R1 k
Kustaa Kangas Learning chordal Markov networks by dynamic programming
{R1,...,Rk}❁U k
∅=R1⊆U h(C, R1)g(C, U \ R1)
Kustaa Kangas Learning chordal Markov networks by dynamic programming
{R1,...,Rk}❁U k
∅=R⊆U h(C, R)g(C, U \ R)
Kustaa Kangas Learning chordal Markov networks by dynamic programming
S⊂C⊆S∪R score(C)g(C, R \ C)
∅⊂R⊆U h(C, R)g(C, U \ R)
S⊂C f (S, R)
Kustaa Kangas Learning chordal Markov networks by dynamic programming
n
Kustaa Kangas Learning chordal Markov networks by dynamic programming
8 10 12 14 16 18 1s 60s 1h Junctor, any GOBNILP, large GOBNILP, medium GOBNILP, small 8 10 12 14 16 18 1s 60s 1h 8 10 12 14 16 18 1s 60s 1h 8 10 12 14 16 18 1s 60s 1h 8 10 12 14 16 18 1s 60s 1h 8 10 12 14 16 18 1s 60s 1h 8 10 12 14 16 18 1s 60s 1h 8 10 12 14 16 18 1s 60s 1h
Kustaa Kangas Learning chordal Markov networks by dynamic programming
Dataset Abbr. n m Tic-tac-toe X 10 958 Poker P 11 10000 Bridges B 12 108 Flare F 13 1066 Zoo Z 17 101 Dataset Abbr. n m Voting V 17 435 Tumor T 18 339 Lymph L 19 148 Hypothyroid 22 3772 Mushroom 22 8124
1s 60s 1h Junctor 1s 60s 1h GOBNILP B F L P X T V Z 1s 60s 1h Junctor 1s 60s 1h GOBNILP B F L P X T V Z 1s 60s 1h Junctor 1s 60s 1h GOBNILP B F L P X T V Z 1s 60s 1h Junctor 1s 60s 1h GOBNILP B F L P X T V Z
Kustaa Kangas Learning chordal Markov networks by dynamic programming
Kustaa Kangas Learning chordal Markov networks by dynamic programming