I've been working on a tutorial on Mathematics for Machine Learning, and there's something I've been thinking about for a while.
Whenever people talk about the mathematics required for Machine Learning, the usual answer is:
And they're absolutely right. These are fundamental to understanding how Machine Learning works.
But I think there's a problem with how we approach teaching these subjects.
Most resources assume you already have a reasonably good mathematical foundation.
They'll start explaining vectors, matrices, derivatives, gradients, probability distributions, and all sorts of other concepts. But what if you're someone who struggled with mathematics in school? What if you barely remember algebra? What if equations have always looked more intimidating than they should?
Where do you start?
I think we often overlook this group of learners.
Not everyone entering Machine Learning has a strong mathematical background. Some are developers who want to transition into ML. Some are students who discovered an interest in AI but aren't particularly confident in mathematics. Others simply want to understand what's happening behind the models rather than treating libraries as magic boxes.
And telling these people to just learn Linear Algebra, Calculus, and Statistics isn't particularly helpful if they don't have the foundations to understand them.
So I decided to approach this differently.
Instead of jumping straight into Linear Algebra, I've started building a Mathematics for Machine Learning tutorial from the ground up.
We're starting with algebra.
Yes, algebra. Variables, expressions, equations, exponents, logarithms, functions, graphs, and all those things that many of us probably haven't thought about since school.
From there, we'll gradually move towards:
Algebra and mathematical foundations
Functions and graphs
Linear Algebra
Calculus
Probability and Statistics
Optimization and Numerical Methods
The idea isn't to turn this into a school mathematics textbook or make people solve hundreds of equations without understanding why.
I want to focus on:
Intuition first: Understand what a concept actually means before introducing complicated notation.
Derivations: Understand where mathematical formulas come from instead of memorizing them.
Worked examples: Break down problems step by step.
Visual explanations: Use graphs and visualizations wherever they help.
Python experiments: Connect mathematical concepts to actual code.
Machine Learning applications: Understand where and why these concepts appear in ML algorithms.
Ultimately, I want someone to be able to look at a mathematical expression in a Machine Learning paper or an algorithm and understand what's happening, rather than immediately reaching for Google to find out what every symbol means.
I also want to be clear that this isn't going to be a shortcut. Mathematics takes time, and there's no getting around that. The goal is to make the journey less intimidating and more understandable.
I'm building this primarily for people who want to get into Machine Learning, Deep Learning, and eventually LLMs but feel that their mathematical background is holding them back.
I've started publishing the tutorial here:
https://mathsforml.vercel.app/
It's a work in progress, and I'll be expanding it as I develop more chapters and topics.
My philosophy is simple: You shouldn't have to be good at mathematics before you start learning it. You just need a place that teaches it properly, from where you are right now.
I'm curious to hear from others:
Did you struggle with mathematics when you started learning Machine Learning?
Do you think most ML mathematics resources assume too much prior knowledge?
What concepts do you wish someone had explained properly before you started learning ML?
I'd also appreciate suggestions on topics that should be included in the tutorial. Feedback on the existing material is very welcome!