Interactive Notebooks - All Tutorials

Interactive Jupyter Notebooks

This page provides a comprehensive overview of all Jupyter notebooks available across the tutorial series. Each notebook opens directly in Google Colab for immediate interactive exploration.

How to use these notebooks:

  • πŸ““ Click “Open in Colab” to launch the notebook in your browser
  • ✏️ Run cells, modify code, and experiment with parameters
  • πŸ’Ύ Save a copy to your Google Drive to keep your changes
  • πŸ“š Return to the linked tutorial chapters for detailed explanations

Tutorial 1: Discrete Probability

First GenJAX Model

Notebook: πŸ““ Open in Colab: first_model.ipynb

What it covers:

  • Your first probabilistic model in GenJAX
  • Simulating Chibany’s lunch choices (hamburger vs tonkatsu)
  • Basic probability calculations with discrete outcomes
  • Understanding random sampling and probability distributions

Related Tutorial Chapters:

Topics:

  • Discrete probability distributions
  • Random sampling
  • GenJAX basics
  • Probability visualization

Conditioning and Bayes’ Rule

Notebook: πŸ““ Open in Colab: conditioning.ipynb

What it covers:

  • Conditional probability in practice
  • Implementing Bayes’ rule in GenJAX
  • The taxicab problem with interactive examples
  • Sequential belief updating

Related Tutorial Chapters:

Topics:

  • Conditional probability
  • Bayes’ theorem
  • Posterior belief updating
  • Prior and likelihood

Bayesian Learning

Notebook: πŸ““ Open in Colab: bayesian_learning.ipynb

What it covers:

  • Complete taxicab problem with visualizations
  • Sequential Bayesian updating with multiple observations
  • Interactive sliders to explore different base rates and accuracies
  • How prior beliefs affect posterior conclusions

Related Tutorial Chapters:

Topics:

  • Bayesian inference
  • Sequential updating
  • Base rate effects
  • Prior-posterior relationships

Tutorial 2: GenJAX Programming

Your First GenJAX Model (Tutorial 2)

Notebook: πŸ““ Open in Colab: 02_first_genjax_model.ipynb

What it covers:

  • Building generative models in GenJAX
  • Interactive widgets to adjust parameters in real-time
  • Visualizing probability distributions
  • Understanding how parameter changes affect outcomes

Related Tutorial Chapters:

Topics:

  • GenJAX generative functions
  • Parameter exploration
  • Interactive visualization
  • Model simulation

Tutorial 3: Continuous Probability & Bayesian Learning

Gaussian Bayesian Interactive Exploration

Notebook: πŸ““ Open in Colab: gaussian_bayesian_interactive_exploration.ipynb

What it covers:

  • Part 1: Gaussian-Gaussian Bayesian Updates

    • Interactive sliders to adjust likelihood variance
    • Sequential observation addition with real-time posterior updates
    • Comparison of posterior vs predictive distributions
    • Effect of measurement noise on learning
  • Part 2: Gaussian Mixture Categorization

    • How priors affect decision boundaries
    • Effect of variance ratios on categorization
    • Marginal (mixture) distribution visualization
    • Understanding bimodal vs unimodal distributions

Related Tutorial Chapters:

Topics:

  • Gaussian distributions
  • Bayesian parameter learning
  • Conjugate priors
  • Posterior inference
  • Mixture models
  • Decision boundaries

Assignment 1: Gaussian Bayesian Update

Notebook: πŸ““ Open in Colab: solution_1_gaussian_bayesian_update.ipynb

What it covers:

  • Part (a): Visualizing the prior distribution
  • Part (b): Effect of likelihood variance (σ²_x = 0.25 vs. 4)
  • Part (c): Effect of number of observations (N=1 vs. N=5)
  • Part (d): Precision-weighted averaging in action
  • Part (e): Posterior vs. predictive distributions
  • Part (f): GenJAX verification of analytical formulas

Related Tutorial Chapters:

