Skip to content

Computing marginals from update rules directly #56

Open
@ThijsvdLaar

Description

@ThijsvdLaar

In some situations, algorithms can be efficiently implemented by recursive updates that directly set marginals instead of sending messages. One example is nonlinear estimation with the unscented Kalman filter, where marginals are efficiently computed by recursive estimation: "On approximate nonlinear Gaussian message passing for factor graphs" (Petersen, 2018). (Note that all computations remain local to the node).

ForneyLab requires that update always explicitly compute messages. Currently, this is implemented by dividing the marginal by the incoming message, thus yielding an outbound message. (The multiplication of the incoming and outbound message yields the marginal.) In some situations however, this division can be costly and/or lead to improper outbound messages.

It would be beneficial for efficiency and stability to incorporate some mechanism that can cope with computing marginals directly from a node update rule. Alternative ideas are also welcome.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Computing marginals from update rules directly · Issue #56 · biaslab/ForneyLab.jl