Docs
Loading...
Searching...
No Matches
GaussianMixtureModel_likelihood Class Reference

#include <GaussianMixtureModel_likelihood.hpp>

Inheritance diagram for GaussianMixtureModel_likelihood:
Likelihood

Classes

struct  ClusterStats

Public Member Functions

 GaussianMixtureModel_likelihood (const Data &data, const GaussianMixtureModel_params &params)
 ~GaussianMixtureModel_likelihood ()=default
double cluster_loglikelihood (int cluster_index) const override
 Computes the log-likelihood for a cluster.
double cluster_loglikelihood (int cluster_index, const Eigen::Ref< const Eigen::VectorXi > &cluster_areas) const override
 Computes the log-likelihood for a cluster with given assignments.
double point_loglikelihood_cond (int point_index, int cluster_index) const override
 Conditional log-likelihood of a point in a particular cluster.
Public Member Functions inherited from Likelihood
 Likelihood (const Data &data)
virtual double clusters_loglikelihood (int c1, int c2) const
 Computes the joint log-likelihood for two clusters.
virtual ~Likelihood ()=default

Private Member Functions

ClusterStats compute_stats (const Eigen::Ref< const Eigen::VectorXi > &cluster_areas) const
ClusterStats compute_area_stats (int area_index) const
double log_marginal_likelihood (const ClusterStats &stats) const
double log_predictive_from_stats (const ClusterStats &stats, const ClusterStats &area_stats) const

Private Attributes

const GaussianMixtureModel_params & params
const double log_2pi
const double lgamma_alpha0

Additional Inherited Members

Protected Attributes inherited from Likelihood
const Data & data
 Reference to Data object with distances and allocations.

Constructor & Destructor Documentation

◆ GaussianMixtureModel_likelihood()

GaussianMixtureModel_likelihood::GaussianMixtureModel_likelihood ( const Data & data,
const GaussianMixtureModel_params & params )

◆ ~GaussianMixtureModel_likelihood()

GaussianMixtureModel_likelihood::~GaussianMixtureModel_likelihood ( )
default

Member Function Documentation

◆ cluster_loglikelihood() [1/2]

double GaussianMixtureModel_likelihood::cluster_loglikelihood ( int cluster_index) const
overridevirtual

Computes the log-likelihood for a cluster.

Parameters
cluster_indexIndex of the cluster to evaluate
Returns
Total log-likelihood of the cluster
Note
Useful for split-merge algorithms

Implements Likelihood.

◆ cluster_loglikelihood() [2/2]

double GaussianMixtureModel_likelihood::cluster_loglikelihood ( int cluster_index,
const Eigen::Ref< const Eigen::VectorXi > & cls_ass_k ) const
overridevirtual

Computes the log-likelihood for a cluster with given assignments.

Parameters
cluster_indexIndex of the cluster to evaluate
cls_ass_kVector of point indices in the cluster
Returns
Total log-likelihood of the cluster
Note
Useful for split-merge algorithms

Implements Likelihood.

◆ compute_area_stats()

GaussianMixtureModel_likelihood::ClusterStats GaussianMixtureModel_likelihood::compute_area_stats ( int area_index) const
private

◆ compute_stats()

GaussianMixtureModel_likelihood::ClusterStats GaussianMixtureModel_likelihood::compute_stats ( const Eigen::Ref< const Eigen::VectorXi > & cluster_areas) const
private

◆ log_marginal_likelihood()

double GaussianMixtureModel_likelihood::log_marginal_likelihood ( const ClusterStats & stats) const
private

◆ log_predictive_from_stats()

double GaussianMixtureModel_likelihood::log_predictive_from_stats ( const ClusterStats & stats,
const ClusterStats & area_stats ) const
private

◆ point_loglikelihood_cond()

double GaussianMixtureModel_likelihood::point_loglikelihood_cond ( int point_index,
int cluster_index ) const
overridevirtual

Conditional log-likelihood of a point in a particular cluster.

Parameters
point_indexIndex of the point to evaluate
cluster_indexIndex of the cluster
Returns
Conditional log-likelihood
Note
Useful for Gibbs sampling

Implements Likelihood.

Member Data Documentation

◆ lgamma_alpha0

const double GaussianMixtureModel_likelihood::lgamma_alpha0
private

◆ log_2pi

const double GaussianMixtureModel_likelihood::log_2pi
private

◆ params

const GaussianMixtureModel_params& GaussianMixtureModel_likelihood::params
private

The documentation for this class was generated from the following files: