JuliaCon 2022 (Times are UTC)

JunctionTrees: Bayesian inference in discrete graphical models
2022-07-27 , Purple

JunctionTrees.jl implements the junction tree algorithm: an efficient method to perform Bayesian inference in discrete probabilistic graphical models. It exploits Julia's metaprogramming capabilities to separate the algorithm into a compilation and a runtime phase. This opens a wide range of optimization possibilities in the compilation stage. The non-optimized runtime performance of JunctionTrees.jl is similar to those of analog C++ libraries such as libdai and Merlin.


GitHub repo: https://github.com/mroavi/JunctionTrees.jl
Docs: https://mroavi.github.io/JunctionTrees.jl

JunctionTrees.jl encapsulates the result of the research we have been conducting in the context of improving the efficiency of Bayesian inference in probabilistic graphical models.

The junction tree algorithm is a core component of discrete inference in probabilistic graphical models. It lies at the heart of many courses that are taught at different universities around the world including MIT, Berkeley, and Stanford. Moreover, it serves as the backbone of successful commercial software, such as Hugin Expert, that aims to discover insight and provide predictive capabilities to effectively combat fraud and risk.

JunctionTrees.jl is mainly tailored towards students and researchers. This library offers a great starting point for understanding the implementation details of this algorithm thanks to the intrinsic readability of the Julia language and the thoroughly commented codebase. Moreover, this package constitutes an optimization framework that other researchers can make use of to experiment with different ideas to improve the performance of runtime Bayesian inference.

Martin Roa-Villescas received his B.Sc. degree in Electronic Engineering from the National University of Colombia, Manizales, Colombia in 2010, and his M.Sc. degree in Embedded Systems from the Eindhoven University of Technology (TU/e), Eindhoven, The Netherlands, in 2013. He is currently pursuing a Ph.D. degree in Bayesian Machine Learning with a special track in education at TU/e. From 2013 to 2018, he worked as an embedded software designer in Philips Research, Eindhoven, The Netherlands. His research interests include probabilistic graphical models, probabilistic programming, and embedded systems.