If you’ve ever wanted an interconnected web of many of the most fundamental concepts in machine learning, the 2020 Machine Learning Roadmap will help you.

Of course, it doesn’t cover everything, multiple textbooks would be required for that but it’s more than enough to get started and keep going for a long-time.

It will help you join the dots between different concepts, which is paramount when learning a topic because rather than learning a single topic in isolation, you start to understand how it pieces together with everything else.

Once you have an overview, you can dig deeper into whatever sparks your curiosity.

At first, it will seem intimidating, all of these concepts linked together in such a way but what’s important to realise is that with enough experimentation, enough exploration, enough trial and error, enough play, parts of the puzzle will start to fall into place.

At the time of this writing, I’ve been studying machine learning for 3-years (for reference I started in mid-2017). And while I’ve learned a lot since beginning, I still consider myself an amateur. My learning has been very top-down, the kind this roadmap provides. Now I am starting to progress towards a bottom-up approach, with the aim of meeting myself somewhere in the middle.

What does it cover?

The roadmap diverges into five paths:

  1. 🤔 Machine learning problems – what are the main problems in machine learning?
  2. ♻️ Machine learning process – how do you go about solving a typical machine learning problem?
  3. 🛠 Machine learning tools – what tools can you use to build the solutions you’re after?
  4. 🧮 Machine learning mathematics – machine learning is a combination of several branches of mathematics, what are these?
  5. 📚 Machine learning resources – how can you and where should you go to learn all of the above?

Resources to learn more and short overviews for each are provided.

What is it missing?

Of course, it is biased towards my own experience with the field. So it focuses on the Python programming language. But of course, since machine learning is applied mathematics, it’s possible in any programming language with a numerical component.

It also focuses heavily on supervised learning. Once/if I gain more experience in other learning techniques such as unsupervised learning or self-supervised learning, I’ll add them.

There is likely more but it escapes me for now.

However, the beautiful thing is, because it’s dynamic, I’m able to update it with anything you think should added. If you feel an update is required, please let me know (I’d make it publicly editable but at the risk of it turning into the wild-west of resources and a lack of the opportunity for the tool it was created with to offer edit suggestions, have decided against it).

How can you use it?

My suggested approach is to explore, explore, explore. Depending on your skill level, you can treat it as a reference or a resource holder to come back to (there are many helpful links throughout it).

If something is unclear, don’t fear going back over it. Learning is not linear, revising something for a second or third time, often brings more than double or triple the benefits.

For the visual/auditory learner, there is also a feature-length film (it’s actually longer than most movies) video walkthrough and presentation to go along with it.

Resources

Happy (machine) learning!

For more information or to request something be updated, leave an issue on GitHub or message me.