{ "metadata": { "name": "03_Linear_Classification" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "

Readings

\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Introduction

\n", "This notebook describes several linear models for classification, i.e. given an input vector $\\mathbf{x}$ determine $p(C_k|\\mathbf{x})$ where $k\\in \\\\{1\\ldots K\\\\}$ and $C_k$ is a \n", "discrete class label. Note that the algorithms described here can also be applied to transformed input, $\\phi(x)$, to determine $p(C_k|\\phi(\\mathbf{x}))$, where $\\phi$ may \n", "be a nonlinear tranformation of the input space. \n", "\n", "Our **first model assumption** is that our target output can be modeled as
\n", "\n", "$y(\\phi(\\mathbf{x})) = f(\\mathbf{w}^T\\phi(\\mathbf{x}))$
\n", "\n", "where $y$ will be a vector of probabilities with $K$ elements. The elements of $y$ are $y_i = p(C_i|\\phi(\\mathbf{x}))$ i.e. the probability that the correct class label is $C_i$ given the input vector $\\mathbf{x}$. Often we will have simply that $\\mathbf{w}^T\\phi(\\mathbf{x}) = \\mathbf{w}^T\\mathbf{x}+w_0$ in which case we will simply omit $\\phi$ from the notation. \n", "The function $f$ is known as the **activation function** and its inverse is known as the **link function**. Note that $f$ will often be nonlinear.\n", "\n", "It should be noted that nearly all of the material presented fails to be a fully Bayesian treatment of the classification problem. Primarily this is because a Bayesian approach \n", "to the classification problem is mathematically intractable. However, Bayes' Theorem will appear often in the discussion, which can lead to confusion. Where appropriate, I \n", "will try to clarify the difference.\n", "\n", "Another factor to keep in mind is that the target variable, $y$, described in our model above, does **not provide a decision** for a class assignment for a given input $\\mathbf{x}$. \n", "In real world cases where it is necessary to make a decision as to which class $\\mathbf{x}$ should be assigned, one must apply an additional modeling step based on *decision theory*. \n", "There are a variety of decision models, all of which leverage the class posterior probability models, $p(C_k|\\mathbf{x})$, such as\n", "\n", "* Minimizing the misclassification rate - this effectively corresponds to chosing the class with the highest probability for a given $\\mathbf{x}$\n", "* Minimizing the expected loss - minimizes the expected value of a given loss function, $L$, under the class posterior probability distribution\n", "* Reject option\n", "\n", "The models presented here are called *linear* because, when the decision criteria is that of minimizing the misclassification rate, they divide the input\n", "space into $K$ regions, where the boundaries between regions are linear functions of the input vector $\\mathbf{x}$. The decision boundaries will correspond to where \n", "$\\mathbf{w}^T\\mathbf{x}=constant$, and thus represent a linear function of $\\mathbf{x}$. \n", "In the case of transformed input, $\\phi(\\mathbf{x})$, the decision boundaries will correspond to where \n", "$\\mathbf{w}^T\\phi(\\mathbf{x})=constant$, and thus represent a linear function of $\\phi(\\mathbf{x})$. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Probabilistic Generative Models

\n", "Our first step is to form a model of the class posterior probabilities for the *inference stage*. This can be done directly, as in probabilistic discriminative modeling (see next section),\n", "or by first modeling the *class-conditional densities*, $p(\\mathbf{x}|C_k$), and the class priors, $p(C_k)$, and then applying Bayes' Theorem to obtain the posterior model. In this section we will apply the latter approach. \n", "We will see that our class posterior probability model will depend only on the input $\\mathbf{x}$ (or a fixied transformation using basis functions $\\phi$) and the class labels, $C_k$. In this case, for $K$ classes, our activation function will take the form
\n", "\n", "$$f = p(C_k | \\mathbf{x}) = \\frac{\\exp(a_k)}{\\sum_j \\exp(a_j)}$$
\n", "\n", "known as the *softmax function* where $a_j = \\ln(p(\\mathbf{x}|C_k)p(C_k))$. In the **case of $K=2$**, the activation function will reduce to the *logistic sigmoid* function

\n", "$$f = p(C_1|\\mathbf{x}) = \\frac{1}{1+\\exp(-a)} = \\sigma(a)$$

\n", "where $a = \\ln \\frac {p(\\mathbf{x}|C_1)p(C_1)} {p(\\mathbf{x}|C_2)p(C_2)}$
\n", "\n", "Note this is not the only possible form for the class posterior models. For example, one might also add a noise term to account for misclassification. This particular form for the\n", "activation function is a consequence of the model we choose for $p(\\mathbf{x}|C_k)$ in sections below. Showing the outcome may be a bit of \"putting the cart before the horse\" but it will simplify the notation as we proceed.\n", "\n", "Note that although we have applied Bayes' Theorem, this is **not** a Bayesian model. Nowhere have we modeled the parameter posterior probability $p(\\mathbf{w}|\\mathbf{t})$. Indeed, we will see shortly that we will use a \n", "maximum likelihood approach to determine $\\mathbf{w}$.\n", "\n", "These models are **known as generative models** because they can be used to generate synthetic input\n", "data by applying Inverse Transform Sampling to the marginal distribution for $\\mathbf{x}$ defined by
\n", "\n", "$p(\\mathbf{x}) = \\sum_k p(\\mathbf{x}|C_k)p(C_k)$
\n", "\n", "To move forward, it is necessary to start making **model assumptions**. Here we will *assume* that we have continuous inputs, i.e. $x\\in \\Re$ *(see Bishop 202 & Ng Lecture 5 pdf for discrete input using Naive Bayes & Laplace)*,and \n", "that the *class-conditional densities*,\n", "$p(\\mathbf{x}|C_k)$ are modeled by a Gaussian distribution. Under the Gaussian assumption, the class-conditional density for class $C_k$ is

\n", "\n", "$p(\\mathbf{x}|C_k) = \\frac{1}{\\left(2 \\pi \\right)^{D/2}} \\frac{1}{|\\mathbf{\\Sigma}|^{1/2}} \\exp \\\\{ -\\frac{1}{2} (\\mathbf{x} - \\mathbf{\\mu}_k)^T \\mathbf{\\Sigma}^{-1} (\\mathbf{x} - \\mathbf{\\mu}_k) \\\\}$

\n", "\n", "where $D$ is the dimension of the input vector $\\mathbf{x}$, $\\mathbf{\\Sigma}$ is the *covariance matrix* and $\\mathbf{\\mu}$ is the mean vector and where we have *assumed* that all classes share the same covariance matrix. \n", "\n", "In the case of **two classes**, this result is substituted into the logistic sigmoid function and reduces to

\n", "\n", "$p(C_1|\\mathbf{x}) = \\sigma \\left( \\mathbf{w}^T \\mathbf{x} + w_0 \\right)$

\n", "\n", "were we have defined

\n", "\n", "$\\mathbf{w} = \\mathbf{\\Sigma}^{-1} \\left( \\mathbf{\\mu}_1 - \\mathbf{\\mu}_2 \\right)$

\n", "\n", "$w_0 = -\\frac{1}{2} \\mathbf{\\mu}_1^T \\mathbf{\\Sigma}^{-1} \\mathbf{\\mu}_1 + \\frac{1}{2} \\mathbf{\\mu}_2^T \\mathbf{\\Sigma}^{-1} \\mathbf{\\mu}_2 + \\ln \\frac{p(C_1)} {p(C_2)}$

\n", "\n", "Notice that the class prior probabilities, $p(C_k)$, effectively act as a bias term. Also note, that we have yet to specify a model for these distributions. If we are to use the result above,\n", "we will need to make **another model assumption**. Here we will *assume* that the *class priors* are modeled by a Bernoulli distribution with $p(C_1)=\\gamma$ and $p(C_2)=1-\\gamma$. \n", "\n", "These results can be extended to the case of $K>2$ classes for which we obtain

\n", "\n", "$a_k(\\mathbf{x}) = \\left[\\mathbf{\\Sigma}^{-1} \\mathbf{\\mu}_k \\right]^T \\mathbf{x} - \\frac{1}{2} \\mathbf{\\mu}_k^T \\mathbf{\\Sigma}^{-1} \\mathbf{\\mu}_k + \\ln p(C_k)$

\n", "\n", "which is used in the first activation function provided at the begining of this section. \n", "\n", "Note that we still have not formulated a complete model for the posterior class densities, in that we have not yet solved for the model parameters, $\\mathbf{\\mu}$ and $\\mathbf{\\Sigma}$. We do that\n", "now using a **maximum likelihood** approach.\n", "\n", "

Maximum Likelihood Solution

\n", "Considering the case of two classes, $C_1$ and $C_2$, with Bernoulli prior distributions, $p(C_1)=\\pi$ and $p(C_2)=1-\\pi$, and with Gaussian *class-conditional density* distributions\n", "$p(\\mathbf{x}|C_k)$, assume we have a training data set, $\\mathbf{X}$, with $N$ elements of the form $\\\\{\\mathbf{x}_n, t_n\\\\}$ where $t_n=0$ indicates that $\\mathbf{x_n}$ is in class $C_1$ and $t_n=1$\n", "indicates that $\\mathbf{x_n}$ is in class $C_2$. The likelihood function is then given by
\n", "\n", "$$p\\left(\\mathbf{t}, \\mathbf{X} \\mid \\pi, \\mathbf{\\mu}_1, \\mu_2, \\mathbf{\\Sigma}\\right) = \\prod_{n=1}^N \\left[\\pi ND \\left(\\mathbf{x}_n \\mid \\mu_1, \\mathbf{\\Sigma}\\right)\\right]^{t_n} \\left[\\left(1-\\pi\\right) ND\\left(\\mathbf{x}_n \\mid \\mu_2, \\mathbf{\\Sigma}\\right)\\right]^{1-t_n}$$ \n", "\n", "
\n", "\n", "Taking the derivate of this expression with respect to the various model parameters, $\\pi$, $\\mu_1$, $\\mu_2$, and $\\mathbf{\\Sigma}$, and setting it equal to zero, we obtain the following\n", "estimates

\n", "\n", "$\\pi = \\frac{N_1}{N_1+N_2}$

\n", "where $N_1$ is the number of training inputs in class $C_1$ and $N_2$ is the number in class $C_2$.

\n", "\n", "$\\mu_1 = \\frac{1}{N_1} \\sum_{n=1}^N t_n \\mathbf{x_n}$

\n", "\n", "$\\mu_2 = \\frac{1}{N_2} \\sum_{n=1}^N (1-t_n) \\mathbf{x_n}$

\n", "\n", "$\\mathbf{\\Sigma} = \\frac{1}{N}\\left[ \\sum_{n\\in C_1} (\\mathbf{x_n}-\\mu_1)(\\mathbf{x_n}-\\mu_1)^T + \\sum_{n\\in C_2} (\\mathbf{x_n}-\\mu_2)(\\mathbf{x_n}-\\mu_2)^T \\right] $

\n", "\n", "

Example 1

\n", "We will choose some *truth* values for our parameters and use our generative model to generate synthetic data. We can then use that data as input to the maxium likelihood solution to see the estimates of the truth parameters. Let's use 1-D input for simplicity. We will be using a basic form of inverse transform sampling. Specifically, we wish for our training input data, \n", "$\\mathbf{x}$, to be dervied from a distribution modeled by the marginal distribution $p(\\mathbf{x})$. To obtain this, we first formulate the cumulative distribution function, \n", "$CDF(\\mathbf{X}) = \\int_{-\\infty}^{\\mathbf{X}} p(\\mathbf{x})d\\mathbf{x}$. Note that the range of the CDF is $\\[0,1\\]$. To obtain appropriately distributed $\\mathbf{x}$ values, we choose some value from a uniform\n", "distribution on $\\[0,1\\]$, say $y$, and find the value $\\mathbf{X}$ such that $CDF(\\mathbf{X})=y$. This value of $\\mathbf{X}$ is our input $\\mathbf{x}$. This approach requires us to find the \n", "inverse of the CDF, which we will do numerically. Once we have obtained a value for $\\mathbf{x}$ we need to assign it to a particular class. We will *assume* that the correct class is that for\n", "which the posterior probability $p(C_k|\\mathbf{x})$ is greatest, **unless** the difference between the two posterior probabilities is less than some minimum value in which case we will chose \n", "randomly - this will add some \"noise\" to our input training data." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "import math\n", "from matplotlib import pyplot as plt\n", "import scipy.integrate as sciInt\n", "import scipy.optimize as sciOpt\n", "\n", "#select truth data values, these will NOT be known to the training algorithm, they\n", "#are only used in generating the sample data\n", "tu1 =-2.0\n", "tu2 = 2.0\n", "tSigma = 2.0\n", "tGamma = 0.5\n", "\n", "#the class conditional probability p(x|Ck)\n", "def p_xCk(x, mu, sigma):\n", " denom = math.sqrt(2.0 * math.pi * sigma)\n", " arg = -0.5 * (x - mu) * (x - mu) / sigma\n", " return math.exp(arg) / denom\n", "\n", "#the marginal probability p(x)\n", "def p_x(x, mu1, mu2, sigma, gamma):\n", " return gamma * p_xCk(x, mu1, sigma) + (1.0 - gamma) * p_xCk(x, mu2, sigma)\n", "\n", "#posterior class probability vector (p(C_1|x), p(C_2|x))\n", "def p_Ckx(x, mu1, mu2, sigma, gamma):\n", " a = math.log(p_xCk(x, mu1, sigma)*gamma/(p_xCk(x,mu2,sigma)*(1-gamma)))\n", " pc1 = 1.0/(1.0 + math.exp(-a))\n", " return (pc1, 1.0 - pc1)\n", "\n", "domain = range(0,100,1)\n", "domain = [(-5.0 + x/10.0) for x in domain]\n", "f, axarr = plt.subplots(2,2)\n", "f.subplots_adjust(right=1.5)\n", "f.subplots_adjust(top=1.5)\n", "\n", "#plot p(x|Ck)\n", "pxC1 = [p_xCk(x,tu1,tSigma) for x in domain]\n", "pxC2 = [p_xCk(x,tu2,tSigma) for x in domain]\n", "ax1 = axarr[0,0]\n", "ax1.plot(domain, pxC1)\n", "ax1.plot(domain, pxC2)\n", "ax1.set_ylabel('p(x|C_k)')\n", "\n", "#plot the marginal distribution p(x)\n", "px = [p_x(x, tu1, tu2, tSigma, tGamma) for x in domain]\n", "ax2 = axarr[0,1]\n", "ax2.plot(domain,px)\n", "ax2.set_ylabel('p(x)')\n", "\n", "#plot the posterior distributions p(C_1|x) & p(C_2|x)\n", "pc1x = []\n", "pc2x = []\n", "for x in domain:\n", " pck = p_Ckx(x, tu1, tu2, tSigma, tGamma)\n", " pc1x.append(pck[0])\n", " pc2x.append(pck[1])\n", "ax3 = axarr[1,0]\n", "ax3.plot(domain, pc1x)\n", "ax3.plot(domain, pc2x)\n", "ax3.set_ylabel('p(C_k|x)')\n", "\n", "#the cumulative distribution function P(x pcx2:\n", " t[i] = 1\n", " n1 = n1 + 1\n", " else: t[i]=0\n", "\n", "#plot the simulated data\n", "ax4 = axarr[1,1]\n", "ax4.scatter(x, t)\n", "ax4.axvline(0)\n", "ax4.set_ylabel('class')\n", "plt.show()\n", "\n", "#compute the paratmer estimates using the synthetic training data\n", "n2 = num_samples - n1\n", "eGamma = n1 / float(num_samples)\n", "zipped = zip(x,t)\n", "eu1 = reduce(lambda accum, Z: accum + Z[0]*Z[1], zipped, 0) / float(n1)\n", "eu2 = reduce(lambda accum, Z: accum + Z[0]*(1-Z[1]), zipped, 0) / float(n2)\n", "def Sn(Z, ck, mu=(eu1,eu2)):\n", " idx = 1-int(ck)\n", " return (Z[0]-mu[idx])*(Z[0]-mu[idx])\n", "eSigma = reduce(lambda accum, Z: accum + Sn(Z, Z[1]), zipped, 0) / float(num_samples)\n", "print 'The number of inputs in C1 is {0}'.format(n1)\n", "print 'The number of inputs that were assigned based on the assignment factor is {0}'.format(nae)\n", "print 'The true model parameters are gamma={0}, u1={1}, u2={2}, Sigma={3}'.format(tGamma, tu1, tu2, tSigma)\n", "print 'The estimated model parameters are gamma={0}, u1={1}, u2={2}, Sigma={3}'.format(eGamma, eu1, eu2, eSigma)\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n" }, { "output_type": "stream", "stream": "stdout", "text": [ "The number of inputs in C1 is 49\n", "The number of inputs that were assigned based on the assignment factor is 12\n", "The true model parameters are gamma=0.5, u1=-2.0, u2=2.0, Sigma=2.0\n", "The estimated model parameters are gamma=0.49, u1=-2.1627582967, u2=2.02800375873, Sigma=1.66604897528\n" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Probabilistic Discriminative Models

\n", "Probablistic discriminative models assume the same generalized linear model
\n", "\n", "$y(\\phi(\\mathbf{x})) = f(\\mathbf{w}^T\\phi(\\mathbf{x}))$\n", "\n", "as the probabilistic generative models. However, rather than formulate models for the *class-conditional* densities, $p(\\phi(\\mathbf{x})|C_k)$, and the *class priors*, $p(C_k)$, the discriminative approach\n", "explicitly models the *class posterior* probabilities, $p(C_k|\\phi(\\mathbf{x}))$ with model parameters $\\mathbf{w}$. As in the probabilistic generative approach, maximum likelihood is used to estimate the model \n", "parameters given some training data set, $\\mathbf{t}$. The **difference** is the form of the likelihood function. In the probabilistic generative case, the likelihood function is a function of the joint probability,\n", "$p(\\phi(\\mathbf{x}),C_k)=p(\\phi(\\mathbf{x})|C_k)p(C_k)$. In the probabilistic discriminative approach, the likelihood function is a function of the conditional class posteriors, $p(C_k|\\phi(\\mathbf{x}))$ only. \n", "\n", "**NOTE** The section on probablistic generative models focused on models that used the input, $\\mathbf{x}$, directly. However, as noted previously, those models, and the results, hold equally well for input that undergoes \n", "a **fixed** transformation using a set of basis functions, $\\phi$. In this section, we will focus on the inclusion of an input transformation via the basis functions.\n", "\n", "

Logistic Regression

\n", "We first consider Logistic Regression, which is one specific example of discriminative modeling, for the case of two classes. It assumes a model for the class posterior probabilities, $p(C_k|\\phi(\\mathbf{x}))$, in the form of the logistic \n", "sigmoid

\n", "$p(C_1|\\phi) = f(a) = \\sigma(\\mathbf{w}^T\\phi)$

\n", "with $p(C_2|\\phi) = 1 - p(C_1|\\phi)$. We now apply maximum likelihood to obtain the model parameters. Assume that our training set, $\\mathbf{t}$, is of the form $\\\\{\\phi_n,t_n\\\\}$ where $\\phi_n=\\phi(\\mathbf{x}_n)$, $t_n \\in \\{0,1\\}$,\n", "and $n=1\\ldots N$. The likelihood function of the training data is then

\n", "$p(\\mathbf{t}|\\mathbf{w}) = \\prod_{n=1}^N \\sigma(\\mathbf{w}^T \\phi(\\mathbf{x}_n))^{t_n} (1 - \\sigma(\\mathbf{w}^T \\phi(\\mathbf{x}_n)))^{1-t_n}$

\n", "Defining the error function, $E(\\mathbf{w})$, as the negative of the log-likelihood function, and taking the gradient with respect to $\\mathbf{w}$, we obtain

\n", "$\\bigtriangledown E(\\mathbf{w}) = \\sum_{n=1}^N \\left[\\sigma(\\mathbf{w}^T \\phi(\\mathbf{x}_n)) - t_n\\right] \\phi(\\mathbf{x}_n)$

\n", "\n", "Superficially, this error function looks the same as that obtained for **linear** regression under the assumption of a Gaussian noise model which had a closed form solution. However, the nonlinearity of the *sigmoid* function, $\\sigma(\\mathbf{w}^T \\phi(\\mathbf{x}_n))$ prevents a closed form solution in the **logistic** regression problem. We therefore must apply an iterative method to obtain a numerical solution for the parameters, $\\mathbf{w}$. Here we will\n", "consider the *Newton-Raphson* method for which minimizing the error function takes the form

\n", "$\\mathbf{w}^{\\tau+1} = \\mathbf{w}^{\\tau} - \\mathbf{H}^{-1}\\bigtriangledown E(\\mathbf{w})$

\n", "\n", "where $\\mathbf{H}$ is the *Hessian* matrix composed of the second derivatives of the error function

\n", "$\\mathbf{H} = \\bigtriangledown \\bigtriangledown E(\\mathbf{w}) = \\Phi^T \\mathbf{R} \\Phi$

\n", "\n", "where $\\Phi$ is the $N \\times M$ design matrix whos $n^{th}$ row is given by $\\phi(\\mathbf{x_n})^T$ and $\\mathbf{R}$ is an $N \\times N$ diagonal matrix with elements $R_{n,n} = \\sigma(\\mathbf{w}^T \\phi(\\mathbf{x}_n)) \\left[1-\\sigma(\\mathbf{w}^T \\phi(\\mathbf{x}_n))\\right]$. This can be reduced to a form equivalent to that of localy weighted linear *regression* as follows

\n", "$\\mathbf{w}^{\\tau+1} = \\left( \\Phi^T \\mathbf{R} \\Phi \\right)^{-1} \\Phi^T \\mathbf{R} \\mathbf{z}$

\n", "where $\\mathbf{z}$ is an $N$ dimensional vector defined by

\n", "$\\mathbf{z} = \\Phi \\mathbf{w}^{\\tau} - \\mathbf{R}^{-1}(\\mathbf{y} - \\mathbf{t})$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 2

\n", "Let's consider an example with two classes and 2D input, $\\mathbf{x_n} = (x_n^{(1)},x_n^{(2)})$. As an experiment, you can try increasing the number of training points, $N$. Eventually, the training\n", "points will overlap so that it will not be possible to completely seperate them with the transformation provided." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "from matplotlib import pyplot as plt\n", "\n", "seed = 123456789\n", "np.random.seed(seed)\n", "N = 100 #number of data points, SEE WHAT HAPPENS AS YOU INCREASE THIS TO SAY 200\n", "D = 2 #dimension of input vector\n", "t = np.zeros(N) #training set classifications\n", "X = np.zeros((N,D)) #training data in input space\n", "sigma = .25\n", "mu0 = 0.0\n", "mu1 = 1.0\n", "\n", "#func for generating 2D class scatter plot\n", "def createScatter(X, t, ax):\n", " C1x = [] \n", " C1y = []\n", " C2x = []\n", " C2y = []\n", " for i in range(len(t)):\n", " if t[i] > 0: \n", " C1x.append(X[i,0])\n", " C1y.append(X[i,1])\n", " else: \n", " C2x.append(X[i,0])\n", " C2y.append(X[i,1])\n", " ax.scatter(C1x,C1y)\n", " ax.scatter(C2x,C2y, color='r')\n", " \n", "#Generate test data. (NOTE THIS IS NOT BASED ON A GENERATIVE APPROACH. I AM PICKING SOMETHING THAT I KNOW (OK, THINK) WILL WORK. IN PRACTICE THIS DATA WOULD BE OBTAINED VIA OBSERVATION)\n", "#Pick a value from a uniform distribution [0,1). If it is less than 0.5, assign class 1 and pick x1,x2 from a ND(mu0,sigma) otherwise assign class 2 and pick x1,x2 from ND(mu1,sigma)\n", "for i in range(N):\n", " #choose class to sample for\n", " fac = 1\n", " if np.random.rand() <= 0.5:\n", " thismu = mu0\n", " t[i] = 1\n", " else: \n", " thismu = mu1\n", " t[i] = 0\n", " if np.random.rand() < 0.5: fac = -1\n", " \n", " X[i,0] = fac * np.random.normal(thismu, sigma)\n", " X[i,1] = fac * np.random.normal(thismu, sigma)\n", " \n", "\n", "f, axarr = plt.subplots(1,3)\n", "f.subplots_adjust(right=2.5)\n", "f.text(0.75,0.975,'Fixed Input Transformation Yields Linear Class Boundary',horizontalalignment='center',verticalalignment='top')\n", "\n", "ax1 = axarr[0]\n", "ax1.set_xlabel('x1')\n", "ax1.set_ylabel('x2')\n", "createScatter(X,t,ax1)\n", "\n", "#The training data does not have a linear boundary in the original input space. So lets apply a tranformation, phi to try to make it linearly seperable\n", "#NOTE: This transformation is not the only one that works. For example try switching the values of MU1 and MU2. The result will be a different mapping\n", "#that is still linearly seperable\n", "def phi(x,mu,sigma):\n", " detSigma = np.linalg.det(sigma)\n", " fac = math.pow(2*math.pi, len(mu)/2.0) * math.sqrt(detSigma)\n", " arg = -0.5 * np.dot((x-mu).T, np.dot(np.linalg.inv(sigma), x-mu) )\n", " return math.exp(arg) / fac\n", " \n", "phiX = np.zeros((N,D))\n", "MU1 = np.ones(D)*mu0\n", "MU2 = np.ones(D)*mu1\n", "SIGMA = np.diag(np.ones(D))*sigma\n", "for i in range(N):\n", " phiX[i,0] = phi(x=X[i,:], mu=MU2, sigma=SIGMA)\n", " phiX[i,1] = phi(x=X[i,:], mu=MU1, sigma=SIGMA)\n", " \n", "ax2 = axarr[1]\n", "ax2.set_xlabel('phi1(x)')\n", "ax2.set_ylabel('phi2(x)')\n", "createScatter(phiX, t, ax2)\n", "\n", "#Now lets apply machine learning to determine the boundary. We will assume M = 3, i.e. that there are 3 free parameters that is w = [w0, w1, w2]^T and phi_n = [1, phiX[0], phiX[1]]\n", "M = 3\n", "Phi = np.ones((N,M))\n", "Phi[:,1] = phiX[:,0]\n", "Phi[:,2] = phiX[:,1]\n", "w = np.zeros(M)\n", "R = np.zeros((N,N))\n", "y = np.zeros(N)\n", "\n", "def sigmoid(a):\n", " return 1.0 / (1.0 + math.exp(-a))\n", "\n", "def totalErr(y,t):\n", " e = 0.0\n", " for i in range(len(y)):\n", " if t[i] > 0:\n", " e += math.log(y[i])\n", " else:\n", " e += math.log(1.0 - y[i])\n", " return -e\n", "\n", "#start Newton-Raphson. As a stopping criteria we will use a tolerance on the change in the error function and a max number of iterations\n", "max_its = 100\n", "tol = 1e-2\n", "w0 = [w[0]] \n", "w1 = [w[1]]\n", "w2 = [w[2]]\n", "err = []\n", "error_delta = 1 + tol\n", "current_error = 0\n", "idx = 0\n", "while math.fabs(error_delta)>tol and idx < max_its:\n", " #update y & R\n", " for i in range(N): \n", " zipped = zip(w, Phi[i,:])\n", " y[i] = sigmoid(reduce(lambda accum, Z: accum + Z[0]*Z[1], zipped, 0))\n", " R[i,i] = y[i] - y[i]*y[i]\n", " #update w\n", " z = np.dot(Phi,w) - np.dot(np.linalg.pinv(R),y-t)\n", " temp = np.linalg.pinv(np.dot(np.dot(Phi.T,R),Phi))\n", " temp2 = np.dot(np.dot(temp, Phi.T),R)\n", " w = np.dot(temp2, z)\n", " w0.append(w[0])\n", " w1.append(w[1])\n", " w2.append(w[2])\n", " idx += 1\n", " temp = totalErr(y,t)\n", " error_delta = current_error - temp\n", " current_error = temp\n", " err.append(error_delta)\n", "print 'The total number of iterations was {0}'.format(idx)\n", "print 'The total error was {0}'.format(current_error)\n", "print 'The final change in error was {0}'.format(error_delta)\n", "print 'The final parameters were {0}'.format(w) \n", " \n", "#our decision boundary is now formed by the line where sigma(a) = 0.5, i.e. where a = 0, which for this example is where phi2 = -(w1/w2)phi1, i.e. where w * phi = .5\n", "bdryx = (0,1)\n", "bdryy = (-(w[0]+w[1]*bdryx[0])/w[2], -(w[0]+w[1]*bdryx[1])/w[2])\n", "ax2.plot(bdryx, bdryy)\n", "\n", "ax3 = axarr[2]\n", "ax3.plot(w0, color = 'blue')\n", "ax3.plot(w1, color = 'red')\n", "ax3.plot(w2, color = 'green')\n", "ax3.plot(err, color = 'black')\n", "ax3.legend((\"w0\",\"w1\",\"w2\", \"error delta\"), loc='upper left')\n", "ax3.set_xlabel('Newton-Raphson Iteration')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The total number of iterations was 13\n", "The total error was 0.0034822214269\n", "The final change in error was 0.00577180168398\n", "The final parameters were [ -17.84374926 -14.0620823 163.06478261]\n" ] }, { "output_type": "pyout", "prompt_number": 2, "text": [ "" ] }, { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAABD0AAAEeCAYAAACJ9G5HAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlYVOXbwPHvsCiCKKK5AYopiggioLggguWGC5qWueNu\naWbLW6ZmYWVmab/U0mxxL9HM1NxzAbdIU7SFXEpQEiUVlVUHmOf9Y2QEARcEhoH7c11zyZzznHPu\n58yZ48w9z6JRSimEEEIIIYQQQgghyhgzYwcghBBCCCGEEEIIURwk6SGEEEIIIYQQQogySZIeQggh\nhBBCCCGEKJMk6SGEEEIIIYQQQogySZIeQgghhBBCCCGEKJMk6SGEEEIIIYQQQogySZIewuSZm5vj\n5eWFl5cX3t7enDt3Dj8/vyLZt7OzM4mJiQ+8/FHcuHGDRYsW5Vl+9epVQ/3q1KmDo6Ojoa6ZmZlF\nGgPAyZMnadGiBT4+Ppw9e7bI95+fEydOsG3bNsPzH3/8kdmzZz/SPpVS+Pv7s337dsOy7777jqCg\noAfa/7Jly5g4cWK+6ypXrvzAcQQGBnL06NFcy44ePcqkSZMeeB9FZcWKFXh4eNC8eXO8vb2ZO3cu\nAMOHD+f7778vlmNmvz+zr6mff/65WI6TU3G8P4UQQgghhGmyMHYAQjwqa2troqKici07ePBgkexb\no9E81PJHce3aNRYuXMjzzz+fa3n16tUN9ZsxYwa2tra88sorucpkZWVhbm5eJHFs2LCBZ555hmnT\npj1QeaUU8GjnJCoqiqNHjxIUFARAr1696NWrV6H3lx3P559/zjPPPEPHjh3JyMhg2rRp7NixgwYN\nGtx3//eqz8PUVaPR5Cnv4+ODj4/PA++jMHQ6HWZmd/La27ZtY968efz000/Url0brVbLihUrCoyx\nqOR8f+7cuZMpU6YQHh5eLMfK9rB1uftcCSGEEEKIskM+5YkyKfuX+B9++IFOnToBcPHiRZo0acJ/\n//3H5cuXefrpp/H19cXX15dDhw4B+lYVXbp0wd3dnTFjxhi+0BckNjaWpk2bMnbsWNzd3enatSs3\nb94E9L/wv/TSS3h5eeHh4cGRI0cACA0NNfzCDuDh4cG5c+d44403+Oeff/Dy8mLy5MkFHjM7puHD\nh/Pcc8/Rpk0bJk+ezJEjR2jXrh3e3t74+flx+vRpQN9ioW/fvgQFBdG4cWPDvrOyshg+fLjhl/9P\nPvnE8MV40aJFPPnkkwB8/PHHeHh44OHhwbx58wz1btKkCSEhIXh4eLB//35cXV0ZMWIETZo0YfDg\nwezcuRM/Pz8aN25sqPvhw4fzxKjVannrrbdYs2YNXl5erF27Nlcri9jYWJ544gk8PT3p1KkTcXFx\nhvpPmjQJPz8/GjZsmG9LhWbNmtGrVy9mz57NO++8Q0hICA0aNMi1/4KuhZxiYmJo27YtzZs35803\n3zQsv3jxIh06dDC8xgcOHLjn9ZItPDzckHQJDQ1l5MiRdOzYkYYNG7JgwQJDuVWrVtG6dWu8vLx4\n7rnn0Ol0AIwfP55WrVrh7u5OaGioobyzszNvvPEGPj4+rFu3LtcxZ82axdy5c6lduzYAFSpUYPTo\n0Xlie+edd/D19cXDw4Nx48YZls+fP59mzZrh6enJwIEDAYiIiMjVyiolJeWe9b5x4wb29vaA/jp+\n7bXXDNff2rVr85wbgBdeeIHly5cb6hcaGoqPjw/Nmzfn1KlTwL3ft0899RQtW7bE3d2dL7/80rC8\ncuXK/N///R8tWrRg5syZPPXUU4Z1P/30E3379r1nXYQQQgghhIlQQpg4c3Nz1aJFC9WiRQvVt29f\npZRSlStXNqwfMmSIWrBggerZs6cKCwtTSik1cOBAdeDAAaWUUufOnVNNmzZVSik1ceJE9e677yql\nlNqyZYvSaDTq6tWreY7p7Oysrl69qmJiYpSFhYU6ceKEUkqp/v37q1WrVimllAoMDFRjx45VSim1\nb98+5e7urpRSKjQ0VM2ZM8ewL3d3d3Xu3DkVGxtrKFOQnNuGhISoXr16KZ1Op5RSKikpSWVmZiql\nlPrpp59Uv379lFJKLV26VD3++OMqKSlJ3bx5U9WvX1/FxcWpX3/9VXXu3Nmw7xs3bhiOMXfuXKWU\nUr/++qvy8PBQaWlpKiUlRTVr1kxFRUWpmJgYZWZmpn755RellDKchz/++EPpdDrl4+OjRo4cqZRS\nauPGjapPnz73jHHZsmVq4sSJhliWLVumXnjhBaWUUj179lQrVqxQSim1ZMkSw75CQkJU//79lVJK\nRUdHq0aNGuV7zlJTU1Xjxo1V8+bNlVarzbP/gq6FpUuXGsr06tVLrVy5Uiml1GeffWa4vubMmaNm\nzpyplFJKp9Op5OTkPMcPDAxUR48ezbVs7969qmfPnkoppd5++23l5+entFqtunLliqpevbrKzMxU\n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\nli3ljpKoxrDEOssSj5mIzJul1VuWdrxEZP6Y9CAiMlGWWGdZ4jETkXmztHrL0o6XiMxfVeotjulB\nRERERERERDUSkx5EREREREREVCMx6UFERERERERENRKTHkRERERERERUIzHpQUREREREREQ1EpMe\nRERERERERFQjMelBRERERERERDWSUZMemzdvhqenJ6ysrHDixIky13N1dYW3tzd8fX0REBBgxAir\nJzY2Vu4QtGJclWOKcZliTADjoprDnP5mGKthMFbDMKdYybSZ098SYzUMxmo45hZvZRk16eHl5YVt\n27ahR48e5a6nUCgQGxuLpKQkJCYmGim66jPVPxbGVTmmGJcpxgQwrprozp076N27N9q1a4cXX3wR\n9+7d07re6NGj0axZM3h5eRk5QsMwp78ZxmoYjNUwzClWU1bejcNPP/0Ubdu2hbu7O/bs2aN+/fjx\n4/Dy8kLbtm0xbdo0Y4esd+b0t8RYDYOxGo65xVtZRk16uLu7o127djqtK0mSgaMhIqKSFi1ahN69\ne+PcuXN44YUXsGjRIq3rjRo1CjExMUaOjojIMpV14zAlJQWRkZFISUlBTEwMJk2apL6GnjhxIiIi\nIpCamorU1FTW2URksUxyTA+FQoFevXrB398f3333ndzhEBFZjO3btyMsLAwAEBYWhl9++UXrekFB\nQWjcuLExQyMislhl3TiMiorC8OHDYWNjA1dXV7i5ueHIkSO4evUqsrKy1N3ER44cWWZ9TkRU40l6\n1qtXL6ljx46lHtu3b1evExwcLB0/frzMbVy5ckWSJEm6ceOGpFKppIMHD5ZaBwAffPDBh1k9zEGj\nRo3Uz588eaKxXFJaWprUsWPHMt+Xu7z54IMPPqryMGUlr6EnT54s/fDDD+rlMWPGSFu2bJGOHTsm\n9erVS/36wYMHpZdeeqnU9uQuaz744IOPqjwqyxp6tnfv3mpvw8nJCQDg4OCAQYMGITExEUFBQRrr\nSOz+QkRUJb1798a1a9dKvb5gwQKNZYVCAYVCUeX9sJ4mItJdWXXzwoULERISYpB9sp4mIkug96SH\nrsqqZLOzs1FYWIgGDRrg0aNH2LNnD+bMmWPk6IiIaq7yktPNmjXDtWvX0Lx5c1y9ehWOjo5GjIyI\nyHJV5cahs7MzMjIy1MuXL1+GUqmEs7MzLl++rPG6s7OzXuIkIjI3Rh3TY9u2bXBxcUFCQgIGDBiA\n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\nPBlubm6IiIjAzJkzcevWLQBAYmJiuXdMiYj0pXjLhXfffVddDwHAl19+iWPHjkGlUsHT0xPffvut\n+r2uXbuiXbt2AIDAwEBcuXJFnRzu2bMnUlJS1AOZzp07F8ePH4dKpcKsWbOwbt069b51adVWcr0Z\nM2bgm2++gbW1NcaNG4eOHTuib9++6NKli8Zn6tatCz8/P0yaNAkRERHl7vP06dPo0qULfH19MX/+\nfMyePRt16tTBmjVr8Oqrr8Lb2xvW1taYMGFCqXIra5vFXw8JCcG2bdvUA5mWLNtVq1Zp/T+ZNGkS\n1q1bBx8fH5w9e1Y9iYFKpYKVlRV8fHywdOlSjX1Vt7xJHgqJaSkiIiIykvT0dISEhKhHvNeXuXPn\nokOHDnjttdfKXOfJkyfw8/PDsWPHYG1trdf9ExFZip49e+KLL76An5+f3KEQ6YQtPYiIiMioDHE3\n7O2331bfcSvLzp07MWTIECY8iIiILAhbehARERERERFRjcSWHkRERERERERUIzHpQUREREREREQ1\nEpMeRERERERERFQjMelBRERERERERDUSkx5EREREREREVCMx6UFERERERERENdL/Bx9z54x30trA\nAAAAAElFTkSuQmCC\n" } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 } ], "metadata": {} } ] }