{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Ordinal Regression with GPflow\n", "\n", "#### Clement Tiennot, Camille Tiennot 2016\n", "#### edits by James Hensman 2017" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import gpflow\n", "import numpy as np\n", "import matplotlib\n", "%matplotlib inline\n", "matplotlib.rcParams['figure.figsize'] = (12, 6)\n", "plt = matplotlib.pyplot" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#make a one dimensional ordinal regression problem\n", "np.random.seed(1)\n", "num_data = 20\n", "X = np.random.rand(num_data, 1)\n", "K = np.exp(-0.5*np.square(X - X.T)/0.01) + np.eye(num_data)*1e-6\n", "f = np.dot(np.linalg.cholesky(K), np.random.randn(num_data, 1))\n", "\n", "plt.plot(X, f, '.')\n", "plt.ylabel('latent function value')\n", "\n", "Y = np.round((f + f.min())*3)\n", "Y = Y - Y.min()\n", "Y = np.asarray(Y, np.float64)\n", "\n", "\n", "plt.twinx()\n", "plt.plot(X, Y, 'kx', mew=1.5)\n", "plt.ylabel('observed data value')" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Optimization terminated with:\n", " Message: b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'\n", " Objective function value: 23.361270\n", " Number of iterations: 211\n", " Number of functions evaluations: 238\n" ] } ], "source": [ "# construct ordinal likelihood\n", "bin_edges = np.array(np.arange(np.unique(Y).size + 1), dtype=float)\n", "bin_edges = bin_edges - bin_edges.mean()\n", "likelihood=gpflow.likelihoods.Ordinal(bin_edges)\n", "\n", "# build a model with this likelihood\n", "m = gpflow.models.VGP(X, Y, \n", " kern=gpflow.kernels.Matern32(1),\n", " likelihood=likelihood)\n", "\n", "#fit the model\n", "gpflow.train.ScipyOptimizer().minimize(m)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\ngg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# here we'll plot the expected value of Y +- 2 std deviations, as if the distribution were Gaussian\n", "plt.figure(figsize=(14, 6))\n", "Xtest = np.linspace(m.X.read_value().min(), m.X.read_value().max(), 100).reshape(-1, 1)\n", "mu, var = m.predict_y(Xtest)\n", "line, = plt.plot(Xtest, mu, lw=2)\n", "col=line.get_color()\n", "plt.plot(Xtest, mu+2*np.sqrt(var), '--', lw=2, color=col)\n", "plt.plot(Xtest, mu-2*np.sqrt(var), '--', lw=2, color=col)\n", "plt.plot(m.X.read_value(), m.Y.read_value(), 'kx', mew=2)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# to see the predictive density, try predicting every possible value.\n", "def pred_density(m):\n", " Xtest = np.linspace(m.X.read_value().min(), m.X.read_value().max(), 100).reshape(-1, 1)\n", " ys = np.arange(m.Y.read_value().max()+1)\n", " densities = []\n", " for y in ys:\n", " Ytest = np.ones_like(Xtest) * y\n", " densities.append(m.predict_density(Xtest, Ytest))\n", " return np.hstack(densities).T" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "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.imshow(np.exp(pred_density(m)), interpolation='nearest',\n", " extent=[m.X.read_value().min(), m.X.read_value().max(), -0.5, m.Y.read_value().max()+0.5],\n", " origin='lower', aspect='auto', cmap=plt.cm.viridis)\n", "plt.colorbar()\n", "plt.plot(X, Y, 'kx', mew=2, scalex=False, scaley=False)" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 }