Information theory and inference, often taught separately, are here united in one entertaining textbook. These topics lie at the heart of many exciting areas of contemporary science and engineering - communication, signal processing, data mining, machine learning, pattern recognition, computational neuroscience, bioinformatics, and cryptography. This textbook introduces theory in tandem with applications. Information theory is taught alongside practical communication systems, such as arithmetic coding for data compression and sparse-graph codes for error-correction. A toolbox of inference techniques, including message-passing algorithms, Monte Carlo methods, and variational approximations, are developed alongside applications of these tools to clustering, convolutional codes, independent component analysis, and neural networks. The final part of the book describes the state of the art in error-correcting codes, including low-density parity-check codes, turbo codes, and digital fountain codes the twenty-first century standards for satellite communications, disk drives, and data broadcast. Richly illustrated, filled with worked examples and over 400 exercises, some with detailed solutions, David MacKay's groundbreaking book is ideal for self-learning and for undergraduate or graduate courses. Interludes on crosswords, evolution, and sex provide entertainment along the way. In sum, this is a textbook on information, communication, and coding for a new generation of students, and an unparalleled entry point into these subjects for professionals in areas as diverse as computational biology, financial engineering, and machine learning.
|Publisher:||Cambridge University Press|
|Edition description:||New Edition|
|Product dimensions:||7.44(w) x 9.69(h) x 1.34(d)|
Table of Contents
1. Introduction to information theory; 2. Probability, entropy and inference; 3. More about inference; Part I. Data Compression: 4. The source coding theorem; 5. Symbol codes; 6. Stream codes; 7. Codes for integers; Part II. Noisy-Channel Coding: 8. Dependent random variables; 9. Communication over a noisy channel; 10. The noisy-channel coding theorem; 11. Error-correcting codes and real channels; Part III. Further Topics in Information Theory: 12. Hash codes; 13. Binary codes; 14. Very good linear codes exist; 15. Further exercises on information theory; 16. Message passing; 17. Constrained noiseless channels; 18. Crosswords and codebreaking; 19. Why have sex? Information acquisition and evolution; Part IV. Probabilities and Inference: 20. An example inference task: clustering; 21. Exact inference by complete enumeration; 22. Maximum likelihood and clustering; 23. Useful probability distributions; 24. Exact marginalization; 25. Exact marginalization in trellises; 26. Exact marginalization in graphs; 27. Laplace's method; 28. Model comparison and Occam's razor; 29. Monte Carlo methods; 30. Efficient Monte Carlo methods; 31. Ising models; 32. Exact Monte Carlo sampling; 33. Variational methods; 34. Independent component analysis; 35. Random inference topics; 36. Decision theory; 37. Bayesian inference and sampling theory; Part V. Neural Networks: 38. Introduction to neural networks; 39. The single neuron as a classifier; 40. Capacity of a single neuron; 41. Learning as inference; 42. Hopfield networks; 43. Boltzmann machines; 44. Supervised learning in multilayer networks; 45. Gaussian processes; 46. Deconvolution; Part VI. Sparse Graph Codes; 47. Low-density parity-check codes; 48. Convolutional codes and turbo codes; 49. Repeat-accumulate codes; 50. Digital fountain codes; Part VII. Appendices: A. Notation; B. Some physics; C. Some mathematics; Bibliography; Index.
Most Helpful Customer Reviews
This book was my route from physics into the world of information theory, machine learning and inference. Always entertaining, interactive and filled with intuitions: I still use it every day.
Over the last year and a half this book has been invaluable (and parts of it a fun diversion). For a course I help teach, the intoductions to probability theory and information theory save a lot of work. They are accessible to students with a variety of backgrounds (they understand them and can read them online). They also lead directly into interesting problems. While I am not directly studying data compression or error correcting codes, I found these sections compelling. Incredibly clear exposition; exciting challenges. How can we ever be certain of our data after bouncing it across the world and storing it on error-prone media (things I do every day)? How can we do it without >60 hard-disks sitting in our computer? The mathematics uses very clear notation --- functions are sketched when introduced, theorems are presented alongside pictures and explanations of what's really going on. I should note that a small number (roughly 4 or 5 out of 50) of the chapters on advanced topics are much more terse than the majority of the book. They might not be of interest to all readers, but if they are, they are probably more friendly than finding a journal paper on the same topic. Most importantly for me, the book is a valuable reference for Bayesian methods, on which MacKay is an authority. Sections IV and V brought me up to speed with several advanced topics I need for my research.