22
Machine learning: lecture 13 Tommi S. Jaakkola MIT AI Lab [email protected]

Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Machine learning: lecture 13

Tommi S. Jaakkola

MIT AI Lab

[email protected]

Page 2: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Topics

• A bit more general view of the EM algorithm

– regularized mixtures

• Extensions of mixture models

– hierarchical mixture models

– conditional mixture models: mixtures of experts

Tommi Jaakkola, MIT AI Lab 2

Page 3: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Mixture models: review

• A two component Gaussian mixture model:

p(x|θ) =∑

j=1,2

pjp(x|µj,Σj)

where θ = {p1, p2, µ1, µ2,Σ1,Σ2}.

• Only iterative solutions are available for finding the

parameters that maximize the log-likelihood

l(θ;D) =n∑

i=1

log p(xi|θ)

where D = {x1, . . . ,xn}.

The estimation involves resolving which mixture component

should be responsible for which data point

Tommi Jaakkola, MIT AI Lab 3

Page 4: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

The EM algorithm

• The EM-algorithm finds a local maximum of l(θ;D)

E-step: evaluate the expected complete log-likelihood

J(θ; θ(t)) =n∑

i=1

Ej∼P (j|xi,θ(t)) log

(pjp(xi|µj,Σj)

)

=n∑

i=1

∑j=1,2

P (j|xi, θ(t)) log

(pjp(xi|µj,Σj)

)

M-step: find the new parameters by maximizing the

expected complete log-likelhood

θ(t+1)← argmaxθ

J(θ; θ(t))

Tommi Jaakkola, MIT AI Lab 4

Page 5: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Regularized EM algorithm

• To maximize a penalized (regularized) log-likelihood

l′(θ;D) =n∑

i=1

log p(xi|θ) + log p(θ)

we only need to modify the M-step of the EM-algorithm.

Specifically, in the M-step, we find find θ that maximize a

penalized expected complete log-likelihood:

J(θ; θ(t)) =n∑

i=1

Ej∼P (j|xi,θ(t)) log

(pjp(xi|µj,Σj)

)+ log p(p1, p2) + log p(Σ1) + log p(Σ1)

where, for example, p(p1, p2) could be a Dirichlet and each

p(Σj) a Wishart prior.

Tommi Jaakkola, MIT AI Lab 5

Page 6: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Regularized EM: demo

Tommi Jaakkola, MIT AI Lab 6

Page 7: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Selecting the number of components

• As a simple strategy for selecting the appropriate number

of mixture components, we can find k that minimize the

following asymptotic approximation to the description length:

DL ≈ − log p(data|θ̂k) +dk

2log(n)

where n is the number of training points, θ̂k is the maximum

likelihood parameter estimate for the k-component mixture,

and dk is the (effective) number of parameters in the k-

mixture.

Tommi Jaakkola, MIT AI Lab 7

Page 8: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Extensions: hierarchical mixture models

• We have already used hierarchical mixture models in the digit

classification problem

Data generation model:

P(y=1) P(y=0)

P(c=1|y=1) P(c=3|y=0)

P(x|y=0,c=3)P(x|y=1,c=1) . . . . . .

It is not necessary for the top level division to be “observable”

as it is in this classification context.

Tommi Jaakkola, MIT AI Lab 8

Page 9: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Hierarchical mixture models cont’d

• To estimate such hierachical models from data, we have

to resolve which leaf (path) in the tree is responsible for

generating which data point

Only the E-step needs to be revised: the expectation over

assignments is now taken with respect to

P (y = j, c = k|x) =First level︷ ︸︸ ︷

P (y = j|x)Second level︷ ︸︸ ︷

P (c = k|y = j,x),

For example, for a hierarchical mixture of Gaussians, we

evaluate

J(θ; θ(t)) =n∑

i=1

E(j,k)∼P (j,k|xi,θ(t)) log

(pj pk|j p(xi|µj,k,Σj,k)

)

where pj and pk|j are the prior selection probabilities

Tommi Jaakkola, MIT AI Lab 9

Page 10: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Hierarchical mixture models cont’d

• Arranging the mixture components into a hierarchy is

useful only with additional “topological” constraints. The

hierarchical mixture (as stated previously) is otherwise

equivalent to a flat mixture.

To adequately reveal any

hierarchical organization in the

data, we have to prime the

model to find such structure.

– initialize parameters similarly

within branches

– tying parameters, etc.

x xxx

x

xx

xx x

xxxxx

xx x

xxx x

x xxx x

xxx

j=1j=0

j=1,k=2

j=1,k=1

j=0,k=1

j=0,k=2

Tommi Jaakkola, MIT AI Lab 10

Page 11: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Conditional mixtures: mixtures of experts

• Many regression or classification problems can be

decomposed into smaller (easier) sub problems

• Examples:

1. Dealing with style in handwritten character recognition

2. Dealing with dialect/accent in speech recognition

etc.

• Each sub-problem could be solved by a specific “expert”

• Unlike in ordinary mixtures, the selection of which expert to

rely on must depend on the context (i.e., the input x)

Tommi Jaakkola, MIT AI Lab 11

Page 12: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Experts

• Suppose we have several “experts” or component regression

models generating conditional Gaussian outputs

P (y|x, θi) = N(y; wTi x + wi0, σ2

i )

where

mean of y given x = wTi x + wi0

variance of y given x = σ2i

θi = {wi, wi0, σ2i } denotes the parameters of the ith expert.

• We need to find an appropriate way of allocating tasks to

these experts (linear regression models)

