Saturday, May 12, 2018

How Machine Learning started becoming my thing?

Hello guys. I am back to my home country for semester vacation. I wanted to write this blog post since days back, but finally, I could spare some time to grab my laptop and login inside blogger to complete this post.

In this particular post, I'll be sharing my progression from being "just another computer engineering graduate" to a "machine learning enthusiast".

The second semester of my M.Tech played a vital role in deciding which career path I should be taking. And most importantly, I had to choose a domain to research-on for my dissertation.

In the second semester, I had to complete a mini-project in-order the fulfil the requirement of the course "Artificial Intelligence". I must admit that I probably got a good professor who could clearly explain the behinds of ML with real-world examples. After a few classes, my professor asked each and every one of to get our-self involved in any ML project that might represent a real-world problem.
Some of my friends went with building chatbot, facial recognition based attendance, gestures recog., some proposed to build emotion based movie suggestion app. And there I was, unable to extract a real-world problem.

One weekend, I was watching a cricket match and there were stats shown while the match was going on. One of the commentators read the displayed stats as "if this team (suppose A) scores X runs before the death overs, they have Y% probability of winning the match against this team (suppose B)". And that was it. I got the hint about the domain in which my ML project will be based on.

And yes, I started collecting the materials I'll be in need of, for getting started to build the project.

My project was "Prediction model for Indian Premier League match".

I was just starting to get my hands on python for writing some of the ML algorithms like Linear Regression, KNN and KMeans. It didn't get difficult for me to work with Python.

I needed a way to get started, right? Well, I went to Google and searched for "first program in machine learning". Google came out of numerous results, and the top most result was a blog which seemed relevant to an ML newbie like me, machinelearningmastery.com.

You can check out that blog, and I swear you won't be disappointed.

Besides Artificial Intelligence, the same semester I took Data Mining course too. This course, for me, was a cherry on top of a cake. My attendance in these two subjects was cent percent. It was not because my university brought minimum attendance rule into action; it was completely because I was enjoying learning these subjects. I was getting theoretically good with the algorithms in AI class, and in Data Mining I was doing numerical on various topics including decision trees (Information Gain, Gini Index), classification, clustering (K-means, hierarchical clustering), association rules mining.

For the first time in my academic life, I knew I was enjoying learning something.

Getting Started: I had the theory, and I did the mathematics, now the only thing that was left was to follow the basics; start learning by writing the very first ML program which was a classification problem of an Iris Flower Dataset.

That was a wow moment for me! I wrote my first program which learnt from the data it was fed and now whenever a new input (flower description) was provided, the algorithm could instantly classify the flower into one of the three classes. Back then, for me, this was something cool.

Given a dataset, finding interesting details from the data started exciting me. I can't explain that feeling which was driving me into a whole new exciting world. I went through some of the IEEE papers, which discussed how a dataset can be efficiently fed to an ML algorithm and how we can test the accuracy of the developed model. I got acquainted with various strategies like k-fold, and cross-fold validation techniques. Data analysis, feature selection, developing various learning models; day by day I was enjoying what I was learning.

The project: I finally, built a prototype of the match prediction model. The model could predict the winner of an IPL match before hand based on various attributes.

This way I spread up my interest in machine learning.

No comments:

Post a Comment