Docs
Loading...
Searching...
No Matches
GaussianMixtureModel_likelihood.hpp
Go to the documentation of this file.
1#pragma once
2
5
7private:
9
10 const double log_2pi;
11 const double lgamma_alpha0;
12
13 struct ClusterStats {
14 int n = 0;
15 double sum = 0.0;
16 double sumsq = 0.0;
17 };
18
20 compute_stats(const Eigen::Ref<const Eigen::VectorXi> &cluster_areas) const;
21 ClusterStats compute_area_stats(int area_index) const;
22 double log_marginal_likelihood(const ClusterStats &stats) const;
23 double log_predictive_from_stats(const ClusterStats &stats,
24 const ClusterStats &area_stats) const;
25
26public:
30
31 double cluster_loglikelihood(int cluster_index) const override;
33 int cluster_index,
34 const Eigen::Ref<const Eigen::VectorXi> &cluster_areas) const override;
35 double point_loglikelihood_cond(int point_index,
36 int cluster_index) const override;
37};
Parameter management for Gaussian Mixture Model likelihood.
Abstract base class for likelihood computation in clustering models.
Manages distance matrices and cluster allocations for points.
Definition Data.hpp:26
const double lgamma_alpha0
Definition GaussianMixtureModel_likelihood.hpp:11
double log_marginal_likelihood(const ClusterStats &stats) const
Definition GaussianMixtureModel_likelihood.cpp:54
double point_loglikelihood_cond(int point_index, int cluster_index) const override
Conditional log-likelihood of a point in a particular cluster.
Definition GaussianMixtureModel_likelihood.cpp:103
ClusterStats compute_area_stats(int area_index) const
Definition GaussianMixtureModel_likelihood.cpp:27
double log_predictive_from_stats(const ClusterStats &stats, const ClusterStats &area_stats) const
Definition GaussianMixtureModel_likelihood.cpp:80
const double log_2pi
Definition GaussianMixtureModel_likelihood.hpp:10
const GaussianMixtureModel_params & params
Definition GaussianMixtureModel_likelihood.hpp:8
GaussianMixtureModel_likelihood(const Data &data, const GaussianMixtureModel_params &params)
Definition GaussianMixtureModel_likelihood.cpp:16
double cluster_loglikelihood(int cluster_index) const override
Computes the log-likelihood for a cluster.
Definition GaussianMixtureModel_likelihood.cpp:89
ClusterStats compute_stats(const Eigen::Ref< const Eigen::VectorXi > &cluster_areas) const
Definition GaussianMixtureModel_likelihood.cpp:41
const Data & data
Reference to Data object with distances and allocations.
Definition Likelihood.hpp:28
Likelihood(const Data &data)
Definition Likelihood.hpp:31
Definition GaussianMixtureModel_likelihood.hpp:13
double sumsq
Definition GaussianMixtureModel_likelihood.hpp:16
int n
Definition GaussianMixtureModel_likelihood.hpp:14
double sum
Definition GaussianMixtureModel_likelihood.hpp:15
Parameters for a univariate Gaussian Mixture Model with Normal-Inverse-Gamma conjugate priors.
Definition GaussianMixtureModel-params.hpp:17