
Artificial Intelligence resources
This is the list of the best resources to learn the foundations of Artificial Intelligence and Deep Learning. It will be the most useful for beginners, people who want to get into this field, but don't know where to start.
Machine Learning
For the best introduction to the Machine Learning field, watch Andrew Ng Machine Learning course on Coursera. It explains the basic concepts and gives you a good understanding of most important algorithms.
For a short, high level overview of ML algorithms, check out this great TutsPlus course “Machine Learning Distilled”.
A book “Programming Collective Intelligence” is an excellent resource to learn the practical implementation of ML algorithms in python. It takes you through a lot of practical projects, covering all of the necessary fundamentals.
Other great resources you might want to check out are:
Udacity Course on ML by Perer Norvig
Another course on ML taught at Carnegie Mellon University by Tom Mitchell.
mathematicalmonk — Machine Learning youtube tutorials
Deep Learning
The best introduction to Deep Learning that I have encountered is Deep Learning With Python. It doesn't go deeply into difficult math and does not have a long list of prerequisites, instead it describes an easy way to get started with DL, explains how to quickly start building stuff and learn everything else on practice. It explains the most advanced tools(Keras, TensorFlow), and takes you through the several practical projects, explaining how to achieve the state of the art results in all of the coolest DL applications.
Also there's a great introductory DL course from google, and a great explanation of neural networks by Sephen Welch.
After that, to get more in depth, here are some interesting resources:
Geoffrey Hinton’s coursera course “Neural Networks for Machine Learning”. It will take you through the process of training ANN on a classic problem - MNIST character recognition, and will explain everything in depth.
MIT Book on Deep Learning
UFLDL tutorial by Stanford (alternative link)
Book “Neural Networks and Deep Learning” by Michael Nielsen
Book Neural “Networks and Learning Machines” by Simon O. Haykin
Artificial Intelligence
"Artificial Intelligence: A Modern Approach (AIMA)" the best book about the "old school" AI. It gives you a general overview of the field, and explains all of the fundamental concepts that you need to know.
Artificial Intelligence course from UC Berkeley is an excellent series of video lectures, explaining you the basics of AI on a really fun practical project(training AI to play the pacman game). I recommend to watch it along with reading AIMA, because it is based on this book, and explains a lot of the similar concepts from different angles, making them easier to understand. It goes quite in depth, and it's a fantastic way to get started.
How mind works
If you're interested in AI, you probably want to have a good intuition about how human mind works, and the following books will explain the best modern theories in a fun, intuitive way.
- On Intelligence by Jeff Hawkins (audiobook)
I would recommend starting with these two, they will give you an excellent introduction into general theories of how mind works.
Other resources:
- How to Create a Mind by Ray Kurzweil(audiobook).
- Principles of Neural Science This is the best book I could find that goes in depth into NS. It talks about hardcore science, neuro-anatomy and such. Very interesting, but also very long - I'm still reading it.
Math
Here are the very basic math concepts that you need to begin learning AI:
Calculus
- MIT lectures on Multivariable Calculus
Linear Algebra
MIT linear algebra videos by Gilbert Strang
Coding the Matrix — Brown University course on Linear Algebra for CS.
Probability and statistics
Khan Academy Probability & Statistics videos
Coputer Science
To be good at AI you want to be comfortable with the general concepts of computer science and programming.
If you are just starting out, I recommend to read Dive Into Python 3 - an amazing book that will teach you most of the important things that you need to know to be able to program in python.
To understand the nature of computer programming in more depth - watch this classic MIT course. This is a course about lisp and the basics of computer science, based on one of the most influential books in CS - Structure and Interpretation of Computer Programs.
Other Resources
Metacademy - a "package manager" for your knowledge. You can use this great tool to understand all the prerequisites you need to learn different ML subjects.
kaggle — Machine Learning competitions