This book will cover the basics needed to implement and understand your own Artificial Intelligence and Machine Learning library. All formulas and concepts will be presented with code in both Matlab and Python.

Artificial Intelligence and Deep Learning

Today we have a lot of confusion around artificial intelligence, machine learning, and deep learning. Actually those terms are just a subset of the Artificial Intelligence.

What is Artificial Intelligence

Field of study which studies how to create computing systems that are capable of intelligent behavior. Some other texts define as the study/design of intelligent agents. Here agent is a system(Software/Hardware) that perceives its environment and takes actions that maximize its chances of success.

Intelligence definition

For the scope of this book, an intelligent agent is an agent that solve a problem optimally, which means that the system will figure out alone what is the best course of action to take.

Ways for taking a intelligent decision

  • Keep track of all your actions and check if they were good or bad, then compare a new action with one of them.
  • Before take an action, simulate all the possible outcomes (was a good or bad action) then choose the less bad. So you need an abstraction (model) of the world, just remember that a model of the world is not the world.
A funny fact about artificial intelligence is that after a problem is fully solved it's not called intelligent anymore... (ie: Make a computer play chess was the highest display of intelligence, now people don't consider that anymore)


Basically through the history of artificial intelligence we had some periods of surprising/hope and disappointment.
Funny fact is that now we're on a mix of hype/fear

Why Now

The machine learning algorithms (Even the deep ones) are there for decades so why we have now this buzzword?
Basically due to the advance of computing power through (GPUs, multi-core CPU systems, and FPGAs) and the availability of data (Big data) through internet. Also the amount of data that need to be classified nowadays become to big to be handled manually, so big companies Google, Microsoft, Facebook, start to invest heavily on the subject.

The new Hype

The last years 2013/2016 artificial intelligence (Machine learning) is surprising people with results closer or sometimes better than humans. For example:
  • Speech and natural language processing
  • Face Recognition
  • Image Classification, object detection
  • Car Driving
  • Playing complex games (Alpha Go)
  • Control strategies (Control engineering)
So basically people start to become afraid of loosing their jobs and some artificial intelligence server taking over the world.

Computing power Comparison

On the table bellow we present you a table with the amount of possible operations per second and cost of some hardware platforms

Deepmind hardware

Just to illustrate, the picture bellow is the hardware used to play against one of the best Go players in the world.