A great building requires a strong foundation. This book teaches basic Artificial Intelligence algorithms such as dimensionality, distance metrics, clustering, error calculation, hill climbing, Nelder Mead, and linear regression. These are not just foundational algorithms for the rest of the series, but are very useful in their own right. The book explains all algorithms using actual numeric calculations that you can perform yourself. Artificial Intelligence for Humans is a book series meant to teach AI to those without an extensive mathematical background. The reader needs only a knowledge of basic college algebra or computer programming—anything more complicated than that is thoroughly explained. Every chapter also includes a programming example. Examples are currently provided in Java, C#, R, Python and C. Other languages planned.
It's hard to believe that Jeff Heaton has written code that anyone has had to work with or read for anything else than an exercise. Even the latter should mean that he writes code that should be readable and easy to follow, and more importantly actually correct, but such is not the case. Very little care was given to the code quality of this book, and it hurts the examples in it. They are suitable only for bad C/C++ code and if you are looking for examples with useful abstractions in them you would do well in completely skipping this book.
The part about equilateral encoding is especially painful and will leave even the most patient of readers annoyed. Heaton is the archetypical shitty coder that will use one-letter variables that represent important parts of a formula without explaining them. The part mentioned above also uses uninitialized variables with one-letter names, as if to further confuse readers.
There are a few paragraphs of text interspersed with the code that are, I assume, supposed to shed light on what is happening, but they rarely actually augment the meaning of the code or what is supposed to be happening.
This is not a good book for anyone but people who already know the material and simply want to refresh or confirm knowledge. I'm quite sure that the material is correct in scope, but it does not do a close to decent job in explaining stuff and uses downright bad code for most things in it.
All in all I think the book could have been served well by having Heaton define functions that were smaller in scope and had well defined purposes. They could then be used as abstractions (that have been well explained) and would lead to cleaner examples. As it stands, Heaton writes pseudo code as if it was C (and actually uses 'alloc()' in it), which serves very little purpose in the end, since you're supposed to be explaining a concept, not writing hacky code while having an audience.
There is no reason to buy this book (as I did, while making the mistake to buy the second book in the series immediately as well), but it's wise to check what is in this book and then read up on it elsewhere, as you're likely to do so anyway. The "ahaaa" to reading ratio in this book is extremely low, as it doesn't actually explain much anyway.
The first book in the series (out of 3 books) explains, among other things: k-means clustering, simulated annealing and ends with linear regressions. These topics explained at a rather superficial level. I think this might be a little insufficient in practice.
Has some good topics you need to know to get into AI, but it's very disjointed. It seems like he views this introductory book as just a series of prerequisites before you can get to the real stuff - which makes it very dry.
Worse, though, the composition is bad and it's full of errors. Pseudo-code samples are difficult to understand as a whole because they are broken up by chunks of (poorly written) explanation. And, again, the errors! I don't think the author even reread the text himself after vomiting it out.
The book saddened me. The author sprinkles a little bit of what he knows about a particular topic and seems to abandon most topics in the middle, as if he lost interest. Unfortunately, this occurs before the reader can actually learn to accomplish anything. There does not appear to be a thread tying the chapters together. The editing of the narrative, including spelling, seems to have been overlooked.
This book is aimed at programmers with no or very little experience with artificial intelligence, such as me. Explanations are clear enough, but sometimes I wished it went a bit more into details, or offered slightly more advanced examples. Still, this was an interesting read, and I'm looking forward to reading the next volume.
Although it does talk the traveling salesman problem and knapsack problems mostly it talks about curve fitting and maximization, while these are important to know about in some circumstances, I'm not sure I call them AI.
The author has tried to cover AI in a lucid way and come up with a number of books. The first book is supposed to be an introduction and covers fundamental algorithms. The book has some nice content and I learnt a good number of things. But it is one of the worst books that I have ever read. It seems as if the author has taken some notes while trying to understand new concepts and published those notes as a book. There is no connection between consecutive chapters. Every chapter is focused on one or two concepts. Some concepts are so easy that dedicating a chapter to those does not make sense. The code samples are not easy to follow. The concepts are not explained properly.