-
Notifications
You must be signed in to change notification settings - Fork 11
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
Structure learning of deterministic circuits #127
Comments
Hi, Martin, we do have some implemeted, but might not be ported to the latest For example, for Strudel strucure learning we have a seperate repo here https://github.com/UCLA-StarAI/Strudel/ Though, most of the functionality of Strudel already exists in This notebook also has few examples of structure learning at the end (https://github.com/Juice-jl/JuiceExamples/blob/master/Juice-Example.ipynb). |
Hi, I was looking for an implementation of the structure learning approach by Yitao Liang (http://starai.cs.ucla.edu/papers/LiangUAI17.pdf). I like that this formulates an explicit score function that is optimised. I think this could easily be extended by using a Bayesian score. For example, one could implement the Bayesian Dirichlet score family that has been used in Bayesian networks. I have some nice results on the connection between deterministic circuits treated in a Bayesian framework and Pólya tree processes. This connection suggests certain prior configurations should be used when doing Bayesian learning of these models. I will have to read the strudel paper again, but from what I remember, this does not formulate an explicit score function for a structure but uses some heuristics to optimise the structure. |
That is a very intereting connection. The latest version of LearnPSDD we have is written in Scala. Original paper was in Python https://github.com/UCLA-StarAI/LearnPSDD, and the scala version is here: https://github.com/YitaoLiang/Scala-LearnPsdd. Strudel was an attemp to bring something like the LearnPSDD avaialble in our Juice library, at the same time we also wanted to scale up the algortihm so it became like what Strudel is doing now. We probably have most of the ingredients needed for LearnPSDD in julia version like split and clones. Both LearnPSDD and Strudel start with some initial structure (which can be learned in different ways for example by learning a chow-liu tree bayesian network and then compiling it into a determnistic circuit), and then both greedily grow the circuit but in slightly different ways. |
That sounds promising, thanks! |
Hi,
are there any plans to implement existing structure learning algorithms for deterministic circuits in the future?
Thanks,
Martin
The text was updated successfully, but these errors were encountered: