A comprehensive introduction to machine learning that uses probabilistic models and inference as a unifying approach.