File Exchange

image thumbnail

Gaussian Mixture Modeling GUI (GMM DEMO)

version 1.2 (563 KB) by

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

24 Downloads

Updated

View License

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.

Comments and Ratings (4)

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

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)

Updates

1.2

Description improved, Credits menu added.

1.1

Credits menu is added to help menu

MATLAB Release
MATLAB 7.5 (R2007b)

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

» Watch video