Probabilistic Graphical Models: Principles and Techniques (Adaptive Computation and Machine Learning series)