This little post is about what I have learned from my 7 month ML journey. Hope a newbie like me finds something to invest his/her 5 minutes in.
About 7 months ago, I seriously started to focus in the ML field. And right now, I have done many considerable good things. I have done projects like toxic-comment-classifier, sarcasm-detector, movie-recommender etc. And some “non-ML” projects like image-optimizer and an online gaming site to play Tic-Tac-Toe against unbeatable bot. Also I am an expert in Kaggle kernels and doing summer Internship in Deep learning in Bangalore, India.
I will divide this post in 3 parts.
- How to start?
- How to grow?
- How to maintain?
How to start in ML?
This question is very common in almost all of the aspirants. One basic analogy is, one needs to have at least basic knowledge of statistics, calculus (specially for Deep Learning) and linear algebra to understand concepts of Machine Learning & Deep Learning. Remember I have said “basic”. You don’t need to be an expert in it. And if you have done good high school studies, you most probably have it. So, congrats. You already have a base of ML!!
While starting, remember one thing. Learn in BFS manner, not in DFS manner. What I want to say is, try to grasp the overall idea of each and every concept of ML. Don’t just pick one algorithm and do very deep in it. Remember, in ML, there is no one such algorithm which always gives the best result. So, learn the basic concept of every algorithm. And apply them to some real world data.
By doing these courses, you will at least have some idea what ML is all about, and how things work. That’s what our goal was!! Congrats, if you have reached this far.
How to grow in ML?
I think there are 2 main ways to grow your knowledge in ML. Projects & Competitions.
Try to build something which includes some algorithm which you have just learned. It’s not compulsory to select some high level cutting edge project definition. You can even choose to use simplest linear regression in your project. Aim is to implement it and build some real world use case. While building them, you will face many issues. But that’s perfectly okay!! Find some fix as per your understanding. And move on.
Second way is Competitions. Kaggle is one of the biggest data science communities. Take part in running competitions and learn as much as you can. Platforms like KDnuggets, Analytics Vidhya are also good.
It’s completely okay if your rank is low in these competitions. Your aim is not to win millions of dollars by winning these competitions, your aim is to learn something. You know, sometimes in these ML competitions, 1st rank will have, let say 0.98598 accuracy and a person at 500th rank will have 0.97198 accuracy. Rank difference is very high. But the score is nearly the same.
Read and try to understand other people’s view on the same problem by Kaggle kernels. Many working professional data scientists share their point of view by kernels. That is the best and fastest way to capture important things. They have experience and knowledge. See how they think and grow your thinking process that way.
How to maintain the growth in ML?
This is very important. ML is a vast ocean. Even some great researchers don’t know all the concepts fully. And you actually don’t need to digest all concepts. And even if one knows all the concepts fully, his/her knowledge will not be “full” after a week or two. Because in ML, every week something new comes.
Keep updated yourself by reading latest research papers. Reading research papers is an art. You need to read them at least 2–3 times to grasp the very core of it. Try to understand what it is saying. Avoid mathematical formulas at first, if you find it cumbersome. Just grasp the idea. Learn these concepts and apply them in projects and competitions. You can keep up to date yourself in the cutting edge data science research by referring the publications from top tier conferences such as ICML, and reading blogs such as “Import AI”.
If you don’t know how to know all the things about these top conferences, here is the best source to know more about each upcoming event in ML.
Doing ML alone can resist your growth. Because you never know what this concept can be viewed this way also. Here comes meet ups and tech-talks. PyData is one of them. PyData arranges various events and meetups around the world. Join them if you can. You will definitely learn something new. PyCon is also good (specially for those who prefer Python as their working language. Which many of us do). Watch some success stories like this & this to encourage your self learning!!
Also, keep visiting Towards Data Science, Hacker Noon, Becoming Human like websites regularly. All these blog sites have plenty of great blogs written by ML professionals. Also use Twitter wisely. Follow some great professionals there and never be late to catch new things.
At last, One important thing. Don’t expect results quickly. I have been doing ML for 7 months now. And I don’t know many many concepts of ML (knowing what you don’t know is also an important thing). You can’t expect to understand and implement all the concepts in half a year.. Things will be understood as the time goes. Don’t compare yourself with anyone. Just be the best version of yourself. Everyone is unique.
And yes, you will need support when things are not going well. So, make a few besties with whom you can share everything including your achievements and sorrows. They will help you.