Bayesian Reasoning And Machine Learning by David Barber