Fundamentals of Pattern Recognition and Machine Learning is designed for a one or two-semester introductory course in Pattern Recognition or Machine Learning at the graduate or advanced undergraduate level. The book combines theory and practice and is suitable to the classroom and self-study.
The book is intended to be concise but thorough. It does not attempt an encyclopedic approach, but covers in significant detail the tools commonly used in pattern recognition and machine learning, including classification, dimensionality reduction, regression, and clustering, as well as recent popular topics such as Gaussian process regression and convolutional neural networks. In addition, the selection of topics has a few features that are unique among comparable texts: it contains an extensive chapter on classifier error estimation, as well as sections on Bayesian classification, Bayesian error estimation, separate sampling, and rank-based classification.
The book is mathematically rigorous and covers the classical theorems in the area. Nevertheless, an effort is made in the book to strike a balance between theory and practice. In particular, examples with datasets from applications in bioinformatics and materials informatics are used throughout to illustrate the theory. These datasets are available from the book website to be used in end-of-chapter coding assignments based on python and scikit-learn. All plots in the text were generated using python scripts, which are also available on the book website.