Machine Learning today is one of the most sought-after skills in the market. A lot of Software Engineers are picking up ML, simply because it is a highly paid skill.
So, how do you learn Machine Learning?
First things first - the prerequisites:
Basic calculus. In Machine Learning, you’d be working on a lot of optimizations that require knowledge of Calculus. It would be highly recommended that you are aware of functions, limits, differentiation, maxima, minima, etc.
Linear Algebra. When you talk about ML, you will be dealing with matrices and vectors every day. So, knowledge of Linear Algebra is a must. However, you’d also be required to know about other important topics like Eigenvalues and Eigenvectors
Probability. Most ML algorithms try to “model” the underlying phenomena that generated the observed data. All of this modelling is probabilistic. It is therefore highly recommended that you are comfortable with the theory of Probability.
Getting into actual ML:
Take a great online course on ML. The most well-known course is the one offered by Andrew Ng (Coursera). It is a great course and it teaches you the basics of Machine Learning - Regression, classification, various ML algorithms, etc. The course also requires you to build a digit recognition system.
Once you have the basics in place, it would be a great idea to practice some problems on Kaggle. Kaggle is a well-known Machine Learning contest platform where you can compete with others in training ML models on various datasets.
Take up ML projects. This is the most important point. Ideally, you’d want to have not only ML experience but also some great projects on your resume that you can showcase. These projects will help you distinguish yourself from other candidates. After searching a lot for courses that teach ML through projects, I found the one by Eduonix quite relevant.
The best way to learn Machine Learning is to actually apply it to real datasets and solve real problems. Machine Learning is as much of an art as it is a science. You will learn it from experience. Your focus should be on attempting multiple ML projects so as to gain experience and build a strong profile.