Bayesian ML you can execute, not just read
It teaches Bayesian machine learning by making the math runnable.

What it does This repository is a curated stack of Jupyter notebooks covering Bayesian machine learning from linear regression to variational autoencoders. Each notebook introduces a concept—Gaussian processes, Bayesian optimization, Bayesian neural networks—and implements it using anything from plain NumPy to Keras, JAX, and TensorFlow Probability. It functions as a structured set of labs for turning probabilistic theory into working code.
The interesting bit
Many topics are covered twice: once with raw NumPy or SciPy, and again using libraries like scikit-learn, GPy, or PyMC3, sometimes in companion notebooks. That repetition lets you see what the library is hiding under the hood without sacrificing mathematical notation, which is rendered properly via nbviewer.
Key highlights
- Covers Gaussian processes (regression, classification, and sparse), Bayesian optimization, Bayesian neural networks, and variational autoencoders.
- Many topics include both from-scratch NumPy/SciPy code and library versions (scikit-learn, PyMC3, GPy, TensorFlow Probability), sometimes across companion notebooks.
- Sparse Gaussian processes and some examples use JAX.
- Practical applications include hyper-parameter tuning and conditional generation in latent space.
- Several notebooks include direct Colab links for immediate execution, and formulas are rendered via
nbviewer.
Caveats
- This is a collection of standalone tutorials, not a unified library; expect notebooks, not importable modules.
- Dependencies are split across subdirectory
requirements.txtfiles, so local execution requires checking each folder individually. - Notebooks target specific framework versions such as TensorFlow 2.x, Keras, and PyMC3; compatibility with newer releases is not addressed in the README.
Verdict A solid reference for students and practitioners who learn best by implementing Bayesian concepts. Look elsewhere if you need a maintained, high-level package to drop into production.
Frequently asked
- What is krasserm/bayesian-machine-learning?
- It teaches Bayesian machine learning by making the math runnable.
- Is bayesian-machine-learning open source?
- Yes — krasserm/bayesian-machine-learning is open source, released under the Apache-2.0 license.
- What language is bayesian-machine-learning written in?
- krasserm/bayesian-machine-learning is primarily written in Jupyter Notebook.
- How popular is bayesian-machine-learning?
- krasserm/bayesian-machine-learning has 1.9k stars on GitHub.
- Where can I find bayesian-machine-learning?
- krasserm/bayesian-machine-learning is on GitHub at https://github.com/krasserm/bayesian-machine-learning.