Open In Colab   Open in Kaggle



Today, you will learn about the Bayesian approach to making inferences and decisions. Bayes’ rule forms a foundation for many procedures and models in computational neuroscience and is the basis of Bayesian statistics. The Bayesian approach naturally provides ways to define our knowledge—our prior and how we should update our knowledge using observations from the world to form beliefs. Importantly, the Bayesian approach always explicitly represents our uncertainty. We will introduce two examples that are used in other NMA days: a fishing example, where the state of the world we want to infer is binary and Astrocat, where we infer a continuous position in space. Using these examples, you will learn the mathematical concepts and how to apply them, including working through a few simple problems by hand. We provide interactive demos which will be used to build intuitions for how Bayesian inference and decisions work. By the end of the tutorials, you should feel comfortable with how to apply Bayes’ rule, the concept of utility and the properties of the Gaussian distribution.

This day provides a foundation for the inference problems you will encounter in the Hidden Dynamics day, as well as ideas important for Optimal Control and Reinforcement Learning (though Bayesian RL itself is more advanced than what you will encounter in NMA).

Bayesian inference and decision making is used widely in neuroscience to describe behavior as well as neural computations. It is a normative approach, in fact, it could be thought of as the normative approach, as it is the framework that allows you to always define the optimal inference and choice. Bayes’ rule itself is used even more widely and connects to topics you have seen in NMA, like Maximum Likelihood (Model Fitting) and regularization.


In the content and tutorials today, you will be using knowledge of probability and statistics (W0D5). In particular, you will use the Gaussian distribution, likelihoods, and Bayes Rule. Please review this material if necessary!

Install and import feedback gadget#

Hide code cell source
# @title Install and import feedback gadget

!pip3 install vibecheck datatops --quiet

from vibecheck import DatatopsContentReviewContainer
def content_review(notebook_section: str):
    return DatatopsContentReviewContainer(
        "",  # No text prompt
            "url": "",
            "name": "neuromatch_cn",
            "user_key": "y1x3mpx5",

feedback_prefix = "W3D1_Intro"



Submit your feedback#

Hide code cell source
# @title Submit your feedback