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).
Mo Chen (2019). EM for Mixture of Bernoulli (Unsupervised Naive Bayes) for clustering binary data (https://www.mathworks.com/matlabcentral/fileexchange/55882-em-for-mixture-of-bernoulli-unsupervised-naive-bayes-for-clustering-binary-data), MATLAB Central File Exchange. Retrieved .