Book Reviews

Here is a list of what we have been reading in Artificial Intelligence and Machine Learning. We have attached reviews as well.

Note: While I try my best, there are times when I do not read the books cover to cover. I have tried to keep the reviews as short and generic as possible.


  • Speech and Language Processing

    Daniel Jurafsky, James H. Martin

    This book is like Bible for NLP. If you have not read it, you don’t know Natural Language Processing. This book covers areas like speech processing, language processing – both lexical and semantic. If you want to train your own model you should read this book. The amount of time spent by authors in each topic is worth commending.  

  • The society of Mind

    Marvin Minskey

    This book is a collection of thoughts – one thought per page. It talks about how human mind is a collection of smaller components for solving particular problems. If you are afraid that the big players in AI are going to build strong AI – read this book. You will know how mimicking human behavior is not so easy. What I found interesting about this book was at times Minskey would leave the area of  machine intelligence and  move towards spirituality. He has some interesting pages on what “being self aware” means. This is a Must Have for anyone interesting in strong AI.

  • Artificial Intelligence – Structures and Strategies for Complex Problem Solving

    George F Luger

    I loved reading this book (and the follow up eBook where Luger uses LISP and Java to implement the algorithms). Luger has great command on programming along with a very clear understanding of AI. I picked up this book after I read the eBook to dig more into his ideas. I think his object oriented implementation of Search algorithms is what I loved the most.

  • Boosting – Foundations and Algorithms

    Robert E. Schapire, Yao Freund

    This book comes from the people who started the boosting revolution. In the first chapter itself you are introduced to the boosting algorithm and the pseudo code to implement it. The later chapters talk about why boosting works along with proofs of various theorems. If you just want to implement boosting, go though a couple of chapters, If you are a researcher or part of an advanced machine learning course, you should definitely check it out.

  • Artificial Intelligence – A Modern Approach

    Stuart Russell, Peter Norvig

    This book from Stuart Russell and Peter Norvig is one the most read textbooks in artificial intelligence. The book builds your concepts on various area like Logical reasoning, symbolic as well as connectionist approach to solving problems. Some examples on how you can use First order logic and similar methods to solve board games are really good.

  • Pattern Recognition and Machine Learning

    Christopher M. Bishop

    This book by Christopher M Bishop is probably the best textbook available to date. Almost every course (online/offline) will refer this book. The contents ( its extensive as well as intensive) might overwhelm you. While this is not a book to read cover to cover, you should have this available when you want to get a deeper understanding of mathematics behind the algorithms you are working with. 

  • Introduction to Information Retrieval

    Christopher D. Manning, Prabhakar Raghavan, Hinrich Schutze

     I love this book. It’s so well written that you could read it page after page and not get bored. It builds on how text retrieval works, how text is indexed.  I wrote an algorithm that was taking about 2 seconds to compute a text piece. But when I implemented some of the techniques given here its processing time was reduced to 200ms. This is not a Natural Language Processing book but it has all the tricks you will need to work with real world applications that need to do text processing.

  • On Intelligence

    Jeff Hawkins

    Jeff Hawkins is a big time technologist and entrepreneur. This book talks about his research on how human brain works. This book (and a followup whitepaper) forms the basis of research being done at Numenta  - headed by Jeff himself. The book shows how our brain uses a hierarchical approach to be in “always predicting” mode. In one of the examples, Jeff mentions that when you come back home and the door knob is moved by an inch you would still notice. Another one is when you are climbing stairs and you miss one step your brain realized it right away and tried to rebalance your body. The concepts in this book have lead to “Hierarchical Temporal Memory” which is one of the most successful algorithms for anomaly detection.

  • Final Jeopardy: The Story of Watson, The Computer That Will Transform Our World

    Stephen Baker

    I got into the world of machine learning when I saw the Jeopardy video by IBM. It’s a small video but if you want to know how all that happened –read this book. What I love about this book is that it has some great pointers if you are building a question answering system. It talks about the hard work IBM team put in to build Watson. It shows how by improving module by module you can achieve something as complex as Watson. After reading this book I realized that Watson was trained not to mention certain forbidden & embarrassing answers even if they had a very high probability!!

  • Ensemble Methods: Foundations and Algorithms

    Zhi-Hua Zhou

    This is an expensive book but worth every dollar you spend on this one. The author explains the entire ML landscape in three paragraphs – perhaps the best summary I have ever seen. It touches on Boosting, Bagging and how they can be used to improve models. Ensemble methods have become extremely popular due to the improvement in accuracy and performance. If you need a basic idea on ensembles, you may not need this book. If you want to dig deep this is a great read.

  • Computer Vision for Visual Effects

    Richard J Radke

    While this book is meant for people getting into visual effects, I was amazed by the usefulness to someone working in computer vision. I highly recommend watching the online lectures by Prof Rich Radke and use this book as you go along. I got my “Intelligent Matting” approach after going through this book. Prod Radke has carefully identified examples and case studies which help you get the ideas really well.

  • Learning From Data

    Abu Mustafa

    If you have not seen the tutorial by Prof Mustafa, I think you are still a rookie in  machine learning. This book starts with the question that “Is Learning Possible” and then builds on top of that. This book uses “Perceptron” based learning approach which can be generalized to any machine learning system. In one of the sections Prof Mustafa shows that if your training data is not seeing enough variations, learning will never be good. I love his approach of raising questions in your mind before telling you the correct way. Amazing book.

  • Black Swan

    Naseem Nicholas Taleb

    Taleb is one of the great story tellers I have seen. If you believe in pattern matching, this book will tell you why its limited. As the name suggests, you might have the belief that all swans are white. In fact these beliefs might be passed from generation to generation until one day you see a “black” swan. Black swan is a rare event that can break your entire belief, predictive models and viewpoint towards things. It’s a must read.

  • Fooled By Randomness

    Nassim Nicholas Taleb

    Nassim Nicholas Taleb was a big time trader before he starting talking about randomness. If you are a Machine Learning person, I believe, you will take the fact that “everything has a pattern” by heart. This book is an “anti” approach to pattern. Taleb talks about how in various cases people have lost money on trading, why the  housing crash happened and some more thoughts. This book builds up on “Black swan” by Taleb.

  • Semantic Information Processing

    Marvin Minskey

    This is an old book where Marvin Minskey has collected various articles on NLP and combined into a book. If you are interested in where it all started, you should read this book. It talks about how Minskey and other researchers in 70’s looked at NLP and how they build interfaces that could parse simple commands. A lot of papers have research ideas that are no longer being pursued but definitely very interesting to read about.

  • The Semantic Representation of Natural Language

    Michael Levison, Greg Lessard, Craig Thomas, Matthew Donald

    This book is for serious NLP researchers and not for engineers. Dealing with Theoretical linguistics, it talks about various strategies to determine the semantic meaning from text. Since this book deals with representation and not parsing natural language sentences, it could be a good reference for you to build systems that respond in common language. It also covers combinatorial algorithms in natural language representation.

  • Neural Networks for Pattern Recognition

    Christopher M Bishop

    This book by Bishop is from pre deep learning era and focused primarily on Feed Forward Neural Networks. This book does an in depth analysis of Neural Network, Optimization techniques and combining networks. While most AI books would have Neural Networks as a chapter, this book fills in the missing pieces that other skip.

  • How to create a Mind

    Ray Kurzweil

    Ray Kurzweil has been an advocate of Artificial Intelligence for decades now. He has done several talks and written several articles on AI. This book is focused around the idea of Hierarchical Hidden Markov Models and how HHMM’s can solve the problems our mind has to deal with.  HHMM’s have been very successful in solving speech to text problems. This is a good read if you want to get an insight on how some of these big names are looking at AI.

  • Perceptrons - An Intro to Computational Geometry Exp Ed

    Marvin M. Minskey, Seymour A. Papert

    If you are working with Neural Networks then the book "Perceptrons" is perhaps one of the books that you should definitely read. This is the first systematic study of parallelism in computation and has remained a classical work on threshold automata networks for nearly two decades. The connectionist revolution, which was shadowed by the symbolic era for a while, started when this book came out. Marvin Minsky (Co-Founder of MIT AI Labs) and Papert have done quite a lot of mathematical analysis of the original "perceptron". The "Neuron" in a Artificial Neural network owes its existence to the concept of perceptron. While the content is excellent, you might find the language a bit difficult to understand. A major reason being that a lot of concepts that we use seamlessly today came up after this book came.

  • Machine Learning for Big Data: Hands-On for Developers and Technical Professionals

    Jason Bell

    If you are just starting up with Machine Learning, this is one of the books I would recommend. This book covers Unsupervised as well as supervised learning and has several examples of how it could be used in the Industry. However, I did find that this book does not have the mathematical detail you would need when working with the algorithms. I think the authors have tried to build something for the programmers so they can get hands on very easily. I did like the emphasis this book gives on data preparation and cleansing.

  • Taking Scope - The Natural Semantics of Quantifiers

    Mark Stiedman

    This is an expensive book and highly technical. When I first picked it I did not understand anything – even the back cover. However if you want to work with complex NLP expressions (lambda) and work with combinatorial stuff this is a great reference. You will need several years of experience with Lambda expressions, First Order Logic and reasoning to understand the contents of the book. If you are a researcher this is a good investment. If you want to solve a quick problem and move on  - I would not recommend this.

  • The Emotion Machine: Commonsense Thinking, Artificial Intelligence, and the Future of the Human Mind

    Marvin M. Minskey

    Marvin Minskey is a legend. His death in January 2016 was a major blow. This mind-expanding book he talks about how emotions, intuitions and feelings work. If you are into building strong AI you should read this book (and Society of Mind). You can’t read this book cover to cover as it will make you think a lot. If you loved “Thinking Fast and slow” by Daniel Kahneman, chances are you will love this book also.

  • Learning Open CV: Computer Vision with the Open CV Library

    Gary Bradski, Adrian Kaehler

    This book gives a great overview of the OpenCV library. Although all the examples are in C++, If you have some basic experience with digital image processing you should be able to port it to Java pretty easily. I like how the book explains various concepts without getting too much into mathematical details. I was able to implement several filters by going through this book. If you want to build some really amazing vision applications, you should have this book handy


  • Artificial Intelligence for Humans: Nature-inspired Algorithms: 2

    Jeff Heaton

    As far as I am aware, Jeff Heaton is perhaps one of the initial implementers of Machine learning in Java. His company Heaton research provides Encog framework that has almost everything – Neural networks, Clustering, Singular value decomposition and what not. Jeff’s approach is to give you the idea without making the mathematics heavy. This book is part of the 3 series in AI. All three are easy to read. His explanation on Genetic algorithms, along with pseudo code implementations is a great attraction.

  • Fundamental Algorithms: 1 (Artificial Intelligence for Humans)

    Jeff Heaton

    If you are just starting up you can pick this book. It has everything you need to explore which problems are solved by which algorithms. However, if you already have some idea on Machine Learning you can read this book as well. It kind of fills in the missing pieces. I really liked the explanation on preprocessing stage and why you should do that. He takes special effort to make your comfortable in working with categoric, nominal as well as Boolean data.

  • A First Course in Machine Learning

    Simon Rogers, Mark Girolami

    This is an interesting book. When I picked it up I actually read almost 80% in one go. If you have a basic idea of machine learning and want to refer to a text book, this is a good one. However, one thing I, personally, do not like is how the author has actually broken down the matrix notation to individual operations in chapter one making things confusing. I believe matrix notation could have worked well. But still, I highly recommend this book. It has a great explanation on Clustering, Gaussian Mixture models.

  • Understanding Machine Learning: From Theory To Algorithms

    Shai Shalev-Shwartz

    Shai Shalev-Shwartz is one of the popular people in machine learning research world. With dozens of papers published his breadth of research is outstanding. This book covers several topics and is structured very well for undergraduates. I recommend reading this book as well as the papers to anyone who is serious about optimization techniques and machine learning in general.

  • Introducing Python

    Lubanovic Bill

    Ok, I am a Java guy. Will always be. But my peers, almost everyone uses Python for machine learning. I picked up this book to understand the code that various open source tools (and online examples) implement algorithms. You don’t find much in Java when you compare to Python. This book was precise, well structured and comprehensive. If you want to start machine learning with python, read this book first.

  • Singularity is near

    Ray Kurzweil

    Singularity is a state when machines will take over humans. This book talks about various advancements in AI that are eventually going to lead to singularity. Ray Kurzweil is a leading authority on AI and his ideas are very interesting to read.

  • Natural Language Annotation for Machine Learning

    James Pustejovsky, Amber Stubbs

    If you want to train your own models for NLP based problems you should check this book out. It talks about best practices on annotating models and tells about tips and tricks for building Gold quality models. It also talks about bootstrapping where you train a model and use it to automate annotation.

  • Machine Learning

    Tom Mitchell

    Tom Mitchell’s book has been around for a while and lot of educational institutions prescribe it for undergraduate studies. This book has everything you need in machine learning. However, after reading several other books on Machine Learning I believe this book could be a bit flat in story telling

  • Data Mining - Practical Machine Learning Tools and Techniques

    Ian H. Witten, Eibe Frank, Mark A. Hall

    This book gets you ready on Machine learning and then goes on to showing you how to implement it using the Java WEKA framework.  If you are a weka user, this is perhaps the only book out there. When I started working with weka this book was helpful. WEKA framework is really good and you know how to work with ARFF format for representing data. 

  • Advanced Analytics with Spark

    Sandy Ryza

    This is a great book for understanding more about use cases of spark. It has uses cases like music recommendation, Taxi trip data as well as semantic analysis. It also has some excellent examples of working with decision trees. Being open source and ability to run Java, spark has become a de-facto platform for all enterprise machine learning. If you are in the enterprise, this book is for you.


  • Visual Information Retrieval using Java and LIRE

    Mathias Lux, One Marques

    This book talks about content based image retrieval. This is an interesting and a hot area. If you want to make an image search engine, this is a good place. It talks about features, histograms and how you can use them to build a search engine. It focuses on the LIRE library which has several utilities built in. If you work with Convolutional Neural Networks, this book may not be for you.

  • Learning Spark: Lightning-Fast Big Data Analysis

    Holden Karau

    If you are a big data guy (or want to be) this is a great book. Why is it listed here in Machine learning, well if you want to do distributed machine learning and have terabytes of data you need this book. This book is great for engineers as well as data scientists. This will get you ready with the concepts of RDD’s. While there is a chapter on Machine learning, I would recommend a follow-up book to see how machine learning works with Spark

  • Smart Machines - IBM's Watson and the Era of Cognitive Computing

    John E. Kelly III, Steve Hamm

    This book burnt a hole in my pocket and unfortunately did not deliver much. If you want to know amazing things IBM is doing you can look at it. Most of the time it looked like marketing material on IBM. And when it was not, it was talking in general about next generation computing – distributed, cognitive and big data oriented. One thing that came out clear was that while IBM advertises “Watson” as a system – it’s actually an umbrella of AIML and Big data algorithms that need to be programmed to work on a case by case basis. It also talks about how IBM solved problems with working and moving large amounts of data. You can probably read it cover to cover on a flight and get the lingo to speak in an IT conference.