How to use Gaussian Mixture Models for clustering new data? I applied Gaussian Mixture Model on my data and train the model in MATLAB. How I can test my model or use it to cluster new data?
Thanks for any answer or comment.
 A: In order to validate your model, you need a separate set of samples, for which the class membership is known, which wasn't used for training. And then you calculate the recognition rate on that set.
In order to see to cluster new data, once you have trained our GMM, you just need to calculate the mixture component for which the samples is most likely to belong to (i.e. argmax$_{k} p(C_{k}|x)$). Basically you just need to apply the Bayes theorem. Your GMM models the distribution of x,
$$p(x) = \sum_{k}p(C_{k})p(x|C_{k})$$
where $p(x|C_{k})$ corresponds to each of the Gaussians, and $p(C_{k})$ the mixing coefficients.
A: I like the idea of inverting it.  Given an input, you can have the GMM output membership probability for each of the components.  The highest probability would be the model with highest likelihood of membership.  
Numeric folks and Statistics folks don't talk much, and that is a sad thing.  In stats there is an idea of capability, Cpk.  (http://www.itl.nist.gov/div898/handbook/pmc/section1/pmc16.htm)  Our GMMs don't tell us their "capability".  It makes using them for clustering a bit messy.  Assumption rich?
It might be a good idea to look at the places where each component "overlaps" in probability with the others.  If the probability there is above something very small, 0.001%, then you have a probability of misclassification.  You should think through this a bit and come up with a value that gives type-1 and type-2 error rates that you can be comfortable with.  This sort of a health-measure for GMM's would the tell you if you have the right kind of separation in your variables to think that you CAN cluster new data with good reliability.  
A: I am sorry I can't answer regarding MATLAB. If you were working in Mplus, you could estimate your model in the training set. Then run the model using new data, this time fully specifying the model paramters that you just estimated. Mplus will then "esimtate" the model in the new data, and part of that process is to calculate the posterior probabilities of membership in each class for all the observations. 
