gitmyhub

numerical-linear-algebra

Jupyter Notebook ★ 11k updated 2y ago

Free online textbook of Jupyter notebooks for fast.ai Computational Linear Algebra course

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.

PythonJupyter NotebookNumPyScikit-LearnNumbaPyTorchsetup: moderatecomplexity 2/5

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.

Where it fits