CS Seminar: Bob Carpenter - Stan: A Probabilistic Programming Language for Bayesian Inference

Speaker: Bob Carpenter (Columbia University Applied Statistics Centre)

Title:   Stan: A Probabilistic Programming Language for Bayesian Inference


I'll describe Stan's probabilistic programming language, and how it's used, including: 
- blocks for data, parameter, and predictive quantities 
- transforms of constrained parameters to unconstrained spaces, with automatic Jacobian corrections 
- automatic computation of first- and higher-order derivatives 
- operator, function, and linear algebra library 
- vectorized density functions, cumulative distributions, and random number generators 
- user-defined functions 
- (stiff) ordinary differential equation solvers 

I'll also provide an overview of the underlying algorithms for sampling and optimization: 
- adaptive Hamiltonian Monte Carlo for MCMC 
- L-BFGS optimization and transforms for MLE 

I'll also briefly describe the user-facing interfaces: 
- RStan (R), PyStan (Python), CmdStan (command line), Stan.jl (Julia), MatlabStan (MATLAB) 

I'll finish with an overview of the what's on the immediate horizon: 
- GPU matrix operations 
- MPI multi-core, multi-machine parallelism 
- data parallel expectation propagation for approximate Bayes 
- marginal Laplace approximations 

Note: The seminar is followed by a Short Course on Stan, which requires registration at: http://aa0.ca/stancourse

Brief Bio:
Bob has a Ph.D. in cognitive and computer science (University of Edinburgh). In the past, he was a professor of computational linguistics (Carnegie Mellon University) and an industrial researcher and programmer in speech recognition and natural language processing (Bell Labs, SpeechWorks, LingPipe). In addition to working on Stan, he's written two books on programming language theory and linguistics, many papers, and the LingPipe natural language processing toolkit.

Host: Vlado Keselj  (vlado@dnlp.ca)



Room 430, Goldberg Computer Science Building