Topics:

  • Gaussian conjugate priors
  • Likelihood variance effects
  • Posterior concentration
  • Predictive distributions
  • Precision weighting

Assignment 2: Gaussian Clusters

Notebook: πŸ““ Open in Colab: solution_2_gaussian_clusters.ipynb

What it covers:

  • Part (a): Deriving P(category|observation) using Bayes’ rule
  • Part (b): Effect of priors on decision boundaries
  • Part (c): Effect of variance ratios on categorization
  • Part (d): Computing marginal distributions
  • Part (e): Understanding bimodal vs. unimodal mixtures
  • Part (f): GenJAX simulation of mixture models

Related Tutorial Chapters:

Topics:

  • Mixture model categorization
  • Bayes’ rule with continuous distributions
  • Decision boundaries
  • Marginal probability
  • Mixture distributions

Dirichlet Process Mixture Models (DPMM)

Notebook: πŸ““ Open in Colab: dpmm_interactive.ipynb

What it covers:

  • Interactive DPMM exploration
  • Automatic cluster discovery
  • Chinese Restaurant Process visualization
  • Infinite mixture models
  • Bayesian nonparametrics

Related Tutorial Chapters:

Topics:

  • Dirichlet Process
  • Infinite mixture models
  • Chinese Restaurant Process
  • Bayesian nonparametrics
  • Automatic model selection

Bayesian Generalization

Notebook: πŸ““ Open in Colab: 07_generalization.ipynb

What it covers:

  • The sticker warm-up: a concept as a set of hypotheses
  • The number game over 1–30 with seven candidate rules
  • The size principle under weak vs. strong sampling
  • The generalization gradient β€” predicting which new numbers fit

Related Tutorial Chapters:

Topics:

  • Hypotheses as sets
  • The size principle
  • Weak vs. strong sampling
  • Generalization gradients

Bayesian Networks

Notebook: πŸ““ Open in Colab: 08_bayes_nets.ipynb

What it covers:

  • The Chapter 5 mixture model, re-built explicitly as a Bayes net
  • A hierarchical version (a mixing-weight prior stacked on top)
  • Chibany’s multi-parent bento network with a conditional probability table
  • Inference from an observed weight back to the hidden cluster

Related Tutorial Chapters:

Topics:

  • Directed acyclic graphs (DAGs)
  • The Markov factorization
  • Conditional probability tables
  • Ancestral sampling and inference

Conditional Independence & d-Separation

Notebook: πŸ““ Open in Colab: 09_conditional_independence.ipynb

What it covers:

  • The rain / sprinkler / wet-floor collider as a runnable model
  • Conditioning on evidence and recovering posteriors by importance sampling
  • Watching explaining away happen numerically (0.30 β†’ 0.59 β†’ 0.30)

Related Tutorial Chapters:

Topics:

  • Chain, fork, and collider patterns
  • d-separation
  • The Markov blanket
  • Explaining away

Causal Bayes Nets & the Do-Operator

Notebook: πŸ““ Open in Colab: 10_causal_bayes_nets.ipynb

What it covers:

  • The smoking / teeth / cancer network as observational vs. interventional models
  • Computing P(cancer | teeth) vs. P(cancer | do(teeth)) by Monte Carlo
  • Seeing the see/do gap (β‰ˆ0.098 vs. 0.052) emerge from graph surgery

Related Tutorial Chapters:

Topics:

  • The do-operator and graph surgery
  • Confounders
  • Observational vs. interventional distributions
  • Pearl’s ladder of causation

Information Theory

Notebook: πŸ““ Open in Colab: 11_information_theory.ipynb

What it covers:

  • Estimating entropy and mutual information by Monte Carlo
  • The collider creating mutual information from nothing
  • I(rain; tea) = 0 jumping to I(rain; tea | sign) β‰ˆ 0.46 bits β€” explaining away, in bits

Related Tutorial Chapters:

Topics:

  • Surprise and entropy
  • Mutual information
  • Independence in information units
  • The collider, in bits

