Dear Edward users,
I would like to implement a Dirichlet Process Mixture Model (DPMM) and use different inference methods on it, like MCMC and VI. I would like to use the model to cluster 2d data points. First, I wanted to start with a rather simple Gaussian Mixture Model (GMM) and then extend the model to have some hierarchical structure (related to the HDP by Teh, but not exactly the same).
Now I am struggling with the question how to implement this my model in Edward correctly.
On the one hand, there is the DirichletProcess class, which sounds really promising, but I don't know how to use it correctly. I could define the cluster means as the samples from a DirichletProcess-distributed variable. But then I still don't know the weights for these clusters and do not know the assignments (usually called z). The assignments are crucial for my model, since I need to pass them to the next level of my model. Is there a way to use this DirichletProcess class and pass on the cluster assignments somehow?
On the other hand, I saw the implementation of a DPM for clustering here Unfortunately, when I try to use it, the cluster means change not as they should do and just stay at [0,0].
I am thankful for all tips, or hints what I might be doing wrong.
Thanks a lot!!!