Getting started with Machine Learning
By: Mayank Arora
Tags: Deep Learning, Data Science, Artificial Intelligence, Machine Learning

Or Deep Learning. Or Data Science. Or Data analytics. Or whatever buzz word that utilizes machine learning.

Let’s not begin with our journey into machine learning by straight away analyzing housing price markets using various regressions or by making a ‘recommender system’ using Restricted Boltzmann Machines(RBMs) or doing something crazy with Reinforcement Learning. Yeah, I know that’s the ‘cool’ application part that apparently everyone wants to start but you see, you can’t construct a really cool 1000 storey without having REALLY good foundations. Almost all of these application based courses lack these foundations and I know many of my friends who take these courses, get stuck on a part and realize, they don’t actually know what the hell is going on. Convinced enough on getting the basics in check? Let’s get started.

Machine Learning is math.

MACHINE LEARNING COURSE OFFERED BY STANDFORD ON COURSERA BY ANDREW NG

I cannot stress enough how important this course is for the basics. This course lays the foundation for all your Machine Learning. This course was recommended to me by every professor I knew. If you’re from CS or any other engineering background, take this course. Do all the assignments. They’re fun. They’re not easy. Week 4 and 5 will make you cry. (Building a neural network and writing backpropagation isn’t easy). But it’ll be all worth it. If you’re from a non-tech background like business or arts whatever, you may skip the assignments although I highly recommend that you do them.

An excerpt from an actual conversation

Friend: “But it’s in OCTAVE. Nobody uses it anymore. And he’s so slow. And it’s too theoretical. It’s too much maths.”

Me, an intellectual: “Listen, mate. Yes, it’s in Octave. But it’s alright! It’s not that bad. Andrew explains it in the first video why he’s using Octave. He’s taught this in many languages before and Octave was found to be most suitable. And anyway it’s only an 11-week course, which if you’re doing in summer, you’ll complete it in 6–7. Yeah, sometimes he’s slow. Watch the videos at 1.5X. It’s too theoretical? All applications are based on solid theory. It’s too math heavy? Yeah, it is. Although, if you know basic calculus and linear algebra, you’re good to go. If you’re from non-engineering/not a math heavy background, it may be bit of a problem but Andrew explains all of that in a very intuitive manner (including backpropagation) so you’ll be just fine. Except in week 4 and 5. You will bleed”

Learn Python/R

If you already know one or the other, you’re good to go. I chose Python because it’s more versatile and as a CS guy, it’ll be more useful for me. R is more used by math/statistics academia. It doesn’t really matter where you learn these from. If you’ve already coded before like in C/C++/Java whatever, it’ll take approx 2–3 days to get hang of python and understand it and within a week you’ll be writing good pythonic code(if you practice daily, that is). If you haven’t coded before, like ever, it’ll take at least 2–3 weeks to get to the point where you can read, understand and write ML code. Take it slow, you’re not in a rush.

(Use Anaconda. Please. Don’t mess around installing all those libraries and jupyter notebook all by yourself. It’s not worth it. And always use a virtual environment. Thank me later. )

I learned Python from “Python Crash Course: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes. It was complemented by Corey Schafer and Dan Bader on YouTube.

Once you’ve learned python, start messing around with NumPy. Then Pandas. Then make cool graphs with matplotlib. Make cooler graphs with seaborn. Take your time, fiddle with these libraries. When you’re done with it….

BUY AN APPLICATION BASED COURSE ON UDEMY/COURSERA

You now know the basics, know the math, and most importantly, python. You’re in such a good position to start the course. It can be Machine Learning A-Z, Data Science A-Z, any machine learning masterclass, or Deep Learning specialization on Coursera again taught by Andrew(this time in python :D ). Oh, and btw, you’ll breeze through these courses. Normally these will take you many weeks and a lot of frustration, now in barely 1–2 weeks you’ll be able to implement all them cool multivariate linear regressions, logistic regression, SVMs, etc. It’s gonna be super intuitive now that you’ve put in all the hard work.

Now is the time to expand your horizon. Read articles on Medium until your recommendations look like this….

AI vs ML vs DL

Basically…

Here’s a really cool diagram telling you about the different areas in ML

Want a book? I highly recommend Hands–On Machine Learning with Scikit–Learn and TensorFlow. It’s probably the best book out there for Machine and Deep Learning. I’ll recommend waiting for the second edition as it uses Tensorflow 2.0 in the Deep Learning part. Also, Start Kaggling. I highly recommend you doing data science competitions. Read kernels, you’ll learn a lot. Or build something like a recommender system ;).

Thanks for reading this article. All the best for your Machine Learning journey.