We live in a world that is rich in data, ever increasing in scale. This data comes from many dierent
sources in science (bioinformatics, astronomy, physics, environmental monitoring) and commerce (customer
databases, nancial transactions, engine monitoring, speech recognition, surveillance, search). Possessing
the knowledge as to how to process and extract value from such data is therefore a key and increasingly
important skill. Our society also expects ultimately to be able to engage with computers in a natural manner
so that computers can `talk' to humans, `understand' what they say and `comprehend' the visual world
around them. These are dicult large-scale information processing tasks and represent grand challenges
for computer science and related elds. Similarly, there is a desire to control increasingly complex systems,
possibly containing many interacting parts, such as in robotics and autonomous navigation. Successfully
mastering such systems requires an understanding of the processes underlying their behaviour. Processing
and making sense of such large amounts of data from complex systems is therefore a pressing modern day
concern and will likely remain so for the foreseeable future.
Machine learning methods extract value from vast data sets quickly and with modest resources. They are established tools in a wide range of industrial applications, including search engines, DNA sequencing, stock market analysis, and robot locomotion, and their use is spreading rapidly. People who know the methods have their choice of rewarding jobs. This hands-on text opens these opportunities to computer science students with modest mathematical backgrounds. It is designed for final-year undergraduates and master's students with limited background in linear algebra and calculus. Comprehensive and coherent, it develops everything from basic reasoning to advanced techniques within the framework of graphical models. Students learn more than a menu of techniques, they develop analytical and problem-solving skills that equip them for the real world. Numerous examples and exercises, both computer based and theoretical, are included in every chapter. Resources for students and instructors, including a MATLAB toolbox, are available online.