Resources to Learn for Free*
*nothing is free. Learning costs attention and time. And coffee.
The internet is full of amazing resources to learn just about anything. I see a lot of “bite-sized” content around, by which I mean short pieces, to be consumed quickly, that provide explanations or summaries of complicated concepts or topics. Some of it is actually quite good, especially those that illustrate complicated concepts through high quality visualisations.
But there’s a part of me that is sceptical of how much we can learn by consuming this “fast food” knowledge. It’s like hoping we can get a proper nutrition if we make a few stops per day to get snacks at different shops. A more realistic expectation would be that we would have to invest much more time and effort into learning about nutrition, which foods to buy, how to prepare meals properly, and so on.
Luckily, it has never been easier to find high quality learning resources. Of course, it still takes time and effort to learn something well, but you can’t get something for nothing.
I’ll start this post with some free resources to learn about machine learning. Hopefully, I will expand it over time to cover other topics as well. Feel free to comment with other resources I should add to this list.
Click on the corresponding images for direct links to the books.
Machine Learning
1. An Introduction to Statistical Learning with Applications in R/Python (James, Witten, Hastie, Tbishirani/Taylor)
This book is accessible to anyone with undergrad level of stats and contains many examples of applications. There are two versions of this book, one with examples in R, another with examples in Python, because it’s never not the right time to start a debate about which one is better. I used parts of this book in a course I used to teach on machine learning for business school students.
Pre-requisites: an elementary course in statistics; basic linear algebra.
2. The Elements of Statistical Learning (Hastie, Tbishirani, and Friedman)
This is the big brother of the previous book. The original was released in 2001 and was one of the first books on statistical learning. The second edition updated it with more recent topics. Compared to the first book on this list, this one covers more things, and in much more detail.
Pre-requisites: this book is written in simple language, but it is intended for graduate students and assumes more familiarity with statistics and mathematics compared to the previous one. Particularly, it assumes a decent grasp of regression analysis.1
3. Pattern Recognition and Machine Learning (Bishop)
This is another excellent book that has been around for a long time, and the updated edition is excellent. This book puts a lot of emphasis on a Bayesian viewpoint.
Pre-requisites: this book is intended for graduate students. It assumes you know multivariate calculus and linear algebra. It does include a review of probability, but in my opinion, this is not a book for someone who doesn’t already have a solid background in that topic.
4. Probabilistic Machine Learning: An Introduction (Murphy)
I’m less familiar with this book than with the other ML books above, but this is another comprehensive book that is available for free and has accompanying Python code. There’s also a companion book on more advanced topics, which is also free.








All solid. Probabilistic Machine Learning is truly great :)