Maximum Likelihood (ML), Expectation Maximization (EM)

Presentation on theme: "Maximum Likelihood (ML), Expectation Maximization (EM)"— Presentation transcript:

Maximum Likelihood (ML), Expectation Maximization (EM)
Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAAAAAAA

Outline Maximum likelihood (ML) Priors, and maximum a posteriori (MAP)
Cross-validation Expectation Maximization (EM)

Thumbtack Let µ = P(up), 1-µ = P(down) How to determine µ ?
Empirical estimate: 8 up, 2 down 

Maximum Likelihood µ = P(up), 1-µ = P(down) Observe:
Likelihood of the observation sequence depends on µ: Maximum likelihood finds extrema at µ = 0, µ = 1, µ = 0.8 Inspection of each extremum yields µML = 0.8

Maximum Likelihood More generally, consider binary-valued random variable with µ = P(1), 1-µ = P(0), assume we observe n1 ones, and n0 zeros Likelihood: Derivative: Hence we have for the extrema: n1/(n0+n1) is the maximum = empirical counts.

Log-likelihood The function
is a monotonically increasing function of x Hence for any (positive-valued) function f: In practice often more convenient to optimize the log- likelihood rather than the likelihood itself Example:

Log-likelihood  Likelihood
Reconsider thumbtacks: 8 up, 2 down Likelihood Definition: A function f is concave if and only Concave functions are generally easier to maximize then non-concave functions log-likelihood Not Concave Concave

Concavity and Convexity
f is concave if and only “Easy” to maximize f is convex if and only “Easy” to minimize x1 x2 x1 x2 ¸ x2+(1-¸)x2 ¸ x2+(1-¸)x2

ML for Multinomial Consider having received samples
\theta^{\rm ML} can be found through solving a linear system Perhaps this derivation is easier with Lagrange multipliers; but those are to be covered later in the course only…

ML for Fully Observed HMM
Given samples Dynamics model: Observation model:  Independent ML problems for each and each

ML for Exponential Distribution
Source: wikipedia Consider having received samples 3.1, 8.2, 1.7 ll

ML for Exponential Distribution
Source: wikipedia Consider having received samples

ML for Gaussian Consider having received samples

ML for Conditional Gaussian
Equivalently: More generally:

ML for Conditional Gaussian

ML for Conditional Multivariate Gaussian
To find C: notice that there is effectively twice the same equation: the equation formed by terms 1 and 4, and by 2 and 3, which are the transposes of each other. So if we can solve one of these equations, we are done. Solving is easy to (assuming \Sigma and X^\top X full rank, of course)

Aside: Key Identities for Derivation on Previous Slide

ML Estimation in Fully Observed Linear Gaussian Bayes Filter Setting
Consider the Linear Gaussian setting: Fully observed, i.e., given  Two separate ML estimation problems for conditional multivariate Gaussian: 1: 2:

Priors --- Thumbtack Let µ = P(up), 1-µ = P(down) How to determine µ ?
ML estimate: 5 up, 0 down  Laplace estimate: add a fake count of 1 for each outcome

Priors --- Thumbtack Alternatively, consider $µ$ to be random variable
Prior P(µ) / µ(1-µ) Measurements: P( x | µ ) Posterior: Maximum A Posterior (MAP) estimation = find µ that maximizes the posterior

Priors --- Beta Distribution
Figure source: Wikipedia

Priors --- Dirichlet Distribution
Generalizes Beta distribution MAP estimate corresponds to adding fake counts n1, …, nK

MAP for Mean of Univariate Gaussian
Assume variance known. (Can be extended to also find MAP for variance.) Prior:

MAP for Univariate Conditional Linear Gaussian
Assume variance known. (Can be extended to also find MAP for variance.) Prior: [Interpret!]

