Skip to content

Are there ways to break symmetries in Turing models? #1328

@Noricc

Description

@Noricc

Hello,

I am trying to make a gaussian mixture model. In the Turing tutorial, the proposed model is symmetric: You can swap the label of the clusters and still get the same likelihood. The tutorial states:

You’ll note here that it appears the location means are switching between chains. We will address this in future tutorials.

I didn't find any other tutorial that mentioned handling the symmetry. I tried to read the linked blog post about the same topic, but it was a bit steep for my background, so I am not really sure how it helps.

This PyMC3 example seems to do it by setting the likelihood to zero when a certain condition is not satisfied, but I couldn't find a way to do the same thing with Turing. Is it possible to get a distribution of ordered vectors (vectors where x0 < x1, x1 < x2, etc.), or is there a way to reject a sample if a condition is not met? If not, is there a way to break this symmetry in the model?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions