What I’ve come to realize about the domain as a beginner and what I’d say to others who are wondering whether they should explore it. (I originally wrote this article in June 2020)
If you're a first-year computer science student and anything like me, you probably almost always feel like there are a ton of things competing for your attention. There are simply too many things to learn. Some things that you need to learn because they are basics that just about everyone seems to know these days (but somehow you don’t), but also quite a few that you’d love to give a try because they seem so much fun.
The thing I’ve figured out about the first category is this — it’s really hard to reach the finish line because there are new additions, seemingly every second. So I decided to stick with the latter and decided to go in for (cue the drumroll) — Machine Learning.
Ah, machine learning. It’s a buzzword that seems to find a place everywhere lately. I, like many others, looked at it like how we often perceive celebrities. It’s greatly in vogue and is apparently amazing. Everyone knows something about it, but only some seem to know what it really entails. So when I wanted to get a taste of ML and learnt that my college course would only give us a rather unsatisfactory peek into the subject, I decided to go in for Andrew Ng’s ML course on Coursera, which happens to be one of the most widely taken ones. It served as a clear, straightforward introduction to the topic, but there are quite a few other great options as well.
But if you are having trouble deciding if delving into this subject is a good use of your time, here are some of my thoughts. I’m no expert — I’m probably just a few steps ahead of you, but that’s precisely why I think my reflections may help.
How difficult is it to grasp the concepts, and do you need a background in coding?
I had a fair amount of basic programming skills — some competitive coding in C++, and coursework in C, but that’s about it. So if you think this branch of AI sounds like rocket science, which is an opinion that many seem to share, think again. You don’t need a lot of prior experience in coding, to begin with, at least — but it does help. Coding is simple and can be picked up fairly quickly, and you can do it while learning the theory and concepts of ML. Writing code was what gave me a clear understanding; it did what no amount of listening or reading could do. And did I mention the satisfaction that you get out of writing your own bit of code, and getting it to work?
Heard it involves a lot of math…
Yes, you heard right. It’s no secret that you need to get your math on for programming in general, and machine learning in particular deals with a whole load of data, which you’ll need to process using math.
I don't love the subject, but that didn’t stop me from enjoying ML, or even coding. So unless you feel you have some real bad blood with math, give it a try. Chances are, you’ll enjoy getting your hands dirty and not just see, but carry out the practical applications for yourself. Worried about not being quite a whiz at the subject? Don’t trip over it. From what I’ve heard, read and seen for myself, you don’t need to be perfectly comfortable with all the calculus and algebra that went into developing some of the algorithms; having a fair intuition and understanding of the basics works just fine. You can always build on them along the way. But I’ll say this too — you don’t need to know all the math, but it sure does help if you do. My high school math certainly did give me some comfort and assurance and offered a deeper understanding of some algorithms that I had to use.
How long until you can build something cool?
When we see something phenomenal developed and get a glimpse of how it’s making a great impact on the world around us, we are inspired, and can’t wait to get started with it ourselves. The Age of AI, a YouTube original, does a great job at showing us just how impactful AI and its subdomains can be (and it may or may not have been one of the reasons I decided to get started with ML). Somewhere in the back of the head, we often have a picture of ourselves building something just as great and getting to see it in action. And then we realize it isn’t quite that simple. It takes a lot of time and learning to get there.
So this is what I learnt — you probably won’t be building something that rivals what tech conglomerates have been trying to perfect for decades, but that doesn’t mean you won’t get the satisfaction. It may be no JARVIS, but looking at your first project in action, however trivial it may seem to others, will certainly thrill you.
The final word
I have no way of knowing whether there will be any remarkable benefits of taking up a course on this subject or taking time to understand so many algorithms, but the joy of seeing my code do a pretty good job at recommending movies to me or play around with the colours on an image was a gift in itself. So if you’re curious about some of the tech that has come to be such an integral part of our day-to-day life or would simply like to find out what all the hubbub around ML is, give it a go. If nothing, you’ll at least challenge your problem-solving acumen and logical thinking capability, all while learning something new.
Credits: Photo by Alina Grubnyak on Unsplash