How to Master Machine Learning: 3 Tips to Get Started
Whether you're only here for the hype or genuinely interested in the field, you’re in for a wild ride.
Modern-day AIs are just applications of machine learning. We use them to make financial decisions, drive cars, and be our assistants like Siri—you know, all the fancy stuff. But I bet you interacted with at least 3 of them just a minute ago without realizing it. They also curate your social media feeds, filter out spam from your inbox, and manage your device's battery consumption. That's how ubiquitous they are.
Don't worry if you're only here for the hype. I expect machine learning to be so much more prevalent, the next generation of high schoolers will study it in school in 5 to 10 years tops. If you don't get into this field now, your boss will eventually force you to. Besides, it isn't that hard. If you know how to build lego towers, you're smart enough to build neural networks (no kidding!).
I know you're probably anxious about entering the field. When I asked other newbies about this, I discovered their anxiety stem from (a) not knowing where to start, (b) the daunting amount of stuff to learn, and (c) the uncertainty of whether their skills would match with industry requirements. If you're like them, here are three tips for you:
1) Pick resources that best fit your learning style
First, figure out whether you're (a) an application-first or (b) a theory-first person. Here's an analogy: a fully-functional spaceship crashlanded in your backyard. You want to fly it. Would you (a) experiment which button combinations would make it fly or (b) break it down first and try to form a theory of how it works?
This is important because most resources target only one type of learner. I know people who started by reading books so dense with theoretical maths that they eventually questioned their self-worth and quit. I, on the other hand, followed tutorials that focused too much on applications. It was fun until I realized I wasn't learning much—I just memorized procedures like an office drone. Don't be like us.
I'm currently writing a book that aims to cater to both types of people. But, it won't be out until summer next year. For now, here are a few resources to get you started:
For application-first people:
Kaggle's Micro-courses
Aurélien Géron’s Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow [Book]
Kaggle’s How to Win a Data Science Competition [Online Course]
For theory-first people:
Review probability theory, multivariate calculus, and linear algebra
Andrew Ng’s Machine Learning [Online Course]
Goodfellow, Bengio, and Courville’s Deep Learning [Book]
2) Focus on creating output
Reading a lot is overrated. It doesn't matter how many pages you read or how many tutorials you watch; if you don't get your hands dirty, you won't learn anything.
For application-first people: every time you learn how and when to use a new algorithm, try to use it in a project. It's okay if it feels forced or over-engineered. Your primary goal, for now, should be to build stuff and make them work. That's it.
You can also mix-and-match the algorithms to build even bigger projects. After I built an image-to-text extractor and a translator, the next thing I made was a knock-off version of Google Lens. It sucks, but it works! Once you get bored with that, try to invert the tasks. For example: instead of just detecting objects in an image, why don't you generate images with your desired items in it - ala DeepFakes?
For theory-first people: the books I recommended earlier are not novels, and the online courses are not movies. Try to implement the algorithms from scratch and prove every statemate or theorem you come across. If you think you can't without reading ahead, then try to prove that too. No excuses.
I love coding, and I appreciate the beauty of mathematics. If you're like me, don't spoil yourself with the solutions. You'll know when you're doing great when you feel dumb most of the time but still interested in learning more. Just keep at it! Trust me, the maths involved are deep and fun. But, you'll only fully appreciate them when you make an effort to understand them.
3) Join lots of competitions
Here's a secret: most machine learning competitions are either (a) recruiting events or (b) a way for companies to fish for solutions for their problems. Thus, the challenges they give you are precisely the challenges that those companies also experience. So you can treat these competitions as practice grounds for "real work.”
Competitions, especially hackathons, also taught me a lot of lessons. (1) I learned how to work with a team in high-stress situations. (2) I learned how to overcome perfectionism. And (3) I learned that the real winners are those who improve the most.
I have won various national and international competitions. And the best advice I could give you is to focus on how your products can improve people's lives.
In the next issue, I’ll discuss the harmful effects of trusting dumb AIs and how to make them less sexist and less racist (yes, they can be sexist and racist). Sign up now, so you don’t miss out!
In the meantime, tell your friends!
nice