David MacKay
.

Information Theory, Inference, and Learning Algorithms



Search :

.

`An instant classic, covering everything from Shannon's fundamental theorems to the postmodern theory of LDPC codes. You'll want two copies of this astonishing book, one for the office and one for the fireside at home.'

Bob McEliece, California Institute of Technology

Price: £30.00 / $50.00 from |CUP UK/USA| |amazon.co.uk/.com/.ca/.co.jp| |Barnes and Noble USA | fetchbook.info | allbookstores | walmart | biggerbooks | blackwells |

Best buy (US) - Barnes and Noble, $35.00 | Blackwells, UKP:28.50

   
David J.C. MacKay

Information Theory, Inference, and Learning Algorithms

newcover10
 
Cambridge University Press, 2003

0521642981

Information Theory, Inference, and Learning Algorithms

Textbook by David J.C. MacKay

Published by Cambridge University Press, 2003.

[want to choose a nearer web site? | Cambridge, Europe | Toronto, North America |]

In 2003 this book will be published by CUP.
It will continue to be available from this website for on-screen viewing.

Want to give feedback on the book, or report typos?

Great, to ask a question about the book please use this FAQ; to report a typo, mail me. THANK YOU!
Corrections for draft 3.1415

Cambridge students might wish to look at the course website for Information Theory, Pattern Recognition, and Neural Networks

Want to ask a question?

- please click to submit a query to the FAQ about the book, or the software.

Information Theory, Inference, and Learning Algorithms

(Hardback, 640 pages, Published September 2003)

Order your copy

Price: £30.00 / $50.00 from |CUP UK/USA| |amazon.co.uk/.com/.ca/.co.jp| |Barnes and Noble USA | fetchbook.info | allbookstores | walmart | biggerbooks | blackwells |

Best buy (US) - Barnes and Noble, $35.00 | Blackwells, UKP:28.50


Download the book too

You may download The book in one file (640 pages):

Cambridge U.K. english Toronto Canada canada
PDF (A4) pdf (9M) pdf mirror
Postscript (A4) postscript (5M) postscript mirror
DJVU djvu file, Cambridge (6M) djvu file
(djvu information | Download djView)
Just the words (latex) [provided for convenient searching] (2.4M) (latex mirror)
Individual chapters postscript and pdf available from this page mirror

Notes:

  • Draft 6.0 was released Thu 26/6/03; the book is finished. You are welcome to view the book on-screen.

Copyright issues: The book is copyright (c) Cambridge University Press. You can buy it from September 2003. The price will be 30 pounds (UK) and $50 (USA).

Now the book is published, these files will remain viewable on this website. The same copyright rules will apply to the online copy of the book as apply to normal books. [e.g., copying the whole book onto paper is not permitted.]

History:
Draft 1.1.1 - March 14 1997.
Draft 1.2.1 - April 4 1997.
Draft 1.2.3 - April 9 1997.
Draft 1.2.4 - April 10 1997. Margins altered so as to print better on Northamerican paper
Draft 1.3.0 - December 23 1997.
Draft 1.9.0 - Feb 1 1999.
Draft 2.0.0 - Jan 6 2000. New page layout.
Draft 2.2.0 - Dec 23 2000. Fresh draft.
Draft 3.1415 - Jan 12 2003. Nearly finished.
Draft 4.0 - April 15 2003. Chapter sequence finalized.
Draft 4.1 - April 18 2003. Adding new frontmatter (Preface etc)to book. Corrected printing of letter version.
Version 6.0 - Thu 26 June 2003. Final version.

  • Here is my method for converting to two-up under linux:
    pstops '4:0L@.67(20cm,1cm)+1L@.67(20cm,15cm),3R@.67(1cm,15.25cm)\
    +2R@.67(1cm,29.25cm)' $*.ps $*.dps 

The Back Cover

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.

Endorsements by famous people

This is an extraordinary and important book, generous with insight and rich with detail in statistics, information theory, and probabilistic modeling across a wide swathe of standard, creatively original, and delightfully quirky topics. David MacKay is an uncompromisingly lucid thinker, from whom students, faculty and practitioners all can learn.

Zoubin Ghahramani and Peter Dayan
Gatsby Computational Neuroscience Unit, University College London.

An utterly original book that shows the connections between such disparate fields as information theory and coding, inference, and statistical physics.

Dave Forney, M.I.T.

An instant classic, covering everything from Shannon's fundamental theorems to the postmodern theory of LDPC codes. You'll want two copies of this astonishing book, one for the office and one for the fireside at home.

Bob McEliece, California Institute of Technology

(Shorter versions of the jacket blurb)


Endorsements by famous people

This is an extraordinary and important book, generous with insight and rich with detail in statistics, information theory, and probabilistic modeling across a wide swathe of standard, creatively original, and delightfully quirky topics. David MacKay is an uncompromisingly lucid thinker, from whom students, faculty and practitioners all can learn.

Zoubin Ghahramani and Peter Dayan
Gatsby Computational Neuroscience Unit, University College London.

An utterly original book that shows the connections between such disparate fields as information theory and coding, inference, and statistical physics.

Dave Forney, M.I.T.

An instant classic, covering everything from Shannon's fundamental theorems to the postmodern theory of LDPC codes. You'll want two copies of this astonishing book, one for the office and one for the fireside at home.

Bob McEliece, California Institute of Technology

Endorsements by users

I am involved with teaching undergraduate information theory at Royal Holloway. We aim to make this book a reference text in our related courses.

I have found the book very enjoyable to read and I think that it is far easier for students to relate to as the maths is explicit and easy to follow, with excellent examples.

Congratulations on an inspirational book! This is by far the best book I have read in years!

David Lindsay, Computer Learning Research Centre (www.clrc.rhul.ac.uk)


I am compelled to state categorically that this is one of the finest text books I have read on these subjects. I have even pilfered some of the material for use in my classes.

Samir Chettri, UMBC



Full blurb from back cover

Alternate blurbs

Jacket blurb (215 words)

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 twentyfirst-century standards for satellite communications, disk drives, and data broadcast.

Richly illustrated, filled with worked examples and over 400 exercises, some with detailed solutions, the book is ideal for self-learning and for undergraduate or graduate courses. Interludes on crosswords, evolution, and sex provide entertainment along the way.

The result 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.

old jacket blurb

Information theory, probabilistic reasoning, coding theory and algorithmics lie at the heart of some of the most exciting areas of contemporary science and engineering. They are integral to such areas as communication, signal processing, data mining, machine learning, pattern recognition, computational neuroscience, bioinformatics, and cryptography. David MacKay breaks new ground in this exciting and entertaining textbook by introducing mathematical technology in tandem with applications, providing at once both motivation and hands-on guidance for problem-solving and modelling. For example, he covers not only the theoretical foundations of information theory, but practical methods for communication systems, including arithmetic coding for practical data compression, and low-density parity-check codes for reliable communication over noisy channels. The duality between communication and machine learning is illustrated through data modelling and compression; machine learning is also represented by clustering, classification, feedforward networks, Hopfield networks, Boltzmann machines and independent component analysis. A toolbox of probabilistic techniques are covered in detail: message-passing, Monte Carlo, and variational methods. The final part of the book, on sparse graph codes, describes the state-of-the-art in error-correcting codes, including chapters on low-density parity-check codes, turbo codes, and digital fountain codes. There are over 390 exercises, some with full solutions, which, together with worked examples, extend the text and enhance technique and understanding. A profusion of illustrations enliven and complement the text. Interludes on crosswords, evolution, and sex provide entertaining glimpses on unconventional applications. In sum, this is a textbook for courses in information, communication and coding for a new generation of students, and an unparalleled entry point to these subjects for professionals working in areas as diverse as computational biology, data mining, financial engineering and machine learning.

150 word blurb

Information theory, probability, coding and algorithmics lie at the heart of some of the most dynamic areas of contemporary science and engineering. David MacKay breaks new ground in this exciting and entertaining textbook by introducing mathematical technology in tandem with applications, providing simultaneously both motivation and hands-on guidance for problem-solving and modelling. For example, he covers the theoretical foundations of information theory, and practical methods for communication systems. Communication and machine learning are linked through data modelling and compression. Over 390 exercises, some with full solutions, and nearly 40 worked examples, extend the text and enhance technique and understanding. Enlivening and enlightening illustrations abound. In sum, this is a textbook for courses in information, communication and coding for a new generation of students, and an unparalleled entry point to these subjects for professionals working in areas as diverse as computational biology, data mining, financial engineering and machine learning.

90 word blurb

Information theory, probabilistic reasoning, coding theory and algorithmics underpin contemporary science and engineering. David MacKay breaks new ground in this exciting and entertaining textbook by introducing mathematics in tandem with applications. Over 390 exercises, some with full solutions, extend the text and enhance technique and understanding. Enlivening and enlightening illustrations abound. It's ideal for courses in information, communication and coding for a new generation of students, and an unparalleled entry point to these subjects for professionals working in areas as diverse as computational biology, datamining, financial engineering and machine learning.

50 word blurb

This exciting and entertaining textbook is ideal for courses in information, communication and coding for a new generation of students, and an unparalleled entry point to these subjects for professionals working in areas as diverse as computational biology, datamining, financial engineering and machine learning.

Another old short blurb

This textbook offers comprehensive coverage of Shannon's theory of information as well as the theory of neural networks and probabilistic data modelling. It includes explanations of Shannon's important source encoding theorem and noisy channel theorem as well as descriptions of practical data compression systems. Many examples and exercises make the book ideal for students to use as a class textbook, or as a resource for researchers who need to work with neural networks or state-of-the-art error-correcting codes.

Yet another old blurb

This textbook offers comprehensive coverage of Shannon's theory of information as well as the theory of neural networks and probabilistic data modeling. Shannon's source coding theorem and noisy channel theorem are explained and proved. Accompanying these theoretical results are descriptions of practical data compression systems including the Huffman coding algorithm and the less well known arithmetic coding algorithm. The treatment of neural networks is approached from two perspectives. On the one hand, the information-theoretic capabilities of some neural network algorithms are examined, and on the other hand, neural networks are motivated as statistical models. With many examples and exercises, this book is ideal for students to use as the text for a course, or as a resource for researchers who need to work with neural networks or state-of-the-art error correcting codes.

Contents
  1Introduction to Information Theory
2Probability, Entropy, and Inference
3More about Inference
Part IData Compression
4The Source Coding Theorem
5Symbol Codes
6Stream Codes
7Codes for Integers
Part IINoisy-Channel Coding
8Correlated Random Variables
9Communication over a Noisy Channel
10The Noisy-Channel Coding Theorem
11Error-Correcting Codes and Real Channels
Part III Further Topics in Information Theory
12Hash Codes: Codes for Efficient Information Retrieval
13Binary Codes
14Very Good Linear Codes Exist
15Further Exercises on Information Theory
16Message Passing
17Communication over Constrained Noiseless Channels
18Crosswords and Codebreaking
19Why have Sex? Information Acquisition and Evolution
Part IV Probabilities and Inference
20An Example Inference Task: Clustering
21Exact Inference by Complete Enumeration
22Maximum Likelihood and Clustering
23Useful Probability Distributions
24Exact Marginalization
25Exact Marginalization in Trellises
26Exact Marginalization in Graphs
27Laplace's Method
28Model Comparison and Occam's Razor
29Monte Carlo Methods
30Efficient Monte Carlo Methods
31Ising Models
32Exact Monte Carlo Sampling
33Variational Methods
34Independent Component Analysis and Latent Variable Modelling
35Random Inference Topics
36Decision Theory
37Bayesian Inference and Sampling Theory
Part V Neural networks
38Introduction to Neural Networks
39The Single Neuron as a Classifier
40Capacity of a Single Neuron
41Learning as Inference
42Hopfield Networks
43Boltzmann Machines
44Supervised Learning in Multilayer Networks
45Gaussian Processes
46Deconvolution
Part VI Sparse Graph Codes
47Low-Density Parity-Check Codes
48Convolutional Codes and Turbo Codes
49Repeat-Accumulate Codes
50Digital Fountain Codes
Part VII Appendices
Notation; Some Physics; Some Mathematics

newcover10

newcover4 newcover2
newcover16 newcover3
newcover10 newcover17
newcover12 newcover13
newcover14 newcover15
newcover11 newcover9
newcover18 newcover19
newcover2 newcover3
newcover4 newcover5
newcover6 newcover7
newcover8
Draft covers for the book by DJCM.

Errors in the book

I would be grateful to hear about errors in the book.

A list of corrections is provided.

Please send me new corrections by email. Thank you!

If you have a query about the book that you think other people might also ask, please use one of the following links to submit your query through metaFAQ; you may find the answer is already there:
Query categories
  • Any other query

  • Software, demonstrations, etc.

    Hint: To force download to file, use shift-click

    The tcl programs and other links marked (*) can be run directly in netscape if you have got the tcl/tk plugin. You can also run the tcl programs in the normal way if you have a linux machine with X windows and tcl and you download the tcl files then execute them (this is preferable to the netscape approach, I think). [The top four lines of each tcl file contain flags which change the program from working with the netscape plugin to working alone under X.] The other programs can be used by people on unix systems that have the relevant software (perl, gnuplot, octave.)

    Please select a software category from the sidebar.



    Hint: To force download to file, use shift-click

    The tcl programs and other links marked (*) can be run directly in netscape if you have got the tcl/tk plugin. You can also run the tcl programs in the normal way if you have a linux machine with X windows and tcl and you download the tcl files then execute them (this is preferable to the netscape approach, I think). [The top four lines of each tcl file contain flags which change the program from working with the netscape plugin to working alone under X.] The other programs can be used by people on unix systems that have the relevant software (perl, gnuplot, octave.)


    Inference methods


    Hint: To force download to file, use shift-click

    The tcl programs and other links marked (*) can be run directly in netscape if you have got the tcl/tk plugin. You can also run the tcl programs in the normal way if you have a linux machine with X windows and tcl and you download the tcl files then execute them (this is preferable to the netscape approach, I think). [The top four lines of each tcl file contain flags which change the program from working with the netscape plugin to working alone under X.] The other programs can be used by people on unix systems that have the relevant software (perl, gnuplot, octave.)


    Online Hamiltonian Monte Carlo Demo

    (formerly known as `Hybrid Monte Carlo')

    Task: sample from the posterior distribution of a bivariate Gaussian distribution given ten data points. The left-hand image shows the details underlying a sequence of HMC transitions. The right-hand image shows 50 of the successive states produced by the Markov chain - the endpoints of the trajectories.
    Hamiltonian Monte Carlo demonstration details  Hamiltonian Monte Carlo demonstration 
    fit.tar tar file giving octave source code.



    Hint: To force download to file, use shift-click

    The tcl programs and other links marked (*) can be run directly in netscape if you have got the tcl/tk plugin. You can also run the tcl programs in the normal way if you have a linux machine with X windows and tcl and you download the tcl files then execute them (this is preferable to the netscape approach, I think). [The top four lines of each tcl file contain flags which change the program from working with the netscape plugin to working alone under X.] The other programs can be used by people on unix systems that have the relevant software (perl, gnuplot, octave.)



    Hint: To force download to file, use shift-click

    The tcl programs and other links marked (*) can be run directly in netscape if you have got the tcl/tk plugin. You can also run the tcl programs in the normal way if you have a linux machine with X windows and tcl and you download the tcl files then execute them (this is preferable to the netscape approach, I think). [The top four lines of each tcl file contain flags which change the program from working with the netscape plugin to working alone under X.] The other programs can be used by people on unix systems that have the relevant software (perl, gnuplot, octave.)


    Dedication

    My textbook is dedicated to the Campaign Against the Arms Trade

    Food for thought...


    Any Questions?

    If you have a query about the book that you think other people might also ask, please use one of the following links to submit your query through metaFAQ; you may find the answer is already there:
    Query categories
  • Any other query

  • Site last modified Tue Nov 18 22:55:03 GMT 2003