Learning Path for Machine Learning

Basics of machine learning with TensorFlow

Step 1: Understand what ML is all about

The book ‘Deep Learning in Python’ by Francois Chollet, creator of Keras, is a great place to get started. Read chapters 1-4 to understand the fundamentals of ML from a programmer’s perspective.

Google Developers Machine Learning Crash Course

Machine Learning Glossary

Step 2: Beyond the basics

Take the TensorFlow in Practice Specialization, which takes you beyond the basics into introductory Computer Vision, NLP, and Sequence modelling.

Completing this step continues your introduction, and teaches you how to use TensorFlow to build basic models for a variety of scenarios, including image classification, understanding sentiment in text, generative algorithms, and more.

Step 3: Practice

Try some of our TensorFlow Core tutorials, which will allow you to practice the concepts you learned in steps 1 and 2. When you’re done, try some of the more advanced exercises on the left side of the page.

Completing this step will improve your understanding of the main concepts and scenarios you will encounter when building ML models.

Step 4: Go deeper with TensorFlow

Now it’s time to go back to ‘Deep Learning in Python’ by Francois and finish chapters 5-9. Every example in this book will work in TensorFlow 2.0, just by changing an import. You should also read the book Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow, by Aurelien Geron. This book introduces ML using scikit-learn, and also deep learning using TensorFlow 2.0.

Completing this step will round out your introductory knowledge of ML, including expanding the platform to meet your needs.

Theoretical and advanced machine learning with TensorFlow

Step 1: Refresh your understanding of math concepts

ML is a math heavy discipline. If you plan to modify ML models, or build new ones from scratch, familiarity with the underlying math concepts is important. You don’t have to learn all the math upfront, but instead you can look up concepts you are unfamiliar with as you come across them. If it’s been a while since you’ve taken a math course, try watching the Essence of linear algebra and the Essence of calculus playlists from 3blue1brown for a refresher. We recommend that you continue by taking a class from a university, or watching open access lectures from MIT, such as Linear Algebra or Single Variable Calculus.

Step 2: Deepen your understanding of deep learning with these courses and books

There is no single course that will teach you everything you need to know about deep learning. One approach that may be helpful is to take a few courses at the same time. Although there will be overlap in the material, having multiple instructors explain concepts in different ways can be helpful, especially for complex topics. Below are several courses we recommend to help get you started. You can explore each of them together, or just choose the ones that feel the most relevant to you.

Remember, the more you learn, and reinforce these concepts through practice, the more adept you will be at building and evaluating your own ML models.

Take these courses:

CS231n: Convolutional Neural Networks for Visual Recognition is a collection of lecture videos and slides from Stanford on the details of deep learning architectures, with a focus on learning end-to-end models for computer vision tasks. This is an excellent course and a great place to begin. The MIT course 6.S191: Introduction to Deep Learning is a shorter introductory course on Deep Learning with TensorFlow from MIT and also a wonderful resource. You can also try the MIT Deep Learning collection of courses and lectures on deep learning, deep reinforcement learning, autonomous vehicles, and artificial intelligence, taught by Lex Fridman."

Finally, Andrew Ng’s seminal Deep Learning Specialization at Coursera has five courses in which you learn the foundations of deep learning, including Convolutional networks, RNNS, LSTMs, and more. This specialization is designed to help you apply deep learning in your work, and to build a career in AI.

⬆ And ⬇ Read these books:

To complement what you learn in the courses listed above, we recommend that you dive deeper by reading the books below. Each book is available online, and offers supplementary materials to help you practice.

You can start by reading Deep Learning: An MIT Press Book by Ian Goodfellow, Yoshua Bengio, and Aaron Courville. The Deep Learning textbook is an advanced resource intended to help students deepen their understanding. The book is accompanied by a website, which provides a variety of supplementary materials, including exercises, lecture slides, corrections of mistakes, and other resources to give you hands on practice with the concepts.

You can also explore Michael Nielsen’s online book Neural Networks and Deep Learning. This book provides a theoretical background on neural networks. It does not use TensorFlow, but is a great reference for students interested in learning more.

Step 3: Read and implement papers with TensorFlow

At this point, we recommend reading papers and trying the advanced tutorials on our website, which contain implementations of a few well known publications. The best way to learn an advanced application, machine translation, or image captioning, is to read the paper linked from the tutorial. As you work through it, find the relevant sections of the code, and use them to help solidify your understanding.

Kaggle

multi-class classification and multi-label classification

multi-label classification