Contents
These notes
These notes and the general content of the first half of the course were primarily inspired by the following course:
 Stanford CS228. Those notes were originally written by Volodymyr Kuleshov and Stefano Ermon, with the help of many students and course staff. Once we switch to Decision Making you can check out their course and the related textbook to go even further on the topic of PGMs.
You can find other relevant resources for our course on the Resources Gingko Page. This list be update as needed throughout the course.
Finally, these notes are still under construction! Although we have written up a lot of the material, you will probably find several and errors. If you do, please let us know. provide a resource for an introductory course on probabilistic reasoning and decision making.
The field of Artificial Intelligence intersects many areas of knowledge which engineers can utilize for building robust, dynamic systems in a world filled with large amounts of data yet also containing uncertainty and hidden information. In this course we focus from the ground up on the concepts and skills needed to build systems that can reason, learn and make decisions using probabilistic reasoning. This begins with reviewing concepts from Bayesian probability and learning how to perform probabilistic inference with exact and more efficient approximate methods such as MCMC.
In the first half of the course we will explore two practical approaches to utilizing these concepts for reasoning : Probabilistic Programming and Probabilistic Graphical Models (PGMs). These methods can also be used to reason about decisions, for example using Influence Diagrams. In the second half of the course we will look at how to use a probabilistic model to optimize decisions based on data collected through experimentation or interaction with the environment. A basic form of this often used for A/B testing is Thompson Sampling for solving MultiArmed Bandit (MAB) problems where probability distributions and decision making are combined in the simplest way.
Reinforcement Learning (RL) is a much more general framework for decision making where we agents learn how to act from their environment without any prior knowledge of how the world works or possible outcomes. We will explore the classic definitions and algorithms for RL and see how it has been revolutionized in recent years through the use of Deep Learning. Recently, impressive AI algorithms have been demonstrated which combine all of these concepts along with MonteCarlo Tree Search to learn to play video games (such as Star Craft) and board games (such as Go and chess) from scratch. More practical applications of these methods are used regularly in areas such as customer behaviour modelling, traffic control, automatic server configuration, autonomous driving and robotics.
Preliminaries

Introduction: What is probabilistic graphical modeling? Overview of the course.

Review of probability theory: Probability distributions. Conditional probability. Random variables.

Examples of realworld applications: Image denoising. RNA structure prediction. Syntactic analysis of sentences. Optical character recognition (under construction).
Representation

Bayesian networks: Definitions. Representations via directed graphs. Independencies in directed models.

Markov random fields: Undirected vs directed models. Independencies in undirected models. Conditional random fields.
Inference

Variable elimination The inference problem. Variable elimination. Complexity of inference.

(optional) Belief propagation: The junction tree algorithm. Exact inference in arbitrary graphs. Loopy Belief Propagation.

MAP inference: Maxsum message passing. Graphcuts. Linear programming relaxations. Dual decomposition.

Samplingbased inference: MonteCarlo sampling. Forward Sampling. Rejection Sampling. Importance sampling. Markov Chain MonteCarlo. Applications in inference.

Probabilistic Programming: Alternative approach to modelling probability distributions and performing inference. A/B Testing introduction and using MCMC to solve it.

(optional) Variational inference: Variational lower bounds. Mean Field. Marginal polytope and its relaxations.
Learning

Learning in directed models: Maximum likelihood estimation. Learning theory basics. Maximum likelihood estimators for Bayesian networks.

Bayesian learning: Bayesian paradigm. Conjugate priors. The basics, enough to understand MultiArmed Bandits (MABs).
Decision Making Under Uncertainty
 Multiarmed bandits (MAB) : The simplest model of Reinforcement Learning. Example: A/B Testing.
 Causation vs Correlation: how to model probabilistic causal relationships, relation to decision making
 Influence Diagrams: a simple way to add decisions to PGMs
 Bayesian Optimization: Upper Confidence Bounds, Thompson Sampling
 Markov Decision Processes (MDPs)
 MonteCarlo Tree Search: a way of solving MABs, also useful later for the latest Deep RL solutions
Deep Reinforcement Learning
 Basics of Neural Networks: training, backpropagation, gradient descent, regularization methods
 Deep Learning (training methods, relevant architectures for Reinforcement Learning, fully connected feed forward networks)
 Reinforcement Learning (RL): theory, Bellman equations, Value/Policy Iteration
 RL Solution Methods: TD methods, Qlearning, SARSA, policy gradients, ActorCritic methods
 Function approximation for RL (classic methods, Deep Learning)
 Deep RL : Deep Q Networks (DQN), A3C, A2C, …