Sequential Monte Carlo is a technique for solving statistical inference problems recursively. This book shows how this powerful technique can be applied to machine learning problems such as probabilistic programming, variational inference and inference evaluation.