-
Notifications
You must be signed in to change notification settings - Fork 229
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GMM identifiability problem #302
Comments
Can you clarify what you mean by "component 0 to always represent category 0 of the latent variable Z". How do you define "component 0" other than "category 0 of the latent variable Z"? |
Hi Tom, My apologies for not providing you with the entire model and more background. I assume my issue is related to the mixture model (top part of the graph below) and it reminded me of the "identifiability problem" (hope my drawing of the mixture is correct): I created a dataset that reproduces my issue, which is in the code below. The x observed is sampled from 2 weighted Gaussian distributions (0.9)N(-70,20) and (0.1)N(-120,20), where the former is suppose to be represented by state zero of the Bernoulli random variable sIsBad. In other words, higher x values should be good (sIsBad=0). But the results show the opposite. I'm wondering if this could be due to my data being imbalanced? Or can I create some kind of constraint to enforce that means[1] will represent N(-120,20)? My understanding is that this is what is happening in the
|
When I add a Beta prior over the Adding this prior: Posterior Gaussian (Gaussian mean): Gaussian(-68.94, 0.3859) (for the zero state of |
It sounds like you simply want means[1] < means[0]. You can enforce that by a constraint: |
Hi Tom, how can the constraint Neither of the operators (<,<=,>,>=) has a registered factor for argument type Microsoft.ML.Probabilistic.Math.Vector. |
|
Hi Tom, I'm getting this error when trying that "Cannot apply indexing with [] to an expression of type 'Variable'" I'm not sure how to access the individual vector elements. |
What is the type of |
but this code does not work |
Vectors are indexed using |
Spot on! Many thanks Tom! |
Hi,
My understanding is that there are K! equivalent solutions for K components in a Gaussian mixture model (known as the identifiability issue). In other words, if K=2:
In my Infer.NET application I need component 0 to always represent category 0 of the latent variable Z. I have tried initialising the prior mean of component 0 and component 1 to "enforce" this, but I think my data is too overwhelming. What other ways can I try to get this kind of behaviour from a GMM in Infer.NET? Maybe a small number of labels/observations for some Z nodes?
The text was updated successfully, but these errors were encountered: