Build Thinking Machines

An introduction to artificial intelligence and machine learning algorithms

Who is this book for?

Build Thinking Machines is a book for software engineeers who have an interest in Artificial Intelligence and Machine Learning with little to no background or experience in the field.

If your goal is to build your own machine learning libraries or frameworks from the ground up, or simply gain a deeper appreciation for how mainstream machine learning libraries, frameworks or cloud services operate under the hood, this book is for you.

We’ll explore a number of machine learning models from first principles, with a depth of mathematics that is meaningful and practical towards implementing these models in software, but not so deep that it distracts from the core purpose of the book – to build thinking machines. High school graduates will have the requisite mathematics knowledge to follow along. If it’s been a while since you’ve attended high school, the last two chapters will provide you with a refresher on the math covered in the book.

Working software for each of the models we cover is available on GitHub. As an open source project, we encourage you to use the software to supplement your learning and we openly welcome new contributions.