We illustrate how to build complicated probability distributions in a modular fashion using the Bijector API from TensorFlow Probability.
Hi. My name is Louis. I am a budding machine learning research scientist and current PhD candidate at the University of Sydney working with Edwin Bonilla, Fabio Ramos and Richard Nock. My main research interests lie at the intersection of Bayesian statistics, deep learning and implicit probabilistic models.
I have a thorough background in computer science and mathematics. Previously, I studied computer science at the University of New South Wales, where I had a major emphasis on algorithm design and analysis, theoretical computer science, programming language theory, artificial intelligence, machine learning, and a minor emphasis on mathematics and statistics. I undertook my final-year thesis under Aleksandar Ignjatovic, and graduated with first-class honours in 2015.
Until 2017, I was a software engineer at NICTA (now incorporated under CSIRO as Data61) in the inference systems group, where I worked with a team of experienced machine learning researchers and engineers with expertise in Bayesian machine learning. I now work at Data61 on a part-time basis when I am not teaching.
In my spare time, if I am not working on one of my many incomplete side projects, you’ll either find me shooting hoops at the gym, or on the mats training in the beautiful art of Brazilian jiu jitsu.
We illustrate how to build complicated probability distributions in a modular fashion using the Bijector API from TensorFlow Probability.
An in-depth practical guide to variational encoders from a probabilistic perspective.
Aboleth is a minimalistic TensorFlow framework for scalable Bayesian deep learning and Gaussian process approximation.
Determinant is a software service that makes predictions from sparse data, and learns what data it needs to optimise its performance.
Primary PhD research topic: Expanding the scope and applicability of variational inference to encompass implicit probabilistic models.
Revrand is a full-featured Python library for Bayesian generalized linear models, with random basis kernels for large-scale Gaussian process approximations.
I am a teaching assistant (TA) for the following courses:
The course has a primary focus on probabilistic machine learning methods, covering the topics of exact and approximate inference in directed and undirected probabilistic graphical models - continuous latent variable models, structured prediction models, and non-parametric models based on Gaussian processes.
This course has a major emphasis on maintaining a good balance between theory and practice. My primary responsibility was to create lab exercises that aid students in gaining hands-on experience with these methods, specifically applying them to real-world data using the most current tools and libraries. The labs were Python-based, and relied heavily on the Python scientific computing and data analysis stack (NumPy, SciPy, Matplotlib, Seaborn, Pandas, IPython/Jupyter notebooks), and the popular machine learning libraries scikit-learn and TensorFlow.
Students were given the chance to experiment with a broad range of methods on various problems, such as Markov chain Monte Carlo (MCMC) for Bayesian logistic regression, probabilistic PCA (PPCA), factor analysis (FA) and independent component analysis (ICA) for dimensionality reduction, hidden Markov models (HMMs) for speech recognition, conditional random fields (CRFs) for named-entity recognition, and Gaussian processes (GPs) for regression and classification.