Graphical Models for Machine Learning and Digital Communication (Adaptive Computation and Machine Learning)