How to read these notes
This page is a short orientation. The Preface explains why the book exists; this page explains how to find things.
One note per book section
Each note covers exactly one section of Mathematics for Machine Learning and is named after it, so the table of contents mirrors the book:
| Book section | Note |
|---|---|
| 2.1 Systems of Linear Equations | 2.1 Systems of Linear Equations |
Further notes are added as the corresponding sections are read. Coverage at any moment is
tracked in docs/state.md in the repository.
Each note is self-contained
A note always contains the question that triggered it, the page images it rests on, the response, and any later corrections. You should be able to read a single note in isolation without the conversation it came from.
Corrections are part of the record
Notes are append-only in spirit: a recorded question or response is never silently rewritten. Later fixes appear in a dated Corrections and additions section that says what it supersedes. The first note has one of these, which is worth reading as an example of the convention — the original response contained an incorrect numerical illustration, and the correction states exactly what was wrong and what the verified result is.
Runnable claims
Where a note makes a numerical claim, a script under scripts/ reproduces it. The
scripts require only a Python 3 with numpy. See scripts/README.md.
python3 scripts/explore_example_2_1.py
Building this book locally
The book is built with mdBook and the
mdbook-katex preprocessor (which is what renders the mathematics):
make serve # live preview at http://localhost:3000
make build # static output in ./book
make check # build, then confirm ./book stays out of git
make help # all targets
Build through make (or plain mdbook build / mdbook serve). Nothing is
vendored: mdbook-katex injects the <link> for the KaTeX build it renders with,
so the page loads that one stylesheet from a CDN and the mathematics always
matches the stylesheet.