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

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

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

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).