MAP for Univariate Conditional Linear Gaussian: Example
for run=1:4 a = randn; b = randn; x = (rand(5,1) - 0.5); y = a*x + b + randn(5,1); X = [ones(5,1) x]; ba_ML = (X'*X)^(-1)*X'*y; ba_MAP = (eye(2) + X'*X)^(-1)*(X'*y); figure; plot(x, y, '.'); hold on; plot(x, ba_ML(1) + ba_ML(2)*x, 'r-'); plot(x, ba_MAP(1) + ba_MAP(2)*x, 'k-'); plot(x, b + a*x, 'g-'); end TRUE --- Samples . ML --- MAP ---

Prior for Multivariate Conditional Linear Gaussian

Cross Validation Choice of prior will heavily influence quality of result Fine-tune choice of prior through cross-validation: 1. Split data into “training” set and “validation” set 2. For a range of priors, Train: compute µMAP on training set Cross-validate: evaluate performance on validation set by evaluating the likelihood of the validation data under µMAP just found 3. Choose prior with highest validation score For this prior, compute µMAP on (training+validation) set Typical training / validation splits: 1-fold: 70/30, random split 10-fold: partition into 10 sets, average performance for each of the sets being the validation set and the other 9 being the training set

Outline Maximum likelihood (ML) Priors, and maximum a posteriori (MAP)
Cross-validation Expectation Maximization (EM)

Mixture of Gaussians Generally: Example:
ML Objective: given data z(1), …, z(m) Setting derivatives w.r.t. µ, ¹, § equal to zero does not enable to solve for their ML estimates in closed form We can evaluate function  we can in principle perform local optimization, see future lectures. In this lecture: “EM” algorithm, which is typically used to efficiently optimize the objective (locally)

Expectation Maximization (EM)
Example: Model: Goal: Given data z(1), …, z(m) (but no x(i) observed) Find maximum likelihood estimates of ¹1, ¹2 EM basic idea: if x(i) were known  two easy-to-solve separate ML problems EM iterates over E-step: For i=1,…,m fill in missing data x(i) according to what is most likely given the current model ¹ M-step: run ML for completed data, which gives new model ¹

EM Derivation EM solves a Maximum Likelihood problem of the form:
µ: parameters of the probabilistic model we try to find x: unobserved variables z: observed variables Jensen’s Inequality

Jensen’s inequality Illustration: P(X=x1) = 1-¸, P(X=x2) = ¸ x1
E[X] = ¸ x2+(1-¸)x2 Illustration: P(X=x1) = 1-¸, P(X=x2) = ¸

EM Derivation (ctd) Jensen’s Inequality: equality holds when is an affine function. This is achieved for EM Algorithm: Iterate 1. E-step: Compute 2. M-step: Compute M-step optimization can be done efficiently in most cases E-step is usually the more expensive step It does not fill in the missing data x with hard values, but finds a distribution q(x)

EM Derivation (ctd) M-step objective is upper- bounded by true objective M-step objective is equal to true objective at current parameter estimate  Improvement in true objective is at least as large as improvement in M-step objective

EM 1-D Example --- 2 iterations
Estimate 1-d mixture of two Gaussians with unit variance: one parameter ¹ ; ¹1 = ¹ - 7.5, ¹2 = ¹+7.5 % true distribution: 3/4 N(-2,1) + 1/4 N(2,1) clear; clc; close all; offset = 5; middle = 0; mu1 = middle-offset/2; mu2 = middle+offset/2; sigma1 = 1; sigma2 = 1; theta1 = 1/2; theta2 = 1/2; x_for_plotting = middle-offset:0.01:middle+offset; y_for_plotting = theta1*N(x_for_plotting, mu1, sigma1) ... + theta2*N(x_for_plotting, mu2, sigma2); figure; plot(x_for_plotting, y_for_plotting); xlabel('x'); ylabel('probability density'); N_samples = 20; samples1 = (randn(1, theta1*N_samples)-.5)*2*sigma1 + mu1; samples2 = (randn(1, theta2*N_samples)-.5)*2*sigma2 + mu2; samples = [samples1 samples2]; figure; plot(samples, zeros(size(samples)), 'x'); axis([min(samples) max(samples) 0 1]); % parameterized distribution: 3/4 N(mu, 1) + 1/4 N(mu+offset,1) % ML problem: find best mu offset0 = offset+10; % what we try to fit to the data: xx_for_plotting = -offset0:0.1:offset0; yy_for_plotting = theta1*N(xx_for_plotting, -offset0/2, sigma1) + theta2*N(xx_for_plotting, offset0/2, sigma2); figure; plot(xx_for_plotting, yy_for_plotting); % let's plot overall landscape: mu_for_plotting = 4*x_for_plotting; for i=1:length(mu_for_plotting) ML_objective(i) = sum(log(theta1*N(samples, mu_for_plotting(i)-offset0/2, sigma1) ... + theta2*N(samples, mu_for_plotting(i)+offset0/2, sigma2))); end figure; plot(mu_for_plotting, ML_objective); xlabel('mu'); ylabel('log-likelihood'); %init: mu = middle; for em_iter = 1:2%:20 mus(em_iter) = mu; for i=1:length(samples) p1(i) = theta1*N(samples(i), mu-offset0/2, sigma1); p2(i) = theta2*N(samples(i), mu+offset0/2, sigma2); z = p1+p2; p1 = p1./z; p2 = p2./z; EM_bound(i) = sum(p1.*(log(theta1)+logN(samples, mu_for_plotting(i)-offset0/2, sigma1)) ... + p2.*(log(theta2)+logN(samples, mu_for_plotting(i)+offset0/2, sigma2))) - sum(p1.*log(p1) + p2.*log(p2)); % figure; plot(mu_for_plotting, ML_objective); xlabel('mu'); ylabel('log-likelihood'); hold on; plot(mu_for_plotting, EM_bound, 'r'); axis([min(mu_for_plotting) max(mu_for_plotting) min(ML_objective) max(ML_objective)]); ll(em_iter) = sum(log(theta1*N(samples, mu-offset0/2, sigma1) ... + theta2*N(samples, mu+offset0/2, sigma2))); plot(mu, ll(em_iter), 'kx'); mu = (p1*(samples+offset0/2)' + p2*(samples-offset0/2)')/N_samples; figure; plot(ll);

EM for Mixture of Gaussians
X ~ Multinomial Distribution, P(X=k ; µ) = µk Z ~ N(¹k, §k) Observed: z(1), z(2), …, z(m)

EM for Mixture of Gaussians
E-step: M-step:

EM Run for Mixture of Gaussians
Debugging tip: check log-likelihood score for each step! should increase, otherwise BUG! TODO

ML Objective HMM Given samples Dynamics model: Observation model:
No simple decomposition into independent ML problems for each and each No closed form solution found by setting derivatives equal to zero

ML Objective HMM ML objective:
Can efficiently evaluate by running (forward) filter + minor additional computation: Forward filter: for t=0, 1, …, T-1 We can evaluate function  we can in principle perform local optimization, see future lectures. In this lecture: “EM” algorithm, which is typically used to efficiently optimize the objective (locally)

EM for HMM --- M-step µ and ° computed from “soft” counts

EM for HMM --- E-step No need to find conditional full joint
Run smoother to find:

EM Example for HMM TODO: make this slide

ML Objective for Linear Gaussians
Linear Gaussian setting: Given ML objective: EM-derivation: same as HMM

EM Derivation for Linear Gaussians
TODO type this out (perhaps)

EM for Linear Gaussians --- E-Step
Forward: Backward:

EM for Linear Gaussians --- M-step
[Updates for A, B, C, d. TODO: Fill in once found/derived.]

EM for Linear Gaussians --- The Log-likelihood
When running EM, it can be good to keep track of the log- likelihood score --- it is supposed to increase every iteration

EM for Extended Kalman Filter Setting
As the linearization is only an approximation, when performing the updates, we might end up with parameters that result in a lower (rather than higher) log-likelihood score  Solution: instead of updating the parameters to the newly estimated ones, interpolate between the previous parameters and the newly estimated ones. Perform a “line- search” to find the setting that achieves the highest log- likelihood score

EM Example for Linear Gaussians
TODO