A comprehensive list of Machine Learning Resources: Open Courses, Textbooks, Tutorials, Cheat Sheets and more

A thorough collection of useful resources covering statistics, classic machine learning, deep learning, probability, reinforcement learning, and more.



By Sam Finlayson, MD-PhD Student at Harvard-MIT.
Original. Reposted with permission.
The following is a snapshot of the original that will be updated over time


This is a not-particularly-systematic attempt to curate a handful of my favorite resources for learning statistics and machine learning. This isn’t meant to be comprehensive, and in fact is still missing the vast majority of my favorite explainers. Rather, it’s just a smattering of resources I’ve found myself turning to multiple times and thus would like to have in one place. The organization is as follows:

Finally, I’ve added a section with links to a few miscellaneous websites that often produce great content.

Of the above, the second section is both the most incomplete and the one that I am most excited about. I hope to use it to capture the best explanations of tricky topics that I have read online, to make it easier to re-learn them later when I inevitably forget. (In a perfect world, Chris Olah and/or distill.pub would just write an article on everything, but in the meantime I have to gather scraps from everywhere else.)

If you stumble upon this list and have suggestions for me to add (especially for the middle section!), please feel free to reach out! But I’m only trying to post things on here that I’ve read, so it may be caught in my to-read list for a while before it makes it on here. Of course, the source for this webpage is on github, so you can also just take it.

Open Courses and Textbooks

I’m trying to limit to this list to things that are legally accessible online, for free.

Foundation

File Description
Math for ML Book Math for machine learning book by Faisal and Ong, available on github.
Boyd Applied Linear Algebra Freely available book from Boyd and Vandenberghe on Applied LA (website).
Fast.ai Computational Linear Algebra Rachel Thomas has put together this great online textbook for computational linear algebra with accompanying youtube videos.
MIT 6.041 Intro Probability John Tsitsiklis et al have put together some great resources. Their classic MIT intro to probability has been archived on OCW and also offered on edX (Part 1, Part 2). The textbook is also excellent.
Joe Blitzstein’s Stat110 Joe Blitzstein’s undergrad probability course has a high overlap in content with 6.041. Like 6.041, it also has a great textbook, youtube videos, and an edx offering. It’s a bit more playful, as well.
MathematicalMonk This guy is amazing. Some 250 YouTube tutorials on ML, Probability, and Information Theory. What’s great about these playlists is any individual video could go into section 2!
Tim Roughgarden’s Lectures on Algorithms and Algorithms Illuminated Tim Roughgarden is one of most natural teachers I’ve ever seen, and fortunately for the world, he’s decided to make a lot of his algorithms resources public. The first link is to lecture notes in PDF form from many classes – for the data-oriented, his CS 168 course is accessible and amazing. Videos for his Algorithms 2 class (CS 261) are here (pdf notes are in that first link). The second is a link to his page for his new textbook, but that page also has links out to all the YouTube videos from his Coursera version of CS 161 (Algorithms 1).

Statistics

File Description
Seeing Theory This is an online visual textbook that has a bunch of cool interactive displays for intro probability/stats ideas. My favorite is the inference visualizations.
Russell Poldracks’ Statistical Thinking for the 21st Century This appears to be a pretty fantastic (albeit rather elementary) textbook for a one-quarter intro to statistics class (stat 60 at stanford). Despite assuming little, it touches upon a lot of great topics.
Modern Statistics for Modern Biology This online textbook is from Susan Holmes and Wolfgang Huber, and provides a nice and accessible intro to the parts of modern data science relevant to computational biologists. It also happens to be a piece of typographic art, created with bookdown.
Statistical Rethinking Lecture Videos on youtube accompany this very well-reviewed introductory textbook.
Hernan and Robbins Causal Inference Book Long-upcoming textbook on causal inference (from the epidemiology perspective), with drafts fairly frequently updated on the web page.

Classic Machine Learning

