Machine Learning A Probabilistic Perspective by Kevin P. Murphy