A Journey of an ML Ninja….

Lijesh Shetty
6 min readJan 15, 2020

Ninja is the word that comes to mind as I begin to write this blog and look back at what I have done so far.

A Ninja is one who operates with great grace and ease, to the point of making what they do seem simple. It is only after hours, days, weeks, months, and years, however, when one can finally reach this level.

A picture of a Ninja — ML Ninja. Image credit to pnghunter.com
ML Ninja

A few years ago, my thoughts about Machine learning were different from what they are now. I perceived Machine learning as convoluted and treacherous, with its emphasis on Advanced Math, and its vast expanses. A novice at the time, the task of attaining mastery of this subject seemed impossible and didn’t even know where to start.

Where to Start? (Image Credit to funnyjunk.com)

At the same time , I also knew that ML(Machine Learning) is the next wave in Technology and was going to impact, and perhaps change, the future. If I wanted to ride the oncoming “wave” it was imperative to know ML in great detail. While the task remained daunting, my love for mathematics, and passion for technology overrode what qualms I once had. I told myself “Lets start and then see how it goes”.

After spending more than two years in the field of ML, both learning and applying them to different use cases, I have come to a place where I am confident enough to put down my journey in ink. I feel obligated to share my experience if it could help someone else build their own ML skills. I hope my blueprint will help someone who is yet to start her ML Journey or is in the process already.

BluePrint (Image credit to Shutterstock.com)

With that note, I share with you my journey of how I did my voyage from a Novice to a Ninja:

Step 1: Python. I started by learning Python. With its large libraries, simple syntax, and compatibility with a variety of third party languages and platforms, is fast becoming, the language of choice in many ML circles. Learning Python was easy for me as I have a strong software development background. I mastered Python by doing courses from Udemy (Complete Python bootcamp), and Datacamp’s Python courses. Datacamp’s courses on Python are by topics, and I did the courses as and when I felt I required them. I also referred a book — Python Crash course :by Eric Matthes, which still serves as a quick reference guide for me to go to when I have any challenges with Python code.

Step 2: ML Course. With Python under my belt, my next step was to gain knowledge in Data Science and Machine Learning fundamentals. I enrolled in Datacamp course — Data Scientist with Python Track. This is an 100 hr long, 26 courses, taught by some of the well respected names from the machine learning world. This course, took me 3 months to complete, gave me a good understanding of different machine learning concepts, shallow learning models\algorithms, and basic python data science libraries such as Scikit, Matplotlib, & Pandas. It also helped me understand the basics of application of statistics to solving machine learning problems. By the end of the course, I had learnt building and applying shallow learning models such as RandomForest, K-Nearest Neighbor, AdaBoost, etc. to solve sample business problems. I was finally getting somewhere..

Lijesh Shetty : Become a ML Ninja
Getting Somewhere (Image Credit to makeameme.org)

Step 3: Kaggle. I felt I was now ready to try my hands on some real world problems. My quest for data and to solve real world problems led me to the Kaggle site. Kaggle is one of the most amazing thing that has happened to Machine Learning community. It has a wealth of data, and variety of use cases in it — a real gold mine. I started building my own models, ran and compared with other Kernels out there. It helped me develop a good intuition of shallow learning models. I published a few of my works in Kaggle.

Step 4: Deep Learning. Deep learning was gaining momentum, and libraries & techniques such as TensorFlow, Theano and Keras really took off. I jumped back into Datacamp site and completed its Advanced Deep Learning with Keras course. I was impressed, and still am, with the potential I saw with deep learning. Few of the Books below are really good resources if you want to become a good student of Deep Learning

Deep Learning with Python : Francois Chollet

Deep Learning with Keras : Antonio Gulli and Sujit Pal

Hands-On Machine Learning with Scikit-Learn & TensorFlow : Aurelien Geron

Deep Learning : Ian Goodfellow, Yoshua Bengio, and Aaron Courville

Step 5 : More Deep Learning. To get a better understanding and intuition of Deep Learning, I enrolled myself in another Coursera (Deeplearning.ai) Deep Learning specialization course taught by Andrew Ng. This course taught me to build ML models without using the advanced ML libraries such as TensorFlow and Keras. I was now able to build both Forward Pass and Backward propagation in native python code for different Deep Learning Models. This boosted my confidence.

“It is really difficult to get a good grasp of Machine Learning without understanding Maths that powers it, so don’t shy away from Maths and use resources such as KhanAcademy to your perusal.”

Step 6: Other Things. As you would expect, I had forgotten many of the high school Mathematics concepts : Linear Algebra functions, Calculus and Probability. To jog my memory, and to strengthen those concepts, I routinely visited, and still do, as needed to KhanAcademy.org. It is really difficult to get a good grasp of Machine Learning without understanding Maths that powers it, so don’t shy away from Maths and use resources such as KhanAcademy to your perusal. One other thing I do frequently is reading the data science publications. It keeps me abreast with the latest of Machine learning, and aware of the new frontiers of Machine Learning. I also routinely go to Kaggle and participate in different ML Competitions. It helps me to keep my skill honed.

When I started my ML journey, I was not able to understand the ML papers but now now I am at a point where I can understand the papers, and its proposed solution. It is a good indication that I have a come long way from being an outsider to someone who is on the inside.

As you learn more, you can learn more.

You don’t have to follow my Journey as prescribed. Pick the steps which suit you, and add new one’s as you need. Irrespective of the number of steps you have to take, I can assure you that learning becomes faster as you progress. So take your first step, despite your hesitations, and soon enough you’ll look back to find you’ve just climbed a mountain.

Give me a clap, if you liked what you read or you think this will inspire and help you in becoming a ML Ninja.

--

--