File Description
Bishop’s Pattern Recognition and Machine Learning This is a classic ML text, and has now been finally released (legally) for free online.
CS 229 Lecture Notes Classic note set from Andrew Ng’s amazing grad-level intro to ML: CS229.
ESL and ISL from Hastie et al Beginner (ISL) and Advanced (ESL) presentation to classic machine learning from world-class stats professors. Slides and video for a MOOC on ISL is available here.
CS 228 PGM Notes Really great course notes on Probabilistic Graphical Models from at Stanford. PDF export wasn’t ideal so linking only to website.
Blei Foundations of Graphical Models Course 2016 course notes on Foundations of Graphical Models from David Blei 2016 website

Deep Learning

File Description
Roger Grosse’s CSC231 Notes Notes from Roger Grosse’s CSC 231 full website here. Probably the single best intro to DL course I’ve found from any university. Notes and slides are gorgeous.
Fast.Ai Wonderful set of intro lectures + notebooks from Jeremy Howard and Rachel Thomas. In addition, Hiromi Suenaga has released excellent and self-contained notes of the whole series with timestamp links back to videos: FastAI DL Part 1, FastAI DL Part 2, and FastAI ML.
CS231N DL for Vision Amazing notes from Andrej Karpathy, with lectures on YouTube as well.
CS224 Deep Learning for NLP 2017 Fantastic course notes on Deep Learning for NLP from Stanford’s CS224. Github repo here
CMU CS 11-747 Fantastic course on Deep Learning for NLP from CMU’s Graham Neubig. Really great lecture videos on YouTube here
Deep Learning Book This textbook by Ian Goodfellow, Yoshua Bengio, and Aaron Courville is probably the closest we have to a de-facto standard textbook for DL.

Reinforcement Learning

File Description
Sutton and Barto Open RL Book De-facto standard intro to RL, even though the textbook is only now about to be published!
Berkeley Deep Reinforcement Learning RL class from Berkeley taught by top dogs in the field, lectures posted to YouTube.

Optimization

File Description
Boyd Convex Optimization Book Famous and freely available textbook from Boyd and Vandenberghe, accompanied by slides and YouTube videos. More advanced follow-up class here
NYU Optimization-based Data Analysis 2016 and 2017 Fantastic course notes on Optimization-based data analysis from NYU 2016 website and 2017 website.

Tutorials, Overviews, and (Individual) Lecture Notes

This section is fledgling at best, but was my real motivation in making this page. Archetypes include basically anything on distill.pub, good blog or medium posts, etc. Depth-first learning looks like a great access point here, but I haven’t gotten to do more than skim any of those, yet.

Fundamentals

File Description
CS 229 Linear Algebra Notes Linear algebra reference from Stanford’s Machine Learning Course.
Matrix Calc for DL (pdf here) Really nice overview of matrix calculus for deep learning from Parr/Howard. Citable on on arxiv.

Probability and Statistics

File Description
Seeing Theory Frequentist Inference This is a really beautiful visual presentation of the basic ideas of frequentist inference, from the Seeing Theory textbook. I love it.
Hernan Selection Bias Nice summary of selection bias via DAGs by Hernan et al.

Classic Machine Learning/Data Science NOS

File Description
Roughgarden SVD Notes Really great presentation of SVD from Tim Rougharden’s CS168 at Stanford.
Roughgarden PCA Notes Really great presentation of PCA from Tim Rougharden’s CS168 at Stanford.

Bayesian Machine Learning

File Description
Blei Exponential Familes/Variational Inference A couple of the course notes I particularly like from Blei’s 2011 Probabilistic Modeling Course )
Blei Variational Inference Review Overview on Variational Inference from David Blei available on arxiv

Deep Learning

File Description
Adversarial Examples/Robust ML Part 1, Part 2, and Part 3 The Madry lab is one of the top research groups in robust deep learning research. They put together a fantastic intro to these topics on their blog. I hope they keep making posts…
Distill Attention Amazingly clear presentation of the attention mechanism and its (early) variants
Distill Building Interpretability Coolest visualizations of NN internals I’ve ever seen
Distill Feature Visualization Running theme: If it’s only distill.pub, read it.
Chris Olah Understanding LSTMs Chris Olah is a master of his craft, and here offers a fantastic overview of LSTMs and GRUs.
Intro to Federated Learning Intro to federated learning and PySyft from Andrew Trask and others using PyTorch.

Natural Language Processing

