mbi.approximate_oracles.convex_generalized_belief_propagation
- mbi.approximate_oracles.convex_generalized_belief_propagation(potentials: CliqueVector, total: float = 1, state: dict[tuple[tuple[str, ...], tuple[str, ...]], Factor] | None = None, mesh: Mesh | None = None, iters: int = 1, damping: float = 0.5) tuple[CliqueVector, dict[tuple[tuple[str, ...], tuple[str, ...]], Factor]][source]
Convex generalized belief propagation for approximmate marginal inference.
The algorithms implements the Algorithm 2 in our paper [“Relaxed Marginal Consistency for Differentially Private Query Answering”](https://arxiv.org/pdf/2109.06153), which itself is based on the paper titled [“Tightening Fractional Covering Upper Bounds on the Partition
Function for High-Order Region Graphs”](https://arxiv.org/pdf/1210.4881).
- Parameters:
potentials – A CliqueVector object containing the potentials of the graphical model.
total – The total number of records in the dataset.
state – The state of the message passing algorithm (i.e., the messages). Useful when calling this within an iterative procedure for warm starting purposes.
mesh – Specifies how the computation will be sharded across machines.
iters – The number of iterations to run the algorithm.
damping – The damping factor for the messages.
- Returns:
A CliqueVector of pseudo-marginals for the cliques in the graphical model.