Author: Stephen Marsland
Publisher: Chapman & Hall
Aimed at: Any programmer wanting an overview of machine learning
Pros: Readable style, clear explanations
Cons: Not deeply mathematical
Reviewed by: Mike James
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 is slightly odd in that its examples are in Python, which isn't a mainstream AI language, but if you are thinking of using it for web implementation its a good choice.
The book takes a fairly traditional approach to AI. Starting out from Hebbs rule and McCulloch and Pitts neurons it quickly moves on to the perceptron and its learning rule. After explaining the sort of problem that a single neuron cannot solve we move on to consider networks and back propagation which can solve such problems.
After this we move on to more recent ideas such as the use of radial basis functions, support vector machines, decision trees, ensemble learning, probability rules, unsupervised learning, dimension reduction, genetic algorithms, and reinforcement learning. The final three chapters are more of an excursion into other topics such as Markov Chain Monte Carlo Methods, graphical methods and in overview of Python. The section on graphical methods is slightly strange as it includes a discussion of some advanced filters such as the Viterbi decoder and Kalman filtering - not usually covered in introductory AI texts.
Given that it isn't a huge book it can't cover everything and in particular Expert Systems are notable by their absence. It also doesn't cover the more traditional statistical approaches - linear discriminant analysis as dimensional reduction, for example - and the chapter on unsupervised learning doesn't go into a wide range of clustering algorithms. There is also nothing about language, grammars, translation or language understanding. This is more a matter of personal preference and is linked to the classical AI approach to the subject.
This is an academic text in the sense that 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 and if you are in doubt about exactly what it all means there is always the Python code to read.
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.
Recommended for the serious beginner.