File Description
Chris Olah on Word Embeddings Chris Olah explaining world embeddings and the like.
The Annotated Transformer Harvard’s Sasha Rush created a line-by-line annotation of “Attention is All You Need” that also serves as a working notebook. Pedagogical brilliance, and it would be awesome to do this for a couple papers per year.
Goldberg’s Primer on NNs for NLP Overview of Deep Learning for NLP from Yoav Goldberg downloaded from here.
Neubig’s Tutorial on NNs for NLP Overview of Deep Learning for NLP from Graham Neubig. Downloaded from arxiv and pairs nicely with his course and videos.

Reinforcement Learning

File Description
Karpathy’s Pong From Pixels Andrej Karpathy has a real gift for didactics. This is a self-contained explanation of deep reinforcement learning sufficient to understand a basic Atari agent.
Weng’s A (Long) Peek into RL A nice blog post covering the foundations of reinforcement learning
OpenAI’s Intro to RL The introductory tutorial for OpenAI's new “Spinning Up in Deep RL” website

Information Theory

File Description
Chris Olah Visual Information Theory As always, Chris Olah creates an amazing presentation both in words and images. Goal is to visualize key information theory concepts.
Deriving Probability Distributions from Maximum Entropy Principle It feels slimy and self-serving to include this, but I wrote this post to better understand how information theory can be used to understand/derive common probability distributions from first principles.
Deriving the information entropy of the multivariate Gaussian Another blog post I wrote to try to understand information theory + statistics.

Optimization

File Description
Ruder Gradient Descent Overview (PDF here) Great overview of gradient descent algorithms.
Bottou Large-Scale Optimization Notes on Optimization from Bottou, Curtis, and Nocedal. Downloaded from arxiv.

Cheat sheets

Math

File Description
Probability Cheatsheet Probability cheat sheet, from William Chen’s github
CS 229 TA Cheatsheet 2018 TA cheat sheet from the 2018 offering of Stanford’s Machine Learning Course, Github repo here.
CS Theory Cheatsheet CS theory cheat sheet, originally accessed here

Programming

File Description
R dplyr cheatsheet Cheatsheet for Hadley’s amazing data wrangling package, dplyr. One of many from RStudio
R ggplot2 cheatsheet Cheatsheet for Hadley’s amazing plotting package, ggplot2. One of many from RStudio
SQL Joins cheat sheet Graphical description of classic SQL joins w/ toy code
Python pandas cheatsheet Cheatsheet for python’s data wrangling package, pandas. Downloaded from here
Python numpy cheat sheet Cheatsheet for python’s numerical package, numpy. Downloaded from Datacamp
Python keras cheat sheet Cheatsheet for python’s NN package, keras. Downloaded from Datacamp.
Python scikit-learn cheat sheet Cheatsheet for python’s ML package, scikit-learn. Downloaded from Datacamp.
Python seaborn tutorial Tutorial for python’s plotting system, seaborn. Haven’t found a great one yet for matplotlib.
Graphic Design cheat sheet Cute little graphic design cheat sheet downloaded from here

Miscellaneous websites

File Description
Chris Olah’s Blog Essentially everything on here is gold. I am so grateful for the hours he must put into these posts.
distill.pub Distill navigates a really interesting gap between super-blog and research journal. I wish that we had more publications like this.
Pytorch Tutorials The tutorials put out by the Pytorch developers are really fantastic. Easy to see why the community is growing so fast.
Sebastian Ruder’s blog Sebastian has produced a lot of really great explanations, like the one on gradient descent methods I linked to above. He also maintains a website tracking progress on NLP benchmarks
ShortScience This website contains public summaries/discussions of machine learning, CS, and biology papers.
Berkeley AI Research (BAIR) Blog BAIR produces a lot of great research, and uses this blog to release more accessible presentations of their papers.
Off the Convex Path Nice blog on machine learning and optimization.
Ferenc Huszár’s blog Pretty popular blog that has a lot of explorations/musings on ML from an author with a rigorous mathematical perspective
Thibaut Lienart’s Blog This website has some notes on math and optimization that seem interesting.

Bio: Sam Finlayson is a MD-PhD Student at Harvard/MIT, currently working on machine learning in medicine.

Resources:

Related: