[mlpack-svn] [MLPACK] #211: Suggested additional functionality to GMM
MLPACK Trac
trac at coffeetalk-1.cc.gatech.edu
Mon Mar 26 15:43:00 EDT 2012
#211: Suggested additional functionality to GMM
-----------------------------------+----------------------------------------
Reporter: Adam | Owner:
Type: enhancement | Status: new
Priority: major | Milestone:
Component: mlpack | Resolution:
Keywords: GMM, EM, IGMM, DPGMM | Blocking:
Blocked By: |
-----------------------------------+----------------------------------------
Comment (by rcurtin):
The way to do this would be to modify the GMM class to take a template
class for the clustering:
{{{
class GMM {
// ...
template<typename ClusteringMethod = EMCluster> // or some similar name
void Estimate(const arma::mat& observations);
// ...
}
}}}
and then in the class,
{{{
template<typename ClusteringMethod>
void GMM::Estimate(const arma::mat& observations)
{
// All of the hard work is done by the clustering method.
// Maybe some other administrivia goes in this method.
// We should have to tell the clustering method where to store its
results.
ClusteringMethod::Cluster(observations, means, covariances, weights);
}
}}}
or something similar to that. I can easily split off the EM algorithm
into its own file, but I don't have time to implement the IGMM training as
a separate class, unfortunately. If you are interested in doing that
implementation, we'll just have to agree on a uniform API call to
`ClusteringMethod::Cluster()` and then you'll need to write the
`IGMMClustering` class (or whatever name might suit it better) and I'll
take care of integrating it all.
There is a very old L2 loss implementation of GMM training floating around
this lab somewhere; if we move forward with this I'll have to see if I can
dig it out of its grave.
--
Ticket URL: <http://trac.research.cc.gatech.edu/fastlab/ticket/211#comment:1>
MLPACK <www.fast-lab.org>
MLPACK is an intuitive, fast, and scalable C++ machine learning library developed by the FASTLAB at Georgia Tech under Dr. Alex Gray.
More information about the mlpack-svn
mailing list