mlpack::gmm::Estimate() estimates the probability distribution directly from the given observations, using the given algorithm in the FittingType class to fit the data. The fitting will be performed 'trials' times; from these trials, the model with the greatest log-likelihood will be selected. By default, only one trial is performed. The log-likelihood of the best fitting is returned.
[sourcecode language="cpp"]
template<typename FittingType = EMFit<>>
double mlpack::gmm::GMM< FittingType >::Estimate(
const arma::mat & observations, // Observations of the model.
const size_t trials = 1, // Number of trials to perform; the model in these trials with the greatest log-likelihood will be selected.
const bool useExistingModel = false // If true, the existing model is used as an initial model for the estimation.
)
[/sourcecode]
taking into account the probability of each observation actually being from this distribution
[sourcecode language="cpp"]
template<typename FittingType = EMFit<>>
double mlpack::gmm::GMM< FittingType >::Estimate(
const arma::mat & observations, // Observations of the model.
const arma::vec & probabilities, // Probability of each observation being from this distribution.
const size_t trials = 1, // Number of trials to perform; the model in these trials with the greatest log-likelihood will be selected.
const bool useExistingModel = false // If true, the existing model is used as an initial model for the estimation.
)
[/sourcecode]