Docs
Loading...
Searching...
No Matches
DP.hpp
Go to the documentation of this file.
1
6
7#pragma once
8
10#include "../utils/Process.hpp"
11
20class DP : public Process {
22 const double log_a;
23
24public:
31 : Process(d), params(p), log_a(std::log(params.a)) {};
32
37
46 [[nodiscard]] double
47 gibbs_prior_existing_cluster(int cls_idx, int obs_idx = 0) const override;
48
55 [[nodiscard]] Eigen::VectorXd
56 gibbs_prior_existing_clusters(int obs_idx) const override;
57
64 [[nodiscard]] double gibbs_prior_new_cluster() const override;
65
67
72
80 [[nodiscard]] double prior_ratio_split(int ci, int cj) const override;
81
89 [[nodiscard]] double prior_ratio_merge(int size_old_ci,
90 int size_old_cj) const override;
91
101 [[nodiscard]] double prior_ratio_shuffle(int size_old_ci, int size_old_cj,
102 int ci, int cj) const override;
103
105
112 void update_params() override { return; };
113};
Parameter management for models using DP-process (Dirichlet Process).
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:112
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
const DP_params & params
Definition DP.hpp:21
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
DP(Data &d, DP_params &p)
Constructor for the Dirichlet Process.
Definition DP.hpp:30
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
const double log_a
Definition DP.hpp:22
Manages distance matrices and cluster allocations for points.
Definition Data.hpp:26
Process(Data &d)
Constructor initializing process with data and parameters.
Definition Process.hpp:83
Struct for storing parameters of the DP (Dirichlet Process).
Definition DP-params.hpp:26