23 ms·
Would this language be comparable to a package like JAGS?
by Vaslo 7y ago
Would this language be comparable to a package like JAGS?
- nextos 7y agoYes, but JAGS would only be able to solve a subset of the problems you can do inference on using a general probabilistic programming language like Gen. That's because JAGS only supports models that can be expressed as graphical models.
- ChrisRackauckas 7y agoJAGS defined the optimizers you're allowed to use for you. Its MCMC algorithm is what you get. For simple problems, that works, but in many complex cases you might want have to tweak things to make them work. For example, you may want to make it explore the space more easily at first, and then fix to a few discrete variables to find the max of some variables, then jiggle all a little bit in that area. The authors of Gen were really keen about this ability to tweak when I talked to them, and it's a core capability of Gen. They showed cases which wouldn't converge in other systems because they were lacking this ability to take user input. This is probably the biggest change from previous iterations like JAGS, Stan, PyMC3, Turing.jl, etc. And then the dynamic compiler mode uses AD to work with Julia packages, so you can easily set it up to do Bayesian inference on neural (Flux.jl) partial differential equations with high order adaptive implicit integrators with DifferentialEquations.jl, which is why I am starting to use this library :). At the same time, there is also a static compiled sublanguage of Gen which is extremely fast (but cannot use arbitrary Julia packages of course).