Docs
Loading...
Searching...
No Matches
Likelihood.hpp
Go to the documentation of this file.
1
12
13#pragma once
14
15#include "Data.hpp"
16#include "Params.hpp"
17
28protected:
29 const Data &data;
30 const Params &params;
31
32public:
33 Likelihood(const Data &data, const Params &param) : data(data), params(param) {}
34
41
42 virtual double cluster_loglikelihood(int cluster_index) const = 0;
43
51
52 virtual double cluster_loglikelihood(int cluster_index,
53 const Eigen::Ref<const Eigen::VectorXi> &cls_ass_k) const = 0;
54
62
63 virtual double point_loglikelihood_cond(int point_index, int cluster_index) const = 0;
64
65 virtual ~Likelihood() = default;
66};
Data structure for managing point distances and cluster allocations.
Parameter management for Bayesian nonparametric MCMC models.
Manages distance matrices and cluster allocations for points.
Definition Data.hpp:27
virtual double point_loglikelihood_cond(int point_index, int cluster_index) const =0
Conditional log-likelihood of a point in a particular cluster.
Likelihood(const Data &data, const Params &param)
Definition Likelihood.hpp:33
const Data & data
Reference to Data object with distances and allocations.
Definition Likelihood.hpp:29
virtual double cluster_loglikelihood(int cluster_index, const Eigen::Ref< const Eigen::VectorXi > &cls_ass_k) const =0
Computes the log-likelihood for a cluster with given assignments.
virtual ~Likelihood()=default
virtual double cluster_loglikelihood(int cluster_index) const =0
Computes the log-likelihood for a cluster.
const Params & params
Reference to model parameters.
Definition Likelihood.hpp:30
Structure containing all parameters needed for the NGGP (Normalized Generalized Gamma Process) and DP...
Definition Params.hpp:35