fglib2.probabilistic_circuits
Module Contents
Classes
A sum unite (mixture model) that can be used as factor for variables in a factor graph. |
- class fglib2.probabilistic_circuits.SumUnitWrapper[source]
Bases:
probabilistic_model.probabilistic_circuit.DeterministicSumUnit
- class fglib2.probabilistic_circuits.SumUnitFactor(distribution: probabilistic_model.probabilistic_circuit.SmoothSumUnit)[source]
Bases:
fglib2.graphs.FactorNodeA sum unite (mixture model) that can be used as factor for variables in a factor graph.
- Example use-case:
Imagine you have a set of variables that expand over some template, e.g. time. You learn a mixture for each time step and then use the latent variable interpretation of the mixture model to create a factor graph. The factors for the transition model are multinomial distributions over the latent variables. The factors for the emission model are the joint probability trees.
- marginal(variables: List[random_events.variables.Variable]) fglib2.distributions.Multinomial | typing_extensions.Self[source]
- sum_product(messages: List[fglib2.distributions.Multinomial]) fglib2.distributions.Multinomial[source]
Apply the sum product algorithm of a factor node.
The product of all incoming messages is calculated and multiplied with the distribution of this factor node.
- Parameters:
messages – The incoming messages.
- Returns:
The resulting, multivariate distribution.