Gaussian mixture model--maximum likelihood

5 views (last 30 days)
i Venky
i Venky on 16 Oct 2011
Edited: 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?

Answers (4)

Walter Roberson
Walter Roberson on 16 Oct 2011
Edited: John Kelly on 27 Feb 2015
I would suggest reading the File Exchange contribution http://www.mathworks.com/matlabcentral/fileexchange/18785
  3 Comments
i Venky
i Venky on 16 Oct 2011
I tried that file and it didn't work.
Walter Roberson
Walter Roberson on 17 Oct 2011
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.

Sign in to comment.


i Venky
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.

i Venky
i Venky on 17 Oct 2011
Someone please answer my question.
  3 Comments
i Venky
i Venky on 4 Nov 2011
Okay. After a long time I am coming back here. What's the answer?
Jan
Jan on 4 Nov 2011
@i Venky: Walter asked: "What happened when you tried that file?"

Sign in to comment.


Walter Roberson
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.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!