4 #include "../exception/invalidruntimeconfigurationexception.h"
5 #include "../distribution/distribution.h"
6 #include "../point/pointgauss.h"
8 #include "../point/point.h"
9 #include "../point/matrix.h"
25 PointGMM(std::vector<double>
const&, std::vector<PointGauss>
const&);
37 virtual double nll(
Point const& x)
const;
43 template<
typename RndEngine>
Point draw(RndEngine&)
const;
50 template<
typename RndEngine>
53 size_t k = this->
weights.size();
57 std::uniform_real_distribution<> urd(0, 1);
virtual double density(Point const &x) const
Evaluates the density of the GMM distribution at the given point x.
virtual double nll(Point const &x) const
Computes the negative log-likelihood of the density at the given point x.
PointGMM(std::vector< double > const &, std::vector< PointGauss > const &)
std::vector< double > weights
Point draw(RndEngine &) const
virtual double minNLL(Point const &x) const
Weighted point of arbitrary dimension.
Gaussian Mixture Model distribution.
Abstract base class for probability distributions.
std::vector< PointGauss > gaussians
Indicates that a computation entered an invalid configuration state.
virtual double minSquaredMahalanobis(Point const &x) const