I am taking AIML mentoring sessions for last 12 months and one of the common questions people ask is what is the right way to learn machine learning. Many institutes today offer AIML certification programs including crash courses. But if you want to self learn then what is the right way ? I want to share my experience here which would help to learn in the right way.

Typically when one learn computer science, they start with basics like Data Structures and Algorithms and then get into programming language constructs. The regular application construct is based on logics and what I call as Logical Programming. This is the primary reason data structures and algorithm is the foundation for it. When it comes to machine learning construct, it is based on probabilities and what I call as Probabilistic programming. The foundation for this is Mathematics, hence it’s important for you to refresh the same.

Following is the order you need to follow:

  1. Knowledge of any of the programming languages like Python, R, Java
  2. Applied Mathematics more specifically:
    • Applied Statistics
    • Differential Calculas
  3. Machine Learning Algorithms with specific focus on mathematics behind it
  4. Deep Learning / Neural Network

The knowledge on any of the programming languages is very important as its important to apply the mathematical concepts you learnt through the programming language. Practicing the mathematical concepts by applying it through a programming language helps to understand the concepts better.

Following are some of my recommendations:

  1. Book: Deep Learning by Ian Goodfellow, Yoshua Bengio and Aaron Courville
  2. Kaggle - For Data Sets & Practicing Machine Learning Algorithms