23 #ifndef __MLPACK_METHODS_MOG_MOG_EM_HPP
24 #define __MLPACK_METHODS_MOG_MOG_EM_HPP
88 template<
typename FittingType = EMFit<> >
116 Log::Debug <<
"GMM::GMM(): no parameters given; Estimate() may fail "
117 <<
"unless parameters are set." << std::endl;
128 gaussians(gaussians),
129 dimensionality(dimensionality),
130 means(gaussians, arma::vec(dimensionality)),
131 covariances(gaussians, arma::mat(dimensionality, dimensionality)),
149 gaussians(gaussians),
150 dimensionality(dimensionality),
151 means(gaussians, arma::vec(dimensionality)),
152 covariances(gaussians, arma::mat(dimensionality, dimensionality)),
169 covariances(covariances),
190 covariances(covariances),
197 template<
typename OtherFittingType>
209 template<
typename OtherFittingType>
224 void Load(
const std::string& filename);
231 void Save(
const std::string& filename)
const;
246 const std::vector<arma::vec>&
Means()
const {
return means; }
271 double Probability(
const arma::vec& observation)
const;
281 const size_t component)
const;
313 double Estimate(
const arma::mat& observations,
314 const size_t trials = 1,
315 const bool useExistingModel =
false);
341 double Estimate(
const arma::mat& observations,
342 const arma::vec& probabilities,
343 const size_t trials = 1,
344 const bool useExistingModel =
false);
362 void Classify(
const arma::mat& observations,
363 arma::Col<size_t>& labels)
const;
376 const std::vector<arma::vec>&
means,
377 const std::vector<arma::mat>& covars,
378 const arma::vec&
weights)
const;
391 #include "gmm_impl.hpp"