{ "cells": [ { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "i_f5u2x9nn6I", "slideshow": { "slide_type": "slide" } }, "source": [ "# **Lecture 7: Gaussian Discriminant Analysis**\n", "\n", "The previous lecture introduced generative modeling and Naive Bayes. In this lecture, we will see a second learning algorithm based on a generative modeling called Gaussian Discriminant Analysis." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# 7.1. Revisiting Generative Models\n", "\n", "Let's first review generative models and how they differ from discriminative models. We will illustrate these differences on a simple classification task.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## 7.1.1. The Iris Flowers Dataset\n", "\n", "As a running example for this lecture, we are going to again use the Iris flower dataset ([R. A. Fisher, 1936](https://en.wikipedia.org/wiki/Ronald_Fisher)). Recall that our task is to classify subspecies of Iris flowers based on their measurements. \n", "\n", "First, let’s load the dataset and print the examples from the dataset." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
sepal length (cm)sepal width (cm)petal length (cm)petal width (cm)target
05.13.51.40.20
14.93.01.40.20
24.73.21.30.20
34.63.11.50.20
45.03.61.40.20
\n", "
" ], "text/plain": [ " sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) \\\n", "0 5.1 3.5 1.4 0.2 \n", "1 4.9 3.0 1.4 0.2 \n", "2 4.7 3.2 1.3 0.2 \n", "3 4.6 3.1 1.5 0.2 \n", "4 5.0 3.6 1.4 0.2 \n", "\n", " target \n", "0 0 \n", "1 0 \n", "2 0 \n", "3 0 \n", "4 0 " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "import pandas as pd\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "from sklearn import datasets\n", "\n", "# Load the Iris dataset\n", "iris = datasets.load_iris(as_frame=True)\n", "\n", "# print part of the dataset\n", "iris_X, iris_y = iris.data, iris.target\n", "pd.concat([iris_X, iris_y], axis=1).head()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "If we only consider the first two feature columns, we can visualize the dataset in 2D." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# https://scikit-learn.org/stable/auto_examples/neighbors/plot_classification.html\n", "%matplotlib inline\n", "from matplotlib import pyplot as plt\n", "plt.rcParams['figure.figsize'] = [12, 4]\n", "\n", "# create 2d version of dataset\n", "X = iris_X.to_numpy()[:,:2]\n", "x_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5\n", "y_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5\n", "\n", "# Plot also the training points\n", "p1 = plt.scatter(X[:, 0], X[:, 1], c=iris_y, edgecolor='k', s=60, cmap=plt.cm.Paired)\n", "plt.xlabel('Sepal Length (cm)')\n", "plt.ylabel('Sepal Width (cm)')\n", "plt.legend(handles=p1.legend_elements()[0], labels=['Setosa', 'Versicolour', 'Virginica'], loc='lower right')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## 7.1.2. Review: Discriminative Models\n", "\n", "Most models we have seen thus far have been *discriminative*: \n", "\n", "* They directly transform $x$ into a score for each class $y$ (e.g., via the formula $y=\\sigma(\\theta^\\top x)$)\n", "\n", "* They can be interpreted as defining a *conditional* probability $P_\\theta(y|x)$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "For example, logistic regression is a binary classification algorithm which uses a model $f_\\theta : \\mathcal{X} \\to [0,1]$ of the form\n", "\n", "$$ \n", "f_\\theta(x) = \\sigma(\\theta^\\top x) = \\frac{1}{1 + \\exp(-\\theta^\\top x)}, \n", "$$\n", "\n", "where $\\sigma(z) = \\frac{1}{1 + \\exp(-z)}$ is the *sigmoid* or *logistic* function." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The logistic model defines (\"parameterizes\") a probability distribution $P_\\theta(y|x) : \\mathcal{X} \\times \\mathcal{Y} \\to [0,1]$ as follows:\n", "\n", "$$\n", "\\begin{align*}\n", "P_\\theta(y=1 | x) & = \\sigma(\\theta^\\top x) \\\\\n", "P_\\theta(y=0 | x) & = 1-\\sigma(\\theta^\\top x).\n", "\\end{align*}\n", "$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "Logistic regression optimizes the following objective defined over a binary classification dataset $\\mathcal{D} = \\{(x^{(1)}, y^{(1)}), (x^{(2)}, y^{(2)}), \\ldots, (x^{(n)}, y^{(n)})\\}$.\n", "\n", "$$\n", "\\begin{align*}\n", "\\ell(\\theta) & = \\frac{1}{n}\\sum_{i=1}^n \\log P_\\theta (y^{(i)} \\mid x^{(i)}) \\\\\n", "& = \\frac{1}{n}\\sum_{i=1}^n {y^{(i)}} \\cdot \\log \\sigma(\\theta^\\top x^{(i)}) + (1-y^{(i)}) \\cdot \\log (1-\\sigma(\\theta^\\top x^{(i)})).\n", "\\end{align*}\n", "$$\n", "\n", "This objective is also often called the log-loss, or cross-entropy. This asks the model to ouput a large score $\\sigma(\\theta^\\top x^{(i)})$ (a score that's close to one) if $y^{(i)}=1$, and a score that's small (close to zero) if $y^{(i)}=0$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Now, let's train logistic/softmax regression on this dataset." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "LogisticRegression(C=100000.0)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from matplotlib import pyplot as plt\n", "plt.rcParams['figure.figsize'] = [12, 4]\n", "from sklearn.linear_model import LogisticRegression\n", "logreg = LogisticRegression(C=1e5)\n", "\n", "# Create an instance of Logistic Regression Classifier and fit the data.\n", "X = iris_X.to_numpy()[:,:2]\n", "# rename class two to class one\n", "Y = iris_y.copy()\n", "logreg.fit(X, Y) " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "We visualize the regions predicted to be associated with the blue, brown, and yellow classes and the lines between them are the decision boundaries." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "xx, yy = np.meshgrid(np.arange(4, 8.2, .02), np.arange(1.8, 4.5, .02))\n", "Z = logreg.predict(np.c_[xx.ravel(), yy.ravel()])\n", "\n", "# Put the result into a color plot\n", "Z = Z.reshape(xx.shape)\n", "plt.pcolormesh(xx, yy, Z, cmap=plt.cm.Paired)\n", "\n", "# Plot also the training points\n", "plt.scatter(X[:, 0], X[:, 1], c=Y, edgecolors='k', cmap=plt.cm.Paired, s=50)\n", "plt.xlabel('Sepal length')\n", "plt.ylabel('Sepal width')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## 7.1.3. Review: Generative Models\n", "\n", "Another approach to classification is to use *generative* models.\n", "\n", "* A generative approach first defines a probabilistic model of $x$ for each class:\n", "\n", "$$ \n", "P_\\theta(x | y=k) \\; \\text{for each class $k$}.\n", "$$\n", "\n", "* $P_\\theta(x | y=k)$ assigns a probability to each $x$ depending on how likely it is to originate from class $k$. The $x$ that are deemed to be more likely to be of class $k$ get a higher probability." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* A generative model also requires specifying a class probability $P_\\theta(y=k)$ that encodes our prior beliefs\n", "\n", "$$ \n", "P_\\theta(y=k) \\; \\text{for each class $k$}.\n", "$$\n", "\n", "These are often just the % of each class in the data." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "In the context of Iris flower classification, we would fit three models on a labeled corpus:\n", "\n", "$$\n", "\\begin{align*}\n", "P_\\theta(x|y=\\text{0}) && P_\\theta(x|y=\\text{1}) && P_\\theta(x|y=\\text{2})\n", "\\end{align*}\n", "$$\n", "\n", "We would also define priors $P_\\theta(y=\\text{0}), P_\\theta(y=\\text{1}),P_\\theta(y=\\text{2})$.\n", "\n", "$P_\\theta(x | y=k)$ *scores* each $x$ based on how much it looks like class $k$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "### 7.1.3.1. Probabilistic Interpretations\n", "\n", "A *generative* model defines $P_\\theta(x|y)$ and $P_\\theta(y)$, thus it also defines a distribution of the form $P_\\theta(x,y)$.\n", "\n", "\n", "\n", "$$\n", "\\underbrace{P_\\theta(x, y): \\mathcal{X} \\times \\mathcal{Y} \\rightarrow[0,1]}_{\\text {generative model }} \\quad \\underbrace{P_\\theta(y \\mid x): \\mathcal{X} \\times \\mathcal{Y} \\rightarrow[0,1]}_{\\text {discriminative model }}\n", "$$\n", "\n", "Discriminative models don't define any probability over the $x$'s. Generative models do." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "We can learn a generative model $P_\\theta(x, y)$ by maximizing the *likelihood*:\n", "\n", "$$ \n", "\\max_\\theta \\frac{1}{n}\\sum_{i=1}^n \\log P_\\theta({x}^{(i)}, y^{(i)}). \n", "$$\n", "\n", "This says that we should choose parameters $\\theta$ such that the model $P_\\theta$ assigns a high probability to each training example $(x^{(i)}, y^{(i)})$ in the dataset $\\mathcal{D}$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# 7.2. Gaussian Mixture Models\n", "\n", "We are now going to introduce a second generative model called the Gaussian mixture model and see why it might be better than the Naive Bayes model introduced in the previous lecture." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## 7.2.1. Review and Motivation \n", "\n", "Let's start by reminding ourselves of the formulas for two important probability distributions.\n", "\n", "### 7.2.1.1. Review of Distributions\n", "#### Categorical Distribution\n", "\n", "A [Categorical](https://en.wikipedia.org/wiki/Categorical_distribution) distribution with parameters $\\theta$ is a probability\n", "over $K$ discrete outcomes $x \\in \\{1,2,...,K\\}$:\n", "\n", "$$\n", "P_\\theta(x = j) = \\theta_j.\n", "$$\n", "\n", "When $K=2$ this is called the [Bernoulli](https://en.wikipedia.org/wiki/Bernoulli_distribution).\n", "#### Normal (Gaussian) Distribution\n", "\n", "A [multivariate normal](https://en.wikipedia.org/wiki/Multivariate_normal_distribution) distribution $P_\\theta(x) : \\mathcal{X} \\to [0,1]$ with parameters $\\theta = (\\mu, \\Sigma)$\n", "is a probability over a $d$-dimensional $x \\in \\mathbb{R}^d$\n", "\n", "$$\n", "P_\\theta(x; \\mu, \\Sigma) = \\frac{1}{\\sqrt{(2 \\pi)^d | \\Sigma |}} \\exp\\left(-\\frac{1}{2} (x - \\mu)^\\top \\Sigma^{-1} (x-\\mu) \\right)\n", "$$\n", "\n", "In one dimension, this reduces to $\\frac{1}{\\sqrt{2 \\pi}\\sigma} \\exp\\left(-\\frac{(x - \\mu)^2}{2\\sigma^2} \\right)$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "This what the density of a Normal distribution looks like in 2D:\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "This is how we can visualize it in a 2D plane:\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 7.2.1.2. A Generative Model for Iris Flowers\n", "\n", "To define a generative model for Iris flowers, we need to define three probabilities:\n", "\n", "$$\n", "\\begin{align*}\n", "P_\\theta(x|y=\\text{0}) && P_\\theta(x|y=\\text{1}) && P_\\theta(x|y=\\text{2})\n", "\\end{align*}\n", "$$\n", "\n", "We also define priors $P_\\theta(y=\\text{0}), P_\\theta(y=\\text{1}), P_\\theta(y=\\text{2})$.\n", "\n", "Each model $P_\\theta(x | y=k)$ *scores* $x$ based on how much it looks like class $k$.\n", "The inputs $x$ are vectors of features for the flowers.\n", "\n", "How do we choose $P_\\theta(x|y=k)$? One possible approach could be to use Naive Bayes. However Naive Bayes defines $P_\\theta(x|y=k)$ as a product of Bernoulli distributions. These are only defined for vectors of discrete binary inputs $x$. In the iris flower example, $x$ consists of flower measurements, which are continuous numbers. Hence, we need to define a different family of models $P_\\theta(x|y=k)$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## 7.2.2. Gaussian Mixture Model\n", "\n", "A *Gaussian mixture* model (GMM) $P_\\theta(x,y)$ is defined for *real-valued data* $x \\in \\mathbb{R}^d$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* The probability of the data $x$ for each class is a multivariate Gaussian\n", "\n", "$$\n", "P_\\theta(x|y=k) = \\mathcal{N}(x ; \\mu_k, \\Sigma_k).\n", "$$\n", "\n", "* The probability over $y$ is Categorical:\n", "$P_\\theta(y=k) = \\phi_k$.\n", "\n", "Thus the full set of parameter $\\theta$ consists of the prior parameters $\\vec\\phi = (\\phi_1,...,\\phi_K)$ and $K$ tuples of per-class Gaussian parameters $(\\mu_k, \\Sigma_k)$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### 7.2.2.1. GMMs Are Mixtures of Gaussians Distributions\n", "\n", "The GMM is an example of a mixture of $K$ distributions with mixing weights $\\phi_k = P(y=k)$:\n", "\n", "$$\n", "P_\\theta(x) = \\sum_{k=1}^K P_\\theta(y=k) P_\\theta(x|y=k) = \\sum_{k=1}^K \\phi_k \\mathcal{N}(x; \\mu_k, \\Sigma_k)\n", "$$\n", "\n", "* The distribution $P_\\theta(y=k) = \\pi_k$ encodes the mixture weights.\n", "* The distribution $P_\\theta(x|y=k) = P_k(x; \\theta_k)$ encodes the $k$-th mixed distribution.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Mixtures can express distributions that a single mixture component can't:\n", "\n", "
\n", "\n", "Here, we have a mixture of 3 Gaussians." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Mixtures of Gaussians fit more complex distributions than one Gaussian.\n", "\n", "The figures below illustrate how the mixture of two Gaussians can model the distribution composed of two separate clusters, which are poorly represented by a single Gaussian. \n", "\n", "Raw data | Single Gaussian | Mixture of Gaussians\n", "--|--|---\n", " | | " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "A Gaussian mixture model also defines a story for how the data was generated. To obtain a data point,\n", "\n", "* First, we sample a class $y \\sim \\text{Categorical}(\\phi_1, \\phi_2, ..., \\phi_K)$ with class proportions given by the $\\phi_k$.\n", "\n", "* Then, we sample an $x$ from a Gaussian distribution $\\mathcal{N}(\\mu_k, \\Sigma_k)$ specific to that class.\n", "\n", "Such a story can be constructed for most generative algorithms and helps understand them." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "### 7.2.2.2. Predictions Out of Gaussian Mixture Models\n", "\n", "Given a trained model $P_\\theta (x,y) = P_\\theta (x | y) P_\\theta (y)$, we can look at the *posterior* probability\n", "\n", "$$\n", "P_\\theta(y = k\\mid x) = \\frac{P_\\theta(y=k, x)}{P_\\theta(x)} = \\frac{P_\\theta(x | y=k) P_\\theta(y=k)}{\\sum_{l=1}^K P_\\theta(x | y=l) P_\\theta(y=l)}\n", "$$\n", "\n", "of a point $x$ belonging to class $k$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# 7.3. Gaussian Discriminant Analysis\n", "\n", "Next, we will use GMMs as the basis for a new generative classification algorithm, Gaussian Discriminant Analysis (GDA)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## 7.3.1. Review: Maximum Likelihood Learning\n", "\n", "We can learn a generative model $P_\\theta(x, y)$ by maximizing the *maximum likelihood*:\n", "\n", "$$ \n", "\\max_\\theta \\frac{1}{n}\\sum_{i=1}^n \\log P_\\theta({x}^{(i)}, y^{(i)}). \n", "$$\n", "\n", "This seeks to find parameters $\\theta$ such that the model assigns high probability to the training data." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Let's use maximum likelihood to fit the Guassian Discriminant model. Note that model parameters $\\theta$ are the union of the parameters of each sub-model:\n", "\n", "$$\\theta = (\\mu_1, \\Sigma_1, \\phi_1, \\ldots, \\mu_K, \\Sigma_K, \\phi_K).$$\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "Mathematically, the components of the model $P_\\theta(x,y)$ are as follows.\n", "\n", "$$\n", "\\begin{align*}\n", "P_\\theta(y) & = \\frac{\\prod_{k=1}^K \\phi_k^{\\mathbb{I}\\{y = y_k\\}}}{\\sum_{k=1}^k \\phi_k} \\\\\n", "P_\\theta(x|y=k) & = \\frac{1}{(2\\pi)^{d/2}|\\Sigma|^{1/2}} \\exp(-\\frac{1}{2}(x-\\mu_k)^\\top\\Sigma_k^{-1}(x-\\mu_k))\n", "\\end{align*}\n", "$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## 7.3.2. Optimizing the Log Likelihood\n", "\n", "Given a dataset $\\mathcal{D} = \\{(x^{(i)}, y^{(i)})\\mid i=1,2,\\ldots,n\\}$, we want to optimize the log-likelihood $\\ell(\\theta)$:\n", "\n", "$$\n", "\\begin{align*}\n", "\\ell(\\theta) & = \\sum_{i=1}^n \\log P_\\theta(x^{(i)}, y^{(i)}) = \\sum_{i=1}^n \\log P_\\theta(x^{(i)} | y^{(i)}) + \\sum_{i=1}^n \\log P_\\theta(y^{(i)}) \\\\\n", "& = \\sum_{k=1}^K \\underbrace{\\sum_{i : y^{(i)} = k} \\log P(x^{(i)} | y^{(i)} ; \\mu_k, \\Sigma_k)}_\\text{all the terms that involve $\\mu_k, \\Sigma_k$} + \\underbrace{\\sum_{i=1}^n \\log P(y^{(i)} ; \\vec \\phi)}_\\text{all the terms that involve $\\vec \\phi$}.\n", "\\end{align*}\n", "$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "In equality #2, we use the fact that $P_\\theta(x,y)=P_\\theta(y) P_\\theta(x|y)$; in the third one, we change the order of summation." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Each $\\mu_k, \\Sigma_k$ for $k=1,2,\\ldots,K$ is found in only the following subset of the terms that comprise the full log-likelihood definition:\n", "\n", "$$\n", "\\begin{align*}\n", "\\max_{\\mu_k, \\Sigma_k} \\sum_{i=1}^n \\log P_\\theta(x^{(i)}, y^{(i)})\n", "& = \\max_{\\mu_k, \\Sigma_k} \\sum_{l=1}^K \\sum_{i : y^{(i)} = l} \\log P_\\theta(x^{(i)} | y^{(i)} ; \\mu_l, \\Sigma_l) \\\\\n", "& = \\max_{\\mu_k, \\Sigma_k} \\sum_{i : y^{(i)} = k} \\log P_\\theta(x^{(i)} | y^{(i)} ; \\mu_k, \\Sigma_k).\n", "\\end{align*}\n", "$$\n", "\n", "Thus, optimization over $\\mu_k, \\Sigma_k$ can be carried out independently of all the other parameters by just looking at these terms." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Similarly, optimizing for $\\vec \\phi = (\\phi_1, \\phi_2, \\ldots, \\phi_K)$ only involves a small subset of all the terms that comprise the full log-likelihood:\n", "\n", "$$ \n", "\\max_{\\vec \\phi} \\sum_{i=1}^n \\log P_\\theta(x^{(i)}, y^{(i)} ; \\theta) = \\max_{\\vec\\phi} \\\n", "\\sum_{i=1}^n \\log P_\\theta(y^{(i)} ; \\vec \\phi). \n", "$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### 7.3.2.1. Learning the Parameters $\\phi$\n", "\n", "Let's first consider the optimization over $\\vec \\phi = (\\phi_1, \\phi_2, \\ldots, \\phi_K)$. \n", "\n", "$$ \n", "\\max_{\\vec \\phi} \\sum_{i=1}^n \\log P_\\theta(y=y^{(i)} ; \\vec \\phi). \n", "$$\n", "\n", "* We have $n$ datapoints. Each point has a label $k\\in\\{1,2,...,K\\}$.\n", "\n", "* Our model is a categorical and assigns a probability $\\phi_k$ to each outcome $k\\in\\{1,2,...,K\\}$.\n", "\n", "* We want to infer $\\phi_k$ assuming our dataset is sampled from the model.\n", "\n", "What are the maximum likelihood $\\phi_k$ that are most likely to have generated our data? \n", "Intuitively, the maximum likelihood class probabilities $\\phi$ should just be the class proportions that we see in the data. \n", "\n", "Note that this is analogous to an earlier example in which we used the principle of maximum likelihood to estimate the probability of the biased coin falling heads: that probability was equal to the frequency of observing heads in our dataset. Similarly, the maximum likelihood estimate of sampling a datapoint with class $k$ corresponds to the fraction of datapoints in our training set that are labeled as class $k$.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Let's calculate this formally. Our objective $J(\\vec \\phi)$ equals\n", "\n", "$$\n", "\\begin{align*}\n", "J(\\vec\\phi) & = \\sum_{i=1}^n \\log P_\\theta(y^{(i)} ; \\vec \\phi) \\\\\n", "& = \\sum_{i=1}^n \\log \\phi_{y^{(i)}} - n \\cdot \\log \\sum_{k=1}^K \\phi_k \\\\ \n", "& = \\sum_{k=1}^K \\sum_{i : y^{(i)} = k} \\log \\phi_k - n \\cdot \\log \\sum_{k=1}^K \\phi_k\n", "\\end{align*}\n", "$$\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Taking the partial derivative with respect to $\\phi_k$:\n", "\n", "$$\n", "\\begin{align*}\n", "\\frac{\\partial}{\\partial_{\\phi_k}} J(\\vec\\phi) \n", "& = \\frac{\\partial}{\\partial_{\\phi_k}} \\left (\\sum_{l=1}^K \\sum_{i : y^{(i)} = l} \\log \\phi_l - n \\cdot \\log \\sum_{l=1}^K \\phi_l \\right) \\\\\n", "& = \\frac{\\partial}{\\partial_{\\phi_k}} \\sum_{i : y^{(i)} = k} \\log \\phi_k - \\frac{\\partial}{\\partial_{\\phi_k}} n \\cdot \\log \\sum_{l=1}^K \\phi_l \\\\\n", "& = n_k \\cdot \\frac{\\partial}{\\partial_{\\phi_k}} \\log \\phi_k - n \\cdot \\frac{\\partial}{\\partial_{\\phi_k}} \\log \\sum_{l=1}^K \\phi_l \\\\\n", "& = \\frac{n_k}{\\phi_k} - \\frac{n}{\\sum_{l=1}^K \\phi_l}\n", "\\end{align*}\n", "$$\n", "\n", "Setting this derivative to zero, we obtain \n", "\n", "$$ \n", "\\frac{\\phi_k}{\\sum_l \\phi_l} = \\frac{n_k}{n}\n", "$$\n", "\n", "for each $k$, where $n_k = |\\{i : y^{(i)} = k\\}|$ is the number of training targets with class $k$. \n", "\n", "Thus, the maximum likelihood set of parameters $\\phi_k$ must satisfy the above constraint. Because we know that the set of parameters $\\sum_{l=1}^K \\phi_l$ must also sum to one, we plug this fact into the above equation to conclude that:\n", "\n", "$$ \n", "\\phi_k = \\frac{n_k}{n}\n", "$$\n", "\n", "Thus, the optimal $\\phi_k$ is just the proportion of data points with class $k$ in the training set!\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### 7.3.2.2. Learning the Parameters $\\mu_k, \\Sigma_k$\n", "\n", "Next, let's look at the maximum likelihood term\n", "\n", "$$\n", "\\max_{\\mu_k, \\Sigma_k} \\sum_{i : y^{(i)} = k} \\log \\mathcal{N}(x^{(i)} | \\mu_k, \\Sigma_k)\n", "$$\n", "\n", "over the Gaussian parameters $\\mu_k, \\Sigma_k$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Our dataset are all the points $x$ for which $y=k$.\n", "\n", "* We want to learn the mean and variance $\\mu_k, \\Sigma_k$ of a normal distribution that generates this data.\n", "\n", "What is the maximum likelihood $\\mu_k, \\Sigma_k$ in this case?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Computing the derivative and setting it to zero (the mathematical proof is left as an exercise to the reader), we obtain closed form solutions:\n", "\n", "$$\n", "\\begin{align*}\n", "\\mu_k & = \\frac{\\sum_{i: y^{(i)} = k} x^{(i)}}{n_k} \\\\\n", "\\Sigma_k & = \\frac{\\sum_{i: y^{(i)} = k} (x^{(i)} - \\mu_k)(x^{(i)} - \\mu_k)^\\top}{n_k} \\\\\n", "\\end{align*}\n", "$$\n", "\n", "These are just the observed means and covariances within each class." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### 7.3.2.3. Querying the Model\n", "\n", "How do we ask the model for predictions? As discussed earlier, we can apply Bayes' rule:\n", "\n", "$$\\arg\\max_y P_\\theta(y|x) = \\arg\\max_y P_\\theta(x|y)P(y).$$\n", "\n", "Thus, we can estimate the probability of $x$ and under each $P_\\theta(x|y=k)P(y=k)$ and choose the class that explains the data best." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## 7.3.3. Algorithm: Gaussian Discriminant Analysis (GDA)\n", "\n", "The above procedure describes an example of generative models---Gaussian Discriminant Analysis (GDA). We can succinctly define GDA in terms of the algorithm components.\n", "\n", "* __Type__: Supervised learning (multi-class classification)\n", "\n", "* __Model family__: Mixtures of Gaussians.\n", "\n", "* __Objective function__: Log-likelihood.\n", "\n", "* __Optimizer__: Closed form solution." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### 7.3.3.1. Example: Iris Flower Classification\n", "\n", "Let's see how this approach can be used in practice on the Iris dataset.\n", "\n", "* We will learn the maximum likelihood GDA parameters\n", "\n", "* We will compare the outputs to the true predictions." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Let's first start by computing the model parameters on our dataset. It only takes a few lines of code!" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[5.006 3.428]\n", " [5.936 2.77 ]\n", " [6.588 2.974]]\n" ] } ], "source": [ "# we can implement these formulas over the Iris dataset\n", "d = 2 # number of features in our toy dataset\n", "K = 3 # number of classes\n", "n = X.shape[0] # size of the dataset\n", "\n", "# these are the shapes of the parameters\n", "mus = np.zeros([K,d])\n", "Sigmas = np.zeros([K,d,d])\n", "phis = np.zeros([K])\n", "\n", "# we now compute the parameters\n", "for k in range(3):\n", " X_k = X[iris_y == k]\n", " mus[k] = np.mean(X_k, axis=0)\n", " Sigmas[k] = np.cov(X_k.T)\n", " phis[k] = X_k.shape[0] / float(n)\n", "\n", "# print out the means\n", "print(mus)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "We can compute predictions using Bayes' rule." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 1 0 0 0 0 0 0 0 0 2 2 2 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1\n", " 2 2 2 2 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 2 2 1 2 2 2 2\n", " 2 2 1 1 2 2 2 2 1 2 1 2 1 2 2 1 1 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2\n", " 2 1]\n" ] } ], "source": [ "# we can implement this in numpy\n", "def gda_predictions(x, mus, Sigmas, phis):\n", " \"\"\"This returns class assignments and p(y|x) under the GDA model.\n", " \n", " We compute \\arg\\max_y p(y|x) as \\arg\\max_y p(x|y)p(y)\n", " \"\"\"\n", " # adjust shapes\n", " n, d = x.shape\n", " x = np.reshape(x, (1, n, d, 1))\n", " mus = np.reshape(mus, (K, 1, d, 1))\n", " Sigmas = np.reshape(Sigmas, (K, 1, d, d)) \n", " \n", " # compute probabilities\n", " py = np.tile(phis.reshape((K,1)), (1,n)).reshape([K,n,1,1])\n", " pxy = (\n", " np.sqrt(np.abs((2*np.pi)**d*np.linalg.det(Sigmas))).reshape((K,1,1,1)) \n", " * -.5*np.exp(\n", " np.matmul(np.matmul((x-mus).transpose([0,1,3,2]), np.linalg.inv(Sigmas)), x-mus)\n", " )\n", " )\n", " pyx = pxy * py\n", " return pyx.argmax(axis=0).flatten(), pyx.reshape([K,n])\n", "\n", "idx, pyx = gda_predictions(X, mus, Sigmas, phis)\n", "print(idx)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "We visualize the decision boundaries like we did earlier. The figure illustrates that three Gaussians learned through Gaussian Discriminant Analysis split the data points from three classes reasonably." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from matplotlib.colors import LogNorm\n", "xx, yy = np.meshgrid(np.arange(x_min, x_max, .02), np.arange(y_min, y_max, .02))\n", "Z, pyx = gda_predictions(np.c_[xx.ravel(), yy.ravel()], mus, Sigmas, phis)\n", "logpy = np.log(-1./3*pyx)\n", "\n", "# Put the result into a color plot\n", "Z = Z.reshape(xx.shape)\n", "contours = np.zeros([K, xx.shape[0], xx.shape[1]])\n", "for k in range(K):\n", " contours[k] = logpy[k].reshape(xx.shape)\n", "plt.pcolormesh(xx, yy, Z, cmap=plt.cm.Paired)\n", "for k in range(K):\n", " plt.contour(xx, yy, contours[k], levels=np.logspace(0, 1, 1))\n", "\n", "# Plot also the training points\n", "plt.scatter(X[:, 0], X[:, 1], c=iris_y, edgecolors='k', cmap=plt.cm.Paired)\n", "plt.xlabel('Sepal length')\n", "plt.ylabel('Sepal width')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### 7.3.3.2. Special Cases of GDA\n", "\n", "Many important generative algorithms are special cases of Gaussian Discriminative Analysis\n", "\n", "* Linear discriminant analysis (LDA): all the covariance matrices $\\Sigma_k$ take the same value.\n", "\n", "* Gaussian Naive Bayes: all the covariance matrices $\\Sigma_k$ are diagonal.\n", "\n", "* Quadratic discriminant analysis (QDA): another term for GDA." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# 7.4. Discriminative vs. Generative Algorithms\n", "\n", "We conclude our lectures on generative algorithms by revisiting the question of how they compare to discriminative algorithms." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## 7.4.1. Linear Discriminant Analysis\n", "\n", "When the covariances $\\Sigma_k$ in GDA are equal, we have an algorithm called Linear Discriminant Analysis or LDA.\n", "The probability of the data $x$ for each class is a multivariate Gaussian with the same covariance $\\Sigma$.\n", "\n", "$$\n", "P_\\theta(x|y=k) = \\mathcal{N}(x ; \\mu_k, \\Sigma).\n", "$$\n", "\n", "\n", "The probability over $y$ is Categorical:\n", "$P_\\theta(y=k) = \\phi_k$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Let's apply this algorithm on the Iris flower dataset.\n", "We compute the model parameters similarly to how we did for GDA." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[5.006 3.428]\n", " [5.936 2.77 ]\n", " [6.588 2.974]]\n" ] } ], "source": [ "# we can implement these formulas over the Iris dataset\n", "d = 2 # number of features in our toy dataset\n", "K = 3 # number of classes\n", "n = X.shape[0] # size of the dataset\n", "\n", "# these are the shapes of the parameters\n", "mus = np.zeros([K,d])\n", "Sigmas = np.zeros([K,d,d])\n", "phis = np.zeros([K])\n", "\n", "# we now compute the parameters\n", "for k in range(3):\n", " X_k = X[iris_y == k]\n", " mus[k] = np.mean(X_k, axis=0)\n", " Sigmas[k] = np.cov(X.T) # this is now X.T instead of X_k.T\n", " phis[k] = X_k.shape[0] / float(n)\n", "\n", "# print out the means\n", "print(mus)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "We can compute predictions using Bayes' rule." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 1 0 0 0 0 0 0 0 0 2 2 2 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1\n", " 2 2 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 2 2 1 2 1 2 2\n", " 1 2 1 1 2 2 2 2 1 2 1 2 1 2 2 1 1 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 1 2\n", " 2 1]\n" ] } ], "source": [ "# we can implement this in numpy\n", "def gda_predictions(x, mus, Sigmas, phis):\n", " \"\"\"This returns class assignments and p(y|x) under the GDA model.\n", " \n", " We compute \\arg\\max_y p(y|x) as \\arg\\max_y p(x|y)p(y)\n", " \"\"\"\n", " # adjust shapes\n", " n, d = x.shape\n", " x = np.reshape(x, (1, n, d, 1))\n", " mus = np.reshape(mus, (K, 1, d, 1))\n", " Sigmas = np.reshape(Sigmas, (K, 1, d, d)) \n", " \n", " # compute probabilities\n", " py = np.tile(phis.reshape((K,1)), (1,n)).reshape([K,n,1,1])\n", " pxy = (\n", " np.sqrt(np.abs((2*np.pi)**d*np.linalg.det(Sigmas))).reshape((K,1,1,1)) \n", " * -.5*np.exp(\n", " np.matmul(np.matmul((x-mus).transpose([0,1,3,2]), np.linalg.inv(Sigmas)), x-mus)\n", " )\n", " )\n", " pyx = pxy * py\n", " return pyx.argmax(axis=0).flatten(), pyx.reshape([K,n])\n", "\n", "idx, pyx = gda_predictions(X, mus, Sigmas, phis)\n", "print(idx)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "We visualize predictions like we did earlier. " ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from matplotlib.colors import LogNorm\n", "xx, yy = np.meshgrid(np.arange(x_min, x_max, .02), np.arange(y_min, y_max, .02))\n", "Z, pyx = gda_predictions(np.c_[xx.ravel(), yy.ravel()], mus, Sigmas, phis)\n", "logpy = np.log(-1./3*pyx)\n", "\n", "# Put the result into a color plot\n", "Z = Z.reshape(xx.shape)\n", "contours = np.zeros([K, xx.shape[0], xx.shape[1]])\n", "for k in range(K):\n", " contours[k] = logpy[k].reshape(xx.shape)\n", "plt.pcolormesh(xx, yy, Z, cmap=plt.cm.Paired)\n", "\n", "# Plot also the training points\n", "plt.scatter(X[:, 0], X[:, 1], c=iris_y, edgecolors='k', cmap=plt.cm.Paired)\n", "plt.xlabel('Sepal length')\n", "plt.ylabel('Sepal width')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Linear Discriminant Analysis outputs decision boundaries that are linear, just like Logistic/Softmax Regression. Softmax or Logistic regression also produce linear boundaries. Is this a coincidence?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### 7.4.1.1. What Is the LDA Model Class?\n", "\n", "We can derive an analytic formula for $P_\\theta(y|x)$ in a Bernoulli Naive Bayes or LDA model when $K=2$. After some algebra, we can show that\n", "\n", "$$ \n", "P_\\theta(y|x) = \\frac{P_\\theta(x|y)P_\\theta(y)}{\\sum_{y'\\in \\mathcal{Y}}P_\\theta(x|y')P_\\theta(y')} = \\frac{1}{1+\\exp(-\\gamma^\\top x)} \n", "$$\n", "\n", "for some set of parameters $\\gamma$ (whose expression can be derived from $\\theta$). " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "This is the same form as Logistic Regression! Does it mean that the two sets of algorithms are equivalent? " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "No! They assume the same model class $\\mathcal{M}$, they use a different objective $J$ to select a model in $\\mathcal{M}$. More specifically, we can make the following conclusions:" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "* Bernoulli Naive Bayes or LDA assumes a logistic form for $P(y|x)$. But the converse is not true: logistic regression does not assume a NB or LDA model for $P(x,y)$.\n", "\n", "* Generative models make stronger modeling assumptions. If these assumptions hold true, the generative models will perform better.\n", "\n", "* But if they don't, logistic regression will be more robust to outliers and model misspecification, and achieve higher accuracy." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## 7.4.2. Generative Models vs. Discriminative Models\n", "\n", "Finally, we are revisiting the question of when we want to use generative models or discriminative models.\n", "\n", "Discriminative algorithms are deservingly very popular. \n", "\n", "* Most state-of-the-art algorithms for classification are discriminative (including neural nets, boosting, SVMs, etc.)\n", "\n", "* They are often more accurate because they make fewer modeling assumptions.\n", "\n", "But generative models can do things that discriminative models can't do. \n", "\n", "* __Generation__: we can sample $x \\sim p(x|y)$ to generate new data (images, audio).\n", "\n", "* __Missing value imputation__: if $x_j$ is missing, we infer it using $p(x|y)$.\n", "\n", "* __Outlier detection__: we may detect via $p(x')$ if $x'$ is an outlier.\n", "\n", "* __Scalability__: Simple formulas for maximum likelihood parameters.\n", "\n", "And generative algorithms also have many other advantages:\n", "\n", "* Can do more than just prediction: generation, fill-in missing features, etc.\n", "\n", "* Can include extra prior knowledge; if prior knowledge is correct, model will be more accurate.\n", "\n", "* Often have closed-form solutions, hence are faster to train." ] }, { "cell_type": "markdown", "metadata": {}, "source": [] } ], "metadata": { "accelerator": "GPU", "celltoolbar": "Slideshow", "colab": { "collapsed_sections": [], "name": "neural-ode.ipynb", "provenance": [] }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.7" }, "rise": { "controlsTutorial": false, "height": 900, "help": false, "margin": 0, "maxScale": 2, "minScale": 0.2, "progress": true, "scroll": true, "theme": "simple", "width": 1200 }, "vscode": { "interpreter": { "hash": "ccfaef849455cb82dfcf38b07a416fc7e0fa5490bd7d0cd7d98b2a6b1749e9b9" } } }, "nbformat": 4, "nbformat_minor": 1 }