MATLAB Answers


Gaussian mixture model--maximum likelihood

Asked by i Venky on 16 Oct 2011
Latest activity Edited by John Kelly on 27 Feb 2015
    I have 3 classes and I modeled the GMM for those classes with 12 components for each model. 

Now I have a data from one of the 3 classes. I want to find out the class that the data belongs to. I tried finding out the likelihood but I don't know how to proceed next to make the decision.

I have about 12 likelihood values for each class. What should I do next?


Log in to comment.

4 Answers

Answer by Walter Roberson
on 16 Oct 2011
Edited by John Kelly on 27 Feb 2015

I would suggest reading the File Exchange contribution


Which method is best suitable for voice recognition?

I tried that file and it didn't work.

What happened when you tried that file?

I never make a statement about which technique is "best" for something. There are always other techniques that I haven't heard of, or perhaps which have not been invented yet, or which might happen to be faster or more accurate for your *particular* situation even if they are provably less accurate in general. The concept of "best" means different things to different people. For example, you probably would not think very much of a technique that could promise 100% accuracy but took 17.89 million years to execute.

Log in to comment.

Answer by i Venky on 16 Oct 2011

 I have only one doubt. I have about 12 means for every class and when I compare it with the given data (and find the log likelihood) I get about 12 values for every class. If it was only one value for a class then I would just find the maximum value but here I have about 12 values so I got confused.


Log in to comment.

Answer by i Venky on 17 Oct 2011

Someone please answer my question.


My team of substitute sleepers get Sunday evening off, so I have to do the sleeping myself.

Okay. After a long time I am coming back here. What's the answer?

@i Venky: Walter asked: "What happened when you tried that file?"

Log in to comment.

Answer by Walter Roberson
on 4 Nov 2011

What you should do is apply a distance function to find the "distance" between any given sample and the centroids of the 3 classes. The class with the lowest distance has the greatest probability of being the class the sample is a member of.

A simple distance function is Euclidean distance. It is not used that much in classification questions: instead more common is to use a metric that takes in to account the covariance matrices. For example, using the Anderson-Bahadur metric is common.


Log in to comment.

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!