Path 1: Complete Beginner

  1. first_model.ipynb - Start here for GenJAX basics
  2. conditioning.ipynb - Learn conditional probability
  3. bayesian_learning.ipynb - Master Bayesian updating
  4. 02_first_genjax_model.ipynb - Build your first full model
  5. gaussian_bayesian_interactive_exploration.ipynb - Explore continuous probability
  6. solution_1_gaussian_bayesian_update.ipynb - Practice Gaussian inference
  7. solution_2_gaussian_clusters.ipynb - Learn mixture models
  8. dpmm_interactive.ipynb - Advanced: infinite mixtures

Path 2: Bayesian Learning Focus

  1. bayesian_learning.ipynb - Discrete Bayes’ rule
  2. gaussian_bayesian_interactive_exploration.ipynb - Continuous Bayesian inference
  3. solution_1_gaussian_bayesian_update.ipynb - Gaussian conjugate priors
  4. solution_2_gaussian_clusters.ipynb - Mixture model inference
  5. dpmm_interactive.ipynb - Bayesian nonparametrics

Path 3: Quick Interactive Tour

  1. 02_first_genjax_model.ipynb - Interactive parameter exploration
  2. gaussian_bayesian_interactive_exploration.ipynb - Bayesian learning with sliders
  3. dpmm_interactive.ipynb - Automatic clustering

Path 4: Graphical Models & Causality

  1. 08_bayes_nets.ipynb - Draw models as graphs
  2. 09_conditional_independence.ipynb - d-separation and explaining away
  3. 10_causal_bayes_nets.ipynb - Seeing vs. doing (the do-operator)
  4. 11_information_theory.ipynb - Measure dependence in bits

Tips for Using Notebooks

Getting Started:

  • Click “Open in Colab” to launch any notebook
  • Run cells in order (Shift+Enter) to execute code
  • Experiment by changing parameter values

Interactive Widgets:

  • Many notebooks include sliders and controls
  • Adjust parameters and see results update in real-time
  • Try extreme values to understand edge cases

Saving Your Work:

  • File β†’ Save a copy in Drive (saves to your Google Drive)
  • Your experiments and notes will be preserved
  • You can share your modified notebooks with others

Troubleshooting:

  • If code doesn’t run, try Runtime β†’ Restart runtime
  • Make sure to run cells in order from top to bottom
  • Check that all required packages are installed (usually automatic in Colab)

All Notebooks at a Glance

NotebookTutorialTopicsDifficulty
first_model.ipynbTutorial 1Discrete probability, basics⭐ Beginner
conditioning.ipynbTutorial 1Conditional probability⭐ Beginner
bayesian_learning.ipynbTutorials 1 & 2Bayesian inference⭐⭐ Intermediate
02_first_genjax_model.ipynbTutorial 2GenJAX programming⭐⭐ Intermediate
gaussian_bayesian_interactive_exploration.ipynbTutorial 3Continuous Bayes, mixtures⭐⭐⭐ Advanced
solution_1_gaussian_bayesian_update.ipynbTutorial 3Gaussian inference⭐⭐⭐ Advanced
solution_2_gaussian_clusters.ipynbTutorial 3Mixture models⭐⭐⭐ Advanced
dpmm_interactive.ipynbTutorial 3Bayesian nonparametrics⭐⭐⭐⭐ Expert
07_generalization.ipynbTutorial 3Concept learning, size principle⭐⭐⭐ Advanced
08_bayes_nets.ipynbTutorial 3Bayesian networks, DAGs⭐⭐⭐ Advanced
09_conditional_independence.ipynbTutorial 3d-separation, explaining away⭐⭐⭐ Advanced
10_causal_bayes_nets.ipynbTutorial 3Causal inference, do-operator⭐⭐⭐ Advanced
11_information_theory.ipynbTutorial 3Entropy, mutual information⭐⭐⭐ Advanced

Need help? Return to the main tutorial page or consult the glossary for term definitions.

Enjoying the notebooks? This tutorial series is generously funded by the Japanese Probabilistic Computing Consortium Association (JPCCA).