gavinkhung/machine-learning-visualized

ML algorithms implemented and derived from first-principles in Jupyter Notebooks and NumPy

What it solves

Learning machine learning algorithms can be difficult when they are presented as "black boxes." This project provides a transparent way to understand how these algorithms work by mathematically deriving them from first principles and visualizing their training processes.

How it works

This repository acts as a central hub that aggregates various Jupyter Notebooks from separate projects. It uses the Jupyter Book framework to compile these notebooks, along with Markdown documentation, into a cohesive, searchable website. Users can run a script to pull in specific algorithm notebooks—such as Neural Networks or K-Means—and then build the book locally using the command line or Docker.

Who it’s for

This project is for students, researchers, and developers who want to look under the hood of machine learning models. It is ideal for those who prefer learning through interactive exploration and seeing the mathematical evolution of weights during training.

Highlights

  • Visualizes machine learning algorithms as they progress through their training phases.
  • Includes interactive Marimo notebooks that allow users to manipulate weights and observe changes in loss functions.
  • Provides mathematical derivations for each algorithm to explain the underlying logic.
  • Offers a structured, web-based format that can be built locally or exported as an EPUB.

Related

  • Project
  • Project
  • Project
  • Project