One of the main questions I keep reading in Reddit, Quora and StackOverflow is the following: Hey, guys! How can I learn Machine Learning and Deep Learning in 201x?. It seems a pretty straight forward question, but it does not have an easy answer, as machine learning is a broad field and the available resources right now with the “explosion of artificial intelligence” are large.

Thus, with this post I will try to personally answer to this question, considering my own experience and all the answers to this specific question I found along these months.

Smiley face


Courses and books:

For those that enjoy video lectures to learn stuff, I would recommend starting with these courses:

  • Machine Learning by Stanford University: This is a must for those of you with no background about Machine Learning and Data Science. It is taught by Andrew Ng, the person responsible for the deeplearning.ai initiative that a month ago started offering a set of courses to teach everyone deep learning from scratch (Check out these deeplearning.ai courses as they may be a great fit for you too).

  • Fast AI Deep Learning Course: Equivalent to the deeplearning.ai courses. The main difference between them is that the deeplearning.ai degree is built from down to top (DL internals to practical DL), while fast.ai follows a top to down approach (practical matters to DL internals)

  • CS231n: Convolutional Neural Networks for Visual Recognition 2017 (2016): If what you like is computer vision this is also a must. It will give you a great background to prepare yourself for the research field of computer vision.

  • Deep Learning by Google: This is one of those courses I tried to start several times failing in the attempt. It gives a pretty nice intro about Deep Learning. However, the lectures feel quite boring and I didn’t feel I was learning that much.

  • CS224d: Deep Learning for Natural Language Processing: Enjoyable course to approach if what you are interested in is Natural Learning Processing. Right now I am working on this field and let my assure you that it will give you all that you need to start a career in the NLP world.

Now, for those who prefer learning from books, the following two resource are really nice to get a basic undersanding about ML and DL. They are completely free, the only drawback is that they are only available online, so it gets pretty uncomfortable reading them in some scenarios.


And what about the practice?

I get it, the theory is awesome and everything seems to work in the paper (or the video), but how can I practice everything that I’ve learnt? If what you like is to approach brand new problems (at least brand new for you) without that much help I will start a

  • Kaggle account. If you are wondering what Kaggle is I think the best way to understand it is sharing how they define themselves in their website “The best place to explore data science results and share your own work”. Sounds great right?

On the other hand, if you prefer following a set of well-defined tutorials I would suggest the following list of tutorials. Some of them were shared by Andrey Nikishaev in one of his Medium posts.