MPI Implementation of Expectation Maximization Algorithm for Gaussian Mixture Models
Gaussian Mixture Model (GMM) is a mathematical model represented by a mixture of Gaussian distributions, each with their own mean and variance parameters. In applications like speaker recognition, where the GMM is to be trained on hundred thousand of data points for several different speakers, training a GMM becomes computationaly intensive and requires long time to train. One way to solve this problem is by implementing a parallel algorithm for training the GMM. In this paper, we present a parallel algorithm for Expectation Maximization using the message passing paradigm, laying the emphasis on data parallelism. Our results show that our parallel algorithm when applied to an input of 200,000 points for a 8 dimensional Gaussian mixture model having 128 components takes 81.86 seconds on 128 cores which is about 92 times faster than the serial implementation.