Tommi Jaakkola, MIT AI Lab 12

Page 13: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Mixtures of experts

Example:

−3 −2 −1 0 1 2 3−0.5

0

0.5

1

1.5

2

2.5

3

3.5

−3 −2 −1 0 1 2 30

0.2

0.4

0.6

0.8

1

• Here we need a switch or a gating network that selects the

appropriate expert (linear regression model) as a function of

the input x

Tommi Jaakkola, MIT AI Lab 13

Page 14: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Gating network

• A simple gating network is a probability distribution over the

choice of the experts conditional on the input x

• Example: in case of two experts (0 and 1), the gating

network can be a logistic regression model

P (expert = 1|x,v, v0) = g(vTx + v0 )

where g(z) = (1 + e−z)−1 is the logistic function.

• In case of m > 2 experts, the gating network can be a

softmax model

P (expert = j|x, η) =exp(vT

j x + vj0 )∑mj′=1 exp(vT

j′x + vj′0 )

where η = {v1, . . . ,vm, v10, . . . , vm0} are the parameters in

the gating network

Tommi Jaakkola, MIT AI Lab 14

Page 15: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Gating network cont’d

P (expert = j|x, η) =exp(vT

j x + vj0 )∑mj′=1 exp(vT

j′x + vj′0 )

x xxx

x

xx

xx x

xxxxx

xx x

xxx x

x xxx x

xxx

x xxx

x

xx

xx x

xxxxx

xx x

xxx x

x xxx x

xxx

Tommi Jaakkola, MIT AI Lab 15

Page 16: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Mixtures of experts model

• The probability distribution over the (regression) output y

given the input x is a conditional mixture model

P (y|x, θ, η) =m∑

j=1

P (expert = j|x, η) P (y|x, θj)

where η defines the parameters of the gating network (e.g.,

logistic) and θj are the parameters of each expert (e.g., linear

regression model).

P(expert=1|x) P(expert=0|x)

P(y | expert=1,x) P(y | expert=0,x)−3 −2 −1 0 1 2 3

−0.5

0

0.5

1

1.5

2

2.5

3

3.5

−3 −2 −1 0 1 2 30

0.2

0.4

0.6

0.8

1

• The allocation of experts is made conditionally on the input

Tommi Jaakkola, MIT AI Lab 16

Page 17: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Estimation of mixtures of experts

• The estimation would be again easy if we had the assignment

of which expert should account for which training example

• In other words, if we had {(x1, k1, y1), . . . , (xn, kn, yn)},where ki indicates the expert assigned to the ith example

1. Separately for each expert j

Find θj that maximizen∑

i=1: ki=j

log P (yi|xi, θj)

(linear regression based on points “labeled” j)

2. For the gating network

Find η that maximizen∑

i=1

log P (expert = ki|xi, η)

(softmax regression problem to predict the assignments)

Tommi Jaakkola, MIT AI Lab 17

Page 18: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Estimation of mixtures of experts

• Similarly to mixture models, we now have to evaluate the

posterior probability (here given both xi AND yi) that the

output came from a particular expert:

p̂(j|i) ← P (expert = j|xi, yi, η, θ)

=P (expert = j|xi, η) P (yi|xi, θj)∑m

j′=1 P (expert = j′|xi, η) P (yi|xi, θj′)

−3 −2 −1 0 1 2 3−1

−0.5

0

0.5

1

1.5

2

2.5

3

3.5

−3 −2 −1 0 1 2 30

0.2

0.4

0.6

0.8

1

Tommi Jaakkola, MIT AI Lab 18

Page 19: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Estimation of mixtures of experts

E-step: evaluate the posterior probabilities p̂(j|i) that

partially assign experts to training examples

M-step(s):

1. Separately for each expert j

Find θj that maximizen∑

i=1

p̂(j|i) log P (yi|xi, θj)

(weighted linear regression)

2. For the gating network

Find η that maximizen∑

i=1

m∑j=1

p̂(j|i) log P (expert = j|xi, η)

(weighted softmax regression)

Tommi Jaakkola, MIT AI Lab 19

Page 20: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Mixtures of experts: demo

Tommi Jaakkola, MIT AI Lab 20

Page 21: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Mixtures of experts: additional considerations

• Softmax gating network

P (expert = j|x, η) =exp(vT

j x + vj0 )∑mj′=1 exp(vT

j′x + vj′0 )

• Gaussian gating network

P (expert = j|x, η) =exp(−1

2(x− vj)TΣ−1j (x− vj) )∑m

j′=1 exp(−12(x− vj′)TΣ−1

j′ (x− vj′) )

What if Σ1 = . . . = Σm? Are these still different?

Tommi Jaakkola, MIT AI Lab 21

Page 22: Tommi S. Jaakkola MIT AI Lab · Tommi Jaakkola, MIT AI Lab 14. Gating network cont’d P(expert = j|x,η) = exp(vT j x+v j0) P m j0=1 exp(v Tx+v j00) x x x x x x x x x x x x x x x

Hierarchical mixtures of experts

• The “gates” can be arranged hierarchically:

P(j=1|x) P(j=0|x)

P(c=3|j=0,x)P(c=1|j=1,x)

P(y | j=0,c=3,x). . .. . .P(y | j=1,c=1,x)

where for example:

P (c = k|j = 1,x, ηj) =exp(vT

1kx + v1k0 )∑3k′=1 exp(vT

1k′x + v1k′0 )

• We can estimate these with the EM-algorithm similarly to

hierarchical mixture models

Tommi Jaakkola, MIT AI Lab 22