Don’t learn Machine Learning in 24 hours
When it comes to machine learning, there's no quick way of teaching yourself - you're in it for the long haul.
Recently, I came across a wonderful article by Peter Norvig — “Teach yourself programming in 10 years”.
This is a witty and a tad bit satirical headline, taking a dig at all those coffee table programming books that aim to teach you programming in 24 hours, 7 days, 10, days, *insert a ridiculously short time line*.
Dr. Norvig makes quite a strong case. Yes, you may come to grips with the syntax, nature, and style of a programming language in 24 hours, but that doesn’t mean you’ve become adept at the art of programming. Because programming isn’t about a language at all. Programming is about intelligent design, a rigorous analysis of time and space complexity, understanding when a certain language works over another, and so much more.
Of course you could write a Hello World program in C++ in 24 hours, or a program to find the area of a circle in 24 hours, but that’s not the point. Do you grasp object oriented programming as a paradigm? Do you understand the use cases of namespaces and templates? Do you know your way around the famed STL? If you do, you certainly didn’t learn all this in a week, or even a month. It took you a considerable amount of time. And the more you learned, the more you realised that the abyss is deeper than it looks from the cliff.
I’ve found a similar situation in the current atmosphere surrounding Machine Learning, Deep Learning, and Artificial Intelligence as a whole. Feeding the hype, thousands of blogs, articles, and courses have popped up everywhere. Thousands of them have the same kind of headlines — “Machine Learning in 7 lines of code”, “Machine Learning in 10 days”, etc. This has, in turn led people on Quora to ask questions like “How do I learn Machine Learning in 30 days?”. The short answer is, “You can’t. No one can. And no expert (or even one comfortable with its ins and outs) did.”
Looks familiar? Found this on a very funny Facebook page
Even if we were to forget the 10,000 hours rule for a second, you can’t do machine learning in 7 lines of code.
Why? Because those 7 lines of code do not explain how you did in the bias-variance tradeoff, what your accuracy value means, or whether accuracy is an appropriate metric of performance in the first place, whether your model overfits, how your data is distributed, and if you’ve chosen the right model to fit the data you have, etc. There’s just so much more to it even after you’ve answered these questions.
And since you couldn’t interpret your model, you tweak the parameters in sklearn, get a minimal improvement in accuracy, and go home happy. But did you really learn?
In short, don’t do it in 7 lines of code. Do it over 6 months, a year. You’ll know in the middle of that period whether it interests you. Forget the glamour for now, and really get into the depths of this amazing field of research. You should definitely read this. I found it to be the best introduction for a newbie in this field. You don’t need to know math or code to read it. But after reading this, you will realise the entire gamut of concepts you need to understand in order to be fluent with this field, to think in ML, so to speak.
There are indeed fascinating blogs to follow on this subject. Here are some of my personal favourites:
Medium is also a wonderful place to learn. I follow this publication almost exclusively.
If you’re old school, take Andrew Ng’s CS229 at Stanford. This is more involved than his course on Coursera, which is also a good introduction.
An unfortunate result of hype is that we “drown in information and starve for knowledge”. So many people do it, that we frequently lose sight of the bigger picture. Machine Learning is wonderful. It is a serious field of research and development, and is driving so many 21st century use cases.
Just don’t do it in 24 hours.
Here’s the article by Peter Norvig, a must read from a stellar AI researcher of our age.
Seriously, though. Why not?
Original. Reposted with permission.
- 12 Useful Things to Know About Machine Learning
- Ten Machine Learning Algorithms You Should Know to Become a Data Scientist
- Top 8 Free Must-Read Books on Deep Learning