{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Probability Theory Review" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Preliminaries\n", "\n", "- Goal \n", " - Review of probability theory as a theory for rational/logical reasoning with uncertainties (i.e., a Bayesian interpretation)\n", "- Materials \n", " - Mandatory\n", " - These lecture notes\n", " - [Ariel Caticha - 2012 - Entropic Inference and the Foundations of Physics](https://github.com/bertdv/BMLIP/blob/master/lessons/notebooks/files/Caticha-2012-Entropic-Inference-and-the-Foundations-of-Physics.pdf), pp.7-26 (sections 2.1 through 2.5), on deriving probability theory. You may skip section 2.3.4: Cox's proof (pp.15-18). \n", " - The assignment is only meant to appreciate how this line of \"axiomatic derivation\" of the rules of PT goes. I will not ask questions about any details of the derivations at the exam. \n", " \n", " - Optional\n", " - the pre-recorded video guide and live class of 2020\n", " - [Ariel Caticha - 2012 - Entropic Inference and the Foundations of Physics](https://github.com/bertdv/BMLIP/blob/master/lessons/notebooks/files/Caticha-2012-Entropic-Inference-and-the-Foundations-of-Physics.pdf), pp.7-56 (ch.2: probability)\n", " - Great introduction to probability theory, in particular w.r.t. its correct interpretation as a state-of-knowledge.\n", " - Absolutely worth your time to read the whole chapter!\n", " - [Edwin Jaynes - 2003 - Probability Theory -- The Logic of Science](https://archive.org/details/ProbabilityTheoryTheLogicOfScience). \n", " - Brilliant book on Bayesian view on probability theory. Just for fun, scan the annotated bibliography and references.\n", " - Bishop pp. 12-24" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Example Problem: Disease Diagnosis\n", "\n", "- **Problem**: Given a disease with prevalence of 1% and a test procedure with sensitivity ('true positive' rate) of 95% and specificity ('true negative' rate) of 85% , what is the chance that somebody who tests positive actually has the disease?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- **Solution**: Use probabilistic inference, to be discussed in this lecture. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### The Design of Probability Theory\n", "\n", "- Define an **event** (or \"proposition\") $A$ as a statement, whose truth can be contemplated by a person, e.g., \n", "\n", "$$𝐴= \\texttt{'there is life on Mars'}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- If we assume the fact $$I = \\texttt{'All known life forms require water'}$$ and a new piece of information $$x = \\texttt{'There is water on Mars'}$$ becomes available, how _should_ our degree of belief in event $A$ be affected (if we were rational)? " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "- [Richard T. Cox, 1946](https://aapt.scitation.org/doi/10.1119/1.1990764) developed a **calculus for rational reasoning** about how to represent and update the degree of _beliefs_ about the truth value of events when faced with new information. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- In developing this calculus, only some very agreeable assumptions were made, e.g.,\n", " - (Transitivity). If the belief in $A$ is greater than the belief in $B$, and the belief in $B$ is greater than the belief in $C$, then the belief in $A$ must be greater than the belief in $C$.\n", " - (Consistency). If the belief in an event can be inferred in two different ways, then the two ways must agree on the resulting belief." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "- This effort resulted in confirming that the [sum and product rules of Probability Theory](#PT-calculus) are the **only** proper rational way to process belief intensities. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- $\\Rightarrow$ Probability theory (PT) provides _the_ **theory of optimal processing of incomplete information** (see [Cox theorem](https://en.wikipedia.org/wiki/Cox%27s_theorem), and [Caticha](https://github.com/bertdv/BMLIP/blob/master/lessons/notebooks/files/Caticha-2012-Entropic-Inference-and-the-Foundations-of-Physics.pdf), pp.7-24), and as such provides the (only) proper quantitative framework for drawing conclusions from a finite (read: incomplete) data set." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Why Probability Theory for Machine Learning?\n", "\n", "- Machine learning concerns drawing conclusions about model parameter settings from (a finite set of) data and therefore PT provides the _optimal calculus for machine learning_. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- In general, nearly all interesting questions in machine learning can be stated in the following form (a conditional probability):\n", "\n", "$$p(\\texttt{whatever-we-want-to-know}\\, | \\,\\texttt{whatever-we-do-know})$$\n", "\n", "where $p(a|b)$ means the probability that $a$ is true, given that $b$ is true." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Examples\n", " - Predictions\n", " $$p(\\,\\texttt{future-observations}\\,|\\,\\texttt{past-observations}\\,)$$\n", " - Classify a received data point $x$ \n", " $$p(\\,x\\texttt{-belongs-to-class-}k \\,|\\,x\\,)$$\n", " - Update a model based on a new observation\n", " $$p(\\,\\texttt{model-parameters} \\,|\\,\\texttt{new-observation},\\,\\texttt{past-observations}\\,)$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Frequentist vs. Bayesian Interpretation of Probabilities\n", "\n", "- The interpretation of a probability as a **degree-of-belief** about the truth value of an event is also called the **Bayesian** interpretation. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- In the **Bayesian** interpretation, the probability is associated with a **state-of-knowledge** (usually held by a person). \n", " - For instance, in a coin tossing experiment, $p(\\texttt{tail}) = 0.4$ should be interpreted as the belief that there is a 40% chance that $\\texttt{tail}$ comes up if the coin were tossed.\n", " - Under the Bayesian interpretation, PT calculus (sum and product rules) **extends boolean logic to rational reasoning with uncertainty**. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "- The Bayesian interpretation contrasts with the **frequentist** interpretation of a probability as the relative frequency that an event would occur under repeated execution of an experiment.\n", "\n", " - For instance, if the experiment is tossing a coin, then $p(\\texttt{tail}) = 0.4$ means that in the limit of a large number of coin tosses, 40% of outcomes turn up as $\\texttt{tail}$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The Bayesian viewpoint is more generally applicable than the frequentist viewpoint, e.g., it is hard to apply the frequentist viewpoint to events like '$\\texttt{it will rain tomorrow}$'. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The Bayesian viewpoint is clearly favored in the machine learning community. (In this class, we also strongly favor the Bayesian interpretation). " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Probability Theory Notation\n", "\n", "##### events\n", "- Define an **event** $A$ as a statement, whose truth can be contemplated by a person, e.g.,\n", "\n", "$$A = \\text{'it will rain tomorrow'}$$\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- We write the denial of $A$, i.e. the event **not**-A, as $\\bar{A}$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Given two events $A$ and $B$, we write the **conjunction** \"$A \\wedge B$\" as \"$A,B$\" or \"$AB$\". The conjunction $AB$ is true only if both $A$ and $B$ are true. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- We will write the **disjunction** \"$A \\lor B$\" as \"$A + B$\", which is true if either $A$ or $B$ is true or both $A$ and $B$ are true. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Note that, if $X$ is a variable, then an assignment $X=x$ (with $x$ a value, e.g., $X=5$) can be interpreted as an event. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "##### probabilities\n", "\n", "- For any event $A$, with background knowledge $I$, the **conditional probability of $A$ given $I$**, is written as \n", "$$p(A|I)\\,.$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- All probabilities are in principle conditional probabilities of the type $p(A|I)$, since there is always some background knowledge. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "##### Unfortunately, PT notation is usually rather sloppy :(\n", "\n", "- We often write $p(A)$ rather than $p(A|I)$ if the background knowledge $I$ is assumed to be obviously present. E.g., $p(A)$ rather than $p(\\,A\\,|\\,\\text{the-sun-comes-up-tomorrow}\\,)$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- (In the context of random variable assignments) we often write $p(x)$ rather than $p(X=x)$, assuming that the reader understands the context. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- In an apparent effort to further abuse notational conventions, $p(X)$ denotes the full distribution over random variable $X$, i.e., the distribution for all assignments for $X$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- If $X$ is a *discretely* valued variable, then $p(X=x)$ is a probability *mass* function (PMF) with $0\\le p(X=x)\\le 1$ and normalization $\\sum_x p(x) =1$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- If $X$ is *continuously* valued, then $p(X=x)$ is a probability *density* function (PDF) with $p(X=x)\\ge 0$ and normalization $\\int_x p(x)\\mathrm{d}x=1$. \n", " - Note that if $X$ is continuously valued, then the value of the PDF $p(x)$ is not necessarily $\\le 1$. E.g., a uniform distribution on the continuous domain $[0,.5]$ has value $p(x) = 2$.\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Often, we do not bother to specify if $p(x)$ refers to a continuous or discrete variable. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Probability Theory Calculus\n", " \n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Let $p(A|I)$ indicate the belief in event $A$, given that $I$ is true. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The following product and sum rules are also known as the **axioms of probability theory**, but as discussed above, under some mild assumptions, they can be derived as the unique rules for *rational reasoning under uncertainty* ([Cox theorem, 1946](https://en.wikipedia.org/wiki/Cox%27s_theorem), and [Caticha, 2012](https://github.com/bertdv/BMLIP/blob/master/lessons/notebooks/files/Caticha-2012-Entropic-Inference-and-the-Foundations-of-Physics.pdf), pp.7-26)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- **Sum rule**. The disjunction for two events $A$ and $B$ given background $I$ is given by\n", "$$\\boxed{p(A+B|I) = p(A|I) + p(B|I) - p(A,B|I)}$$\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- **Product rule**. The conjuction of two events $A$ and $B$ with given background $I$ is given by \n", "$$\\boxed{p(A,B|I) = p(A|B,I)\\,p(B|I)}$$\n", " \n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- **All legitimate probabilistic relations can be derived from the sum and product rules!**" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Independent and Mutually Exclusive Events\n", "\n", "- Two events $A$ and $B$ are said to be **independent** if the probability of one is not altered by information about the truth of the other, i.e., $p(A|B) = p(A)$\n", " - $\\Rightarrow$ If $A$ and $B$ are independent, given $I$, then the product rule simplifies to $$p(A,B|I) = p(A|I) p(B|I)$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Two events $A_1$ and $A_2$ are said to be **mutually exclusive** if they cannot be true simultanously, i.e., if $p(A_1,A_2)=0$.\n", " - $\\Rightarrow$ For mutually exclusive events, the sum rule simplifies to\n", " $$p(A_1+A_2) = p(A_1) + p(A_2)$$\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- A set of events $A_1, A_2, \\ldots, A_N$ is said to be **collectively exhaustive** if one of the statements is necessarily true, i.e., $A_1+A_2+\\cdots +A_N=\\mathrm{TRUE}$, or equivalently \n", "$$p(A_1+A_2+\\cdots +A_N)=1$$\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Note that, if $A_1, A_2, \\ldots, A_n$ are both **mutually exclusive** and **collectively exhausitive** (MECE) events, then\n", " $$\\sum_{n=1}^N p(A_n) = p(A_1 + \\ldots + A_N) = 1$$\n", " - More generally, if $\\{A_n\\}$ are MECE events, then $\\sum_{n=1}^N p(A_n,B) = p(B)$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### The Sum Rule and Marginalization\n", "\n", "- We mentioned that every inference problem in PT can be evaluated through the sum and product rules. Next, we present two useful corollaries: (1) _Marginalization_ and (2) _Bayes rule_ " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- If $X \\in \\mathcal{X}$ and $Y \\in \\mathcal{Y}$ are random variables over finite domains, than it follows from the above considerations about MECE events that \n", "$$\n", "\\sum_{Y\\in \\mathcal{Y}} p(X,Y) = p(X) \\,.\n", "$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Summing $Y$ out of a joint distribution $p(X,Y)$ is called **marginalization** and the result $p(X)$ is sometimes referred to as the **marginal probability**. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Note that this is just a **generalized sum rule**. In fact, Bishop (p.14) (and some other authors as well) calls this the sum rule.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Of course, in the continuous domain, the (generalized) sum rule becomes\n", "$$p(X)=\\int p(X,Y) \\,\\mathrm{d}Y$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### The Product Rule and Bayes Rule\n", "\n", "- Consider two variables $D$ and $\\theta$; it follows from symmetry arguments that \n", "$$p(D,\\theta)=p(D|\\theta)p(\\theta)=p(\\theta|D)p(D)$$ \n", "and hence that\n", "$$p(\\theta|D) = \\frac{p(D|\\theta) }{p(D)}p(\\theta)\\,.$$ " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- This formula is called **Bayes rule** (or Bayes theorem). While Bayes rule is always true, a particularly useful application occurs when $D$ refers to an observed data set and $\\theta$ is set of model parameters. In that case,\n", "\n", " - the **prior** probability $p(\\theta)$ represents our **state-of-knowledge** about proper values for $\\theta$, before seeing the data $D$.\n", " - the **posterior** probability $p(\\theta|D)$ represents our state-of-knowledge about $\\theta$ after we have seen the data." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "$\\Rightarrow$ Bayes rule tells us how to update our knowledge about model parameters when facing new data. Hence, \n", "\n", "
\n", "
\n", "Bayes rule is the fundamental rule for learning from data!\n", "
\n", "
" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Bayes Rule Nomenclature\n", "- Some nomenclature associated with Bayes rule:\n", "$$\n", "\\underbrace{p(\\theta | D)}_{\\text{posterior}} = \\frac{\\overbrace{p(D|\\theta)}^{\\text{likelihood}} \\times \\overbrace{p(\\theta)}^{\\text{prior}}}{\\underbrace{p(D)}_{\\text{evidence}}}\n", "$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Note that the evidence (a.k.a. _marginal likelihood_ ) can be computed from the numerator through marginalization since\n", "$$p(D) = \\int p(D,\\theta) \\,\\mathrm{d}\\theta = \\int p(D|\\theta)\\,p(\\theta) \\,\\mathrm{d}\\theta$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "- Hence, having access to likelihood and prior is in principle sufficient to compute both the evidence and the posterior. To emphasize that point, Bayes rule is sometimes written as a transformation:\n", "\n", "$$\\underbrace{\\underbrace{p(\\theta|D)}_{\\text{posterior}}\\cdot \\underbrace{p(D)}_{\\text{evidence}}}_{\\text{this is what we want to compute}} = \\underbrace{\\underbrace{p(D|\\theta)}_{\\text{likelihood}}\\cdot \\underbrace{p(\\theta)}_{\\text{prior}}}_{\\text{this is available}}$$ \n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- For a given data set $D$, the posterior probabilities of the parameters scale relatively against each other as\n", "\n", "$$\n", "p(\\theta|D) \\propto p(D|\\theta) p(\\theta)\n", "$$\n", "\n", "- $\\Rightarrow$ All that we can learn from the observed data is contained in the likelihood function $p(D|\\theta)$. This is called the **likelihood principle**." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### The Likelihood Function vs the Sampling Distribution\n", "\n", "- Consider a distribution $p(D|\\theta)$, where $D$ relates to variables that are observed (i.e., a \"data set\") and $\\theta$ are model parameters." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- In general, $p(D|\\theta)$ is just a function of the two variables $D$ and $\\theta$. We distinguish two interpretations of this function, depending on which variable is observed (or given by other means). " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The **sampling distribution** (a.k.a. the **data-generating** distribution) $$p(D|\\theta=\\theta_0)$$ (which is a function of $D$ only) describes a probability distribution for data $D$, assuming that it is generated by the given model with parameters fixed at $\\theta = \\theta_0$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- In a machine learning context, often the data is observed, and $\\theta$ is the free variable. In that case, for given observations $D=D_0$, the **likelihood function** (which is a function only of the model parameters $\\theta$) is defined as $$\\mathrm{L}(\\theta) \\triangleq p(D=D_0|\\theta)$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Note that $\\mathrm{L}(\\theta)$ is not a probability distribution for $\\theta$ since in general $\\sum_\\theta \\mathrm{L}(\\theta) \\neq 1$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Code Example: Sampling Distribution and Likelihood Function for the Coin Toss\n", "\n", "Consider the following simple model for the outcome (head or tail) $y \\in \\{0,1\\}$ of a biased coin toss with parameter $\\theta \\in [0,1]$:\n", "\n", "\\begin{align*}\n", "p(y|\\theta) &\\triangleq \\theta^y (1-\\theta)^{1-y}\\\\\n", "\\end{align*}\n", "\n", "We can plot both the sampling distribution $p(y|\\theta=0.8)$ and the likelihood function $L(\\theta) = p(y=0|\\theta)$." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "using Pkg; Pkg.activate(\"probprog/workspace\");Pkg.instantiate();\n", "IJulia.clear_output();" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Figure(PyObject