diff --git a/Blogs/BorealisODENumerical.ipynb b/Blogs/BorealisODENumerical.ipynb
new file mode 100644
index 0000000..57096a0
--- /dev/null
+++ b/Blogs/BorealisODENumerical.ipynb
@@ -0,0 +1,432 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "JXsO7ce7oqeq"
+ },
+ "source": [
+ "# Numerical methods for ODEs\n",
+ "\n",
+ "This blog contains code that accompanies the RBC Borealis blog on numerical methods for ODEs. Contact udlbookmail@gmail.com if you find any problems."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "AnvAKtP_oqes"
+ },
+ "source": [
+ "Import relevant libraries"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "UF-gJyZggyrl"
+ },
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "szWLVrSSoqet"
+ },
+ "source": [
+ "Define the ODE that we will be experimenting with."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "NkrGZLL6iM3P"
+ },
+ "outputs": [],
+ "source": [
+ "# The ODE that we will experiment with\n",
+ "def ode_lin_homog(t,x):\n",
+ " return 0.5 * x ;\n",
+ "\n",
+ "# The derivative of the ODE function with respect to x (needed for Taylor's method)\n",
+ "def ode_lin_homog_deriv_x(t,x):\n",
+ " return 0.5 ;\n",
+ "\n",
+ "# The derivative of the ODE function with respect to t (needed for Taylor's method)\n",
+ "def ode_lin_homog_deriv_t(t,x):\n",
+ " return 0.0 ;\n",
+ "\n",
+ "# The closed form solution (so we can measure the error)\n",
+ "def ode_lin_homog_soln(t,C=0.5):\n",
+ " return C * np.exp(0.5 * t) ;"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "In1C9wZkoqet"
+ },
+ "source": [
+ "This is a generic method that runs the numerical methods. It takes the initial conditions ($t_0$, $x_0$), the final time $t_1$ and the step size $h$. It also takes the ODE function itself and its derivatives (only used for Taylor's method). Finally, the parameter \"step_function\" is the method used to update (e.g., Euler's methods, Runge-Kutte 4-step)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "VZfZDJAfmyrf"
+ },
+ "outputs": [],
+ "source": [
+ "def run_numerical(x_0, t_0, t_1, h, ode_func, ode_func_deriv_x, ode_func_deriv_t, ode_soln, step_function):\n",
+ " x = [x_0]\n",
+ " t = [t_0]\n",
+ " while (t[-1] <= t_1):\n",
+ " x = x+[step_function(x[-1],t[-1],h, ode_func, ode_func_deriv_x, ode_func_deriv_t)]\n",
+ " t = t + [t[-1]+h]\n",
+ "\n",
+ " # Returns x,y plot plus total numerical error at last point.\n",
+ " return t, x, np.abs(ode_soln(t[-1])-x[-1])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Vfkc3-_7oqet"
+ },
+ "source": [
+ "Run the numerical method with step sizes of 2.0, 1.0, 0.5, 0.25, 0.125, 0.0675 and plot the results"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "1tyGbMZhoqeu"
+ },
+ "outputs": [],
+ "source": [
+ "def run_and_plot(ode, ode_deriv_x, ode_deriv_t, ode_solution, step_function):\n",
+ " # Specify the grid of points to draw the ODE\n",
+ " t = np.arange(0.04, 4.0, 0.2)\n",
+ " x = np.arange(0.04, 4.0, 0.2)\n",
+ " T, X = np.meshgrid(t,x)\n",
+ "\n",
+ " # ODE equation at these grid points (used to draw quiver-plot)\n",
+ " dx = ode(T,X)\n",
+ " dt = np.ones(dx.shape)\n",
+ "\n",
+ " # The ground truth solution\n",
+ " t2= np.arange(0,10,0.1)\n",
+ " x2 = ode_solution(t2)\n",
+ "\n",
+ " #####################################x_0, t_0, t_1, h #################################################\n",
+ " t_sim1,x_sim1,error1 = run_numerical(0.5, 0.0, 4.0, 2.0000, ode, ode_deriv_x, ode_deriv_t, ode_solution, step_function)\n",
+ " t_sim2,x_sim2,error2 = run_numerical(0.5, 0.0, 4.0, 1.0000, ode, ode_deriv_x, ode_deriv_t, ode_solution, step_function)\n",
+ " t_sim3,x_sim3,error3 = run_numerical(0.5, 0.0, 4.0, 0.5000, ode, ode_deriv_x, ode_deriv_t, ode_solution, step_function)\n",
+ " t_sim4,x_sim4,error4 = run_numerical(0.5, 0.0, 4.0, 0.2500, ode, ode_deriv_x, ode_deriv_t, ode_solution, step_function)\n",
+ " t_sim5,x_sim5,error5 = run_numerical(0.5, 0.0, 4.0, 0.1250, ode, ode_deriv_x, ode_deriv_t, ode_solution, step_function)\n",
+ " t_sim6,x_sim6,error6 = run_numerical(0.5, 0.0, 4.0, 0.0675, ode, ode_deriv_x, ode_deriv_t, ode_solution, step_function)\n",
+ "\n",
+ " # Plot the ODE and ground truth solution\n",
+ " fig,ax = plt.subplots()\n",
+ " ax.quiver(T,X,dt,dx, scale=35.0)\n",
+ " ax.plot(t2,x2,'r-')\n",
+ "\n",
+ " # Plot the numerical approximations\n",
+ " ax.plot(t_sim1,x_sim1,'.-',markeredgecolor='#773c23ff',markerfacecolor='#d18362', color='#d18362', markersize=10)\n",
+ " ax.plot(t_sim2,x_sim2,'.-',markeredgecolor='#773c23ff',markerfacecolor='#d18362', color='#d18362', markersize=10)\n",
+ " ax.plot(t_sim3,x_sim3,'.-',markeredgecolor='#773c23ff',markerfacecolor='#d18362', color='#d18362', markersize=10)\n",
+ " ax.plot(t_sim4,x_sim4,'.-',markeredgecolor='#773c23ff',markerfacecolor='#d18362', color='#d18362', markersize=10)\n",
+ " ax.plot(t_sim5,x_sim5,'.-',markeredgecolor='#773c23ff',markerfacecolor='#d18362', color='#d18362', markersize=10)\n",
+ " ax.plot(t_sim6,x_sim6,'.-',markeredgecolor='#773c23ff',markerfacecolor='#d18362', color='#d18362', markersize=10)\n",
+ "\n",
+ " ax.set_aspect('equal')\n",
+ " ax.set_xlim(0,4)\n",
+ " ax.set_ylim(0,4)\n",
+ "\n",
+ " plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "JYrq8QIwvOIy"
+ },
+ "source": [
+ "# Euler Method\n",
+ "\n",
+ "Define the Euler method and set up functions for plotting."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "N73xMnCukVVX"
+ },
+ "outputs": [],
+ "source": [
+ "def euler_step(x_0, t_0, h, ode_func, ode_func_deriv_x=None, ode_func_deriv_t=None):\n",
+ " return x_0 + h * ode_func(t_0, x_0) ;"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "4B1_PGEcsZ9H"
+ },
+ "outputs": [],
+ "source": [
+ "run_and_plot(ode_lin_homog, None, None, ode_lin_homog_soln, euler_step)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "FfwNihtkvJeX"
+ },
+ "source": [
+ "# Heun's Method"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "srHfNDcDxI1o"
+ },
+ "outputs": [],
+ "source": [
+ "def heun_step(x_0, t_0, h, ode_func, ode_func_deriv_x=None, ode_func_deriv_t=None):\n",
+ " f_x0_t0 = ode_func(t_0, x_0)\n",
+ " return x_0 + h/2 * ( f_x0_t0 + ode_func(t_0+h, x_0+h*f_x0_t0)) ;"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "WOApHz9xoqev"
+ },
+ "outputs": [],
+ "source": [
+ "run_and_plot(ode_lin_homog, None, None, ode_lin_homog_soln, heun_step)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "0XSzzFDIvRhm"
+ },
+ "source": [
+ "# Modified Euler method"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "fSXprgVJ5Yep"
+ },
+ "outputs": [],
+ "source": [
+ "def modified_euler_step(x_0, t_0, h, ode_func, ode_func_deriv_x=None, ode_func_deriv_t=None):\n",
+ " f_x0_t0 = ode_func(t_0, x_0)\n",
+ " return x_0 + h * ode_func(t_0+h/2, x_0+ h * f_x0_t0/2) ;"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "8LKSrCD2oqev"
+ },
+ "outputs": [],
+ "source": [
+ "run_and_plot(ode_lin_homog, None, None, ode_lin_homog_soln, modified_euler_step)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "yp8ZBpwooqev"
+ },
+ "source": [
+ "# Second order Taylor's method"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "NtBBgzWLoqev"
+ },
+ "outputs": [],
+ "source": [
+ "def taylor_2nd_order(x_0, t_0, h, ode_func, ode_func_deriv_x, ode_func_deriv_t):\n",
+ " f1 = ode_func(t_0, x_0)\n",
+ " return x_0 + h * ode_func(t_0, x_0) + (h*h/2) * (ode_func_deriv_x(t_0,x_0) * ode_func(t_0, x_0) + ode_func_deriv_t(t_0, x_0))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "ioeeIohUoqev"
+ },
+ "outputs": [],
+ "source": [
+ "run_and_plot(ode_lin_homog, ode_lin_homog_deriv_x, ode_lin_homog_deriv_t, ode_lin_homog_soln, taylor_2nd_order)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "WcuhV5lL1zAJ"
+ },
+ "source": [
+ "# Fourth Order Runge Kutta"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "0NZN81Bpwu56"
+ },
+ "outputs": [],
+ "source": [
+ "def runge_kutta_4_step(x_0, t_0, h, ode_func, ode_func_deriv_x=None, ode_func_deriv_t=None):\n",
+ " f1 = ode_func(t_0, x_0)\n",
+ " f2 = ode_func(t_0+h/2,x_0+f1 * h/2)\n",
+ " f3 = ode_func(t_0+h/2,x_0+f2 * h/2)\n",
+ " f4 = ode_func(t_0+h, x_0+ f3*h)\n",
+ " return x_0 + (h/6) * (f1 + 2*f2 + 2*f3+f4)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "K-OxE9E6oqew"
+ },
+ "outputs": [],
+ "source": [
+ "run_and_plot(ode_lin_homog, None, None, ode_lin_homog_soln, runge_kutta_4_step)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "7JifxBhhoqew"
+ },
+ "source": [
+ "# Plot the error as a function of step size"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "ZoEpmlCfsi9P"
+ },
+ "outputs": [],
+ "source": [
+ "# Run systematically with a number of different step sizes and store errors for each\n",
+ "def get_errors(ode, ode_deriv_x, ode_deriv_t, ode_solution, step_function):\n",
+ " # Choose the step size h to divide the plotting interval into 1,2,4,8... segments.\n",
+ " # The plots in the article add a few more smaller step sizes, but this takes a while to compute.\n",
+ " # Add them back in if you want the full plot.\n",
+ " all_h = (1./np.array([1,2,4,8,16,32,64,128,256,512,1024,2048,4096])).tolist()\n",
+ " all_err = []\n",
+ "\n",
+ " for i in range(len(all_h)):\n",
+ " t_sim,x_sim,err = run_numerical(0.5, 0.0, 4.0, all_h[i], ode, ode_deriv_x, ode_deriv_t, ode_solution, step_function)\n",
+ " all_err = all_err + [err]\n",
+ "\n",
+ " return all_h, all_err"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "X0O0KK47xF28"
+ },
+ "outputs": [],
+ "source": [
+ "# Plot the errors\n",
+ "all_h, all_err_euler = get_errors(ode_lin_homog, ode_lin_homog_deriv_x, ode_lin_homog_deriv_t, ode_lin_homog_soln, euler_step)\n",
+ "all_h, all_err_heun = get_errors(ode_lin_homog, ode_lin_homog_deriv_x, ode_lin_homog_deriv_t, ode_lin_homog_soln, heun_step)\n",
+ "all_h, all_err_mod_euler = get_errors(ode_lin_homog, ode_lin_homog_deriv_x, ode_lin_homog_deriv_t, ode_lin_homog_soln, modified_euler_step)\n",
+ "all_h, all_err_taylor = get_errors(ode_lin_homog, ode_lin_homog_deriv_x, ode_lin_homog_deriv_t, ode_lin_homog_soln, taylor_2nd_order)\n",
+ "all_h, all_err_rk = get_errors(ode_lin_homog, ode_lin_homog_deriv_x, ode_lin_homog_deriv_t, ode_lin_homog_soln, runge_kutta_4_step)\n",
+ "\n",
+ "\n",
+ "fig, ax = plt.subplots()\n",
+ "ax.loglog(all_h, all_err_euler,'ro-')\n",
+ "ax.loglog(all_h, all_err_heun,'bo-')\n",
+ "ax.loglog(all_h, all_err_mod_euler,'go-')\n",
+ "ax.loglog(all_h, all_err_taylor,'co-')\n",
+ "ax.loglog(all_h, all_err_rk,'mo-')\n",
+ "ax.set_ylim(1e-13,1e1)\n",
+ "ax.set_xlim(1e-6,1e1)\n",
+ "ax.set_aspect(0.5)\n",
+ "ax.set_xlabel('Step size, $h$')\n",
+ "ax.set_ylabel('Error')\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "BttOqpeo9MsJ"
+ },
+ "source": [
+ "Note that for this ODE, the Heun, Modified Euler and Taylor methods provide EXACTLY the same updates, and so the error curves for all three are identical (subject to difference is numerical rounding errors). This is not in general the case, although the general trend would be the same for each."
+ ]
+ }
+ ],
+ "metadata": {
+ "colab": {
+ "provenance": [],
+ "include_colab_link": true
+ },
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "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.9.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
\ No newline at end of file
diff --git a/Notebooks/Chap01/1_1_BackgroundMathematics.ipynb b/Notebooks/Chap01/1_1_BackgroundMathematics.ipynb
index 9378a08..ccca8c7 100644
--- a/Notebooks/Chap01/1_1_BackgroundMathematics.ipynb
+++ b/Notebooks/Chap01/1_1_BackgroundMathematics.ipynb
@@ -19,7 +19,7 @@
"\n",
"# **Notebook 1.1 -- Background Mathematics**\n",
"\n",
- "The purpose of this Python notebook is to make sure you can use CoLab and to familiarize yourself with some of the background mathematical concepts that you are going to need to understand deep learning. It's not meant to be difficult and it may be that you know some or all of this information already. Math is *NOT* a spectator sport. You won't learn it by just listening to lectures or reading books. It really helps to interact with it and explore yourself. Work through the cells below, running each cell in turn. In various places you will see the words **\"TO DO\"**. Follow the instructions at these places and write code to complete the functions. There are also questions interspersed in the text.\n",
+ "The purpose of this Python notebook is to make sure you can use CoLab and to familiarize yourself with some of the background mathematical concepts that you are going to need to understand deep learning. It's not meant to be difficult and it may be that you know some or all of this information already. Math is *NOT* a spectator sport. You won't learn it by just listening to lectures or reading books. It really helps to interact with it and explore yourself. Work through the cells below, running each cell in turn. In various places you will see the words **\"TODO\"**. Follow the instructions at these places and write code to complete the functions. There are also questions interspersed in the text.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
]
diff --git a/Notebooks/Chap02/2_1_Supervised_Learning.ipynb b/Notebooks/Chap02/2_1_Supervised_Learning.ipynb
index 42f3344..121dac1 100644
--- a/Notebooks/Chap02/2_1_Supervised_Learning.ipynb
+++ b/Notebooks/Chap02/2_1_Supervised_Learning.ipynb
@@ -32,7 +32,7 @@
"\n",
"The purpose of this notebook is to explore the linear regression model discussed in Chapter 2 of the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and write code to complete the functions. There are also questions interspersed in the text.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and write code to complete the functions. There are also questions interspersed in the text.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap03/3_1_Shallow_Networks_I.ipynb b/Notebooks/Chap03/3_1_Shallow_Networks_I.ipynb
index 1c4d9e6..06ca153 100644
--- a/Notebooks/Chap03/3_1_Shallow_Networks_I.ipynb
+++ b/Notebooks/Chap03/3_1_Shallow_Networks_I.ipynb
@@ -20,7 +20,7 @@
"\n",
"The purpose of this notebook is to gain some familiarity with shallow neural networks with 1D inputs. It works through an example similar to figure 3.3 and experiments with different activation functions. \n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and write code to complete the functions. There are also questions interspersed in the text.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and write code to complete the functions. There are also questions interspersed in the text.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
]
diff --git a/Notebooks/Chap03/3_2_Shallow_Networks_II.ipynb b/Notebooks/Chap03/3_2_Shallow_Networks_II.ipynb
index 28fb916..a1131d6 100644
--- a/Notebooks/Chap03/3_2_Shallow_Networks_II.ipynb
+++ b/Notebooks/Chap03/3_2_Shallow_Networks_II.ipynb
@@ -32,7 +32,7 @@
"\n",
"The purpose of this notebook is to gain some familiarity with shallow neural networks with 2D inputs. It works through an example similar to figure 3.8 and experiments with different activation functions. \n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and write code to complete the functions. There are also questions interspersed in the text.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and write code to complete the functions. There are also questions interspersed in the text.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n"
],
diff --git a/Notebooks/Chap03/3_3_Shallow_Network_Regions.ipynb b/Notebooks/Chap03/3_3_Shallow_Network_Regions.ipynb
index 607710c..c2239e4 100644
--- a/Notebooks/Chap03/3_3_Shallow_Network_Regions.ipynb
+++ b/Notebooks/Chap03/3_3_Shallow_Network_Regions.ipynb
@@ -32,7 +32,7 @@
"\n",
"The purpose of this notebook is to compute the maximum possible number of linear regions as seen in figure 3.9 of the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and write code to complete the functions. There are also questions interspersed in the text.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and write code to complete the functions. There are also questions interspersed in the text.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap03/3_4_Activation_Functions.ipynb b/Notebooks/Chap03/3_4_Activation_Functions.ipynb
index 582ed1e..c122987 100644
--- a/Notebooks/Chap03/3_4_Activation_Functions.ipynb
+++ b/Notebooks/Chap03/3_4_Activation_Functions.ipynb
@@ -22,7 +22,7 @@
"\n",
"The purpose of this practical is to experiment with different activation functions. \n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and write code to complete the functions. There are also questions interspersed in the text.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and write code to complete the functions. There are also questions interspersed in the text.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
]
diff --git a/Notebooks/Chap04/4_1_Composing_Networks.ipynb b/Notebooks/Chap04/4_1_Composing_Networks.ipynb
index a8261f0..732d2d0 100644
--- a/Notebooks/Chap04/4_1_Composing_Networks.ipynb
+++ b/Notebooks/Chap04/4_1_Composing_Networks.ipynb
@@ -32,7 +32,7 @@
"\n",
"The purpose of this notebook is to understand what happens when we feed one neural network into another. It works through an example similar to 4.1 and varies both networks\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions"
],
@@ -343,7 +343,7 @@
{
"cell_type": "code",
"source": [
- "# TO DO\n",
+ "# TODO\n",
"# How many linear regions would there be if we ran N copies of the first network, feeding the result of the first\n",
"# into the second, the second into the third and so on, and then passed the result into the original second\n",
"# network (blue curve above)\n",
diff --git a/Notebooks/Chap04/4_2_Clipping_functions.ipynb b/Notebooks/Chap04/4_2_Clipping_functions.ipynb
index 95ca408..e271244 100644
--- a/Notebooks/Chap04/4_2_Clipping_functions.ipynb
+++ b/Notebooks/Chap04/4_2_Clipping_functions.ipynb
@@ -33,7 +33,7 @@
"\n",
"The purpose of this notebook is to understand how a neural network with two hidden layers build more complicated functions by clipping and recombining the representations at the intermediate hidden variables.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions"
],
@@ -169,7 +169,7 @@
{
"cell_type": "code",
"source": [
- "# Define parameters (note first dimension of theta and phi is padded to make indices match\n",
+ "# Define parameters (note first dimension of theta and psi is padded to make indices match\n",
"# notation in book)\n",
"theta = np.zeros([4,2])\n",
"psi = np.zeros([4,4])\n",
diff --git a/Notebooks/Chap04/4_3_Deep_Networks.ipynb b/Notebooks/Chap04/4_3_Deep_Networks.ipynb
index 55eb037..fe56d2f 100644
--- a/Notebooks/Chap04/4_3_Deep_Networks.ipynb
+++ b/Notebooks/Chap04/4_3_Deep_Networks.ipynb
@@ -32,7 +32,7 @@
"\n",
"This notebook investigates converting neural networks to matrix form.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap05/5_1_Least_Squares_Loss.ipynb b/Notebooks/Chap05/5_1_Least_Squares_Loss.ipynb
index 0b27864..37cf704 100644
--- a/Notebooks/Chap05/5_1_Least_Squares_Loss.ipynb
+++ b/Notebooks/Chap05/5_1_Least_Squares_Loss.ipynb
@@ -32,7 +32,7 @@
"\n",
"This notebook investigates the least squares loss and the equivalence of maximum likelihood and minimum negative log likelihood.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap05/5_2_Binary_Cross_Entropy_Loss.ipynb b/Notebooks/Chap05/5_2_Binary_Cross_Entropy_Loss.ipynb
index 72fd8b1..8548602 100644
--- a/Notebooks/Chap05/5_2_Binary_Cross_Entropy_Loss.ipynb
+++ b/Notebooks/Chap05/5_2_Binary_Cross_Entropy_Loss.ipynb
@@ -32,7 +32,7 @@
"\n",
"This notebook investigates the binary cross-entropy loss. It follows from applying the formula in section 5.2 to a loss function based on the Bernoulli distribution.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap05/5_3_Multiclass_Cross_entropy_Loss.ipynb b/Notebooks/Chap05/5_3_Multiclass_Cross_entropy_Loss.ipynb
index 1021d74..7785f6c 100644
--- a/Notebooks/Chap05/5_3_Multiclass_Cross_entropy_Loss.ipynb
+++ b/Notebooks/Chap05/5_3_Multiclass_Cross_entropy_Loss.ipynb
@@ -20,7 +20,7 @@
"\n",
"This notebook investigates the multi-class cross-entropy loss. It follows from applying the formula in section 5.2 to a loss function based on the Categorical distribution.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
]
@@ -236,11 +236,10 @@
},
"outputs": [],
"source": [
- "# Let's double check we get the right answer before proceeding\n",
- "print(\"Correct answer = %3.3f, Your answer = %3.3f\"%(0.2,categorical_distribution(np.array([[0]]),np.array([[0.2],[0.5],[0.3]]))))\n",
- "print(\"Correct answer = %3.3f, Your answer = %3.3f\"%(0.5,categorical_distribution(np.array([[1]]),np.array([[0.2],[0.5],[0.3]]))))\n",
- "print(\"Correct answer = %3.3f, Your answer = %3.3f\"%(0.3,categorical_distribution(np.array([[2]]),np.array([[0.2],[0.5],[0.3]]))))\n",
- "\n"
+ "# Here are three examples\n",
+ "print(categorical_distribution(np.array([[0]]),np.array([[0.2],[0.5],[0.3]])))\n",
+ "print(categorical_distribution(np.array([[1]]),np.array([[0.2],[0.5],[0.3]])))\n",
+ "print(categorical_distribution(np.array([[2]]),np.array([[0.2],[0.5],[0.3]])))"
]
},
{
@@ -460,4 +459,4 @@
},
"nbformat": 4,
"nbformat_minor": 0
-}
+}
\ No newline at end of file
diff --git a/Notebooks/Chap06/6_1_Line_Search.ipynb b/Notebooks/Chap06/6_1_Line_Search.ipynb
index 67e0095..ae8aab1 100644
--- a/Notebooks/Chap06/6_1_Line_Search.ipynb
+++ b/Notebooks/Chap06/6_1_Line_Search.ipynb
@@ -32,7 +32,7 @@
"\n",
"This notebook investigates how to find the minimum of a 1D function using line search as described in Figure 6.10.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n"
],
diff --git a/Notebooks/Chap06/6_2_Gradient_Descent.ipynb b/Notebooks/Chap06/6_2_Gradient_Descent.ipynb
index c28d51a..f530a77 100644
--- a/Notebooks/Chap06/6_2_Gradient_Descent.ipynb
+++ b/Notebooks/Chap06/6_2_Gradient_Descent.ipynb
@@ -20,7 +20,7 @@
"\n",
"This notebook recreates the gradient descent algorithm as shown in figure 6.1.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n",
"\n"
diff --git a/Notebooks/Chap06/6_3_Stochastic_Gradient_Descent.ipynb b/Notebooks/Chap06/6_3_Stochastic_Gradient_Descent.ipynb
index ce84689..34d6ed5 100644
--- a/Notebooks/Chap06/6_3_Stochastic_Gradient_Descent.ipynb
+++ b/Notebooks/Chap06/6_3_Stochastic_Gradient_Descent.ipynb
@@ -20,7 +20,7 @@
"\n",
"This notebook investigates gradient descent and stochastic gradient descent and recreates figure 6.5 from the book\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n",
"\n",
diff --git a/Notebooks/Chap06/6_4_Momentum.ipynb b/Notebooks/Chap06/6_4_Momentum.ipynb
index e7f7c9d..014ec14 100644
--- a/Notebooks/Chap06/6_4_Momentum.ipynb
+++ b/Notebooks/Chap06/6_4_Momentum.ipynb
@@ -32,7 +32,7 @@
"\n",
"This notebook investigates the use of momentum as illustrated in figure 6.7 from the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n",
"\n",
diff --git a/Notebooks/Chap06/6_5_Adam.ipynb b/Notebooks/Chap06/6_5_Adam.ipynb
index bb975d4..476bbaf 100644
--- a/Notebooks/Chap06/6_5_Adam.ipynb
+++ b/Notebooks/Chap06/6_5_Adam.ipynb
@@ -32,7 +32,7 @@
"\n",
"This notebook investigates the Adam algorithm as illustrated in figure 6.9 from the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap07/7_1_Backpropagation_in_Toy_Model.ipynb b/Notebooks/Chap07/7_1_Backpropagation_in_Toy_Model.ipynb
index 8b757f2..e5811bc 100644
--- a/Notebooks/Chap07/7_1_Backpropagation_in_Toy_Model.ipynb
+++ b/Notebooks/Chap07/7_1_Backpropagation_in_Toy_Model.ipynb
@@ -22,7 +22,7 @@
"\n",
"This notebook computes the derivatives of the toy function discussed in section 7.3 of the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
]
diff --git a/Notebooks/Chap07/7_2_Backpropagation.ipynb b/Notebooks/Chap07/7_2_Backpropagation.ipynb
index be113ec..272e269 100644
--- a/Notebooks/Chap07/7_2_Backpropagation.ipynb
+++ b/Notebooks/Chap07/7_2_Backpropagation.ipynb
@@ -32,7 +32,7 @@
"\n",
"This notebook runs the backpropagation algorithm on a deep neural network as described in section 7.4 of the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
@@ -248,23 +248,23 @@
"\n",
" # Now work backwards through the network\n",
" for layer in range(K,-1,-1):\n",
- " # TODO Calculate the derivatives of the loss with respect to the biases at layer from all_dl_df[layer]. (eq 7.21)\n",
+ " # TODO Calculate the derivatives of the loss with respect to the biases at layer from all_dl_df[layer]. (eq 7.22)\n",
" # NOTE! To take a copy of matrix X, use Z=np.array(X)\n",
" # REPLACE THIS LINE\n",
" all_dl_dbiases[layer] = np.zeros_like(all_biases[layer])\n",
"\n",
- " # TODO Calculate the derivatives of the loss with respect to the weights at layer from all_dl_df[layer] and all_h[layer] (eq 7.22)\n",
+ " # TODO Calculate the derivatives of the loss with respect to the weights at layer from all_dl_df[layer] and all_h[layer] (eq 7.23)\n",
" # Don't forget to use np.matmul\n",
" # REPLACE THIS LINE\n",
" all_dl_dweights[layer] = np.zeros_like(all_weights[layer])\n",
"\n",
- " # TODO: calculate the derivatives of the loss with respect to the activations from weight and derivatives of next preactivations (second part of last line of eq 7.24)\n",
+ " # TODO: calculate the derivatives of the loss with respect to the activations from weight and derivatives of next preactivations (second part of last line of eq 7.25)\n",
" # REPLACE THIS LINE\n",
" all_dl_dh[layer] = np.zeros_like(all_h[layer])\n",
"\n",
"\n",
" if layer > 0:\n",
- " # TODO Calculate the derivatives of the loss with respect to the pre-activation f (use derivative of ReLu function, first part of last line of eq. 7.24)\n",
+ " # TODO Calculate the derivatives of the loss with respect to the pre-activation f (use derivative of ReLu function, first part of last line of eq. 7.25)\n",
" # REPLACE THIS LINE\n",
" all_dl_df[layer-1] = np.zeros_like(all_f[layer-1])\n",
"\n",
@@ -352,4 +352,4 @@
"outputs": []
}
]
-}
\ No newline at end of file
+}
diff --git a/Notebooks/Chap07/7_3_Initialization.ipynb b/Notebooks/Chap07/7_3_Initialization.ipynb
index 34ad1e1..3ce171d 100644
--- a/Notebooks/Chap07/7_3_Initialization.ipynb
+++ b/Notebooks/Chap07/7_3_Initialization.ipynb
@@ -32,7 +32,7 @@
"\n",
"This notebook explores weight initialization in deep neural networks as described in section 7.5 of the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
@@ -191,10 +191,10 @@
"# You can see that the values of the hidden units are increasing on average (the variance is across all hidden units at the layer\n",
"# and the 1000 training examples\n",
"\n",
- "# TO DO\n",
+ "# TODO\n",
"# Change this to 50 layers with 80 hidden units per layer\n",
"\n",
- "# TO DO\n",
+ "# TODO\n",
"# Now experiment with sigma_sq_omega to try to stop the variance of the forward computation exploding"
],
"metadata": {
@@ -340,10 +340,10 @@
"# You can see that the gradients of the hidden units are increasing on average (the standard deviation is across all hidden units at the layer\n",
"# and the 100 training examples\n",
"\n",
- "# TO DO\n",
+ "# TODO\n",
"# Change this to 50 layers with 80 hidden units per layer\n",
"\n",
- "# TO DO\n",
+ "# TODO\n",
"# Now experiment with sigma_sq_omega to try to stop the variance of the gradients exploding\n"
],
"metadata": {
diff --git a/Notebooks/Chap08/8_1_MNIST_1D_Performance.ipynb b/Notebooks/Chap08/8_1_MNIST_1D_Performance.ipynb
index a6b8208..9f06f68 100644
--- a/Notebooks/Chap08/8_1_MNIST_1D_Performance.ipynb
+++ b/Notebooks/Chap08/8_1_MNIST_1D_Performance.ipynb
@@ -20,7 +20,7 @@
"\n",
"This notebook runs a simple neural network on the MNIST1D dataset as in figure 8.2a. It uses code from https://github.com/greydanus/mnist1d to generate the data.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
]
@@ -91,7 +91,7 @@
"D_i = 40 # Input dimensions\n",
"D_k = 100 # Hidden dimensions\n",
"D_o = 10 # Output dimensions\n",
- "# TO DO:\n",
+ "# TODO:\n",
"# Define a model with two hidden layers of size 100\n",
"# And ReLU activations between them\n",
"# Replace this line (see Figure 7.8 of book for help):\n",
@@ -99,7 +99,7 @@
"\n",
"\n",
"def weights_init(layer_in):\n",
- " # TO DO:\n",
+ " # TODO:\n",
" # Initialize the parameters with He initialization\n",
" # Replace this line (see figure 7.8 of book for help)\n",
" print(\"Initializing layer\")\n",
@@ -208,7 +208,7 @@
"id": "q-yT6re6GZS4"
},
"source": [
- "**TO DO**\n",
+ "**TODO**\n",
"\n",
"Play with the model -- try changing the number of layers, hidden units, learning rate, batch size, momentum or anything else you like. See if you can improve the test results.\n",
"\n",
diff --git a/Notebooks/Chap08/8_2_Bias_Variance_Trade_Off.ipynb b/Notebooks/Chap08/8_2_Bias_Variance_Trade_Off.ipynb
index d75c770..207d5ba 100644
--- a/Notebooks/Chap08/8_2_Bias_Variance_Trade_Off.ipynb
+++ b/Notebooks/Chap08/8_2_Bias_Variance_Trade_Off.ipynb
@@ -32,7 +32,7 @@
"\n",
"This notebook investigates the bias-variance trade-off for the toy model used throughout chapter 8 and reproduces the bias/variance trade off curves seen in figure 8.9.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap08/8_3_Double_Descent.ipynb b/Notebooks/Chap08/8_3_Double_Descent.ipynb
index d75e15f..b588f8a 100644
--- a/Notebooks/Chap08/8_3_Double_Descent.ipynb
+++ b/Notebooks/Chap08/8_3_Double_Descent.ipynb
@@ -36,7 +36,7 @@
"\n",
"It uses the MNIST-1D database which can be found at https://github.com/greydanus/mnist1d\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
@@ -217,7 +217,7 @@
"source": [
"The following code produces the double descent curve by training the model with different numbers of hidden units and plotting the test error.\n",
"\n",
- "TO DO:\n",
+ "TODO:\n",
"\n",
"*Before* you run the code, and considering that there are 4000 training examples predict: \n",
"\n",
diff --git a/Notebooks/Chap08/8_4_High_Dimensional_Spaces.ipynb b/Notebooks/Chap08/8_4_High_Dimensional_Spaces.ipynb
index f9f914d..c03622b 100644
--- a/Notebooks/Chap08/8_4_High_Dimensional_Spaces.ipynb
+++ b/Notebooks/Chap08/8_4_High_Dimensional_Spaces.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook investigates the strange properties of high-dimensional spaces as discussed in the notes at the end of chapter 8.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap09/9_1_L2_Regularization.ipynb b/Notebooks/Chap09/9_1_L2_Regularization.ipynb
index dd3481f..573f010 100644
--- a/Notebooks/Chap09/9_1_L2_Regularization.ipynb
+++ b/Notebooks/Chap09/9_1_L2_Regularization.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook investigates adding L2 regularization to the loss function for the Gabor model as in figure 9.1.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n"
],
diff --git a/Notebooks/Chap09/9_2_Implicit_Regularization.ipynb b/Notebooks/Chap09/9_2_Implicit_Regularization.ipynb
index af91cbe..4f1e11c 100644
--- a/Notebooks/Chap09/9_2_Implicit_Regularization.ipynb
+++ b/Notebooks/Chap09/9_2_Implicit_Regularization.ipynb
@@ -32,7 +32,7 @@
"\n",
"This notebook investigates how the finite step sizes in gradient descent cause the trajectory to deviate and how this can be explained by adding an implicit regularization term. It recreates figure 9.3 from the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n"
],
diff --git a/Notebooks/Chap09/9_3_Ensembling.ipynb b/Notebooks/Chap09/9_3_Ensembling.ipynb
index be9b343..272e7fe 100644
--- a/Notebooks/Chap09/9_3_Ensembling.ipynb
+++ b/Notebooks/Chap09/9_3_Ensembling.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook investigates how ensembling can improve the performance of models. We'll work with the simplified neural network model (figure 8.4 of book) which we can fit in closed form, and so we can eliminate any errors due to not finding the global maximum.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n"
],
diff --git a/Notebooks/Chap09/9_4_Bayesian_Approach.ipynb b/Notebooks/Chap09/9_4_Bayesian_Approach.ipynb
index ef7c3b8..5187721 100644
--- a/Notebooks/Chap09/9_4_Bayesian_Approach.ipynb
+++ b/Notebooks/Chap09/9_4_Bayesian_Approach.ipynb
@@ -20,7 +20,7 @@
"\n",
"This notebook investigates the Bayesian approach to model fitting and reproduces figure 9.11 from the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n"
]
diff --git a/Notebooks/Chap09/9_5_Augmentation.ipynb b/Notebooks/Chap09/9_5_Augmentation.ipynb
index bd0c607..4cfea5f 100644
--- a/Notebooks/Chap09/9_5_Augmentation.ipynb
+++ b/Notebooks/Chap09/9_5_Augmentation.ipynb
@@ -32,7 +32,7 @@
"\n",
"This notebook investigates data augmentation for the MNIST-1D model.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n"
],
diff --git a/Notebooks/Chap10/10_1_1D_Convolution.ipynb b/Notebooks/Chap10/10_1_1D_Convolution.ipynb
index 173fda0..df99035 100644
--- a/Notebooks/Chap10/10_1_1D_Convolution.ipynb
+++ b/Notebooks/Chap10/10_1_1D_Convolution.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook investigates 1D convolutional layers.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n"
],
diff --git a/Notebooks/Chap10/10_2_Convolution_for_MNIST_1D.ipynb b/Notebooks/Chap10/10_2_Convolution_for_MNIST_1D.ipynb
index c9d02a6..60fbad3 100644
--- a/Notebooks/Chap10/10_2_Convolution_for_MNIST_1D.ipynb
+++ b/Notebooks/Chap10/10_2_Convolution_for_MNIST_1D.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook investigates a 1D convolutional network for MNIST-1D as in figure 10.7 and 10.8a.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n",
"\n"
diff --git a/Notebooks/Chap10/10_3_2D_Convolution.ipynb b/Notebooks/Chap10/10_3_2D_Convolution.ipynb
index c304cc0..9e115c0 100644
--- a/Notebooks/Chap10/10_3_2D_Convolution.ipynb
+++ b/Notebooks/Chap10/10_3_2D_Convolution.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook investigates the 2D convolution operation. It asks you to hand code the convolution so we can be sure that we are computing the same thing as in PyTorch. The next notebook uses the convolutional layers in PyTorch directly.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap10/10_4_Downsampling_and_Upsampling.ipynb b/Notebooks/Chap10/10_4_Downsampling_and_Upsampling.ipynb
index 3e3d96b..0241ec6 100644
--- a/Notebooks/Chap10/10_4_Downsampling_and_Upsampling.ipynb
+++ b/Notebooks/Chap10/10_4_Downsampling_and_Upsampling.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook investigates the upsampling and downsampling methods discussed in section 10.4 of the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n"
],
diff --git a/Notebooks/Chap10/10_5_Convolution_For_MNIST.ipynb b/Notebooks/Chap10/10_5_Convolution_For_MNIST.ipynb
index fb5b32b..40f7c0f 100644
--- a/Notebooks/Chap10/10_5_Convolution_For_MNIST.ipynb
+++ b/Notebooks/Chap10/10_5_Convolution_For_MNIST.ipynb
@@ -35,7 +35,7 @@
"\n",
"The code is adapted from https://nextjournal.com/gkoehler/pytorch-mnist\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n"
],
diff --git a/Notebooks/Chap11/11_1_Shattered_Gradients.ipynb b/Notebooks/Chap11/11_1_Shattered_Gradients.ipynb
index bf6ae98..578ac68 100644
--- a/Notebooks/Chap11/11_1_Shattered_Gradients.ipynb
+++ b/Notebooks/Chap11/11_1_Shattered_Gradients.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook investigates the phenomenon of shattered gradients as discussed in section 11.1.1. It replicates some of the experiments in [Balduzzi et al. (2017)](https://arxiv.org/abs/1702.08591).\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap11/11_2_Residual_Networks.ipynb b/Notebooks/Chap11/11_2_Residual_Networks.ipynb
index 51a67f2..8327cad 100644
--- a/Notebooks/Chap11/11_2_Residual_Networks.ipynb
+++ b/Notebooks/Chap11/11_2_Residual_Networks.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook adapts the networks for MNIST1D to use residual connections.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n",
"\n"
diff --git a/Notebooks/Chap11/11_3_Batch_Normalization.ipynb b/Notebooks/Chap11/11_3_Batch_Normalization.ipynb
index 0309676..fbe1c22 100644
--- a/Notebooks/Chap11/11_3_Batch_Normalization.ipynb
+++ b/Notebooks/Chap11/11_3_Batch_Normalization.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook investigates the use of batch normalization in residual networks.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n",
"\n"
diff --git a/Notebooks/Chap12/12_1_Self_Attention.ipynb b/Notebooks/Chap12/12_1_Self_Attention.ipynb
index eb584b8..0938c71 100644
--- a/Notebooks/Chap12/12_1_Self_Attention.ipynb
+++ b/Notebooks/Chap12/12_1_Self_Attention.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook builds a self-attention mechanism from scratch, as discussed in section 12.2 of the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n",
"\n"
diff --git a/Notebooks/Chap12/12_2_Multihead_Self_Attention.ipynb b/Notebooks/Chap12/12_2_Multihead_Self_Attention.ipynb
index 219a8d0..1b8df06 100644
--- a/Notebooks/Chap12/12_2_Multihead_Self_Attention.ipynb
+++ b/Notebooks/Chap12/12_2_Multihead_Self_Attention.ipynb
@@ -32,7 +32,7 @@
"\n",
"This notebook builds a multihead self-attention mechanism as in figure 12.6\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n",
"\n"
diff --git a/Notebooks/Chap12/12_3_Tokenization.ipynb b/Notebooks/Chap12/12_3_Tokenization.ipynb
index 67c5cfc..4ab060b 100644
--- a/Notebooks/Chap12/12_3_Tokenization.ipynb
+++ b/Notebooks/Chap12/12_3_Tokenization.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook builds set of tokens from a text string as in figure 12.8 of the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"I adapted this code from *SOMEWHERE*. If anyone recognizes it, can you let me know and I will give the proper attribution or rewrite if the license is not permissive.\n",
"\n",
diff --git a/Notebooks/Chap12/12_4_Decoding_Strategies.ipynb b/Notebooks/Chap12/12_4_Decoding_Strategies.ipynb
index 6d7a388..46eb9f4 100644
--- a/Notebooks/Chap12/12_4_Decoding_Strategies.ipynb
+++ b/Notebooks/Chap12/12_4_Decoding_Strategies.ipynb
@@ -33,7 +33,7 @@
"\n",
"This practical investigates neural decoding from transformer models. \n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap13/13_1_Graph_Representation.ipynb b/Notebooks/Chap13/13_1_Graph_Representation.ipynb
index 11d7179..34a5a69 100644
--- a/Notebooks/Chap13/13_1_Graph_Representation.ipynb
+++ b/Notebooks/Chap13/13_1_Graph_Representation.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook investigates representing graphs with matrices as illustrated in figure 13.4 from the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n",
"\n"
diff --git a/Notebooks/Chap13/13_2_Graph_Classification.ipynb b/Notebooks/Chap13/13_2_Graph_Classification.ipynb
index ea0229f..890160c 100644
--- a/Notebooks/Chap13/13_2_Graph_Classification.ipynb
+++ b/Notebooks/Chap13/13_2_Graph_Classification.ipynb
@@ -32,7 +32,7 @@
"\n",
"This notebook investigates representing graphs with matrices as illustrated in figure 13.4 from the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap13/13_3_Neighborhood_Sampling.ipynb b/Notebooks/Chap13/13_3_Neighborhood_Sampling.ipynb
index 3a0bc94..650a7c5 100644
--- a/Notebooks/Chap13/13_3_Neighborhood_Sampling.ipynb
+++ b/Notebooks/Chap13/13_3_Neighborhood_Sampling.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook investigates neighborhood sampling of graphs as in figure 13.10 from the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap13/13_4_Graph_Attention_Networks.ipynb b/Notebooks/Chap13/13_4_Graph_Attention_Networks.ipynb
index a67e829..7086248 100644
--- a/Notebooks/Chap13/13_4_Graph_Attention_Networks.ipynb
+++ b/Notebooks/Chap13/13_4_Graph_Attention_Networks.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook builds a graph attention mechanism from scratch, as discussed in section 13.8.6 of the book and illustrated in figure 13.12c\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n",
"\n"
diff --git a/Notebooks/Chap15/15_1_GAN_Toy_Example.ipynb b/Notebooks/Chap15/15_1_GAN_Toy_Example.ipynb
index c8b7895..a9fcc8b 100644
--- a/Notebooks/Chap15/15_1_GAN_Toy_Example.ipynb
+++ b/Notebooks/Chap15/15_1_GAN_Toy_Example.ipynb
@@ -32,7 +32,7 @@
"\n",
"This notebook investigates the GAN toy example as illustrated in figure 15.1 in the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap15/15_2_Wasserstein_Distance.ipynb b/Notebooks/Chap15/15_2_Wasserstein_Distance.ipynb
index 9384399..25cac8a 100644
--- a/Notebooks/Chap15/15_2_Wasserstein_Distance.ipynb
+++ b/Notebooks/Chap15/15_2_Wasserstein_Distance.ipynb
@@ -32,7 +32,7 @@
"\n",
"This notebook investigates the GAN toy example as illustrated in figure 15.1 in the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap16/16_1_1D_Normalizing_Flows.ipynb b/Notebooks/Chap16/16_1_1D_Normalizing_Flows.ipynb
index f0e7fe2..cbe5ff5 100644
--- a/Notebooks/Chap16/16_1_1D_Normalizing_Flows.ipynb
+++ b/Notebooks/Chap16/16_1_1D_Normalizing_Flows.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook investigates a 1D normalizing flows example similar to that illustrated in figures 16.1 to 16.3 in the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap16/16_2_Autoregressive_Flows.ipynb b/Notebooks/Chap16/16_2_Autoregressive_Flows.ipynb
index 3f3b521..4583455 100644
--- a/Notebooks/Chap16/16_2_Autoregressive_Flows.ipynb
+++ b/Notebooks/Chap16/16_2_Autoregressive_Flows.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook investigates a 1D normalizing flows example similar to that illustrated in figure 16.7 in the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap16/16_3_Contraction_Mappings.ipynb b/Notebooks/Chap16/16_3_Contraction_Mappings.ipynb
index 632bfcf..b97f755 100644
--- a/Notebooks/Chap16/16_3_Contraction_Mappings.ipynb
+++ b/Notebooks/Chap16/16_3_Contraction_Mappings.ipynb
@@ -22,7 +22,7 @@
"\n",
"This notebook investigates a 1D normalizing flows example similar to that illustrated in figure 16.9 in the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
]
diff --git a/Notebooks/Chap17/17_1_Latent_Variable_Models.ipynb b/Notebooks/Chap17/17_1_Latent_Variable_Models.ipynb
index a8cba0a..ac6d2f9 100644
--- a/Notebooks/Chap17/17_1_Latent_Variable_Models.ipynb
+++ b/Notebooks/Chap17/17_1_Latent_Variable_Models.ipynb
@@ -22,7 +22,7 @@
"\n",
"This notebook investigates a non-linear latent variable model similar to that in figures 17.2 and 17.3 of the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
]
diff --git a/Notebooks/Chap17/17_2_Reparameterization_Trick.ipynb b/Notebooks/Chap17/17_2_Reparameterization_Trick.ipynb
index da9cc22..2fa0429 100644
--- a/Notebooks/Chap17/17_2_Reparameterization_Trick.ipynb
+++ b/Notebooks/Chap17/17_2_Reparameterization_Trick.ipynb
@@ -20,7 +20,7 @@
"\n",
"This notebook investigates the reparameterization trick as described in section 17.7 of the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
]
diff --git a/Notebooks/Chap17/17_3_Importance_Sampling.ipynb b/Notebooks/Chap17/17_3_Importance_Sampling.ipynb
index 92caf63..402460f 100644
--- a/Notebooks/Chap17/17_3_Importance_Sampling.ipynb
+++ b/Notebooks/Chap17/17_3_Importance_Sampling.ipynb
@@ -1,18 +1,16 @@
{
"cells": [
{
- "attachments": {},
"cell_type": "markdown",
"metadata": {
- "colab_type": "text",
- "id": "view-in-github"
+ "id": "view-in-github",
+ "colab_type": "text"
},
"source": [
" "
]
},
{
- "attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "t9vk9Elugvmi"
@@ -22,7 +20,7 @@
"\n",
"This notebook investigates importance sampling as described in section 17.8.1 of the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
]
@@ -40,7 +38,6 @@
]
},
{
- "attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "f7a6xqKjkmvT"
@@ -126,7 +123,6 @@
]
},
{
- "attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "Jr4UPcqmnXCS"
@@ -166,8 +162,8 @@
"mean_all = np.zeros_like(n_sample_all)\n",
"variance_all = np.zeros_like(n_sample_all)\n",
"for i in range(len(n_sample_all)):\n",
- " print(\"Computing mean and variance for expectation with %d samples\"%(n_sample_all[i]))\n",
- " mean_all[i],variance_all[i] = compute_mean_variance(n_sample_all[i])"
+ " mean_all[i],variance_all[i] = compute_mean_variance(n_sample_all[i])\n",
+ " print(\"No samples: \", n_sample_all[i], \", Mean: \", mean_all[i], \", Variance: \", variance_all[i])"
]
},
{
@@ -189,7 +185,6 @@
]
},
{
- "attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "XTUpxFlSuOl7"
@@ -199,7 +194,6 @@
]
},
{
- "attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "6hxsl3Pxo1TT"
@@ -234,7 +228,6 @@
]
},
{
- "attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "G9Xxo0OJsIqD"
@@ -283,7 +276,6 @@
]
},
{
- "attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "2sVDqP0BvxqM"
@@ -313,8 +305,8 @@
"mean_all2 = np.zeros_like(n_sample_all)\n",
"variance_all2 = np.zeros_like(n_sample_all)\n",
"for i in range(len(n_sample_all)):\n",
- " print(\"Computing variance for expectation with %d samples\"%(n_sample_all[i]))\n",
- " mean_all2[i], variance_all2[i] = compute_mean_variance2(n_sample_all[i])"
+ " mean_all2[i], variance_all2[i] = compute_mean_variance2(n_sample_all[i])\n",
+ " print(\"No samples: \", n_sample_all[i], \", Mean: \", mean_all2[i], \", Variance: \", variance_all2[i])"
]
},
{
@@ -348,7 +340,6 @@
]
},
{
- "attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "EtBP6NeLwZqz"
@@ -360,7 +351,6 @@
]
},
{
- "attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "_wuF-NoQu1--"
@@ -432,8 +422,8 @@
"mean_all2b = np.zeros_like(n_sample_all)\n",
"variance_all2b = np.zeros_like(n_sample_all)\n",
"for i in range(len(n_sample_all)):\n",
- " print(\"Computing variance for expectation with %d samples\"%(n_sample_all[i]))\n",
- " mean_all2b[i], variance_all2b[i] = compute_mean_variance2b(n_sample_all[i])"
+ " mean_all2b[i], variance_all2b[i] = compute_mean_variance2b(n_sample_all[i])\n",
+ " print(\"No samples: \", n_sample_all[i], \", Mean: \", mean_all2b[i], \", Variance: \", variance_all2b[i])"
]
},
{
@@ -478,7 +468,6 @@
]
},
{
- "attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "y8rgge9MNiOc"
@@ -490,9 +479,8 @@
],
"metadata": {
"colab": {
- "authorship_tag": "ABX9TyNecz9/CDOggPSmy1LjT/Dv",
- "include_colab_link": true,
- "provenance": []
+ "provenance": [],
+ "include_colab_link": true
},
"kernelspec": {
"display_name": "Python 3",
@@ -504,4 +492,4 @@
},
"nbformat": 4,
"nbformat_minor": 0
-}
+}
\ No newline at end of file
diff --git a/Notebooks/Chap18/18_1_Diffusion_Encoder.ipynb b/Notebooks/Chap18/18_1_Diffusion_Encoder.ipynb
index 4824fcf..7b8028a 100644
--- a/Notebooks/Chap18/18_1_Diffusion_Encoder.ipynb
+++ b/Notebooks/Chap18/18_1_Diffusion_Encoder.ipynb
@@ -20,7 +20,7 @@
"\n",
"This notebook investigates the diffusion encoder as described in section 18.2 of the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
]
diff --git a/Notebooks/Chap18/18_2_1D_Diffusion_Model.ipynb b/Notebooks/Chap18/18_2_1D_Diffusion_Model.ipynb
index 42b7c65..c59e652 100644
--- a/Notebooks/Chap18/18_2_1D_Diffusion_Model.ipynb
+++ b/Notebooks/Chap18/18_2_1D_Diffusion_Model.ipynb
@@ -22,7 +22,7 @@
"\n",
"This notebook investigates the diffusion encoder as described in section 18.3 and 18.4 of the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
]
diff --git a/Notebooks/Chap18/18_3_Reparameterized_Model.ipynb b/Notebooks/Chap18/18_3_Reparameterized_Model.ipynb
index eac07b7..02e56a5 100644
--- a/Notebooks/Chap18/18_3_Reparameterized_Model.ipynb
+++ b/Notebooks/Chap18/18_3_Reparameterized_Model.ipynb
@@ -22,7 +22,7 @@
"\n",
"This notebook investigates the reparameterized model as described in section 18.5 of the book and implements algorithms 18.1 and 18.2.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
]
diff --git a/Notebooks/Chap18/18_4_Families_of_Diffusion_Models.ipynb b/Notebooks/Chap18/18_4_Families_of_Diffusion_Models.ipynb
index b01d7ff..335e848 100644
--- a/Notebooks/Chap18/18_4_Families_of_Diffusion_Models.ipynb
+++ b/Notebooks/Chap18/18_4_Families_of_Diffusion_Models.ipynb
@@ -22,7 +22,7 @@
"\n",
"This notebook investigates the reparameterized model as described in section 18.5 of the book and computers the results shown in figure 18.10c-f. These models are based on the paper \"Denoising diffusion implicit models\" which can be found [here](https://arxiv.org/pdf/2010.02502.pdf).\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
]
diff --git a/Notebooks/Chap19/19_1_Markov_Decision_Processes.ipynb b/Notebooks/Chap19/19_1_Markov_Decision_Processes.ipynb
index ddac7cc..76b2854 100644
--- a/Notebooks/Chap19/19_1_Markov_Decision_Processes.ipynb
+++ b/Notebooks/Chap19/19_1_Markov_Decision_Processes.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook investigates Markov decision processes as described in section 19.1 of the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap19/19_2_Dynamic_Programming.ipynb b/Notebooks/Chap19/19_2_Dynamic_Programming.ipynb
index 62a1275..f326f6b 100644
--- a/Notebooks/Chap19/19_2_Dynamic_Programming.ipynb
+++ b/Notebooks/Chap19/19_2_Dynamic_Programming.ipynb
@@ -4,7 +4,6 @@
"metadata": {
"colab": {
"provenance": [],
- "authorship_tag": "ABX9TyOlD6kmCxX3SKKuh3oJikKA",
"include_colab_link": true
},
"kernelspec": {
@@ -33,7 +32,7 @@
"\n",
"This notebook investigates the dynamic programming approach to tabular reinforcement learning as described in figure 19.10 of the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
@@ -406,6 +405,10 @@
" state_values_new[state] = 3.0\n",
" break\n",
"\n",
+ " # TODO -- Write this function (from equation 19.11, but bear in mind policy is deterministic here)\n",
+ " # Replace this line\n",
+ " state_values_new[state] = 0\n",
+ "\n",
" return state_values_new\n",
"\n",
"# Greedily choose the action that maximizes the value for each state.\n",
@@ -527,4 +530,4 @@
}
}
]
-}
+}
\ No newline at end of file
diff --git a/Notebooks/Chap19/19_3_Monte_Carlo_Methods.ipynb b/Notebooks/Chap19/19_3_Monte_Carlo_Methods.ipynb
index 0f42d3d..22468ce 100644
--- a/Notebooks/Chap19/19_3_Monte_Carlo_Methods.ipynb
+++ b/Notebooks/Chap19/19_3_Monte_Carlo_Methods.ipynb
@@ -22,7 +22,7 @@
"\n",
"NOTE! There is a mistake in Figure 19.11 in the first printing of the book, so check the errata to avoid becoming confused. Apologies!\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n",
"\n",
diff --git a/Notebooks/Chap19/19_4_Temporal_Difference_Methods.ipynb b/Notebooks/Chap19/19_4_Temporal_Difference_Methods.ipynb
index d85443d..8a98c79 100644
--- a/Notebooks/Chap19/19_4_Temporal_Difference_Methods.ipynb
+++ b/Notebooks/Chap19/19_4_Temporal_Difference_Methods.ipynb
@@ -20,7 +20,7 @@
"\n",
"This notebook investigates temporal difference methods for tabular reinforcement learning as described in section 19.3.3 of the book\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n",
"\n",
diff --git a/Notebooks/Chap19/19_5_Control_Variates.ipynb b/Notebooks/Chap19/19_5_Control_Variates.ipynb
index 5af4f99..1ce945a 100644
--- a/Notebooks/Chap19/19_5_Control_Variates.ipynb
+++ b/Notebooks/Chap19/19_5_Control_Variates.ipynb
@@ -34,7 +34,7 @@
"This notebook investigates the method of control variates as described in figure 19.16\n",
"\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap20/20_1_Random_Data.ipynb b/Notebooks/Chap20/20_1_Random_Data.ipynb
index d930a6d..0689209 100644
--- a/Notebooks/Chap20/20_1_Random_Data.ipynb
+++ b/Notebooks/Chap20/20_1_Random_Data.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook investigates training the network with random data, as illustrated in figure 20.1.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n",
"\n"
diff --git a/Notebooks/Chap20/20_2_Full_Batch_Gradient_Descent.ipynb b/Notebooks/Chap20/20_2_Full_Batch_Gradient_Descent.ipynb
index 72d8f7e..672d827 100644
--- a/Notebooks/Chap20/20_2_Full_Batch_Gradient_Descent.ipynb
+++ b/Notebooks/Chap20/20_2_Full_Batch_Gradient_Descent.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook investigates training a network with full batch gradient descent as in figure 20.2. There is also a version (notebook takes a long time to run), but this didn't speed it up much for me. If you run out of CoLab time, you'll need to download the Python file and run locally.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
],
diff --git a/Notebooks/Chap20/20_2_Full_Batch_Gradient_Descent_GPU.ipynb b/Notebooks/Chap20/20_2_Full_Batch_Gradient_Descent_GPU.ipynb
index a1f558d..b9bb56d 100644
--- a/Notebooks/Chap20/20_2_Full_Batch_Gradient_Descent_GPU.ipynb
+++ b/Notebooks/Chap20/20_2_Full_Batch_Gradient_Descent_GPU.ipynb
@@ -35,7 +35,7 @@
"\n",
"This notebook investigates training a network with full batch gradient descent as in figure 20.2. This is the GPU version (notebook takes a long time to run). If you are using Colab then you need to go change the runtime type to GPU on the Runtime menu. Even then, you may run out of time. If that's the case, you'll need to download the Python file and run locally.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n",
"\n"
diff --git a/Notebooks/Chap20/20_3_Lottery_Tickets.ipynb b/Notebooks/Chap20/20_3_Lottery_Tickets.ipynb
index aafad0f..0134a53 100644
--- a/Notebooks/Chap20/20_3_Lottery_Tickets.ipynb
+++ b/Notebooks/Chap20/20_3_Lottery_Tickets.ipynb
@@ -32,7 +32,7 @@
"\n",
"This notebook investigates the phenomenon of lottery tickets as discussed in section 20.2.7. This notebook is highly derivative of the MNIST-1D code hosted by Sam Greydanus at https://github.com/greydanus/mnist1d. \n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions."
]
diff --git a/Notebooks/Chap20/20_4_Adversarial_Attacks.ipynb b/Notebooks/Chap20/20_4_Adversarial_Attacks.ipynb
index eea7371..efd73a0 100644
--- a/Notebooks/Chap20/20_4_Adversarial_Attacks.ipynb
+++ b/Notebooks/Chap20/20_4_Adversarial_Attacks.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook builds uses the network for classification of MNIST from Notebook 10.5. The code is adapted from https://nextjournal.com/gkoehler/pytorch-mnist, and uses the fast gradient sign attack of [Goodfellow et al. (2015)](https://arxiv.org/abs/1412.6572). Having trained, the network, we search for adversarial examples -- inputs which look very similar to class A, but are mistakenly classified as class B. We do this by starting with a correctly classified example and perturbing it according to the gradients of the network so that the output changes.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n"
],
diff --git a/Notebooks/Chap21/21_1_Bias_Mitigation.ipynb b/Notebooks/Chap21/21_1_Bias_Mitigation.ipynb
index 8dbcc8b..63b2c92 100644
--- a/Notebooks/Chap21/21_1_Bias_Mitigation.ipynb
+++ b/Notebooks/Chap21/21_1_Bias_Mitigation.ipynb
@@ -22,7 +22,7 @@
"\n",
"This notebook investigates a post-processing method for bias mitigation (see figure 21.2 in the book). It based on this [blog](https://www.borealisai.com/research-blogs/tutorial1-bias-and-fairness-ai/) that I wrote for Borealis AI in 2019, which itself was derived from [this blog](https://research.google.com/bigpicture/attacking-discrimination-in-ml/) by Wattenberg, Viégas, and Hardt.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n"
]
diff --git a/Notebooks/Chap21/21_2_Explainability.ipynb b/Notebooks/Chap21/21_2_Explainability.ipynb
index e64cc41..fcdd580 100644
--- a/Notebooks/Chap21/21_2_Explainability.ipynb
+++ b/Notebooks/Chap21/21_2_Explainability.ipynb
@@ -33,7 +33,7 @@
"\n",
"This notebook investigates the LIME explainability method as depicted in figure 21.3 of the book.\n",
"\n",
- "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
"\n",
"Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n"
],
diff --git a/Trees/LinearRegression_FitModel.ipynb b/Trees/LinearRegression_FitModel.ipynb
new file mode 100644
index 0000000..6363dda
--- /dev/null
+++ b/Trees/LinearRegression_FitModel.ipynb
@@ -0,0 +1,326 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": [],
+ "authorship_tag": "ABX9TyMD3zdteWU9gy7nYCZvDeGT",
+ "include_colab_link": true
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ " "
+ ],
+ "metadata": {
+ "id": "9Qgup23vwdll"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Fitting 1D regression model\n",
+ "\n",
+ "The purpose of this Python notebook experiment with fitting the 1D regression model with a least squares loss using coordinate descent.\n",
+ "\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and write code to complete the functions.\n",
+ "\n",
+ "You can save a local copy of this notebook in your Google account and work through it in Colab (recommended) or you can download the notebook and run it locally using Jupyter notebook or similar. If you are using CoLab, we recommend that *turn off* AI autocomplete (under cog icon in top-right corner), which will give you the answers and defeat the purpose of the exercise.\n",
+ "\n",
+ "A fully working version of this notebook with the complete answers can be found [here](https://https://colab.research.google.com/github/udlbook/udlbook/blob/main/Trees/LinearRegression_LossFunction_Answers.ipynb).\n",
+ "\n",
+ "Contact me at iclimbtreesmail@gmail.com if you find any mistakes or have any suggestions."
+ ],
+ "metadata": {
+ "id": "uORlKyPv02ge"
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "bbF6SE_F0tU8"
+ },
+ "outputs": [],
+ "source": [
+ "# Math library\n",
+ "import numpy as np\n",
+ "# Plotting library\n",
+ "import matplotlib.pyplot as plt\n",
+ "from matplotlib import cm\n",
+ "from matplotlib.colors import ListedColormap\n",
+ "# Time library\n",
+ "import time\n",
+ "# Used to update figures\n",
+ "from IPython import display"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Create the same input / output data as used in the unit\n",
+ "x = np.array([0.03, 0.19, 0.34, 0.46, 0.78, 0.81, 1.08, 1.18, 1.39, 1.60, 1.65, 1.90])\n",
+ "y = np.array([0.67, 0.85, 1.05, 1.0, 1.40, 1.5, 1.3, 1.54, 1.55, 1.68, 1.73, 1.6 ])"
+ ],
+ "metadata": {
+ "id": "9fGAobBnyI7Z"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Define the model and the least squares loss\n",
+ "\n",
+ "The linear regression model is defined as:\n",
+ "\n",
+ "$$\\textrm{f}[x,\\boldsymbol\\phi] = \\phi_0+\\phi_1 x$$\n",
+ "\n",
+ "where $\\phi_0$ is the y-intercept and $\\phi_1$ is the slope."
+ ],
+ "metadata": {
+ "id": "FylovB6YyhWA"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def f(x, phi0, phi1):\n",
+ " return phi0 + phi1 * x"
+ ],
+ "metadata": {
+ "id": "fpgM_LstyLwt"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "\n",
+ "The least squares loss is defined as the sum of the squared deviations of the model output $\\textrm{f}[x_i,\\boldsymbol\\phi]$ and the true output target $y_i$:\n",
+ "\n",
+ " \\begin{align} L[\\boldsymbol\\phi] & = \\sum_{i=1}^{I} \\bigl(\\textrm{f}[x_{i}, \\boldsymbol\\phi]-y_{i}\\bigr)^{2} \\\\ &= \\sum_{i=1}^{I} \\bigl(\\phi_{0}+\\phi_{1}x_i-y_{i}\\bigr)^{2} \\tag{1.2}\\end{align}"
+ ],
+ "metadata": {
+ "id": "cG5kwmmPybZK"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Function to calculate the loss\n",
+ "def compute_loss(x,y,f,phi0,phi1):\n",
+ "\n",
+ " signed_distance = f(x,phi0,phi1)-y\n",
+ " loss = np.sum(signed_distance * signed_distance)\n",
+ "\n",
+ " return loss"
+ ],
+ "metadata": {
+ "id": "I1vBlFMAyfzp"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Fit the model\n",
+ "\n",
+ "We'll fit the model using a version of coordinate descent. We first choose a step size $\\alpha$ and then we alternate between updating the intercept parameter $\\phi_0$ and the slope parameter $\\phi_1$. \n",
+ "\n",
+ "1. Compare the loss for models with $[\\phi_0, \\phi_1]$, $[\\phi_0+\\alpha, \\phi_1]$, and $[\\phi_0-\\alpha, \\phi_1]$. Update the parameters according to the set that have the minimum loss.\n",
+ "\n",
+ "2. Compare the loss for models with $[\\phi_0, \\phi_1]$, $[\\phi_0,\\phi_1+\\alpha]$, and $[\\phi_0, \\phi_1-\\alpha]$.\n",
+ "\n",
+ "We'll alternate these two steps until we cannot improve any further."
+ ],
+ "metadata": {
+ "id": "4BrOiVY0zTY4"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Utility function for plotting the three models at each stage\n",
+ "def plot(fig,ax, x,y, f, phi0_1, phi1_1, phi0_2, phi1_2, phi0_3, phi1_3, loss1, loss2, loss3):\n",
+ " x_plot = np.linspace(0,2,100)\n",
+ "\n",
+ " # Clear previous drawing on these axes\n",
+ " ax.clear()\n",
+ " # Plotting code\n",
+ " ax.plot(x,y,'bo')\n",
+ " ax.plot(x_plot,f(x_plot, phi0_1, phi1_1), 'r-')\n",
+ " ax.plot(x_plot,f(x_plot, phi0_2, phi1_2), 'g-')\n",
+ " ax.plot(x_plot,f(x_plot, phi0_3, phi1_3), 'b-')\n",
+ " ax.set_xlim(0,2)\n",
+ " ax.set_ylim(0,2)\n",
+ " ax.set_title('Losses: {:.2f}(red), {:.2f} (green), {:.2f} (blue)'.format(loss1, loss2, loss3))\n",
+ " ax.set_aspect('equal', adjustable='box')\n",
+ "\n",
+ " # Show the figure and wait 0.1 sec\n",
+ " display.display(fig)\n",
+ " time.sleep(0.1)\n",
+ " display.clear_output(wait=True)\n"
+ ],
+ "metadata": {
+ "id": "UbhOL6ob6m6Y"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Main fitting algorithm\n",
+ "def fit_model(x,y,f,compute_loss,phi0_init, phi1_init, alpha, n_iter):\n",
+ "\n",
+ " # Create figure to display results\n",
+ " fig,ax = plt.subplots()\n",
+ "\n",
+ " # These two variables to store the evolution of the parameters\n",
+ " phi0_progress = np.zeros(n_iter)\n",
+ " phi1_progress = np.zeros(n_iter)\n",
+ "\n",
+ " # Initialize the history with the provided values\n",
+ " phi0_progress[0] = phi0_init\n",
+ " phi1_progress[0] = phi1_init\n",
+ "\n",
+ " # Main iteration loop\n",
+ " for c_iter in range(1, n_iter):\n",
+ " # TODO Choose parameters for first model [phi0, phi1]\n",
+ " # REPLACE THIS CODE\n",
+ " phi0_1 = 0\n",
+ " phi1_1 = 0\n",
+ "\n",
+ " # Change the intercept phi0 every other iteration\n",
+ " if (c_iter%2==0):\n",
+ " # TODO Choose parameters for second model [phi_0+alpha, phi1]\n",
+ " # REPLACE THIS CODE\n",
+ " phi0_2 = 0\n",
+ " phi1_2 = 0\n",
+ "\n",
+ " # TODO Choose parameters for third model [phi_0+alpha, phi1]\n",
+ " # REPLACE THIS CODE\n",
+ " phi0_3 = 0\n",
+ " phi1_3 = 0\n",
+ "\n",
+ " # Change the slope phi1 every other iteration\n",
+ " else:\n",
+ " # TODO Choose parameters for second model [phi_0, phi1+alpha]\n",
+ " # REPLACE THIS CODE\n",
+ " phi0_2 = 0\n",
+ " phi1_2 = 0\n",
+ "\n",
+ " # TODO Choose parameters for third model [phi_0, phi1-alpha]\n",
+ " # REPLACE THIS CODE\n",
+ " phi0_3 = 0\n",
+ " phi1_3 = 0\n",
+ "\n",
+ " # TODO Compute the loss for the three models\n",
+ " # REPLACE THIS CODE\n",
+ " loss1 = 0\n",
+ " loss2 = 0\n",
+ " loss3 = 0\n",
+ "\n",
+ " # TODO Set the parameters to the whichever model has the lowest loss\n",
+ " # REPLACE THIS CODE\n",
+ " phi0_progress[c_iter] = 0\n",
+ " phi1_progress[c_iter] = 0\n",
+ "\n",
+ " # Plot the progress\n",
+ " plot(fig, ax, x,y, f, phi0_1, phi1_1, phi0_2, phi1_2, phi0_3, phi1_3, loss1, loss2, loss3)\n",
+ "\n",
+ " return phi0_progress, phi1_progress"
+ ],
+ "metadata": {
+ "id": "VaonEi8gzf3z"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Run the fitting algorithm\n",
+ "phi0_progress, phi1_progress = fit_model(x,y,f,compute_loss,phi0_init=1.35, phi1_init=-0.55, alpha=0.125, n_iter=20)"
+ ],
+ "metadata": {
+ "id": "STyOoYYv9Ddz"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Helper code to do the drawing\n",
+ "def draw_loss_function(compute_loss, f, x_in, y_in, phi0_progress, phi1_progress):\n",
+ " # Define pretty colormap\n",
+ " my_colormap_vals_hex =('2a0902', '2b0a03', '2c0b04', '2d0c05', '2e0c06', '2f0d07', '300d08', '310e09', '320f0a', '330f0b', '34100b', '35110c', '36110d', '37120e', '38120f', '39130f', '3a1410', '3b1411', '3c1511', '3d1612', '3e1613', '3f1713', '401714', '411814', '421915', '431915', '451a16', '461b16', '471b17', '481c17', '491d18', '4a1d18', '4b1e19', '4c1f19', '4d1f1a', '4e201b', '50211b', '51211c', '52221c', '53231d', '54231d', '55241e', '56251e', '57261f', '58261f', '592720', '5b2821', '5c2821', '5d2922', '5e2a22', '5f2b23', '602b23', '612c24', '622d25', '632e25', '652e26', '662f26', '673027', '683027', '693128', '6a3229', '6b3329', '6c342a', '6d342a', '6f352b', '70362c', '71372c', '72372d', '73382e', '74392e', '753a2f', '763a2f', '773b30', '783c31', '7a3d31', '7b3e32', '7c3e33', '7d3f33', '7e4034', '7f4134', '804235', '814236', '824336', '834437', '854538', '864638', '874739', '88473a', '89483a', '8a493b', '8b4a3c', '8c4b3c', '8d4c3d', '8e4c3e', '8f4d3f', '904e3f', '924f40', '935041', '945141', '955242', '965343', '975343', '985444', '995545', '9a5646', '9b5746', '9c5847', '9d5948', '9e5a49', '9f5a49', 'a05b4a', 'a15c4b', 'a35d4b', 'a45e4c', 'a55f4d', 'a6604e', 'a7614e', 'a8624f', 'a96350', 'aa6451', 'ab6552', 'ac6552', 'ad6653', 'ae6754', 'af6855', 'b06955', 'b16a56', 'b26b57', 'b36c58', 'b46d59', 'b56e59', 'b66f5a', 'b7705b', 'b8715c', 'b9725d', 'ba735d', 'bb745e', 'bc755f', 'bd7660', 'be7761', 'bf7862', 'c07962', 'c17a63', 'c27b64', 'c27c65', 'c37d66', 'c47e67', 'c57f68', 'c68068', 'c78169', 'c8826a', 'c9836b', 'ca846c', 'cb856d', 'cc866e', 'cd876f', 'ce886f', 'ce8970', 'cf8a71', 'd08b72', 'd18c73', 'd28d74', 'd38e75', 'd48f76', 'd59077', 'd59178', 'd69279', 'd7937a', 'd8957b', 'd9967b', 'da977c', 'da987d', 'db997e', 'dc9a7f', 'dd9b80', 'de9c81', 'de9d82', 'df9e83', 'e09f84', 'e1a185', 'e2a286', 'e2a387', 'e3a488', 'e4a589', 'e5a68a', 'e5a78b', 'e6a88c', 'e7aa8d', 'e7ab8e', 'e8ac8f', 'e9ad90', 'eaae91', 'eaaf92', 'ebb093', 'ecb295', 'ecb396', 'edb497', 'eeb598', 'eeb699', 'efb79a', 'efb99b', 'f0ba9c', 'f1bb9d', 'f1bc9e', 'f2bd9f', 'f2bfa1', 'f3c0a2', 'f3c1a3', 'f4c2a4', 'f5c3a5', 'f5c5a6', 'f6c6a7', 'f6c7a8', 'f7c8aa', 'f7c9ab', 'f8cbac', 'f8ccad', 'f8cdae', 'f9ceb0', 'f9d0b1', 'fad1b2', 'fad2b3', 'fbd3b4', 'fbd5b6', 'fbd6b7', 'fcd7b8', 'fcd8b9', 'fcdaba', 'fddbbc', 'fddcbd', 'fddebe', 'fddfbf', 'fee0c1', 'fee1c2', 'fee3c3', 'fee4c5', 'ffe5c6', 'ffe7c7', 'ffe8c9', 'ffe9ca', 'ffebcb', 'ffeccd', 'ffedce', 'ffefcf', 'fff0d1', 'fff2d2', 'fff3d3', 'fff4d5', 'fff6d6', 'fff7d8', 'fff8d9', 'fffada', 'fffbdc', 'fffcdd', 'fffedf', 'ffffe0')\n",
+ " my_colormap_vals_dec = np.array([int(element,base=16) for element in my_colormap_vals_hex])\n",
+ " r = np.floor(my_colormap_vals_dec/(256*256))\n",
+ " g = np.floor((my_colormap_vals_dec - r *256 *256)/256)\n",
+ " b = np.floor(my_colormap_vals_dec - r * 256 *256 - g * 256)\n",
+ " my_colormap = ListedColormap(np.vstack((r,g,b)).transpose()/255.0)\n",
+ "\n",
+ " # Make grid of intercept/slope values to plot\n",
+ " intercepts_mesh, slopes_mesh = np.meshgrid(np.arange(0.0,2.0,0.02), np.arange(-1.0,1.0,0.002))\n",
+ " loss_mesh = np.zeros_like(slopes_mesh)\n",
+ "\n",
+ " # Compute loss for every set of parameters\n",
+ " for idslope, slope in np.ndenumerate(slopes_mesh):\n",
+ " loss_mesh[idslope] = compute_loss(x_in, y_in, f, intercepts_mesh[idslope], slope)\n",
+ "\n",
+ " fig,ax = plt.subplots()\n",
+ " fig.set_size_inches(6,6)\n",
+ " ax.contourf(intercepts_mesh,slopes_mesh,loss_mesh,256,cmap=my_colormap)\n",
+ " ax.contour(intercepts_mesh,slopes_mesh,loss_mesh,40,colors=['#80808080'])\n",
+ " ax.plot(phi0_progress, phi1_progress, 'o-', color='#7fe7dc')\n",
+ "\n",
+ " ax.set_ylim([1,-1])\n",
+ " ax.set_xlabel('Intercept, $\\phi_0$')\n",
+ " ax.set_ylabel('Slope, $\\phi_1$')\n",
+ " ax.set_aspect('equal')\n",
+ " plt.show()"
+ ],
+ "metadata": {
+ "id": "Q8DEVnj992AW"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "draw_loss_function(compute_loss, f, x, y, phi0_progress, phi1_progress)"
+ ],
+ "metadata": {
+ "id": "RMi7WItB-I05"
+ },
+ "execution_count": null,
+ "outputs": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Trees/LinearRegression_FitModel_Answers.ipynb b/Trees/LinearRegression_FitModel_Answers.ipynb
new file mode 100644
index 0000000..2170342
--- /dev/null
+++ b/Trees/LinearRegression_FitModel_Answers.ipynb
@@ -0,0 +1,357 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": [],
+ "authorship_tag": "ABX9TyM1295QftRarPE/1QkV+9xi",
+ "include_colab_link": true
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ " "
+ ],
+ "metadata": {
+ "id": "9Qgup23vwdll"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Fitting 1D regression model\n",
+ "\n",
+ "The purpose of this Python notebook experiment with fitting the 1D regression model with a least squares loss using coordinate descent.\n",
+ "\n",
+ "You can save a local copy of this notebook in your Google account and work through it in Colab (recommended) or you can download the notebook and run it locally using Jupyter notebook or similar. \n",
+ "\n",
+ "Contact me at iclimbtreesmail@gmail.com if you find any mistakes or have any suggestions."
+ ],
+ "metadata": {
+ "id": "uORlKyPv02ge"
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "id": "bbF6SE_F0tU8"
+ },
+ "outputs": [],
+ "source": [
+ "# Math library\n",
+ "import numpy as np\n",
+ "# Plotting library\n",
+ "import matplotlib.pyplot as plt\n",
+ "from matplotlib import cm\n",
+ "from matplotlib.colors import ListedColormap\n",
+ "# Time library\n",
+ "import time\n",
+ "# Used to update figures\n",
+ "from IPython import display"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Create the same input / output data as used in the unit\n",
+ "x = np.array([0.03, 0.19, 0.34, 0.46, 0.78, 0.81, 1.08, 1.18, 1.39, 1.60, 1.65, 1.90])\n",
+ "y = np.array([0.67, 0.85, 1.05, 1.0, 1.40, 1.5, 1.3, 1.54, 1.55, 1.68, 1.73, 1.6 ])"
+ ],
+ "metadata": {
+ "id": "9fGAobBnyI7Z"
+ },
+ "execution_count": 2,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Define the model and the least squares loss\n",
+ "\n",
+ "The linear regression model is defined as:\n",
+ "\n",
+ "$$\\textrm{f}[x,\\boldsymbol\\phi] = \\phi_0+\\phi_1 x$$\n",
+ "\n",
+ "where $\\phi_0$ is the y-intercept and $\\phi_1$ is the slope."
+ ],
+ "metadata": {
+ "id": "FylovB6YyhWA"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def f(x, phi0, phi1):\n",
+ " return phi0 + phi1 * x"
+ ],
+ "metadata": {
+ "id": "fpgM_LstyLwt"
+ },
+ "execution_count": 3,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "\n",
+ "The least squares loss is defined as the sum of the squared deviations of the model output $\\textrm{f}[x_i,\\boldsymbol\\phi]$ and the true output target $y_i$:\n",
+ "\n",
+ " \\begin{align} L[\\boldsymbol\\phi] & = \\sum_{i=1}^{I} \\bigl(\\textrm{f}[x_{i}, \\boldsymbol\\phi]-y_{i}\\bigr)^{2} \\\\ &= \\sum_{i=1}^{I} \\bigl(\\phi_{0}+\\phi_{1}x_i-y_{i}\\bigr)^{2} \\tag{1.2}\\end{align}"
+ ],
+ "metadata": {
+ "id": "cG5kwmmPybZK"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Function to calculate the loss\n",
+ "def compute_loss(x,y,f,phi0,phi1):\n",
+ "\n",
+ " signed_distance = f(x,phi0,phi1)-y\n",
+ " loss = np.sum(signed_distance * signed_distance)\n",
+ "\n",
+ " return loss"
+ ],
+ "metadata": {
+ "id": "I1vBlFMAyfzp"
+ },
+ "execution_count": 4,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Fit the model\n",
+ "\n",
+ "We'll fit the model using a version of coordinate descent. We first choose a step size $\\alpha$ and then we alternate between updating the intercept parameter $\\phi_0$ and the slope parameter $\\phi_1$. \n",
+ "\n",
+ "1. Compare the loss for models with $[\\phi_0, \\phi_1]$, $[\\phi_0+\\alpha, \\phi_1]$, and $[\\phi_0-\\alpha, \\phi_1]$. Update the parameters according to the set that have the minimum loss.\n",
+ "\n",
+ "2. Compare the loss for models with $[\\phi_0, \\phi_1]$, $[\\phi_0,\\phi_1+\\alpha]$, and $[\\phi_0, \\phi_1-\\alpha]$.\n",
+ "\n",
+ "We'll alternate these two steps until we cannot improve any further."
+ ],
+ "metadata": {
+ "id": "4BrOiVY0zTY4"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Utility function for plotting the three models at each stage\n",
+ "def plot(fig,ax, x,y, f, phi0_1, phi1_1, phi0_2, phi1_2, phi0_3, phi1_3, loss1, loss2, loss3):\n",
+ " x_plot = np.linspace(0,2,100)\n",
+ "\n",
+ " # Clear previous drawing on these axes\n",
+ " ax.clear()\n",
+ " # Plotting code\n",
+ " ax.plot(x,y,'bo')\n",
+ " ax.plot(x_plot,f(x_plot, phi0_1, phi1_1), 'r-')\n",
+ " ax.plot(x_plot,f(x_plot, phi0_2, phi1_2), 'g-')\n",
+ " ax.plot(x_plot,f(x_plot, phi0_3, phi1_3), 'b-')\n",
+ " ax.set_xlim(0,2)\n",
+ " ax.set_ylim(0,2)\n",
+ " ax.set_title('Losses: {:.2f}(red), {:.2f} (green), {:.2f} (blue)'.format(loss1, loss2, loss3))\n",
+ " ax.set_aspect('equal', adjustable='box')\n",
+ "\n",
+ " # Show the figure and wait 0.1 sec\n",
+ " display.display(fig)\n",
+ " time.sleep(0.1)\n",
+ " display.clear_output(wait=True)\n"
+ ],
+ "metadata": {
+ "id": "UbhOL6ob6m6Y"
+ },
+ "execution_count": 29,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Main fitting algorithm\n",
+ "def fit_model(x,y,f,compute_loss,phi0_init, phi1_init, alpha, n_iter):\n",
+ "\n",
+ " # Create figure to display results\n",
+ " fig,ax = plt.subplots()\n",
+ "\n",
+ " # These two variables to store the evolution of the parameters\n",
+ " phi0_progress = np.zeros(n_iter)\n",
+ " phi1_progress = np.zeros(n_iter)\n",
+ "\n",
+ " # Initialize the history with the provided values\n",
+ " phi0_progress[0] = phi0_init\n",
+ " phi1_progress[0] = phi1_init\n",
+ "\n",
+ " # Main iteration loop\n",
+ " for c_iter in range(1, n_iter):\n",
+ " # Choose parameters for first model [phi0, phi1]\n",
+ " phi0_1 = phi0_progress[c_iter-1]\n",
+ " phi1_1 = phi1_progress[c_iter-1]\n",
+ "\n",
+ " # Change the intercept phi0 every other iteration\n",
+ " if (c_iter%2==0):\n",
+ " # Choose parameters for second model [phi_0+alpha, phi1]\n",
+ " phi0_2 = phi0_progress[c_iter-1]+alpha\n",
+ " phi1_2 = phi1_progress[c_iter-1]\n",
+ "\n",
+ " # Choose parameters for third model [phi_0+alpha, phi1]\n",
+ " phi0_3 = phi0_progress[c_iter-1]-alpha\n",
+ " phi1_3 = phi1_progress[c_iter-1]\n",
+ "\n",
+ " # Change the slope phi1 every other iteration\n",
+ " else:\n",
+ " # Choose parameters for second model [phi_0, phi1+alpha]\n",
+ " phi0_2 = phi0_progress[c_iter-1]\n",
+ " phi1_2 = phi1_progress[c_iter-1]+alpha\n",
+ "\n",
+ " # Choose parameters for third model [phi_0, phi1-alpha]\n",
+ " phi0_3 = phi0_progress[c_iter-1]\n",
+ " phi1_3 = phi1_progress[c_iter-1]-alpha\n",
+ "\n",
+ " # Compute the loss for the three models\n",
+ " loss1 = compute_loss(x,y,f, phi0_1, phi1_1)\n",
+ " loss2 = compute_loss(x,y,f, phi0_2, phi1_2)\n",
+ " loss3 = compute_loss(x,y,f, phi0_3, phi1_3)\n",
+ "\n",
+ "\n",
+ "\n",
+ " # Set the parameters to the whichever model has the lowest loss\n",
+ " match np.argmin(np.array([loss1, loss2, loss3]))+1:\n",
+ " case 1:\n",
+ " phi0_progress[c_iter] = phi0_1\n",
+ " phi1_progress[c_iter] = phi1_1\n",
+ " case 2:\n",
+ " phi0_progress[c_iter] = phi0_2\n",
+ " phi1_progress[c_iter] = phi1_2\n",
+ " case 3:\n",
+ " phi0_progress[c_iter] = phi0_3\n",
+ " phi1_progress[c_iter] = phi1_3\n",
+ "\n",
+ " # Plot the progress\n",
+ " plot(fig, ax, x,y, f, phi0_1, phi1_1, phi0_2, phi1_2, phi0_3, phi1_3, loss1, loss2, loss3)\n",
+ "\n",
+ " return phi0_progress, phi1_progress"
+ ],
+ "metadata": {
+ "id": "VaonEi8gzf3z"
+ },
+ "execution_count": 30,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Run the fitting algorithm\n",
+ "phi0_progress, phi1_progress = fit_model(x,y,f,compute_loss,phi0_init=1.35, phi1_init=-0.55, alpha=0.125, n_iter=20)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 452
+ },
+ "id": "STyOoYYv9Ddz",
+ "outputId": "614671e1-de36-4be9-b9e2-4bacb73cc073"
+ },
+ "execution_count": 31,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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r6+PkydPyrWvW7dO7rm9vT26d++O7777rsSj4pJ+fpX5blUp9d87o37SuxsnTJhA8+bNU3hkZGTQ9evXydzcnFxcXOjbb7+lRYsWUePGjcnY2JjOnTsnW5e9vT0NHTqUFi1aRJs2baLPPvuMRCIRffnll0REdOXKFbKxsaHPP/+cVq1aRevWraNevXoRANq7d69sPT/99BPp6enR22+/TfPnz6fvvvuO/u///o88PDxo4sSJKq2rvHdvEhE9evSIbG1tyd3dnVatWkULFiygunXrKtyFJb1bq/gdjufPnycjIyOqV68ebd26VWGkleJ3vvbo0YP69u1L8+fPp40bN1JwcDCZmZmRlZUV3bx5Uy6mvXv3EgD6559/5NqDgoLI3Ny8xM/x2WefEQDq06cPrVixgtasWUOTJ08mZ2dnuaLcsLAwAkB9+/alNWvW0Lhx48jZ2Zns7OyUFqdv3rxZrl2V7bt27VoCQEOGDKFNmzbRqFGjCAB9++23cv0iIiIU7pKbPHkyAaD+/fsrbNsffvhBbvnx48cTAOrRowetXr2aFixYQPXr1yd9fX06ceJEmXEuXbqUjI2NKT09Xa599erVBIB8fHxo9erVFBoaKvt96d69u6xfaQXQx48fJxMTE2rQoAFFRETQxo0bKSIigrp27UrvvfeerF9ycjK5ubmRmZkZTZ48mb777juKjIykDz74gOrWrVvme5V0R6H0s5U0+ke3bt2oPLu8wsJC6tSpE9WpU4fmzJlDa9eupVatWpGFhQXdvn1brq+bm5tCcXdycjI5OTmRhYUFRURE0PLly6lZs2ZkampKV69elfW7ffs2mZubU506dSgsLIw2bNhAI0aMIAByd7kqI73bNiwsTK5dur1at25Nbdq0oRUrVtA333xDJiYm1KRJE8rOzpb1Lak4ffjw4WRgYEAhISG0du1a6tOnD7Vv315hW9+4cYPq1q1Ltra29M0339DGjRtp3rx51LdvX2rTpo3cOpV9tzRBp5KeskdiYiIRCbcb+/v7U506dcjMzIx69OihcAv4/PnzydPTk6ytrcnU1JRatGhB3377LeXn5xMR0YsXL2jixInUokULMjc3JysrK/Ly8qI9e/YoxHX8+HHy9/cnKysrMjExIXd3dxo9ejRdvHhRpXWpslMmIrp+/Tr17t2bzMzMyNramj766CNKTk6W61NS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\n"
+ },
+ "metadata": {}
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Helper code to do the drawing\n",
+ "def draw_loss_function(compute_loss, f, x_in, y_in, phi0_progress, phi1_progress):\n",
+ " # Define pretty colormap\n",
+ " my_colormap_vals_hex =('2a0902', '2b0a03', '2c0b04', '2d0c05', '2e0c06', '2f0d07', '300d08', '310e09', '320f0a', '330f0b', '34100b', '35110c', '36110d', '37120e', '38120f', '39130f', '3a1410', '3b1411', '3c1511', '3d1612', '3e1613', '3f1713', '401714', '411814', '421915', '431915', '451a16', '461b16', '471b17', '481c17', '491d18', '4a1d18', '4b1e19', '4c1f19', '4d1f1a', '4e201b', '50211b', '51211c', '52221c', '53231d', '54231d', '55241e', '56251e', '57261f', '58261f', '592720', '5b2821', '5c2821', '5d2922', '5e2a22', '5f2b23', '602b23', '612c24', '622d25', '632e25', '652e26', '662f26', '673027', '683027', '693128', '6a3229', '6b3329', '6c342a', '6d342a', '6f352b', '70362c', '71372c', '72372d', '73382e', '74392e', '753a2f', '763a2f', '773b30', '783c31', '7a3d31', '7b3e32', '7c3e33', '7d3f33', '7e4034', '7f4134', '804235', '814236', '824336', '834437', '854538', '864638', '874739', '88473a', '89483a', '8a493b', '8b4a3c', '8c4b3c', '8d4c3d', '8e4c3e', '8f4d3f', '904e3f', '924f40', '935041', '945141', '955242', '965343', '975343', '985444', '995545', '9a5646', '9b5746', '9c5847', '9d5948', '9e5a49', '9f5a49', 'a05b4a', 'a15c4b', 'a35d4b', 'a45e4c', 'a55f4d', 'a6604e', 'a7614e', 'a8624f', 'a96350', 'aa6451', 'ab6552', 'ac6552', 'ad6653', 'ae6754', 'af6855', 'b06955', 'b16a56', 'b26b57', 'b36c58', 'b46d59', 'b56e59', 'b66f5a', 'b7705b', 'b8715c', 'b9725d', 'ba735d', 'bb745e', 'bc755f', 'bd7660', 'be7761', 'bf7862', 'c07962', 'c17a63', 'c27b64', 'c27c65', 'c37d66', 'c47e67', 'c57f68', 'c68068', 'c78169', 'c8826a', 'c9836b', 'ca846c', 'cb856d', 'cc866e', 'cd876f', 'ce886f', 'ce8970', 'cf8a71', 'd08b72', 'd18c73', 'd28d74', 'd38e75', 'd48f76', 'd59077', 'd59178', 'd69279', 'd7937a', 'd8957b', 'd9967b', 'da977c', 'da987d', 'db997e', 'dc9a7f', 'dd9b80', 'de9c81', 'de9d82', 'df9e83', 'e09f84', 'e1a185', 'e2a286', 'e2a387', 'e3a488', 'e4a589', 'e5a68a', 'e5a78b', 'e6a88c', 'e7aa8d', 'e7ab8e', 'e8ac8f', 'e9ad90', 'eaae91', 'eaaf92', 'ebb093', 'ecb295', 'ecb396', 'edb497', 'eeb598', 'eeb699', 'efb79a', 'efb99b', 'f0ba9c', 'f1bb9d', 'f1bc9e', 'f2bd9f', 'f2bfa1', 'f3c0a2', 'f3c1a3', 'f4c2a4', 'f5c3a5', 'f5c5a6', 'f6c6a7', 'f6c7a8', 'f7c8aa', 'f7c9ab', 'f8cbac', 'f8ccad', 'f8cdae', 'f9ceb0', 'f9d0b1', 'fad1b2', 'fad2b3', 'fbd3b4', 'fbd5b6', 'fbd6b7', 'fcd7b8', 'fcd8b9', 'fcdaba', 'fddbbc', 'fddcbd', 'fddebe', 'fddfbf', 'fee0c1', 'fee1c2', 'fee3c3', 'fee4c5', 'ffe5c6', 'ffe7c7', 'ffe8c9', 'ffe9ca', 'ffebcb', 'ffeccd', 'ffedce', 'ffefcf', 'fff0d1', 'fff2d2', 'fff3d3', 'fff4d5', 'fff6d6', 'fff7d8', 'fff8d9', 'fffada', 'fffbdc', 'fffcdd', 'fffedf', 'ffffe0')\n",
+ " my_colormap_vals_dec = np.array([int(element,base=16) for element in my_colormap_vals_hex])\n",
+ " r = np.floor(my_colormap_vals_dec/(256*256))\n",
+ " g = np.floor((my_colormap_vals_dec - r *256 *256)/256)\n",
+ " b = np.floor(my_colormap_vals_dec - r * 256 *256 - g * 256)\n",
+ " my_colormap = ListedColormap(np.vstack((r,g,b)).transpose()/255.0)\n",
+ "\n",
+ " # Make grid of intercept/slope values to plot\n",
+ " intercepts_mesh, slopes_mesh = np.meshgrid(np.arange(0.0,2.0,0.02), np.arange(-1.0,1.0,0.002))\n",
+ " loss_mesh = np.zeros_like(slopes_mesh)\n",
+ "\n",
+ " # Compute loss for every set of parameters\n",
+ " for idslope, slope in np.ndenumerate(slopes_mesh):\n",
+ " loss_mesh[idslope] = compute_loss(x_in, y_in, f, intercepts_mesh[idslope], slope)\n",
+ "\n",
+ " fig,ax = plt.subplots()\n",
+ " fig.set_size_inches(6,6)\n",
+ " ax.contourf(intercepts_mesh,slopes_mesh,loss_mesh,256,cmap=my_colormap)\n",
+ " ax.contour(intercepts_mesh,slopes_mesh,loss_mesh,40,colors=['#80808080'])\n",
+ " ax.plot(phi0_progress, phi1_progress, 'o-', color='#7fe7dc')\n",
+ "\n",
+ " ax.set_ylim([1,-1])\n",
+ " ax.set_xlabel('Intercept, $\\phi_0$')\n",
+ " ax.set_ylabel('Slope, $\\phi_1$')\n",
+ " ax.set_aspect('equal')\n",
+ " plt.show()"
+ ],
+ "metadata": {
+ "id": "Q8DEVnj992AW"
+ },
+ "execution_count": 34,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "draw_loss_function(compute_loss, f, x, y, phi0_progress, phi1_progress)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 551
+ },
+ "id": "RMi7WItB-I05",
+ "outputId": "290edb7d-2a86-4684-f441-ad55d2500cb0"
+ },
+ "execution_count": 35,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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R/AjP/IjeO655wZjfuu3fgu/93u/h0984hP46le/CrPZjDe/+c1oztnWW2BYILAuytx32hDOjoB2a+QDUglQeIoGKXlA+G4XnbND8M3zPIuZgGIwglnbBEEz6LVaaB7FIbRbg1Ej1T+C3GMCKKsNxvUwQFHoNeqoHUTnEmmjzFZYQlti7kWziXJsH92h11QToBAELGsbMPnFhLp6KomKVFk0LbwzC1AYsxmunRugDQb02mIFT3OoP4oeCbK+G/fAYLOD53nk4lGUE2cTN6nxm+f42eXWl9U/oUj4dnYHZX+lZBLJ27d067+jNbzjCK5i9d57wXAcOs0mTr7zHEopZXG2yw7vqIUHgiDgCAQRfvkr4PQHpYqdLGLffAaZwwPwPYXqpCXAyVUFk3G7rDOyBiMA0bvV/73M07dnmi2aizLXniBAUJQoxgigcHoKvte73DDPxiYohkGn0UCxD0xzQNDcibMmkwnPP/88QqEQrFYrvvWtbyESiSAWi+Hee++d+6auxV796lfjla98Jf7zf/7PAACe57G+vo63v/3teNe73jUx/i1veQtqtRr++q//evDYa17zGjz44IP4xCc+AUEQsLKygn/37/4d3vnOdwIQPUN+vx//9b/+V/zoj/6oqnP1E2ff9cbXglvZEGXuW00IqRNg/Ju+AqAIDAcquDZQge0mjgdwIOvxGKwjPi6KtJ0LrLVOjzSLtDEOF1j/CkAspoHC2J0wSWJvi3YxJkgK1s0wGIvYvLByeoym1AV2GqCMX+v5fuIDBocTtvUQCFLMDynEougNuYN1SZCNbIOUOhhno3voyHTu1eo9ARTyTwwG+LZ3F84/0SW8Q9Hwb20PpO0r2SzSB3HwlxDeUftppxYejHY7/KHI4ObXqFaQPoijUSkvvLZau8ibPWU04oefFaUl/t8HHkJPpRqukul9w551E7S6PVjdvYlGpYzD554FoH/S7CKQskguimttHa7VVXSaTRw++y1AEBZOllU7f3yu0W5HYPcGACDxwncGndP747o8jy9l8stNnA0EAtjf30coFBp5/Etf+hIikci8y6q2druNp59+Gu9+97sHj5EkiTe+8Y148sknZec8+eSTeMc73jHy2Jvf/Gb81V/9FQAgHo8jmUzijW984+B5u92OV7/61XjyyScVIaXVag3CXYAIKQAA74oIKM26mIMinKud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6in8+I//ODiOw8rKCh5//PGONlr/3sctrdf553/+53jta1+Lqakp2O123H///S2V3gHgN3/zNzvezxs3bozxKnpL6zU+9dRTir+zkUikpd3t/l4q/d0RQnD33Xc32kzaezlq6ZDSR1/60pfw8MMP45FHHsH3v/993HvvvXjooYcQi8UU23/729/Gz/3cz+Gd73wnfvCDH+BNb3oT3vSmN7VUXv6d3/kd/N7v/R4+/elP4zvf+Q4sFgseeughlMvlq7qsDmm9zqeeego/93M/h7/7u7/D008/jbm5Obzuda/D6elpS7vXv/71CIfDjX9f+MIXruJyukrrdQKS02PzNRweHrY8P2nvp9Zr/PM///OW63v22WdB0zR+5md+pqXdpL2XhUIB9957Lx577DFV7ff39/GGN7wBr3nNa/DMM8/gve99L971rne13MAH+f0Yt7Re5ze/+U289rWvxV/+5V/ie9/7Hl7zmtfgp3/6p/GDH/ygpd3dd9/d8n7+/d///TiWr0par/FCm5ubLdcwPT3deO5OeC8/9alPtVzf8fEx3G53x9/mJL2XI5eoq6de8YpXiP/u3/27xs88z4vBYFB89NFHFdv/7M/+rPiGN7yh5bH77rtP/Df/5t+IoiiKgiCIfr9f/N3f/d3G8+l0WuQ4TvzCF74whitQJ63X2a56vS7abDbx85//fOOxt73tbeIb3/jGUS91KGm9zj/8wz8UHQ5H1/Em8f0c9r38xCc+IdpsNjGfzzcem8T3slkAxL/4i7/o2eZ973ufePfdd7c89uY3v1l86KGHGj8P+9qNW2quU0l33XWX+OEPf7jx8yOPPCLee++9o1vYCKXmGv/u7/5OBCCmUqmube7E9/Iv/uIvREKIeHBw0Hhskt/LUUjfSemharWK733ve3jwwQcbj1EUhQcffBBPP61clfbpp59uaQ8ADz30UKP9/v4+IpFISxuHw4H77ruv65jj1iDX2a5isYharQa3293y+FNPPYXp6Wmsr6/jPe95D5LJ5EjXrkWDXmc+n0coFMLc3Bze+MY34rnnnms8N2nv5yjey89+9rN4y1veAovF0vL4JL2Xg6jf3+YoXrtJlCAIyOVyHX+b29vbCAaDWFpawr/+1/+6xfjydtFLXvISBAIBvPa1r8W3vvWtxuN36nv52c9+Fg8++CBCoVDL43fCe9lNOqT0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\n"
+ },
+ "metadata": {}
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Trees/LinearRegression_FitModel_Quadratic.ipynb b/Trees/LinearRegression_FitModel_Quadratic.ipynb
new file mode 100644
index 0000000..00815de
--- /dev/null
+++ b/Trees/LinearRegression_FitModel_Quadratic.ipynb
@@ -0,0 +1,343 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": [],
+ "authorship_tag": "ABX9TyOBSkQDzgifR3FuyHZMuMGd",
+ "include_colab_link": true
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ " "
+ ],
+ "metadata": {
+ "id": "9Qgup23vwdll"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Fitting 1D quadratic model\n",
+ "\n",
+ "This notebook fits the quadratic model using coordinate descent.\n",
+ "\n",
+ "The code is complete (i.e., there is no work for you to to), but take a look at it and run the code to see the model training.\n",
+ "\n",
+ "You can save a local copy of this notebook in your Google account and work through it in Colab (recommended) or you can download the notebook and run it locally using Jupyter notebook or similar. \n",
+ "\n",
+ "Contact me at iclimbtreesmail@gmail.com if you find any mistakes or have any suggestions."
+ ],
+ "metadata": {
+ "id": "uORlKyPv02ge"
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "bbF6SE_F0tU8"
+ },
+ "outputs": [],
+ "source": [
+ "# Math library\n",
+ "import numpy as np\n",
+ "# Plotting library\n",
+ "import matplotlib.pyplot as plt\n",
+ "from matplotlib import cm\n",
+ "from matplotlib.colors import ListedColormap\n",
+ "# Time library\n",
+ "import time\n",
+ "# Used to update figures\n",
+ "from IPython import display"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Create the same input / output data as used in the unit\n",
+ "x = np.array([0.03, 0.19, 0.34, 0.46, 0.78, 0.81, 1.08, 1.18, 1.39, 1.60, 1.65, 1.90])\n",
+ "y = np.array([0.67, 0.85, 1.05, 1.0, 1.40, 1.5, 1.3, 1.54, 1.55, 1.68, 1.73, 1.6 ])"
+ ],
+ "metadata": {
+ "id": "9fGAobBnyI7Z"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Quadratic model\n",
+ "\n",
+ "Now let's consider fitting a more complex model. The quadratic model is defined as:\n",
+ "\n",
+ "$$ \\textrm{f}[x] = \\phi_0+\\phi_1 x+ \\phi_2 x^2$$\n",
+ "\n",
+ "and has three parameters $\\phi_0, \\phi_1, \\phi_2$"
+ ],
+ "metadata": {
+ "id": "vkmA_5scA5mi"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Model definition\n",
+ "def f_quad(x, phi0, phi1, phi2):\n",
+ " return phi0 + phi1 * x + phi2 * x * x\n",
+ "\n",
+ "# Function to calculate the loss\n",
+ "def compute_loss_quad(x,y,f,phi0,phi1,phi2):\n",
+ "\n",
+ " signed_distance = f(x,phi0,phi1,phi2)-y\n",
+ " loss = np.sum(signed_distance * signed_distance)\n",
+ "\n",
+ " return loss"
+ ],
+ "metadata": {
+ "id": "O_3gRgR1AhfT"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Draw this model for some values\n",
+ "phi0 = 1.35\n",
+ "phi1 = 0.5\n",
+ "phi2 = -0.2\n",
+ "\n",
+ "fig,ax = plt.subplots()\n",
+ "x_plot = np.linspace(0,2,100)\n",
+ "ax.plot(x,y,'bo')\n",
+ "ax.plot(x_plot,f_quad(x_plot, phi0, phi1, phi2), 'r-')\n",
+ "ax.set_xlim(0,2)\n",
+ "ax.set_ylim(0,2)\n",
+ "ax.set_title('Loss: {:.2f}'.format(compute_loss_quad(x,y,f_quad,phi0,phi1,phi2)))\n",
+ "ax.set_aspect('equal', adjustable='box')\n",
+ "plt.show()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 452
+ },
+ "id": "PPA7RplHCfGC",
+ "outputId": "2bb7dcc4-21b3-4f37-d75a-d8cfeca72a3a"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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\n"
+ },
+ "metadata": {}
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Fit the model\n",
+ "\n",
+ "We'll fit the model using a version of coordinate descent. We first choose a step size $\\alpha$ and then we alternate between updating the intercept parameter $\\phi_0$ and the slope parameters $\\phi_1$ and $\\phi_2$. \n",
+ "\n",
+ "1. Compare the loss for models with $[\\phi_0, \\phi_1, \\phi_2]$, $[\\phi_0+\\alpha, \\phi_1,\\phi_2]$, and $[\\phi_0-\\alpha, \\phi_1,\\phi_2]$. Update the parameters according to the set that have the minimum loss.\n",
+ "\n",
+ "2. Compare the loss for models with $[\\phi_0, \\phi_1, \\phi_2]$, $[\\phi_0,\\phi_1+\\alpha, \\phi_2]$, and $[\\phi_0, \\phi_1-\\alpha, \\phi_2]$.\n",
+ "\n",
+ "2. Compare the loss for models with $[\\phi_0, \\phi_1, \\phi_2]$, $[\\phi_0,\\phi_1, \\phi_2+\\alpha]$, and $[\\phi_0, \\phi_1, \\phi_2-\\alpha]$.\n",
+ "\n",
+ "We'll alternate these two steps until we cannot improve any further."
+ ],
+ "metadata": {
+ "id": "4BrOiVY0zTY4"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Utility function for plotting the three models at each stage\n",
+ "def plot_quad(fig, ax, x,y, f_quad, phi0_1, phi1_1, phi2_1, phi0_2, phi1_2, phi2_2, phi0_3, phi1_3, phi2_3, loss1, loss2, loss3):\n",
+ " x_plot = np.linspace(0,2,100)\n",
+ " ax.clear()\n",
+ " ax.plot(x,y,'bo')\n",
+ " ax.plot(x_plot,f_quad(x_plot, phi0_1, phi1_1, phi2_1), 'r-')\n",
+ " ax.plot(x_plot,f_quad(x_plot, phi0_2, phi1_2, phi2_2), 'g-')\n",
+ " ax.plot(x_plot,f_quad(x_plot, phi0_3, phi1_3, phi2_3), 'b-')\n",
+ " ax.set_title('Losses: {:.2f} (red), {:.2f} (green), {:.2f} (blue)'.format(loss1, loss2, loss3))\n",
+ " ax.set_xlim(0,2)\n",
+ " ax.set_ylim(0,2)\n",
+ " ax.set_aspect('equal', adjustable='box')\n",
+ "\n",
+ " # Show the figure and wait 0.1 sec\n",
+ " display.display(fig)\n",
+ " time.sleep(0.05)\n",
+ " display.clear_output(wait=True)"
+ ],
+ "metadata": {
+ "id": "_3d7J8CkCLQQ"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Fit the quad model\n",
+ "def fit_model_quad(x,y,f_quad,compute_loss_quad,phi0_init, phi1_init, phi2_init, alpha, n_iter):\n",
+ "\n",
+ " # Create figure to display results\n",
+ " fig,ax = plt.subplots()\n",
+ "\n",
+ " # These two variables to store the evolution of the parameters\n",
+ " phi0_progress = np.zeros(n_iter)\n",
+ " phi1_progress = np.zeros(n_iter)\n",
+ " phi2_progress = np.zeros(n_iter)\n",
+ "\n",
+ " # Initialize the history with the provided values\n",
+ " phi0_progress[0] = phi0_init\n",
+ " phi1_progress[0] = phi1_init\n",
+ " phi2_progress[0] = phi2_init\n",
+ "\n",
+ " # Main iteration loop\n",
+ " for c_iter in range(1, n_iter):\n",
+ " # Choose parameters for first model [phi0, phi1, phi2]\n",
+ " phi0_1 = phi0_progress[c_iter-1]\n",
+ " phi1_1 = phi1_progress[c_iter-1]\n",
+ " phi2_1 = phi2_progress[c_iter-1]\n",
+ "\n",
+ " # Change the intercept phi0\n",
+ " match c_iter%3:\n",
+ " case 0:\n",
+ " # Choose parameters for second model [phi_0+alpha, phi1, phi2]\n",
+ " phi0_2 = phi0_progress[c_iter-1]+alpha\n",
+ " phi1_2 = phi1_progress[c_iter-1]\n",
+ " phi2_2 = phi2_progress[c_iter-1]\n",
+ "\n",
+ " # Choose parameters for third model [phi_0+alpha, phi1, phi2]\n",
+ " phi0_3 = phi0_progress[c_iter-1]-alpha\n",
+ " phi1_3 = phi1_progress[c_iter-1]\n",
+ " phi2_3 = phi2_progress[c_iter-1]\n",
+ "\n",
+ " # Change the slope phi1\n",
+ " case 1:\n",
+ " # Choose parameters for second model [phi_0, phi1+alpha]\n",
+ " phi0_2 = phi0_progress[c_iter-1]\n",
+ " phi1_2 = phi1_progress[c_iter-1]+alpha\n",
+ " phi2_2 = phi2_progress[c_iter-1]\n",
+ "\n",
+ " # Choose parameters for third model [phi_0, phi1-alpha]\n",
+ " phi0_3 = phi0_progress[c_iter-1]\n",
+ " phi1_3 = phi1_progress[c_iter-1]-alpha\n",
+ " phi2_3 = phi2_progress[c_iter-1]\n",
+ "\n",
+ " # Change the quadratic term phi2\n",
+ " case 2:\n",
+ " # Choose parameters for second model [phi_0, phi1+alpha]\n",
+ " phi0_2 = phi0_progress[c_iter-1]\n",
+ " phi1_2 = phi1_progress[c_iter-1]\n",
+ " phi2_2 = phi2_progress[c_iter-1]+alpha\n",
+ "\n",
+ " # Choose parameters for third model [phi_0, phi1-alpha]\n",
+ " phi0_3 = phi0_progress[c_iter-1]\n",
+ " phi1_3 = phi1_progress[c_iter-1]\n",
+ " phi2_3 = phi2_progress[c_iter-1]-alpha\n",
+ "\n",
+ " # Compute the loss for all three models\n",
+ " loss1 = compute_loss_quad(x,y,f_quad, phi0_1, phi1_1, phi2_1)\n",
+ " loss2 = compute_loss_quad(x,y,f_quad, phi0_2, phi1_2, phi2_2)\n",
+ " loss3 = compute_loss_quad(x,y,f_quad, phi0_3, phi1_3, phi2_3)\n",
+ "\n",
+ " # Set the parameters to the whichever model has the lowest loss\n",
+ " match np.argmin(np.array([loss1, loss2, loss3]))+1:\n",
+ " case 1:\n",
+ " phi0_progress[c_iter] = phi0_1\n",
+ " phi1_progress[c_iter] = phi1_1\n",
+ " phi2_progress[c_iter] = phi2_1\n",
+ " case 2:\n",
+ " phi0_progress[c_iter] = phi0_2\n",
+ " phi1_progress[c_iter] = phi1_2\n",
+ " phi2_progress[c_iter] = phi2_2\n",
+ " case 3:\n",
+ " phi0_progress[c_iter] = phi0_3\n",
+ " phi1_progress[c_iter] = phi1_3\n",
+ " phi2_progress[c_iter] = phi2_3\n",
+ "\n",
+ "\n",
+ " # Plot the progress\n",
+ " plot_quad(fig, ax, x,y, f_quad, phi0_1, phi1_1, phi2_1, phi0_2, phi1_2, phi2_2, phi0_3, phi1_3, phi2_3, loss1, loss2, loss3)\n",
+ "\n",
+ " return phi0_progress, phi1_progress, phi2_progress"
+ ],
+ "metadata": {
+ "id": "uOvVKcj3ElEr"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Run the fitting algorithm\n",
+ "phi0_progress, phi1_progress, phi2_progress = fit_model_quad(x,y,f_quad,compute_loss_quad,phi0_init=1.35, phi1_init=-0.55, phi2_init = 0, alpha=0.015, n_iter=275)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 452
+ },
+ "id": "7v7RpAM64XuD",
+ "outputId": "132f0a01-a29c-4dbb-ad28-3b3b4a0fe738"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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zZo1K3Malk5CQkKUk5OT+uWXXzK7KS/UqlUr1bp168xuhlJKQk9kEY8fP1YFChRQS5cuzZT337Jli8qZM2eCTukGg0EVKFBAbdu2LVPalZ6uX7+ubGxs1J9//mkse/LkSYKj0rgzCZn1s0mJjh07qvbt2yco37Rpk3J3dzfp3P66mDhxoipbtmyWGPc0MefPn1eWlpaJDiKQGXRKveQEtxDCbOzZs4fPP/+c9u3bky9fPk6cOGGcKun48eMvnYVDiKzOrG5kEUK8WLFixXBzc+OHH37gv//+w8nJiW7dujFx4kQJPPFaSFGXBT8/P958801y585NwYIFad26daJ92563evVqypUrh62tLZUqVUowDI5SilGjRuHi4oKdnR1eXl5JDvMlhEg/xYoV47fffiMoKIiYmBiCgoJYsGCBSWd7IbKzFIXe3r176devH4cOHWLHjh08ffr0hSPWgzYSeOfOnenZsycnT56kdevWtG7d2qRvx3fffccPP/zA3LlzOXz4MDlz5sTb2ztBHzUhhBDiVbzSNb379+9TsGBB9u7da+yf9byOHTsSERHBpk2bjGW1atWiatWqzJ07F6UUrq6ufPHFFwwePBjQOls7Ozvj7+9v0h9NCCGEeBWvdE0vbgSQZzvdPu/gwYMMGjTIpMzb25sNGzYA2tA0QUFBJkPZODo64unpycGDBxMNvejoaJMRSQwGA//99x/58uXL9MFMhRBCpJxSisePH+Pq6priiapTItWhZzAYGDhwIG+99RZvvPFGkvWCgoISDKjq7OxsnCkg7t8X1Xmen59fgpERhBBCZH83b95MMLNKWkp16PXr14+zZ8/y559/pmV7kmXEiBEmR4+hoaEULVqUmzdvGodUEkIIkX2EhYXh5uaWZjNGJCVVode/f382bdrEvn37XprIhQoVSjA9fXBwsHFKnbh/g4ODjVPfxD1PalR6GxubRKfAcXBwkNATQohsLL0vUaXoxKlSiv79+7N+/Xp27dqVYALJxNSuXZuAgACTsh07dhhHCC9evDiFChUyqRMWFsbhw4dTPdq9EEIIkZgUHen169ePZcuWsXHjRnLnzm285ubo6Gic16xbt24ULlwYPz8/QJvBoEGDBnz//fe0aNGCFStWcOzYMebNmwdoqT5w4EDGjx9P6dKlKV68OCNHjsTV1ZXWrVun4aYKIYQwdykK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\n"
+ },
+ "metadata": {}
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "You can see that this takes a lot longer than for the simple linear regression model, but the final loss of 0.15 is less than the best we could achieve with that model (which was around 0.20). Adding the quadratic term which allows the function to \"bend\" improves the fit."
+ ],
+ "metadata": {
+ "id": "0FPMbBMlobYH"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Trees/LinearRegression_LeastSquares.ipynb b/Trees/LinearRegression_LeastSquares.ipynb
deleted file mode 100644
index e8b69d8..0000000
--- a/Trees/LinearRegression_LeastSquares.ipynb
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "nbformat": 4,
- "nbformat_minor": 0,
- "metadata": {
- "colab": {
- "provenance": [],
- "authorship_tag": "ABX9TyM1pe3HkxLrjbeKezq1MlM5",
- "include_colab_link": true
- },
- "kernelspec": {
- "name": "python3",
- "display_name": "Python 3"
- },
- "language_info": {
- "name": "python"
- }
- },
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "view-in-github",
- "colab_type": "text"
- },
- "source": [
- " "
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "# Least Squares Loss"
- ],
- "metadata": {
- "id": "uORlKyPv02ge"
- }
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "bbF6SE_F0tU8"
- },
- "outputs": [],
- "source": [
- "import numpy as np\n",
- "import matplotlib.pyplot as plt"
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/Trees/LinearRegression_LossFunction.ipynb b/Trees/LinearRegression_LossFunction.ipynb
index 03fbfaa..2aae285 100644
--- a/Trees/LinearRegression_LossFunction.ipynb
+++ b/Trees/LinearRegression_LossFunction.ipynb
@@ -4,7 +4,7 @@
"metadata": {
"colab": {
"provenance": [],
- "authorship_tag": "ABX9TyMIJ9DpOBppPZXAJ5wms6s8",
+ "authorship_tag": "ABX9TyMZw5ysoZN18RhdkayKdi07",
"include_colab_link": true
},
"kernelspec": {
@@ -29,7 +29,26 @@
{
"cell_type": "markdown",
"source": [
- "# Loss function"
+ " "
+ ],
+ "metadata": {
+ "id": "lTJK0o1TUMnq"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Loss functions\n",
+ "\n",
+ "The purpose of this Python notebook is to compute the loss and subsequently plot the loss function for the 1D linear regression model with a least squares loss.\n",
+ "\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and write code to complete the functions.\n",
+ "\n",
+ "You can save a local copy of this notebook in your Google account and work through it in Colab (recommended) or you can download the notebook and run it locally using Jupyter notebook or similar. If you are using CoLab, we recommend that *turn off* AI autocomplete (under cog icon in top-right corner), which will give you the answers and defeat the purpose of the exercise.\n",
+ "\n",
+ "A fully working version of this notebook with the complete answers can be found [here](https://colab.research.google.com/github/udlbook/udlbook/blob/main/Trees/LinearRegression_LossFunction_Answers.ipynb#scrollTo=niGXQTgJjclv).\n",
+ "\n",
+ "Contact me at iclimbtreesmail@gmail.com if you find any mistakes or have any suggestions."
],
"metadata": {
"id": "uORlKyPv02ge"
@@ -43,9 +62,216 @@
},
"outputs": [],
"source": [
+ "# Math library\n",
"import numpy as np\n",
- "import matplotlib.pyplot as plt"
+ "# Plotting library\n",
+ "import matplotlib.pyplot as plt\n",
+ "from matplotlib import cm\n",
+ "from matplotlib.colors import ListedColormap"
]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Create the same input / output data as used in the unit\n",
+ "x = np.array([0.03, 0.19, 0.34, 0.46, 0.78, 0.81, 1.08, 1.18, 1.39, 1.60, 1.65, 1.90])\n",
+ "y = np.array([0.67, 0.85, 1.05, 1.0, 1.40, 1.5, 1.3, 1.54, 1.55, 1.68, 1.73, 1.6 ])"
+ ],
+ "metadata": {
+ "id": "UQ1qYLOeYf61"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Define the model\n",
+ "\n",
+ "The linear regression model is defined as:\n",
+ "\n",
+ "$$\\textrm{f}[x,\\boldsymbol\\phi] = \\phi_0+\\phi_1 x$$\n",
+ "\n",
+ "where $\\phi_0$ is the y-intercept and $\\phi_1$ is the slope."
+ ],
+ "metadata": {
+ "id": "cO0m5OaCd17h"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Define 1D linear regression model\n",
+ "def f(x, phi0, phi1):\n",
+ " # TODO -- define the linear regression model\n",
+ " # REPLACE THIS CODE\n",
+ " y = x\n",
+ "\n",
+ " return y"
+ ],
+ "metadata": {
+ "id": "aD2g9L9hd5Bd"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Function to help plot the data\n",
+ "def plot(x, y, f, phi0=None, phi1=None):\n",
+ " fig,ax = plt.subplots()\n",
+ " ax.scatter(x,y)\n",
+ " plt.xlim([0,2.0])\n",
+ " plt.ylim([0,2.0])\n",
+ " ax.set_xlabel('Input, $x$')\n",
+ " ax.set_ylabel('Output, $y$')\n",
+ " ax.set_aspect('equal')\n",
+ " # Draw line if parameters passed\n",
+ " x_line = np.arange(0,2,0.01)\n",
+ " if(phi0 is not None and phi1 is not None):\n",
+ " y_line = f(x_line, phi0, phi1)\n",
+ " plt.plot(x_line, y_line,'r-',lw=2)\n",
+ " plt.show()"
+ ],
+ "metadata": {
+ "id": "785wp16FYjt5"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "plot(x,y, f, phi0 = 1.5, phi1=-0.2)"
+ ],
+ "metadata": {
+ "id": "sONMDaj_eJ-6"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Compute the least squares loss\n",
+ "\n",
+ "The least squares loss is defined as the sum of the squared deviations of the model output $\\textrm{f}[x_i,\\boldsymbol\\phi]$ and the true output target $y_i$:\n",
+ "\n",
+ " \\begin{align} L[\\boldsymbol\\phi] & = \\sum_{i=1}^{I} \\bigl(\\textrm{f}[x_{i}, \\boldsymbol\\phi]-y_{i}\\bigr)^{2} \\\\ &= \\sum_{i=1}^{I} \\bigl(\\phi_{0}+\\phi_{1}x_i-y_{i}\\bigr)^{2} \\tag{1.2}\\end{align}"
+ ],
+ "metadata": {
+ "id": "xoe2kvdreYLh"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Function to calculate the loss\n",
+ "def compute_loss(x,y,phi0,phi1):\n",
+ "\n",
+ " # TODO Replace this line with the loss calculation\n",
+ " loss = 0\n",
+ "\n",
+ "\n",
+ " return loss"
+ ],
+ "metadata": {
+ "id": "PEenxRo3ePCL"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Let's check that this is correct\n",
+ "loss = compute_loss(x,y, phi0 = 0.4 , phi1 = 0.2)\n",
+ "print(f'Your Loss = {loss:3.2f}, Ground truth =7.07')"
+ ],
+ "metadata": {
+ "id": "EbTeNI3fhgGw"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Draw the loss function"
+ ],
+ "metadata": {
+ "id": "9A32qcIAiU5x"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Helper code to do the drawing\n",
+ "def draw_loss_function(compute_loss, x_in, y_in):\n",
+ " # Define pretty colormap\n",
+ " my_colormap_vals_hex =('2a0902', '2b0a03', '2c0b04', '2d0c05', '2e0c06', '2f0d07', '300d08', '310e09', '320f0a', '330f0b', '34100b', '35110c', '36110d', '37120e', '38120f', '39130f', '3a1410', '3b1411', '3c1511', '3d1612', '3e1613', '3f1713', '401714', '411814', '421915', '431915', '451a16', '461b16', '471b17', '481c17', '491d18', '4a1d18', '4b1e19', '4c1f19', '4d1f1a', '4e201b', '50211b', '51211c', '52221c', '53231d', '54231d', '55241e', '56251e', '57261f', '58261f', '592720', '5b2821', '5c2821', '5d2922', '5e2a22', '5f2b23', '602b23', '612c24', '622d25', '632e25', '652e26', '662f26', '673027', '683027', '693128', '6a3229', '6b3329', '6c342a', '6d342a', '6f352b', '70362c', '71372c', '72372d', '73382e', '74392e', '753a2f', '763a2f', '773b30', '783c31', '7a3d31', '7b3e32', '7c3e33', '7d3f33', '7e4034', '7f4134', '804235', '814236', '824336', '834437', '854538', '864638', '874739', '88473a', '89483a', '8a493b', '8b4a3c', '8c4b3c', '8d4c3d', '8e4c3e', '8f4d3f', '904e3f', '924f40', '935041', '945141', '955242', '965343', '975343', '985444', '995545', '9a5646', '9b5746', '9c5847', '9d5948', '9e5a49', '9f5a49', 'a05b4a', 'a15c4b', 'a35d4b', 'a45e4c', 'a55f4d', 'a6604e', 'a7614e', 'a8624f', 'a96350', 'aa6451', 'ab6552', 'ac6552', 'ad6653', 'ae6754', 'af6855', 'b06955', 'b16a56', 'b26b57', 'b36c58', 'b46d59', 'b56e59', 'b66f5a', 'b7705b', 'b8715c', 'b9725d', 'ba735d', 'bb745e', 'bc755f', 'bd7660', 'be7761', 'bf7862', 'c07962', 'c17a63', 'c27b64', 'c27c65', 'c37d66', 'c47e67', 'c57f68', 'c68068', 'c78169', 'c8826a', 'c9836b', 'ca846c', 'cb856d', 'cc866e', 'cd876f', 'ce886f', 'ce8970', 'cf8a71', 'd08b72', 'd18c73', 'd28d74', 'd38e75', 'd48f76', 'd59077', 'd59178', 'd69279', 'd7937a', 'd8957b', 'd9967b', 'da977c', 'da987d', 'db997e', 'dc9a7f', 'dd9b80', 'de9c81', 'de9d82', 'df9e83', 'e09f84', 'e1a185', 'e2a286', 'e2a387', 'e3a488', 'e4a589', 'e5a68a', 'e5a78b', 'e6a88c', 'e7aa8d', 'e7ab8e', 'e8ac8f', 'e9ad90', 'eaae91', 'eaaf92', 'ebb093', 'ecb295', 'ecb396', 'edb497', 'eeb598', 'eeb699', 'efb79a', 'efb99b', 'f0ba9c', 'f1bb9d', 'f1bc9e', 'f2bd9f', 'f2bfa1', 'f3c0a2', 'f3c1a3', 'f4c2a4', 'f5c3a5', 'f5c5a6', 'f6c6a7', 'f6c7a8', 'f7c8aa', 'f7c9ab', 'f8cbac', 'f8ccad', 'f8cdae', 'f9ceb0', 'f9d0b1', 'fad1b2', 'fad2b3', 'fbd3b4', 'fbd5b6', 'fbd6b7', 'fcd7b8', 'fcd8b9', 'fcdaba', 'fddbbc', 'fddcbd', 'fddebe', 'fddfbf', 'fee0c1', 'fee1c2', 'fee3c3', 'fee4c5', 'ffe5c6', 'ffe7c7', 'ffe8c9', 'ffe9ca', 'ffebcb', 'ffeccd', 'ffedce', 'ffefcf', 'fff0d1', 'fff2d2', 'fff3d3', 'fff4d5', 'fff6d6', 'fff7d8', 'fff8d9', 'fffada', 'fffbdc', 'fffcdd', 'fffedf', 'ffffe0')\n",
+ " my_colormap_vals_dec = np.array([int(element,base=16) for element in my_colormap_vals_hex])\n",
+ " r = np.floor(my_colormap_vals_dec/(256*256))\n",
+ " g = np.floor((my_colormap_vals_dec - r *256 *256)/256)\n",
+ " b = np.floor(my_colormap_vals_dec - r * 256 *256 - g * 256)\n",
+ " my_colormap = ListedColormap(np.vstack((r,g,b)).transpose()/255.0)\n",
+ "\n",
+ " # Make grid of intercept/slope values to plot\n",
+ " intercepts_mesh, slopes_mesh = np.meshgrid(np.arange(0.0,2.0,0.02), np.arange(-1.0,1.0,0.002))\n",
+ " loss_mesh = np.zeros_like(slopes_mesh)\n",
+ "\n",
+ " # Compute loss for every set of parameters\n",
+ " for idslope, slope in np.ndenumerate(slopes_mesh):\n",
+ " loss_mesh[idslope] = compute_loss(x_in, y_in, intercepts_mesh[idslope], slope)\n",
+ "\n",
+ " fig,ax = plt.subplots()\n",
+ " fig.set_size_inches(6,6)\n",
+ " ax.contourf(intercepts_mesh,slopes_mesh,loss_mesh,256,cmap=my_colormap)\n",
+ " ax.contour(intercepts_mesh,slopes_mesh,loss_mesh,40,colors=['#80808080'])\n",
+ "\n",
+ " ax.set_ylim([1,-1])\n",
+ " ax.set_xlabel('Intercept, $\\phi_0$')\n",
+ " ax.set_ylabel('Slope, $\\phi_1$')\n",
+ " ax.set_aspect('equal')\n",
+ " plt.show()"
+ ],
+ "metadata": {
+ "id": "zlUXJ-5zhlb9"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "draw_loss_function(compute_loss, x, y )"
+ ],
+ "metadata": {
+ "id": "sUqE8Ll6iULa"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "TODO -- experiment by changing the input x and y values (keeping them in the range $x\\in[0,2], y\\in[0,2]$)\n",
+ "Does the loss function always have a single minimum?\n",
+ "Think about why this might be."
+ ],
+ "metadata": {
+ "id": "rpJ3ZnCDjPp0"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [],
+ "metadata": {
+ "id": "niGXQTgJjclv"
+ },
+ "execution_count": null,
+ "outputs": []
}
]
}
\ No newline at end of file
diff --git a/Trees/LinearRegression_LossFunction_Answers.ipynb b/Trees/LinearRegression_LossFunction_Answers.ipynb
new file mode 100644
index 0000000..48dd087
--- /dev/null
+++ b/Trees/LinearRegression_LossFunction_Answers.ipynb
@@ -0,0 +1,325 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": [],
+ "authorship_tag": "ABX9TyOKkeAghKXCP9dP9iv7SwLO",
+ "include_colab_link": true
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ " "
+ ],
+ "metadata": {
+ "id": "lTJK0o1TUMnq"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Loss functions\n",
+ "\n",
+ "The purpose of this Python notebook is to compute the loss and subsequently plot the loss function for the 1D linear regression model with a least squares loss.\n",
+ "\n",
+ "You can save a local copy of this notebook in your Google account and work through it in Colab (recommended) or you can download the notebook and run it locally using Jupyter notebook or similar. \n",
+ "\n",
+ "Contact me at iclimbtreesmail@gmail.com if you find any mistakes or have any suggestions."
+ ],
+ "metadata": {
+ "id": "uORlKyPv02ge"
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "bbF6SE_F0tU8"
+ },
+ "outputs": [],
+ "source": [
+ "# Math library\n",
+ "import numpy as np\n",
+ "# Plotting library\n",
+ "import matplotlib.pyplot as plt\n",
+ "from matplotlib import cm\n",
+ "from matplotlib.colors import ListedColormap"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Create the same input / output data as used in the unit\n",
+ "x = np.array([0.03, 0.19, 0.34, 0.46, 0.78, 0.81, 1.08, 1.18, 1.39, 1.60, 1.65, 1.90])\n",
+ "y = np.array([0.67, 0.85, 1.05, 1.0, 1.40, 1.5, 1.3, 1.54, 1.55, 1.68, 1.73, 1.6 ])"
+ ],
+ "metadata": {
+ "id": "UQ1qYLOeYf61"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Function to help plot the data\n",
+ "def plot(x, y, phi0=None, phi1=None):\n",
+ " fig,ax = plt.subplots()\n",
+ " ax.scatter(x,y)\n",
+ " plt.xlim([0,2.0])\n",
+ " plt.ylim([0,2.0])\n",
+ " ax.set_xlabel('Input, $x$')\n",
+ " ax.set_ylabel('Output, $y$')\n",
+ " ax.set_aspect('equal')\n",
+ " # Draw line if parameters passed\n",
+ " x_line = np.arange(0,2,0.01)\n",
+ " if(phi0 is not None and phi1 is not None):\n",
+ " y_line = phi0 + phi1*x_line\n",
+ " plt.plot(x_line, y_line,'r-',lw=2)\n",
+ " plt.show()"
+ ],
+ "metadata": {
+ "id": "785wp16FYjt5"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Define the model\n",
+ "\n",
+ "The linear regression model is defined as:\n",
+ "\n",
+ "$$\\textrm{f}[x,\\boldsymbol\\phi] = \\phi_0+\\phi_1 x$$\n",
+ "\n",
+ "where $\\phi_0$ is the y-intercept and $\\phi_1$ is the slope."
+ ],
+ "metadata": {
+ "id": "cO0m5OaCd17h"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Define 1D linear regression model\n",
+ "def f(x, phi0, phi1):\n",
+ " # TODO -- define the linear regression model\n",
+ " # REPLACE THIS CODE\n",
+ " y = x\n",
+ "\n",
+ " # ANSWER\n",
+ " y = phi0 + phi1 * x\n",
+ " # END ANSWER\n",
+ "\n",
+ " return y"
+ ],
+ "metadata": {
+ "id": "aD2g9L9hd5Bd"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "plot(x,y, phi0 = 1.5, phi1=-0.2)"
+ ],
+ "metadata": {
+ "id": "sONMDaj_eJ-6",
+ "outputId": "a7c1dda3-465c-4d0c-e7da-b2c17b1e86c2",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 458
+ }
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdMAAAG5CAYAAADVkd6RAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOxFJREFUeJzt3XtYVXXe///XBgW0ZCsppwaV1Gw8waiBNDZqoeDtODJzzaReUx6mbG5HuzNySiolqhk6eigdncxjjYeaSfvWTExFoXeFOolcI6X+1MHQAjSUjVCiA+v3hzd73AIKe8Hea8PzcV37yvVZn7V4ryXtl+v0WTbDMAwBAAC3+Xm7AAAAfB1hCgCASYQpAAAmEaYAAJhEmAIAYBJhCgCASYQpAAAmEaYAAJhEmAIAYBJhCgCASZYJ08zMTN18883q0qWLQkNDlZKSokOHDl11uTfeeEM33XSTgoKCNHjwYP3tb39zmW8YhhYtWqSIiAh16tRJiYmJOnz4cGttBgCgHbJMmO7YsUNz5szRrl279P777+vChQsaN26cqqqqGl3m008/1dSpU3X33Xdr3759SklJUUpKigoKCpx9nn32Wb344otatWqVdu/erWuuuUZJSUk6d+6cJzYLANAO2Kw60P2pU6cUGhqqHTt26Ec/+lGDfSZPnqyqqiq98847zrYRI0YoNjZWq1atkmEYioyM1IMPPqj58+dLkhwOh8LCwrR+/XpNmTLFI9sCAGjbOni7gMY4HA5JUkhISKN9cnNzlZqa6tKWlJSk7du3S5IKCwtVUlKixMRE53y73a74+Hjl5uY2GKbV1dWqrq52TtfW1ur06dO67rrrZLPZzGwSAMALDMPQ2bNnFRkZKT+/1jkha8kwra2t1bx58/TDH/5QgwYNarRfSUmJwsLCXNrCwsJUUlLinF/X1lify2VmZiojI8NM+QAACzp+/Li+973vtcq6LRmmc+bMUUFBgT7++GOP/+y0tDSXo12Hw6GePXvq+PHjCg4O9ng9AABzKioqFBUVpS5durTaz7BcmM6dO1fvvPOOdu7cedV/QYSHh6u0tNSlrbS0VOHh4c75dW0REREufWJjYxtcZ2BgoAIDA+u1BwcHE6YA4MNa81KdZe7mNQxDc+fO1bZt2/Thhx8qOjr6qsskJCQoOzvbpe39999XQkKCJCk6Olrh4eEufSoqKrR7925nHwAAzLLMkemcOXO0adMmvfXWW+rSpYvzmqbdblenTp0kSdOmTdP111+vzMxMSdL999+vUaNG6YUXXtCECRO0ZcsWffbZZ3r55ZclXfxXyLx58/TUU0+pX79+io6O1sKFCxUZGamUlBSvbCcAoO2xTJiuXLlSkjR69GiX9nXr1mnGjBmSpKKiIpc7sW655RZt2rRJjz32mB555BH169dP27dvd7lp6aGHHlJVVZXuvfdelZeXa+TIkcrKylJQUFCrbxMAoH2w7HOmVlFRUSG73S6Hw8E1UwDwQZ74HrfMNVMAAHwVYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJlkmTHfu3KmJEycqMjJSNptN27dvv2L/GTNmyGaz1fsMHDjQ2efxxx+vN/+mm25q5S0BALQ3lgnTqqoqxcTEaMWKFU3qv2zZMhUXFzs/x48fV0hIiH7xi1+49Bs4cKBLv48//rg1ygcAtGMdvF1AnfHjx2v8+PFN7m+322W3253T27dv15kzZzRz5kyXfh06dFB4eHiL1QkAwOUsE6ZmrVmzRomJierVq5dL++HDhxUZGamgoCAlJCQoMzNTPXv2bHQ91dXVqq6udk5XVFS0Ws0A0Jpqag3tKTytk2fPKbRLkOKiQ+TvZ/N2WW1SmwjTr7/+Wu+++642bdrk0h4fH6/169erf//+Ki4uVkZGhm699VYVFBSoS5cuDa4rMzNTGRkZnigbAFpNVkGxMt7+QsWOc862CHuQ0icOUPKgCC9W1jbZDMMwvF3E5Ww2m7Zt26aUlJQm9c/MzNQLL7ygr7/+WgEBAY32Ky8vV69evbR48WLdfffdDfZp6Mg0KipKDodDwcHBzdoOAPCGrIJizX4tT5d/udcdk668c2i7CtSKigrZ7fZW/R73+SNTwzC0du1a3XXXXVcMUknq2rWrbrzxRh05cqTRPoGBgQoMDGzpMgHAI2pqDWW8/UW9IJUkQxcDNePtLzR2QDinfFuQZe7mddeOHTt05MiRRo80L1VZWamjR48qIqL9/IsMQPuyp/C0y6ndyxmSih3ntKfwtOeKagcsE6aVlZXKz89Xfn6+JKmwsFD5+fkqKiqSJKWlpWnatGn1lluzZo3i4+M1aNCgevPmz5+vHTt26NixY/r000/105/+VP7+/po6dWqrbgsAeMvJs40HqTv90DSWOc372WefacyYMc7p1NRUSdL06dO1fv16FRcXO4O1jsPh0F/+8hctW7aswXWeOHFCU6dOVVlZmXr06KGRI0dq165d6tGjR+ttCAB4UWiXoBbth6ax5A1IVuKJC9cA0FJqag2NfOZDlTjONXjd1CYp3B6kjx++rd1cM/XE97hlTvMCAMzz97MpfeIASf+5e7dO3XT6xAHtJkg9hTAFAB9UU2so92iZ3sr/SrlHy1RT+5/j0ORBEVp551CF211P5Ybbg9rdYzGeYplrpgCApmnKgAzJgyI0dkA4IyB5CNdMr4JrpgCshAEZmo9rpgAAp6sNyCBdHJDh0lO+8AzCFAB8BAMyWBdhCgA+ggEZrIswBQAfwYAM1kWYAoCPiIsOUYQ9qN7zo3VsunhXb1x0iCfLgghTAPAZDMhgXYQpAPgQBmSwJgZtAAAfw4AM1kOYAoAP8vezKaHPdd4uA/+H07wAAJhEmAIAYBJhCgCASVwzBQBYSk2t4XM3VxGmAADLaMrr5ayI07wAAEuoe73c5YP5lzjOafZrecoqKPZSZVdHmAIAvM7XXy9HmAIAvM7XXy9HmAIAvM7XXy9HmAIAvM7XXy9HmAIAvM7XXy9HmAIAvM7XXy9HmAJAI2pqDeUeLdNb+V8p92iZZe8kbSt8+fVyDNoAAA3w1cEDfJ2vvl7OZhgG/9S6goqKCtntdjkcDgUHB3u7HKDNseLQcXWDB1z+5VhXldWPkuDKE9/jHJkC8BorHv1dbfAAmy4OHjB2QLjXQx/WwTVTAF5h1aHjfH3wAHgHYQrA46w8dJyvDx4A7yBMAXiclY/+fH3wAHgHYQrA46x89OfrgwfAOwhTAB5n5aM/Xx88AN5BmALwOKsf/fny4AHwDsuE6c6dOzVx4kRFRkbKZrNp+/btV+yfk5Mjm81W71NSUuLSb8WKFerdu7eCgoIUHx+vPXv2tOJWAFfHqDq+cfSXPChCHz98mzbPGqFlU2K1edYIffzwbQQpGmSZ50yrqqoUExOjX/3qV/rZz37W5OUOHTrk8hBuaGio889bt25VamqqVq1apfj4eC1dulRJSUk6dOiQSz/AU6z4XKW31B39Xb4/wi20P/z9bEroc523y4APsOQISDabTdu2bVNKSkqjfXJycjRmzBidOXNGXbt2bbBPfHy8br75Zi1fvlySVFtbq6ioKN13331asGBBk2phBCS0FEbVaZgVR0BC2+KJ73HLnOZ1V2xsrCIiIjR27Fh98sknzvbz589r7969SkxMdLb5+fkpMTFRubm5zf9B//M/0h//KH32mVRd3RKlox2x8nOV3lZ39Dcp9nol9LmOIIVPssxp3uaKiIjQqlWrNHz4cFVXV+uVV17R6NGjtXv3bg0dOlTffPONampqFBYW5rJcWFiYDh482Oh6q6urVX1JWFZUVFz8w4YNFz+S1LGjNHiwNGzYfz6DB0uBgS2+nWgbmvNcJacVAd/js2Hav39/9e/f3zl9yy236OjRo1qyZIleffVVt9ebmZmpjIyMK3e6cEHKy7v4Wb36YhsBiyuw8nOVAMzz2TBtSFxcnD7++GNJUvfu3eXv76/S0lKXPqWlpQoPD290HWlpaUpNTXVOV1RUKCoqSsrKkg4elPbuvfg5cEC69HIzAYsrsPJzlQDMa1Nhmp+fr4iIizdwBAQEaNiwYcrOznbeyFRbW6vs7GzNnTu30XUEBgYqsKGwS0iQkpL+M11ZKeXn/ydcCVhcQd1zlSWOcw1eN7Xp4l2sjKoD+CbLhGllZaWOHDninC4sLFR+fr5CQkLUs2dPpaWl6auvvtLGjRslSUuXLlV0dLQGDhyoc+fO6ZVXXtGHH36o9957z7mO1NRUTZ8+XcOHD1dcXJyWLl2qqqoqzZw503zB114rjRx58fOfjSBg0aC65ypnv5Ynm+QSqFZ5rhKA+ywTpp999pnGjBnjnK471Tp9+nStX79excXFKioqcs4/f/68HnzwQX311Vfq3LmzhgwZog8++MBlHZMnT9apU6e0aNEilZSUKDY2VllZWfVuSmoxBCyuwBeeqwTgHks+Z2olrfJ8UlMCtiEEbJvAc5WAZ3niOVPC9Co8NmgDAQsArYIwtQCvjoBEwAKAaYSpBVhuOEECFgCahTC1AMuFaUMIWABoFGFqAT4Rpg0hYAFAEmFqCT4bpg0hYAG0Q4SpBbSpMG0IAQugjSNMLaDNh2lDCNgWwfOkgDUQphbQLsO0IQRss2QVFNcb6SiCkY4AryBMLYAwvQICtkFZBcWa/VpevQHt645JV945lEAFPIgwtQDCtJnaecDW1Boa+cyHjb4IvO7tMB8/fBunfAEPIUwtgDBtAe0oYHOPlmnq6l1X7bd51ggl9LnOAxUB8MT3uGXeGoM2rB29Tefk2YaPSN3tB8A3EKbwjjYasKFdglq0HwDfwGneq+A0r5f52CniumumJY5z9W5AkrhmCngD10wtgDC1IIsHbN3dvJJcApW7eQHvIEwtgDD1ERYLWJ4zBayDMLUAwtSHeTlgGQEJsAbC1AII0zbGYkewAFofYWoBhGk7QMACbRphagGEaTtFwAJtBmFqAYQpnAhYwCcRphZAmOKKCFjA8ghTCyBM0WwELGAphKkFEKZoEQQs4DWEqQUQpmg1Ph6wPEcLX0GYWgBhCo/ykYBlhCf4EsLUAghTeJ3FArZu7OHLfzpjD8OqCFMLIExhSV4K2Lq34lx6RHop3ooDKyJMLYAwhc/wQMDmHi3T1NW7rlrK5lkjlNDnOjc3BGhZnvge5+XgQFvhgReunzzb8BHp5ZraD2grODK9Co5M0eaYOIKtvPH7+n8dIlQQ3lf7w/rqUI/eOt+hY72uHJnCSjjNawGEKdoFNwP2vF8HHerRS/vD+6ogvK8KwvqqvG9/ffRoMtdMYRmEqQUQpmi33AzY2g4d5TfE+8/BAnUIUwsgTIFL/F/AHnjnIx17b6f6FP1/6lt2XH71HpS5jEUGmkD7RJhaAGEKNKxuBKSy0jL1Pn5YA4oPyy8vz+vPwQKXa1dhunPnTj333HPau3eviouLtW3bNqWkpDTa/80339TKlSuVn5+v6upqDRw4UI8//riSkpKcfR5//HFlZGS4LNe/f38dPHiwyXURpoAbLDbQBNq3dvVoTFVVlWJiYvSrX/1KP/vZz67af+fOnRo7dqx+//vfq2vXrlq3bp0mTpyo3bt36wc/+IGz38CBA/XBBx84pzt0sMwmA22XBx7TIWBhJZY5Mr2UzWa76pFpQwYOHKjJkydr0aJFki4emW7fvl35+flu18KRKdCKOIKFB7SrI1OzamtrdfbsWYWEhLi0Hz58WJGRkQoKClJCQoIyMzPVs2fPRtdTXV2t6upq53RFRUWr1Qy0exzBoo1oM2H6/PPPq7KyUnfccYezLT4+XuvXr1f//v1VXFysjIwM3XrrrSooKFCXLl0aXE9mZma966wAPIiAhQ9qE6d5N23apFmzZumtt95SYmJio/3Ky8vVq1cvLV68WHfffXeDfRo6Mo2KiuI0L2A1nCJGE3Gatwm2bNmie+65R2+88cYVg1SSunbtqhtvvFFHjhxptE9gYKAC+Z8KsD6OYGEhPh2mmzdv1q9+9Stt2bJFEyZMuGr/yspKHT16VHfddZcHqgPgcQQsvMQyYVpZWelyxFhYWKj8/HyFhISoZ8+eSktL01dffaWNGzdKunhqd/r06Vq2bJni4+NVUlIiSerUqZPsdrskaf78+Zo4caJ69eqlr7/+Wunp6fL399fUqVM9v4EAvIOAhQdY5pppTk6OxowZU699+vTpWr9+vWbMmKFjx44pJydHkjR69Gjt2LGj0f6SNGXKFO3cuVNlZWXq0aOHRo4cqd/97nfq06dPk+vi0RigneAabJvVrkZAsirCFGjHCNg2gTC1AMIUgAsC1ucQphZAmAK4KgLW0ghTCyBMAbiFgLUMwtQCCFMALYaA9QrC1AIIUwCtioBtdYSpBRCmADyOgG1RhKkFEKYALIGAdZtlw/T48eOKiopqjXoshzAFYFkEbJNYNkyvueYaPfjgg1qwYIE6d+7cGnVZBmEKwKcQsPVYNkw//fRTPfDAAzpx4oR+97vfacaMGa1QmjUQpgB8XjsPWMuGaZ2NGzfq0UcfVWhoqJYuXapbb721JWuzBMIUQJvUjgLW8mEqSd9++62efvppLV68WMnJyXruuecUHR3dUvV5HWEKoN1oowHrM2Gal5enP//5z3rppZcUEBCg++67T4sWLdK1117bUnV6DWEKoF1rAwFr2TBdtWqV/vGPf+gf//iHDhw4ID8/Pw0aNEgjRoxQTEyMtmzZoiNHjujNN9/U8OHDW6NujyFMAeAyPhawlg3TqKgoxcfHa8SIERoxYoSGDRumTp06ufT5/e9/r02bNqmgoKDFivUGwhQAmsDCAWvZMG2K0tJSRUZGqqampjVW7zGEKQC4ySIB69NhahiGdu7cqVGjRrXG6j2GMAWAFuSFgPXpMG0rCFMAaGWtHLCEqQUQpgDgBS0YsBW9eskeGkqYehNhCgAW4WbAVvzpT7L/8pet+j3eoVXWCgBAS7v2WmnkyIufOk0J2NjYVi+NMAUA+K6rBezBg9L117d6GX4tvkI/P912223au3dvS68aAICrqwvY+++XVq6UbLZW/5EtHqZr167Vj370I82ZM6elVw0AgCVxA9JVcAMSAPg2T3yPu3VkWlRUpIYy2DAMFRUVmS4K3ldTayj3aJneyv9KuUfLVFPLv7kAoDFu3YAUHR2t4uJihYaGurSfPn1a0dHRPj+EYHuXVVCsjLe/ULHjnLMtwh6k9IkDlDwowouVAYA1uXVkahiGbA1c0K2srFRQUJDpouA9WQXFmv1ankuQSlKJ45xmv5anrIJiL1UGANbVrCPT1NRUSZLNZtPChQvVuXNn57yamhrt3r1bsR54ngeto6bWUMbbX6ihE7qGJJukjLe/0NgB4fL3a/274wDAVzQrTPft2yfp4pHp/v37FRAQ4JwXEBCgmJgYzZ8/v2UrhMfsKTxd74j0UoakYsc57Sk8rYQ+13muMACwuGaF6UcffSRJmjlzppYtW8bdrW3MybONB6k7/QCgvXDrBqR169a1dB2wgNAuTbve3dR+ANBeuBWmTzzxxBXnL1q0yK1i4F1x0SGKsAepxHGuweumNknh9iDFRYd4ujQAsDS3wnTbtm0u0xcuXFBhYaE6dOigPn36EKY+yt/PpvSJAzT7tTzZJJdArbvdKH3iAG4+AoDLuBWmdTciXaqiokIzZszQT3/6U9NFwXuSB0Vo5Z1D6z1nGt5Cz5nW1BraU3haJ8+eU2iXi0e5hDMAX9eiwwnu379fEydO1LFjx5q97M6dO/Xcc89p7969Ki4u1rZt25SSknLFZXJycpSamqrPP/9cUVFReuyxxzRjxgyXPitWrNBzzz2nkpISxcTE6KWXXlJcXFyT62qvwwm2RugxGAQAb7DscIKNcTgccjgcbi1bVVWlmJgYrVixokn9CwsLNWHCBI0ZM0b5+fmaN2+e7rnnHv3973939tm6datSU1OVnp6uvLw8xcTEKCkpSSdPnnSrxvbE38+mhD7XaVLs9Uroc12LBCmDQQBoq9w6Mn3xxRddpg3DUHFxsV599VWNGjVKmzZtMleUzXbVI9OHH35Yf/3rX1VQUOBsmzJlisrLy5WVlSVJio+P180336zly5dLkmpraxUVFaX77rtPCxYsaFIt7fXItCXV1Boa+cyHjT7DWndj08cP38YpXwAtzhPf425dM12yZInLtJ+fn3r06KHp06crLS2tRQq7mtzcXCUmJrq0JSUlad68eZKk8+fPa+/evS71+Pn5KTExUbm5uY2ut7q6WtXV1c7pioqKli28HWIwCABtnVthWlhY6Pxz3YFtQ2P1tqaSkhKFhYW5tIWFhamiokLfffedzpw5o5qamgb7HDx4sNH1ZmZmKiMjo1Vqbq8YDAJAW+f2NdM1a9Zo0KBBCgoKUlBQkAYNGqRXXnmlJWvzirS0NOe1X4fDoePHj3u7JJ/HYBAA2jq3jkwXLVqkxYsX67777lNCQoKki6ddH3jgARUVFV11UIeWEB4ertLSUpe20tJSBQcHq1OnTvL395e/v3+DfcLDwxtdb2BgoAIDA1ul5vaKwSAAtHVuHZmuXLlSq1evVmZmpn7yk5/oJz/5iTIzM/Xyyy/rD3/4Q0vX2KCEhARlZ2e7tL3//vvOcA8ICNCwYcNc+tTW1io7O9vZB55RNxiE9J/BH+owGASAtsCtML1w4YKGDx9er33YsGH697//7VYhlZWVys/PV35+vqSL12Xz8/NVVFQk6eLp12nTpjn7//d//7f+9a9/6aGHHtLBgwf1hz/8Qa+//roeeOABZ5/U1FStXr1aGzZs0IEDBzR79mxVVVVp5syZbtUI99UNBhFudz2VG24P0so7h/KcKQDfZrhh7ty5xgMPPFCv/cEHHzR+85vfuLNK46OPPjJ08cZOl8/06dMNwzCM6dOnG6NGjaq3TGxsrBEQEGDccMMNxrp16+qt96WXXjJ69uxpBAQEGHFxccauXbuaVZfD4TAkGQ6Hw63tgqt/19Qanx75xti+74Tx6ZFvjH/X1Hq7JABtnCe+x916zvS+++7Txo0bFRUVpREjRkiSdu/eraKiIk2bNk0dO3Z09l28eHELRL738JwpAPg2yz5nWlBQoKFDh0qSjh49Kknq3r27unfv7jKIgqcflwEAwBvcCtO6l4QDAAA3b0AqKipSY2eH624YAgCgvXArTKOjo3Xq1Kl67WVlZYqOjjZdFAAAvsStMDUMo8HroZWVlQoKYhQbAED70qxrpqmpqZIu3li0cOFCde7c2TmvpqZGu3fvVmxsbIsWCACA1TUrTPft2yfp4pHp/v37FRAQ4JwXEBCgmJgYzZ8/v2UrBADA4poVpnV38c6cOVPLli3juUsAAOTmozHr1q1r6ToAAPBZboXp1d4Ks2jRIreKAQDAF7kVptu2bXOZvnDhggoLC9WhQwf16dOHMAUAtCtuhWndjUiXqqio0IwZM/TTn/7UdFEAAPgSt54zbUhwcLAyMjK0cOHCllolAAA+ocXCVJIcDoccDkdLrhIAAMtz6zTviy++6DJtGIaKi4v16quvavz48S1SGAAAvsKtMF2yZInLtJ+fn3r06KHp06crLS2tRQoDAMBXuBWmhYWFkqRTp07JZrOpe/fuLVoU6qupNbSn8LROnj2n0C5BiosOkb8f74sFACtodpiWl5fr0Ucf1datW3XmzBlJUrdu3TRlyhQ99dRT6tq1a0vX2O5lFRQr4+0vVOw452yLsAcpfeIAJQ+K8GJlAABJshmNvZi0AadPn1ZCQoK++uor/fKXv9T3v/99SdIXX3yhTZs2KSoqSp9++qm6devWagV7WkVFhex2uxwOh1eGT8wqKNbs1/J0+V9S3THpyjuHEqgAcAWe+B5v1pHpE088oYCAAB09elRhYWH15o0bN05PPPFEvWuqcE9NraGMt7+oF6SSZOhioGa8/YXGDgjnlC8AeFGzHo3Zvn27nn/++XpBKknh4eF69tln642OBPftKTztcmr3coakYsc57Sk87bmiAAD1NCtMi4uLNXDgwEbnDxo0SCUlJaaLwkUnzzYepO70AwC0jmaFaffu3XXs2LFG5xcWFiokJMRsTfg/oV2CWrQfAKB1NCtMk5KS9Oijj+r8+fP15lVXV2vhwoVKTk5useLau7joEEXYg9TY1VCbLt7VGxfNP2AAwJuadTfviRMnNHz4cAUGBmrOnDm66aabZBiGDhw4oD/84Q+qrq7WZ599pqioqNas2aOscjevJJcbkbibFwCaxhPf480KU+niqdzf/OY3eu+991S3qM1m09ixY7V8+XL17du3VQr1Fm+HqcRzpgBghiXDtM6ZM2d0+PBhSVLfvn3b7LVSK4SpxAhIAOAuyz1neqlu3bopLi6uJWvBFfj72ZTQ5zpvlwEAaECLvoINAID2iDAFAMAkwhQAAJMIUwAATCJMAQAwiTAFAMAkwhQAAJMsF6YrVqxQ7969FRQUpPj4eO3Zs6fRvqNHj5bNZqv3mTBhgrPPjBkz6s1n/GAAQEtye9CG1rB161alpqZq1apVio+P19KlS5WUlKRDhw4pNDS0Xv8333zTZdD9srIyxcTE6Be/+IVLv+TkZK1bt845HRgY2HobAQBodyx1ZLp48WLNmjVLM2fO1IABA7Rq1Sp17txZa9eubbB/SEiIwsPDnZ/3339fnTt3rhemgYGBLv26devmic0BALQTlgnT8+fPa+/evUpMTHS2+fn5KTExUbm5uU1ax5o1azRlyhRdc801Lu05OTkKDQ1V//79NXv2bJWVlTW6jurqalVUVLh8AAC4EsuE6TfffKOamhqFhYW5tIeFhamkpOSqy+/Zs0cFBQW65557XNqTk5O1ceNGZWdn65lnntGOHTs0fvx41dTUNLiezMxM2e1256ctvU4OANA6LHXN1Iw1a9Zo8ODB9QbfnzJlivPPgwcP1pAhQ9SnTx/l5OTo9ttvr7eetLQ0paamOqcrKioIVADAFVnmyLR79+7y9/dXaWmpS3tpaanCw8OvuGxVVZW2bNmiu++++6o/54YbblD37t115MiRBucHBgYqODjY5QMAwJVYJkwDAgI0bNgwZWdnO9tqa2uVnZ2thISEKy77xhtvqLq6WnfeeedVf86JEydUVlamiAheqg0AaBmWCVNJSk1N1erVq7VhwwYdOHBAs2fPVlVVlWbOnClJmjZtmtLS0uott2bNGqWkpOi661zf91lZWanf/va32rVrl44dO6bs7GxNmjRJffv2VVJSkke2CQDQ9lnqmunkyZN16tQpLVq0SCUlJYqNjVVWVpbzpqSioiL5+bnm/6FDh/Txxx/rvffeq7c+f39//fOf/9SGDRtUXl6uyMhIjRs3Tk8++STPmgIAWozNMAzD20VYWUVFhex2uxwOB9dPAcAHeeJ73FKneQEA8EWEKQAAJhGmAACYZKkbkHxFTa2hPYWndfLsOYV2CVJcdIj8/WzeLgsA4CWEaTNlFRQr4+0vVOw452yLsAcpfeIAJQ/i2VUAaI84zdsMWQXFmv1ankuQSlKJ45xmv5anrIJiL1UGAPAmwrSJamoNZbz9hRp6jqiuLePtL1RTy5NGANDeEKZNtPfYmXpHpJcyJBU7zmlP4WnPFQUAsATCtIlOVTYepJc6ebZp/QAAbQdh2kQ9rg1qUr/QLk3rBwBoOwjTJhrWu5si7EFq7AEYmy7e1RsXHeLJsgAAFkCYNpG/n03pEwdIUr1ArZtOnziA500BoB0iTJsheVCEVt45VOF211O54fYgrbxzKM+ZAkA7xaANzZQ8KEJjB4QzAhIAwIkwdYO/n00Jfa67ekcAQLvAaV4AAEwiTAEAMIkwBQDAJMIUAACTCFMAAEwiTAEAMIkwBQDAJMIUAACTCFMAAEwiTAEAMIkwBQDAJMIUAACTCFMAAEwiTAEAMIkwBQDAJMIUAACTCFMAAEwiTAEAMIkwBQDAJMIUAACTLBemK1asUO/evRUUFKT4+Hjt2bOn0b7r16+XzWZz+QQFBbn0MQxDixYtUkREhDp16qTExEQdPny4tTcDANCOWCpMt27dqtTUVKWnpysvL08xMTFKSkrSyZMnG10mODhYxcXFzs+XX37pMv/ZZ5/Viy++qFWrVmn37t265pprlJSUpHPnzrX25gAA2glLhenixYs1a9YszZw5UwMGDNCqVavUuXNnrV27ttFlbDabwsPDnZ+wsDDnPMMwtHTpUj322GOaNGmShgwZoo0bN+rrr7/W9u3bPbBFAID2wDJhev78ee3du1eJiYnONj8/PyUmJio3N7fR5SorK9WrVy9FRUVp0qRJ+vzzz53zCgsLVVJS4rJOu92u+Pj4RtdZXV2tiooKlw8AAFdimTD95ptvVFNT43JkKUlhYWEqKSlpcJn+/ftr7dq1euutt/Taa6+ptrZWt9xyi06cOCFJzuWas87MzEzZ7XbnJyoqyuymAQDaOMuEqTsSEhI0bdo0xcbGatSoUXrzzTfVo0cP/fGPf3R7nWlpaXI4HM7P8ePHW7BiAEBbZJkw7d69u/z9/VVaWurSXlpaqvDw8Cato2PHjvrBD36gI0eOSJJzueasMzAwUMHBwS4fAACuxDJhGhAQoGHDhik7O9vZVltbq+zsbCUkJDRpHTU1Ndq/f78iIiIkSdHR0QoPD3dZZ0VFhXbv3t3kdQIAcDUdvF3ApVJTUzV9+nQNHz5ccXFxWrp0qaqqqjRz5kxJ0rRp03T99dcrMzNTkvTEE09oxIgR6tu3r8rLy/Xcc8/pyy+/1D333CPp4p2+8+bN01NPPaV+/fopOjpaCxcuVGRkpFJSUry1mQCANsZSYTp58mSdOnVKixYtUklJiWJjY5WVleW8gaioqEh+fv85mD5z5oxmzZqlkpISdevWTcOGDdOnn36qAQMGOPs89NBDqqqq0r333qvy8nKNHDlSWVlZ9QZ3AADAXTbDMAxvF2FlFRUVstvtcjgcXD8FAB/kie9xy1wzBQDAVxGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGCS5cJ0xYoV6t27t4KCghQfH689e/Y02nf16tW69dZb1a1bN3Xr1k2JiYn1+s+YMUM2m83lk5yc3NqbAQBoRywVplu3blVqaqrS09OVl5enmJgYJSUl6eTJkw32z8nJ0dSpU/XRRx8pNzdXUVFRGjdunL766iuXfsnJySouLnZ+Nm/e7InNAQC0EzbDMAxvF1EnPj5eN998s5YvXy5Jqq2tVVRUlO677z4tWLDgqsvX1NSoW7duWr58uaZNmybp4pFpeXm5tm/f7lZNFRUVstvtcjgcCg4OdmsdAADv8cT3uGWOTM+fP6+9e/cqMTHR2ebn56fExETl5uY2aR3ffvutLly4oJCQEJf2nJwchYaGqn///po9e7bKyspatHYAQPvWwdsF1Pnmm29UU1OjsLAwl/awsDAdPHiwSet4+OGHFRkZ6RLIycnJ+tnPfqbo6GgdPXpUjzzyiMaPH6/c3Fz5+/vXW0d1dbWqq6ud0xUVFW5uEQCgvbBMmJr19NNPa8uWLcrJyVFQUJCzfcqUKc4/Dx48WEOGDFGfPn2Uk5Oj22+/vd56MjMzlZGR4ZGaAQBtg2VO83bv3l3+/v4qLS11aS8tLVV4ePgVl33++ef19NNP67333tOQIUOu2PeGG25Q9+7ddeTIkQbnp6WlyeFwOD/Hjx9v3oYAANody4RpQECAhg0bpuzsbGdbbW2tsrOzlZCQ0Ohyzz77rJ588kllZWVp+PDhV/05J06cUFlZmSIiIhqcHxgYqODgYJcPAABXYpkwlaTU1FStXr1aGzZs0IEDBzR79mxVVVVp5syZkqRp06YpLS3N2f+ZZ57RwoULtXbtWvXu3VslJSUqKSlRZWWlJKmyslK//e1vtWvXLh07dkzZ2dmaNGmS+vbtq6SkJK9sIwCg7bHUNdPJkyfr1KlTWrRokUpKShQbG6usrCznTUlFRUXy8/tP/q9cuVLnz5/Xz3/+c5f1pKen6/HHH5e/v7/++c9/asOGDSovL1dkZKTGjRunJ598UoGBgR7dNgBA22Wp50ytiOdMAcC3tavnTAEA8FWEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGCS5cJ0xYoV6t27t4KCghQfH689e/Zcsf8bb7yhm266SUFBQRo8eLD+9re/ucw3DEOLFi1SRESEOnXqpMTERB0+fLg1NwEA0M5YKky3bt2q1NRUpaenKy8vTzExMUpKStLJkycb7P/pp59q6tSpuvvuu7Vv3z6lpKQoJSVFBQUFzj7PPvusXnzxRa1atUq7d+/WNddco6SkJJ07d85TmwUAaONshmEY3i6iTnx8vG6++WYtX75cklRbW6uoqCjdd999WrBgQb3+kydPVlVVld555x1n24gRIxQbG6tVq1bJMAxFRkbqwQcf1Pz58yVJDodDYWFhWr9+vaZMmXLVmioqKmS32+VwOBQcHNxCWwoA8BRPfI93aJW1uuH8+fPau3ev0tLSnG1+fn5KTExUbm5ug8vk5uYqNTXVpS0pKUnbt2+XJBUWFqqkpESJiYnO+Xa7XfHx8crNzW0wTKurq1VdXe2cdjgcki7+ZQAAfE/d93drHjtaJky/+eYb1dTUKCwszKU9LCxMBw8ebHCZkpKSBvuXlJQ459e1NdbncpmZmcrIyKjXHhUV1bQNAQBYUllZmex2e6us2zJhahVpaWkuR7vl5eXq1auXioqKWu0voTVUVFQoKipKx48f96nT075at+S7tVO3Z1G35zkcDvXs2VMhISGt9jMsE6bdu3eXv7+/SktLXdpLS0sVHh7e4DLh4eFX7F/339LSUkVERLj0iY2NbXCdgYGBCgwMrNdut9t97hdIkoKDg6nbw3y1dur2LOr2PD+/1rvn1jJ38wYEBGjYsGHKzs52ttXW1io7O1sJCQkNLpOQkODSX5Lef/99Z//o6GiFh4e79KmoqNDu3bsbXScAAM1lmSNTSUpNTdX06dM1fPhwxcXFaenSpaqqqtLMmTMlSdOmTdP111+vzMxMSdL999+vUaNG6YUXXtCECRO0ZcsWffbZZ3r55ZclSTabTfPmzdNTTz2lfv36KTo6WgsXLlRkZKRSUlK8tZkAgDbGUmE6efJknTp1SosWLVJJSYliY2OVlZXlvIGoqKjI5TD9lltu0aZNm/TYY4/pkUceUb9+/bR9+3YNGjTI2eehhx5SVVWV7r33XpWXl2vkyJHKyspSUFBQk2oKDAxUenp6g6d+rYy6Pc9Xa6duz6Juz/NE7ZZ6zhQAAF9kmWumAAD4KsIUAACTCFMAAEwiTAEAMKldhqmvvuatOXWvXr1at956q7p166Zu3bopMTGxXv8ZM2bIZrO5fJKTk71a9/r16+vVdPmd11bc36NHj65Xt81m04QJE5x9PLG/d+7cqYkTJyoyMlI2m805TvWV5OTkaOjQoQoMDFTfvn21fv36en2a+/9Ma9f95ptvauzYserRo4eCg4OVkJCgv//97y59Hn/88Xr7+6abbvJq3Tk5OQ3+nlw+vGlr7293am/o99dms2ngwIHOPq29zzMzM3XzzTerS5cuCg0NVUpKig4dOnTV5TzxHd7uwtRXX/PW3LpzcnI0depUffTRR8rNzVVUVJTGjRunr776yqVfcnKyiouLnZ/Nmze3WM3u1C1dHGHl0pq+/PJLl/lW3N9vvvmmS80FBQXy9/fXL37xC5d+rb2/q6qqFBMToxUrVjSpf2FhoSZMmKAxY8YoPz9f8+bN0z333OMSTO78HbZ23Tt37tTYsWP1t7/9TXv37tWYMWM0ceJE7du3z6XfwIEDXfb3xx9/3GI1u1N3nUOHDrnUFRoa6pznif3tTu3Lli1zqfn48eMKCQmp9zvemvt8x44dmjNnjnbt2qX3339fFy5c0Lhx41RVVdXoMh77Djfambi4OGPOnDnO6ZqaGiMyMtLIzMxssP8dd9xhTJgwwaUtPj7e+PWvf20YhmHU1tYa4eHhxnPPPeecX15ebgQGBhqbN2/2Wt2X+/e//2106dLF2LBhg7Nt+vTpxqRJk1qsxoY0t+5169YZdru90fX5yv5esmSJ0aVLF6OystLZ5on9fSlJxrZt267Y56GHHjIGDhzo0jZ58mQjKSnJOW12XzRXU+puyIABA4yMjAzndHp6uhETE9NyhV1FU+r+6KOPDEnGmTNnGu3j6f1tGO7t823bthk2m804duyYs83T+/zkyZOGJGPHjh2N9vHUd3i7OjKte83bpa9ka8pr3i7tL118zVtd/6u95s1bdV/u22+/1YULF+oN9JyTk6PQ0FD1799fs2fPVllZWYvUbKbuyspK9erVS1FRUZo0aZI+//xz5zxf2d9r1qzRlClTdM0117i0t+b+dsfVfr9bYl94Qm1trc6ePVvv9/vw4cOKjIzUDTfcoF/+8pcqKiryUoWuYmNjFRERobFjx+qTTz5xtvvK/pYu/o4nJiaqV69eLu2e3Od1r8i80gD2nvoOb1dheqXXvDX2SrbWeM2bJ+q+3MMPP6zIyEiXX5jk5GRt3LhR2dnZeuaZZ7Rjxw6NHz9eNTU1Xqu7f//+Wrt2rd566y299tprqq2t1S233KITJ05I8o39vWfPHhUUFOiee+5xaW/t/e2Oxn6/Kyoq9N1337XI754nPP/886qsrNQdd9zhbIuPj9f69euVlZWllStXqrCwULfeeqvOnj3rtTojIiK0atUq/eUvf9Ff/vIXRUVFafTo0crLy5PUMv+ve8LXX3+td999t97vuCf3eW1trebNm6cf/vCHLqPeXc5T3+GWGk4QrePpp5/Wli1blJOT43Izz6UvRx88eLCGDBmiPn36KCcnR7fffrs3SlVCQoLLSwhuueUWff/739cf//hHPfnkk16pqbnWrFmjwYMHKy4uzqXdivu7Ldi0aZMyMjL01ltvuVx7HD9+vPPPQ4YMUXx8vHr16qXXX39dd999tzdKVf/+/dW/f3/n9C233KKjR49qyZIlevXVV71Skzs2bNigrl271hvj3JP7fM6cOSooKGjx6+DualdHpq39mremrtMTddd5/vnn9fTTT+u9997TkCFDrtj3hhtuUPfu3XXkyBHTNUvm6q7TsWNH/eAHP3DWZPX9XVVVpS1btjTpi6Ol97c7Gvv9Dg4OVqdOnVrk77A1bdmyRffcc49ef/31eqfyLte1a1fdeOONXt3fDYmLi3PWZPX9LV2883Xt2rW66667FBAQcMW+rbXP586dq3feeUcfffSRvve9712xr6e+w9tVmPrqa97cqVu6eIfak08+qaysLA0fPvyqP+fEiRMqKytzeferN+q+VE1Njfbv3++sycr7W7p4C351dbXuvPPOq/6clt7f7rja73dL/B22ls2bN2vmzJnavHmzyyNIjamsrNTRo0e9ur8bkp+f76zJyvu7zo4dO3TkyJEm/YOxpfe5YRiaO3eutm3bpg8//FDR0dFXXcZj3+HNunWqDdiyZYsRGBhorF+/3vjiiy+Me++91+jatatRUlJiGIZh3HXXXcaCBQuc/T/55BOjQ4cOxvPPP28cOHDASE9PNzp27Gjs37/f2efpp582unbtarz11lvGP//5T2PSpElGdHS08d1333mt7qefftoICAgw/vznPxvFxcXOz9mzZw3DMIyzZ88a8+fPN3Jzc43CwkLjgw8+MIYOHWr069fPOHfunNfqzsjIMP7+978bR48eNfbu3WtMmTLFCAoKMj7//HOXbbPa/q4zcuRIY/LkyfXaPbW/z549a+zbt8/Yt2+fIclYvHixsW/fPuPLL780DMMwFixYYNx1113O/v/617+Mzp07G7/97W+NAwcOGCtWrDD8/f2NrKysJu8Lb9T9pz/9yejQoYOxYsUKl9/v8vJyZ58HH3zQyMnJMQoLC41PPvnESExMNLp3726cPHnSa3UvWbLE2L59u3H48GFj//79xv3332/4+fkZH3zwgbOPJ/a3O7XXufPOO434+PgG19na+3z27NmG3W43cnJyXP7ev/32W2cfb32Ht7swNQzDeOmll4yePXsaAQEBRlxcnLFr1y7nvFGjRhnTp0936f/6668bN954oxEQEGAMHDjQ+Otf/+oyv7a21li4cKERFhZmBAYGGrfffrtx6NAhr9bdq1cvQ1K9T3p6umEYhvHtt98a48aNM3r06GF07NjR6NWrlzFr1qwW/x+2uXXPmzfP2TcsLMz4r//6LyMvL89lfVbc34ZhGAcPHjQkGe+99169dXlqf9c9enH5p67W6dOnG6NGjaq3TGxsrBEQEGDccMMNxrp16+qt90r7wht1jxo16or9DePiIz4RERFGQECAcf311xuTJ082jhw54tW6n3nmGaNPnz5GUFCQERISYowePdr48MMP6623tfe3O7UbxsVHRjp16mS8/PLLDa6ztfd5Q/VKcvmd9dZ3OK9gAwDApHZ1zRQAgNZAmAIAYBJhCgCASYQpAAAmEaYAAJhEmAIAYBJhCgCASYQpAAAmEaYAAJhEmAIWNmPGjHqvufKE0aNHa968eR7/uYCvIkwBADCJMAV8yOjRo/U///M/euihhxQSEqLw8HA9/vjjLvPnzp2ruXPnym63q3v37lq4cKEuHYK7d+/eWrp0qct6Y2NjneuZMWOGduzYoWXLlslms8lms+nYsWNNqm/z5s3q1KmTiouLnW0zZ87UkCFD5HA43N1swPIIU8DHbNiwQddcc412796tZ599Vk888YTef/99l/kdOnTQnj17tGzZMi1evFivvPJKk9e/bNkyJSQkaNasWSouLlZxcbGioqKatOyUKVN044036ve//70kKT09XR988IHeffdd2e325m0o4EM6eLsAAM0zZMgQpaenS5L69eun5cuXKzs7W2PHjpUkRUVFacmSJbLZbOrfv7/279+vJUuWaNasWU1av91uV0BAgDp37qzw8PBm1Waz2fS73/1OP//5zxUeHq6XXnpJ//u//6vrr7++eRsJ+BiOTAEfM2TIEJfpiIgInTx50jk9YsQI2Ww253RCQoIOHz6smpoaj9T34x//WAMGDNATTzyhbdu2aeDAgR75uYA3EaaAj+nYsaPLtM1mU21tbZOX9/Pz0+WvMb5w4UKL1CZJWVlZOnjwoGpqahQWFtZi6wWsjDAF2pjdu3e7TO/atUv9+vWTv7+/JKlHjx4uNwhVVFSosLDQZZmAgAC3jmTz8vJ0xx13aM2aNbr99tu1cOFCN7YA8D1cMwXamKKiIqWmpurXv/618vLy9NJLL+mFF15wzr/tttu0fv16TZw4UV27dtWiRYucQVund+/e2r17t44dO6Zrr71WISEh8vO78r+9jx07pgkTJuiRRx7R1KlTdcMNNyghIUF5eXkaOnRoq2wrYBUcmQJtzLRp0/Tdd98pLi5Oc+bM0f333697773XOT8tLU2jRo3Sj3/8Y02YMEEpKSnq06ePyzrmz58vf39/DRgwQD169FBRUZHWr1/vci32UqdPn1ZycrImTZqkBQsWSJLi4+M1fvx4PfLII623sYBF2IzLL54A8FmjR49WbGxsvedIW0J6erp27NihnJycFl834Os4zQugSd59910tX77c22UAlkSYAmiSPXv2eLsEwLI4zQsAgEncgAQAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACYRJgCAGASYQoAgEmEKQAAJhGmAACY9P8DIs5LjM9yRJwAAAAASUVORK5CYII=\n"
+ },
+ "metadata": {}
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Compute the least squares loss\n",
+ "\n",
+ "The least squares loss is defined as the sum of the squared deviations of the model output $\\textrm{f}[x_i,\\boldsymbol\\phi]$ and the true output target $y_i$:\n",
+ "\n",
+ " \\begin{align} L[\\boldsymbol\\phi] & = \\sum_{i=1}^{I} \\bigl(\\textrm{f}[x_{i}, \\boldsymbol\\phi]-y_{i}\\bigr)^{2} \\\\ &= \\sum_{i=1}^{I} \\bigl(\\phi_{0}+\\phi_{1}x_i-y_{i}\\bigr)^{2} \\tag{1.2}\\end{align}"
+ ],
+ "metadata": {
+ "id": "xoe2kvdreYLh"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Function to calculate the loss\n",
+ "def compute_loss(x,y,f,phi0,phi1):\n",
+ "\n",
+ " # TODO Replace this line with the loss calculation (equation 2.5)\n",
+ " loss = 0\n",
+ "\n",
+ " # ANSWER\n",
+ " signed_distance = f(x,phi0,phi1)-y\n",
+ " loss = np.sum(signed_distance * signed_distance)\n",
+ " # END_ANSWER\n",
+ "\n",
+ " return loss"
+ ],
+ "metadata": {
+ "id": "PEenxRo3ePCL"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Let's check that this is correct\n",
+ "loss = compute_loss(x,y, phi0 = 0.4 , phi1 = 0.2)\n",
+ "print(f'Your Loss = {loss:3.2f}, Ground truth =7.07')"
+ ],
+ "metadata": {
+ "id": "EbTeNI3fhgGw",
+ "outputId": "6f55f6f2-c1bf-4475-a371-810f9e208a54",
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ }
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Your Loss = 7.07, Ground truth =7.07\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Draw the loss function"
+ ],
+ "metadata": {
+ "id": "9A32qcIAiU5x"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Helper code to do the drawing\n",
+ "def draw_loss_function(compute_loss, x_in, y_in):\n",
+ " # Define pretty colormap\n",
+ " my_colormap_vals_hex =('2a0902', '2b0a03', '2c0b04', '2d0c05', '2e0c06', '2f0d07', '300d08', '310e09', '320f0a', '330f0b', '34100b', '35110c', '36110d', '37120e', '38120f', '39130f', '3a1410', '3b1411', '3c1511', '3d1612', '3e1613', '3f1713', '401714', '411814', '421915', '431915', '451a16', '461b16', '471b17', '481c17', '491d18', '4a1d18', '4b1e19', '4c1f19', '4d1f1a', '4e201b', '50211b', '51211c', '52221c', '53231d', '54231d', '55241e', '56251e', '57261f', '58261f', '592720', '5b2821', '5c2821', '5d2922', '5e2a22', '5f2b23', '602b23', '612c24', '622d25', '632e25', '652e26', '662f26', '673027', '683027', '693128', '6a3229', '6b3329', '6c342a', '6d342a', '6f352b', '70362c', '71372c', '72372d', '73382e', '74392e', '753a2f', '763a2f', '773b30', '783c31', '7a3d31', '7b3e32', '7c3e33', '7d3f33', '7e4034', '7f4134', '804235', '814236', '824336', '834437', '854538', '864638', '874739', '88473a', '89483a', '8a493b', '8b4a3c', '8c4b3c', '8d4c3d', '8e4c3e', '8f4d3f', '904e3f', '924f40', '935041', '945141', '955242', '965343', '975343', '985444', '995545', '9a5646', '9b5746', '9c5847', '9d5948', '9e5a49', '9f5a49', 'a05b4a', 'a15c4b', 'a35d4b', 'a45e4c', 'a55f4d', 'a6604e', 'a7614e', 'a8624f', 'a96350', 'aa6451', 'ab6552', 'ac6552', 'ad6653', 'ae6754', 'af6855', 'b06955', 'b16a56', 'b26b57', 'b36c58', 'b46d59', 'b56e59', 'b66f5a', 'b7705b', 'b8715c', 'b9725d', 'ba735d', 'bb745e', 'bc755f', 'bd7660', 'be7761', 'bf7862', 'c07962', 'c17a63', 'c27b64', 'c27c65', 'c37d66', 'c47e67', 'c57f68', 'c68068', 'c78169', 'c8826a', 'c9836b', 'ca846c', 'cb856d', 'cc866e', 'cd876f', 'ce886f', 'ce8970', 'cf8a71', 'd08b72', 'd18c73', 'd28d74', 'd38e75', 'd48f76', 'd59077', 'd59178', 'd69279', 'd7937a', 'd8957b', 'd9967b', 'da977c', 'da987d', 'db997e', 'dc9a7f', 'dd9b80', 'de9c81', 'de9d82', 'df9e83', 'e09f84', 'e1a185', 'e2a286', 'e2a387', 'e3a488', 'e4a589', 'e5a68a', 'e5a78b', 'e6a88c', 'e7aa8d', 'e7ab8e', 'e8ac8f', 'e9ad90', 'eaae91', 'eaaf92', 'ebb093', 'ecb295', 'ecb396', 'edb497', 'eeb598', 'eeb699', 'efb79a', 'efb99b', 'f0ba9c', 'f1bb9d', 'f1bc9e', 'f2bd9f', 'f2bfa1', 'f3c0a2', 'f3c1a3', 'f4c2a4', 'f5c3a5', 'f5c5a6', 'f6c6a7', 'f6c7a8', 'f7c8aa', 'f7c9ab', 'f8cbac', 'f8ccad', 'f8cdae', 'f9ceb0', 'f9d0b1', 'fad1b2', 'fad2b3', 'fbd3b4', 'fbd5b6', 'fbd6b7', 'fcd7b8', 'fcd8b9', 'fcdaba', 'fddbbc', 'fddcbd', 'fddebe', 'fddfbf', 'fee0c1', 'fee1c2', 'fee3c3', 'fee4c5', 'ffe5c6', 'ffe7c7', 'ffe8c9', 'ffe9ca', 'ffebcb', 'ffeccd', 'ffedce', 'ffefcf', 'fff0d1', 'fff2d2', 'fff3d3', 'fff4d5', 'fff6d6', 'fff7d8', 'fff8d9', 'fffada', 'fffbdc', 'fffcdd', 'fffedf', 'ffffe0')\n",
+ " my_colormap_vals_dec = np.array([int(element,base=16) for element in my_colormap_vals_hex])\n",
+ " r = np.floor(my_colormap_vals_dec/(256*256))\n",
+ " g = np.floor((my_colormap_vals_dec - r *256 *256)/256)\n",
+ " b = np.floor(my_colormap_vals_dec - r * 256 *256 - g * 256)\n",
+ " my_colormap = ListedColormap(np.vstack((r,g,b)).transpose()/255.0)\n",
+ "\n",
+ " # Make grid of intercept/slope values to plot\n",
+ " intercepts_mesh, slopes_mesh = np.meshgrid(np.arange(0.0,2.0,0.02), np.arange(-1.0,1.0,0.002))\n",
+ " loss_mesh = np.zeros_like(slopes_mesh)\n",
+ "\n",
+ " # Compute loss for every set of parameters\n",
+ " for idslope, slope in np.ndenumerate(slopes_mesh):\n",
+ " loss_mesh[idslope] = compute_loss(x_in, y_in, intercepts_mesh[idslope], slope)\n",
+ "\n",
+ " fig,ax = plt.subplots()\n",
+ " fig.set_size_inches(6,6)\n",
+ " ax.contourf(intercepts_mesh,slopes_mesh,loss_mesh,256,cmap=my_colormap)\n",
+ " ax.contour(intercepts_mesh,slopes_mesh,loss_mesh,40,colors=['#80808080'])\n",
+ "\n",
+ " ax.set_ylim([1,-1])\n",
+ " ax.set_xlabel('Intercept, $\\phi_0$')\n",
+ " ax.set_ylabel('Slope, $\\phi_1$')\n",
+ " ax.set_aspect('equal')\n",
+ " plt.show()"
+ ],
+ "metadata": {
+ "id": "zlUXJ-5zhlb9"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "draw_loss_function(compute_loss, x, y )"
+ ],
+ "metadata": {
+ "id": "sUqE8Ll6iULa",
+ "outputId": "284aa527-7879-49cb-c5ee-ce7686193f3c",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 551
+ }
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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T/Ta175WfNvb3tby+Ki+lplMRvzJT34i/uQnPxEBiL/3e78n/uQnPxF3d3dFURTFj370o+K73vWu2vitrS3RaDSKv/mbvylevXpVfOyxx0SapsUnn3yyNqbXc3cRUnuf/+f//B+RYRjxsccea/jbTCaTtTH/5b/8F/Hpp58Wt7e3xR/84AfiPffcI7rdbjESiZz7/Ymi+nv8/Oc/L37rW98S19fXxRdeeEH8jd/4DZGiKPEf/uEfamOuh9fyRO985zvFO++8s+2ao/ZaDloapCjQH/zBH4jT09Miy7LiHXfcIf7Lv/xL7drrXvc68f77728Y/81vflNcWloSWZYVb7rpJvE73/lOw3VBEMSPf/zjosfjETmOE9/whjeIq6ur53ErXaXmPgOBgAig5b9HHnlEFEVRzOfz4i/8wi+IY2Njok6nEwOBgPj+97//Qt8gTqTmPh988MHaWI/HI/7bf/tvxR//+McN643i66n2d3ZlZUUEIH73u99tWWtUX8uTNNTm/07u7f777xdf97rXtcy57bbbRJZlxbm5OfFP/uRPWtbt9txdhNTe5+te97qu40VRSr32+Xwiy7LixMSE+La3vU3c2Ng43xurk9p7/O3f/m1xfn5e1Ov1otPpFO+++27xH//xH1vWvdZfS1GUShoYDAbxf/2v/9V2zVF7LQctIoqiOGRnjSZNmjRp0qRJk2ppMSmaNGnSpEmTppGUBimaNGnSpEmTppGUBimaNGnSpEmTppGUBimaNGnSpEmTppGUBimaNGnSpEmTppGUBimaNGnSpEmTppGUBimaNGnSpEmTppGUBimaNGnSpEmTppGUBimaNGnSpEmTppGUBimaNGnSpEmTppGUBimaNGnSdA66fPky/viP//iizdCk6ZqSBimaNGnqW+95z3tw3333KR5/991348EHHxyaPcPQIGwuFApYX1/HrbfeOhijNGm6QaRBiiZNmq45lcvlizZBlV588UWIoohXvOIVF22KJk3XlDRI0aRJ08B099134z//5/+Mhx9+GE6nE16vF7/1W78FQPK6fO9738MXv/hFEEJACMHOzg4AQBAEPProo5idnYXBYMCtt96Kv/iLv2hY99d//dfx4IMPwu124957763N++xnP4uFhQVwHIfp6Wn8f//f/1ebp3TdX//1X4fNZoPb7cbHP/5xnDSH72azEj3//PP4N//m3+C1r30tBEHA9PQ0vvCFL/T35GrSdAOKuWgDNGnSdH3pq1/9Kh566CE8++yzeOaZZ/Ce97wHP/dzP4cvfvGLWFtbwyte8Qp86lOfAgCMjY0BAB599FH82Z/9GR5//HEsLi7i+9//Pt75zndibGwMr3vd62rrfvCDH8QPfvCD2l4f+9jH8KUvfQmf//zn8drXvhbBYBArKyu160rXfd/73ofnnnsO//qv/4oPfOADmJ6exvvf//6uNvfS5uYmXve61+E3f/M34XK5IAgCXv3qV+NDH/oQ7r77btx2221nfq41abruJWrSpElTn7r//vvFt771rbWfX/e614mvfe1rG8a8+tWvFj/ykY/Urv/Gb/xGw/VisSgajUbxhz/8YcPj73vf+8R3vOMdtXmvfOUrG66n02mR4zjxS1/6UlvblK57+fJlURCE2vWPfOQj4uXLlxvuqdlmJbrnnnvE97znPaIoiuIdd9whfu5znxN5nhetVqv4+7//+6IoiuL/+3//T1xaWhIXFhY63ocmTTeyNE+KJk2aBqpbbrml4Wefz4dIJNJx/MbGBvL5PN74xjc2PF4ul/HKV76y9vPtt9/ecP3q1asolUp4wxvecKZ1f/ZnfxaEkNrPd911Fz73uc+B53nQNN3R7m4KhUL4x3/8R/zwhz8Ez/N44YUX8Oijj4KiKNA0DZZlUa1W8dBDD+Gf/umfYLPZcPvtt+Pf/bt/B5fL1deemjRdj9IgRZMmTQOVTqdr+JkQAkEQOo7PZrMAgO985zuYmJhouMZxXO3fJpOp4ZrBYOhqh9J1h6F/+Zd/gSAIuO2227C6uopCoYDbbrsNOzs7SCQSeM1rXoPnnnsON910U822N7/5zfjud7+Ld7zjHUO1TZOma0kapGjSpOncxLIseJ5veOzKlSvgOA57e3u1OBElWlxchMFgwFNPPYUHHnig5brSdZ999tmGn//lX/4Fi4uLNS9KO5t76ST7qFgs4ic/+QkCgQCcTic++9nP4hWveAVuvvlm/MVf/EUDPE1MTODw8FDVPpo0Xe/SIEWTJk3nppmZGTz77LPY2dmB2WyG0+mExWLBhz/8YXzoQx+CIAh47Wtfi1QqhR/84AewWq24//77266l1+vxkY98BA8//DBYlsXP/dzPIRqN4qWXXsL73vc+xevu7e3hoYcewq/+6q/ixz/+Mf7gD/4An/vc57raTFHdEyPvuusuMAyDT33qU8hms5ibm8Mf/uEf4g/+4A/w/e9/f3BPqCZN17k0SNGkSdO56cMf/jDuv/9+XLlyBYVCAdvb25iZmcGnP/1pjI2N4dFHH8XW1hbsdjte9apX4b/+1//adb2Pf/zjYBgGn/jEJ3B0dASfz4df+7Vfq11Xsu673/1uFAoF3HHHHaBpGr/xG7+BD3zgA11tfvrpp/He9763lqrcrKmpKXzlK1/BRz7yEQSDQTAMg3w+jyeffLIWW+P3+xs8J4eHh7jjjjv6el41abpeRcROf2WaNGnSdJ3rJBVYbe2SRx55BN/73vfw9NNP9xzrdDrxxBNP4Jd+6ZcaHq9Wq7h8+TKefvrpWuDsD3/4Qy1wVpOmOmmeFE2aNGlSqb/927/FH/7hH/Ycd3BwgEQi0bbSLMMw+NznPofXv/71EAQBDz/8sAYomjQ1SYMUTZo0aVKp5557TtG4F154ASaTCbOzs22v/9Iv/VKLh0WTJk2n0o57NGnSpEmTJk0jKa13jyZNmjRp0qRpJKVBiiZNmjRp0qRpJKVBiiZNmjRp0qRpJKVBiiZNmjRp0qRpJKVBiiZNmjRp0qRpJKVBiiZNmjRp0qRpJKVBiiZNmjRp0qRpJKVBiiZNmjRp0qRpJKVBiiZNmjRp0qRpJKVBiiZNmjRp0qRpJPX/A0oSmXBC1o4cAAAAAElFTkSuQmCC\n"
+ },
+ "metadata": {}
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "TODO -- experiment by changing the input x and y values (keeping them in the range $x\\in[0,2], y\\in[0,2]$)\n",
+ "Does the loss function always have a single minimum?\n",
+ "Think about why this might be."
+ ],
+ "metadata": {
+ "id": "rpJ3ZnCDjPp0"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [],
+ "metadata": {
+ "id": "niGXQTgJjclv"
+ },
+ "execution_count": null,
+ "outputs": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Trees/SAT_Exhaustive.ipynb b/Trees/SAT_Exhaustive.ipynb
new file mode 100644
index 0000000..a1adffc
--- /dev/null
+++ b/Trees/SAT_Exhaustive.ipynb
@@ -0,0 +1,248 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": [],
+ "authorship_tag": "ABX9TyMp2p2z+xKwT972x7JpBEo5",
+ "include_colab_link": true
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ " "
+ ],
+ "metadata": {
+ "id": "9Qgup23vwdll"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Boolean logic formulae and exhaustive SAT algorithms\n",
+ "\n",
+ "The purpose of this Python notebook experiment with an exhuastive algorithm for SAT solving.\n",
+ "\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and write code to complete the functions.\n",
+ "\n",
+ "You can save a local copy of this notebook in your Google account and work through it in Colab (recommended) or you can download the notebook and run it locally using Jupyter notebook or similar. If you are using CoLab, we recommend that turn off AI autocomplete (under cog icon in top-right corner), which will give you the answers and defeat the purpose of the exercise.\n",
+ "\n",
+ "A fully working version of this notebook with the complete answers can be found [here](https://colab.research.google.com/github/udlbook/udlbook/blob/main/Trees/SAT_Exhaustive_Answers.ipynb).\n",
+ "\n",
+ "Contact me at iclimbtreesmail@gmail.com if you find any mistakes or have any suggestions."
+ ],
+ "metadata": {
+ "id": "uORlKyPv02ge"
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "id": "bbF6SE_F0tU8"
+ },
+ "outputs": [],
+ "source": [
+ "# Math library\n",
+ "import numpy as np"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Boolean operators\n",
+ "\n",
+ "First, let's write some functions for the five Boolean operators discussed in the unit. "
+ ],
+ "metadata": {
+ "id": "8z_AvPoU6zck"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def or_op(x_1, x_2):\n",
+ " # TODO: write this function\n",
+ " return False ;\n",
+ "\n",
+ "def and_op(x_1, x_2):\n",
+ " # TODO: write this function\n",
+ " return False\n",
+ "\n",
+ "def imp_op(x_1, x_2):\n",
+ " # TODO: write this function\n",
+ " return False\n",
+ "\n",
+ "def equiv_op(x_1, x_2):\n",
+ " # TODO: write this function\n",
+ " return False\n",
+ "\n",
+ "def not_op(x_1):\n",
+ " # TODO: write this function\n",
+ " return False"
+ ],
+ "metadata": {
+ "id": "ogfjSL857Dlo"
+ },
+ "execution_count": 2,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Example Boolean Logic Formula\n",
+ "\n",
+ "Now let's define and implement a Boolean logic formula. We'll use the one from the text.\n",
+ "\n",
+ "$$\\phi:= \\bigl(x_{1}\\Rightarrow (\\lnot x_{2}\\land x_{3})\\bigr) \\land \\bigl(x_{2} \\Leftrightarrow (\\lnot x_{3} \\lor x_{1})\\bigr).$$"
+ ],
+ "metadata": {
+ "id": "e3a1Ps1D8kUH"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def phi(x_1, x_2, x_3):\n",
+ " # TODO: write this function\n",
+ " # Replace the line below\n",
+ " phi_val = False\n",
+ " print(\"phi(\",x_1,\",\",x_2,\",\",x_3,\")=\",phi_val)\n",
+ " return phi_val"
+ ],
+ "metadata": {
+ "id": "yBPbxHTL8xOl"
+ },
+ "execution_count": 3,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Exhaustive SAT\n",
+ "\n",
+ "Now let's implement an exhaustive SAT solver. For each possible combination of $x_1$, $x_2$, and $x_3$, we evaluate the Boolean logic formula $\\phi$. If it evaluates to **true** for any of these combinations then the function is **SAT**. Otherwise, it is **UNSAT**."
+ ],
+ "metadata": {
+ "id": "OeRG0RB-9HP4"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def exhaustive_3(phi):\n",
+ " # TODO: write this function\n",
+ " # You can use three loops or do this in a cleverer way if you know how\n",
+ " # Replace this line\n",
+ "\n",
+ " print(\"UNSAT\")"
+ ],
+ "metadata": {
+ "id": "QBj3Ap3t9CVO"
+ },
+ "execution_count": 4,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "exhaustive_3(phi)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "FJGoau6C_fWP",
+ "outputId": "589979b2-857c-4ff9-f358-d93a008184a1"
+ },
+ "execution_count": 5,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "UNSAT\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "How about if we add another constraint (by logically ANDing another term)?\n",
+ "\n",
+ "$$\\phi_1:= \\bigl(x_{1}\\Rightarrow (\\lnot x_{2}\\land x_{3})\\bigr) \\land \\bigl(x_{2} \\Leftrightarrow (\\lnot x_{3} \\lor x_{1})\\bigr)\\land\\lnot \\bigl(\\lnot x_3 \\Rightarrow x_2\\bigr).$$"
+ ],
+ "metadata": {
+ "id": "nnHxv9IHB185"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def phi_1(x_1, x_2, x_3):\n",
+ " # TODO: write this function\n",
+ " # Replace this line\n",
+ " phi_val = False\n",
+ " print(\"phi(\",x_1,\",\",x_2,\",\",x_3,\")=\",phi_val)\n",
+ " return phi_val\n"
+ ],
+ "metadata": {
+ "id": "T13sNtofBuLs"
+ },
+ "execution_count": 6,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "exhaustive_3(phi_1)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "qCm_ZdIgCv_P",
+ "outputId": "642ca068-8c3a-4071-9d3c-e62de00c7f37"
+ },
+ "execution_count": 7,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "UNSAT\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "You should fined that this is **UNSAT**. We have added too many constraints and the three terms that are **AND**ed together are never simultaneously true."
+ ],
+ "metadata": {
+ "id": "nlsUlJQfDB14"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Trees/SAT_Exhaustive_Answers.ipynb b/Trees/SAT_Exhaustive_Answers.ipynb
new file mode 100644
index 0000000..a71f255
--- /dev/null
+++ b/Trees/SAT_Exhaustive_Answers.ipynb
@@ -0,0 +1,250 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": [],
+ "authorship_tag": "ABX9TyM5J6fIsz12gt3/KyELcoXi",
+ "include_colab_link": true
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ " "
+ ],
+ "metadata": {
+ "id": "9Qgup23vwdll"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Boolean logic formulae and exhaustive SAT algorithms\n",
+ "\n",
+ "The purpose of this Python notebook experiment with an exhuastive algorithm for SAT solving.\n",
+ "\n",
+ "You can save a local copy of this notebook in your Google account and work through it in Colab (recommended) or you can download the notebook and run it locally using Jupyter notebook or similar. \n",
+ "\n",
+ "Contact me at iclimbtreesmail@gmail.com if you find any mistakes or have any suggestions."
+ ],
+ "metadata": {
+ "id": "uORlKyPv02ge"
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "id": "bbF6SE_F0tU8"
+ },
+ "outputs": [],
+ "source": [
+ "# Math library\n",
+ "import numpy as np"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Boolean operators\n",
+ "\n",
+ "First, let's write some functions for the five Boolean operators discussed in the unit. "
+ ],
+ "metadata": {
+ "id": "8z_AvPoU6zck"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def or_op(x_1, x_2):\n",
+ " return x_1 or x_2 ;\n",
+ "\n",
+ "def and_op(x_1, x_2):\n",
+ " return x_1 and x_2\n",
+ "\n",
+ "def imp_op(x_1, x_2):\n",
+ " return not x_1 or x_2\n",
+ "\n",
+ "def equiv_op(x_1, x_2):\n",
+ " return x_1==x_2\n",
+ "\n",
+ "def not_op(x_1):\n",
+ " return not x_1"
+ ],
+ "metadata": {
+ "id": "ogfjSL857Dlo"
+ },
+ "execution_count": 6,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Example Boolean Logic Formula\n",
+ "\n",
+ "Now let's define and implement a Boolean logic formula. We'll use the one from the text.\n",
+ "\n",
+ "$$\\phi:= \\bigl(x_{1}\\Rightarrow (\\lnot x_{2}\\land x_{3})\\bigr) \\land \\bigl(x_{2} \\Leftrightarrow (\\lnot x_{3} \\lor x_{1})\\bigr).$$"
+ ],
+ "metadata": {
+ "id": "e3a1Ps1D8kUH"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def phi(x_1, x_2, x_3):\n",
+ " phi_val = and_op(imp_op(x_1, and_op(not_op(x_2), x_3)),equiv_op(x_2, or_op(not_op(x_3), x_1)))\n",
+ " print(\"phi(\",x_1,\",\",x_2,\",\",x_3,\")=\",phi_val)\n",
+ " return phi_val"
+ ],
+ "metadata": {
+ "id": "yBPbxHTL8xOl"
+ },
+ "execution_count": 7,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Exhaustive SAT\n",
+ "\n",
+ "Now let's implement an exhaustive SAT solver. For each possible combination of $x_1$, $x_2$, and $x_3$, we evaluate the Boolean logic formula $\\phi$. If it evaluates to **true** for any of these combinations then the function is **SAT**. Otherwise, it is **UNSAT**."
+ ],
+ "metadata": {
+ "id": "OeRG0RB-9HP4"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def exhaustive_3(phi):\n",
+ " for t in range (np.power(2,3)):\n",
+ " x_1 = (t % 2) >= 1\n",
+ " x_2 = (t % 4) >= 2\n",
+ " x_3 = (t % 8) >= 4\n",
+ " phi_val = phi(x_1, x_2, x_3)\n",
+ " if phi_val:\n",
+ " print(\"SAT\")\n",
+ " return\n",
+ " print(\"UNSAT\")"
+ ],
+ "metadata": {
+ "id": "QBj3Ap3t9CVO"
+ },
+ "execution_count": 14,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "exhaustive_3(phi)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "FJGoau6C_fWP",
+ "outputId": "a841116e-8e8a-400f-a560-b52c670e6b0a"
+ },
+ "execution_count": 15,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "phi( False , False , False )= False\n",
+ "phi( True , False , False )= False\n",
+ "phi( False , True , False )= True\n",
+ "SAT\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "How about if we add another constraint (by logically ANDing another term)?\n",
+ "\n",
+ "$$\\phi_1:= \\bigl(x_{1}\\Rightarrow (\\lnot x_{2}\\land x_{3})\\bigr) \\land \\bigl(x_{2} \\Leftrightarrow (\\lnot x_{3} \\lor x_{1})\\bigr)\\land\\lnot \\bigl(\\lnot x_3 \\Rightarrow x_2\\bigr).$$"
+ ],
+ "metadata": {
+ "id": "nnHxv9IHB185"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def phi_1(x_1, x_2, x_3):\n",
+ " phi_val = and_op(and_op(imp_op(x_1, and_op(not_op(x_2), x_3)),equiv_op(x_2, or_op(not_op(x_3), x_1))),not_op(imp_op(not_op(x_3), x_2)))\n",
+ " print(\"phi(\",x_1,\",\",x_2,\",\",x_3,\")=\",phi_val)\n",
+ " return phi_val\n"
+ ],
+ "metadata": {
+ "id": "T13sNtofBuLs"
+ },
+ "execution_count": 24,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "exhaustive_3(phi_1)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "qCm_ZdIgCv_P",
+ "outputId": "f1cbb656-9f4d-4b68-b347-876ada5fb926"
+ },
+ "execution_count": 25,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "phi( False , False , False )= False\n",
+ "phi( True , False , False )= False\n",
+ "phi( False , True , False )= False\n",
+ "phi( True , True , False )= False\n",
+ "phi( False , False , True )= False\n",
+ "phi( True , False , True )= False\n",
+ "phi( False , True , True )= False\n",
+ "phi( True , True , True )= False\n",
+ "UNSAT\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "You should fined that this is **UNSAT**. We have added too many constraints and the three terms that are **AND**ed together are never simultaneously true."
+ ],
+ "metadata": {
+ "id": "nlsUlJQfDB14"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Trees/SAT_Tseitin.ipynb b/Trees/SAT_Tseitin.ipynb
new file mode 100644
index 0000000..aad361f
--- /dev/null
+++ b/Trees/SAT_Tseitin.ipynb
@@ -0,0 +1,251 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": [],
+ "authorship_tag": "ABX9TyMFurTLUbk5qbN9tTBjrI+h",
+ "include_colab_link": true
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ " "
+ ],
+ "metadata": {
+ "id": "9Qgup23vwdll"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# The Tseitin transformation\n",
+ "\n",
+ "The purpose of this Python notebook is to check that the Tseitin transformation example in the text is correct. \n",
+ "\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TODO\". Follow the instructions at these places and write code to complete the functions.\n",
+ "\n",
+ "You can save a local copy of this notebook in your Google account and work through it in Colab (recommended) or you can download the notebook and run it locally using Jupyter notebook or similar. If you are using CoLab, we recommend that turn off AI autocomplete (under cog icon in top-right corner), which will give you the answers and defeat the purpose of the exercise.\n",
+ "\n",
+ "A fully working version of this notebook with the complete answers can be found [here](https://colab.research.google.com/github/udlbook/udlbook/blob/main/Trees/SAT_Tseitin_Answers.ipynb).\n",
+ "\n",
+ "Contact me at iclimbtreesmail@gmail.com if you find any mistakes or have any suggestions."
+ ],
+ "metadata": {
+ "id": "uORlKyPv02ge"
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "bbF6SE_F0tU8"
+ },
+ "outputs": [],
+ "source": [
+ "# Math library\n",
+ "import numpy as np"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Boolean operators\n",
+ "\n",
+ "First, let's write some functions for the five Boolean operators discussed in the unit. "
+ ],
+ "metadata": {
+ "id": "8z_AvPoU6zck"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def or_op(x_1, x_2):\n",
+ " return x_1 or x_2 ;\n",
+ "\n",
+ "def and_op(x_1, x_2):\n",
+ " return x_1 and x_2\n",
+ "\n",
+ "def imp_op(x_1, x_2):\n",
+ " return not x_1 or x_2\n",
+ "\n",
+ "def equiv_op(x_1, x_2):\n",
+ " return x_1==x_2\n",
+ "\n",
+ "def not_op(x_1):\n",
+ " return not x_1"
+ ],
+ "metadata": {
+ "id": "ogfjSL857Dlo"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Example Boolean Logic Formula\n",
+ "\n",
+ "Now let's define and implement a Boolean logic formula. We'll use the one from the Tseitin transormation example in the text.\n",
+ "\n",
+ "$$\\phi:= ((x_{1} \\lor x_{2}) \\Leftrightarrow x_{3}) \\Rightarrow (\\lnot x_{4}).$$"
+ ],
+ "metadata": {
+ "id": "e3a1Ps1D8kUH"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def phi(x_1, x_2, x_3, x_4):\n",
+ " phi_val = imp_op(equiv_op(or_op(x_1, x_2), x_3), not_op(x_4))\n",
+ " return phi_val"
+ ],
+ "metadata": {
+ "id": "yBPbxHTL8xOl"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Exhaustive SAT\n",
+ "\n",
+ "Now let's implement an exhaustive SAT solver. For each possible combination of $x_1$, $x_2$, and $x_3$, we evaluate the Boolean logic formula $\\phi$. If it evaluates to **true** for any of these combinations then the function is **SAT**. Otherwise, it is **UNSAT**."
+ ],
+ "metadata": {
+ "id": "OeRG0RB-9HP4"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def exhaustive_3(phi):\n",
+ " is_sat = False\n",
+ " for t in range (np.power(2,4)):\n",
+ " x_1 = (t % 2) >= 1\n",
+ " x_2 = (t % 4) >= 2\n",
+ " x_3 = (t % 8) >= 4\n",
+ " x_4 = (t % 16) >= 8\n",
+ " this_phi = phi(x_1, x_2, x_3,x_4)\n",
+ " print(\"phi(\",x_1,\",\",x_2,\",\",x_3,\",\",x_4,\")=\",this_phi)\n",
+ "\n",
+ " is_sat = is_sat or this_phi\n",
+ "\n",
+ " if is_sat:\n",
+ " print(\"Phi is SAT\")\n",
+ " else:\n",
+ " print(\"Phi is UNSAT\")"
+ ],
+ "metadata": {
+ "id": "QBj3Ap3t9CVO"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "exhaustive_3(phi)"
+ ],
+ "metadata": {
+ "id": "FJGoau6C_fWP"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "This is the same formula expressed in conjunctive normal form (see main text). The variables $y_1, y_2, y_3, y_4$ are extra terms that were needed to do this conversion. Their final values do not matter.\n",
+ "\n",
+ "$$\\begin{align}\\phi_2&:= y_{4} \\land (y_4\\lor y_2) \\land (y_4 \\lor \\lnot y_3) \\land (\\lnot y_4 \\lor \\lnot y_2 \\lor y_3)\\nonumber \\\\\n",
+ "&\\hspace{0.4cm}\\land (y_3 \\lor x_4) \\land (\\lnot y_3 \\lor \\lnot x_4)\\nonumber\\\\\n",
+ "& \\hspace{0.4cm}\\land (\\lnot y_2 \\lor \\lnot y_1 \\lor x_3)\\land (\\lnot y_2 \\lor y_1 \\lor \\lnot x_3) \\land (y_2 \\lor \\lnot y_1 \\lor \\lnot x_3) \\land (y_2\\lor y_1\\lor x_3)\\nonumber \\\\&\n",
+ "\\hspace{0.4cm}\\land (y_1\\lor \\lnot x_1) \\land (y_1 \\lor \\lnot x_2) \\land (\\lnot y_1 \\lor x_1 \\lor x_2). \\end{align}$$"
+ ],
+ "metadata": {
+ "id": "MSTx8YXlmycP"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def phi_2(x_1, x_2, x_3, x_4, y_1, y_2, y_3, y_4):\n",
+ " return y_4 and (y_4 or y_2) and (y_4 or not y_3) and (not y_4 or not y_2 or y_3) \\\n",
+ " and (y_3 or x_4) and (not y_3 or not x_4) and (not y_2 or not y_1 or x_3) and (not y_2 or y_1 or not x_3) \\\n",
+ " and (y_2 or not y_1 or not x_3) and (y_2 or y_1 or x_3) and (y_1 or not x_1) and (y_1 or not x_2) and (not y_1 or x_1 or x_2)"
+ ],
+ "metadata": {
+ "id": "z7wZRlrjnpK9"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def exhaustive_8(phi):\n",
+ " is_sat = False\n",
+ "\n",
+ " # TODO Complete this routine to test whether phi is SAT\n",
+ " # You now need to iterate over 8 variables (x1,x2,x3,x4,y1,y2,y3,y4)\n",
+ " # However, the values of y1,y2,y3,y4 don't matter.\n",
+ " # A given configuration of x_1, x_2, x_3, x_4 is satisfiable if the formula\n",
+ " # returns true for ANY of the 16 possible values of y_1, y_2, y_3, y_4\n",
+ " # Print out the results in the same format as above\n",
+ "\n",
+ " if is_sat:\n",
+ " print(\"Phi is SAT\")\n",
+ " else:\n",
+ " print(\"Phi is UNSAT\")"
+ ],
+ "metadata": {
+ "id": "YZNCyXCGmiiG"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "exhaustive_8(phi_2)"
+ ],
+ "metadata": {
+ "id": "qCm_ZdIgCv_P"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "You should see that the truth tables are the same for both the original and Tseitin transformed formulae. The two formulations are equivalent. Notice thought that we pay a cost for this simplification in that we have to add four more variables $y_1, y_2, y_3, y_4$ and so potentially have to iterate over 16 times the number of combinations."
+ ],
+ "metadata": {
+ "id": "iyIYwgwvhUXO"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Trees/SAT_Tseitin_Answers.ipynb b/Trees/SAT_Tseitin_Answers.ipynb
new file mode 100644
index 0000000..2138421
--- /dev/null
+++ b/Trees/SAT_Tseitin_Answers.ipynb
@@ -0,0 +1,310 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": [],
+ "authorship_tag": "ABX9TyMPpuwCJTE40oMgkTfDWCrM",
+ "include_colab_link": true
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ " "
+ ],
+ "metadata": {
+ "id": "9Qgup23vwdll"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# The Tseitin transformation\n",
+ "\n",
+ "The purpose of this Python notebook is to check that the Tseitin transformation example in the text is correct. Once we have the formula in conjunctive normal form, we can use the Python SAT library Z3 to solve SAT problems.\n",
+ "\n",
+ "You can save a local copy of this notebook in your Google account and work through it in Colab (recommended) or you can download the notebook and run it locally using Jupyter notebook or similar.\n",
+ "\n",
+ "Contact me at iclimbtreesmail@gmail.com if you find any mistakes or have any suggestions."
+ ],
+ "metadata": {
+ "id": "uORlKyPv02ge"
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "bbF6SE_F0tU8"
+ },
+ "outputs": [],
+ "source": [
+ "# Math library\n",
+ "import numpy as np"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Boolean operators\n",
+ "\n",
+ "First, let's write some functions for the five Boolean operators discussed in the unit. "
+ ],
+ "metadata": {
+ "id": "8z_AvPoU6zck"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def or_op(x_1, x_2):\n",
+ " return x_1 or x_2 ;\n",
+ "\n",
+ "def and_op(x_1, x_2):\n",
+ " return x_1 and x_2\n",
+ "\n",
+ "def imp_op(x_1, x_2):\n",
+ " return not x_1 or x_2\n",
+ "\n",
+ "def equiv_op(x_1, x_2):\n",
+ " return x_1==x_2\n",
+ "\n",
+ "def not_op(x_1):\n",
+ " return not x_1"
+ ],
+ "metadata": {
+ "id": "ogfjSL857Dlo"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Example Boolean Logic Formula\n",
+ "\n",
+ "Now let's define and implement a Boolean logic formula. We'll use the one from the Tseitin transormation example in the text.\n",
+ "\n",
+ "$$\\phi:= ((x_{1} \\lor x_{2}) \\Leftrightarrow x_{3}) \\Rightarrow (\\lnot x_{4}).$$"
+ ],
+ "metadata": {
+ "id": "e3a1Ps1D8kUH"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def phi(x_1, x_2, x_3, x_4):\n",
+ " phi_val = imp_op(equiv_op(or_op(x_1, x_2), x_3), not_op(x_4))\n",
+ " return phi_val"
+ ],
+ "metadata": {
+ "id": "yBPbxHTL8xOl"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Exhaustive SAT\n",
+ "\n",
+ "Now let's implement an exhaustive SAT solver. For each possible combination of $x_1$, $x_2$, and $x_3$, we evaluate the Boolean logic formula $\\phi$. If it evaluates to **true** for any of these combinations then the function is **SAT**. Otherwise, it is **UNSAT**."
+ ],
+ "metadata": {
+ "id": "OeRG0RB-9HP4"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def exhaustive_3(phi):\n",
+ " is_sat = False\n",
+ " for t in range (np.power(2,4)):\n",
+ " x_1 = (t % 2) >= 1\n",
+ " x_2 = (t % 4) >= 2\n",
+ " x_3 = (t % 8) >= 4\n",
+ " x_4 = (t % 16) >= 8\n",
+ " this_phi = phi(x_1, x_2, x_3,x_4)\n",
+ " print(\"phi(\",x_1,\",\",x_2,\",\",x_3,\",\",x_4,\")=\",this_phi)\n",
+ "\n",
+ " is_sat = is_sat or this_phi\n",
+ "\n",
+ " if is_sat:\n",
+ " print(\"Phi is SAT\")\n",
+ " else:\n",
+ " print(\"Phi is UNSAT\")"
+ ],
+ "metadata": {
+ "id": "QBj3Ap3t9CVO"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "exhaustive_3(phi)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "FJGoau6C_fWP",
+ "outputId": "b3ace7c5-b08a-4959-9318-774d909ef95c"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "phi( False , False , False , False )= True\n",
+ "phi( True , False , False , False )= True\n",
+ "phi( False , True , False , False )= True\n",
+ "phi( True , True , False , False )= True\n",
+ "phi( False , False , True , False )= True\n",
+ "phi( True , False , True , False )= True\n",
+ "phi( False , True , True , False )= True\n",
+ "phi( True , True , True , False )= True\n",
+ "phi( False , False , False , True )= False\n",
+ "phi( True , False , False , True )= True\n",
+ "phi( False , True , False , True )= True\n",
+ "phi( True , True , False , True )= True\n",
+ "phi( False , False , True , True )= True\n",
+ "phi( True , False , True , True )= False\n",
+ "phi( False , True , True , True )= False\n",
+ "phi( True , True , True , True )= False\n",
+ "Phi is SAT\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "This is the same formula expressed in conjunctive normal form (see main text). The variables $y_1, y_2, y_3, y_4$ are extra terms that were needed to do this conversion. Their final values do not matter.\n",
+ "\n",
+ "$$\\begin{align}\\phi_2&:= y_{4} \\land (y_4\\lor y_2) \\land (y_4 \\lor \\lnot y_3) \\land (\\lnot y_4 \\lor \\lnot y_2 \\lor y_3)\\nonumber \\\\\n",
+ "&\\hspace{0.4cm}\\land (y_3 \\lor x_4) \\land (\\lnot y_3 \\lor \\lnot x_4)\\nonumber\\\\\n",
+ "& \\hspace{0.4cm}\\land (\\lnot y_2 \\lor \\lnot y_1 \\lor x_3)\\land (\\lnot y_2 \\lor y_1 \\lor \\lnot x_3) \\land (y_2 \\lor \\lnot y_1 \\lor \\lnot x_3) \\land (y_2\\lor y_1\\lor x_3)\\nonumber \\\\&\n",
+ "\\hspace{0.4cm}\\land (y_1\\lor \\lnot x_1) \\land (y_1 \\lor \\lnot x_2) \\land (\\lnot y_1 \\lor x_1 \\lor x_2). \\end{align}$$"
+ ],
+ "metadata": {
+ "id": "MSTx8YXlmycP"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def phi_2(x_1, x_2, x_3, x_4, y_1, y_2, y_3, y_4):\n",
+ " return y_4 and (y_4 or y_2) and (y_4 or not y_3) and (not y_4 or not y_2 or y_3) \\\n",
+ " and (y_3 or x_4) and (not y_3 or not x_4) and (not y_2 or not y_1 or x_3) and (not y_2 or y_1 or not x_3) \\\n",
+ " and (y_2 or not y_1 or not x_3) and (y_2 or y_1 or x_3) and (y_1 or not x_1) and (y_1 or not x_2) and (not y_1 or x_1 or x_2)"
+ ],
+ "metadata": {
+ "id": "z7wZRlrjnpK9"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def exhaustive_8(phi):\n",
+ " is_sat = False\n",
+ " for t in range (np.power(2,4)):\n",
+ " x_1 = (t % 2) >= 1\n",
+ " x_2 = (t % 4) >= 2\n",
+ " x_3 = (t % 8) >= 4\n",
+ " x_4 = (t % 16) >= 8\n",
+ " this_phi = False ;\n",
+ " for t2 in range (np.power(2,4)):\n",
+ " y_1 = (t2 % 2) >= 1\n",
+ " y_2 = (t2 % 4) >= 2\n",
+ " y_3 = (t2 % 8) >= 4\n",
+ " y_4 = (t2 % 16) >= 8\n",
+ " this_phi = this_phi or phi_2(x_1, x_2, x_3, x_4, y_1, y_2, y_3, y_4)\n",
+ " print(\"phi(\",x_1,\",\",x_2,\",\",x_3,\",\",x_4,\")=\",this_phi)\n",
+ " is_sat = is_sat or this_phi\n",
+ "\n",
+ " if is_sat:\n",
+ " print(\"Phi is SAT\")\n",
+ " else:\n",
+ " print(\"Phi is UNSAT\")"
+ ],
+ "metadata": {
+ "id": "YZNCyXCGmiiG"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "exhaustive_8(phi_2)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "qCm_ZdIgCv_P",
+ "outputId": "49c3beb1-4a59-4bc8-a69b-61802e3986ed"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "phi( False , False , False , False )= True\n",
+ "phi( True , False , False , False )= True\n",
+ "phi( False , True , False , False )= True\n",
+ "phi( True , True , False , False )= True\n",
+ "phi( False , False , True , False )= True\n",
+ "phi( True , False , True , False )= True\n",
+ "phi( False , True , True , False )= True\n",
+ "phi( True , True , True , False )= True\n",
+ "phi( False , False , False , True )= False\n",
+ "phi( True , False , False , True )= True\n",
+ "phi( False , True , False , True )= True\n",
+ "phi( True , True , False , True )= True\n",
+ "phi( False , False , True , True )= True\n",
+ "phi( True , False , True , True )= False\n",
+ "phi( False , True , True , True )= False\n",
+ "phi( True , True , True , True )= False\n",
+ "Phi is SAT\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "You can see that the truth tables are the same for both the original and Tseitin transformed formulae. The two formulations are equivalent. Notice thought that we pay a cost for this simplification in that we have to add four more variables $y_1, y_2, y_3, y_4$ and so potentially have to iterate over 16 times the number of combinations."
+ ],
+ "metadata": {
+ "id": "iyIYwgwvhUXO"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/UDL_Answer_Booklet_Students.pdf b/UDL_Answer_Booklet_Students.pdf
index 1cf566a..962ec34 100644
Binary files a/UDL_Answer_Booklet_Students.pdf and b/UDL_Answer_Booklet_Students.pdf differ
diff --git a/UDL_Errata.pdf b/UDL_Errata.pdf
index 7fd692a..60e39a0 100644
Binary files a/UDL_Errata.pdf and b/UDL_Errata.pdf differ