- Provides a clear introduction to the basic concepts of machine learning
- Focuses on algorithms and applications and uses explanation rather than equations and mathematical concepts
- Presents real-world problems through structured exercises and programming examples
- Contains a chapter that introduces the use of Python

Traditional books on machine learning can be divided into two groups — those aimed at advanced undergraduates or early postgraduates with reasonable mathematical knowledge and those that are primers on how to code algorithms. The field is ready for a text that not only demonstrates how to use the algorithms that make up machine learning methods, but also provides the background needed to understand how and why these algorithms work. **Machine Learning: An Algorithmic Perspective** is that text.

**Theory Backed up by Practical Examples**

The book covers neural networks, graphical models, reinforcement learning, evolutionary algorithms, dimensionality reduction methods, and the important area of optimization. It treads the fine line between adequate academic rigor and overwhelming students with equations and mathematical concepts. The author addresses the topics in a practical way while providing complete information and references where other expositions can be found. He includes examples based on widely available datasets and practical and theoretical problems to test understanding and application of the material. The book describes algorithms with code examples backed up by a website that provides working implementations in Python. The author uses data from a variety of applications to demonstrate the methods and includes practical problems for students to solve.

**Highlights a Range of Disciplines and Applications**

Drawing from computer science, statistics, mathematics, and engineering, the multidisciplinary nature of machine learning is underscored by its applicability to areas ranging from finance to biology and medicine to physics and chemistry. Written in an easily accessible style, this book bridges the gaps between disciplines, providing the ideal blend of theory and practical, applicable knowledge.

**Introduction**

If Data Had Mass, The Earth Would Be a Black Hole

Learning

Types of Machine Learning

Supervised Learning

The Brain and the Neuron

**Linear Discriminants**

Preliminaries

The Perceptron

Linear Separability

Linear Regression

**The Multi-Layer Perceptron**

Going Forwards

Going Backwards: Back-propagation of Error

The Multi-Layer Perceptron in Practice

Examples of Using the MLP

Overview

Back-propagation Properly

**Radial Basis Functions and Splines**

Concepts

The Radial Basis Function (RBF) Network

The Curse of Dimensionality

Interpolation and Basis Functions

**Support Vector Machines**

Optimal Separation

Kernels

**Learning With Trees**

Using Decision Trees

Constructing Decision Trees

Classification And Regression Trees (CART)

Classification Example

**Decision by Committee: Ensemble Learning**

Boosting

Bagging

Different Ways to Combine Classifiers

**Probability and Learning**

Turning Data into Probabilities

Some Basic Statistics

Gaussian Mixture Models

Nearest Neighbour Methods

**Unsupervised Learning**

The k-Means Algorithm

Vector Quantisation

The Self-Organising Feature Map

**Dimensionality Reduction**

Linear Discriminant Analysis (LDA)

Principal Components Analysis (PCA)

Factor Analysis

Independent Components Analysis (ICA)

Locally Linear Embedding

Isomap

**Optimisation and Search**

Going Downhill

Least-Squares Optimisation

Conjugate Gradients

Search: Three Basic Approaches

Exploitation and Exploration

Simulated Annealing

**Evolutionary Learning**

The Genetic Algorithm (GA)

Generating Offspring: Genetic Operators

Using Genetic Algorithms

Genetic Programming

Combining Sampling with Evolutionary Learning

**Reinforcement Learning**

Overview

Example: Getting Lost

Markov Decision Processes

Values

Back On Holiday: Using Reinforcement Learning

The Difference Between Sarsa and Q-Learning

Uses of Reinforcement Learning

**Markov Chain Monte Carlo (MCMC) Methods**

Sampling

Monte Carlo or Bust

The Proposal Distribution

Markov Chain Monte Carlo

**Graphical Models**

Bayesian Networks

Markov Random Fields

Hidden Markov Models (HMM)

Tracking Methods

**Python**

Installing Python and Other Packages

Getting Started

Code Basics

Using NumPy and Matplotlib

… liberally illustrated with many programming examples, using Python. It includes a basic primer on Python and has an accompanying website.

It has excellent breadth, and is comprehensive in terms of the topics it covers, both in terms of methods and in terms of concepts and theory. …

I think the author has succeeded in his aim: the book provides an accessible introduction to machine learning. It would be excellent as a first exposure to the subject, and would put the various ideas in context …

This book also includes the first occurrence I have seen in print of a reference to a zettabyte of data (10^{21} bytes) — a reference to "all the world’s computers" being estimated to contain almost a zettabyte by 2010.

—David J. Hand, *International Statistical Review* (2010), 78

If you are interested in learning enough AI to understand the sort of new techniques being introduced into Web 2 applications, then this is a good place to start. … it covers the subject matter of many an introductory course on AI and it has references to the source material and further reading but it is written in a fairly casual style. Overall it works and much of the mathematics is explained in ways that make it fairly clear what is going on … . This is a suitable introduction to AI if you are studying the subject on your own and it would make a good course text for an introduction and overview of AI.

—I-Programmer, November 2009

Resource | OS Platform | Updated | Description | Instructions |
---|---|---|---|---|

Cross Platform | November 09, 2009 | Website with Python code and datasets | click on http://www-ist.massey.ac.nz/smarsland/MLBook.html |