Mathematics is at the heart of machine learning and data science. It is also one of the biggest obstacles to newcomers to the field. But with the right learning resources, you can overcome this obstacle even without going back to University.
This is a list of the best resources I’ve come across to learn mathematics for data science, machine learning, and artificial intelligence. These include online courses, tutorials, Youtube channels, and books.
Disclosure: Some of the links in the following sections are affiliate links. This means I may earn a small commission at no additional cost to you if you decide to purchase. I could be an affiliate for many online education products. I’ve specifically chosen to partner with the providers of courses and books that I recommend based on my own experience. As an Amazon affiliate, I earn from qualifying purchases. By using my links, you help me provide information on this blog for free.
Online Courses
Linear Algebra
Linear Algebra for Machine Learning on Coursera
Level: Beginner
Prerequisites: High school math
“Linear Algebra” is the first in a series of 3 courses that form the “mathematics for machine learning specialization” offered by Imperial College London on Coursera. This is hands down one of the best courses I’ve come across for quickly getting up to speed with linear algebra. It consists of several short video lectures, quizzes, and hands-on programming assignments. If you go at a comfortable pace and put in less than an hour a day, you’ll probably be able to finish this course in 3-5 weeks and the entire specialization in 12-15 weeks.
Take the “Mathematics for Machine Learning Specialization” on Coursera.
Calculus
Calculus for Machine Learning on Coursera
Level: Beginner-Intermediate
Prerequisites: High school math + basic understanding of linear algebra & matrices
“Calculus” is the second course in the “mathematics for machine learning specialization” on Coursera. The main focus is on vector calculus and applications in machine learning such as regression and mathematical optimization. The course consists of short video lectures, quizzes, and hands-on programming assignments. Taking this course on its own will require around 3-6 weeks of about 1 hour of work a day and a solid understanding of linear algebra. If your linear algebra is a bit rusty, I recommend taking the entire specialization which should take you about 12-15 weeks.
Take the “Mathematics for Machine Learning Specialization” on Coursera.
Statistics and Probability
Statistics with Python Specialization
Level: Beginner
Prerequisites: High school math
This is a great specialization to get a practical hands-on understanding of basic statistics. If you are a business professional, social scientist, or developer whose aim is to learn data science to supplement your current skillset, this specialization is a great start. You don’t need advanced math or coding skills. An added benefit is that you learn statistical analysis in Python, the most popular and widely used industry language for data science.
Take the “Statistics with Python Specialization” on Coursera.
Advanced Statistics for Data Science Specialization
Level: Intermediate-Advanced
Prerequisites: good understanding of linear algebra & calculus
This specialization covers some fairly advanced concepts. It is very theoretical in nature. The exercises are done with pen and paper or in the statistical programming language R. I would mainly recommend this one for people who need a strong theoretical background in data science/machine learning. If you are a student in a technical field or aim to write papers and need to brush up on your stats, this one is probably a good choice.
Don’t be irritated by the reference to biostatistics. The concepts the instructor teaches are broadly applicable to data science/ML in general. I’ve never worked on biology-related problems but found the specialization very rewarding.
Take the “Advanced Statistics for Data Science Specialization” on Coursera.
Books
The following books can be ordered via Amazon or most other bookshops.
Mathematics for Machine Learning by Deisenroth, Faisal and Ong
Level: Intermediate-Advanced
Prerequisites: familiarity with mathematical notation. A basic understanding of linear algebra, calculus, and statistics is highly recommended.
This book was written by the authors of the Coursera course, and it covers many of the same topics. It is more in-depth and covers areas like probability distribution that were not covered in the course. There is also an additional section on the application of mathematical concepts to real machine learning problems. It is a great companion to the course but also more difficult to follow.
Linear Algebra
Introduction to Linear Algebra by Gilbert Strang
Level: Beginner
Prerequisites: Familiarity with mathematical notation. High-school level math
Gilbert Strang is one of the most gifted math instructors. His books reflect his teaching ability. If you really want to understand linear algebra at a fundamental level, this is the book to buy. It is a great supplement to the first course in the mathematics for machine learning Coursera specialization and a great reference if you need to solve abstract ML problems.
Coding the Matrix by Philip n. Klein
Level: Beginner
Prerequisites: Familiarity with mathematical notation. High-school-level math, and basic Python programming skills.
Coding the Matrix takes a hands-on approach to teach linear algebra. In each chapter, concepts are explained and then you get to implement them in Python. The applications are quite interesting ranging from error-correcting codes to machine learning. Nevertheless, the book is challenging and quite thick. I’d plan 6-12 months if you want to work through it on your own in less than an hour per day.
Calculus
Calculus Made Easy by Silvanus Thompson
Level: Beginner
Prerequisites: High-school level math
This is a timeless classic for building strong foundations in Calculus. The book isn’t even half as long as your average college textbook and is much more accessible. You probably know this sinking feeling you get with math textbooks; when you turn the page and the entire next page is full of dense mathematical notation. I intuitively just glance over it, conclude and then skip the section entirely. I’ve never had this problem with “Calculus Made Easy”. It really helped me understand Calculus from first principles like no other book or course has.
Statistics and Probability
Introduction to Mathematical Statistics by Hogg, McKean, and Craig
Level: Intermediate-Advanced
Prerequisites: familiarity with mathematical notation. High-school level math
This is a comprehensive textbook on mathematical statistics. I found it to be a great companion to the Advanced Statistics for Data Science Coursera Specialization and as a reference.
The Elements of Statistical Learning
Level: Intermediate-Advanced
Prerequisites: Good foundations in linear algebra, differential calculus, and basic statistics, as well as strong familiarity with mathematical notation. An introductory course to applied machine learning is highly recommended before picking up this book
The Elements of Statistical Learning was written by a group of Stanford statistics professors (the same authors who wrote the “Introduction to Statistical Learning”). If you really want to go in-depth on the statistical foundations of machine learning this is the book to get. But beware that you need to have a strong math background to be able to follow many of the explanations. For a practicing data scientist, I recommend getting this book as a reference.
Machine Learning: A Probabilistic Perspective
Level: Intermediate-Advanced
Prerequisites: Good foundations in linear algebra, differential calculus, and basic statistics, as well as strong familiarity with mathematical notation, are a prerequisite.
This book is great if you already have a strong math background and want to further explore the mathematical and statistical foundations of machine learning. Its first 200 pages are dedicated to foundations in statistics and probability. You’ll learn a lot about Gaussian processes and why they are fundamental to most ML models, as well as Bayesian statistics and various probability distributions.
Youtube Channels & Blogs
Youtube Channels and blogs are great additions to supplement your math-study curriculum and to go more in-depth on specific topics. Here are some channels and blogs that I found most helpful for learning machine learning math.
Khan Academy
Khan Academy probably offers the most comprehensive video library on college-level mathematics. Whenever I found a concept to be insufficiently explained in a textbook or an online course, there almost always was a video with a worked example on Khan Academy. It is a great addition to any math study curriculum.
3Blue1Brown
3Blue1Brown is another amazing Youtube channel operated by former Khan Academy content fellow Grant Sanderson. Sanderson puts an insane amount of effort into visualizing and building an intuitive understanding of complicated mathematical concepts.
Statistics How-To
Statistics How-To is a blog started by Stephanie Glen and dedicated to teaching statistics and probability in a simple, intuitive manner. In my opinion, the site greatly succeeds in this regard.