File Exchange

## Gaussian Mixture Modeling GUI (GMM DEMO)

version 1.2 (563 KB) by

GUI for an Expectation-Maximization algorithm (EM) variant (Split-EM-Discriminant)

Updated

The Expectation-Maximization algorithm (EM) is widely used to find the parameters of a mixture of Gaussian probability density functions (pdfs) or briefly Gaussian components that fits the sample measurement vectors in maximum likelihood sense [1]. In our work, the expectation-maximization (EM) algorithm for Gaussian mixture modeling is improved via three statistical tests:
a) A multivariate normality test,
b) a central tendency (kurtosis) criterion, and
c) a test based on marginal cdf to find a discriminant to split a non-Gaussian component.

-Input Buttons
Button 1: Open Data file (.mat) or (.tif)
Button 2: Draw Gaussian Data with Mouse
Left mbutton = Draw
Right mbutton = Jump a point
Return key = Finish

-Operational Buttons
Button 3: Start GMM modeling
Button 4: Stop GMM modeling

-Output Button
Button 5: Save GMM parameters as a .mat file

Requirements:
The DEMO was writen in Matlab 7.5 and Windows XP.

References:
Dimitrios Ververidis and Constantine Kotropoulos, "Gaussian mixture modeling by exploiting the Mahalanobis distance," IEEE Trans. Signal Processing, vol. 56, issue 7B, pp. 2797-2811, 2008.

T. Anderson. An Introduction to Multivariate Statistical Analysis. J. Wiley & Sons: N.Y., 1984.

vanie

### vanie (view profile)

when iwas trying to run the main project (which can read 3D dataset), an error happen
-------------------------------------------------
??? Input argument "Patterns" is undefined.

Error in ==> PropEMPdfEstim at 22
[NPatterns,Dim] = size(Patterns);
-------------------------------------------------
what is Pattern?

vanie

### vanie (view profile)

thanks for you work, its cool and helpfull,may i ask you something, what shoul i do if my data is 3D??

Lakshmi

### Lakshmi (view profile)

Hi, I'm probably doing something wrong though it isn't obvious to me.

When I try to import a mat file which contains just an N x 2 data matrix it chokes:

??? Index exceeds matrix dimensions.

Error in ==> DEMO_GMM>ViewPatterns at 135
plot(patterns(:,1)', patterns(:,2)','k.', 'MarkerSize', 2);

Error in ==> DEMO_GMM>OpenDataFile_ClickedCallback at 59
ViewPatterns(handles)

.
.
.

Am I missing something? Is the input more special than an N x 2 matrix?

houda

### houda (view profile)

##### MATLAB Release
MATLAB 7.5 (R2007b)

Play today