{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Gaussian Processes (GP)\n", "\n", "In this notebook we will learn how to use GPy library to deal with gaussian processes. This library provide quite simple and inuitive interfaces for training and inference, and we will try to get familiar with them in a few tasks. For more details about Gaussian Processes see basic_gp.ipynb notebook (with 1-D and 2-D examples).\n", "\n", "Additional implementation of GPR models can be found in \n", "* Scikit-Learn sklearn.gaussian_process library\n", "* Matlab: gaussian-process-regression-models\n", "\n", "Further reading: see [Gaussian Processes for Machine Learning](http://www.gaussianprocess.org/gpml/chapters/) by Carl Edward Rasmussen and Christopher K. I. Williams.\n", "\n", "### Setup:\n", "\n", "Install and import the necessary libraries." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "try:\n", " import google.colab\n", " IN_COLAB = True\n", "except:\n", " IN_COLAB = False\n", "if IN_COLAB:\n", " ! pip install GPy" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import GPy\n", "import matplotlib.pyplot as plt\n", "import time\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Gaussian processes: GPy (documentation)\n", "\n", "We will start with a simple regression problem, for which we will try to fit a Gaussian Process with RBF kernel.\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def generate_points(n=25, noise_variance=0.0036):\n", " #np.random.seed(777)\n", " X = np.random.uniform(-3., 3., (n, 1))\n", " y = np.sin(X) + np.random.randn(n, 1) * noise_variance**0.5\n", " return X, y\n", " \n", "def generate_noise(n=25, noise_variance=0.0036):\n", " #np.random.seed(777)\n", " X = np.random.uniform(-3., 3., (n, 1))\n", " y = np.random.randn(n, 1) * noise_variance**0.5\n", " return X, y" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Create data points\n", "X, y = generate_points()\n", "plt.plot(X, y, '.')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To fit a Gaussian Process, we will need to define a kernel. For Gaussian (RBF) kernel we can use `GPy.kern.RBF` function.\n", "\n", "Let's create a RBF kernel, with variance 0.1 and length-scale parameter 1 for 1D samples:\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "kernel = GPy.kern.RBF(input_dim=1, variance=0.1, lengthscale=1.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can fit GP into generated data using the `GPy.models.GPRegression` class." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "model = GPy.models.GPRegression(X,y,kernel)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can plot the model predictions:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "model.plot()\n", "plt.rcParams['figure.autolayout']\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see that the model dodn't fit the data quite well. Is because we didn't fit the model. You can see the current parameters below:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "

\n", "Model: GP regression
\n", "Objective: 27.181865497789232
\n", "Number of Parameters: 3
\n", "Number of Optimization Parameters: 3
\n", "Updates: True
\n", "

\n", "\n", "\n", "\n", "\n", "\n", "
GP_regression. valueconstraintspriors
rbf.variance 0.1 +ve
rbf.lengthscale 1.0 +ve
Gaussian_noise.variance 1.0 +ve
" ], "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's optimize the length-scale, variance and noise component of the model:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "fitted parameters: length = 1.83, variance = 1.15, noise = 0.00\n" ] } ], "source": [ "model.optimize_restarts(num_restarts=20, verbose=False) #alternative option: model.optimize()\n", "length = model.rbf.lengthscale.data[0]\n", "variance = model.rbf.variance.data[0]\n", "noise = model.Gaussian_noise.variance.data[0]\n", "print('fitted parameters: length = %2.2f, variance = %2.2f, noise = %2.2f'% (length,variance,noise))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "See how the model parameters are changed:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "

\n", "Model: GP regression
\n", "Objective: -22.97711674165552
\n", "Number of Parameters: 3
\n", "Number of Optimization Parameters: 3
\n", "Updates: True
\n", "

\n", "\n", "\n", "\n", "\n", "\n", "
GP_regression. valueconstraintspriors
rbf.variance 1.1532550301054725 +ve
rbf.lengthscale 1.8316770548092471 +ve
Gaussian_noise.variance0.002383215091921367 +ve
" ], "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's draw the predictions. The output of the `model.predict(x)` function will be the mean and variance of the GPR fit.\n", "\n", "To get predictions for 95% Confedence Level (CL) you should use\n", "```python\n", "mu, var = model.predict(x)\n", "mu_max = mu + 1.96*sqrt(var)\n", "mu_min = mu - 1.96*sqrt(var)\n", "```\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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EkIIIYQtSPBVhJQUSK5wp08KIYSoLtzd3WXWq4qS4KsYMvslhBBCCGuT4KsYku9LCCGEENYmwVcxzp8v7xEIIYQQoqqR4KsYqamQlFTeoxBCCCFEVSJ5vkoQFwcNG5b3KIQQQphqwYKyb+/TTz/lm2++QVVVZsyYwXPPPXf72QV88803uLm5AfDuu+/y0EMPsWfPHmbPno2joyMrV66kffv23Lx5kwkTJrBlyxaTs9Ob45dffuH111+nSZMmvP/++3z33Xd89tlnBeq5u7sTHh5OwzL+IfjUU0/x/PPP06VLlyLr/Prrr3Ts2LHYOtawbNkywsPD+eKLL6zargRfJTh/HgJNytohhBCiOoqOjuabb77hwIEDODg4MHToUIYPH06HDh0A+Mc//sELL7ygeebDDz9kzZo1xMXFsXDhQj788EPeeustXn75ZZsGXgBLly7lq6++on///gAEVrAfckuWLCmxzq+//sqIESNKFXzl5eVRo0bFCHtk2bEE8sajEEKI4pw4cYKePXvi4uJCjRo1CAoKYt26dcU+Y29vT2ZmJhkZGdjb23P27FkSEhIICgoq8pmDBw/Su3dvfH196d69O6mpqWRlZTFt2jS8vb3x9/cnNDQUMMzYjBs3jqFDh9KhQwf+9a9/AfDmm2+ye/duZs2axYsvvsj27dsZMWIEAMnJyQwePBh/f3+efvpp7k3C/v3339O9e3f8/Px4+umn0ev1gOFQ8VdeeQVfX1969uzJlStXALhy5Qpjx47F19cXX19f9u7dW2w79woODuZOkvXC2t+7dy8bNmzgxRdfxM/Pj7Nnz3L27FmGDh1K165d6du3LydPngTgiSee4Pnnn6d///68+OKLuLu7c/PmTWNf7du358qVK/z222/06NEDf39/Bg0aZPw8bEWCrxKkpkq+LyGEEEXz8vJi586dJCcnk5GRwaZNm4iPjzfe/+KLL/Dx8WH69OncuH1w8EsvvcTMmTP55JNPmDt3Lq+88gpvvfVWkX3k5OQwYcIEPv30Uw4fPkxISAjOzs58+eWXABw9epSVK1fy+OOPG8+UjIqKYtWqVRw9epRVq1YRHx/P66+/TmBgID/88APvv/++po833niDPn36EBkZyahRo7hw4QJgCC5XrVrFnj17iIqKws7OzngeZHp6Oj179uTw4cP069ePb775BoBnn32WoKAg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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x = np.atleast_2d(np.linspace(-4, 4, 200)).T\n", "#model.plot(plot_density=False) # set density to True for density plot\n", "y_pred, variance = model.predict(x)\n", "sigma = np.sqrt(variance)\n", "fig=plt.figure(figsize=(10,10))\n", "plt.plot(x, y_pred, 'k', linewidth=4, label='mean predicted')\n", "plt.fill(np.concatenate([x, x[::-1]]),\n", " np.concatenate([y_pred - 1.9600 * sigma,\n", " (y_pred + 1.9600 * sigma)[::-1]]),\n", " alpha=.5, fc='b', ec='None', label='95% confidence interval') \n", "plt.plot(x,np.sin(x),'k:',linewidth=4, label=r'$f(x) = \\sin(x)$') \n", "plt.plot(X, y, 'r.', markersize=10, label='Sampled data')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we can see, the process generates outputs just right. Let's see if GP can figure out itself when we try to fit it into noise or signal.\n", "\n", "Generate two datasets: sinusoid wihout noise and samples from gaussian noise. Optimize kernel parameters and submit optimal values of noise component. Generate data only using ```generate_points(n, noise_variance)``` and ```generate_noise(n, noise_variance)``` function!" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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7PPeD72bUQuFvyVErmvYDBo0SCNHjmwLJzPTypUrJUkjR44knAB0i4BCTixZsqRTy6o1pAgnAD3hJgnkDJ3NAPqCFhSAovby7rd04GBGffYZKR06SMePParXbV599VVdddVVqqmp0bBhwzR+/HitWrVKH/zgB/t0rN/+9re65JJLNGTIEN1///2aN2+efvGLXxy23RlnnKFly5apqqqqT/uPGwEFoKgdONik0tJh0e0vzR3K7q5zzjlHF154oe68805JUl1dnf7617/2OaDWrFmjRYsW6aKLLpKkbsMpn3GJLwYDsQAagPzwyCOPaMiQIbrkkkvanps8ebI+/OEP6+qrr9akSZNUUVGhtWvXSpIeffRRnXHGGfrc5z6nD33oQzr//PPl7rr99tt111136YYbbtD555+vHTt2aNKkSZKaZ6o477zzVFlZqXPPPVf797cP73jooYd02mmnaerUqfr85z+vhoYGSdL48eP1rW99S1OnTlVFRYWeffZZSVJDQ4MuuugiVVRUqLKyUnfffXev+4kSAZVjS5Ys0fz58zstgDZ//nwtWbIk3sIA5MTWrVs1bdq0w56/5557VFdXp82bN2v9+vW6+uqr9corr0iSnnrqKa1atUrbtm3TSy+9pA0bNuirX/2qZs+erZtvvllr1qzptK/bbrtN73nPe7RlyxYtXrxYmzZtkiS99tpruvHGG7V+/Xo9+eSTqqqq0ooVK9peN2bMGD355JOaO3euli1bJklaunSpjjrqKD399NPasmWLZs6cmXY/USGgcsjdtXfvXlVXV7eFVPN4oGrt3buXlhRQxB5//HElEgmVlJTove99rz760Y+qpqZGkjRjxgyVl5dr0KBBmjx5snbs2NHrvh577DFdcMEFkqTKykpVVlZKkjZu3Kht27bp9NNP1+TJk/Wzn/1MO3fubHvdZz/7WUnStGnT2o6xfv16XXbZZW3bjBo1Ku1+opJVH5SZTZb0I0mlkholXeruf4iisELUcfxPdXW1qqurJanT+CAAhW3ixInd9hX19gV12LD2PrKSkhI1NjamPU53nyfurrPOOqvTnJjdHafjMbqbezDdfqKSbQvqJknXu/tkSd9seYxedAypVoQTUDxmzpypd955Rz/+8Y/bnqupqdGoUaO0du1aHTp0SHv27NFjjz2mGTNm9OsYH/nIR9ou+23dulVb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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", "

\n", "Model: GP regression
\n", "Objective: 67.68039333633946
\n", "Number of Parameters: 3
\n", "Number of Optimization Parameters: 3
\n", "Updates: True
\n", "

\n", "\n", "\n", "\n", "\n", "\n", "
GP_regression. valueconstraintspriors
rbf.variance 3.2500211097792483e-06 +ve
rbf.lengthscale 1.2112238776170368 +ve
Gaussian_noise.variance 13.151921358600587 +ve
" ], "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X, y = generate_noise(noise_variance=10)\n", "kernel = GPy.kern.RBF(input_dim=1, variance=1, lengthscale=1.)\n", "noise = GPy.models.GPRegression(X,y,kernel)\n", "noise.optimize()\n", "noise.plot(plot_density=False) # set density to True for density plot\n", "plt.show()\n", "noise" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", "

\n", "Model: GP regression
\n", "Objective: -138.738865617749
\n", "Number of Parameters: 3
\n", "Number of Optimization Parameters: 3
\n", "Updates: True
\n", "

\n", "\n", "\n", "\n", "\n", "\n", "
GP_regression. valueconstraintspriors
rbf.variance 5.2585734718534844 +ve
rbf.lengthscale 2.733975893125913 +ve
Gaussian_noise.variance5.561988835010613e-21 +ve
" ], "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X, y = generate_points(noise_variance=0)\n", "kernel = GPy.kern.RBF(input_dim=1, variance=0.1, lengthscale=1.)\n", "signal = GPy.models.GPRegression(X,y,kernel)\n", "signal.optimize()\n", "signal.plot(plot_density=False) # set density to True for density plot\n", "plt.show()\n", "signal" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "## Sparse GP\n", "Now let's consider the speed of GP. We will generate a dataset of 3000 points and measure the time that is consumed for prediction of mean and variance for each point. We will then try to use inducing inputs and find the optimal number of points according to quality-time tradeoff.\n", "\n", "For the sparse model with inducing points, you should use ```GPy.models.SparseGPRegression``` class. You can set the number of inducing inputs with parameter ```num_inducing``` and optimize their positions and values with ```.optimize()``` call." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "scrolled": true }, "outputs": [], "source": [ "X, y = generate_points(1000)\n", "ind = np.arange(1000)[:20]\n", "factor_data = 1000 / 20" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "kernel = GPy.kern.RBF(input_dim=1, variance=0.1, lengthscale=1.)\n", "start = time.time()\n", "model = GPy.models.GPRegression(X,y,kernel)\n", "model.optimize()\n", "time_gp = time.time()-start\n", "model.plot()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "kernel = GPy.kern.RBF(input_dim=1, variance=0.1, lengthscale=1.)\n", "start = time.time()\n", "model = GPy.models.GPRegression(X[ind],y[ind],kernel)\n", "model.optimize()\n", "time_sgp = time.time()-start\n", "model.plot()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "reduce data by factor of 50, improve evaluation time by: time_gp / time_sgp = 168.4\n" ] } ], "source": [ "#improvement in time is:\n", "print('reduce data by factor of 50, improve evaluation time by: time_gp / time_sgp = %2.1f'%(time_gp / time_sgp))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we can see, the interpolation errors are quite small in both cases, while the execution time for fitting the Gaussian Process decreased.\n", "Please note that the exact inference of data of size $n$ is $\\mathcal{O}(n^3)$" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "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.8" } }, "nbformat": 4, "nbformat_minor": 2 }