Skip to content

Instantly share code, notes, and snippets.

@tatsy
Last active January 8, 2022 06:17
Show Gist options
  • Save tatsy/48a3f207379e6f5e4bfde91c41144044 to your computer and use it in GitHub Desktop.
Save tatsy/48a3f207379e6f5e4bfde91c41144044 to your computer and use it in GitHub Desktop.
Gaussian process regression
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import scipy as sp\n",
"import scipy.optimize\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# number of samples\n",
"n = 64\n",
"\n",
"# range\n",
"x_min = 0.0\n",
"x_max = 5.0\n",
"\n",
"# hyper parameters\n",
"alpha = 0.2\n",
"beta = 0.2\n",
"\n",
"# real beta for noisy observation (unknown)\n",
"b_real = 4.0"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def kernel_func(x, y):\n",
" theta0 = 1.0\n",
" theta1 = 16.0\n",
" theta2 = 1.0\n",
" theta3 = 4.0\n",
" return theta0 * np.exp(-0.5 * theta1 * (x - y)**2) + theta2 + theta3 * x * y"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"def target_func(x):\n",
" return x + np.sin(2.0 * np.pi * x)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"x_real = np.linspace(x_min, x_max, 1000)\n",
"t_real = target_func(x_real)\n",
"\n",
"x_data = np.random.uniform(x_min, x_max, size=n)\n",
"t_data = target_func(x_data) + np.random.multivariate_normal(np.zeros(n), np.eye(n) / b_real)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Exp. 1: simple regression"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"# Compute covariance\n",
"C = kernel_func(x_data[None, :], x_data[:, None]) / alpha + np.eye(n) / beta"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"# Prediction\n",
"k = kernel_func(x_real[None, :], x_data[:, None]) / alpha\n",
"inv_C = np.linalg.inv(C)\n",
"t_mean = np.dot(k.T, np.dot(inv_C, t_data))\n",
"t_var = kernel_func(x_real, x_real) / alpha - np.sum(k * np.dot(inv_C, k), axis=0)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Plot\n",
"fig = plt.figure(figsize=(8, 6))\n",
"\n",
"ax = fig.add_subplot(111)\n",
"ax.fill_between(x_real, t_mean - t_var, t_mean + t_var, color='pink')\n",
"ax.plot(x_real, t_mean, color='tab:red', label='pred')\n",
"ax.scatter(x_data, t_data, color='tab:blue', label='samples')\n",
"ax.plot(x_real, t_real, color='tab:blue', linestyle='--', label='real')\n",
"\n",
"ax.set_xlabel('x')\n",
"ax.set_ylabel('t')\n",
"ax.set_title('simple regression')\n",
"ax.legend()\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Exp. 2: Optimize hyper-parameters"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"def objfun(theta, y, x):\n",
" \"\"\"objective for optimization (negative log-likelihood)\"\"\"\n",
" n = y.shape[0]\n",
" a = theta[0]\n",
" b = theta[1]\n",
" C = kernel_func(x[None, :], x[:, None]) / a + np.eye(n) / b\n",
" _, logdetC = np.linalg.slogdet(C)\n",
" return 0.5 * logdetC + 0.5 * np.dot(y, np.linalg.solve(C, y))"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"def objfun_grad(theta, y, x):\n",
" \"\"\"gradient of objective\"\"\"\n",
" n = y.shape[0]\n",
" a = theta[0]\n",
" b = theta[1]\n",
" K = kernel_func(x[None, :], x[:, None])\n",
" C = K / a + np.eye(n) / b\n",
" dCda = -K / (a * a + 1.0e-12)\n",
" dCdb = -np.eye(n) / (b * b + 1.0e-12)\n",
" invC = np.linalg.inv(C)\n",
" dICda = -np.dot(invC, np.dot(dCda, invC))\n",
" dICdb = -np.dot(invC, np.dot(dCdb, invC))\n",
" grad_a = 0.5 * np.trace(np.dot(invC, dCda)) + 0.5 * np.dot(y, np.dot(dICda, y))\n",
" grad_b = 0.5 * np.trace(np.dot(invC, dCdb)) + 0.5 * np.dot(y, np.dot(dICdb, y))\n",
" return (grad_a, grad_b)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"alpha = 1.281, beta = 4.797\n"
]
}
],
"source": [
"# Optimization\n",
"a0 = alpha\n",
"b0 = beta\n",
"theta = (a0, b0)\n",
"res = sp.optimize.minimize(objfun, theta, jac=objfun_grad, args=(t_data, x_data), method='cg')\n",
"\n",
"# Result\n",
"a_best, b_best = res['x']\n",
"print('alpha = %.3f, beta = %.3f' % (a_best, b_best))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"# Prediction\n",
"C_best = kernel_func(x_data[None, :], x_data[:, None]) / a_best + np.eye(n) / b_best\n",
"k_best = kernel_func(x_real[None, :], x_data[:, None]) / a_best\n",
"inv_C_best = np.linalg.inv(C_best)\n",
"t_mean_best = np.dot(k_best.T, np.dot(inv_C_best, t_data))\n",
"t_var_best = kernel_func(x_real, x_real) / a_best - np.sum(k_best * np.dot(inv_C_best, k_best), axis=0)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(8, 6))\n",
"ax = fig.add_subplot(111)\n",
"\n",
"ax.fill_between(x_real, t_mean_best - t_var_best, t_mean_best + t_var_best, color='pink')\n",
"ax.plot(x_real, t_mean_best, color='tab:red', label='pred')\n",
"ax.scatter(x_data, t_data, color='tab:blue', label='samples')\n",
"ax.plot(x_real, t_real, color='tab:blue', linestyle='--', label='real')\n",
"\n",
"ax.set_xlabel('x')\n",
"ax.set_ylabel('t')\n",
"ax.set_title('hyper-parameter optimization')\n",
"ax.legend()\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"interpreter": {
"hash": "02d3c230780613a338b307efe1c8520401457e802ba0c889aabda605c4f627d4"
},
"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.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment