File Exchange

image thumbnail

Fast EM_GM

version 1.0 (10.5 KB) by

An expectation maximization algorithm for learning a multi-dimensional Gaussian mixture.

7 Ratings



View License

EM_GM_fast is the modified version of EM_GM (EM algorithm for k multidimensional Gaussian mixture estimation) for speed enchancement suggested by Mr. Michael Boedigheimer. The functionalities of EM_GM_fast and EM_GM are identical.
Note: EM_GM_fast requires more memory than EM_GM to execute. If EM_GM_fast does not provide any speed gain or is slower than EM_GM, more memory is needed or EM_GM should be used instead.

Similar to EM_GM, EM_GM_fast is designed as a single file function (i.e. all sub functions are included in the same file) for convenience and portability.

Detail descriptions of all inputs and outputs are included in the file. EM_GM_fast can be controlled to plot 1D or 2D problems and display CPU time used as well as number of iterations.

X = zeros(600,2);
X(1:200,:) = normrnd(0,1,200,2);
X(201:400,:) = normrnd(0,2,200,2);
X(401:600,:) = normrnd(0,3,200,2);
[W,M,V,L] = EM_GM_fast(X,3,[],[],1,[])

Comments and Ratings (9)


How can I apply this to a 3D brain image. (e.g. dimension: 170*170*170)??



CT (view profile)

Hi Patrick,

I'm using your EM_GM_fast code. Could you please tell me is there the option that permits to estimate Gaussian mixtures with diagonal covariance matrices? Thank you.

Cong-Thanh Do

J Chi

Thank you!

Nash Borges

Noticed something that may be incorrect. When using multiple mixtures, you cannot compute the log likelihood of all of the data under each mixture and then just sum them. You need to do the sum before going into the log domain. Or use an approximation:

Hassen Drira

Nicholas Michael

This implementation, although very fast and useful, unfortunately doesn't detect and prevent the collapse of a mixture component, resulting in divisions by zero, if the number of initial components selected is suboptimal.

noryanti muhammad

tijani dalleji



Just updating the license.

Only the title is modified to describe this function better.

MATLAB Release
MATLAB 6.5 (R13)

Inspired by: EM_GM

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video