{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Example for Gaussian Process Regression (GPR)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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8skn88UXXzBlypR29/3vf/8LENYacCj79u3jnXfe4cILLyQ7O5uysjL+/ve/c+KJJ7J9+/Y2W1Q64vF4mDNnDm63m5tvvpmkpCSKi4t59913qa2tJSoqim3btvGzn/2McePGcd9992E0Gtm7d+8hA8OPPvqIffv2ceWVV5KUlMS2bdt45pln2LZtG//73/9QFCWs/EUXXUR2djbLli1j48aNPPfccyQkJPCnP/3psK6pWXNw0PzeA9i1axeXXnop1113HQsWLGD48OGUlZUxffp0GhoauOWWW4iNjWXFihX8/Oc/58033+Tcc88FwO/387Of/Yw1a9ZwySWXcOutt1JXV8dHH33E1q1bGTx4MADXXXcdL774IldeeSW33HILubm5/PWvf2XTpk2sW7cOvV5PeXk5p512GvHx8dx1113Y7Xby8vLCAvWPPvqISy+9lFNOOSX0HOzYsYN169Zx6623Hvbz4XA4qKmpCdUTggHez3/+c7788kuuvfZaRo4cyZYtW3j00UfZvXs377zzTqjs/Pnz+de//sUvf/lLjj/+eD777DPOPPPMds934YUXMnToUB544AFUVQXgD3/4A3fffTcXXXQR11xzDRUVFTzxxBP89Kc/ZdOmTdjt9m59T3788cecfvrpDBo0iHvuuYfGxkaeeOIJZsyYwcaNG0NfuM2O9D3Z/Pofd9xxLFu2jLKyMh5//HHWrVsXus5mfr+fOXPmMHXqVB566CE+/vhjHn74YQYPHswNN9zQ7jk68x7qyJFc22OPPcZLL73E22+/zVNPPYXFYmHcuHGdOt/Bbr75ZqKjo1m6dCl5eXk89thj3HTTTbz++uuhMi+++CJXXXUVo0ePZvHixdjtdjZt2sSqVau47LLL+O1vf4vD4aCoqIhHH30UAIvF0u45e+r173Gq6HeWL1+uAm3ejEZjWNktW7aoBoNBveaaa9Samho1NTVVnTx5sur1ekNlfD6f6na7w/arqalRExMT1auuuiq0LTc3VwXU+Ph4tba2NrR98eLFKqCOHz8+7LiXXnqpajAY1KamptC2zMxMFVDfeuut0DaHw6EmJyerEydODG379NNPVUD99NNPVVVV1UAgoA4dOlSdM2eOGggEQuUaGhrU7Oxs9dRTT+3wOZs4caJqt9tbbXe5XGpFRUXo5nA4Qo81NTWpfr8/rHxubq5qNBrV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BF555ZU2H2/+clQUhTfffJP//e9//Pe//+XDDz/kqquu4uGHH+Z///sfFouFhIQENm/ezIcffsgHH3zABx98wPLly5k3bx4rVqw4ZF3S0tJCz8kZZ5xBXFwcN910EyeddBLnnXdeqL5jx47lkUceafMYB//oOBwHP9eBQABFUfjggw/afK1b/q1013vycHXn58ehznEonXkPHcl5u/LaoO3PnJ48/9HoD3UECZoGvEAgwPz587HZbNx222088MADXHDBBaEPcoA333yTQYMGsXLlyrAAoHnmRlfbu3cvqqqGnWv37t0ArQYHNmseUGuz2Tr1hX2wn/3sZ7z22mu88sor3HHHHZ3a58033+Skk07i+eefD9teW1tLXFxc6H7zL6La2tqwcgf/ym02duxYxo4dy+9+9zu++uorZsyYwdNPP83vf/97IDgb7ZRTTuGUU07hkUce4YEHHuC3v/0tn376aZvXXlNTw5o1a7j33ntZsmRJaHtzoNyXZGZmsmvXrlbbd+7cGXocgq/3119/jdfrbTf3y+DBg/n444+ZMWNGpwK0448/nuOPP54//OEP/POf/+Tyyy/ntdde45prrgHAYDBw1llncdZZZxEIBLjxxhv5+9//zt13333YOXKuu+46Hn30UX73u99x7rnnoigKgwcP5vvvv+eUU07psMsjMzOTQCBAbm4uQ4cODW3fu3dvp88/ePBgVFUlOzs79KOgI139nmx+Hdt7rePi4rokLULL8zR3czbbtWtX6PGucqj3UE+Jjo5u9Xnj8XgoKSk5ouM1f75u3bq1w/d6Z7vqeur17w3SPTfAPfLII3z11Vc888wz3H///UyfPp0bbrghbNZdc4TfMqL/+uuvWb9+fbfUaf/+/WHjX5xOJy+99BITJkwgKSmpzX0mTZrE4MGDeeihh9rsZmtr+mxLF110EaNGjeL+++9vN2P6wb9otFptq21vvPFGqzFazR84n3/+eWib3+9vlb3X6XTi8/nCto0dOxaNRhNq5j84RQMQallrryugrdcP6JOZe8844ww2bNgQ9t6qr6/nmWeeISsrK9R1fP7551NZWclf//rXVsdovs6LLroIv9/P/fff36qMz+cLfanU1NS0em4Ofk4PTs2g0WhCM5WOJNO5Tqfj9ttvZ8eOHfz73/8O1be4uJhnn322VfnGxsZQd0XzOLC//e1vYWWeeOKJTp//vPPOQ6vVcu+997a6dlVVQ9fbXe/J5ORkJkyYwIoVK8K+3Ldu3crq1as544wzOn0tHZk8eTIJCQk8/fTTYXX54IMP2LFjR4czDg9HZ95DPWnw4MFhnzcAzzzzzBHnmTvttNOwWq0sW7aMpqamsMdaXndkZGSnhib01OvfG6SlqR/74IMPQr/QW5o+fTqDBg1ix44d3H333cyfP5+zzjoLCE4rnTBhAjfeeCP/+te/gGArzMqVKzn33HM588wzyc3N5emnn2bUqFFtBihHa9iwYVx99dV88803JCYm8sILL1BWVsby5cvb3Uej0fDcc89x+umnM3r0aK688kpSU1MpLi7m008/xWazhdIKtEWv1/P2228zZ84cTjjhBM4777xQ/pDi4mL+85//UFBQEPYh+7Of/Yz77ruPK6+8kunTp7NlyxZeeeWVVmN3Ro8ezfHHH8/ixYuprq4mJiaG1157rdWX0SeffMJNN93EhRdeyLBhw/D5fPzjH/9Aq9Vy/vnnA8Es759//jlnnnkmmZmZlJeX87e//Y20tLSwwdMt2Ww2fvrTn/Lggw/i9XpJTU1l9erV5ObmHvK16Gl33XUXr776Kqeffjq33HILMTExrFixgtzcXN56663QGKB58+bx0ksvsXDhQjZs2MDMmTOpr6/n448/5sYbb+Tss8/mxBNP5LrrrmPZsmVs3ryZ0047Db1ez549e3jjjTd4/PHHueCCC1ixYgV/+9vfOPfccxk8eDB1dXU8++yz2Gy20If3NddcQ3V1NSeffDJpaWnk5+fzxBNPMGHChNB4q8M1f/58lixZwp/+9CfOOeccfvnLX/Kvf/2L66+/nk8//ZQZM2bg9/vZuXMn//rXv0I5rSZNmsT555/PY489RlVVVSjlQHNrbGd+7Q8ePJjf//73LF68mLy8PM455xysViu5ubm8/fbbXHvttSxatKjb3pMQ7Eo//fTTmTZtGldffXVoynlUVFSXrc+m1+v505/+xJVXXsmJJ57IpZdeGko5kJWVxa9//esuOU9n3kM96ZprruH666/n/PPP59RTT+X777/nww8/DGsBPxw2m41HH32Ua665huOOOy6U8+v777+noaEh1EU9adIkXn/9dRYuXMhxxx2HxWIJfbccrCde/17Rw7P1RBfoKOUAB6Z9+nw+9bjjjlPT0tLC0gOo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c0P3KysrcTgcNDQ0SEAlBMHA6IILoKgofHtxcXB7dwROjz/+ONOmTWPBggWUlJRQUlJCenp66PG77rqLP/7xj+zYsYNx48bhcrk444wzWLNmDZs2bWLu3LmcddZZFBQUdHiee++9l4suuogffviBM844g8svv5zq6up2yzc0NPDQQw/xj3/8g88//5yCggIWLVoUevxPf/oTr7zyCsuXL2fdunU4nc5OfZ82NDTwhz/8gZdeeol169ZRW1vLJZdcEnr87bff5tZbb+X2229n69atXHfddVx55ZV8+umnHR73t7/9LYsWLWLz5s0MGzaMSy+9FJ/Px/Tp03nsscew2Wyh53fRokV8++233HLLLdx3333s2rWLVatW8dOf/vSQ9T8qaj/0/vvvq7/97W/VlStXqoD69ttvd1h+3759qtlsVhcuXKhu375dfeKJJ1StVquuWrUqVOa1115TDQaD+sILL6jbtm1TFyxYoNrtdrWsrKzT9XI4HCqgOhyOI700McC89ZaqpqWpKvx4S0sLbldVVfX7/arT6VTLysrU/Px8NScn56hvpaWlalNTU+9euBBHqLGxUd2+fbva2Nh42Pv6fK3/3lreFEVV09OD5braiSeeqN56661h2z799FMVUN95551D7j969Gj1iSeeCN3PzMxUH3300dB9QP3d734Xuu9yuVRA/eCDD8LOVVNTo6qqqi5fvlwF1L1794b2efLJJ9XExMTQ/cTERPXPf/5z6L7P51MzMjLUs88+u916Nh/3f//7X2jbjh07VED9+uuvVVVV1enTp6sLFiwI2+/CCy9UzzjjjLDraf7uzs3NVQH1ueeeCz2+bds2FVB37NgROm9UVFTYMd966y3VZrOpTqez3fq21NF7q7Pf3/2ypen000/n97//Peeee26nyj/99NNkZ2fz8MMPM3LkSG666SYuuOACHn300VCZRx55hAULFnDllVcyatQonn76acxmMy+88EJ3XYYY4Nr/xatywQUqLz5TTuG331L79de4v/8ecnLQ7t+PtrwcTXU1Sl0dSmMjeL3Bz/xOqq+vp7i4mJKSEpqamrr4qoTou774ovXfW0uqCoWFwXI9afLkyWH3XS4XixYtYuTIkdjtdiwWCzt27DhkS9O4ceNC/4+MjMRms4WWBmmL2Wxm8ODBofvJycmh8g6Hg7KyMqZMmRJ6XKvV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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "from matplotlib import pyplot as plt\n", "from ichor.core.models.kernels.distance import Distance\n", "\n", "# example Gaussian process regression notebook on sin function\n", "# References:\n", "# 1. Williams, C. K., & Rasmussen, C. E. (2006). Gaussian processes for machine learning\n", "# (Vol. 2, No. 3, p. 4). Cambridge, MA: MIT press.\n", "# 2. Gramacy, Robert B. Surrogates: Gaussian process modeling, design, and optimization for the applied sciences.\n", "# Chapman and Hall/CRC, 2020\n", "# 3. https://distill.pub/2019/visual-exploration-gaussian-processes/\n", "\n", "def rbf_kernel(a, b, sigma,l):\n", " \"\"\"Definition of RBF kernel with lengthscale and variance.\n", " \n", " :param a: A 1D array containing the values for x\n", " :param b: A 1D array containing the values for x'\n", " :return: The covariance matrix calculated with the RBF kernel,\n", " with covariance between each pair of values in x and x'\n", " calculated.\n", " \"\"\"\n", " dist2 = Distance.squared_euclidean_distance(a, b)\n", "\n", " return sigma**2*np.exp(-dist2/(2*l**2))\n", "\n", "# training inputs\n", "train_x = np.linspace(0, 6, 5).reshape(-1,1)\n", "# training outputs\n", "train_y = np.sin(train_x)\n", "# test inputs\n", "test_x = np.linspace(0, 6, 50).reshape(-1,1)\n", "# true test outputs, these will be used to check how good model predictions are\n", "test_x_true = np.sin(test_x)\n", "\n", "ntrain = train_x.shape[0] # number of training points\n", "\n", "mu = 0.0 # prior GP mean\n", "LENGTHSCALE = 2.0 # lengthscale hyperparameter for the single input dimension\n", "OUTPUTSCALE = 1.0 # outputscale hyperparameter\n", "NOISE = 1e-12 * np.eye(ntrain) # noise to be added to the diagonal of covariance matrix\n", "\n", "# n_train x n_train with noise on diagonal\n", "K = rbf_kernel(train_x, train_x, OUTPUTSCALE, LENGTHSCALE) + NOISE\n", "# ntest x n_train\n", "K_s = rbf_kernel(test_x, train_x, OUTPUTSCALE, LENGTHSCALE)\n", "# n_test x n_test\n", "K_ss = rbf_kernel(test_x, test_x, OUTPUTSCALE, LENGTHSCALE)\n", "\n", "# Cholesky decomposition used on K (train train matrix)\n", "# because it is square symmetric positive semidefinite\n", "L = np.linalg.cholesky(K)\n", "alpha = np.linalg.solve(L.T, np.linalg.solve(L, train_y)) # weights\n", "v = np.linalg.solve(L, K_s.T) # temp vector to calculate variance\n", "\n", "# obtain model predictions of function value and variance at test locations\n", "# see Section 2.3 (Varying the Hyperparameters), Algorithm 2.1 of Rasmussen and Williams (p. 19)\n", "predictions = (mu + np.matmul(K_s, alpha)).flatten()\n", "posterior_covariance = K_ss - np.dot(v.T, v)\n", "var = np.diag(posterior_covariance)\n", "stdv = np.sqrt(var)\n", "\n", "errors = test_x_true.flatten() - predictions\n", "\n", "# 2 sigma confidence interval\n", "# this represents the model uncertainty\n", "plt.gca().fill_between(test_x.flatten(), predictions-2*stdv, predictions+2*stdv, color=\"#dddddd\")\n", "# plot training data as points\n", "plt.scatter(train_x, train_y, color=\"b\", label=\"training points\")\n", "# plot test points as a line\n", "plt.plot(test_x, predictions, color=\"r\", label=\"model fit\", alpha=0.3)\n", "plt.plot(test_x, test_x_true, color=\"g\", label=\"true function\", alpha=0.3)\n", "plt.title(\"Example Gaussian Process Regression on sin function\")\n", "plt.xlabel(\"$x$\")\n", "plt.ylabel(\"$\\sin(x)$\")\n", "plt.legend()\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "ichor_docs", "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.10.12" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }