This list assumes the following:
- that you have no prior background when it comes to machine learning
- that you have completed high school math (maybe you’ve forgotten, but that’s okay)
- that you don’t know much of Python but aren’t too unfamiliar with programming languages. If you know some Python, awesome. If you’re an expert, even better. If you know another programming language, that’ll help a lot! You more or less know where you fit here so move forward accordingly; let’s assume that you are a beginner in Python (or programming in general).
There’s no particular order to this, and the resources I suggest could be subjective. As a learner, you’re free to roam around, but having some basic foundation when it comes to math & programming (Python) is key.
I’m going to paste some materials below. These aren’t necessarily in order.
My suggestion: complete (1), get some basic understanding of Python (and some PyTorch too if you have time) in (2) ((you do not need to master Python or PyTorch! learn as you go!)), complete the 3B1B playlist from (3.1.1) — make sure you have a basic understanding of the theoretical concepts — and start (3.2). The rest can be done concurrently with something else. Even if you skip some part, make sure you come back to complete it. When I say this, I’m not talking about the course, but the topic!
To be clear
If you find something from below not good enough or interactive, it’s okay to refer to something else to cover that topic. It’s all subjective, anyway. You probably know what works the best for you. What’s important is that you cover that topic in some way.
Okay, here’s the list.
1. Math
Again, could be subjective but it’s important to get the absolute foundations down. So, I suggest:
- Math for ML Specialization on Coursera: Covers basic linear algebra, calculus, and statistics required for ML. You don’t need to pay; just audit the courses.
- basic fundamental understanding only, which I consider super important since being able to understand the mathematical intuition is super important, even if it’s just a basic one. Has the following courses:
- Linear Algebra Course
- Calculus Course
- Probability and Statistics Course
- basic fundamental understanding only, which I consider super important since being able to understand the mathematical intuition is super important, even if it’s just a basic one. Has the following courses:
- Essence of Linear Algebra YouTube playlist by 3B1B
- highly recommended. The material is in YouTube video format as well as reading format. You can watch/do this concurrently with the linear algebra course above.
- Differential Equations Playlist by 3B1B
- I highly recommended this playlist as well. YouTube playlist as well as text format available. You can watch/do this concurrently with the calculus course above.
- Essence of Calculus Playlist by 3B1B
- another highly recommended playlist series. YouTube playlist as well as text format available. You can watch/do this concurrently with the calculus course above.
NOTE
You can search up videos on the Statquest YouTube channel for any math concepts from above that you find confusing. For instance, I found the PCA explanation on the Coursera course quite confusing, and Statquest’s video cleared it up for me. You can also do that with the Trefor Bazett channel; it’s got tons of valuable material.
2. Programming (Python, PyTorch, etc.)
Pretty sure this is something you might already know where to look at to learn. I’ll still paste some materials below and you can see if they might be helpful to you:
-
- ~ 40 hours of intense work to finish, focuses mainly on script writing, basic data manipulation, and program organization
-
Intro to DL with PyTorch (Udacity)
- by the creators of PyTorch
-
- 25 hours of content on YouTube, materials are documented really well. HIGHLY RECOMMEND THIS
I think class in Python are quintessential for ML, so I hope you give extra attention to it. The official Python documentation for this is really good.
3. The “ML” Stuff
People have their own views on how to start this as well, so I’ll paste materials that I think are helpful to get started as well.
3.1 The “Theory”
-
Neural Network Playlist by 3B1B
- You know the drill by now. The YouTube videos are very interactive & intuitive. Highly recommend watching this before doing any NN projects or hands-on exercises in my opinion. Text format available too!
-
Machine Learning Specializatio by Andrew Ng
- You can audit the course and get the basics of ML down.
-
- Always learn something new from this guy, he’s really good.
3.2 The Hands-On Approach
- Neural Network - Zero to Hero Series by Andrej Karpathy
- This series can get quite heavy (there are videos for each project, each one is long), and that’s exactly why I strongly recommend you watch all of his videos and consume everything. That’s all we need to do to reach a certain level of mastery.
IMPORTANT
Some people actually start their ML journey with this series by Karpathy, and that’s fine too. However, there will be lots of things that one doesn’t necessarily understand and has to search up the internet separately (that’s what I did), thus leading to all the materials I listed above. Therefore, in a way, properly understanding this series requires a certain level of understanding of everything I’ve listed out so far, but that’s the whole point! If you finish this series and understand most of it, you are no longer an amateur.
- Do some small-scaled side projects too! Kaggle is nice. Also try to consume as much as you can from people like Sebastian Raschka in addition to Andrej Karpathy.
Good luck!