My goal is to understand and improve the algorithms that agents can use to learn from data and reason about their experience. Learning can be formalized in the language of statistics. Because statistics usually involves solving difficult problems, like probabilistic inference or optimization, most learning systems rely on algorithms for these problems.

Of these, I am particularly interested in algorithms for (approximate) Bayesian inference, Monte Carlo estimation, and continuous and discrete optimization. Although these problems seem distinct, they have a lot of shared structure. My work often touches on this theme, like when we showed how to simulate from a probability distribution by optimizing a random function.