How I got started with Machine Learning & AI

Years ago, while my fascination for technology was appetizing me to work on something really cool, I stumbled upon this amazing technology that lets machines learn from examples and do things without explicitly being programmed to do so. It stood perfectly against my previous understanding of computers, and at that moment, I decided to start my journey of comprehending it, hoping that it would help me quench my thirst to effectively solve problems around me with technology.

While machine learning was not really a new idea, I learned that the recent advancement in computational efficiency opened the possibility of working with models that consisted of numerous layers of neurons and fed on humongous datasets. It seemed like, everything touched by “Deep Learning” became better: speech recognition, image recognition, translations, natural language processing. It even enabled computers do things we (people familiar with how programs are written) never imagined: image captioning, music synthesis, generating serious artwork, the list goes on.

Though my determination to master this technology was solid, it took me a while to get started (longer than I thought), not because of the lack of resources that anyone can Google in seconds, but because of the difficulty in locating appropriate resources that fit my level of understanding. In short, had I been given a perfect “pathway” to follow to learn, I could have saved a whole lot of time. Despite the fact that I still am in my “learning stage”, I felt like I’ve made considerable progress from where I started, and thought that sharing my journey would help others wanting to get started with ML and AI from absolute zero. So here goes my “Pathway to get started with ML & AI”:

Step one: Math foundations

Even though “Machine Learning” sounds very techy, it happens to be more of a mathematical discipline. Before getting started, it's recommended that you are comfortable with linear algebra, probability, statistics, and calculus.

Step two: Machine Learning algorithms and concepts:

Here is a great course on coursera created by Stanford University, and taught by Andrew Ng (Former VP & Chief Scientist at Baidu, Co-Founder of Coursera, Lead the Google Brain Team).

Link: https://www.coursera.org/learn/machine-learning

It covers many essential topics like linear regression, logistic regression, regularization, support vector machines and explains how all these fits into picture with real world examples.

Once you are comfortable with classic ML concepts, and ready to dive into the world of Neural Networks and Deep Learning, there is another great course, again by Andrew Ng, through his initiative-deeplearning.ai

Link: https://www.coursera.org/specializations/deep-learning

This course will introduce you to the world of Neural Networks and talk about popular classes of neural networks — Convolutional Neural Networks (most commonly applied to analyzing visual imagery), Recurrent Neural Networks (deals with sequential data like text, audio), and gives you an intuition as to how to choose the right models to solve different problems.

Step three: Applying into real-world systems

Enough theory. By the time you reach here, you should be having a solid foundation of the math that goes behind ML, and must have an intuition for the working of different model architectures. In order to get yourself motivated with results, as well as to enable yourself contribute to this world with your own projects, it is essential to learn to work with computing libraries like tensorflow, and specific neural network libraries like keras. Its more of a personal choice as to where to start from. I was very much inclined towards tensorflow, maybe because of all the hype Google was able to build around it, or maybe because it is really cool.

Here is another great specialization course — Machine Learning with TensorFlow on Google Cloud Platform Specialization

Link: https://www.coursera.org/specializations/machine-learning-tensorflow-gcp

This course is extremely useful for anyone looking to get started with machine learning. It takes you through significant (but sometimes underrated) data preprocessing steps, feature engineering, and best practices in the industry.

You will also be introduced to tools like DataFlow on Google Cloud Platform that will let you scale your model and automate data processing pipelines in real-time.

Final Step: Continuously learn

Being on a continuous lookout for — new research papers, new methods of solving problems and new tools that let us solve problems efficiently — is very important. Here are some blogs and youtube channels to follow to keep yourself updated: