Artificial Intelligence By Example 
Author: Denis Rothman This is a very strange book in the sense that if you are looking for a mainstream account or a walkthrough of a set of standard AI techniques, this isn't it. In fact it strays from the welltrodden track so often that it really doesn't have a structure. The topics are presented in a more or less haphazard order, which makes it difficult to see where anything fits in. The book starts off with a topic that is only just AI  classical reinforcement learning  the Bellman equations and Markov Decision Processes. This is a strange place to start as it is one of the most difficult topics and there is no mention of Qlearning or any of the A related ideas and no mention of how slow convergence is in a typical problem. This is also where you discover the the author's way of explaining things is a bit strange. "The Markov property: The process does not take the past into account. It is the memoryless property of this decision process, just as you do in a car with a guidance system. You move forward to reach your goal." Clearly the author has never heard "Turn around now", "Turn around as soon as it is convenient" etc... Being more serious, I have no idea how a car with a guidance system is anything like a Markov process or processes a Markov property. The strange English phrasing is forgivable; the lack of cogent explanation is not. From here we move on, in Chapter 3, to building a reward matrix using a logistic neuron, which is described as a modification of the original McCulloch and Pitts neuron. As a big fan of McCulloch and Pitts, this isn't wrong, but it isn't usual to describe a simple, nonlinear, artificial neuron in this way. Later the usual threshold gate is swapped for a logistic function and we get to do logistic regression using a gradientdescent algorithm. Nice! Except this isn't how it is described. If you don't know what is going on I think you would suspect adhoc methods. The author moves on to evaluation functions, which again is usually used in a different way to mean a positional evaluation function rather than an expectation of reward. It gets increasingly difficult to see what the theory is all about. Chapter 4 introduces Kmeans clustering and is perfectly normal. This is expanded on in Chapter 5 with a look at how you can implement decision tree guided clustering. Here we have an incorrect description of what NP Hard means  it's entirely round the wrong way. The book states that NP Hard problems can be converted into NP problems in polynomial time this isn't the case an NP Hard problem is such that all NP problems can be converted into it in polynomial time. So if you don't understand the explanation you have every right not to. Chapter 6 was as strange as the previous chapters in style and content, but it is the most useful in the book. It is about using Google Translate and if you don't know about the opportunities this presents then this chapter will open your eyes. I get the impression that this is the author's preferred AI subject.. Chapter 7: Optimizing Blockchains using Naive Bayes, is not really AI. At best its cryptography with some probability thrown in. The description of the way a blockchain works will leave you mystified at best. Chapter 8 is another odd one. Its about the XOR problem. It is well known that a single perceptron  why is it now referred to as a perceptron and not a McCulloch and Pitts neuron?  cannot solve the XOR problem. The reason is that XOR isn't linearly separable and a perceptron is a linear classifier. A set of perceptrons are still a linear classifier and so you can't solve the problem by using a multilayer network. It is only when the artificial neuron being used is nonlinear can the XOR problem be solved. The chapter attempts to explain what is going on, but the story about children and chocolate did nothing for me. I don't think that this is a clear explanation of why the problem occurs and how it is over come. It certainly isn't an explanation of why this whole topic is important  because it almost killed AI research back in the 1980s. Chapter 9 is about convolutional networks. But don't bother reading it to find out what exactly a convolutional network is  the explanation left me confused and I already know. Chapter 10 moves on to conceptual representation learning, 11 is about combining reinforcement learning with networks, 12 is about AI and the IoT, 13 is about using TensorFlow. Chapters 14, 15 and 16 is about Chatbots using Restricted Boltzman machines, Chapter 17 is about genetic algorithms, Chapter 18 is on neuromorphic computing and Chapter 19 is on quantum computing. This is a lot of ground to cover and much of it would be better left out. Why quantum computing? It isn't particularly relevant to current AI practice and the description of how it works is correct in the details but wrong in conception. It does nothing to explain that entanglement is what makes the computer more powerful and rather than the fanciful thought that a qbit to be zero and one at the same time. This is a very idiosyncratic book that aims to cover too much ground. The explanations of the techniques are in the main difficult to understand and the style is erratic, jumping all over the place  one minute mathematical, next making comments about business practice and the next using complex analogies that really don't fit. Having said all of this, the value in the book is in the code. All of the chapters have examples that you can download and this makes the descriptions useful in understanding how to use the code. This is not a book that will tell you anything much about how AI works  the value, if there is any, really is in the code.
To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for new additions to Book Watch and for new reviews.


Last Updated ( Wednesday, 23 September 2020 ) 