As a practicing data scientist and machine learning educator, I’m always taking courses. Suppose you want to go directly to applications, learn the most current software and get a job. In that case, I recommend my IBM Data Science Professional Certificate or IBM Machine Learning Professional Certificate.
But sometimes, you want to get deeper into the mathematics, prove every detail, and develop the algorithms from scratch. If that’s the case, check out Kilian Weinberger’s free course, it’s comprehensive and he’s funny as hell.

Kilian Weinberger: image source
Kilian Weinberger is an Associate Professor in the Department of Computer Science at Cornell University. He received his Ph.D. from the University of Pennsylvania in Machine Learning. The youtube link is here, and the notes are listed here :
Course Notes
- Machine Learning Setup
- k-Nearest Neighbors / Curse of Dimensionality
- Perceptron
- Estimating Probabilities from data
- Bayes Classifier and Naive Bayes
- Logistic Regression / Maximum Likelihood Estimation / Maximum a Posteriori
- Gradient Descent
- Linear Regression
- Support Vector Machine
- Empirical Risk Minimization
- Model Selection
- Bias-Variance Tradeoff
- Kernels
- Kernels continued
- Gaussian Processes
- k-Dimensional Trees
- Decision Trees
- Bagging
- Boosting
- Neural Networks
- Deep Learning / Stochastic Gradient Descent