{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Programming Assignment" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Naive Bayes and logistic regression" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Instructions\n", "\n", "In this notebook, you will write code to develop a Naive Bayes classifier model to the Iris dataset using Distribution objects from TensorFlow Probability. You will also explore the connection between the Naive Bayes classifier and logistic regression.\n", "\n", "Some code cells are provided you in the notebook. You should avoid editing provided code, and make sure to execute the cells in order to avoid unexpected errors. Some cells begin with the line: \n", "\n", "`#### GRADED CELL ####`\n", "\n", "Don't move or edit this first line - this is what the automatic grader looks for to recognise graded cells. These cells require you to write your own code to complete them, and are automatically graded when you submit the notebook. Don't edit the function name or signature provided in these cells, otherwise the automatic grader might not function properly.\n", "\n", "### How to submit\n", "\n", "Complete all the tasks you are asked for in the worksheet. When you have finished and are happy with your code, press the **Submit Assignment** button at the top of this notebook.\n", "\n", "### Let's get started!\n", "\n", "We'll start running some imports, and loading the dataset. Do not edit the existing imports in the following cell. If you would like to make further Tensorflow imports, you should add them here." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "#### PACKAGE IMPORTS ####\n", "\n", "# Run this cell first to import all required packages. Do not make any imports elsewhere in the notebook\n", "import tensorflow as tf\n", "import tensorflow_probability as tfp\n", "tfd = tfp.distributions\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from sklearn.metrics import accuracy_score\n", "from sklearn import datasets, model_selection\n", "%matplotlib inline\n", "\n", "# If you would like to make further imports from TensorFlow or TensorFlow Probability, add them here\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<tr>\n", "<td><img src=\"data/iris_setosa.jpg\" alt=\"Drawing\" style=\"height: 270px;\"/></td>\n", "<td><img src=\"data/iris_versicolor.jpg\" alt=\"Drawing\" style=\"height: 270px;\"/></td>\n", "<td><img src=\"data/iris_virginica.jpg\" alt=\"Drawing\" style=\"height: 270px;\"/></td>\n", "</tr>" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### The Iris dataset\n", "\n", "In this assignment, you will use the [Iris dataset](https://scikit-learn.org/stable/auto_examples/datasets/plot_iris_dataset.html). It consists of 50 samples from each of three species of Iris (Iris setosa, Iris virginica and Iris versicolor). Four features were measured from each sample: the length and the width of the sepals and petals, in centimeters. For a reference, see the following papers:\n", "\n", "- R. A. Fisher. \"The use of multiple measurements in taxonomic problems\". Annals of Eugenics. 7 (2): 179–188, 1936.\n", "\n", "Your goal is to construct a Naive Bayes classifier model that predicts the correct class from the sepal length and sepal width features. Under certain assumptions about this classifier model, you will explore the relation to logistic regression." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Load and prepare the data\n", "\n", "We will first read in the Iris dataset, and split the dataset into training and test sets. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Load the dataset\n", "\n", "iris = datasets.load_iris()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Use only the first two features: sepal length and width\n", "\n", "data = iris.data[:, :2]\n", "targets = iris.target" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# Randomly shuffle the data and make train and test splits\n", "\n", "x_train, x_test, y_train, y_test = model_selection.train_test_split(data, targets, test_size=0.2)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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BQtYvHgxe+21F/X19SxYsIAXXnih3/sfeOABjjrqKLbYYgtGjx7N0Ucfzf3338+ECROYP38+5513Hvfffz9jxowB4J577uFjH/sYEyZM4O677+aJJ54o34GImL6nLlVn5cpw7SKVbjh+J7bYYou87fvvvz/33Xcft99+OyeddBLnnnsuW265JTNnzgTgZz/7GVOmTOlJxkcffTSjRo3ijjvuYLPNNuOUU07he9/73oCf7QUun++2224sXryYO+64g/PPP5+DDz6Yb37zm7S0tLBo0SJ23HFHLrrookQV8NGZulSdcePCtYtUupH8nWhvb+f9738/Z5xxBl/60pdYsmQJRx11FEuXLmXp0qVMmTKFBx98kH/+858AvPPOOzz55JOk02kaGhqYO3cu//jHPwB49dVXaW8PJjOrra1l3bp1QPCHwy233EJnZydvvvkm8+bN4xOf+AQvvfQSdXV1nHjiiZxzzjksWbKkJ4Fvs802rF27lrlz50Z/EMpIZ+pSdVpboalp08uNdXVBu0g1GsnfiXvvvZdLL72U2tpaRo8ezXXXXddvneeff57m5mbcnQ0bNnDYYYdxzDHHYGZ897vf5eCDD2bDhg3U1tZy9dVXk06naWpqYuLEiUyaNIlsNsupp57K1KlTATj99NPZc889+eMf/8i5557LqFGjqK2tZfbs2Wy11VacccYZTJgwgUwmw1577RX9QSgjK3RZIq6mTJnimk9dSpXNBvcLV64MzkZaWyE3SFakIjz11FN85CMfKXp9/U7ER76+M7PF7j5lsPfqTF2qUmOj/sMS6U2/E5VB99RFREQqhJK6iIhIhVBSFxERqRBK6jJsVJpVRCRaGignwyKb3fQrM+3twTJocI6ISLnoTF2GhUqzilSfcky9+uabb7L11lvT0dGxSfuRRx7JTTfdVFJ8AIceeiivvfZa6PdddNFFXHbZZSV/frkpqcuwUGlWEYHwU69uscUWHHzwwdxyyy09bR0dHTzwwAMcfvjhRW1j/fr1BV+744472GqrrYraThQGim0olNRlWKg0q0jMvZiFWzJw/ajg+cXyDXopderV448/nhtvvLFned68eRxyyCHU1dXx5ptvctppp7HXXnux55578rvf/Q6Aa665hs997nMcccQRHHzwwQU/J5PJ8MorrwBw3XXXMXHiRPbYYw9OOukkIChj29DQ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\n", "text/plain": [ "<Figure size 576x360 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the training data\n", "\n", "labels = {0: 'Iris-Setosa', 1: 'Iris-Versicolour', 2: 'Iris-Virginica'}\n", "label_colours = ['blue', 'orange', 'green']\n", "\n", "def plot_data(x, y, labels, colours):\n", " for c in np.unique(y):\n", " inx = np.where(y == c)\n", " plt.scatter(x[inx, 0], x[inx, 1], label=labels[c], c=colours[c])\n", " plt.title(\"Training set\")\n", " plt.xlabel(\"Sepal length (cm)\")\n", " plt.ylabel(\"Sepal width (cm)\")\n", " plt.legend()\n", " \n", "plt.figure(figsize=(8, 5))\n", "plot_data(x_train, y_train, labels, label_colours)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Naive Bayes classifier\n", "\n", "We will briefly review the Naive Bayes classifier model. The fundamental equation for this classifier is Bayes' rule:\n", "\n", "$$\n", "P(Y=y_k | X_1,\\ldots,X_d) = \\frac{P(X_1,\\ldots,X_d | Y=y_k)P(Y=y_k)}{\\sum_{k=1}^K P(X_1,\\ldots,X_d | Y=y_k)P(Y=y_k)}\n", "$$\n", "\n", "In the above, $d$ is the number of features or dimensions in the inputs $X$ (in our case $d=2$), and $K$ is the number of classes (in our case $K=3$). The distribution $P(Y)$ is the class prior distribution, which is a discrete distribution over $K$ classes. The distribution $P(X | Y)$ is the class-conditional distribution over inputs.\n", "\n", "The Naive Bayes classifier makes the assumption that the data features $X_i$ are conditionally independent give the class $Y$ (the 'naive' assumption). In this case, the class-conditional distribution decomposes as\n", "\n", "$$\n", "\\begin{align}\n", "P(X | Y=y_k) &= P(X_1,\\ldots,X_d | Y=y_k)\\\\\n", "&= \\prod_{i=1}^d P(X_i | Y=y_k)\n", "\\end{align}\n", "$$\n", "\n", "This simplifying assumption means that we typically need to estimate far fewer parameters for each of the distributions $P(X_i | Y=y_k)$ instead of the full joint distribution $P(X | Y=y_k)$.\n", "\n", "Once the class prior distribution and class-conditional densities are estimated, the Naive Bayes classifier model can then make a class prediction $\\hat{Y}$ for a new data input $\\tilde{X} := (\\tilde{X}_1,\\ldots,\\tilde{X}_d)$ according to\n", "\n", "$$\n", "\\begin{align}\n", "\\hat{Y} &= \\text{argmax}_{y_k} P(Y=y_k | \\tilde{X}_1,\\ldots,\\tilde{X}_d) \\\\\n", "&= \\text{argmax}_{y_k}\\frac{P(\\tilde{X}_1,\\ldots,\\tilde{X}_d | Y=y_k)P(Y=y_k)}{\\sum_{k=1}^K P(\\tilde{X}_1,\\ldots,\\tilde{X}_d | Y=y_k)P(Y=y_k)}\\\\\n", "&= \\text{argmax}_{y_k} P(\\tilde{X}_1,\\ldots,\\tilde{X}_d | Y=y_k)P(Y=y_k)\n", "\\end{align}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Define the class prior distribution\n", " \n", "We will begin by defining the class prior distribution. To do this we will simply take the maximum likelihood estimate, given by\n", "\n", "$$\n", "P(Y=y_k) = \\frac{\\sum_{n=1}^N \\delta(Y^{(n)}=y_k)}{N},\n", "$$\n", "\n", "where the superscript $(n)$ indicates the $n$-th dataset example, $\\delta(Y^{(n)}=y_k) = 1$ if $Y^{(n)}=y_k$ and 0 otherwise, and $N$ is the total number of examples in the dataset. The above is simply the proportion of data examples belonging to class $k$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You should now write a function that builds the prior distribution from the training data, and returns it as a `Categorical` Distribution object.\n", "\n", "* The input to your function `y` will be a numpy array of shape `(num_samples,)`\n", "* The entries in `y` will be integer labels $k=0, 1,\\ldots, K-1$\n", "* Your function should build and return the prior distribution as a `Categorical` distribution object\n", " * The probabilities for this distribution will be a length-$K$ vector, with entries corresponding to $P(Y = y_k)$ for $k=0,1,\\ldots,K-1$\n", " * Your function should work for any value of $K\\ge 1$\n", " * This Distribution will have an empty batch shape and empty event shape" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "#### GRADED CELL ####\n", "\n", "# Complete the following function. \n", "# Make sure to not change the function name or arguments.\n", "\n", "def get_prior(y):\n", " \"\"\"\n", " This function takes training labels as a numpy array y of shape (num_samples,) as an input.\n", " Your function should \n", " This function should build a Categorical Distribution object with empty batch shape \n", " and event shape, with the probability of each class given as above. \n", " Your function should return the Distribution object.\n", " \"\"\"\n", " _, counts = np.unique(y, return_counts=True)\n", " priors = counts / len(y)\n", " dist = tfd.Categorical(probs=priors)\n", " return dist \n", " " ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# Run your function to get the prior\n", "\n", "prior = get_prior(y_train)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the prior distribution\n", "\n", "labels = ['Iris-Setosa', 'Iris-Versicolour', 'Iris-Virginica']\n", "plt.bar([0, 1, 2], prior.probs.numpy(), color=label_colours)\n", "plt.xlabel(\"Class\")\n", "plt.ylabel(\"Prior probability\")\n", "plt.title(\"Class prior distribution\")\n", "plt.xticks([0, 1, 2], labels)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Define the class-conditional densities\n", "\n", "We now turn to the definition of the class-conditional distributions $P(X_i | Y=y_k)$ for $i=0, 1$ and $k=0, 1, 2$. In our model, we will assume these distributions to be univariate Gaussian:\n", "\n", "$$\n", "\\begin{align}\n", "P(X_i | Y=y_k) &= N(X_i | \\mu_{ik}, \\sigma_{ik})\\\\\n", "&= \\frac{1}{\\sqrt{2\\pi\\sigma_{ik}^2}} \\exp\\left\\{-\\frac{1}{2} \\left(\\frac{x - \\mu_{ik}}{\\sigma_{ik}}\\right)^2\\right\\}\n", "\\end{align}\n", "$$\n", "with mean parameters $\\mu_{ik}$ and standard deviation parameters $\\sigma_{ik}$, twelve parameters in all. We will again estimate these parameters using maximum likelihood. In this case, the estimates are given by\n", "\n", "$$\n", "\\begin{align}\n", "\\hat{\\mu}_{ik} &= \\frac{\\sum_n X_i^{(n)} \\delta(Y^{(n)}=y_k)}{\\sum_n \\delta(Y^{(n)}=y_k)} \\\\\n", "\\hat{\\sigma}^2_{ik} &= \\frac{\\sum_n (X_i^{(n)} - \\hat{\\mu}_{ik})^2 \\delta(Y^{(n)}=y_k)}{\\sum_n \\delta(Y^{(n)}=y_k)}\n", "\\end{align}\n", "$$\n", "\n", "Note that the above are just the means and variances of the sample data points for each class." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You should now write a function the computes the class-conditional Gaussian densities, using the maximum likelihood parameter estimates given above, and returns them in a single, batched `MultivariateNormalDiag` Distribution object. \n", "\n", "* The inputs to the function are \n", " * a numpy array `x` of shape `(num_samples, num_features)` for the data inputs\n", " * a numpy array `y` of shape `(num_samples,)` for the target labels\n", "* Your function should work for any number of classes $K\\ge 1$ and any number of features $d\\ge 1$" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "#### GRADED CELL ####\n", "\n", "# Complete the following function. \n", "# Make sure to not change the function name or arguments.\n", "\n", "def get_class_conditionals(x, y):\n", " \"\"\"\n", " This function takes training data samples x and labels y as inputs.\n", " This function should build the class-conditional Gaussian distributions above. \n", " It should construct a batch of distributions for each feature and each class, using the \n", " parameter estimates above for the means and standard deviations.\n", " The batch shape of this distribution should be rank 2, where the first dimension corresponds\n", " to the number of classes and the second corresponds to the number of features.\n", " Your function should then return the Distribution object.\n", " \"\"\"\n", " n_features = x.shape[1]\n", " classes = np.unique(y)\n", " mu = np.zeros((len(classes),n_features))\n", " sig = np.zeros((len(classes),n_features))\n", " for k in classes:\n", " mu[k] = np.mean(x[y==k,:],axis=0)\n", " sig[k] = np.std(x[y==k,:],axis=0)\n", " dist = tfd.MultivariateNormalDiag(loc=mu, scale_diag=sig)\n", " return dist\n", "\n" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<tfp.distributions.MultivariateNormalDiag 'MultivariateNormalDiag' batch_shape=[3] event_shape=[2] dtype=float64>" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Run your function to get the class-conditional distributions\n", "\n", "class_conditionals = get_class_conditionals(x_train, y_train)\n", "class_conditionals" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can visualise the class-conditional densities with contour plots by running the cell below. Notice how the contours of each distribution correspond to a Gaussian distribution with diagonal covariance matrix, since the model assumes that each feature is independent given the class." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 720x432 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the training data with the class-conditional density contours\n", "\n", "def get_meshgrid(x0_range, x1_range, num_points=100):\n", " x0 = np.linspace(x0_range[0], x0_range[1], num_points)\n", " x1 = np.linspace(x1_range[0], x1_range[1], num_points)\n", " return np.meshgrid(x0, x1)\n", "\n", "def contour_plot(x0_range, x1_range, prob_fn, batch_shape, colours, levels=None, num_points=100):\n", " X0, X1 = get_meshgrid(x0_range, x1_range, num_points=num_points)\n", " Z = prob_fn(np.expand_dims(np.array([X0.ravel(), X1.ravel()]).T, 1))\n", " Z = np.array(Z).T.reshape(batch_shape, *X0.shape)\n", " for batch in np.arange(batch_shape):\n", " if levels:\n", " plt.contourf(X0, X1, Z[batch], alpha=0.2, colors=colours, levels=levels)\n", " else:\n", " plt.contour(X0, X1, Z[batch], colors=colours[batch], alpha=0.3)\n", "\n", "plt.figure(figsize=(10, 6))\n", "plot_data(x_train, y_train, labels, label_colours)\n", "x0_min, x0_max = x_train[:, 0].min(), x_train[:, 0].max()\n", "x1_min, x1_max = x_train[:, 1].min(), x_train[:, 1].max()\n", "contour_plot((x0_min, x0_max), (x1_min, x1_max), class_conditionals.prob, 3, label_colours)\n", "plt.title(\"Training set with class-conditional density contours\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Make predictions from the model\n", "\n", "Now the prior and class-conditional distributions are defined, you can use them to compute the model's class probability predictions for an unknown test input $\\tilde{X} = (\\tilde{X}_1,\\ldots,\\tilde{X}_d)$, according to\n", "\n", "$$\n", "P(Y=y_k | \\tilde{X}_1,\\ldots,\\tilde{X}_d) = \\frac{P(\\tilde{X}_1,\\ldots,\\tilde{X}_d | Y=y_k)P(Y=y_k)}{\\sum_{k=1}^K P(\\tilde{X}_1,\\ldots,\\tilde{X}_d | Y=y_k)P(Y=y_k)}\n", "$$\n", "\n", "The class prediction can then be taken as the class with the maximum probability:\n", "\n", "$$\n", "\\hat{Y} = \\text{argmax}_{y_k} P(Y=y_k | \\tilde{X}_1,\\ldots,\\tilde{X}_d)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You should now write a function to return the model's class probabilities for a given batch of test inputs of shape `(batch_shape, 2)`, where the `batch_shape` has rank at least one. \n", "\n", "* The inputs to the function are the `prior` and `class_conditionals` distributions, and the inputs `x`\n", "* Your function should use these distributions to compute the probabilities for each class $k$ as above\n", " * As before, your function should work for any number of classes $K\\ge 1$\n", "* It should then compute the prediction by taking the class with the highest probability\n", "* The predictions should be returned in a numpy array of shape `(batch_shape)`" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [], "source": [ "#### GRADED CELL ####\n", "\n", "# Complete the following function. \n", "# Make sure to not change the function name or arguments.\n", "\n", "def predict_class(prior, class_conditionals, x):\n", " \"\"\"\n", " This function takes the prior distribution, class-conditional distribution, and \n", " a batch of inputs in a numpy array of shape (batch_shape, 2).\n", " This function should compute the class probabilities for each input in the batch, using\n", " the prior and class-conditional distributions, according to the above equation.\n", " Note that the batch_shape of x could have rank higher than one!\n", " Your function should then return the class predictions by taking the class with the \n", " maximum probability in a numpy array of shape (batch_shape,).\n", " \"\"\"\n", "# cond_probs = class_conditionals.log_prob(x)[ np.newaxis, :]\n", "# joint_likelihood = tf.add(np.log(prior.probs), cond_probs)\n", " prior_prob = np.log(prior.probs)[ np.newaxis, :]\n", " cond_prob = class_conditionals.log_prob(x[:,np.newaxis])\n", " joint_likelihood = tf.add(cond_prob, prior_prob)\n", " norm_factor = tf.math.reduce_logsumexp(joint_likelihood, axis=-1, keepdims=True)\n", " log_prob = tf.exp(joint_likelihood - norm_factor)\n", " yy = tf.argmax(log_prob,axis=0-1)\n", " return yy.numpy()\n", " " ] }, { "cell_type": "code", "execution_count": 95, "metadata": { "scrolled": true }, "outputs": [], "source": [ "# Get the class predictions\n", "\n", "predictions = predict_class(prior, class_conditionals, x_test)" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Test accuracy: 0.7333\n" ] } ], "source": [ "# Evaluate the model accuracy on the test set\n", "\n", "accuracy = accuracy_score(y_test, predictions)\n", "print(\"Test accuracy: {:.4f}\".format(accuracy))" ] }, { "cell_type": "code", "execution_count": 110, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmQAAAGDCAYAAACFuAwbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3Xt8XHWd//HXJ0lLSFvlVgyllFYBKRYoNAm9IHeQ2ApSQVBusvKoluDquoJFVre4dO3+UBd1s7Coi2C7CJaKiIworNCyIG2DBVqqUEFKoZFLpaUtEZp8fn+cmVymM5PJzJw5c3k/H488kvOdc+Z8z3dO0k+/3+/5fszdEREREZHo1ERdAREREZFqp4BMREREJGIKyEREREQipoBMREREJGIKyEREREQipoBMREREJGIKyEQqgJnVmtk2MxtXyH3LjZmdYGZrM7x+kJnlvNaPmV1qZg/menz8Pd5rZtuy2O9iM4vlc65iGKzNRSQ7CshEIhAPiBJfPWb2Vr/t84f6fu7e7e4j3X1DIfctFjN72Mw+le/7uPuD7v6Bfu+70cxOyPd9C8ndn3P3kVnsd4u7txajTvlIbnMRyU1d1BUQqUb9/0E2sz8Dl7r7/en2N7M6d99ZjLpJddG9JVIa1EMmUoLM7Fozu93MbjOzN4ELzGyamf3OzN4ws01m9l0zGxbfv87M3MzGx7cXxV+PmdmbZvaomU0Y6r7x11vN7Bkz22Jm3zOz/0vXm2VmU83scTPbamZ/MbPr+r02o1/9V5vZcfHyfwOmATfGewivT/G+i83s8/GfD4zXf058+1Aze9UCp8QDXMzsNmAMEIu/7xf7vd9F8d6zV81sXobPYbSZ3RO/nt8BE5JeP8zM7jezzWb2BzP7WL/XGszs381sQ7ztlpnZbsnDpmb2aTP7c7ztnzOz8+LlA4ZHzexYM1sVf68VZnZMv9ceNrNrzOyR+Pv8ysz2SnNNp8TP9xUz6wS+Hy8/w8yeiH8+D5vZpH7HNMU/szfN7Cdm9lMzm9///frt+wEzeyj+Pk+Z2cx+r2W6L2vir70Sv8YnzeywdJ+NSMVxd33pS18RfgF/Bk5JKrsWeBv4CMF/nHYHmoFjCHq23ws8A1we378OcGB8fHsR8BrQBAwDbgcW5bDvvsCbwJnx174IvAN8Ks21rAQ+Ef95FHBM/OcDgNeBD8Wv5/T4OfeOv/5wuveMvz4H+Fn854uAPwGL+712Z/znU4A/9ztuI3BCv+2D4td+I1APHA38DTg4zXmXALcBDcARwCbgwX7X91K8PnXAlPg1vj/++n8BDwD7AbXAsfE2PCj40+sA7wK2JM4f3/ew+M+X9jvXPvH9PhE/1wXxc+3Zr/2eBQ6O13U5cG2aazoF2An8KzCcvnvrL/HvtcDfxdt4OLBbvB0vj9f/nPg9MD+5zeP7Pw9cGd/3FGAbcFAW99pMYAXw7vg9chjQGPXvp770Vawv9ZCJlK6H3f0X7t7j7m+5+0p3f8zdd7r7c8BNwPEZjl/i7qvc/R1gMTA5h31nAavd/efx1/6d4B/UdN4BDjazvd39TXd/LF5+EXC3u98Xv55fAU8QBGbZeAg4zswMOA74N+CD8deOj78+FPPdvcvdHwfWAkcm72BB7+NHga+6+w53fxL4cb9dzgCecfdb459JB3AXcLaZ1QKfAv7e3Td5MG/v4XgbJnNgkpnVx/d9OsU+HwHWuvtt8XMtAp4jCGISfujuz7r7DuCnZP68d8bb4G13f4sgqP3P+D3W7e7/Hd+vGZgB9Lj7f7j7O+7+U6AjzfvOIAjKrovvez8QA87rt0+6e+0dggD1UAB3f9rdOzNcg0hFUUAmUrpe7L8RH5r7pZl1mtlW4OsEPSfp9P/HbAeQaSJ5un3H9K+HuztBb0k6lxD0bPwxPqz24Xj5gcAn4sNYb5jZG8DU+PsPyt3/SNBjeDhBIHY38JqZvY8cArKkf+jTtc17CHqL+n8OL/T7+UBgRtI1nUvQy/UegsDkT4PUYytBr1cb0BkfHj0kxa5jks6dqMv+/baH8nn/xd3fTrqWLyddy37x9x/Drp/5i6Q2BtgQv0+GVE93/zVBz+UNwF/M7EYzG5XhGkQqigIykdKVvDzDfwFrCIZ/3gV8DbCQ67AJGJvYiPdQ7Z9uZ3f/o7ufRzDU+S3gTjOrJ/gH/GZ336Pf1wh3T8wxy2YpimUEPS0eD6geAj5NMET3VLoqZfG+6fwF6CEYbk3ov1TIi8ADSdc00t0vjx/7NvC+wU7i7jF3P4UgAFpP8Dkne5kgaOpvHMGQaS6S2+VF4Jqka2lw9ztIugfiDiC1l4ED4vfJkOvp7te7+9HAJILA/ouDHCJSMRSQiZSPUQTziLab2UTgM0U45z3A0Wb2ETOrAz4PjE63s5ldaGb7uHtPvK5OENT8GDjLzE61YB20ejM70cwSPWR/IZgXl8lDBPOYEr1hD8a3l8fPl0o275tSfEjtLuAaM9s9Psn9wn673A18wMw+aWbD4l8tZvZ+d+8GfgRcb2aN8WueER8G7WVm+8XbtoEggNsOdKeozj3xc51rwUMZnySYi3ZvLteWwk1Am5k1W2BkvF4jCOan1ZrZ3Pi5P0YwXy6VRwiGQ/8x3h4nAR8G7hisAvG2a4nfZ9sJ2iNVW4hUJAVkIuXjH4GLCSbZ/xfBhOhQuftfCIbhvk0wifx9wO8JJsKn8mFgnQVPhn4TODc+T+nPwFnAV4FXgQ0E15P4G3Q9fUOa307z3g8RBKXL4tvLCYa7lqXZH4KJ69fE3/cLg1xuKnOBPQkCux8CNydecPctBA8pXEDQi9QJfINgEjzAPwDrCOZbbY7XJblHsxa4In7868B0giBzAHd/lWDO2pfj+/0DMMvdN+dwTbuIz/WbSzBc+FeCB0YuiL/2N4LP7rPx1z5OEAjucg/E9/0IwUMgrwHfBT7p7s9kUY09CNr4DYIHXTYRzFkUqQo2cKhfRCS9+GT1l4Gz3X151PWRaJhZB3C9u/940J1FJCvqIRORjMzsdDN7t5ntRtDDtZNgeQKpEhakR3pPfMjy0wRPQv466nqJVBKt1C8igzmWYHmC4QRLRHw0PjQl1WMiwRD5CIInRz8WH84WkQLRkKWIiIhIxDRkKSIiIhIxBWQiIiIiESu7OWT77LOPjx8/PupqiIiIiAyqo6PjNXdPu35jQtkFZOPHj2fVqlVRV0NERERkUGaWnPYsJQ1ZioiIiERMAZmIiIhIxBSQiYiIiESs7OaQiYiIVLJ33nmHjRs30tXVFXVVZAjq6+sZO3Ysw4YNy+l4BWQiIiIlZOPGjYwaNYrx48djlpyPXkqRu/P666+zceNGJkyYkNN7aMhSRESkhHR1dbH33nsrGCsjZsbee++dV6+mAjIREZESo2Cs/OT7mSkgExERkQFGjhyZ9rXp06dn/T47duzg/PPP5/DDD2fSpEkce+yxbNu2LeMx//qv/5r1+1cSBWQiIiIyqO7ubgAeeeSRrI/5zne+w3ve8x6eeuop1qxZww9/+MNBJ70rIBMREZGys3gxjB8PNTXB98WLC/feDz74ICeeeCKf/OQnOfzww4G+3rNNmzZx3HHHMXnyZCZNmsTy5ct3OX7Tpk3sv//+vdvvf//72W233QBYtGgRLS0tTJ48mc985jN0d3czb9483nrrLSZPnsz5558PwLe//W0mTZrEpEmTuP766wHYvn07M2fO5Mgjj2TSpEncfvvtAHz961+nubmZSZMmMWfOHNy9cI0RNncvq68pU6a4iIhIpXr66aez3nfRIveGBnfo+2poCMrzMWLECHd3/+1vf+sNDQ3+3HPP7fLaN7/5Tb/22mvd3X3nzp2+devWXd7n97//vY8ePdqnTp3qV199tT/zzDPuHlzjrFmz/O2333Z397lz5/ott9wy4P3d3VetWuWTJk3ybdu2+ZtvvumHHXaYP/74475kyRK/9NJLe/d744033N399ddf7y274IIL/O67786vIYYo1WcHrPIs4hv1kImUiDD/lysilenqq2HHjoFlO3YE5YXS0tKScimH5uZmbr75ZubPn89TTz3FqFGjdtln8uTJPPfcc1xxxRVs3ryZ5uZm1q1bxwMPPEBHRwfNzc1MnjyZBx54gOeee26X4x9++GHOOussRowYwciRI5k9ezbLly/n8MMP5/777+fLX/4yy5cv593vfjcAv/3tbznmmGM4/PDD+d///V/Wrl1buIYImdYhEykBixfDnDl9f1hfeCHYBoj32ouI7GLDhqGV52LEiBEpy4877jiWLVvGL3/5Sy688EKuuOIKRo0axTXXXAPAD37wA5qamnoDqdmzZ1NTU8O9997L8OHDufjii/nGN76R8dyeZsjxkEMOoaOjg3vvvZerrrqK0047jSuvvJLLLruMVatWccABBzB//vyyWlxXAVkaHR1R10CqyZe+lPp/uV/6Ehx6aDR1qlbPv7KICROAd02MuipSpeq669j+9vas9h17wO68uGHXwa6xB/Sw/e238qrH9re389Y7b9Hd071Lfba/vZ0NL2xgzP5j+OTFn+SvW/7KYysf4/996/9x2szTeve7/8H7OXTioey55568/fbbPLX2KaYeO5VDJx7KeR87jzltc9h3333ZvHkz297cxrgDxzFs2DDe2P4Gw4YNo3laM5+59DN87oufw925c+md/ODmH7D+z+vZc689OevjZ1G3Wx2Lf7yY17e+juPs/q7d+cvmv3DHT+/go7M/mrItRwxPHWRGSQGZSAno7BxauRReQ1cH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\n", "text/plain": [ "<Figure size 720x432 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the model's decision regions\n", "\n", "plt.figure(figsize=(10, 6))\n", "plot_data(x_train, y_train, labels, label_colours)\n", "x0_min, x0_max = x_train[:, 0].min(), x_train[:, 0].max()\n", "x1_min, x1_max = x_train[:, 1].min(), x_train[:, 1].max()\n", "contour_plot((x0_min, x0_max), (x1_min, x1_max),\n", " lambda x: predict_class(prior, class_conditionals, x), \n", " 1, label_colours, levels=[-0.5, 0.5, 1.5, 2.5],\n", " num_points=300)\n", "plt.title(\"Training set with decision regions\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Binary classifier\n", "\n", "We will now draw a connection between the Naive Bayes classifier and logistic regression.\n", "\n", "First, we will update our model to be a binary classifier. In particular, the model will output the probability that a given input data sample belongs to the 'Iris-Setosa' class: $P(Y=y_0 | \\tilde{X}_1,\\ldots,\\tilde{X}_d)$. The remaining two classes will be pooled together with the label $y_1$." ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [], "source": [ "# Redefine the dataset to have binary labels\n", "\n", "y_train_binary = np.array(y_train)\n", "y_train_binary[np.where(y_train_binary == 2)] = 1\n", "\n", "y_test_binary = np.array(y_test)\n", "y_test_binary[np.where(y_test_binary == 2)] = 1" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfUAAAFNCAYAAAAZ0fYJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3X2cVnWd//HXhxmSHSBIoFZFGLfUVWEYYEBSE3AITU3Fm/UGb9KUHDTtRiujTDOqLXNTV3BZb8qYUhey/CWmq4mimS4ggchaqYCkm4qCIpoCn98f58wwDNc1c52Z61zXOed6Px+P85g53+t7netzzndmPnOu870+x9wdERERSb8e5Q5AREREikNJXUREJCOU1EVERDJCSV1ERCQjlNRFREQyQkldREQkI5TURSqEmVWZ2SYzG1LMviKSHErqIgkVJtWWZZuZvdNmfWrU7bn7Vnfv4+5ri9m3VMzsUTP7TLnjEEmy6nIHICK5uXuflu/NbDVwrrs/kK+/mVW7+5ZSxCYiyaQzdZGUMrPvmNkdZvYLM3sLON3MPm5mfzCzDWb2spldZ2Y9w/7VZuZmVhuuzw0fv9fM3jKzx81sr6h9w8c/ZWZ/MrONZna9mT2W76zazMaZ2VIze9PM/mZmP2zz2MFt4l9mZoeG7f8KfBy4MXyn4sfFP6Ii6aekLpJuU4CfA/2AO4AtwMXAQOBg4Ajgcx08/zTgm8CuwFrgqqh9zezDwJ3ApeHrvgCM7WA71wM/dPcPAh8D5oXb2RO4G/hW+BpfA35pZgPc/avA48D54WWBL3SwfZGKpaQukm6Puvv/c/dt7v6Ou/+Puz/h7lvc/XlgDjC+g+fPc/fF7v4+0AzUd6Hv0cAyd/91+Ni/Aa91sJ33gb3DZP2Wuz8Rtp8J3O3u94X781vgjwT/mIhIAZTURdLtxbYrZvbPZnaPmf2fmb0JfJvg7Dmf/2vz/WagT76OHfTdvW0cHtwlal0H2zkb2B941syeNLMjw/ahwKnhW+8bzGwDMC7cvogUQEldJN3a32bxP4CngY+Fb29fDljMMbwMDG5ZMTMD9sjX2d2fdfdTgA8DPwLmm1kvgn8MbnX3/m2W3u7ecs1dt5QU6YSSuki29AU2Am+b2X50fD29WH4DjDKzT5tZNcE1/UH5OpvZGWY20N23hbE6sA34GTDFzD4Zfk6+l5lNNLOWM/W/Af8U766IpJuSuki2fBk4C3iL4Kz9jrhf0N3/BpwMXAOsBz4KPAX8Pc9TjgRWhTP2rwZOdvf33H01wcS/bwKvEkzG+zLb/079mO1vz18T0+6IpJoFl79ERIrDzKqAl4AT3X1RueMRqSQ6UxeRbjOzI8ysn5ntQnCmvQV4ssxhiVQcJXURKYZDgOcJPsp2BHCcu+d7+11EYqK330VERDJCZ+oiIiIZoaQuIiKSEam7S9vAgQO9tra23GGIiIiUzJIlS15z97z1H1qkLqnX1tayePHicochIiJSMma2ppB+evtdREQkI5TURUREMkJJXUREJCNSd01dROT9999n3bp1vPvuu+UORaSoevXqxeDBg+nZs2eXnq+kLiKps27dOvr27UttbS3BnV5F0s/dWb9+PevWrWOvvfbq0jb09ruIpM67777LgAEDlNAlU8yMAQMGdOsdKCV1EUklJXTJou7+XCupi4h0QZ8+ffI+dtBBBxW8nc2bNzN16lSGDx/OsGHDOOSQQ9i0aVOHz/nud79b8Palsiipi4gUydatWwH4/e9/X/Bzrr32Wj7ykY+wYsUKnn76aW6++eZOJ0kpqUs+SupSkZqbobYWevQIvjY3lzsiiVOc471w4UImTpzIaaedxvDhw4HtZ/Evv/wyhx56KPX19QwbNoxFixbt9PyXX36ZPfbYo3V93333ZZdddgFg7ty5jB07lvr6ej73uc+xdetWvva1r/HOO+9QX1/P1KlTAbjmmmsYNmwYw4YN48c//jEAb7/9NkcddRQjRoxg2LBh3HHHHQB8+9vfZsyYMQwbNoxp06ahO3VmjLunahk9erSLdMfcue41Ne6wfampCdolHZ555pmC+8Y13r1793Z394ceeshramr8+eef3+mxq6++2r/zne+4u/uWLVv8zTff3Gk7Tz31lA8aNMjHjRvnM2bM8D/96U/uHuzj0Ucf7e+99567uzc1NflPf/rTHbbv7r548WIfNmyYb9q0yd966y3ff//9fenSpT5v3jw/99xzW/tt2LDB3d3Xr1/f2nb66af73Xff3b0DIUWX6+cbWOwF5EidqUvFmTEDNm/esW3z5qBdsqcU4z127NicH0EaM2YMt956K1dccQUrVqygb9++O/Wpr6/n+eef59JLL+X1119nzJgxrFq1igcffJAlS5YwZswY6uvrefDBB3n++ed3ev6jjz7KlClT6N27N3369OH4449n0aJFDB8+nAceeICvfvWrLFq0iH79+gHw0EMPceCBBzJ8+HB+97vfsXLlyuIdCCk7fU5dKs7atdHaJd1KMd69e/fO2X7ooYfyyCOPcM8993DGGWdw6aWX0rdvX6688koAbrrpJhoaGlqT8fHHH0+PHj1YsGABH/jABzjrrLP43ve+1+Fre563z/fZZx+WLFnCggULuOyyy5g8eTJf+cpXmD59OosXL2bPPffkiiuuUAGfjNGZulScIUOitUu6lXO816xZw4c//GHOO+88PvvZz7J06VKmTJnCsmXLWLZsGQ0NDTz22GO88cYbALz33ns888wzDB06lMbGRubNm8crr7wCwOuvv86aNcGNunr27Mn7778PBP84/OpXv2Lz5s28/fbb3HXXXXziE5/gpZdeoqamhtNPP51LLrmEpUuXtibwgQMHsmnTJubNmxf/QZCS0pm6VJyZM2HatB3fkq2pCdole8o53gsXLuSHP/whPXv2pE+fPtx222079XnuuedoamrC3dm2bRtHHXUUJ5xwAmbGd77zHSZPnsy2bdvo2bMnN9xwA0OHDmXatGnU1dUxatQompub+cxnPsPYsWMBOPfccxk5ciT33Xcfl156KT169KBnz57Mnj2b/v37c9555zF8+HBqa2sZM2ZM/AdBSsryvXWTVA0NDa77qUt3NTcH11TXrg3O2GbOhHAisaTAqlWr2G+//Qrur/GWNMn1821mS9y9obPn6kxdKtLUqfqjXkk03lIpdE1dREQkI5TURUREMkJJXUREJCOU1KWkVJ5VRCQ+mignJdPcvONHi9asCdZBk5hERIpBZ+pSMirPKllSjFuvvv322wwYMICNGzfu0H7cccdx5513dis+gCOPPJINGzZEft4VV1zB1Vdf3e3Xz+dzn/scjz32WMGveeONN+b8jH8uV1xxBZdddtkObcuWLWv9iFhXjkkhr7948WIuuuiiSNuNg5K6lIzKs0rWRb31au/evZk8eTK/+tWvWts2btzIo48+ytFHH13QNrZs2ZL3sQULFtC/f/+CthOHfLE98cQTjBs3ruBtnH/++Zx55pkF9T/11FNb70jX4vbbb+e0004Dch+TlsI/+RTy+g0NDVx33XUFxRgnJXUpGZVnlbKJcTJHd2+9euqpp3L77be3rt91110cccQR1NTU8Pbbb3POOecwZswYRo4cya9//WsAfvKTn3DSSSfx6U9/msmTJ+d9ndraWl577TUAbrvtNurq6hgxYgRnnHEGEJSxbWxspK6ujsbGRtbm+A972bJljBs3jrq6OqZMmdJa0nbChAm0FAJ77bXXqK2tzRlbe6tWrWKfffahqqoq7zGdMGECX//61xk/fjzXXnvtDmfx1113Hfvvvz91dXWccsopOz133333pX///jzxxBOtbXfeeWdr35Zjsnr1avbbbz+mT5/OqFGjePHFF7n55pvZZ599mDBhAueddx4XXnghsOO7CBMmTOCrX/0qY8eOZZ999mk91gsXLmz9R2zTpk2cffbZDB8+nLq6OubPnw9AU1MTDQ0NHHDAAXzrW9/Ku//doWvqUjIqzyplUYLJHE8++SRPP/30Tndq+/nPf87hhx/OjBkz2Lp1K5vbX38CjjjiCM4991zWr1/PgAEDuP322/n85z8PwMyZMznssMO45ZZb2LBhA2PHjmXSpEkAPP744yxfvpxdd92VH/3oRx2+zsqVK5k5cyaPPfYYAwcO5PXXXwfgwgsv5Mwzz+Sss87illtu4aKLLtrhXQOAM888k+uvv57x48dz+eWXc+WVV7besz2ftrG1d++993LEEUd0ckRhw4YNPPzww0CQVFt8//vf54UXXmCXXXbJ+zZ6yz9KBx54IH/4wx8YMGAAe++99079nn32WW699VZmzZrFSy+9xFVXXcXSpUvp27cvhx12GCNGjMi5/S1btvDkk0+yYMECrrzySh544IEdHr/qqqvo168fK1asAGj9R2jmzJnsuuuubN26lcbGRpYvX05dXV2nxyIKnalLyUydCnPmwNChYBZ8nTNHk+QkZiWYzNGdW69+4AMf4JhjjmHevHm89tprLFu2rPUM9/777+f73/8+9fX1TJgwgXfffbf1bPqTn/xka9Ls7HV+97vfceKJJzJw4ECA1uc9/vjjrW9Ln3HGGTz66KM7PG/jxo1s2LCB8ePHA3DWWWfxyCOPdHo82sbW3n333VdQUj/55JNzttfV1TF16lTmzp1LdXXu89JTTjmFefPmsW3bNm6//XZOPfXUnP2GDh3aehngySefZPz48ey666707NmTk046KW9sxx9/PACjR49m9erVOz3+wAMPcMEFF7Suf+hD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\n", "text/plain": [ "<Figure size 576x360 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the training data\n", "\n", "labels_binary = {0: 'Iris-Setosa', 1: 'Iris-Versicolour / Iris-Virginica'}\n", "label_colours_binary = ['blue', 'red']\n", "\n", "plt.figure(figsize=(8, 5))\n", "plot_data(x_train, y_train_binary, labels_binary, label_colours_binary)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will also make an extra modelling assumption that for each class $k$, the class-conditional distribution $P(X_i | Y=y_k)$ for each feature $i=0, 1$, has standard deviation $\\sigma_i$, which is the same for each class $k$. \n", "\n", "This means there are now six parameters in total: four for the means $\\mu_{ik}$ and two for the standard deviations $\\sigma_i$ ($i, k=0, 1$). \n", "\n", "We will again use maximum likelihood to estimate these parameters. The prior distribution will be as before, with the class prior probabilities given by\n", "\n", "$$\n", "P(Y=y_k) = \\frac{\\sum_{n=1}^N \\delta(Y^{(n)}=y_k)}{N},\n", "$$\n", "\n", "We will use your previous function `get_prior` to redefine the prior distribution." ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [], "source": [ "# Redefine the prior\n", "\n", "prior_binary = get_prior(y_train_binary)" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the prior distribution\n", "\n", "plt.bar([0, 1], prior_binary.probs.numpy(), color=label_colours_binary)\n", "plt.xlabel(\"Class\")\n", "plt.ylabel(\"Prior probability\")\n", "plt.title(\"Class prior distribution\")\n", "plt.xticks([0, 1], labels_binary)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For the class-conditional densities, the maximum likelihood estimate for the means are again given by\n", "\n", "$$\n", "\\hat{\\mu}_{ik} = \\frac{\\sum_n X_i^{(n)} \\delta(Y^{(n)}=y_k)}{\\sum_n \\delta(Y^{(n)}=y_k)} \\\\\n", "$$\n", "\n", "However, the estimate for the standard deviations $\\sigma_i$ is updated. There is also a closed-form solution for the shared standard deviations, but we will instead learn these from the data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You should now write a function that takes the training inputs and target labels as input, as well as an optimizer object, number of epochs and a TensorFlow Variable. This function should be written according to the following spec:\n", "\n", "* The inputs to the function are:\n", " * a numpy array `x` of shape `(num_samples, num_features)` for the data inputs\n", " * a numpy array `y` of shape `(num_samples,)` for the target labels\n", " * a `tf.Variable` object `scales` of length 2 for the standard deviations $\\sigma_i$\n", " * `optimiser`: an optimiser object\n", " * `epochs`: the number of epochs to run the training for\n", "* The function should first compute the means $\\mu_{ik}$ of the class-conditional Gaussians according to the above equation\n", "* Then create a batched multivariate Gaussian distribution object using `MultivariateNormalDiag` with the means set to $\\mu_{ik}$ and the scales set to `scales`\n", "* Run a custom training loop for `epochs` number of epochs, in which:\n", " * the average per-example negative log likelihood for the whole dataset is computed as the loss\n", " * the gradient of the loss with respect to the `scales` variables is computed\n", " * the `scales` variables are updated by the `optimiser` object\n", "* At each iteration, save the values of the `scales` variable and the loss\n", "* The function should return a tuple of three objects:\n", " * a numpy array of shape `(epochs,)` of loss values\n", " * a numpy array of shape `(epochs, 2)` of values for the `scales` variable at each iteration\n", " * the final learned batched `MultivariateNormalDiag` distribution object\n", " \n", "_NB: ideally, we would like to constrain the `scales` variable to have positive values. We are not doing that here, but in later weeks of the course you will learn how this can be implemented._" ] }, { "cell_type": "code", "execution_count": 312, "metadata": {}, "outputs": [], "source": [ "#### GRADED CELL ####\n", "\n", "# Complete the following function. \n", "# Make sure to not change the function name or arguments.\n", " \n", "def learn_stdevs(x, y, scales, optimiser, epochs):\n", " \"\"\"\n", " This function takes the data inputs, targets, scales variable, optimiser and number of\n", " epochs as inputs.\n", " This function should set up and run a custom training loop according to the above \n", " specifications, by setting up the class conditional distributions as a MultivariateNormalDiag\n", " object, and updating the trainable variables (the scales) in a custom training loop.\n", " Your function should then return the a tuple of three elements: a numpy array of loss values\n", " during training, a numpy array of scales variables during training, and the final learned\n", " MultivariateNormalDiag distribution object.\n", " \"\"\"\n", " \n", " # Keep results for plotting\n", " train_loss_results = []\n", " train_scales_results = []\n", "\n", " \n", " mu = np.zeros((x.shape[1], 2), dtype='float32')\n", " for k in range(2):\n", " mu[k] = np.mean(x[y==k,:],axis=0)\n", "\n", " dist = tfd.MultivariateNormalDiag(loc=mu, scale_diag=scales)\n", "# dist = get_class_conditionals(x, y)\n", "\n", " for i in range(epochs):\n", "\n", " with tf.GradientTape() as tape:\n", " tape.watch(dist.trainable_variables)\n", " x_new = np.expand_dims(x_train, 1)\n", " loss = -tf.reduce_mean(dist.log_prob(x_new))\n", " grads = tape.gradient(loss, dist.trainable_variables)\n", " optimiser.apply_gradients(zip(grads, dist.trainable_variables))\n", "\n", " train_loss_results.append(loss)\n", " train_scales_results.append(dist.parameters['scale_diag'].numpy())\n", "\n", " return np.array(train_loss_results), np.array(train_scales_results), dist\n", "\n", " \n", " " ] }, { "cell_type": "code", "execution_count": 314, "metadata": {}, "outputs": [], "source": [ "# Define the inputs to your function\n", "\n", "scales = tf.Variable([1., 1.])\n", "opt = tf.keras.optimizers.Adam(learning_rate=0.01)\n", "epochs =500" ] }, { "cell_type": "code", "execution_count": 315, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([2.5346925, 2.526281 , 2.5180852, 2.5100954, 2.502296 , 2.4946644,\n", " 2.487172 , 2.4797843, 2.4724627, 2.465171 , 2.457878 , 2.4505625,\n", " 2.443214 , 2.4358306, 2.4284205, 2.4209955, 2.413571 , 2.4061623,\n", " 2.3987863, 2.391457 , 2.3841875, 2.3769877, 2.3698654, 2.362826 ,\n", " 2.3558733, 2.3490114, 2.3422444, 2.335579 , 2.3290231, 2.3225896,\n", " 2.3162928, 2.3101487, 2.3041759, 2.298393 , 2.2928193, 2.287473 ,\n", " 2.282371 , 2.2775302, 2.2729657, 2.268692 , 2.264723 , 2.2610698,\n", " 2.2577446, 2.254756 , 2.2521107, 2.2498121, 2.2478597, 2.2462485,\n", " 2.2449672, 2.2439985, 2.2433202, 2.2429025, 2.2427125, 2.24271 ,\n", " 2.2428558, 2.243107 , 2.2434232, 2.2437654, 2.244101 , 2.2444022,\n", " 2.244647 , 2.2448223, 2.2449214, 2.244944 , 2.2448947, 2.2447836,\n", " 2.2446218, 2.2444232, 2.2442021, 2.243972 , 2.2437437, 2.2435272,\n", " 2.243331 , 2.2431595, 2.2430155, 2.2429001, 2.2428126, 2.2427511,\n", " 2.2427123, 2.2426925, 2.242688 , 2.2426956, 2.2427106, 2.2427306,\n", " 2.2427526, 2.242774 , 2.242793 , 2.2428086, 2.2428198, 2.2428262,\n", " 2.242828 , 2.2428253, 2.2428186, 2.2428088, 2.242797 , 2.2427828,\n", " 2.2427683, 2.2427542, 2.2427404, 2.2427278, 2.242717 , 2.2427075,\n", " 2.2426996, 2.2426946, 2.2426906, 2.2426882, 2.2426875, 2.2426875,\n", " 2.2426884, 2.24269 , 2.2426915, 2.2426932, 2.2426949, 2.2426958,\n", " 2.2426972, 2.2426977, 2.2426975, 2.2426972, 2.2426965, 2.2426956,\n", " 2.2426946, 2.2426937, 2.2426922, 2.242691 , 2.2426903, 2.2426896,\n", " 2.2426887, 2.242688 , 2.242688 , 2.2426877, 2.2426877, 2.2426872,\n", " 2.2426875, 2.2426875, 2.2426877, 2.242688 , 2.242688 , 2.242688 ,\n", " 2.2426884, 2.2426882, 2.2426882, 2.2426882, 2.2426882, 2.242688 ,\n", " 2.2426882, 2.2426877, 2.242688 , 2.2426877, 2.2426877, 2.2426875,\n", " 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426875, 2.2426877, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426875, 2.2426875, 2.2426872, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426872, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426872, 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426875, 2.2426875, 2.2426872, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426875, 2.2426872, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426872, 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426872, 2.2426872, 2.2426875, 2.2426872, 2.2426872, 2.2426875,\n", " 2.2426875, 2.2426875, 2.2426872, 2.2426872, 2.2426872, 2.2426875,\n", " 2.2426872, 2.2426872, 2.2426875, 2.2426872, 2.2426875, 2.2426872,\n", " 2.2426872, 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875, 2.2426875,\n", " 2.2426875, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872, 2.2426872,\n", " 2.2426875, 2.2426875], dtype=float32)" ] }, "execution_count": 315, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Run your function to learn the class-conditional standard deviations\n", "\n", "nlls, scales_arr, class_conditionals_binary = learn_stdevs(x_train, y_train_binary, scales, opt, epochs)" ] }, { "cell_type": "code", "execution_count": 316, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Class conditional means:\n", "[[4.987805 3.4292684]\n", " [6.249367 2.8670886]]\n", "\n", "Class conditional standard deviations:\n", "[[1.0596133 0.5204331]\n", " [1.0596133 0.5204331]]\n" ] } ], "source": [ "# View the distribution parameters\n", "\n", "print(\"Class conditional means:\")\n", "print(class_conditionals_binary.loc.numpy())\n", "print(\"\\nClass conditional standard deviations:\")\n", "print(class_conditionals_binary.stddev().numpy())" ] }, { "cell_type": "code", "execution_count": 317, "metadata": {}, "outputs": [ { "data": { "image/png": "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7jWpjSrJSkogO1sFHaTBlCRJS7O7f9N1tSjtVvlUM+sOPAQUAzXAve5+e5xthwD/Ak509ynhsiOA24FM4D53v2l34mlMRfm5fLp6c6rDEBGR+k0ETnb36lQH0mSysqBvXxV0EBHZTXGr3rn7n+uaEjh2FXCFu+8NHAj8yMz2id4o7Df+/4DnopbdBRwJ7AOMjbVvqhTn56rrnYhI8zADuNLM7gUws75m9t0Ux5R8paVqUZJmp127dnHXHdSAbqSbN2/mlFNOYcCAAfTv359DDjmETZs21bnP//3f/yV8fGk9EikPvkvcfZm7zw2fbwQWAF1jbPpjYCqwImLZUOADd1/s7luBycD3kxVrQxUX5LL+q21Ubms9P1CKiDRTE4GtQO23rCXA9akLp4mUlcEHH8C2bamORGS3VFcH37XeeOONhPe5/fbbKSoq4t133+W9997j/vvvr7fqmRIliSVpiVIkMysB9gdmRS3vCowB7onapSvwWcT8EmInWZjZeWY228xm787NWg1RFDHorIiIpLU+7v4bYBuAu38FtPwbMUpLoaoKPvoo1ZGINNj06dMZOXIkJ598MgMGDAC+bm1atmwZw4YNY9CgQfTv35/XXnttp/2XLVtG165ff20sLS0lJycHgL/85S8MHTqUQYMGcf7551NdXc3Pf/5zvvrqKwYNGsQpp5wCwK233kr//v3p378/t912GwBffvklRx99NPvttx/9+/fn0UcfBeDXv/41Q4YMoX///px33nm4x73FX5qZRMqD7xYza0fQYnSZu2+IWn0b8DN3r4662SrWRSzmX5273wvcC1BeXt4kf5mRYymVdG7bFKcUEZFdszWseucAZtYHaPnVeGor3y1cCP36pTYWaXYuuwwqKhr3mIMGQZhvJOStt97ivffe26ms8yOPPMLhhx/O1VdfTXV1NZs373zP+FlnncXo0aOZMmUKo0aN4vTTT6dv374sWLCARx99lNdff53s7GwuuugiJk2axE033cSdd95JRfii58yZw8SJE5k1axbuzgEHHMDw4cNZvHgxe+21F8888wwA69evB+Diiy/mV7/6FQDjxo3j6aef5phjjtmVt0nSTL0tSmbWz8xeMrP3wvmBZvaLRA5uZtkESdIkd/97jE3Kgclm9jFwPHC3mR1L0ILUPWK7bsDSRM7ZFIoLgl8llus+JRGRdHcN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c2JMrV5RQS7LlSiJiKSjW4DfEoxv9BXwp3DaBLyXwriaVm2ipPuUpBmZPn06I0eO5OSTT2bAgAHA161Ny5YtY9iwYQwaNIj+/fvz2muv7bT/2LFjmTx58vb5xx9/nCOOOII999yTL7/8krPOOoshQ4aw//77849//AOABx98kBNOOIFjjjmG0aNHxz1PSUkJq1YFBS4feughBg4cyH777ce4ceMA+OSTTxg1ahQDBw5k1KhRfPrppzvFV1FRwYEHHsjAgQMZM2YMa9euBWDEiBHMnj0bgFWrVlFSUhIztmgLFiygX79+ZGbGr7M2YsQIrrrqKoYPH87tt9++Q2vT73//e/bZZx8GDhzISSedtNO+paWltG/fnlmzZm1f9thjj23ftvY9+fjjj9l777256KKLGDx4MJ999hn3338//fr1Y8SIEZx77rlcfPHFwI6tXSNGjOBnP/sZQ4cOpV+/ftvf6+nTp/Pd734XgE2bNnHmmWcyYMAABg4cyNSpUwG48MILKS8vZ9999+Waa66J+/p3VdwWJXd/Kny62d3/FrkuHLW81SvOz2HxSvVGFBFJN+7+KoCZXefuwyJWPWVmM1IUVtMrKIDiYlW+k4a57DKoqGjcYw4aBLfdlvDmb731Fu+99x69evXaYfkjjzzC4YcfztVXX011dTWbN2/ead8jjjiCc845h9WrV9OpUycmT57Mj3/8YwBuuOEGDj30UB544AHWrVvH0KFD+c53vgPAm2++ybx58+jYsSO//e1v6zzP/PnzueGGG3j99dfp3Lkza9asAeDiiy/mtNNO4/TTT+eBBx7gkksu4Yknnthh39NOO4077riD4cOH86tf/Yprr72W2+p5byJji/bss89yxBFH1POOwrp163j11VeBIFGpddNNN/HRRx+Rk5MTtwtdbfJ5wAEH8K9//YtOnTrRt2/fnbZbtGgREydO5O6772bp0qVcd911zJ07l7y8PA499FD222+/mMevqqrirbfeYtq0aVx77bW8+OKLO6y/7rrrKCgo4N13g/HDa5PLG264gY4dO1JdXc2oUaOYN28eAwcOrPe9SFQi9yhdmeCyVqc4P1dd70RE0luhmfWunTGzXkBhCuNpeqp8J83Q0KFDd0qSAIYMGcLEiROZMGEC7777Lnl5eTtt06ZNG773ve8xZcoUVq1aRUVFxfaWmOeff56bbrqJQYMGMWLECCorK7e3+hx22GHbE5H6zvPyyy9z/PHH07lzZ4Dt+7355pvbu6SNGzeOmTNn7rDf+vXrWbduHcOHDwfg9NNPZ8aM+n+7iYwt2nPPPZdQonTiiSfGXD5w4EBOOeUU/vKXv8TtcnjSSScxZcoUampqmDx5MmPHjo25Xc+ePTnwwAOBINkdPnw4HTt2JDs7mxNOiN/OctxxxwHwrW99i48//nin9S+++CI/+tGPts936NABCFq2Bg8ezP7778/8+fN5//33455jV9R1j9KRwFFAVzP7fcSqfKCqUaNopooKctlYWcXmrVXs2abeAoIiItL0Lgemm9nicL4EOC914aRAaSk89hi4g1mqo5HmoAEtP8nStm3bmMuHDRvGjBkzeOaZZxg3bhzjx48nLy+Pa6+9FoD77ruP8vJyxo4dy/XXX4+78/3vf5/ssOqjuzN16lRKa7ulhmbNmrXDOWOd57TTTtu+3t2xBP4/JbJNraysLGpqagCorNzxh/h478fmzZtZt24de+21V73Hj3eMZ555hhkzZvDkk09y3XXXMX/+fI4++miWL19OeXk59913H927d6ekpIRXX32VqVOn8uabb9Z7Dve4t4nuJCcnB4DMzEyqqnZOM2K93x999BG33HILb7/9Nh06dOCMM87Y6X3bXXW1KC0luD+pkh3vTXoSOLxRo2imisNBZ79Q5TsRkbRjZhnABqAvcGk4lbr78ykNrKmVlcHatRDeVyHSnH3yySd06dKFc889l7PPPpu5c+cyZswYKioqqKio2H7z/8iRI/nvf//LXXfdtUPrx+GHH84dd9yx/Uv8O++8k/B5Io0aNYrHHnuM1atXA2zvenfQQQdtvz9q0qRJHHLIITvsV1BQQIcOHbbfh/Pwww9vb10qKSlhzpygDMCUKVMSej9eeeUVRo4cmdC2sdTU1PDZZ58xcuRIfvOb37Bu3To2bdrEc889R0VFBffdd9/2bceOHcvll19Onz596NatW73HHjp0KK+++ipr166lqqpq+31Fu2L06NHceeed2+fXrl3Lhg0baNu2LQUFBSxfvpxnn312l48fT133KP0b+LeZPeLu2xr9zC3A9kRpQyW9C+OXtBQRkabn7jVm9lt3/zbw71THkzKRle8KW1evQ2l5pk+fzs0330x2djbt2rWLW2I6IyODH/zgB/ztb39j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\n", "text/plain": [ "<Figure size 1008x360 with 2 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the loss and convergence of the standard deviation parameters\n", "\n", "fig, ax = plt.subplots(1, 2, figsize=(14, 5))\n", "ax[0].plot(nlls)\n", "ax[0].set_title(\"Loss vs epoch\")\n", "ax[0].set_xlabel(\"Epoch\")\n", "ax[0].set_ylabel(\"Average negative log-likelihood\")\n", "for k in [0, 1]:\n", " ax[1].plot(scales_arr[:, k], color=label_colours_binary[k], label=labels_binary[k])\n", "ax[1].set_title(\"Standard deviation ML estimates vs epoch\")\n", "ax[1].set_xlabel(\"Epoch\")\n", "ax[1].set_ylabel(\"Standard deviation\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also plot the contours of the class-conditional Gaussian distributions as before, this time with just binary labelled data. Notice the contours are the same for each class, just with a different centre location." ] }, { "cell_type": "code", "execution_count": 318, "metadata": {}, "outputs": [ { "data": { "image/png": "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795www144IEHsGnTJvznf/4n7r77btx///0jHg9r3SJ55plncPHFF49yRIGuri689NJLAGg9U3z729/G8ePHkZaWFtP1eM011+DRRx/FunXr8Oqrr6KgoACLFi0a9rlDhw7hoYcewo9//GM0NDTgG9/4Bvbu3YusrCxccMEFWL58edT9BwIBvP7663j66adx991347nnngt7/xvf+AZycnLw1ltvAcCptUq3bt2K/Px8BINBXHjhhdi/fz/OOuusUY/FWNGCzIYosdXfz9LXR9HR38+tEmDRvM0pKabIyMhgB6aeq/eU9UgVp3NmBVeHQhRnn/2sKcYUQ0PAI48AV1/Nx319tNAMDcU+nkqcud10pUUWLdqmDo+HAegLF/Iab2oCGhsZpH7kCI93SQkz1VtXHNCMHSXMTjvNDPyvreUxX7DAhtfzXXeFL2EB8Pldd02ZIFu7du0wMQYAa9aswU033QS/34/LLrsMK1asGPaZ1NRUfPjDH8Zjjz2GK6+8Evv27cNFF10EAPjrX/+KJ5988lRs1cDAAE4YC9T+0z/90ynBM9rvvPDCC7jqqqtQaGQAVt/btWsX/vjHPwIArr/+enzxi18M+153dze6urqwadMmAMCNN96Ij370o6MeD2vdInn22Wfx0EMPjbqPq6++OurrZ511Fq699lpcdtlluOyyy6J+5uMf/zjWr1+P7373u3j00UdxzTXXRP1cZWUlzjnnHAAU1Zs2bTpV749+9KM4fPhw1O9dccUVAIBVq1ahJsradM8991yY5S4vLw8ALXU//elPEQgE0NjYiAMHDmhBNhMIBNim+Hzh274+Cq9Ii5ZVGGRlsWNyu8MtOmlpOtYK4DFIS6ObMhpNTcCqVeGvSWlaFK2WR2tpbY0eFJ2WZqaBUMXjYdEz2yZOWhrdapWVFNjNzZwAcPw4BZrHY4qzrKxE1zb58HiAs8+mMHv3XZaaGmDxYs6Wtc0gzRAwY359AnhiJMzbuHEjXn75ZTz11FO4/vrrceeddyIrK+uUq+pnP/sZVq9ejWuuuQb33HMPpJT4yEc+ghTD3CilxOOPP47FixeH7fe1114L+81ov3PDDTecel9KCTGGEzKWzyhcLhdCRkczENGwxToefX196OrqQklJyaj7j7WPp556Ci+//DKefPJJfOMb38A777yDSy65BM3NzVi9ejV+9rOf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\n", "text/plain": [ "<Figure size 720x432 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the training data with the class-conditional density contours\n", "\n", "plt.figure(figsize=(10, 6))\n", "plot_data(x_train, y_train_binary, labels_binary, label_colours_binary)\n", "x0_min, x0_max = x_train[:, 0].min(), x_train[:, 0].max()\n", "x1_min, x1_max = x_train[:, 1].min(), x_train[:, 1].max()\n", "contour_plot((x0_min, x0_max), (x1_min, x1_max), class_conditionals_binary.prob, 2, label_colours_binary)\n", "plt.title(\"Training set with class-conditional density contours\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also plot the decision regions for this binary classifier model, notice that the decision boundary is now linear." ] }, { "cell_type": "code", "execution_count": 319, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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V7L77rtv3n7nO9/JtttuC8D1119PW1sbo0aN4iMf+QibNm1i5syZvP7664waNYqpU6cCcMUVVzBixAhGjBjBlVdeCcD69es5/vjjOeiggxgxYgQ33XQTAF/72tcYO3YsI0aMYNq0abh75RpD4uXuifoaM2aMi4hIcj399NMF73v99e79+7vDlq/+/YPycgwYMMDd3e+9917v37+/P/PMM1u9dvnll/s3vvENd3ffuHGjv/rqq1ud5/HHH/fBgwf7+PHj/eKLL/a//OUv7h7c4+TJk/2NN95wd/fp06f7T3/60x7nd3fv6OjwESNG+Lp16/y1117z4cOH+2OPPebz58/3888/f/N+a9ascXf31atXby4766yz/I477iivIaSisvVtoMMLiG80QiZSI6IcBRBJqosvhg0bepZt2BCUV0pbW1vWpQrGjh3Lj3/8Y2bNmsXSpUsZNGjQVvuMGjWKZ555hgsvvJCXX36ZsWPHsmzZMu655x46OzsZO3Yso0aN4p577uGZZ57Z6vgHHniAk046iQEDBjBw4ECmTJnCokWLGDlyJHfffTdf+MIXWLRoEdtvvz0A9957L+PGjWPkyJH8/ve/56mnnqpcQ0istA6ZSA2YNw+mTdvyD89zzwXbAOFTDZGGtHx5ceWlGDBgQNbyww8/nPvvv59f/epXnH322Vx44YUMGjSISy65BIDrrruO1tbWzYHUlClTaGpq4q677mKbbbbhnHPO4Zvf/Gbea3uOR4777rsvnZ2d3HXXXVx00UUce+yxfP7zn+djH/sYHR0d7LHHHsyaNUuL69YRBWQ5dHbGXQNpJJ/7XPZRgM99DvbbL546iUSlb19Yv76wfYcMgeefz15e6DmautazXXOWF9avh9dfh02btj7Z+vU8t3w5u++2Gx8+80zWv/IKjz38MFd++9ucdOyxm3f7w913M3y//dhxxx154403eHrpUo4YP57h++3HiaefzqenTeOtb30rL7/8Mq+tW8eeQ4fSr18/3lyzhn79+nH42LGc+5GPMPPjH8fdufWWW/j5ddfxr7/9jZ123JGzTjqJgX378pN58+havRrc2WW77Vj3wgvMv/lmTnn/+wtvCOkpRyAeFwVkIjVg1ariykUaxaxZcMEFQdyUst12QXlvmrqCQCVrMFaAhYsWcdmVV9KvXz8GDhjAz/73f7fa5+//+AfT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\n", "text/plain": [ "<Figure size 720x432 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the model's decision regions\n", "\n", "plt.figure(figsize=(10, 6))\n", "plot_data(x_train, y_train_binary, labels_binary, label_colours_binary)\n", "x0_min, x0_max = x_train[:, 0].min(), x_train[:, 0].max()\n", "x1_min, x1_max = x_train[:, 1].min(), x_train[:, 1].max()\n", "contour_plot((x0_min, x0_max), (x1_min, x1_max), \n", " lambda x: predict_class(prior_binary, class_conditionals_binary, x), \n", " 1, label_colours_binary, levels=[-0.5, 0.5, 1.5],\n", " num_points=500)\n", "plt.title(\"Training set with decision regions\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Link to logistic regression\n", "\n", "In fact, we can see that our predictive distribution $P(Y=y_0 | X)$ can be written as follows:\n", "\n", "\n", "$$\n", "\\begin{align}\n", "P(Y=y_0 | X) =& ~\\frac{P(X | Y=y_0)P(Y=y_0)}{P(X | Y=y_0)P(Y=y_0) + P(X | Y=y_1)P(Y=y_1)}\\\\\n", "=& ~\\frac{1}{1 + \\frac{P(X | Y=y_1)P(Y=y_1)}{P(X | Y=y_0)P(Y=y_0)}}\\\\\n", "=& ~\\sigma(a)\n", "\\end{align}\n", "$$\n", "\n", "where $\\sigma(a) = \\frac{1}{1 + e^{-a}}$ is the sigmoid function, and $a = \\log\\frac{P(X | Y=y_0)P(Y=y_0)}{P(X | Y=y_1)P(Y=y_1)}$ is the _log-odds_.\n", "\n", "With our additional modelling assumption of a shared covariance matrix $\\Sigma$, it can be shown (using the Gaussian pdf) that $a$ is in fact a linear function of $X$: \n", "\n", "$$\n", "a = w^T X + w_0\n", "$$\n", "\n", "where\n", "\n", "$$\n", "\\begin{align}\n", "w =& ~\\Sigma^{-1} (\\mu_0 - \\mu_1)\\\\\n", "w_0 =& -\\frac{1}{2}\\mu_0^T \\Sigma^{-1}\\mu_0 + \\frac{1}{2}\\mu_1^T\\Sigma^{-1}\\mu_1 + \\log\\frac{P(Y=y_0)}{P(Y=y_1)}\n", "\\end{align}\n", "$$\n", "\n", "The model therefore takes the form $P(Y=y_0 | X) = \\sigma(w^T X + w_0)$, with weights $w\\in\\mathbb{R}^2$ and bias $w_0\\in\\mathbb{R}$. This is the form used by logistic regression, and explains why the decision boundary above is linear. \n", "\n", "In the above we have outlined the derivation of the generative logistic regression model. The parameters are typically estimated with maximum likelihood, as we have done. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we will use the above equations to directly parameterise the output Bernoulli distribution of the generative logistic regression model.\n", "\n", "You should now write the following function, according to the following specification:\n", "\n", "* The inputs to the function are:\n", " * the prior distribution `prior` over the two classes\n", " * the (batched) class-conditional distribution `class_conditionals`\n", "* The function should use the parameters of the above distributions to compute the weights and bias terms $w$ and $w_0$ as above\n", "* The function should then return a tuple of two numpy arrays for $w$ and $w_0$" ] }, { "cell_type": "code", "execution_count": 326, "metadata": {}, "outputs": [], "source": [ "#### GRADED CELL ####\n", "\n", "# Complete the following function. \n", "# Make sure to not change the function name or arguments.\n", "\n", "def get_logistic_regression_params(prior, class_conditionals):\n", " \"\"\"\n", " This function takes the prior distribution and class-conditional distribution as inputs.\n", " This function should compute the weights and bias terms of the generative logistic\n", " regression model as above, and return them in a 2-tuple of numpy arrays of shapes\n", " (2,) and () respectively.\n", " \"\"\"\n", " sigma = tf.pow(class_conditionals.parameters['scale_diag'],2)\n", " inv_sigma = np.eye(2) * (1 / sigma)\n", " mu0 = class_conditionals.parameters['loc'][0]\n", " mu1 = class_conditionals.parameters['loc'][1]\n", " \n", " w = np.matmul(inv_sigma, (mu0 - mu1))\n", " w0 = - 0.5 * (np.matmul(tf.transpose(mu0), np.matmul(inv_sigma, mu0)))\\\n", " + 0.5 * (np.matmul(tf.transpose(mu1), np.matmul(inv_sigma, mu1)))\\\n", " + np.log(prior.parameters['probs'][0] / prior.parameters['probs'][1])\n", " return w, w0\n", " \n", " " ] }, { "cell_type": "code", "execution_count": 327, "metadata": {}, "outputs": [], "source": [ "# Run your function to get the logistic regression parameters\n", "\n", "w, w0 = get_logistic_regression_params(prior_binary, class_conditionals_binary)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now use these parameters to make a contour plot to display the predictive distribution of our logistic regression model." ] }, { "cell_type": "code", "execution_count": 328, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 720x432 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the training data with the logistic regression prediction contours\n", "\n", "fig, ax = plt.subplots(1, 1, figsize=(10, 6))\n", "plot_data(x_train, y_train_binary, labels_binary, label_colours_binary)\n", "x0_min, x0_max = x_train[:, 0].min(), x_train[:, 0].max()\n", "x1_min, x1_max = x_train[:, 1].min(), x_train[:, 1].max()\n", "X0, X1 = get_meshgrid((x0_min, x0_max), (x1_min, x1_max))\n", "\n", "logits = np.dot(np.array([X0.ravel(), X1.ravel()]).T, w) + w0\n", "Z = tf.math.sigmoid(logits)\n", "lr_contour = ax.contour(X0, X1, np.array(Z).T.reshape(*X0.shape), levels=10)\n", "ax.clabel(lr_contour, inline=True, fontsize=10)\n", "contour_plot((x0_min, x0_max), (x1_min, x1_max), \n", " lambda x: predict_class(prior_binary, class_conditionals_binary, x), \n", " 1, label_colours_binary, levels=[-0.5, 0.5, 1.5],\n", " num_points=300)\n", "plt.title(\"Training set with prediction contours\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Congratulations on completing this programming assignment! In the next week of the course we will look at Bayesian neural networks and uncertainty quantification." ] } ], "metadata": { "coursera": { "course_slug": "probabilistic-deep-learning-with-tensorflow2", "graded_item_id": "D6ITt", "launcher_item_id": "DExYG" }, "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.7.1" } }, "nbformat": 4, "nbformat_minor": 4 }