Just like EM of Gaussian Mixture Model, this is the EM algorithm for fitting Bernoulli Mixture Model.
GMM is useful for clustering real value data. However, for binary data (such as bag of word feature) Bernoulli Mixture is more suitable.
EM for Mixture of Bernoulli can be also viewed as an unsupervised version of Naive Bayes classifier, where the M step is Naive Bayes training and E step is Naive Bayes prediction.
This package is now a part of the PRML toolbox (http://www.mathworks.com/matlabcentral/fileexchange/55826-pattern-recognition-and-machine-learning-toolbox).
Create scripts with code, output, and formatted text in a single executable document.