Machine Learning
While learning more about this field we encounter a lot of algorithms, models that can be tweaked to get the results that we want and various kinds of computational thinking to ease the overall workflow. While all this may sound a lil tricky but it follows a simple structure and hierarchy. We'll talk about everything with a simple walkthrough.
Intro to ML
- Luis Serrano: A Friendly Introduction to Machine Learning
- StatQuest: A Gentle Introduction to Machine Learning
Python
If your're new and are just getting started I highly recommend getting comfortable with either Python or R (preferably Python). Almost all of ML related stuff is done in either of these two languages.
Following are the intended resources:
Kaggle's Python Course is a great place to get started.
This book can also help you in learning more about the language.
If you prefer videos:
- Python Playlist
- Code With Harry (in Hindi)
Mathematics
Only high school level maths is required to understand anything that's going on. Apparently we are building intelligent systems here with this technology, you can't expect math to not play a role.
The Map of Mathematics by MajorPrep shows the entire field of mathematics summarised in a single map! This shows how pure mathematics and applied mathematics relate to each other and all of the sub-topics they are made from.
I highly recommend you to go through the following resources by 3Blue1Brown:
Brush up your statistical knowledge from StatQuest's Statistics Fundamentals
Statistics 110: Probability by Joe Blitzstein, Professor of the Practice in Statistics Harvard University, Department of Statistics.
Foundational ML
Once comfortable with Python we'll be moving forward to actual ML stuff.
Course | Format | Details |
---|---|---|
Andrew Ng | videos | This course is by the OG of Machine learning and the founder of Coursera - Andrew Ng. Here is the youtube playlist for the same. Use this only to understand the mathematical part of any ML Algorithm (at least for Linear and Logistic Regression) in the beginning. |
Andrew Ng | videos | University lectures at Stanford. |
ML Bootcamp | videos | This playlist will introduce you to the ML field very practically and in a fun and project-oriented way so you won't get bored. But make sure you know a little about python before starting this. You can do that by following the above mentioned Python resources. |
Machine Learning Crash Course by Google | docs/videos | This course is structured by people at Google. Good for basic introduction. |
Tensorflow Tutorials | docs | Tensorflow is used a lot in ML world. Get yourself comfortable using it and the official docs have enough material to learn good stuff. |
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow | book | Download this book (considered to be the best-written material for machine learning) |
Kaggle's Intro To Machine Learning | docs | If you want more written documentation to study, visit the Kaggle website and search through the micro-courses there (very well prepared) like - Intro to Machine Learning, Intermediate Machine Learning, etc. |
Made With ML | docs | High Quality docs material on ML and MLOps. |
Krish Naik's ML Course | videos | A highly recommended video series for applied ML algos. |
StatQuest's ML Playlist | videos | Some more stuff on theoretical ML. |
While the above Andrew Ng course is really good to understand what's going on inside an algorithm but it lacks practical implementation in Python.
The guy has come up with an updated course on the same with python implementation this June 2022... yup. So keep an eye here.
Or you can refer to python notebooks for his ML course. This repo contains practical Python implementation of the algos taught by Andrew.
Miscellaneous
While implementing ML algorithm's in real world datasets you will find that certain libraries like Pandas, Scikit-Learn, Matplotlib, Numpy etc are being used. There's no need to learn all of them first and then start doing ML stuff. This is not the right way to go about learning things.
Instead you start with ML, get your hands dirty and while you encounter these things you go on learning about them one thing at a time. Easy.
Here are the intended resources for the same:
Pandas
Numpy
Matplotlib