Probabilistic Machine Learning by Kevin P. Murphy