A First Course in Machine Learning - second edition
Simon Rogers and Mark Girolami: Accompanying material
Chapman & Hall/CRC, ISBN: 9781498738484

News: October 2012, fixed links to Matlab code and data.
News: July 2012, Errata updated.
News: May 2013, Errata updated again (including fixing error in errata..arrgghh).
News: October 2014, updated errata and added non dropbox data and code links.
News: April 2015, updated errata....again.

News: August 2016, Second edition is now available! See buying section for more details.


A First Course in Machine Learning covers the core mathematical and statistical techniques needed to understand some of the most popular machine learning algorithms. The algorithms presented span the main problem areas within machine learning: classification, clustering and projection. The text gives detailed descriptions and derivations for a small number of algorithms rather than cover many algorithms in less detail.

Requiring minimal mathematical prerequisites, the classroom-tested material in this text offers a concise, accessible introduction to machine learning. It provides students with the knowledge and confidence to explore the machine learning literature and research specific methods in more detail.



Dr. Simon Rogers: is a lecturer in the School of Computing Science at the University of Glasgow, where he teaches the masters-level machine learning course on which this book is based. Dr. Rogers is an active researcher in machine learning, particularly applied to problems in computational biology. His research interests include the analysis of metabolomic data and the application of probabilistic machine learning techniques in the field of human‚ąícomputer interaction.

Prof. Mark Girolami: Mark Girolami holds the Chair of Statistics in the Department of Statistical Science at University College London (UCL). He is also Director of the Centre for Computational Statistics and Machine Learning at UCL, and holds a Professorial position in the Department of Computer Science at UCL. Prior to joining UCL Mark held the Chair of Computing and Inferential Science at the University of Glasgow. In 2011 he was elected to the Fellowship of the Royal Society of Edinburgh.


Matlab scripts mentioned in the text as well as data can be downloaded using the links below. In addition, the output of the various scripts can be seen here.

Update (August 2016): We are currently finalising all of the code (Matlab, Python and R) for the second edition. It will appear on Github in September 2016.

Solutions manual

A solutions manual is available to qualifying adopters. Contact the publishers for more details.

Useful links