How to get started with Machine Learning?

This post is an attempt to learn how to make machines learn i.e learning machine learning.

In this blog, I am going to tell you about where to start, which language to choose etc if you want to learn Machine Learning(ML). And, don't worry if the first statement of this post seemed confusing ;P. The whole post will be easy enough to be understood by an undergrad.

Step 1: ML101- Andrew Ng

This is the guy who brought me to this wondrous world of Machine Learning. He has a free course running on Coursera website. The course is Machine Learning by Stanford.

Introduction:
This course talks about the following:
  1. Motivation for ML
  2. Different algorithms/models like Regression, Neural Networks, SVM etc used in ML.
  3. Advice for applying Machine Learning in real life problems
  4. Practical ML problems like recommendation systems
How to make most of it:
They have around 11 weeks of study. Each week has some video lectures, a quiz and a programming assignment. Try to do programming assignments too. Assignments will take some time like 2-3 hours per week depending on your background. They are of moderate level. Giving time on these assignments will help you build the necessary intuition and implementation level understanding of ML concepts.

It is not important which language you use to do these assignments. I used Octave because this was the recommended language for this course. Remember, you are here to learn ML not some language like Python/R. Right now, I work in Python without any difficulty even though my ML journey started with Octave and MATLAB.

Step 2: Self-Project- Playing with Data

Pick up a very simple and common topic for your first ML project. Some examples are:
  1. Spam emails Classification
  2. House Price prediction
  3. Breast Cancer Detection
  4. Face Detection System
  5. News/Movie Recommendation System
You will get a lot of codebases online for these projects. Take some ideas from codebases and start working on it. People must be having a lot of good blogs on these too. Code up this project from scratch even if it means to write exactly what is written in the project which you are referring too. Don't copy the code. Understand it first and then write your own version. Refer to it again when you are stuck. 

Congratulations!!! This might not give you invention of the year but you will get your first hands-on project in this field. And trust me this helps.

I did Face Detection System as my B.Tech Project in MATLAB.

Step 3: Research or Data Science Job?

After you got a decent knowledge about ML basics and some hands-on, you have to choose what is that you are looking for. Whether it is the data science job that excites you or if rigorous M.Tech/PhD entices you to take up research in some good institution even if that means studying for another 5 years.

If you choose to do research in data science, congrats, your life is sorted, just go and start looking for admission in a premier institution. Get admission, take up good data science courses and do some interesting research as a part of the curriculum.  

Note: If you are looking for research, start building your concepts about linear algebra and probability. These are extremely important basics of ML.

Now, If you are looking for a serious data science job, then it is better you start working on some cool projects to write on your resume. As the saying goes, there is no better teacher than experience. Your resume has to show that you have enough experience to fetch you this job. Before going to deep learning, make sure you have a good understanding of popular ML models like Random Forest, SVM, Regression etc.


Step 4: The most common question- Language to do ML?

There is no particular language to start with ML. The most popular ones are Python and R. Learn any one of these. ML is more about statistics than a particular language. Don't waste too much time selecting a language. Choose one and start working on your models in that language. Never be afraid to change language whenever your application requires to. Don't get stuck in languages. Stick with concepts.

Still, if you are confused and afraid, I would say go with Python since there are a lot of popular libraries build upon that like Tensorflow, Keras and Torch.


Step 5: Conclusion

Stay curious about what is going around in the world. If the applications of data science like self-driving cars astound you every day and you get all excited to do something like that.. then my friend you are in the right direction.

Happy Machine Learning!!



Comments

Post a Comment

Popular posts from this blog

A visit to 10th Grace Hooper Celebration India(GHCI) 2019

Google SDE Interview Experience (On-campus)

En route to Microsoft Data Scientist