{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Discriminative Classification" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Preliminaries\n", "\n", "- Goal \n", " - Introduction to discriminative classification models\n", "- Materials \n", " - Mandatory\n", " - These lecture notes\n", " - Optional\n", " - Bishop pp. 213 - 217 (Laplace approximation) \n", " - Bishop pp. 217 - 220 (Bayesian logistic regression) \n", " - [T. Minka (2005), Discriminative models, not discriminative training](https://github.com/bertdv/BMLIP/blob/master/lessons/notebooks/files/Minka-2005-Discriminative-models-not-discriminative-training.pdf)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Challenge: difficult class-conditional data distributions\n", "\n", "Our task will be the same as in the preceding class on (generative) classification. But this time, the class-conditional data distributions look very non-Gaussian, yet the linear discriminative boundary looks easy enough:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "using Pkg; Pkg.activate(\"../.\"); Pkg.instantiate();\n", "using IJulia; try IJulia.clear_output(); catch _ end" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n" ], "text/html": [ "\n", "\n" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "using Random; Random.seed!(1234);\n", "# Generate dataset {(x1,y1),...,(xN,yN)}\n", "# x is a 2-d feature vector [x_1;x_2]\n", "# y ∈ {false,true} is a binary class label\n", "# p(x|y) is multi-modal (mixture of uniform and Gaussian distributions)\n", "using Plots, LaTeXStrings\n", "include(\"./scripts/lesson8_helpers.jl\")\n", "N = 200\n", "X, y = genDataset(N) # Generate data set, collect in matrix X and vector y\n", "X_c1 = X[:,findall(.!y)]'; X_c2 = X[:,findall(y)]' # Split X based on class label\n", "X_test = [3.75; 1.0] # Features of 'new' data point\n", "function plotDataSet()\n", " result = scatter(X_c1[:,1], X_c1[:,2],markersize=4, label=L\"y=0\", xlabel=L\"x_1\", ylabel=L\"x_2\", xlims=(-1.6, 9), ylims=(-2, 7))\n", " scatter!(X_c2[:,1], X_c2[:,2],markersize=4, label=L\"y=1\")\n", " scatter!([X_test[1]], [X_test[2]], markersize=7, marker=:star, label=L\"y=?\") \n", " return result \n", "end\n", "plotDataSet()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Main Idea of Discriminative Classification \n", "\n", "- Again, a data set is given by $D = \\{(x_1,y_1),\\dotsc,(x_N,y_N)\\}$ with $x_n \\in \\mathbb{R}^M$ and $y_n \\in \\mathcal{C}_k$, with $k=1,\\ldots,K$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Sometimes, the precise assumptions of the (Gaussian-Categorical) generative model \n", "$$p(x_n,y_n\\in\\mathcal{C}_k|\\theta) = \\pi_k \\cdot \\mathcal{N}(x_n|\\mu_k,\\Sigma)$$ \n", "clearly do not match the data distribution." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Here's an **IDEA**! Let's model the posterior $$p(y_n\\in\\mathcal{C}_k|x_n)$$ *directly*, without any assumptions on the class densities." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Similarly to regression, we will assume that the inputs $x$ are given, so we wil not add a model $p(x)$ for input uncertainties." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Model Specification for Bayesian Logistic Regression\n", "\n", "- We will work this idea out for a 2-class problem. Assume a data set is given by $D = \\{(x_1,y_1),\\dotsc,(x_N,y_N)\\}$ with $x_n \\in \\mathbb{R}^M$ and $y_n \\in \\{0,1\\}$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- What model should we use for the posterior distribution $p(y_n \\in \\mathcal{C}_k|x_n)$?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "##### Likelihood\n", "\n", "- We will take inspiration from the [generative classification](https://nbviewer.org/github/bertdv/BMLIP/blob/master/lessons/notebooks/Generative-Classification.ipynb#softmax) approach, where we derived the class posterior \n", "$$\n", "p(y_{nk} = 1\\,|\\,x_n,\\beta_k,\\gamma_k) = \\sigma(\\beta_k^T x_n + \\gamma_k)\n", "$$\n", "as a **softmax** function of a linear map of the input. \n", "- Here, in logistic regression, we _choose_ the 2-class softmax function (which is called the [**logistic** function](https://en.wikipedia.org/wiki/Logistic_function)) with linear discrimination bounderies for the posterior class probability:\n", "$$\n", "p(y_n =1 \\,|\\, x_n, w) = \\sigma(w^T x_n) \\,.\n", "$$\n", "where $$\\sigma(a) = \\frac{1}{1+e^{-a}}$$ is the _logistic_ function.\n", "\n", "- Clearly, it follows from this assumption that $p(y_n =0 \\,|\\, x_n, w) = 1- \\sigma(w^T x_n)$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "\n", "
Generative | Discriminative (ML) | |
1 | Like density estimation, model joint prob.\n", "$$p(\\mathcal{C}_k) p(x|\\mathcal{C}_k) = \\pi_k \\mathcal{N}(\\mu_k,\\Sigma)$$ | Like (linear) regression, model conditional\n", "$$p(\\mathcal{C}_k|x,\\theta)$$ |
2 | Leads to softmax posterior class probability\n", "$$ p(\\mathcal{C}_k|x,\\theta ) = e^{\\theta_k^T x}/Z$$\n", "with structured $\\theta$ | Choose also softmax posterior class probability\n", "$$ p(\\mathcal{C}_k|x,\\theta ) = e^{\\theta_k^T x}/Z$$\n", "but now with 'free' $\\theta$ |
3 | For Gaussian $p(x|\\mathcal{C}_k)$ and multinomial priors,\n", "$$\\hat \\theta_k = \\left[ {\\begin{array}{c}\n", " { - \\frac{1}{2} \\mu_k^T \\sigma^{-1} \\mu_k + \\log \\pi_k} \\\\\n", " {\\sigma^{-1} \\mu_k } \\\\\n", "\\end{array}} \\right]$$\n", "in one shot. | Find $\\hat\\theta_k$ through gradient-based adaptation\n", "$$\\nabla_{\\theta_k}\\mathrm{L}(\\theta) = \\sum_n \\Big( y_{nk} - \\frac{e^{\\theta_k^T x_n}}{\\sum_{k^\\prime} e^{\\theta_{k^\\prime}^T x_n}} \\Big)\\, x_n$$ |