Thesis docs
Loading...
Searching...
No Matches
DP.hpp
Go to the documentation of this file.
1
6
7#pragma once
8
10
19class DP : public Process {
20
21public:
27 DP(Data &d, Params &p) : Process(d, p) {};
28
33
42 [[nodiscard]] double
43 gibbs_prior_existing_cluster(int cls_idx, int obs_idx = 0) const override;
44
51 [[nodiscard]] Eigen::VectorXd
52 gibbs_prior_existing_clusters(int obs_idx) const override;
53
60 [[nodiscard]] double gibbs_prior_new_cluster() const override;
61
63
68
76 [[nodiscard]] double prior_ratio_split(int ci, int cj) const override;
77
85 [[nodiscard]] double prior_ratio_merge(int size_old_ci,
86 int size_old_cj) const override;
87
97 [[nodiscard]] double prior_ratio_shuffle(int size_old_ci, int size_old_cj,
98 int ci, int cj) const override;
99
101
108 void update_params() override { return; };
109};
Abstract interface for Bayesian nonparametric processes.
double prior_ratio_merge(int size_old_ci, int size_old_cj) const override
Computes the prior ratio for a merge operation in a split-merge MCMC algorithm.
Definition DP.cpp:74
double prior_ratio_shuffle(int size_old_ci, int size_old_cj, int ci, int cj) const override
Computes the prior ratio for a shuffle operation in a split-merge MCMC algorithm.
Definition DP.cpp:93
void update_params() override
Updates the parameters of the Dirichlet Process.
Definition DP.hpp:108
DP(Data &d, Params &p)
Constructor for the Dirichlet Process.
Definition DP.hpp:27
double gibbs_prior_existing_cluster(int cls_idx, int obs_idx=0) const override
Computes the log prior probability of assigning a data point to an existing cluster.
Definition DP.cpp:17
double gibbs_prior_new_cluster() const override
Computes the log prior probability of assigning a data point to a new cluster.
Definition DP.cpp:49
Eigen::VectorXd gibbs_prior_existing_clusters(int obs_idx) const override
Computes the log prior probabilities of assigning a data point to all existing clusters.
Definition DP.cpp:32
double prior_ratio_split(int ci, int cj) const override
Computes the prior ratio for a split operation in a split-merge MCMC algorithm.
Definition DP.cpp:59
Manages distance matrices and cluster allocations for points.
Definition Data.hpp:26
Process(Data &d, Params &p)
Constructor initializing process with data and parameters.
Definition Process.hpp:75
Structure containing all parameters needed for the NGGP (Normalized Generalized Gamma Process) and DP...
Definition Params.hpp:35