Information theory, inference, and learning algorithms, David J. C. MacKay
Scientific Library