Docs
Toggle main menu visibility
Loading...
Searching...
No Matches
DP.hpp
Go to the documentation of this file.
1
6
7
#pragma once
8
9
#include "
../params/DP-params.hpp
"
10
#include "
../utils/Process.hpp
"
11
20
class
DP
:
public
Process
{
21
const
DP_params
&
params
;
22
const
double
log_a
;
23
24
public
:
30
DP
(
Data
&d,
DP_params
&p)
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
};
DP-params.hpp
Parameter management for models using DP-process (Dirichlet Process).
Process.hpp
Abstract interface for Bayesian nonparametric processes.
DP::prior_ratio_merge
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
DP::prior_ratio_shuffle
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
DP::update_params
void update_params() override
Updates the parameters of the Dirichlet Process.
Definition
DP.hpp:112
DP::gibbs_prior_existing_cluster
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
DP::params
const DP_params & params
Definition
DP.hpp:21
DP::gibbs_prior_new_cluster
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::DP
DP(Data &d, DP_params &p)
Constructor for the Dirichlet Process.
Definition
DP.hpp:30
DP::gibbs_prior_existing_clusters
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
DP::prior_ratio_split
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
DP::log_a
const double log_a
Definition
DP.hpp:22
Data
Manages distance matrices and cluster allocations for points.
Definition
Data.hpp:26
Process::Process
Process(Data &d)
Constructor initializing process with data and parameters.
Definition
Process.hpp:83
DP_params
Struct for storing parameters of the DP (Dirichlet Process).
Definition
DP-params.hpp:26
BNPClust
processes
DP.hpp
Generated by
1.17.0