By Z.H. Fu
https://fuzihaofzh.github.io/blog/
The Goal of This Tutorial
EM (Expectation Maximization) algorithm is a widely used method when a model has hidden variables that cannot be observed from the dataset. In this tutorial, we focus on the outline and intuition of the EM algorithm. A Gaussian mixture model is studied as an example.
Gaussian Mixture Model
In the Gaussian mixture model, we assume that there are several generators which can generate samples from a Gaussian distribution. Each sample (denoted as x(i)=(x1,x2,...,xd)) of our data is sampled from one of the generators. We can only observe the position of each sample x and we don’t know for each sample x(i), which generator z(i) generate it. Here, z(i)={1,2,..,k} stand for the ID of each generator. For each generator j(j∈[1,k]), it generates samples by a Gaussian distribution with parameter μj,Σj. We use θ to denote all model parameters, θ=(μ1,μ2,...,μk,Σ1,Σ2,...,Σk,ϕ1,ϕ2,...,ϕk). Where ϕj is the probability of selecting jth generator and ∑j=ikϕj=1. The goal of Gaussian mixture model is to find a most suitable parameter θ to describe the data.