A few tips on how NOT to start learning Machine Learning. I also present a better way on how to start learning it.
Every day there’s more and more educational content about Machine Learning. With such a high volume of new content, it’s easy to get confused. Many aspiring Data Scientists don’t know where or how to start learning.
These three questions pop up regularly in my inbox:
- Should I start learning ML bottom-up by building strong foundations with Math and Statistics?
- Or top-down by participating in Kaggle challenges?
- Should I pay for a course from an influencer that I follow?
In this article, I give answers to the questions above and I also present a better way on how to start learning Machine Learning.
Let’s start with a few How NOT to learn Machine Learning.
A few weeks ago, I wrote an article with a controversial title: 5 Reasons You Don’t Need to Learn Machine Learning in which I argue that Machine Learning is not all Sunshine ☀️ and Rainbows 🌈.
I assume you’ve read the article and you’ve decided you’d like to pursue a career in Machine Learning. Notice, I wrote “to pursue a career” not just “learn it” as Machine Learning takes time and dedication.
Don’t buy into shortcuts
My opinion differs from various social media influencers, which can allegedly teach you ML in a few weeks (you just need to buy their course).
I’m going to be honest with you:
There’s no shortcuts in learning Machine Learning.
There are better and worse ways of starting learning it.
Think about it — if there would exist a shortcut, then many would be profiting from Machine Learning, but they don’t.
Many use Machine Learning as a buzz word because it sells well.
Writing and preaching about Machine Learning is much easier than actually doing it. That’s also the main reason for a spike in social media influencers.
How long will you need to learn it?
It really depends on your skill set and how quickly you’ll be able to switch your mindset.
Math and statistics become important later (much later). So it shouldn’t discourage you if you’re not proficient at it.
Many Software Engineers are good with code but have trouble with a paradigm shift.
Machine Learning code rarely crashes, even when there’re bugs. May that be in incorrect training set specification or by using an incorrect model for the problem.
I would say, by using a rule of thumb, you’ll need a half-year of part-time studying to learn Machine Learning. Don’t expect to learn something useful in just two weeks.
What do I mean by learning Machine Learning?
I need to define what do I mean by “learning Machine Learning” as learning is a never-ending process.
As Socrates said: The more I learn, the less I realize I know.
The quote above really holds for Machine Learning. I’m in my 7th year in the field and I’m constantly learning new things. You can always go deeper with ML.
When is it fair to say that you know Machine Learning?
In my opinion, there are two cases:
- In the first case, you use ML to solve a practical (non trivial) problem that you couldn’t solve otherwise. May that be a hobby project or in your work.
- Someone is prepared to pay you for your services.
When is it NOT fair to say you know Machine Learning?
Don’t be that guy that “knows” Machine Learning, because he trained a Neural Network, which (sometimes) correctly separates cats from dogs. Or that guy, who knows how to predict who would survive the Titanic disaster.
Many follow a simple tutorial, which outlines just the cherry on top. There are many important things happening behind the scenes, for which you need time to study and understand.
The guys that “know ML” above would get lost, if you would just slightly change the problem.
Money can’t buy you knowledge
As I mentioned at the beginning of this article, there is more and more educational content about Machine Learning available every day. That also holds for free content, which is many times on the same level as paid content.
To give an answer to the question: Should you buy that course from the influencer you follow?
Investing in yourself is never a bad investment, but I suggest you look at the free resources first.
I also give a few great pointers below.
This is how I would start learning Machine Learning if I would go back to start. I’ll start with a tip that may seem surprising to some:
I would start learning Machine Learning top-down.
It seems counter-intuitive to start learning a new field from high-level concepts and then proceed to the foundations. IMO this is a better way to learn it.
Why? Because when learning from the bottom-up, it’s not obvious where do complex concepts from Math and Statistics fit into Machine Learning. It gets too abstract.
My advice is (if I put in graph theory terms):
Try to learn Machine Learning breadth-first, not depth-first.
Meaning, don’t go too deep into a certain topic, because you’d get discouraged quickly. Eg. learning concepts of learning theory before training your first Machine Learning model.
Learning Machine Learning is free
I have good news for you, you can learn everything you need to know about Machine Learning for free. You just need time and dedication.
You don’t need to spend a dime to learn Machine Learning.
Here are a few great resources to begin with.
Ivy League Universities offer their courses for free:
This course from Columbia University is great for beginners:
Don’t know how to write code? There are many free ebooks to learn it:
I suggest you start learning Python: Python Notes for Professionals.
When you start learning ML, I suggest you use multiple resources at the same time.
Take multiple courses. You don’t need to finish them. One instructor might present a certain concept better than another instructor.
Also don’t focus just on courses. Try to learn the field more broadly. IMO finishing a course gives you a false feeling of progress. Eg. Maybe a course focuses too deeply on unimportant topics.
While listening to the course, take some time and go through a few notebooks in Titanic: Machine Learning from Disaster. This way you’ll get a feel for the practical part of Machine Learning.
I always emphasize how important is to have a great mentor. But don’t expect someone will guide at the start.
That shouldn’t stop you as there are many online communities with participants ready to help. Join Reddit, Quora, Discord and other communities. I link them in the article below:
Ask questions, when you come to a dead end. That’s a great way to grow in your career.
How to remember complex concepts?
I write flashcards and use Anki to review them regularly. Anki is an app that uses spaced repetition, which makes remembering things easy.
Spaced repetition is a learning technique that is usually performed with flashcards. Newly introduced and more difficult flashcards are shown more frequently while older and less difficult flashcards are shown less frequently in order to exploit the psychological spacing effect.
Anki is more efficient than traditional study methods. You’ll greatly decrease the time spent studying and increase the amount you learn.
Anyone who needs to remember things in their daily life can benefit from Anki. It’s content-agnostic and supports images, audio, videos and scientific markup (via LaTeX), the possibilities are endless.
I create flashcards about the concepts I find difficult to remember. For example, an explanation of regularization which I find very intuitive. When I need to explain the concept to someone, I don’t need to think about analogies as I already have them in my mind.
The downside of Anki is that you need to find a way to organize flashcards that suits you. There is no one pattern that fits all. It can get quickly cluttered with too many flashcards. So I use it only for the most important and hard to remember concepts.
Surround yourself with Machine Learning
Podcasts are also a great way to learn about Machine Learning, but don’t expect you’ll learn it just by listening to podcasts.
Podcast hosts explain complex ideas in a simple way because no one would understand them otherwise. When there is an interesting idea presented that you don’t know much about, just take a note and google it later.
Here are a few interesting podcasts:
These were my tips on how to start learning Machine Learning. Just to reiterate the most important tips:
- start learning Machine Learning top-down.
- Learn breadth-first, not depth-first.
- You don’t need to spend a dime to learn Machine Learning.
- Use Spaced repetition to remember complex concepts.
- It will take time and dedication to learn Machine Learning.
Would you add a tip? Let me know in the comments below.
- Data Science for Business Leaders- Intro to Machine Learning with PyTorch- Become a Growth Product Manager- School of Cloud Computing- Build a Machine Learning Web App- Free skill tests for Data Scientists & Machine Learning Engineers
Some of the links above are affiliate links (if you make a purchase I’ll earn a commission). By doing so you support me so that I can write more quality content.
If you’d like to hear more from me, follow me on Twitter. I regularly tweet about Data Science and Machine Learning.