A free course that teaches machine learning by making you run it. No lecture videos, no installation, no payment. Every algorithm is written from scratch and every number in the text is recomputed by a test before it ships.
I wrote every lesson, every simulation and every verification test in this course. The algorithms are not library calls: CART with Gini gain, random forests with bootstrap and feature subsampling, an MLP with backpropagation, a BPE tokenizer, skip-gram word2vec with negative sampling and the rest are implemented from scratch so that the numbers you see come out of code you can read.
I also wrote neural-trees,
an open-source Python library for soft decision trees, along with the other models
behind these lessons. One lesson in Track 1 trains a soft tree with it, so you can see
the library do the thing the lesson just explained.
Most courses explain an idea with slides, then hand you a notebook that already works. You watch someone else be competent. When the notebook breaks in your own project, none of what you watched helps, because you never made a decision.
This course inverts that. You get the controls first. You are asked to push a model until it fails, and then to say why it failed. The step does not open until you can.
That is also why there are no videos. A video runs at its own speed and cannot be interrogated. A simulation runs at yours.
Every one of the 123 lessons follows the same five steps, so once you have done one you know what to expect from the rest:
01 Goal · what you are about to learn, in one sentence. 02 See · the algorithm runs in front of you with the active code line highlighted. 03 Play · the sliders are yours; break it. 04 Gate · either drive the simulation to a target or answer a question correctly. There are 154 of these gates and 129 questions. 05 Recap · the one thing worth remembering.
Wrong answers are not rejected. They are executed, so you can see what they actually do.
The five tracks were not chosen by topic popularity. Each one answers a question a learner actually gets stuck on, in the order they get stuck on it: what is an algorithm, how does a classical model make a decision, how does a network learn, how does a language model produce text, and how do you ship any of it without fooling yourself.
The last track is the one most courses skip. Knowing how attention works does not tell you how to build an eval set, debug a retrieval pipeline that returns confident nonsense, or estimate what a feature will cost before you build it. Those are lessons here.
Courses quote figures. This one proves them. A verification script re-runs the algorithms and compares each result against what the lesson claims. If a single digit drifts, the build fails.
The current run checks 2,395 numeric claims and 0 of them disagree. It also proves all 154 unlock conditions are reachable by sweeping the parameter space, renders all 165 visualizations headless, and scans all 401 steps at real canvas dimensions for text that overflows or collides.
This has caught real mistakes: two key collisions that crashed lessons in the browser, a saturation metric computed on the wrong tensor, and five numbers left over from an earlier hyperparameter. The script is public, so you can run it yourself.
I wrote up the method and the worst thing it caught, a contrastive learning lesson that spent four paragraphs confidently explaining the behaviour of my own bug, in The Numbers in Your Tutorial Are Probably Wrong. Mine Were.
These are drawn from the lessons that exist, not from a marketing wish list.
It is not. There is no advertising, no sponsor, no investor, no paid tier and no payment integration of any kind. Nothing here is a funnel to something you buy later.
An account is free and exists for two reasons only: so your progress follows you between devices, and so you can leave a review. You can delete it, and everything in it, yourself in one step. What is collected and why is listed in the privacy policy, field by field.
Pedagogy bugs matter as much as code bugs. If a step confused you, that is a defect worth reporting, and reporting it makes the lesson better for the next person. Open an issue on GitHub or write to contact@mltraining.org.