|
|
 |
|
|
`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
|
|
|
|
| |
David J.C. MacKay
Information Theory, Inference, and Learning Algorithms
|
|
 |
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
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):
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
|
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 |
| |
| 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 | Correlated 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: Codes for Efficient Information Retrieval |
| | 13 | Binary Codes |
| | 14 | Very Good Linear Codes Exist |
| | 15 | Further Exercises on Information Theory |
| | 16 | Message Passing |
| | 17 | Communication over 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 and Latent Variable Modelling |
| | 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 |
| | | Notation; Some Physics; Some Mathematics |
|
|
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.
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
|
|