|
|
|
|
|
by cf
4300 days ago
|
|
One of the authors here. In terms of expressiveness, Hakaru is much more in the mold of something like Church, Venture, or Anglican where we can more easily express nonparametric models. This means in the context of the model, once a random variable is generated from a prior distribution, it might be used as an ordinary Haskell value and be directly used to in the control-flow. When that happens you can write models where the number of parameters changes based on values of parameters generated earlier in the model. As a concrete example, imagine a Bayesian Neural Network where there was a prior on how many layers are in the neural network. This is in contrast to something like PyMC where random variables are very much special objects that interacted with, and making nonparametric models is trickier. Like PyMC, Figaro, Infer.NET and Factorie but unlike OpenBUGS this is a library so it is easier to use a larger prediction application. We don't support some of the optimizations that OpenBUGS can do when presented with a model. As another note, this is a fairly new piece of code. Unlike PyMC, BLOG, Stan, and other probabilistic programming systems we only support Importance Sampling and a fairly naive version of Metropolis Hastings. This is in contrast to many of the existing solutions where you can do things like Particle MCMC and Hamiltonian Monte Carlo. We do intend to eventually support these inference techniques. |
|