kjappelbaum/pyepal

View on GitHub
examples/active_learning_example.ipynb

Summary

Maintainability
Test Coverage
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Active learning example"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this example we show PyePAL can be used in conjunction with a \"measure\" function, mimicking a \"real\" active learning case."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "from pyepal import PALSklearn\n",
    "import numpy as np \n",
    "\n",
    "from sklearn.gaussian_process import GaussianProcessRegressor\n",
    "from sklearn.gaussian_process.kernels import RBF"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def binh_korn(x, y):  # pylint:disable=invalid-name\n",
    "    \"\"\"https://en.wikipedia.org/wiki/Test_functions_for_optimization\"\"\"\n",
    "    obj1 = 4 * x ** 2 + 4 * y ** 2\n",
    "    obj2 = (x - 5) ** 2 + (y - 5) ** 2\n",
    "    return -obj1, -obj2\n",
    "\n",
    "def binh_korn_points():\n",
    "    \"\"\"Create a dataset based on the Binh-Korn test function\"\"\"\n",
    "    x = np.linspace(0, 5, 100)  # pylint:disable=invalid-name\n",
    "    y = np.linspace(0, 3, 100)  # pylint:disable=invalid-name\n",
    "    array = np.array([binh_korn(xi, yi) for xi, yi in zip(x, y)])\n",
    "    return np.hstack([x.reshape(-1, 1), y.reshape(-1, 1)]), array"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "x, points = binh_korn_points()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Implementing the \"measure\" function"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In your real life example the `measure` function might be more complex and might involve an experiment or a long simulation. Here, we just return a value from a function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "def measure(index): \n",
    "    \"\"\"Given the index of a point in the design matrix, return the measurement\"\"\"\n",
    "    return points[index, :]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Setting up the epsilon-PAL algorithm"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Our example is two-dimensional. Hence, we will build two Gaussian process models."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [],
   "source": [
    "# the regularization with alpha will make the process a bit slower, i.e., without regularization this model would classify all points with less than 5 iteration\n",
    "model_objective_0 = GaussianProcessRegressor(kernel=RBF(), alpha=1e-5, normalize_y=True, n_restarts_optimizer=10)\n",
    "model_objective_1 = GaussianProcessRegressor(kernel=RBF(), alpha=1e-5, normalize_y=True, n_restarts_optimizer=10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Given these models, and the design matrix `x` we can construct our PAL instance."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " /Users/kevinmaikjablonka/Dropbox (LSMO)/Documents/open_source/PythonPAL/pyepal/pal/validate_inputs.py:117: UserWarning:Only one epsilon value provided,             will automatically expand to use the same value in every dimension\n",
      " /Users/kevinmaikjablonka/Dropbox (LSMO)/Documents/open_source/PythonPAL/pyepal/pal/validate_inputs.py:145: UserWarning:No goals provided, will assume that every dimension should be maximized\n"
     ]
    }
   ],
   "source": [
    "# again, we choose conservative settings: a larger epsilon and a smaller beta_scale should make the code go faster\n",
    "palinstance = PALSklearn(x, [model_objective_0, model_objective_1], 2, epsilon=0.01, beta_scale=1/3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Before we can handover the work to a loop we need to initialize the `palinstance` with some measurement. Often, a diverse set is the best choice and PyePAL provides an utilities to calculate this set (`get_kmeans_samples`, `get_maxmin_samples`). Here, we will use a greedy sampling of the farthest points in design space, initialized with the mean and using the Euclidean distance as distance metric (these are the defaults)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [],
   "source": [
    "from pyepal import get_maxmin_samples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [],
   "source": [
    "indices = get_maxmin_samples(x, 5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [],
   "source": [
    "palinstance.update_train_set(indices, measure(indices))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Running the search"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " /Users/kevinmaikjablonka/Dropbox (LSMO)/Documents/open_source/PythonPAL/pyepal/pal/pal_base.py:345: UserWarning:The mean absolute error in crossvalidation is 6.31,\n",
      "the mean variance is 5.46.\n",
      "Your model might not be predictive and/or overconfident.\n",
      "In the docs, you find hints on how to make GPRs more robust.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "pyepal at iteration 2.         0 Pareto optimal points,         0 discarded points,         100 unclassified points.\n",
      "pyepal at iteration 3.         0 Pareto optimal points,         0 discarded points,         100 unclassified points.\n",
      "pyepal at iteration 4.         6 Pareto optimal points,         0 discarded points,         94 unclassified points.\n",
      "pyepal at iteration 5.         9 Pareto optimal points,         0 discarded points,         91 unclassified points.\n",
      "pyepal at iteration 6.         10 Pareto optimal points,         0 discarded points,         90 unclassified points.\n",
      "pyepal at iteration 7.         13 Pareto optimal points,         0 discarded points,         87 unclassified points.\n",
      "pyepal at iteration 8.         22 Pareto optimal points,         0 discarded points,         78 unclassified points.\n",
      "pyepal at iteration 9.         24 Pareto optimal points,         0 discarded points,         76 unclassified points.\n",
      "pyepal at iteration 10.         25 Pareto optimal points,         0 discarded points,         75 unclassified points.\n",
      "pyepal at iteration 11.         29 Pareto optimal points,         0 discarded points,         71 unclassified points.\n",
      "pyepal at iteration 12.         31 Pareto optimal points,         0 discarded points,         69 unclassified points.\n",
      "pyepal at iteration 13.         31 Pareto optimal points,         0 discarded points,         69 unclassified points.\n",
      "pyepal at iteration 14.         42 Pareto optimal points,         0 discarded points,         58 unclassified points.\n",
      "pyepal at iteration 15.         44 Pareto optimal points,         0 discarded points,         56 unclassified points.\n",
      "pyepal at iteration 16.         44 Pareto optimal points,         0 discarded points,         56 unclassified points.\n",
      "pyepal at iteration 17.         44 Pareto optimal points,         0 discarded points,         56 unclassified points.\n",
      "pyepal at iteration 18.         44 Pareto optimal points,         0 discarded points,         56 unclassified points.\n",
      "pyepal at iteration 19.         93 Pareto optimal points,         0 discarded points,         7 unclassified points.\n",
      "pyepal at iteration 20.         94 Pareto optimal points,         0 discarded points,         6 unclassified points.\n",
      "pyepal at iteration 21.         94 Pareto optimal points,         0 discarded points,         6 unclassified points.\n",
      "pyepal at iteration 22.         94 Pareto optimal points,         0 discarded points,         6 unclassified points.\n",
      "pyepal at iteration 23.         94 Pareto optimal points,         0 discarded points,         6 unclassified points.\n",
      "pyepal at iteration 24.         94 Pareto optimal points,         0 discarded points,         6 unclassified points.\n",
      "pyepal at iteration 25.         94 Pareto optimal points,         0 discarded points,         6 unclassified points.\n",
      "pyepal at iteration 26.         94 Pareto optimal points,         0 discarded points,         6 unclassified points.\n",
      "pyepal at iteration 27.         97 Pareto optimal points,         0 discarded points,         3 unclassified points.\n",
      "Done. No unclassified point left\n",
      "pyepal at iteration 27.         100 Pareto optimal points,         0 discarded points,         0 unclassified points.\n"
     ]
    }
   ],
   "source": [
    "while sum(palinstance.unclassified) > 0: \n",
    "    new_index = palinstance.run_one_step()\n",
    "    print(palinstance) # the string representation of the object will give basic information about the state\n",
    "    # if there is nothing to sample left, run_one_step() will return None\n",
    "    if new_index is not None: \n",
    "        palinstance.update_train_set(new_index, measure(new_index))\n",
    "    else: \n",
    "        break"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Analyze the results"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In PyePAL we provide some utilities that should help with analyzing the active learning process."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [],
   "source": [
    "from pyepal.plotting import plot_jointplot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " /Users/kevinmaikjablonka/Dropbox (LSMO)/Documents/open_source/PythonPAL/pyepal/plotting/__init__.py:193: MatplotlibDeprecationWarning:\n",
      "The set_smart_bounds function was deprecated in Matplotlib 3.2 and will be removed two minor releases later.\n",
      " /Users/kevinmaikjablonka/Dropbox (LSMO)/Documents/open_source/PythonPAL/pyepal/plotting/__init__.py:194: MatplotlibDeprecationWarning:\n",
      "The set_smart_bounds function was deprecated in Matplotlib 3.2 and will be removed two minor releases later.\n"
     ]
    },
    {
     "data": {
      "image/png": "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IFOnTqW0tLTV11y+fHnN4pv+smfPHl599fupBNauXcudd97pk2t7LzRq2iAfdzQOlQSn2UTkWiADeKKhc1R1lqpmqGpGki8WtDDGmBDTuXNnNm7cyObNm4mIiKiZWK8pVdVLRtQjGAlORkYGM2fO9Os9TWjKyspi6dKlzJu35vuOxkdOA1cE0qv9NFE1a3ZREZmIexr2cap61JcB+GMCucW3Lfb5NW2iO2NMXWPHjmXTpk28++67PProo1RUVJCQkMCcOXM46aSTmDFjBrt27eLrr7+mV69ezJw5k5tvvpm9e90Lrf/1r38lOTmZ5557DofDwb///W+eeuopevbsyQ033EBubi5JSUm8+OKLx8xEfPjwYW644Qa+/vproqOjmTVrFunp6TX33LlzJ7m5udx7773cdNNN3HfffWzbto0hQ4bws5/9jDPOOIM//elPvPfee8yYMYPdu3fz9ddfs3fvXv7yl7+watUq3n//fZKTk3n33Xfp1KkTjzzyCO+++y5lZWWMGjWKf/zjH9RZc8y0Ad5NVHf/tRQGvQix+8FRQVVpLA7HcCZMaPn1Q6WCswZIFZEUEYkArgQWeJ8gImcA/wAuUdVDQYjRGGNa7ONvPuYPn/6Bj79p3SridVVVVfH+++8zaNAgxowZw6pVq9iwYQNXXnkljz/+/ViMrVu3smTJEl577TXuuusu7r77btasWcNbb73Fz3/+c/r06cPNN9/M3XffzcaNGxk7dix33HEHP/vZz9i0aRPXXHNNvU1JDz30EGeccQabNm3i97//Pdddd13NsU2bNrF06VJWrlzJI488woEDB/jDH/7A2LFj2bhxI3ffffcx19u1axdLly5lwYIFXHvttYwfP56vvvqKzp07s3DhQgBuv/121qxZw+bNmykrK+O9997z6WdqAispCWb+ahysvhPCKsAZASNmcueTK2hNL5OQqOCoapWI3A58ADiAF1R1i4g8AqxV1QW4m6RigHmeTH2vql4StKCNMaaZPv7mY26YfwNOl5N/rf8XL0x5gbN7n92qa5aVlTHEs2jn2LFjufHGG8nMzOSKK67g22+/paKigpSUlJrzL7nkEjp37gzAkiVL2Lq1ZgwHhYWFFBcXH3OPlStX8vbbbwPw05/+lHvvvfeYcz799FPeeustACZMmEBeXh6FhYUATJkyhc6dO9O5c2fGjx/PF198Qbdu3Rr9uc4//3w6derEoEGDcDqdTJ7srloPGjSIPXv2ALBs2TIef/xxSktLOXz4MAMGDODiiy9uxqdmQk31fDhOZyxhUSW4XBGgDogooeqUz5k3L7q5SzYcIyQSHABVXYR7GnXvfQ96vZ4Y8KCMMcYHPs/+HKfLSUJ0AnmleXye/XmrE5zqPjje7rjjDn75y19yySWXsHz5cmbMmFFzrEuXLjWvXS4Xq1atIioqqlUxNKVus1FzmpEiIyMBCAsLo1OnTjXvCQsLo6qqivLycm699VbWrl1Lz549mTFjBuXl5b4P3gREdTPVKaeA66WVEJ2Lu7ex4Crvwvjxw2np0mCh0kRljDHt1qieo3CEOcgrzcMR5mBUz1F+uU9BQQHJye4BqC+99FKD55133nk89dRTNdvViVJsbCxFRUXfxz1qFHPnzgVgzpw5jB079phrjR07ljlz5gDuTsqJiYnExcUBMH/+fMrLy8nLy2P58uUMHz78mHscr+pkJjExkeLiYhs11cZVdzRetmwNYVHFUJoIJSdDaSJhUcUsW9byjsYhU8Fpj6xDsDEG4OzeZ/PClBf4PPtzRvUc1erqTUNmzJjB1KlTiY+PZ8KECezevbve82bOnMltt91Geno6VVVVnH322Tz33HNcfPHFXHbZZcyfP5+nnnqKp556iuuvv54nnniippNxffe84YYbSE9PJzo6ulZilZ6ezvjx48nNzeX//b//R/fu3UlKSsLhcDB48GCmTZvGGWeccVw/Y7du3bjpppsYOHAgJ598MsOHDz++D8mEFO+Oxnf9uRRXxtPQqRQqOxO2f3Sr5sIR9dWqViEqIyND165d2+R5loyYjmjLlhN8fs3sZ15t+qTvhfzQl/qeIdu2beP0ltbNO4gZM2YQExPDr3/962CHclzs3zY4cnLglLNW4JxytSfBicYx/1W+XTWuqQSnwWeIVXCMMcYYExTei25qj88hzAVVXSDMifZoJ52MjTHGtB/eHZyNaYg/OxlbgmOMMcaYoPCu4IRFFeMqTXQPExdnTSfjb7+1Co4xxhhj2pC6sxlXVLwAESXgqMBVHtOq2YwtwfHwR2fLAQMO+/yaxhhjTHtTPZvxzS/cCeMe9prNeDA/+UmTHY3rZQmOMcb4QVZWFi6Xq2Y7NzcXcM/f4i0sLOy4S+/GtCfesxmHRxdRVREHZQnQOQ9X8qct7mhsE/0ZY4wfuFwu0tLSar569epFr169au1LS0urlQT5Qp8+fWqSqZiYmCbPnzFjBn/605+O+z5r166td22qQGjOvY8cOcIzzzwToIhMa6SmpjJhwgSmTh0O2WPAUQHxX7u/Z49h6tThTJgwwfrgGGOM8b+MjAwyMjJC9t7VCc6tt94aoKiML6jiHkSlCurZbiGr4BhjTAAcPXqUgoICysrKfHK9H/3oRwwbNowBAwYwa9as43rvY489Rt++fRkzZgyZmZk1+3ft2sXkyZMZNmwYY8eOZfv27QDMmzePgQMHMnjwYM4+2z0L8/Lly7nooosAyMnJYdKkSQwYMICf//zn9O7dm9zcXPbs2cPpp5/OTTfdxIABAzjvvPPq/fmnTZvGzTffTEZGBn379q1ZHby8vJzrr7+eQYMGccYZZ7Bs2bJj7l09k/I555zDqaeeysyZMwG477772LVrF0OGDOGee+7h22+/5eyzz2bIkCEMHDiQTz755Lg+M+M/1cs1zJu3Bun1Kbgi4Mhp4IpAen3KvHktW67BKjjGGOMHubm5REdHA+7k5ssvv0RV+fbbb0lJSalZVLKlXnjhBU444QTKysoYPnw4l156KQkJCU2+b926dcydO5eNGzdSVVXF0KFDGTZsGADTp0/nueeeIzU1ldWrV3PrrbeydOlSHnnkET744AOSk5M5cuTIMdd8+OGHmTBhAvfffz+LFy/m+eefrzmWlZXFa6+9xj//+U8uv/xy3nrrLa699tpjrrFnzx6++OILdu3axfjx49m5cydPP/00IsJXX33F9u3bOe+889ixY8cx792+fTvLli2jqKiItLQ0brnlFv7whz+wefPmmnW2nnzySX74wx/ywAMP4HQ6KS0tbeYnbfyt7nINDH3G3URV2bmmico6GRtjTAgqLy9HVencuTOqSnl5easTnJkzZ/LOO+8AkJ2dTVZWVrMSnE8++YQf//jHNcnXJZdcAkBxcTGff/45U6dOrTn36NGjAIwePZpp06Zx+eWX85Of/OSYa3766ac1sUyePJn4+PiaYykpKQwZMgSAYcOGsWfPnnrjuvzyy2s6XJ966qls376dTz/9lDvuuAOAfv360bt373oTnAsvvJDIyEgiIyM58cQTOXjw4DHnDB8+nBtuuIHKykp+9KMf1cRkQosvm6gswTHGGD9ITEyk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\n",
      "text/plain": [
       "<Figure size 576x432 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plot_jointplot(palinstance.means, palinstance)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We see that the algorithm did not discard any point and focussed on sampling the edges of the objective space. Also, our model recovered the correct shape of the test function.\n",
    "We can verify it by making the same plot with the actual objective values (and not the predictions of the model). "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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3fRrLly4kM6dO7NhwwY2b97MuHHjuO+++1i1ahWbN2+muLiYDz/8sOL8tm3bsnr1au666y4mTJjACy+8wObNm5kxY0bFX9np6encc889bNu2jdjYWF588cVK98zKyuL3v/89ixYtYu3ataSlpfGXv/yFkpIS7rjjDj744APWrFnDd9991/Qf0DR73hP/jTx7AgVFYdBpN7QtQM9ZwGMvZ3DaaSl+W7bB5wmOqv4F9wq9xzxft6rq33x9H2OMaQ4yM+H226G4GHJz3d9vv73plZx+/frx2Wef8Zvf/IYvvviCDh06sGTJEoYMGUK/fv1YvHgxW7ZsqTj/qquuqnhfnz59OOuss4iIiODss89m/373NGRdu3Zl+PDhANxyyy18+eWXle65cuVKtm7dyvDhwxkwYACvv/463377Ldu3bycpKYnk5GREhFtuuaVpP5xpMTIyMli8eDGZqzvi2HVZpeHipT1n8pvf7PLbcHF/9MFBVdcCa/1xbWOMaU727oW2bd2JTbk2bdz7mzJNV8+ePVm7di0LFizgt7/9LZdccgkvvPACq1evpmvXrkyZMqXSnC4REREAhIWFVbwu3y4rKwNOHSZddVtVGTt2LG9XKUGtX7++8T+IadEqrzJehPOcjyuGi/t70j9/NFEZY4zx6NEDSksr7zt50r2/KQ4dOkRUVBS33HILkydPZu1a99+U8fHxFBQU8J///KfB19y3bx8rVqwA4K233uLCCy+sdPyCCy5g+fLl7Ny5E3D3A9qxYwe9evVi79697Nrlnq22agJkWrfySf9uGt7l+0n/cs4GV1ucnb/026R/fqngGGOMcUtIgFdecTdLtWnjTm5eeaVp1RuATZs2MXnyZMLCwmjTpg0vvfQS77//Pn379uXMM89k8ODBDb5mSkoKL7zwArfddhu9e/fm7rvvrvKzJDBjxgxuvPFGTpw4AcDvf/97evbsyfTp07niiiuIiopixIgR5OfnN+0HNC2GdxVn5rAbOXn2fyEiDxylOItjcDgGM3q07+8r5b3sW6q0tDRtyPwNxoQqfyy2uWWL7xfb3P/iWw05PeRHWFb3DNm2bRvnnntug66TmelulurRo+nJjT/s3buXK6+8ks2bNwc7lKBqzL+tqb9//hPuenUajHwKXG2htD1tF77CgeUjG/vfRY3PEKvgGGNMACQkhGZiY0wgZGRk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\n",
      "text/plain": [
       "<Figure size 576x432 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plot_jointplot(points, palinstance)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To estimate the quality of the Pareto frontier, you might want to measure the hypervolume of the points that were classified as Pareto optimal. As reference for integration, we choose the point (-100, -100)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [],
   "source": [
    "from pyepal import get_hypervolume"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "9061.973553968432"
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "get_hypervolume(palinstance.means[palinstance.pareto_optimal], np.array([-100,-100]))"
   ]
  },
  {
   "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.7.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}