Machine Learning by Stephen Marsland