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
27protected:
28 const Data &data;
29
30public:
32
39
40 virtual double cluster_loglikelihood(int cluster_index) const = 0;
41
49
50 virtual double cluster_loglikelihood(
51 int cluster_index,
52 const Eigen::Ref<const Eigen::VectorXi> &cls_ass_k) const = 0;
53
62 virtual double clusters_loglikelihood(int c1, int c2) const {
64 }
65
73
74 virtual double point_loglikelihood_cond(int point_index,
75 int cluster_index) const = 0;
76
77 virtual ~Likelihood() = default;
78};
Data structure for managing point distances and cluster allocations.
Manages distance matrices and cluster allocations for points.
Definition Data.hpp:26
virtual double point_loglikelihood_cond(int point_index, int cluster_index) const =0
Conditional log-likelihood of a point in a particular cluster.
const Data & data
Reference to Data object with distances and allocations.
Definition Likelihood.hpp:28
Likelihood(const Data &data)
Definition Likelihood.hpp:31
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.
virtual double clusters_loglikelihood(int c1, int c2) const
Computes the joint log-likelihood for two clusters.
Definition Likelihood.hpp:62