explaingit

fastai/numerical-linear-algebra

10,859Jupyter NotebookAudience · researcherComplexity · 2/5Setup · moderate

TLDR

Jupyter Notebook course materials from fast.ai explaining the math behind machine learning, matrix decomposition, PageRank, GPU computing, through runnable Python code paired with YouTube video lectures.

Mindmap

mindmap
  root((numerical-linear-algebra))
    What it is
      University course
      Jupyter notebooks
      YouTube lectures
    Topics
      SVD NMF decomposition
      Topic modeling
      PageRank math
      GPU parallel code
    Libraries
      NumPy Scikit-Learn
      Numba PyTorch
    Audience
      ML learners
      Data scientists
      Researchers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Work through the notebooks alongside the YouTube lectures to understand SVD, NMF, and how they power topic modeling and image processing.

USE CASE 2

Run the PageRank notebook to see step by step how Google's original algorithm translates into matrix operations.

USE CASE 3

Use the GPU-focused notebooks to learn how to write Python code that runs fast on parallel hardware using Numba.

Tech stack

PythonJupyter NotebookNumPyScikit-LearnNumbaPyTorch

Getting it running

Difficulty · moderate Time to first run · 30min

Requires setting up a Python environment with NumPy, Scikit-Learn, PyTorch, and Numba, some notebooks need a GPU for the performance comparisons.

In plain English

This repository contains the course materials for Computational Linear Algebra for Coders, a course created by fast.ai and taught at the University of San Francisco's graduate data science program in summer 2017. The central question of the course is: how do you do matrix computations quickly and accurately? It is aimed at people who want to understand the mathematics behind machine learning tools, not just how to call them. Everything in the course is written as Jupyter Notebooks, which mix explanatory text, math, and runnable Python code in the same document. The main libraries used are NumPy and Scikit-Learn for most of the material, with Numba (which compiles Python to C for speed) and PyTorch appearing in a few lessons. Each notebook corresponds to one or more video lectures posted to YouTube, so you can read the code and watch the explanations at the same time. The course covers a range of topics through practical examples. Topic modeling uses a dataset of news posts to find patterns in text, introducing techniques like SVD (singular value decomposition) and NMF (non-negative matrix factorization) along the way. Background removal from surveillance video demonstrates how those same matrix decomposition techniques work on image data. A lesson on PageRank walks through how Google originally ranked web pages using matrix math. Other topics include compressed sensing, predicting health outcomes using linear regression, and the basics of how neural networks use these ideas. The later notebooks get into how modern computing hardware runs these calculations efficiently, including GPU acceleration and how to write code that takes full advantage of parallel processing. A final notebook connects all of the earlier ideas back to how deep learning models actually work under the hood. Discussion forums are available at forums.fast.ai for questions. The repository has not indicated an active maintenance status, but the content and YouTube videos remain publicly available.

Copy-paste prompts

Prompt 1
I want to understand how SVD works by running the fast.ai numerical-linear-algebra topic modeling notebook. Walk me through what each cell does.
Prompt 2
The background removal notebook in fastai/numerical-linear-algebra uses matrix decomposition on video frames. Explain how that works in plain English.
Prompt 3
How does the PageRank notebook in this course translate the web link graph into a matrix computation? Show me the key lines of code.
Prompt 4
I want to speed up my NumPy code using Numba as shown in this course. Give me a before-and-after example.
Open on GitHub → Explain another repo

← fastai on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.