I'm a PhD student in the Machine Learning Group at Cambridge, supervised by Rich Turner. I'm generally interested in probabilistic modelling and (approximate) inference, and am particularly fond of Gaussian processes. Like lots of other people, I suspect probabilistic programming is going to become increasingly important in the coming years, and am currently finishing up some work on how Gaussian processes fit in this picture.

The above feeds directly into my work on probabilistic machine learning in climate science, which addresses combining the predictions of ensembles of GCMs in a sensible way, and the requirements that this task places on statistical weather modelling.

Written Work

Gaussian process probabilistic programming (GPPP) is a term I've coined for the work I'm doing to re-design the way that we work with GPs in a practical sense. There will be a substantial technical report available here soon explaining what this is all about. In the mean time, I presented the high-level aspects of this work at ProbProg and JuliaCon.

GPAR is a multi-output Gaussian process-based regression model. It's simple, scalable by GP standards, and seems to work really well in practice. It has been accepted to AISTATS 2019, and you can find a Python implementation of the key results here.

MPhil Thesis on approximate variational inference in Gaussian processes when there is circulant structure present in the pseudo-point covariance matrix. The corresponding poster was presented to the course's industrial sponsors.

An extension of the above MPhil thesis was accepted for poster presentation at the NIPS workshop on Advances in Approximate Bayesian Inference (Barcelona, 2016).


Conditioning in Gaussians is an Affine Transform. A (very) short presentation on a cute result that I initially found surprising. This presentation is rather terse, but the GPPP work discussed above relies on it, so a more thorough explanation of this result will be available when that work is available. Many thanks to Wessel Bruinsma for sanity checking this result.

Learning to Learn: a presentation written and presented jointly with Siddharth Swaroop. Here we review a couple of themes in the nebulously-defined sub-field of ML known as "Learning to Learn" or "Meta-Learning". This presentation is not intended to provide extensive detail for any particular work, but rather to frame two research themes in the area of Learning to Learn in a concise manner.

(Public) Implementations


This short note provides a very brief introduction to existing work on probabilistic approaches to paleoclimate reconstruction, with a focus on ice cores. As highlighted in the note, it's both a WIP, and is as much for my benefit as anyone else's.