This substantial book is a deep and detailed introduction to the field of machine learning, using probabilistic methods. It is aimed at a graduate-level readership and assumes a mathematical background that includes calculus, statistics and linear algebra.
The book opens with a brief survey of the kinds of problems to which machine learning can be applied, and sketches the types of methods that can be used to model these problems.
After a short introduction to probability, the remaining 27 chapters, over around a thousand pages, expand in depth on these and related topics.
Due to the nature of the material, much of the content is mathematical equations and proofs. Numerical examples are scarce. Rather, the authors rely upon the reader’s mathematical intuition supported by a variety of graphical illustrations.
Where relevant, overviews of real-world applications of various techniques are provided, which help to make the rather abstract subject matter more concrete. In addition, MATLAB and GNU Octave code, which implements the algorithms given in the book, is freely available as a download from the book’s website.
The author’s style is easy but authoritative, with useful explanations and asides. That said, the book is intended as a course textbook and requires the reader to pay close attention. In the absence of an instructor,
I frequently found myself reaching for other resources in order to support the explanations given in the book, though this is probably due to my not understanding the requisite background topics sufficiently well.
Exercises are included at the end of each chapter, however while solutions are apparently available to instructors, they are not given in the book.
This comprehensive book should be of great interest to learners and practitioners in the field of machine learning.
Reviewed by Patrick Hill CEng MBCS CITP