Complete Free YouTube Course
I created a series on YouTube where I explain polular Machine Learning algorithms and implement them from scratch using only builtin Python modules and numpy. Each Tutorial starts with a little theory session, where I explain the basic concepts and the necessary math/formulas behind the algorithm. Then I jump right into the code and try to implement the algorithm in a clean and easy to follow way. This is a great exercise to get indepth understanding of the algorithms!
The link to the playlist is here: playlist
The GitHub repo is here: repo
The algorithms I cover:
 KNN (K Nearest Neighbors)
 Linear Regression
 Logistic Regression
 (Refactoring of Linear and Logistic Regression)
 Naive Bayes
 Perceptron
 SVM (Support Vector Machine)
 Decision Tree Part 1
 Decision Tree Part 2
 Random Forest
 PCA (Principal Component Analysis)
 KMeans Clustering
 AdaBoost
Prerequisites
I assume that you already have a good understanding of Python and the numpy stack, and also the necessary math skills to follow the equations in the theory sections. If you need to refresh any of these skills, I can recommend the following free resources:

For math:

For Python and numpy:
How to Follow the Videos
To get the most from this series, I recommend that you fist follow along, take notes during the theory part, and then code along with me. Then, after the video, try to implement the algorithm again on your own!
All videos