{ "cells": [ { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false, "slideshow": { "slide_type": "skip" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "source": [ "%pylab inline" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from IPython.display import HTML\n", "try:\n", " myf = open('custom.css')\n", " htmlstring = \"\" %(myf.read())\n", " HTML(htmlstring)\n", "except IOError:\n", " print \"no file\"\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Decomposing Classification For Mixture Models\n", "By Kyle Cranmer, May 2015\n", "@kylecranmer\n", "\n", "A few slides related to Section 5.4 of *Approximating Likelihood Ratios with Calibrated Discriminative Classifiers*, \n", "http://arxiv.org/abs/1506.02169\n", "\n", "[![CC BY](https://i.creativecommons.org/l/by/4.0/88x31.png)](https://creativecommons.org/licenses/by/4.0/)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Introduction\n", "\n", "We consider the situation where you want to train a classifier between two different classes of events, and each class of events is generated from a mixture model\n", "\n", "\\begin{equation}\n", "p(x|\\theta)=\\sum_c w_c(\\theta) p_c(x| \\theta) \\;,\n", "\\end{equation}\n", "\n", "where $x$ is a high-dimensional feature vector, the index $c$ represents different classes of events with corresponding mixture coefficient $w_c(\\theta)$ and probability distribution $p_c(x|\\theta)$. \n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Our goal is to train a classifier to discriminate between $p(x|\\theta_0)$ and $p(x|\\theta_1)$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "We are considering the situation that both the coefficients and the distributions are parametrized by $\\theta$, which may have several components. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Special case: the mixture coefficents are not really functions of $\\theta$. This can be accomodated by this formalism by identifying one of the components of $\\theta$ with the mixture coefficient, i.e. $w_c(\\theta) = \\theta_i$ " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Special case: the component distributions don't depend on $\\theta$, i.e. $p_c(x|\\theta) = p_c(x)$ " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# The problem\n", "\n", "The simplest thing we can do is:\n", "\n", " 1. Generate training data $\\{(x,y=0)\\}$ from $p(x|\\theta_0)$ and $\\{(x,y=1)\\}$ from $p(x|\\theta_1)$, where $y$ is the class label\n", " 1. Train classifier based on this training data\n", " \n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "This is fine, but if the difference between $p(x|\\theta_0)$ and $p(x|\\theta_1)$ is due to a component with a small $w_c$, then most of the training examples do not focus on the relevant difference between the two classes." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# An example\n", "\n", "In particle physics, often one model is the *background-only* hypothesis\n", " * $p(x|\\theta_0) = p_b(x)$ is the only component\n", " \n", "the other is the *signal-plus-background* hypothesis, \n", " * $p(x|\\theta_1) = w_s p_s(x) + (1-w_s) p_b(x)$\n", "\n", "and $w_s$ is very small.\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "## Capacity Focusing Technique\n", "\n", "In order to focus the capacity of the classifier on the relevant regions of $x$, the classifier is not trained to distinguish $p(x|\\theta_0)$ vs. $p(x|\\theta_1)$. \n", "\n", "Instead, a classifier is trained to distinguish $p_b(x)$ vs. $p_s(x)$.\n", "\n", "This works because the likleihood ratio $p_s(x)/p_b(x)$ is 1-to-1 with $p(x|\\theta_0)/p(x|\\theta_1)$. \n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Decomposing the classification \n", "\n", "We can generalize this capacity focusing technique to comparisons of mixture models, by rewriting the desired likelihood ratio" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "\\begin{eqnarray}\n", "\\frac{p(x|\\theta_0)}{p(x|\\theta_1)} & =& \\frac{\\sum_c w_c(\\theta_0) p_c(x| \\theta_0)}{\\sum_{c'} w_{c'}(\\theta_1) p_{c'}(x| \\theta_1)} \n", "\\\\\n", "%&=& \\sum_c \\frac{ w_c(\\theta_0) p_c(x| \\theta_0)}{\\sum_{c'} w_{c'}(\\theta_1) p_{c'}(x| \\theta_1)} \\\\\n", "%&=& \\sum_c \\left[ \\frac{\\sum_{c'} w_{c'}(\\theta_1) p_{c'}(x| \\theta_1)}{ w_c(\\theta_0) p_c(x| \\theta_0)} \\right]^{-1} \\\\\n", "&=& \\sum_c \\left[ \\sum_{c'} \\frac{ w_{c'}(\\theta_1)}{w_c(\\theta_0)} \\frac{ p_{c'}(x| \\theta_1)}{ p_c(x| \\theta_0)} \\right]^{-1} \\\\\n", "&=& \\sum_c \\left[ \\sum_{c'} \\frac{ w_{c'}(\\theta_1)}{w_c(\\theta_0)} \\frac{ p_{c'}(s_{c,c',\\theta_0, \\theta_1}| \\theta_1)}{ p_c(s_{c,c',\\theta_0, \\theta_1}| \\theta_0)} \\right]^{-1} \n", "\\end{eqnarray}\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "\\begin{eqnarray}\n", "\\frac{p(x|\\theta_0)}{p(x|\\theta_1)} & =& \\frac{\\sum_c w_c(\\theta_0) p_c(x| \\theta_0)}{\\sum_{c'} w_{c'}(\\theta_1) p_{c'}(x| \\theta_1)} \n", "\\\\\n", "&=& \\sum_c \\left[ \\sum_{c'} \\frac{ w_{c'}(\\theta_1)}{w_c(\\theta_0)} \\frac{ p_{c'}(x| \\theta_1)}{ p_c(x| \\theta_0)} \\right]^{-1} \\\\\n", "%&=& \\sum_c \\left[ \\sum_{c'} \\frac{ w_{c'}(\\theta_1)}{w_c(\\theta_0)} \\frac{ p_{c'}(s_{c,c',\\theta_0, \\theta_1}| \\theta_1)}{ p_c(s_{c,c',\\theta_0, \\theta_1}| \\theta_0)} \\right]^{-1} \n", "\\end{eqnarray}\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The second line is a trivial, but useful decomposition into pair-wise classification between $p_{c'}(x|\\theta_1)$ and $p_c(x|\\theta_0)$. \n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "In the situation where the only free parameters of the mixture model are the coefficients $w_c$, then the distributions $p_{c}(s_{c,c',\\theta_0, \\theta_1}| \\theta)$ are independent of $\\theta$ and can be pre-computed (after training the discriminative classifier, but before performing the generalized likelihood ratio test). \n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Demonstration\n", "\n", "Consider these three distributions for the components" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "def f0(x):\n", " return np.exp(x*-1)\n", "def f1(x):\n", " return np.cos(x)**2+.01\n", "def f2(x):\n", " return np.exp(-(x-2)**2/2)\n", "fs = [f0, f1, f2]" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "with these mixture coefficients" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "w0 = [.1,.2,.7]\n", "w1 = [.2,.5,.3]" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Corresponding to the two mixture models" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def F0(x):\n", " sum = 0.\n", " for w, f in zip(w0, fs):\n", " sum += w*f(x)\n", " return sum\n", "def F1(x):\n", " sum = 0.\n", " for w, f in zip(w1, fs):\n", " sum+= w*f(x)\n", " return sum" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Visualization of the models" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "xarray = np.linspace(0,5,100)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(xarray,f0(xarray), c='r', ls='--')\n", "plt.plot(xarray,f1(xarray), c='y', ls='--')\n", "plt.plot(xarray,f2(xarray), c='orange', ls='--')\n", "plt.plot(xarray,F0(xarray), c='black', ls='-', lw=2)\n", "plt.plot(xarray,F1(xarray), c='b', ls='-', lw=2)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Visualization of the target likleihood ratio\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "YII=\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(xarray,F0(xarray)/F1(xarray))\n", "plt.xlabel('x')\n", "plt.ylabel('$F_0(x)/F_1(x)$')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Construction of the decomposed ratio\n", "\n", "Recall the equation\n", "\n", "\\begin{eqnarray}\n", "\\frac{p(x|\\theta_0)}{p(x|\\theta_1)} & =& \\frac{\\sum_c w_c(\\theta_0) p_c(x| \\theta_0)}{\\sum_{c'} w_{c'}(\\theta_1) p_{c'}(x| \\theta_1)} \n", "\\\\\n", "&=& \\sum_c \\left[ \\sum_{c'} \\frac{ w_{c'}(\\theta_1)}{w_c(\\theta_0)} \\frac{ p_{c'}(x| \\theta_1)}{ p_c(x| \\theta_0)} \\right]^{-1} \\\\\n", "%&=& \\sum_c \\left[ \\sum_{c'} \\frac{ w_{c'}(\\theta_1)}{w_c(\\theta_0)} \\frac{ p_{c'}(s_{c,c',\\theta_0, \\theta_1}| \\theta_1)}{ p_c(s_{c,c',\\theta_0, \\theta_1}| \\theta_0)} \\right]^{-1} \n", "\\end{eqnarray}\n", "\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def altRatio(x):\n", " sum = 0.\n", " for i,w in enumerate(w0):\n", " if(w==0):\n", " continue\n", " innerSum = 0.\n", " for j,wp in enumerate(w1):\n", " innerSum+= wp/w*fs[j](x)/fs[i](x)\n", " sum+=1./innerSum\n", " return sum\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Visualization of the pair-wise comparisons" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(xarray,fs[0](xarray)/fs[1](xarray), c='r')\n", "plt.plot(xarray,fs[0](xarray)/fs[2](xarray), c='orange')\n", "plt.plot(xarray,fs[1](xarray)/fs[2](xarray), c='y')\n", "plt.xlabel('x')\n", "plt.ylabel('$f_i(x)/f_j(x)$')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Comparison of the original and decomposed ratio\n", "\n", "*It works!*" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(xarray,F0(xarray)/F1(xarray))\n", "plt.plot(xarray,altRatio(xarray), ls='--', c='r', lw=2)\n", "plt.xlabel('x')\n", "plt.ylabel('$F_0(x)/F_1(x)$')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Going further\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "So far what we showed was a numerical example of a simple re-writing of the target likelihood ratio.\n", "When $x$ is high-dimensional we usually can't evaluate $p_c(x|\\theta)$. \n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "However, we can use Theorem 1 from [arxiv:1506.02169]( http://arxiv.org/abs/1506.02169) to relate the high-dimensional likelihood ratio into an equivalent calibrated likelihood ratio based on the univariate density of the corresponding classifier, denoted $s_{c,c',\\theta_0, \\theta_1}$. \n", "\n", "\\begin{eqnarray}\n", "\\frac{p(x|\\theta_0)}{p(x|\\theta_1)} & =& \\frac{\\sum_c w_c(\\theta_0) p_c(x| \\theta_0)}{\\sum_{c'} w_{c'}(\\theta_1) p_{c'}(x| \\theta_1)} \n", "\\\\\n", "&=& \\sum_c \\left[ \\sum_{c'} \\frac{ w_{c'}(\\theta_1)}{w_c(\\theta_0)} \\frac{ p_{c'}(x| \\theta_1)}{ p_c(x| \\theta_0)} \\right]^{-1} \\\\\n", "&=& \\sum_c \\left[ \\sum_{c'} \\frac{ w_{c'}(\\theta_1)}{w_c(\\theta_0)} \\frac{ p_{c'}(s_{c,c',\\theta_0, \\theta_1}| \\theta_1)}{ p_c(s_{c,c',\\theta_0, \\theta_1}| \\theta_0)} \\right]^{-1} \n", "\\end{eqnarray}\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Technical notes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These slides were made with IPython3 and Project Jupyter's nbconvert. \n", "The notebook is [here](https://github.com/cranmer/parametrized-learning/blob/master/DecomposingTestsOfMixtureModels.ipynb).\n", "\n", "Local development was based on\n", "`ipython nbconvert --to slides DecomposingTestsOfMixtureModels.ipynb --post serve`\n", "\n", "Once I was happy, \n", "` ipython nbconvert --to slides DecomposingTestsOfMixtureModels.ipynb --reveal-prefix https://cdn.jsdelivr.net/reveal.js/2.6.2`\n", "\n", "Double check with\n", "`python -m SimpleHTTPServer 8000`\n", "\n", "and then I put the resulting ` DecomposingTestsOfMixtureModels.slides.html` on my web server.\n", "\n", "Note, you can also point nbviewer directly to the notebook and [view them as slides](http://nbviewer.ipython.org/format/slides/github/cranmer/parametrized-learning/tree/master/DecomposingTestsOfMixtureModels.ipynb#/)" ] } ], "metadata": { "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 }