diff --git a/week2/exercises/Lecture04_PerformanceAnalysis_Exercises_no_solutions.ipynb b/week2/exercises/Lecture04_PerformanceAnalysis_Exercises_no_solutions.ipynb new file mode 100644 index 0000000..ff61f81 --- /dev/null +++ b/week2/exercises/Lecture04_PerformanceAnalysis_Exercises_no_solutions.ipynb @@ -0,0 +1 @@ +{"cells": [{"cell_type": "markdown", "metadata": {}, "source": ["# Exercises for Lecture 4 (Performance analysis)"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["import datetime\n", "now = datetime.datetime.now()\n", "print(\"Last executed: \" + now.strftime(\"%Y-%m-%d %H:%M:%S\"))"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Common imports\n", "import os\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "np.random.seed(42) # To make this notebook's output stable across runs"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Fetch MNIST dataset\n", "from sklearn.datasets import fetch_openml\n", "mnist = fetch_openml('mnist_784')\n", "#mnist = fetch_openml('mnist_784', parser=\"pandas\")"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["y_train = mnist.target[:60000].to_numpy(dtype=int)\n", "y_test = mnist.target[-10000:].to_numpy(dtype=int)\n", "y_train.shape, y_test.shape"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["X_train = mnist.data[:60000].to_numpy()\n", "X_test = mnist.data[-10000:].to_numpy()\n", "X_train.shape, X_test.shape"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["## Exercise 1 : Compute number of examples of each digit."]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["## Exercise 2: Construct target train and test vectors for 8 classifier."]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["## Exercise 3: Use Scikit-Learn to perform 3-fold cross validation using [`cross_val_score`](http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.cross_val_score.html)."]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Exercise 4: Compute the confusion matrix"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["## Exercise 5: Compute the precision and recall for the confusion matrix `conf_matrix` computed above.\n", "\n", "Compute by hand and then using Scikit-Learn [precision_score](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_score.html) and [recall_score](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.recall_score.html#sklearn.metrics.recall_score)."]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["## Exercise 6: Compute the $F_1$ score for the confusion matrix `conf_matrix` computed above.\n", "\n", "Compute by hand and then using Scikit-Learn [f1_score](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html)."]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["## Exercise 7: Compute the false positive rate for the confusion matrix `conf_matrix` computed above."]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["## Exercise 8: Where is the ideal point in the ROC curve domain?"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}, "tags": ["exercise"]}, "source": ["## Exercise 9: What is the AUC for an ideal and random classifier?"]}, {"cell_type": "markdown", "metadata": {"tags": ["exercise"]}, "source": ["Consider the confusion matrix for multiclass classification."]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["y_train_pred = cross_val_predict(sgd_clf, X_train, y_train, cv=3)\n", "conf_mx = confusion_matrix(y_train, y_train_pred)\n", "conf_mx"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}, "tags": ["exercise"]}, "source": ["## Exercise 10: Convert confusion matrix to probabilities and plot."]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["row_sums = conf_mx.sum(axis=1, keepdims=True)\n", "norm_conf_mx = conf_mx / row_sums"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["import seaborn as sns\n", "plt.figure(figsize=(6,6))\n", "sns.heatmap(norm_conf_mx, square=True, annot=True, cbar=False, fmt='.2f')\n", "plt.xlabel('predicted value')\n", "plt.ylabel('true value');"]}], "metadata": {"celltoolbar": "Tags", "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.8.15"}}, "nbformat": 4, "nbformat_minor": 4} \ No newline at end of file diff --git a/week2/exercises/Lecture05_TrainingI_Exercises_no_solutions.ipynb b/week2/exercises/Lecture05_TrainingI_Exercises_no_solutions.ipynb new file mode 100644 index 0000000..ad69050 --- /dev/null +++ b/week2/exercises/Lecture05_TrainingI_Exercises_no_solutions.ipynb @@ -0,0 +1 @@ +{"cells": [{"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["# Exercises for Lecture 5 (Training I)"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["import datetime\n", "now = datetime.datetime.now()\n", "print(\"Last executed: \" + now.strftime(\"%Y-%m-%d %H:%M:%S\"))"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["## Exercise 1: Solving normal equations"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Common imports\n", "import os\n", "import numpy as np\n", "np.random.seed(42) # To make this notebook's output stable across runs\n", "\n", "# To plot pretty figures\n", "%matplotlib inline\n", "import matplotlib\n", "import matplotlib.pyplot as plt\n", "plt.rcParams['axes.labelsize'] = 14\n", "plt.rcParams['xtick.labelsize'] = 12\n", "plt.rcParams['ytick.labelsize'] = 12"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["import numpy as np\n", "m = 100\n", "X = 2 * np.random.rand(m, 1)\n", "y = 4 + 3 * X + np.random.randn(m, 1)\n", "plt.figure(figsize=(9,6))\n", "plt.plot(X, y, \"b.\")\n", "plt.xlabel(\"$x_1$\", fontsize=18)\n", "plt.ylabel(\"$y$\", rotation=0, fontsize=18)\n", "plt.axis([0, 2, 0, 15]);"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["### Solve normal equations."]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["### Make predictions using the fitted model for $x_1 = 0$ and $x_1 = 2$. Plot these."]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["## Exercise 2: Implement gradient descent\n", "\n", "Implement gradient descent to estimate the parameters of the linear regression model considered before.\n", "\n", "Consider 1000 steps and $\\alpha=0.1$, starting from $\\theta^{(0)}=[1, 1]^{\\rm T}$."]}], "metadata": {"celltoolbar": "Tags", "kernelspec": {"display_name": "Python 3", "language": "python", "name": "python3"}, "language_info": {"codemirror_mode": {"name": "ipython", "version": 3}, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5"}}, "nbformat": 4, "nbformat_minor": 4} \ No newline at end of file diff --git a/week2/exercises/Lecture06_TrainingII_Exercises_no_solutions.ipynb b/week2/exercises/Lecture06_TrainingII_Exercises_no_solutions.ipynb new file mode 100644 index 0000000..d52eb9c --- /dev/null +++ b/week2/exercises/Lecture06_TrainingII_Exercises_no_solutions.ipynb @@ -0,0 +1 @@ +{"cells": [{"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["# Exercises for Lecture 6 (Training II)"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["import datetime\n", "now = datetime.datetime.now()\n", "print(\"Last executed: \" + now.strftime(\"%Y-%m-%d %H:%M:%S\"))"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Common imports\n", "import os\n", "import numpy as np\n", "np.random.seed(42) # To make this notebook's output stable across runs\n", "\n", "# To plot pretty figures\n", "%matplotlib inline\n", "import matplotlib\n", "import matplotlib.pyplot as plt\n", "plt.rcParams['axes.labelsize'] = 14\n", "plt.rcParams['xtick.labelsize'] = 12\n", "plt.rcParams['ytick.labelsize'] = 12"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["## Set up training data "]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["m = 100\n", "X = 2 * np.random.rand(m, 1)\n", "y = 4 + 3 * X + np.random.randn(m, 1)\n", "plt.figure(figsize=(9,6))\n", "plt.plot(X, y, \"b.\")\n", "plt.xlabel(\"$x_1$\", fontsize=18)\n", "plt.ylabel(\"$y$\", rotation=0, fontsize=18)\n", "plt.axis([0, 2, 0, 15]);"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["## Exercise 1: Solve using Scikit-Learn (without learning schedule)\n", "\n", "Solve the above problem using Scikit-Learn, considering a learning rate of 0.1. Display the intercept and slope of the fitted line."]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["## Exercise 2: Implement a mini-batch gradient descent algorithm to solve previous problem.\n", "\n", "Hints: \n", " - May want to start with stochastic GD implementation and adapt it. \n", " - The numpy function [`np.random.permutation`](https://numpy.org/doc/stable/reference/random/generated/numpy.random.permutation.html) may be useful."]}], "metadata": {"celltoolbar": "Tags", "kernelspec": {"display_name": "Python 3", "language": "python", "name": "python3"}, "language_info": {"codemirror_mode": {"name": "ipython", "version": 3}, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5"}}, "nbformat": 4, "nbformat_minor": 4} \ No newline at end of file diff --git a/week2/slides/Lecture04_PerformanceAnalysis.ipynb b/week2/slides/Lecture04_PerformanceAnalysis.ipynb new file mode 100644 index 0000000..dd21513 --- /dev/null +++ b/week2/slides/Lecture04_PerformanceAnalysis.ipynb @@ -0,0 +1,2306 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "# Lecture 4: Performance analysis\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "skip" + } + }, + "source": [ + "![](https://www.tensorflow.org/images/colab_logo_32px.png)\n", + "[Run in colab](https://colab.research.google.com/drive/1qRS7NIEctu9MaqafI5IpK9RWG3yyMYO1)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:13:45.881490Z", + "iopub.status.busy": "2024-01-10T00:13:45.881060Z", + "iopub.status.idle": "2024-01-10T00:13:45.891554Z", + "shell.execute_reply": "2024-01-10T00:13:45.891079Z" + }, + "slideshow": { + "slide_type": "skip" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Last executed: 2024-01-10 00:13:45\n" + ] + } + ], + "source": [ + "import datetime\n", + "now = datetime.datetime.now()\n", + "print(\"Last executed: \" + now.strftime(\"%Y-%m-%d %H:%M:%S\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Examining datasets\n", + "\n", + "Use the MNIST digit dataset as a worked example in this lecture." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Fetch MNIST data" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:13:45.930175Z", + "iopub.status.busy": "2024-01-10T00:13:45.929703Z", + "iopub.status.idle": "2024-01-10T00:13:45.985455Z", + "shell.execute_reply": "2024-01-10T00:13:45.984920Z" + } + }, + "outputs": [], + "source": [ + "# Common imports\n", + "import os\n", + "import numpy as np\n", + "np.random.seed(42) # To make this notebook's output stable across runs" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:13:45.990862Z", + "iopub.status.busy": "2024-01-10T00:13:45.989504Z", + "iopub.status.idle": "2024-01-10T00:13:58.720117Z", + "shell.execute_reply": "2024-01-10T00:13:58.719391Z" + } + }, + "outputs": [], + "source": [ + "# Fetch MNIST dataset\n", + "from sklearn.datasets import fetch_openml\n", + "#mnist = fetch_openml('mnist_784')\n", + "mnist = fetch_openml('mnist_784', parser=\"pandas\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Extract features and targets" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "MNIST dataset is already split into standard training set (first 60,000 images) and test set (last 10,000 images)." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:13:58.723827Z", + "iopub.status.busy": "2024-01-10T00:13:58.723238Z", + "iopub.status.idle": "2024-01-10T00:13:58.739013Z", + "shell.execute_reply": "2024-01-10T00:13:58.738377Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "((60000,), (10000,))" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_train = mnist.target[:60000].to_numpy(dtype=int)\n", + "y_test = mnist.target[-10000:].to_numpy(dtype=int)\n", + "y_train.shape, y_test.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:13:58.742189Z", + "iopub.status.busy": "2024-01-10T00:13:58.741593Z", + "iopub.status.idle": "2024-01-10T00:13:58.747855Z", + "shell.execute_reply": "2024-01-10T00:13:58.747206Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "((60000, 784), (10000, 784))" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X_train = mnist.data[:60000].to_numpy()\n", + "X_test = mnist.data[-10000:].to_numpy()\n", + "X_train.shape, X_test.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "Each datum corresponds to a 28 x 28 image." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:13:58.750740Z", + "iopub.status.busy": "2024-01-10T00:13:58.750288Z", + "iopub.status.idle": "2024-01-10T00:13:58.754000Z", + "shell.execute_reply": "2024-01-10T00:13:58.753467Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "28.0 28\n" + ] + } + ], + "source": [ + "import math\n", + "n_float = np.sqrt(X_train.shape[1])\n", + "n = math.floor(n_float)\n", + "print(n_float, n)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Plot image of digit" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:13:58.757013Z", + "iopub.status.busy": "2024-01-10T00:13:58.756399Z", + "iopub.status.idle": "2024-01-10T00:13:59.203839Z", + "shell.execute_reply": "2024-01-10T00:13:59.203168Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAGFCAYAAAASI+9IAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8WgzjOAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAIO0lEQVR4nO3cr2+XVwOH4acLVFDExJio2choCA0K/gBmtmQhmVmCWVKzZRmuyRxhbmoKhwCzMDGxP2BBAQJB0KzZNBMDSSsqeF53m3fmPKE/AtflPzlPkyb395izMs/zPAHANE3vHfUHAHB8iAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgA5cdQfwLvj4cOHi3ZPnz4d3vzwww+LzmKZ/f394c3e3t6is168eDG8WVtbG96sr68Pb94GbgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACAexGORJY+Sff311wfwJf9tc3PzUM45c+bM8ObevXuLznr06NHwZnd3d3izsrIyvDnMB/H+/fff4c3p06eHN5988snw5quvvhreTNM0/fjjj4t2B8FNAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoAxIN4LHrc7tq1a8Obf/75Z3gzTdM0z/Pw5urVq4dyzpLH45acc5hnLTlnY2NjeLO6ujq8maZpWl9fH95cuXJleLPk4b3DeojxILkpABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAeBDvLfPs2bPhzeeffz68WfK43Ycffji8maZpunTp0vDmvffGf++8fv16eLPkobVTp04Nbw77rFHnzp07lHM4eG4KAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBAVuZ5no/6I3hzNjc3hzd//vnn8Oazzz4b3ty6dWt4M03L/iZgGTcFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKACQE0f9Afy327dvL9otedzu008/Hd7cv39/eLPU7u7u8ObRo0fDm1OnTg1vrly5MryB48xNAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoAxIN4x9TOzs6hnfXgwYPhzcrKypv/EN64ra2t4c2dO3eGN6urq8Mbjic3BQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAkJV5nuej/gj+37Nnzxbtfv755+HNy5cvF5016oMPPli0u3z58hv+kqO1t7e3aPfTTz8Nb169ejW8+fvvv4c3586dG95wPLkpABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAeBAPDtnz588X7c6fPz+8OXny5PDmr7/+Gt6cOXNmeMPx5KYAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgDkxFF/ALxrbty4sWi3t7c3vPnmm2+GN148fbe5KQAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgKzM8zwf9UfAcfD8+fPhzfb29vDm999/H95M0zR9/PHHw5snT54MbzyI925zUwAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCADlx1B8AB+Hhw4fDm+vXrw9vdnZ2hjenT58e3kzTNN29e3d443E7RrkpABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAeBDvEDx+/Hh4s7m5ueis999/f9Fu1P7+/vDm6dOni8769ddfhze3b99edNaoL774Ynjzyy+/LDrL43YcBjcFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKACQlXme56P+iLfd2bNnhzc3b95cdNb6+vrw5sWLF8Ob3377bXjzxx9/DG+maZqW/ItevHhxeLO9vT282draGt6cPHlyeAOHxU0BgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFADIiaP+gHfBhQsXhjfffvvtAXzJm7O6ujq82djYWHTWd999N7z5/vvvhzdra2vDG3jbuCkAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCszPM8H/VHvO329/eHN/fu3Vt01t7e3qLdqC+//HJ489FHHx3AlwBvkpsCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIB/EAiJsCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAg/wMoh+Lly7Gm9AAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import matplotlib\n", + "import matplotlib.pyplot as plt\n", + "plt.rcParams['axes.labelsize'] = 14\n", + "plt.rcParams['xtick.labelsize'] = 12\n", + "plt.rcParams['ytick.labelsize'] = 12\n", + "\n", + "some_digit = X_train[41000]\n", + "some_digit_image = some_digit.reshape(n, n)\n", + "plt.imshow(some_digit_image, cmap = matplotlib.cm.binary,\n", + " interpolation=\"nearest\")\n", + "plt.axis(\"off\");" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + }, + "tags": [ + "exercise_pointer" + ] + }, + "source": [ + "**Exercises:** *You can now complete Exercise 1 in the exercises associated with this lecture.*" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Plot selection of digits" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:13:59.207815Z", + "iopub.status.busy": "2024-01-10T00:13:59.207477Z", + "iopub.status.idle": "2024-01-10T00:13:59.659642Z", + "shell.execute_reply": "2024-01-10T00:13:59.658941Z" + } + }, + "outputs": [], + "source": [ + "# Extract digits\n", + "n_digits = 10\n", + "n_images = 10\n", + "example_images = np.zeros([n_images * n_digits, n*n])\n", + "for i in range(n_digits):\n", + " example_images[i*n_images:(i+1)*n_images,:] = X_train[np.where(y_train == i)][0:n_images,:]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:13:59.663112Z", + "iopub.status.busy": "2024-01-10T00:13:59.662527Z", + "iopub.status.idle": "2024-01-10T00:14:02.060635Z", + "shell.execute_reply": "2024-01-10T00:14:02.059958Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAn8AAAJ8CAYAAACP2sdVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8WgzjOAAAACXBIWXMAAA9hAAAPYQGoP6dpAADTXElEQVR4nOydZ7gTVReFX2yggKgoCKJgBTsq6GfvBRWx995774q9V1QUFRW72BV77x3Fgih2LGBvFCvc74fPuieZm9ybnklmvX9ybzJJzs5MJnPWWXvvVg0NDQ0YY4wxxphEMF21B2CMMcYYYyqHL/6MMcYYYxKEL/6MMcYYYxKEL/6MMcYYYxKEL/6MMcYYYxKEL/6MMcYYYxKEL/6MMcYYYxKEL/6MMcYYYxKEL/6MMcYYYxKEL/6MMcYYYxKEL/6MMcYYYxKEL/6MMcYYYxKEL/6MMcYYYxKEL/6MMcYYYxKEL/6MMcYYYxKEL/6MMcYYYxLEDNUeQC68+eabAAwePBiAG264AYBddtkFgIMOOgiAZZddtgqjqyzPPvssAGuttRYADQ0Nafevvvrq1RiWKSGPPPIIABtttBEA88wzDwBXX301AH369AFgrrnmqsLojDG58tVXXwFwxBFHAHDnnXc22eawww4D4KKLLqrcwEzisfJnjDHGGJMgWjVIOooZb7/9duPfa665JgC///57xm07dOgAwM8//1z2cVWL66+/HoBLL70UgPfeew+AqVOnAtC7d28gqKEHHHAAADPMUBPiLgBvvPFG49/LL788AK1atcq47WmnnQbAiSeeWP6BVRgpf5tssknGx/v37w/APffcU7ExlZp3330XgJdeeqnxvv333z+n584222wAvPzyywAsuuiipR1ciXn11VcBGDVqFAAXXHABAJ999lnjNklS7n/44YfGv/faay8ARowYkbZNrX6/pfRtvfXWQNj3mZh33nnTnnP77benPbfW6du3LwAjR44EYLrpsmtNiyyyCAA333wzAN27dwdgzjnnLOcQK8Lzzz/f+PeXX34JwFlnnQXABx98AITVnXPOOQeATTfdFIB27dqVbVxW/owxxhhjEkTslL/XX38dgC222KLxvm+++QYIKtCss84KwEwzzQTAjz/+CMCLL74IwHLLLZf2eC0jxe/GG28E4IUXXkh7XMrf9NNPn3b/J598AoQZVC2w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bkhm7EVd/G2zxDb8MOUHTnr2JL6d9C295+7Nozs8Sud2nVt+cg2T1LghubEnNW5w7EmMPalxQ3JjT2rckMzYy9bb1xhjjDHGxA9n+xpjjDHGJAhf/BljjDHGJAhf/BljjDHGJAhf/BljjDHGJAhf/BljjDHGJAhf/BljjDHGJAhf/BljjDHGJAhf/BljjDHGJAhf/BljjDHGJAhf/BljjDHGJAhf/BljjDHGJAhf/BljjDHGJAhf/BljjDHGJIgZqj0AY4xJOttttx0Ar776KgDDhw8HYIUVVqjamIwxhfPss88CcOqppzbed9xxxwGw3nrrVWNIaVj5M8YYY4xJEK0aGhoaqj2IpHPIIYcAcOmllwKwxBJLND724IMPAtC9e/fKD8wYUxFWXHFFICh/Cy20EABjxowBYMYZZ6zOwEzF+OuvvwDYZpttALj//vuBcO7/4osvqjIukx9PPvkkAJttthkAkydPbnxM3+PHH38cgNVXX73CowtY+TPGGGOMSRA17fk744wzADjppJMAkIiptfZqXlXngmZyN910EwCtWrUCwmwf4MMPPwTqU/n7559/AHj55ZeB4IdIva/e0DEqj9fDDz8MpO/zbt26VX5gMebss88G4PjjjwfgmGOOAeCcc86p2phKwVdffdX495tvvpn22CeffALAv//+C9SX8rfJJps0/v3AAw8AcMUVVwCw3377VWVMcWD06NEAjBgxAgi/B7qNO1K8OnfuDMAdd9yRddv55psPgPnnnx+Ab7/9FoDevXsD6atftcKXX34JwF577QWkK35iuun+09s6depUuYFlwcqfMcYYY0yCqEnl7/rrrwfCzH/66acHYOrUqUDtzJTmmmsuICiU8ngkhd9++w2ANdZYA4C555678THNBFPvqwf++OMPAF588UUAJk6cCMCjjz7auM2ee+5Z+YHFEH028sLqez1o0CAAFl54YQD22GOPyg+uBPz666+Nf0sFF5tuuikArVu3ruCIysvff/8NpCsi2qeXXHIJADvssAMAs846a4VHVz2k7p577rkZH2/Tpk0lh1Mw66yzTtr/Sy65ZN6v8dNPPwGw9dZbA82rh3HhkUceAWD77bcHwu9aJqTgL7roouUfWAtY+TPGGGOMSRA1qfyNGzcOCNlRtUrbtm2B+vTzFYLUvtS/6035m2WWWQBYZJFFAPjmm28A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rLMOEH7f6pkff/wx4/25qNmTJk0Cyut1Kzc333xz1sdOOeUUAI477jggFMKO/p5/9tlnZRlbKlb+jDHGGGMSRNWUP80Oolm+ygKq5Sv/QlGds6Shum69evVqvO/DDz8EwozoiiuuqPi4qkU9qJ3af1HFT0gRrAfkT1Wm3tChQwG48sorgeDrETPNNBMAbdu2bbwvqg5K2VOLO72HaoepHVytK3+pGaC1zKOPPgo09fStscYaAFx22WWVHlLViPrUpHRL1W6OGWecEajN33/5mz/44IOs25x++ukA3HPPPQCMHj0643aVyHOw8meMMcYYkyAqrvzttttuQPB0KftPrLTSSpUeUmw46KCDgPRZorxT4pJLLknbtp4yQ9dff/3Gv8ePHw/ARRddVK3hVI2HH34YCPu4FokqWUJKyOKLL17B0ZSH7777DoBDDjkEgNtvv73Z7aXWKZtfXQ4All566bzee5dddslr+2ry/fffZ31s7733ruBIyof82tFY55lnHgBmn332io8pLmj1JjXbNxv6Paul3zVlKEuF13khE6oDGVX85P9Vtu+qq65a8nFGsfJnjDHGGJMgKqb8qa7fE088AYTZb+vWrQHYf//9AffvhXRVRD6ipKHjQ/6oekPHufb1+++/X83hlJyBAwdmvF/f83pQQpSpl03x22ijjQA48sgjgdDHVr6mpHD99ddXewhlQwpOtJOHUJcLZW3Lw1mPvPbaa0BT5WvZZZetxnAqhvqVv/POO3k/d+uttwbg8ssvB9IrAJSbgpW/58c9T//b+tP1wq60OrUV9314XwmHFW8ce/JiT2rckNzYkxo3JDf2pMYNjj1psRes/E3+ezJLd16a3XvvzuZ3bN7i9r/++ivQdFagqv4XXnhhoUOpOPnGni+pPpgRI0aU/PWLodyxC2U13nfffQBsvnn53isXSh23FE1lwqUidTwunr98Ys+mhKi+1RZbbFGWMZaDluLebLPNABg2bBgQzmWqzi9/cy1Sqe953Mg37tlmmw3IXKsUQka3VrjiTLH7XH50/dYvueSSAMw777wlG2O5KCb2bH7dvn37AulZ/cppWHfdddP+r8ZqQMEXf/0W7ke/hfuVciw1g2NPXuxJjRuSG3tS44bkxp7UuMGxJy32qtX5M9lJ7durv9XTt55J9U61adMGqK8expno3bs3ACNHjmy8T1XuaxH5fqJ9PaV8ZOpbXav06NEDyN7VwWSmT58+Gf+uRbp16wZk9yYfeOCBQP3UM2yOV155BYDppvvPTZYUH7/q1CqTt1Zwtq8xxhhjTIKomPKn7g1a437hhRcq9dY1R/fu3Rv/fu+996o4ksqy+uqrN/6tKumZPHH1xAknnACk131SBlgtssceewBw2mmnAaEnrXp5m+QR7Web+j2Xwl/rjBs3rtpDiA1bbrklEGofmnhi5c8YY4wxJkFUTPlTdfvnnnuuUm9paozhw4dXewgVR74x+WXqBSshRij7WbemPvn888+rPQSTBwVf/E36exKf/Bxaj33+y+e8/e3bzDHzHMzXYb6SDC6uOPbkxZ7UuCG5sSc1bkhu7EmNGxx70mJv1aAmu3ny7BfPsuYNaza5f5eld+H6Ta8vdlyxxrEnL/akxg3JjT2pcUNyY09q3ODYkxZ7wRd/xhhjjDGm9nDChzHGGGNMgvDFnzHGGGNMgvDFnzHGGGNMgvDFnzHGGGNMgvDFnzHGGGNMgvDFnzHGGGNMgvDFnzHGGGNMgvDFnzHGGGNMgvDFnzHGGGNMgvDFnzHGGGNMgvDFnzHGGGNMgpih2gMwxhhjjKllxo4dC8Caa64JwIQJEwCYb775Grd5+umnAVhwwQUrPLqmWPkzxhhjjEkQrRoaGhqqPQhjjKk3/vzzTwAef/xxAO6//34ARo4cCcDiiy/euO3xxx8PwPzzzw9A27ZtKzZOY0zxLLPMMgC8/fbbWbfp0aMHACeddBIAu+22W7mHlRUrf8YYY4wxCcLKn6kad999NwB//PEHAG+++WbjY4MGDQKCf2L33XcHYLHFFgNg2WWXrdQwTQn57LPPAHj33XezbtOpUycAVlpppYqMqdRccMEFAIwZMwaAG264ocXn6DTcu3dvAIYOHQrAcsstV4YRGmNKjX6/XnvtNQBWWWUVAIYNG9a4zX333QfAl19+CcARRxwBwHnnnVepYTZi5c8YY4wxJkHUhPI3ceJEACZNmgTAQw89BMD3338PhKvn1q1bV2F0hXPTTTcB8NhjjwHwzjvvACFrKJX//e9/ADzwwAMAdOjQoRJDLAlS9j788EMABg4cCMBTTz0FwF9//ZXza8kTtfbaawNw7rnnAjDrrLMCMP3005dgxLmjmdyll14KwDPPPJPT8zbbbDMA+vXrB8B6663X+NhPP/0EwCKLLAJAu3btSjLWSnLUUUcB8MMPP6Tdr2NAs+NMdOnSBYCbb74ZgLXWWqscQywbSy65JADvv/8+AK1atWrxOToNa9tu3boB8NFHHwG1d25LKuPHjweaHvfFIP/nQgstVLLXLAU6r0833X8a0t9//w3AlVdeCYTf6SOPPBKAddddt/G5Os5nmmmmygw2JnzwwQcAbLjhhgB8/fXXANx2220AbLnllhUbi5U/Y4wxxpgEETvl7/PPPwfS18BfeeUVAN57772MzznggAOAoL7ElR9//BGAPffcE4ARI0YAMNtsswGZPU7PPfccEFTPXr16AWEGEUfk53r++eeBkO344IMPlu09TznlFCAoalJfyoUUv5133hkI+6dQpPIBTJkyBYCOHTsCTVWfiy66CIiHJ04q9XfffQfAtddeCwRVu6XTy1xzzdXkPqkmbdq0AcJxI7U37hSi/HXt2hUIypFYccUVARg+fDgQFME4onOS/LpRtP8UE8C8885b9nGVk8MOOwyAqVOnAvDiiy8CzWd85ss888wDwD333ANA3759S/bazTFt2jQA7r33XgB++eUXIJzf9fulVSkpf9o+SqpPe/311wfCeVPnbZ3T6l3p1nGy6qqrAuE40rm9Elj5M8YYY4xJEFVX/uQB0mxRPh/5CSCoB6qU3b59eyBk00k9ePbZZ4GgjsUNZe598cUXAOy9995A8EfNMcccTZ6jz2f55ZcHYPLkyQCcfPLJQKgXFCcGDx4MwMEHH9zsdt27dweCZ6Q5VC1dtdNaeu/999+/xdcsBmVj7rPPPmV9n0xUSwlIRSr8NttsA2RXotdZZx0geBujpH5XpTQMGDAg7X/F9/rrrxc77IrQkvKn/Xfrrbc23qfvvvxR8gGLE088EYBTTz21DCMuDJ1vNSat0LTk4U1Vex955BGgdrKar776agAOOeQQID+/crHod++3336ryPtdccUVQFhZqwTyPl922WVA+opIPSH1dOmllwaCl13VECqBlT9jjDHGmARR8d6+mrUcc8wxANx+++0A/P7771mfo6t/zYblLZBqII+QPHVx44knngBg1KhRQFBLzj777BafqxgPPfRQAE4//XQg1A6Ko/InNt10UyD44+aee24A9tprLyAonrlks8rPqc+h2pRbWWyOb775Bgh1pOSluuWWWwCYffbZyz4Gvae+ezPP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bL/99gB06tQJgHfffRcI56J8GD58OAC77LILAAMGDADgjjvuKG6wNYR+v84880wA1l13XQBuv/32qo0pF/T7cNVVVwHw448/AumK8Ouvv57Ta/35558AbLXVVgA8+OCDANxwww1AeVa24sTcc88NwPfff592/7Bhw4Dw/SgEK3/GGGOMMQmiZEYpzUg//vhjoLLK37Rp0wD4/PPPgaCUlEjUrAleffVVAP7++28AVlllFaC0il82Tj31VAAWWGABIMzSS8l3331X8tesJMpWbtOmDRA8K7mgDOfWrVsD0L59+xKPLl6MGTMGgLPOOguA2267DQgZ61LBqs0vv/wCwIgRIwAYMmQIANdeey0AX3/9NZCf8hVV/OLMo48+CsBOO+0EwM8//5x2W8z5V8f6dNP9p0888cQTQFB6brzxxoJfO67od0wx6riXknrCCSdUZ2B5cvPNNwNB8Zt99tkBuPrqq/N+LX0m+k2PM1OnTgXg7rvvBqBXr14ALLXUUnm/lj7D3377DYBWrVoBwfO6yCKLFDdYrPwZY4wxxiSKkil/WoNfaaWVSvWSOTNhwgQgzCw0E9WVd9yRX1LeDs34oOVsJm373nvvAcH7Jh9eJVAm1q677gqEWXqfPn2Kfm1lFMv/EkUeIPmt4sa9994LBG+GVNJc/JHK2FYWu3yd3bt3L/k4K42U3FSlS8rx8ssvn/bYxRdfDLSs+N15551A8AeVG/lNddxHqdeVB+0XZSRL4ZFKt99++wHFZeBr5Uh1PLWqoxUOnXPqSQV/6623gFDDVJxyyilAYQpSHNBx0rt377yfq5Wsb7/9FgjHVBzPgfLX77///kCotXvPPfc0btPS8Spvn34nFL9YccUV026LwcqfMcYYY0yCKJnyp7X5arDnnnum/b/wwgtXaSSFsffeewPBFybPEwTvXjakFspno9lHPpmG+TL//PNnvP/3338HwkxPM1h5PgpBHtJcs8Pihrwbm266KZBfRvT9998PwD///APAFltsUdrBVYF///0XCPXqVLcLYNy4cUBQltZbbz0A9thjj5xee8qUKSUbp8nOgQceCIS6fkLq9uDBg8v23jofyFeVTXWNC1qNkop//vnnNz4255xzAmF1QytWQrEpezzujBo1CoBff/0VgB49egCw4447Fvya+vykiKnaQyV8vzqftFS/VhnJOl8LVR2R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A6gvxU8zwJtuugmAbbbZBkhWducll1wCBB9fJtZZZx0ABg4cCMAMM1T961ow+p6/8847WbeRN2a//faryJgqjfyOBx98MNBU7QPo3bs3ENRBKUXyD9UyUoCa837VoxIEwd88evToxvvk3ZXfq1497JlW6qTw6rYeuOaaawA477zzgKD4LbTQQo3b7LPPPkDY59Wkfq4ojDHGGGNMi1RdSpD68+WXXwKw0UYbAcEPBjDPPPNUfmAVRMqOPCDy/gHMOuusVRlTOZGK8e+//wLV8TtUC1V2V7ea5pD6U8uobme/fv2AoH5lQln89cpOO+0EhLpuqahe5+WXXw7AzDPPDMCwYcOA9J6wtYaUvua82vWq+Ol433zzzYHgB4Ow2iVPb70R3d+pKl897e/ddtsNCEqfVvJEauZ6nPa1lT9jjDHGmARRNeVPlazffvttAHr06AHARRddBNS/2gehz59qnWlmVO9KmGrbdenSBYDdd9+9msOpKDref/jhh7T7p59++sa/1cu6HpCnMZvip64lAIssskhFxlRp1KVGHR1Eaneeu+++GwjnRTH77LOXeXTlJ7VzTxQpQPXk/Url6quvBmD8+PFA8PECDBo0qBpDKjvK1K732o1ScVWXVP/rd10VOqTwxg0rf8YYY4wxCaLiyt/9998PBH+b6t6otp28LklAWUGq8abuHfWKPBFvvfUWEBS/Xr16VW1MlUJZfu+//37Gx1XvCYL6XQ/cc889Ge+X4nfXXXc13lcPfapTGTFiBBBqev39999pjyvLHUJdv3oiW/eOVL9XvSp+L774IgDXX3992v1HH31049/q0x5FXV3U7UX9nRdccMFSD7OkaD9Hld5c1N1smeBxzArWqs0mm2wCpHv0ISh+hxxyCBDfSh3xHJUxxhhjjCkLFVP+fv31VwCef/75jI/L25KL30010pQhLHTFXSs8/vjjQFBBUnvb1iPnn38+EDJA55133moOp6IMHToUSM/2S2XppZeu5HAqxgcffJD2v9SLO++8E2he7dM545hjjgGCR1TZdeqLGVd+//13oKnit8oqqwD1q/TXkopTalS7Uf42nes22GADIP0cr5WQd999F4Brr70WCLUwVRVB/vcHHngACLUg40ZU8ctlf8sfmM0XGr0/Ux3gSqNKDW+88Uba/VrB2mWXXYB0H3ccsfJnjDHGGJMgKqb8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/vtvAD744AMAbr755rTtevXqBcCYMWMqODrz559/AvDDDz+k3f/SSy8B0NDQAMDHH3+c82vOOOOMAOy4444AdO3aFYDpp5++uMHGDH02EyZMaLzvzjvvBOCuu+4C4JNPPgHgtddeA2C++ear5BBzQnEMHjw4p+1atWoFwI8//tj42Omnnw7AoEGD0rbZZJNNAOjevXvpBmxiyRdffAHAsGHDgHBMrLbaagDcf//9AHTo0KGs49C5TO87duxYAPbee++iXveqq65q/FvHt74Tm2++OQBzzTUXAJttthkA66+/flHvaarDX3/9BcCLL77YeN9DDz0EwLPPPgvAqFGj0p6j4yv1OCkXVv6MMcYYYxJEqwZNO6rMc889B8B7770HwPPPP9/42L333gvAtGnTmn0NqUILLrggEBTCemDq1KkAfPbZZxkflxrUunXrio1JbLvttgDcfvvtZXuPAQMGAHDttdcC0LFjx7K9Vzn5+uuvAbjvvvuA8Jmlzg6jtG3bFgiqyJxzzlm+AeaIlJFHHnkEgDPPPBMIKmU2ospfLttI9d1pp52AoAYvtthiBY292mgFY+LEiY33aXVDfPvtt0BQwIRWN8444wwAtthii7KNs9REjxkIx432+R9//AHA+PHj056rx3fZZReg6edSal544QUA9tlnHyAof9FjM9//e/bs2fgeub6mVgKkDNYqZ599dpP7zj33XAB+//13ABZaaCEAdtttt7Tt+vfvD8ASSyxRziEWhK5ZJk2aBARV78knnwTgmWeeafKcls6DLV3rlAIrf8YYY4wxCaJiyp88Tdtttx3QVMH67bffgHD1nDqsPn36APDmm2/m9F7dunUDYNy4cUWMuCkjRowAggepVGjW8/jjjwNw3XXXNT4m38C///4LpCuiqcgbc+KJJ5Z0bLkgb8qXX34JlEZ91MxHPjfxwAMPALDxxhsX/R6V4N133wXCrFcqtvZrjx49gDCzhbCvhwwZAoTP95577in/gHNk0003BcL+yJVClL8oUrm33HJLAE455RQgKKRxY8qUKUD4jkoZePXVVwt+TSkjqeeKuCBlU+ffQw45BICffvoJgJEjRzZ5Tkv7XI/rHFzp779WkaQIZkOqfDEqnT6f5ZdfHoArr7wSKN5vWG5++eUXAG655RYAHnzwQSAc5/qdg+a//5lYYIEFgPx84+XikksuAWD48OFAyDGQkt/csSzlVwqnPIBCq2i33nprqYfdBCt/xhhjjDEJouzZvlr33muvvYCgDrVEql9PsyllBsoPotnvV199lfbccnmB1l133aKe//333wNB4fvoo4+A4HfMpOotu+yyQFBalFn7+uuvp20n70w1lD/N9JShq9tikPq19tprA+Gz0WcVV+VP/o7dd98dCN4t7TfN3uVbW2655QCYZZZZGl/j7bffBoLyt+SSS5Z51PnTkp924MCBQHH+RPnaolnkUpQuuugiANZZZx0gPlmR8nW+9dZbAJx//vlA877OGWb471Q8//zzp90vD5xeM85I8dB+OeGEE9Luz1ftycSiiy5a9GsU876VeH/5gUvxeZUTKXta3bjsssuA8DtXSvTbLxXxf//7X8nfI1d0btMqZZQ11lgDgI022ggIah5Au3btgPA7FlX+TjrppJKOtTms/BljjDHGJIiyK3/nnXcekF3xkz9M262wwgpAelaUUIan1tyjip/8UzfddFORo87MzDPPXNTzV199dQA+/PDDZreTxwuC36NTp04AzDPPPEBT5U9ZcNUgVbUqFZMnTwaaqqFbb711yd+rlGiG2rt3byD40ORPk190uulyn3cVe9yVA3kXpWrdeOONaY/LnyhPYCE1+g488EAg+HyU6Ro35Ok77bTTgJCRnlrDMBNt2rRp/FsZnVK09ZryFe2xxx5pz5177rmLHXbRSL2Q8qPVh6hSG0WZ+xCOi1133RUI6m30NQ4++GAgVHKoZ/Q5xkX503dYXkQdq/pNlzpdDMriHT16dMbHZ511VqC6ip+Q71TKvtDqZvv27Vt8DX13pIrr90K/75XAyp8xxhhjTIIom/InX1u2jDZl7EmlW2WVVXJ+7Wz+F80o41AHLROayUnJWXrppYHgjZG3a9555218jhQiKSwnn3xy2mvKIxS931SHrbbaKu22EI4//vi0//fdd9+ixlQO5Ku9+uqrgaDKyf/5/vvvA+H7rRp9pezSITW8Wt93KR4HHXQQkD3zVuc61SuUJ2ittdZq3CbqJ5ZXOqr4qeNENby9QnX6dthhByBUaoiy+OKLAyF+HTPKzoawatC5c2egqVqq16hmvJVCPlr9Tui22vX99N1NrUuZC1q90++ZPLyZUH1QeaGj7Lfffnm9dznR91e3+aB8BXn9tI/1WrmohqXCyp8xxhhj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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plot digits\n", + "plt.figure(figsize=(10,10))\n", + "fig, axes = plt.subplots(n_digits, n_images, figsize=(8, 8),\n", + " subplot_kw={'xticks':[], 'yticks':[]},\n", + " gridspec_kw=dict(hspace=0.1, wspace=0.1))\n", + "\n", + "for i, ax in enumerate(axes.flat):\n", + " ax.imshow(example_images[i].reshape(n,n), cmap='binary', interpolation='nearest')\n", + " ax.axis(\"off\")\n", + " ax.text(0.05, 0.05, str(i // n_images),\n", + " transform=ax.transAxes, color='green')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:02.064046Z", + "iopub.status.busy": "2024-01-10T00:14:02.063359Z", + "iopub.status.idle": "2024-01-10T00:14:02.067767Z", + "shell.execute_reply": "2024-01-10T00:14:02.067210Z" + } + }, + "outputs": [], + "source": [ + "def plot_digit(data):\n", + " image = data.reshape(n, n)\n", + " plt.imshow(image, cmap = matplotlib.cm.binary,\n", + " interpolation=\"nearest\")\n", + " plt.axis(\"off\");" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "Shuffle training data so not ordered by type." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:02.070642Z", + "iopub.status.busy": "2024-01-10T00:14:02.070400Z", + "iopub.status.idle": "2024-01-10T00:14:02.736323Z", + "shell.execute_reply": "2024-01-10T00:14:02.735619Z" + } + }, + "outputs": [], + "source": [ + "# Shuffle training data\n", + "import numpy as np\n", + "shuffle_index = np.random.permutation(60000)\n", + "X_train, y_train = X_train[shuffle_index], y_train[shuffle_index]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Binary classifier\n", + "\n", + "Construct a classify to distinguish between 5s and all other digits." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:02.739912Z", + "iopub.status.busy": "2024-01-10T00:14:02.739322Z", + "iopub.status.idle": "2024-01-10T00:14:02.742873Z", + "shell.execute_reply": "2024-01-10T00:14:02.742160Z" + } + }, + "outputs": [], + "source": [ + "y_train_5 = (y_train == 5)\n", + "y_test_5 = (y_test == 5)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:02.745912Z", + "iopub.status.busy": "2024-01-10T00:14:02.745363Z", + "iopub.status.idle": "2024-01-10T00:14:02.751897Z", + "shell.execute_reply": "2024-01-10T00:14:02.751306Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([False, False, False, ..., False, True, False])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_test_5" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Train\n", + "\n", + "Train a linear model using Stochastic Gradient Descent (good for large data-sets, as we will see later...)." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:02.754951Z", + "iopub.status.busy": "2024-01-10T00:14:02.754519Z", + "iopub.status.idle": "2024-01-10T00:14:02.758982Z", + "shell.execute_reply": "2024-01-10T00:14:02.758368Z" + } + }, + "outputs": [], + "source": [ + "# disable convergence warning from early stopping\n", + "from warnings import simplefilter\n", + "from sklearn.exceptions import ConvergenceWarning\n", + "simplefilter(\"ignore\", category=ConvergenceWarning)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:02.761746Z", + "iopub.status.busy": "2024-01-10T00:14:02.761309Z", + "iopub.status.idle": "2024-01-10T00:14:04.112020Z", + "shell.execute_reply": "2024-01-10T00:14:04.111257Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
SGDClassifier(max_iter=10, random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "SGDClassifier(max_iter=10, random_state=42)" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.linear_model import SGDClassifier\n", + "sgd_clf = SGDClassifier(random_state=42, max_iter=10);\n", + "sgd_clf.fit(X_train, y_train_5)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "Recall extracted `some_digit` previously, which was a 5." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:04.115229Z", + "iopub.status.busy": "2024-01-10T00:14:04.114730Z", + "iopub.status.idle": "2024-01-10T00:14:04.162849Z", + "shell.execute_reply": "2024-01-10T00:14:04.162180Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAGFCAYAAAASI+9IAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8WgzjOAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAIO0lEQVR4nO3cr2+XVwOH4acLVFDExJio2choCA0K/gBmtmQhmVmCWVKzZRmuyRxhbmoKhwCzMDGxP2BBAQJB0KzZNBMDSSsqeF53m3fmPKE/AtflPzlPkyb395izMs/zPAHANE3vHfUHAHB8iAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgA5cdQfwLvj4cOHi3ZPnz4d3vzwww+LzmKZ/f394c3e3t6is168eDG8WVtbG96sr68Pb94GbgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACAexGORJY+Sff311wfwJf9tc3PzUM45c+bM8ObevXuLznr06NHwZnd3d3izsrIyvDnMB/H+/fff4c3p06eHN5988snw5quvvhreTNM0/fjjj4t2B8FNAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoAxIN4LHrc7tq1a8Obf/75Z3gzTdM0z/Pw5urVq4dyzpLH45acc5hnLTlnY2NjeLO6ujq8maZpWl9fH95cuXJleLPk4b3DeojxILkpABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAeBDvLfPs2bPhzeeffz68WfK43Ycffji8maZpunTp0vDmvffGf++8fv16eLPkobVTp04Nbw77rFHnzp07lHM4eG4KAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBAVuZ5no/6I3hzNjc3hzd//vnn8Oazzz4b3ty6dWt4M03L/iZgGTcFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKACQE0f9Afy327dvL9otedzu008/Hd7cv39/eLPU7u7u8ObRo0fDm1OnTg1vrly5MryB48xNAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoAxIN4x9TOzs6hnfXgwYPhzcrKypv/EN64ra2t4c2dO3eGN6urq8Mbjic3BQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAkJV5nuej/gj+37Nnzxbtfv755+HNy5cvF5016oMPPli0u3z58hv+kqO1t7e3aPfTTz8Nb169ejW8+fvvv4c3586dG95wPLkpABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAeBAPDtnz588X7c6fPz+8OXny5PDmr7/+Gt6cOXNmeMPx5KYAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgDkxFF/ALxrbty4sWi3t7c3vPnmm2+GN148fbe5KQAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgKzM8zwf9UfAcfD8+fPhzfb29vDm999/H95M0zR9/PHHw5snT54MbzyI925zUwAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCADlx1B8AB+Hhw4fDm+vXrw9vdnZ2hjenT58e3kzTNN29e3d443E7RrkpABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAeBDvEDx+/Hh4s7m5ueis999/f9Fu1P7+/vDm6dOni8769ddfhze3b99edNaoL774Ynjzyy+/LDrL43YcBjcFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKACQlXme56P+iLfd2bNnhzc3b95cdNb6+vrw5sWLF8Ob3377bXjzxx9/DG+maZqW/ItevHhxeLO9vT282draGt6cPHlyeAOHxU0BgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFADIiaP+gHfBhQsXhjfffvvtAXzJm7O6ujq82djYWHTWd999N7z5/vvvhzdra2vDG3jbuCkAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCszPM8H/VHvO329/eHN/fu3Vt01t7e3qLdqC+//HJ489FHHx3AlwBvkpsCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIB/EAiJsCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAg/wMoh+Lly7Gm9AAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_digit(some_digit)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "Predict class:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:04.166557Z", + "iopub.status.busy": "2024-01-10T00:14:04.166129Z", + "iopub.status.idle": "2024-01-10T00:14:04.173666Z", + "shell.execute_reply": "2024-01-10T00:14:04.173133Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ True])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "some_digit.shape\n", + "\n", + "sgd_clf.predict([some_digit])\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Test accuracy" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:04.178073Z", + "iopub.status.busy": "2024-01-10T00:14:04.176751Z", + "iopub.status.idle": "2024-01-10T00:14:04.213684Z", + "shell.execute_reply": "2024-01-10T00:14:04.213035Z" + } + }, + "outputs": [], + "source": [ + "y_test = sgd_clf.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:04.218677Z", + "iopub.status.busy": "2024-01-10T00:14:04.217226Z", + "iopub.status.idle": "2024-01-10T00:14:04.225740Z", + "shell.execute_reply": "2024-01-10T00:14:04.225190Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0.9601" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.metrics import accuracy_score\n", + "accuracy_score(y_test, y_test_5)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Cross-validation" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "#### n-fold cross-validation\n", + "\n", + "\n", + "\n", + "[Image credit: [VanderPlas](https://github.com/jakevdp/PythonDataScienceHandbook)]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + }, + "tags": [ + "exercise_pointer" + ] + }, + "source": [ + "**Exercises:** *You can now complete Exercises 2-3 in the exercises associated with this lecture.*" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Consider naive classifier \n", + "\n", + "Classify everying as not 5." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:04.229463Z", + "iopub.status.busy": "2024-01-10T00:14:04.229066Z", + "iopub.status.idle": "2024-01-10T00:14:04.234410Z", + "shell.execute_reply": "2024-01-10T00:14:04.233859Z" + } + }, + "outputs": [], + "source": [ + "from sklearn.base import BaseEstimator\n", + "class Never5Classifier(BaseEstimator):\n", + " def fit(self, X, y=None):\n", + " pass\n", + " def predict(self, X):\n", + " return np.zeros((len(X), 1), dtype=bool)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "What accuracy expect?" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:04.237953Z", + "iopub.status.busy": "2024-01-10T00:14:04.237493Z", + "iopub.status.idle": "2024-01-10T00:14:04.867261Z", + "shell.execute_reply": "2024-01-10T00:14:04.866601Z" + }, + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.909 , 0.90745, 0.9125 ])" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.model_selection import cross_val_score\n", + "\n", + "never_5_clf = Never5Classifier()\n", + "cross_val_score(never_5_clf, X_train, y_train_5, cv=3, scoring=\"accuracy\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "Need to go beyond classification accuracy, especially for skewed datasets." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Confusion matrix\n", + "\n", + "Can gain further insight into performance by examining confusion matrix." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Confusion matrix shows true/false-positive/negative classifications\n", + "\n", + "- True-positive $\\text{TP}$: number of true positives (i.e. *correctly classified* as *positive*)\n", + "- False-positive $\\text{FP}$: number of false positives (i.e. *incorrectly classified* as *positive*)\n", + "- True-negative $\\text{TN}$: number of true negatives (i.e. *correctly classified* as *negative*)\n", + "- False-negative $\\text{FN}$: number of false negatives (i.e. *incorrectly classified* as *negative*)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Predicted
NegativePositive
ActualNegativeTNFP
PositiveFNTP
" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Cross-validation prediction\n", + "\n", + "`cross_val_predict` performs K-fold cross-validation, returing predictions made on each test fold. Get clean prediction on each test fold, i.e. clean prediction for each instance in the training set." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:04.871959Z", + "iopub.status.busy": "2024-01-10T00:14:04.870596Z", + "iopub.status.idle": "2024-01-10T00:14:07.774513Z", + "shell.execute_reply": "2024-01-10T00:14:07.773793Z" + } + }, + "outputs": [], + "source": [ + "from sklearn.model_selection import cross_val_predict\n", + "y_train_pred = cross_val_predict(sgd_clf, X_train, y_train_5, cv=3)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Compute confusion matrix" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:07.778441Z", + "iopub.status.busy": "2024-01-10T00:14:07.778158Z", + "iopub.status.idle": "2024-01-10T00:14:07.793206Z", + "shell.execute_reply": "2024-01-10T00:14:07.792567Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[52953, 1626],\n", + " [ 807, 4614]])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.metrics import confusion_matrix\n", + "conf_matrix = confusion_matrix(y_train_5, y_train_pred)\n", + "conf_matrix" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Each row represents actual class, while each colum represents predicted class." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "### Perfect confusion matrix" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:07.796975Z", + "iopub.status.busy": "2024-01-10T00:14:07.796729Z", + "iopub.status.idle": "2024-01-10T00:14:07.810580Z", + "shell.execute_reply": "2024-01-10T00:14:07.809959Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[54579, 0],\n", + " [ 0, 5421]])" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_train_perfect_predictions = y_train_5\n", + "confusion_matrix(y_train_5, y_train_perfect_predictions)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + }, + "tags": [ + "exercise_pointer" + ] + }, + "source": [ + "**Exercises:** *You can now complete Exercise 4 in the exercises associated with this lecture.*" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Precision and recall" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "- **Precision**: of predicted positives, proportion that are correctly classified (also called *positive predictive value*).\n", + "\n", + "$$\\text{precision} = \\frac{\\text{TP}}{\\text{TP} + \\text{FP}}$$\n", + "\n", + "\n", + "- **Recall**: of actual positives, proportion that are correctly classified (also called *true positive rate* or *sensitivity*).\n", + "\n", + "$$\\text{recall} = \\frac{\\text{TP}}{\\text{TP} + \\text{FN}}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "-" + } + }, + "source": [ + "Remember:\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Predicted
NegativePositive
ActualNegativeTNFP
PositiveFNTP
" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + }, + "tags": [ + "exercise_pointer" + ] + }, + "source": [ + "**Exercises:** *You can now complete Exercise 5 in the exercises associated with this lecture.*" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### $F_1$ score" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$F_1$ score is the *harmonic mean* of the precision and recall." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$F_1 = \\frac{2}{1/\\text{precision} + 1/\\text{recall}} = 2 \\frac{\\text{precision} \\times \\text{recall}}{\\text{precision} + \\text{recall}} = \\frac{\\text{TP}}{\\text{TP} + \\frac{\\text{FN}+\\text{FP}}{2}}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "$F_1$ favours classifiers that have similar (and high) precision and recall.\n", + "\n", + "Sometimes may wish to favour precision or recall." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + }, + "tags": [ + "exercise_pointer" + ] + }, + "source": [ + "**Exercises:** *You can now complete Exercise 6 in the exercises associated with this lecture.*" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Precision-recall tradeoff" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Under the hood the classifier computes a *score*. Binary decision is then made depending on whether score exceeds some *threshold*.\n", + "\n", + "By changing the threshold, one can change the tradeoff between\n", + "precision and recall." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "Scikit-Learn does not let you set the threshold directly but can access scores (confidence score for a sample is, e.g., the signed distance of that sample to classifying hyperplane)." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:07.814908Z", + "iopub.status.busy": "2024-01-10T00:14:07.814670Z", + "iopub.status.idle": "2024-01-10T00:14:07.821596Z", + "shell.execute_reply": "2024-01-10T00:14:07.820991Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([24299.40524152])" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_scores = sgd_clf.decision_function([some_digit])\n", + "y_scores" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "Can then make prediction for given threshold." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:07.825101Z", + "iopub.status.busy": "2024-01-10T00:14:07.824869Z", + "iopub.status.idle": "2024-01-10T00:14:07.831310Z", + "shell.execute_reply": "2024-01-10T00:14:07.830702Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ True])" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "threshold = 0\n", + "y_some_digit_pred = (y_scores > threshold)\n", + "y_some_digit_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:07.834535Z", + "iopub.status.busy": "2024-01-10T00:14:07.834282Z", + "iopub.status.idle": "2024-01-10T00:14:07.840676Z", + "shell.execute_reply": "2024-01-10T00:14:07.840078Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([False])" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "threshold = 200000\n", + "y_some_digit_pred = (y_scores > threshold)\n", + "y_some_digit_pred" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "#### Compute precision and recall for range of thresholds" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:07.844026Z", + "iopub.status.busy": "2024-01-10T00:14:07.843796Z", + "iopub.status.idle": "2024-01-10T00:14:10.475531Z", + "shell.execute_reply": "2024-01-10T00:14:10.474826Z" + } + }, + "outputs": [], + "source": [ + "y_scores = cross_val_predict(sgd_clf, X_train, y_train_5, cv=3,\n", + " method=\"decision_function\")" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:10.479280Z", + "iopub.status.busy": "2024-01-10T00:14:10.479036Z", + "iopub.status.idle": "2024-01-10T00:14:10.494777Z", + "shell.execute_reply": "2024-01-10T00:14:10.494077Z" + } + }, + "outputs": [], + "source": [ + "from sklearn.metrics import precision_recall_curve\n", + "precisions, recalls, thresholds = precision_recall_curve(y_train_5, y_scores)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:10.499634Z", + "iopub.status.busy": "2024-01-10T00:14:10.497954Z", + "iopub.status.idle": "2024-01-10T00:14:10.701765Z", + "shell.execute_reply": "2024-01-10T00:14:10.701097Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(-700000.0, 700000.0)" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def plot_precision_recall_vs_threshold(precisions, recalls, thresholds):\n", + " plt.plot(thresholds, precisions[:-1], \"b--\", label=\"Precision\", linewidth=2)\n", + " plt.plot(thresholds, recalls[:-1], \"g-\", label=\"Recall\", linewidth=2)\n", + " plt.xlabel(\"Threshold\", fontsize=16)\n", + " plt.legend(loc=\"upper left\", fontsize=16)\n", + " plt.ylim([0, 1])\n", + "\n", + "plt.figure(figsize=(10, 5))\n", + "plot_precision_recall_vs_threshold(precisions, recalls, thresholds)\n", + "plt.xlim([-700000, 700000])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "*Raising* the threshold *increases precision* and *reduces recall*.\n", + "\n", + "Can select threshold of appropriate trade-off for problem at hand." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "Note recall curve smoother than precision since recall related to actual positives and precision related to predicted positives." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## ROC curve" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*Receiver operating characteristic* (ROC) curve plots *true positive rate* (i.e. recall) against the *false positive rate* for different *thresholds*." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + }, + "tags": [ + "exercise_pointer" + ] + }, + "source": [ + "**Exercises:** *You can now complete Exercise 7 in the exercises associated with this lecture.*" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Plot ROC curve" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:10.705549Z", + "iopub.status.busy": "2024-01-10T00:14:10.705078Z", + "iopub.status.idle": "2024-01-10T00:14:10.719896Z", + "shell.execute_reply": "2024-01-10T00:14:10.719259Z" + } + }, + "outputs": [], + "source": [ + "from sklearn.metrics import roc_curve\n", + "fpr, tpr, thresholds = roc_curve(y_train_5, y_scores)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:10.723141Z", + "iopub.status.busy": "2024-01-10T00:14:10.722682Z", + "iopub.status.idle": "2024-01-10T00:14:10.871990Z", + "shell.execute_reply": "2024-01-10T00:14:10.871269Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def plot_roc_curve(fpr, tpr, label=None):\n", + " plt.plot(fpr, tpr, linewidth=2, label=label)\n", + " plt.plot([0, 1], [0, 1], 'k--')\n", + " plt.axis([0, 1, 0, 1])\n", + " plt.xlabel('False Positive Rate (FPR)', fontsize=16)\n", + " plt.ylabel('True Positive Rate (TPR)', fontsize=16)\n", + "\n", + "plt.figure(figsize=(7, 5))\n", + "plot_roc_curve(fpr, tpr)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "Dashed line corresponds to random classifier.\n", + "\n", + "Again, there is a trade-off. As the threshold is reduced to increase the true positive rate, we get a larger false positive rate." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + }, + "tags": [ + "exercise_pointer" + ] + }, + "source": [ + "**Exercises:** *You can now complete Exercise 8 in the exercises associated with this lecture.*" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Area under the ROC curve\n", + "\n", + "Area under the ROC curve (AUC) is a common performance metric." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:10.875409Z", + "iopub.status.busy": "2024-01-10T00:14:10.874976Z", + "iopub.status.idle": "2024-01-10T00:14:10.898598Z", + "shell.execute_reply": "2024-01-10T00:14:10.898029Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0.9668396102663849" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.metrics import roc_auc_score\n", + "roc_auc_score(y_train_5, y_scores)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + }, + "tags": [ + "exercise_pointer" + ] + }, + "source": [ + "**Exercises:** *You can now complete Exercise 9 in the exercises associated with this lecture.*" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Comparing classifier ROC curves" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:14:10.901977Z", + "iopub.status.busy": "2024-01-10T00:14:10.901330Z", + "iopub.status.idle": "2024-01-10T00:15:13.117633Z", + "shell.execute_reply": "2024-01-10T00:15:13.116928Z" + } + }, + "outputs": [], + "source": [ + "from sklearn.ensemble import RandomForestClassifier\n", + "forest_clf = RandomForestClassifier(random_state=42)\n", + "y_probas_forest = cross_val_predict(forest_clf, X_train, y_train_5, cv=3,\n", + " method=\"predict_proba\")" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:15:13.121181Z", + "iopub.status.busy": "2024-01-10T00:15:13.120525Z", + "iopub.status.idle": "2024-01-10T00:15:13.130757Z", + "shell.execute_reply": "2024-01-10T00:15:13.130130Z" + } + }, + "outputs": [], + "source": [ + "y_scores_forest = y_probas_forest[:, 1] # score = proba of positive class\n", + "fpr_forest, tpr_forest, thresholds_forest = roc_curve(y_train_5,y_scores_forest)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:15:13.133917Z", + "iopub.status.busy": "2024-01-10T00:15:13.133466Z", + "iopub.status.idle": "2024-01-10T00:15:13.315999Z", + "shell.execute_reply": "2024-01-10T00:15:13.315269Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsoAAAIeCAYAAACiOSl5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8WgzjOAAAACXBIWXMAAA9hAAAPYQGoP6dpAACtnklEQVR4nOzdd1xT5x4G8CcJWxRUQAEBcaDiQhy46h4468StKFatrVWr1WrrrOM6arVqba0LxYqjtlq11r0VrYC27oGbIcOwZ87945SwNUTgBHi+n09uk/PmnDxBL/7y5h0yQRAEEBERERFRFnKpAxARERER6SIWykREREREuWChTERERESUCxbKRERERES5YKFMRERERJQLFspERERERLlgoUxERERElAsWykREREREuWChTERERESUCxbKRERERES50MlCOTY2FvPmzYO7uzsqVKgAmUyGbdu2aXz+mzdvMG7cOFhaWqJMmTJo3749/P39Cy8wEREREZU4Olkoh4eHY+HChbhz5w4aNmyYr3NVKhV69OiBX375BZ9++imWL1+OsLAwtGvXDg8ePCikxERERERU0uhJHSA31tbWCA4ORuXKlfH333+jadOmGp+7b98+XLp0CXv37sWAAQMAAB4eHnBycsK8efPwyy+/FFZsIiIiIipBdLJH2dDQEJUrV9bq3H379qFSpUro16+f+pilpSU8PDxw4MABJCUlFVRMIiIiIirBdLJQfh8BAQFwdXWFXJ71rTVr1gzx8fG4f/++RMmIiIiIqDjRyaEX7yM4OBht2rTJcdza2hoA8OrVK9SvXz/Xc5OSkrL0OKtUKkRGRqJixYqQyWSFE5iIiIiItCYIAmJiYmBjY5Ojo/R9lbhCOSEhAYaGhjmOGxkZqdvzsnTpUixYsKDQshERERFR4Xj+/DmqVKlSoNcscYWysbFxruOQExMT1e15mTVrFj7//HP1Y6VSCXt7ezx//hzlypUr+LCZ86WkITQ6ESFvEvFKmYAQZRLCYhPxOiYJ4bHJCI9JRERcMlLShELNoS2FXAa5XAY9OSCXySCTAQqZDHKZDHJZ+rH/7sszHf/vvuK/c2TZ7qefK5cBMojH068vl8kAGf67/99xZD1PJgPkyLieLNvz1Dnl6a/z32vJZP9ly8iuyP4+/jtPlilj5mukvzeZTAY50p+fNZtC/ZyM9y5eM1NG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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(8, 6))\n", + "plt.plot(fpr, tpr, \"b:\", linewidth=2, label=\"SGD\")\n", + "plot_roc_curve(fpr_forest, tpr_forest, \"Random Forest\")\n", + "plt.legend(loc=\"lower right\", fontsize=16)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + }, + "tags": [ + "inclass_exercise" + ] + }, + "source": [ + "### Exercise: from the ROC curve, which method appears to work better?" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + }, + "tags": [ + "solution", + "inclass_exercise" + ] + }, + "source": [ + "Random Forests since get closer to the ideal point (i.e. top left of plot)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Comparing metrics" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:15:13.319443Z", + "iopub.status.busy": "2024-01-10T00:15:13.318949Z", + "iopub.status.idle": "2024-01-10T00:15:13.354041Z", + "shell.execute_reply": "2024-01-10T00:15:13.353400Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.9983631764491033, 0.9668396102663849)" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# AUC\n", + "roc_auc_score(y_train_5, y_scores_forest), roc_auc_score(y_train_5, y_scores)" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:15:13.357195Z", + "iopub.status.busy": "2024-01-10T00:15:13.356728Z", + "iopub.status.idle": "2024-01-10T00:16:15.780979Z", + "shell.execute_reply": "2024-01-10T00:16:15.780322Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.9890893831305078, 0.739423076923077)" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Precision\n", + "from sklearn.metrics import precision_score, recall_score, f1_score\n", + "\n", + "y_train_pred_forest = cross_val_predict(forest_clf, X_train, y_train_5, cv=3)\n", + "precision_score(y_train_5, y_train_pred_forest), precision_score(y_train_5, y_train_pred)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:16:15.784167Z", + "iopub.status.busy": "2024-01-10T00:16:15.783687Z", + "iopub.status.idle": "2024-01-10T00:16:15.822234Z", + "shell.execute_reply": "2024-01-10T00:16:15.821584Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.8695812580704667, 0.8511344770337577)" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Recall\n", + "recall_score(y_train_5, y_train_pred_forest), recall_score(y_train_5, y_train_pred)" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:16:15.825376Z", + "iopub.status.busy": "2024-01-10T00:16:15.824899Z", + "iopub.status.idle": "2024-01-10T00:16:15.865268Z", + "shell.execute_reply": "2024-01-10T00:16:15.864611Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.9254932757435947, 0.7913558013892462)" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# F_1\n", + "f1_score(y_train_5, y_train_pred_forest), f1_score(y_train_5, y_train_pred)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Progress so far" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So far we have considered binary classification only (e.g. five and not five).\n", + "\n", + "Clearly in many scenarios we want to classify multiple classes." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Multiclass classification" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Binary classifiers distinguish between two classes.\n", + "Multiclass classifiers can distinguish between more than two classes.\n", + "\n", + "Some algorithms can handle multiple classes directly (e.g. Random Forests, naive Bayes).\n", + "Others are strictly binary classifiers (e.g. Support Vector Machines, Linear classifiers)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Multiclass classification strategies\n", + "\n", + "\n", + "However, there are various strategies that can be used to perform multiclass classification with binary classifiers." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "- **One-versus-rest (OvR) / one-versus-all (OvA)**: train a binary classifier for each class, then select classification with greatest score across classifiers \n", + "
(e.g. train a binary classifier for each digit)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "- **One-versus-one (OvO)**: train a binary classifier for each pair of classes, then select classification that wins most duels \n", + "
(e.g. train a binary classifier for each pairs of digits: 0 vs 1, 0 vs 2, ..., 1 vs 2, 1 vs 3, ...)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Comparison of multiclass classification strategies" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**One-versus-rest (OvR)**:\n", + "- $N$ classifiers for $N$ classes\n", + "- each classifier uses all of the training data\n", + "\n", + "$\\Rightarrow$ requires training relatively *few classifiers* but training each classifier can be *slow*." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "**One-versus-one (OvO)**:\n", + "- $N(N-1)/2$ classifiers for $N$ classes\n", + "- each classifier uses a subset of the training data (typically much smaller than overall training dataset)\n", + "\n", + "$\\Rightarrow$ requires training *many* classifiers but training each classifier can be *fast*." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Preferred approach\n", + "\n", + "OvR usually preferred, unless training binary classifier is very slow with large data-sets." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "In Scikit-Learn, if try to use binary classifier for a multiclass classification problem, OvR is automatically run." + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:16:15.869360Z", + "iopub.status.busy": "2024-01-10T00:16:15.868886Z", + "iopub.status.idle": "2024-01-10T00:16:24.929227Z", + "shell.execute_reply": "2024-01-10T00:16:24.928575Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([5])" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sgd_clf.fit(X_train, y_train)\n", + "sgd_clf.predict([some_digit])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "Can see OvR\n", + "performed by inspecting scores, where we have a score per classifier. \n", + "\n", + "The 5th score (starting from 0) is clearly largest." + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:16:24.933068Z", + "iopub.status.busy": "2024-01-10T00:16:24.932355Z", + "iopub.status.idle": "2024-01-10T00:16:24.939500Z", + "shell.execute_reply": "2024-01-10T00:16:24.938897Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ -81742.80600673, -226403.87485225, -310042.19433877,\n", + " -173577.43026798, -82855.74343468, 39922.35938292,\n", + " -183200.20815396, 10437.2327332 , -240036.68142135,\n", + " -160691.66786235]])" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "some_digit_scores = sgd_clf.decision_function([some_digit])\n", + "some_digit_scores" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:16:24.942384Z", + "iopub.status.busy": "2024-01-10T00:16:24.941943Z", + "iopub.status.idle": "2024-01-10T00:16:24.948594Z", + "shell.execute_reply": "2024-01-10T00:16:24.947920Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sgd_clf.classes_" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:16:24.951594Z", + "iopub.status.busy": "2024-01-10T00:16:24.951202Z", + "iopub.status.idle": "2024-01-10T00:16:24.958059Z", + "shell.execute_reply": "2024-01-10T00:16:24.957454Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "5" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sgd_clf.classes_[np.argmax(some_digit_scores)]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### OvO with Scikit-Learn" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Can also perform OvO multiclass classification." + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:16:24.961009Z", + "iopub.status.busy": "2024-01-10T00:16:24.960645Z", + "iopub.status.idle": "2024-01-10T00:16:35.489682Z", + "shell.execute_reply": "2024-01-10T00:16:35.489026Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(array([5]), 45)" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.multiclass import OneVsOneClassifier\n", + "ovo_clf = OneVsOneClassifier(SGDClassifier(random_state=42, max_iter=10))\n", + "ovo_clf.fit(X_train, y_train)\n", + "ovo_clf.predict([some_digit]), len(ovo_clf.estimators_)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Many classifiers can inherently classify multiple classes\n", + "\n", + "Random Forest can directly classify multiple classes so OvR or OvO classification not required." + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:16:35.493180Z", + "iopub.status.busy": "2024-01-10T00:16:35.492766Z", + "iopub.status.idle": "2024-01-10T00:17:18.031732Z", + "shell.execute_reply": "2024-01-10T00:17:18.031034Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([5])" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "forest_clf.fit(X_train, y_train)\n", + "forest_clf.predict([some_digit])" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:17:18.035061Z", + "iopub.status.busy": "2024-01-10T00:17:18.034601Z", + "iopub.status.idle": "2024-01-10T00:17:18.046924Z", + "shell.execute_reply": "2024-01-10T00:17:18.046315Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.03, 0.01, 0. , 0.02, 0.02, 0.85, 0.02, 0.03, 0.01, 0.01]])" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "forest_clf.predict_proba([some_digit])" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:17:18.050000Z", + "iopub.status.busy": "2024-01-10T00:17:18.049472Z", + "iopub.status.idle": "2024-01-10T00:17:37.039538Z", + "shell.execute_reply": "2024-01-10T00:17:37.038826Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.8687 , 0.86975, 0.8449 ])" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cross_val_score(sgd_clf, X_train, y_train, cv=3, scoring=\"accuracy\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Error analysis" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Compute confusion matrix for multiclass classification." + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:17:37.044920Z", + "iopub.status.busy": "2024-01-10T00:17:37.043335Z", + "iopub.status.idle": "2024-01-10T00:17:55.983368Z", + "shell.execute_reply": "2024-01-10T00:17:55.982681Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5765, 2, 16, 16, 7, 21, 33, 9, 48, 6],\n", + " [ 1, 6470, 41, 17, 9, 35, 13, 16, 138, 2],\n", + " [ 79, 52, 5155, 153, 39, 31, 171, 85, 181, 12],\n", + " [ 80, 40, 224, 5087, 19, 286, 62, 78, 217, 38],\n", + " [ 37, 30, 46, 15, 5101, 22, 64, 75, 315, 137],\n", + " [ 127, 27, 35, 208, 48, 4451, 175, 35, 259, 56],\n", + " [ 45, 10, 57, 3, 19, 112, 5611, 11, 45, 5],\n", + " [ 25, 32, 91, 49, 50, 15, 8, 5824, 81, 90],\n", + " [ 70, 175, 127, 278, 43, 394, 86, 51, 4571, 56],\n", + " [ 48, 33, 54, 117, 326, 99, 5, 801, 834, 3632]])" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_train_pred = cross_val_predict(sgd_clf, X_train, y_train, cv=3)\n", + "conf_mx = confusion_matrix(y_train, y_train_pred)\n", + "conf_mx" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + }, + "tags": [ + "exercise_pointer" + ] + }, + "source": [ + "**Exercises:** *You can now complete Exercise 10 in the exercises associated with this lecture.*" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "Performance analysis can provide insight into how to make improvements.\n", + "\n", + "For example, for the previous dataset, one might want to consider trying to improve the performane of classifying 9 by collecting more training data for 7s and 9s." + ] + } + ], + "metadata": { + "celltoolbar": "Slideshow", + "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.8.18" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/week2/slides/Lecture05_TrainingI.ipynb b/week2/slides/Lecture05_TrainingI.ipynb new file mode 100644 index 0000000..5221a2c --- /dev/null +++ b/week2/slides/Lecture05_TrainingI.ipynb @@ -0,0 +1,719 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "# Lecture 5: Training I" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "skip" + } + }, + "source": [ + "![](https://www.tensorflow.org/images/colab_logo_32px.png)\n", + "[Run in colab](https://colab.research.google.com/drive/10z5cZZcHnp1cfCRiD4ESsdwLR7NFb5p0)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:25.718881Z", + "iopub.status.busy": "2024-01-10T00:19:25.718648Z", + "iopub.status.idle": "2024-01-10T00:19:25.726287Z", + "shell.execute_reply": "2024-01-10T00:19:25.725751Z" + }, + "slideshow": { + "slide_type": "skip" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Last executed: 2024-01-10 00:19:25\n" + ] + } + ], + "source": [ + "import datetime\n", + "now = datetime.datetime.now()\n", + "print(\"Last executed: \" + now.strftime(\"%Y-%m-%d %H:%M:%S\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Linear regression" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Linear regression mode (scalar form)\n", + "\n", + "$$\\hat{y} = \\theta_0 + \\theta_1 x_1 + ... + \\theta_n x_n$$\n", + "\n", + "- $\\hat{y}$ is the predicted value.\n", + "- $n$ is the number of features.\n", + "- $x_j$ is the $j$th feature, for $j=0,1,...,n$.\n", + "- $\\theta_j$ is the $j$th model parameter\n", + "
(with bias $\\theta_0$ and feature weights $\\theta_1, ..., \\theta_n)$." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Linear regression mode (vector form)\n", + "\n", + "$$\\hat{y} =\\theta^{\\rm T} x = h_\\theta(x)$$\n", + "\n", + "- $x$ is the instance feature vector $x=(x_0, x_1, ... x_n)^{\\rm T}$, where $x_0 = 1$.\n", + "- $\\theta$ is the vector of model parameters $\\theta=(\\theta_0, \\theta_1, ... \\theta_n)^{\\rm T}$.\n", + "- $\\cdot^{\\rm T}$ denotes transpose.\n", + "- $h_\\theta(x)$ is the hypothesis function, with parameters $\\theta$." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Train linear regression\n", + "\n", + "Give training data $\\{ x^{(i)}, y^{(i)} \\}$, for $m$ instances $i=1,2,...,m$.\n", + "\n", + "Minimise mean square error (MSE):\n", + "\n", + "$$\\text{MSE} = \\frac{1}{m} \\sum_{i=1}^{m} \\left(\\theta^{\\rm T} x^{(i)} - y^{(i)}\\right)^2 .$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Concise matrix-vector notation\n", + "\n", + "Recall:\n", + "- $x_j^{(i)}$ is (scalar) value of feature $j$ in $i$th training example.\n", + "- $x^{(i)}$ is the (column) vector of features of the $i$th training example.\n", + "- $y^{(i)}$ is the (scalar) value of target of the $i$th training example.\n", + "- $n$ features and $m$ training instances\n", + "\n", + "Define:\n", + "- Feature matrix: $X_{m \\times n} = [ x^{(1)},\\ x^{(2)},\\ ...,\\ x^{(m)}]^{\\rm T}$.\n", + "- Target vector: $y_{m \\times 1} = [ y^{(1)},\\ y^{(2)},\\ ...,\\ y^{(m)}]^{\\rm T}$." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Recall features matrix and target vector\n", + "\n", + "\n", + "\n", + "[Image source](https://github.com/jakevdp/sklearn_tutorial)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "Minimising the MSE is equivalent to minimising the cost function\n", + "\n", + "$$C(\\theta) = \\frac{1}{m} (X \\theta - y)^{\\rm T}(X \\theta - y),$$\n", + "\n", + "where for notational convenience we denote the dependence on $\\theta$ only and consider $X$ and $y$ fixed." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Normal equations\n", + "\n", + "Minimise the cost function analytically \n", + "\n", + "$$\\min_\\theta\\ C(\\theta) = \\min_\\theta \\ (X \\theta - y)^{\\rm T}(X \\theta - y).$$\n", + "\n", + "Solution given by \n", + "\n", + "$$ \\hat{\\theta} = \\left( X^{\\rm T} X \\right)^{-1} X^{\\rm T} y. $$" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:25.767150Z", + "iopub.status.busy": "2024-01-10T00:19:25.766614Z", + "iopub.status.idle": "2024-01-10T00:19:26.182564Z", + "shell.execute_reply": "2024-01-10T00:19:26.181848Z" + }, + "slideshow": { + "slide_type": "subslide" + } + }, + "outputs": [], + "source": [ + "# Common imports\n", + "import os\n", + "import numpy as np\n", + "np.random.seed(42) # To make this notebook's output stable across runs\n", + "\n", + "# To plot pretty figures\n", + "%matplotlib inline\n", + "import matplotlib\n", + "import matplotlib.pyplot as plt\n", + "plt.rcParams['axes.labelsize'] = 14\n", + "plt.rcParams['xtick.labelsize'] = 12\n", + "plt.rcParams['ytick.labelsize'] = 12" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:26.186110Z", + "iopub.status.busy": "2024-01-10T00:19:26.185473Z", + "iopub.status.idle": "2024-01-10T00:19:26.426019Z", + "shell.execute_reply": "2024-01-10T00:19:26.425332Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAw0AAAIbCAYAAACpGXLSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8WgzjOAAAACXBIWXMAAA9hAAAPYQGoP6dpAABCYUlEQVR4nO3deXxU5b3H8e8kSFgTiqAsCYsQtbKjgoDFaKvBIrgCVaxQYoMWwRUpFS8KAqVaV1TE5iVWpepFvbXiragXN4oogtZesVBtMENAZMvIkgDJc/+Ym8BkOZlMZuZsn/frlRevnJzJPHPmZHi+5/k9zwkYY4wAAAAAoA4pdjcAAAAAgLMRGgAAAABYIjQAAAAAsERoAAAAAGCJ0AAAAADAEqEBAAAAgCVCAwAAAABLhAYAAAAAlprY3YBEqaioUHFxsVq3bq1AIGB3cwAAAIC4MMbo+++/V6dOnZSSkpwxAM+GhuLiYmVlZdndDAAAACAhioqKlJmZmZTn8mxoaN26taTwwUxPT7e5NQAAAEB8hEIhZWVlVfV3k8GzoaGyJCk9PZ3QAAAAAM9JZgk+E6EBAAAAWCI0AAAAALBEaAAAAABgidAAAAAAwBKhAQAAAIAlQgMAAAAAS4QGAAAAAJYIDQAAAAAsERoAAAAAWCI0AAAAALBEaAAAAABgidAAAAAAwBKhAQAAAIAlQgMAAAAAS4QGAAAAAJYIDQAAAAAsERoAAAAAWCI0AAAAALBEaAAAAABgidAAAAAAwBKhAQAAAIAlQgMAAAAAS0kLDfv27dPs2bM1YsQItW3bVoFAQEuXLrV8zOHDh3XaaacpEAjovvvuS05DAQAAAERIWmjYuXOn5syZo40bN6pfv35RPeaRRx7RN998k+CWAQAAALCStNDQsWNHbdu2TVu2bNG9995b7/47duzQnDlzNGPGjCS0DgAAAEBdkhYa0tLS1KFDh6j3//Wvf61TTjlFV199dQJbBQAAAKA+TexuQG0++ugjPf300/rggw8UCATsbg4AAADga44LDcYYTZ06VePGjdOQIUNUWFgY1ePKyspUVlZW9X0oFEpQCwEAAAB/cdySq0uXLtXnn3+uhQsXNuhxCxYsUEZGRtVXVlZWgloIAAAA+IujQkMoFNLMmTM1ffr0Bnf6Z86cqZKSkqqvoqKiBLUSAAAA8BdHlSfdd999OnTokMaNG1dVlhQMBiVJe/bsUWFhoTp16qSmTZvWeGxaWprS0tKS2VwAAADAFxw10vDNN99oz5496tWrl7p3767u3bvrRz/6kSRp/vz56t69u7744gubWwkAAAD4i6NGGqZNm6ZLLrkkYtuOHTs0efJkTZw4URdffLG6d+9uT+MAAAAAn0pqaFi0aJH27t2r4uJiSdJf/vKXqvKjqVOnauDAgRo4cGDEYyrLlHr16lUjUAAAAABIvKSGhvvuu09btmyp+v7ll1/Wyy+/LEm6+uqrlZGRkczmAAAAAIhCUkNDtPdcOFa3bt1kjIl/YwAAAABExVEToQEAAAA4D6EBAAAAgCVCAwAAAABLhAYAAAAAlggNAAAAACwRGgAAAABYIjQAAAAAsERoAAAAAGCJ0AAAAADAEqEBAAAAgCVCAwAAAABLhAYAAAAAlggNAAAAACwRGgAAAABYIjQAAAAAsERoAAAAAGCJ0AAAAADAEqEBAAAAgCVCAwAAAABLhAYAAAAAlggNAAAAACwRGgAAAABYIjQAAAAAsERoAAAAAGCJ0AAAAADAEqEBAAAAgCVCAwAAAABLhAYAAAAAlggNAAAAACwRGgAAAABYIjQAAAAAsERoAAAAAGCJ0AAAAADAEqEBAAAAgCVCAwAAAABLhAYAAAAAlggNAAAAACwRGgAAAABYIjQAAAAAsERoAAAAAGCJ0AAAAADAEqEBAAAAgCVCAwAAAABLhAYAAAAAlggNAAAAACwRGgAAAABYIjQAAAAAsJS00LBv3z7Nnj1bI0aMUNu2bRUIBLR06dKIfSoqKrR06VKNHj1aWVlZatmypXr37q177rlHpaWlyWoqAAAAgGMkLTTs3LlTc+bM0caNG9WvX79a9zlw4IB+8Ytf6LvvvtN1112nBx98UIMGDdLs2bN14YUXyhiTrOYCAAAA+H9NkvVEHTt21LZt29ShQwetW7dOZ555Zo19mjZtqtWrV2vo0KFV2375y1+qW7dumj17tt5++2395Cc/SVaTAQAAACiJIw1paWnq0KGD5T5NmzaNCAyVLr30UknSxo0bE9I2AAAAAHVzxUTo7du3S5LatWtnc0sAAAAA/0laeVJj/O53v1N6erouvPDCOvcpKytTWVlZ1fehUCgZTQMAAAA8z/EjDfPnz9dbb72l3/72t2rTpk2d+y1YsEAZGRlVX1lZWclrJAAAAOBhjg4NL7zwgmbNmqW8vDxdf/31lvvOnDlTJSUlVV9FRUVJaiUAAADgbY4tT3rzzTd1zTXXaOTIkVq8eHG9+6elpSktLS0JLQMAAAD8xZEjDWvXrtWll16qM844Qy+++KKaNHFstgEAAAA8z3GhYePGjRo5cqS6deum1157Tc2bN7e7SQAAAICvJfUS/qJFi7R3714VFxdLkv7yl78oGAxKkqZOnaqUlBTl5uZqz549mj59ulasWBHx+B49emjIkCHJbDIAAADgewFjjEnWk3Xr1k1btmyp9Wf//ve/JUndu3ev8/ETJkzQ0qVLo3quUCikjIwMlZSUKD09vcFtBQAAAJzIjn5uUkcaCgsL690niRkGAAAAQBQcN6cBAAAAgLMQGgAAAABYIjQAAAAAsERoAAAAAGCJ0AAAAADAEqEBAAAAgCVCAwAAAABLhAYAAAAAlggNAAAAACwRGgAAAABYIjQAAAAAsERoAAAAAGCJ0AAAAADAEqEBAAAAgCVCAwAAAABLhAYAAAAAlggNAAAAACwRGgAAAABYIjQAAAAAsERoAAAAQIMEg9KqVeF/4Q+EBgAAAEStoEDq2lU677zwvwUFdrcIyUBoAAAAQFSCQSk/X6qoCH9fUSFNnsyIgx8QGgAAABCVzZuPBoZK5eXSv/5lT3uQPIQGAAAARCU7W0qp1ntMTZV69rSnPUgeQgMAAACikpkpLVkSDgpS+N8nnghvh7c1sbsBAAAAcI+8PCk3N1yS1LMngcEvCA0AAABokMxMwoLfUJ4EAAAAwBKhAQAAAIAlQgMAAADgEE692zahAQAAAHAAJ99tm9AAAAAA2Mzpd9smNAAAAAA2c/rdtgkNAAAAgM2cfrdtQgMAAABgM6ffbZubuwEAAAAO4OS7bRMaAAAAAIdw6t22KU8CAAAAYInQAAAAAMASoQEAAACAJUIDAAAAAEuEBgAAAACWCA0AAABIumBQWrUq/C+cj9AAAACApCookLp2lc47L/xvQYHdLUJ9CA0AAABImmBQys+XKirC31dUSJMnN3zEgZGK5CI0AAAAx6FD6F2bNx8NDJXKy8N3QY4WIxXJR2gAAACOQofQ27KzpZRqPdDUVKlnz+geH6+RimTxSgAmNAAAAMdwW4cQDZeZKS1ZEg4KUvjfJ54Ib49GPEYqksVLAThpoWHfvn2aPXu2RowYobZt2yoQCGjp0qW17rtx40aNGDFCrVq1Utu2bfXzn/9c3333XbKaCgAAbOKmDiFil5cnFRaGr8AXFoa/j1ZjRyqSxWsBOGmhYefOnZozZ442btyofv361blfMBjU8OHD9a9//Uvz58/XbbfdphUrVuj888/XoUOHktVcAABgA7d0CNF4mZlSTk70IwzHPq4xIxXJ4rUA3CRZT9SxY0dt27ZNHTp00Lp163TmmWfWut/8+fO1f/9+ffLJJ+rSpYskadCgQTr//PO1dOlS5efnJ6vJAAAgySo7hJMnhztYTu0Qwl55eVJubrgD3rOnM8+PygB8bHBwcwBO2khDWlqaOnToUO9+L730ki666KKqwCBJP/nJT3TyySfrxRdfTGQTAQCAAzSmdAX+EetIRbK4ZUQkWkkbaYjG1q1btWPHDp1xxhk1fjZo0CC9/vrrNrQKAAAkW2ameztXQCU3jIhEy1GhYdu2bZLCpUzVdezYUbt371ZZWZnS0tJq/LysrExlZWVV34dCocQ1FAAAAIiCVwKwo5ZcPXjwoCTVGgqaNWsWsU91CxYsUEZGRtVXVlZW4hoKAAAA+IijQkPz5s0lKWLEoFJpaWnEPtXNnDlTJSUlVV9FRUWJaygAAADgI44qT6osS6osUzrWtm3b1LZt21pHIaTw6ERdPwMAAAAQO0eNNHTu3Fnt27fXunXravzso48+Uv/+/ZPfKAAAAJcJBsOrT7n1RmJwHkeFBkm6/PLL9dprr0WUF7399tvatGmTxowZY2PLAAAAnK+gQOraVTrvvPC/BQV2twheEDDGmGQ92aJFi7R3714VFxfr8ccf12WXXaYBAwZIkqZOnaqMjAwVFRVpwIABatOmjW688Ubt27dP9957rzIzM/Xxxx9HXYIUCoWUkZGhkpISpaenJ/JlAQAAOEIwGA4K1W8oVljojRV8Ei0YDN/JOTvb2cfLjn5uUkNDt27dtGXLllp/9u9//1vdunWTJP3v//6vbrnlFn3wwQdq2rSpRo4cqd///vc68cQTo34uQgMAAPCbVavCIwy1bc/JSXpzXKWgQMrPDweulJTwjdmcemNBz4eGZCI0AAAAv2GkITZuO2529HMdN6cBAAAAscnMDF8hT00Nf5+aKj3xhDM7vk6yeXNkYJCk8vLwnZwlJpZLhAYAAABPycsLXyFftSr8r1NLbBKtIR397OxwSdKxUlOlnj2ZWF6J0AAAAOAxmZnhOQx+HWFoaEe/rhEa6eg8Byn87+TJ/hxxIDQAAJBElDnEH8cUxwoGY+vo1zZCU1/Zkp8QGgAASBLKHOKPY4rqGtPRrz5CY1W25DeEBgAAkiDWq5+oG8cUtYlnR5+J5UcRGgAASALKHOKPY4raxLujz8TysCZ2NwAAAD+ovPpZfR14P5Y5xAvHFHXJy5Nyc8MBsmfPxo8MZGaGvyrnzzj9jtGJwEgDAABJQJlD/HFMYSXeK0j5ff4Md4QGACCJgsH4Xf1EGMcUiea0O0bb0c+lPAkAgCSqLHNA/HBMkWhW82f8cu5RngQAAABYYOlVQgMAAABgifkzlCcBAAAA9Yr3ikxuQ2gAAABwkWAwXGPvx2U/7ebn+TOUJwEAALiE35f9hH0IDQAAAC4QDEr5+UdX8amokCZPDm8HEo3QAAAA4AJWy34CiUZoAAAAcAGW/YSdCA0AAAAuwLKfsBOrJwEAADhEfSsj+X3ZT9iHkQYAAAAHiHZlpMxMKSeHwIDkIjQAAADYjJWR4HSEBgAAAJuxMhKcjtAAAABgM1ZGOioYlFatYpTFaQgNAAAANqtrZSTJXx1oL97x2ishiNAAAADgAHl5UmFhuINZWBje5rUOtBUvzuvwUggiNAAAADhE5cpIkvc60PXx2rwOr4UgQgMAAHA1r5R/HMtrHehoeG1eh9feQ0IDAABwLS+VfxzLTR3oeIU2r93x2k3vYTQIDQAAwJW8Vv5xLLd0oOMd2qrP68jLi0cr7eGW9zBaAWOMsbsRiRAKhZSRkaGSkhKlp6fb3RwAABBnq1aFO6u1ba+cF+B2wWC4nKVnT+d1NoPBcFA4tgQnNTXc2XdaW+2UiPfQjn5uk6Q8CwAAQJxVln9U77S6tfyjNpmZzu2AW9XsO7XNdnDye9gQlCcBAFzLixNgET2vlX+4jddq9mGN0AAAcCWvToBFw3ipBt5tCG3+wpwGAIDrUEvtLcFguNQlO7tx71+8fg8axsnzLrzKjn4uIw0AANfx2vrnfhavESNGnuqW6DK+yhvSERi8jdAAAHAdaqm9IV5Lpnp56dXGIkwhXggNAADXoZbaG+I1YsTIU+0IU4gnllwFALhSXp6Um0sttZvFa8lUPyy9GguWREU8MdIAAHAtaqndLV4jRokaeXL7kr6U8SGeCA0AAMA28VoyNd5Lr8ZrLoCdwYMyPsQTS64CAAAcI15L+hYUHJ1TkJIS7sDbcR8JlkT1HpZcBQAAsFk8JlY7aRIyZXyIB0IDAAAO5faaereKx1wAVnSC1xAaAABwINbXt0885gIwCRlew5wGAAAcJl419Wicxs4FKCgIlySVlx8NHnbMaYD32NHP5T4NAAA4DOvrO0NmZuOON/cSgZc0uDzp22+/VSAQUCAQ0BtvvGG57w033KBAIKChQ4eqIQMamzdv1s9+9jNlZmaqRYsWOvXUUzVnzhwdOHCgoc0FAMB1KG1xF6u5J0xChlc0ODSceOKJOumkkyRJa9eurXO/zz77TIsXL1ZKSooeeeQRBQKBqH5/UVGRBg0apA8//FA33HCDHnzwQQ0ZMkSzZ8/WlVde2dDmAgDgOqyv7x7MPYFfxFSeNGzYMH399deWoWHq1KkqLy9Xfn6+Tj/99Kh/9zPPPKO9e/fqgw8+UK9evSRJ+fn5qqio0B//+Eft2bNHP/jBD2JpNgAArkFpi/PVtaxqbi7vF7wnptWThg4dKqnukYZnn31W77//vn7wgx9o3rx5DfrdoVBIUnhE41gdO3ZUSkqKmjZtGkOLAQBwnvqWVKW0xdlYVhV+ElNoGDZsmCRp165d+le1v4zvv/9et99+uyRp7ty5ateuXYN+d05OjiQpLy9Pn376qYqKivTCCy/o8ccf17Rp09SyZctaH1dWVqZQKBTxBQCAU1HW4m7BoPTdd1L16mvmnsCrYgoNvXr1UkZGhqSaow133323tm3bpr59++q6665r8O8eMWKE5s6dqzfffFMDBgxQly5d9LOf/UxTp07VAw88UOfjFixYoIyMjKqvrKysBj83AADJ4KS7BceLn25EVxn4xo0Lf18ZHJh7Ai+LKTSkpKRo8ODBkqQPP/ywavvGjRv18MMPS5IWLVqk1MoZXA3UrVs3DR8+XEuWLNFLL72kSZMmaf78+Vq0aFGdj5k5c6ZKSkqqvoqKimJ6bgCAO7mp0+q1shY/jZpUD3zGhFe6evHF8H00uA8DJHd9HkUr5vs0DBs2TCtXrowYaZg2bZoOHz6sq666Sj/60Y9i+r3PP/+88vPztWnTJmX+f1S/7LLLVFFRoRkzZujKK6/U8ccfX+NxaWlpSktLi+3FAABcraDgaEcuJSW88pCTO2+VS6pWv3mbG8ta/DYZuK7A1769N18vGs5tn0fRimmkQTo6Gfqzzz5TWVmZXnrpJb311ltq1aqV7r333pgb9Nhjj2nAgAFVgaHS6NGjdeDAAW3YsCHm3w0A8B43lvp4aUlVr42a1Id7aMCKGz+PohVzaDjrrLOUmpqqQ4cOafXq1br11lslSbNmzVKnTp1ibtC3336r8vLyGtsPHz4sSTpy5EjMvxsA4D1u7bTm5YXLWVatcndZi9860V4KfIg/t34eRSPm0NCqVSv16dNHUniloy1btig7O1s333xzoxp08skna8OGDdq0aVPE9j/96U9KSUlR3759G/X7AQDe4uZOqxeWVI1XJ9pNNeB5edKaNdL994f/dWvgQ/y5+fOoPjGHBuno0quFhYWSpIceeqjR91GYPn26ysvL9aMf/Uhz587VY489pp/+9Kf6r//6L02aNKlRoxgAAO/hyq/9Gjtq4raJ1AUF0llnSbfcEv7X6e1F8nj58yhgjDGxPnjZsmUaP368JGnUqFF69dVX49Kojz76SHfddZc2bNigXbt2qXv37powYYJuv/12NWkS3dztUCikjIwMlZSUKD09PS7tAgA4VzDI3ZPdKBgMB4Xqk8ILC535PrqtvbBHoj+P7Ojnxrx6kiQ1b95cUnjlIqt7KDTUoEGD9Prrr8ft9wEAvC8zk06bG1nVgDvx/XRbe2EPL34exVyeVF5errvuuktSuKSoR48e8WoTAADwCbfVgLutvUC8xBwaHn74Yf39739Xt27dNHPmzHi2CQAA+ITbasDd1l4gXmKa0/CnP/1JEyZM0JEjR7Ry5Ur95Cc/SUTbGoU5DQAAuIfb5qS4rb3wFkfPaVixYoWmTJmiPXv2KBQKSZLuvPNORwYGAADgLm6rAXdbe4HGijo0rF69Wlu2bFGLFi00YMAATZkyRXksTAygHsFgeOJgdjb/wQIA4FaNWnLVyShPAuxXUCDl54dXGklJCdcBc60BAIDGsaOf26ibuwFAXYLBo4FBCv87ebI77vYKAAAiERoAJITVWuaAFwWD4TsiE4z9g/ccfkJoAJAQrGUOPykoCN8l+Lzzwv8WFNjdIiQa7zn8htAAICFYyxx+QSme//Cew48IDfAsho3tl5cnFRaG34fCQiZBw5soxfMf3nP4EaEBnsSwcXJEE8wyM6WcHEYY4F2U4vkP7zn8iNAAz2HYODkIZu7HaFx8UIrnP7zn8CPu0wDPWbUq3JGtbXtOTtKb40nBYDgoHDs8n5oaLkHiP0134B4a8RcMhstTevbk78AveM9hFzv6uVHfERpwi8ph4+odWoaN48eqnpf/OJ2vrtG43Fzev8bIzOT4+Q3vOfyE8iR4DsPGiUc9r7sxiRMA0FCEBngSq/YkFsHM3Qh9AICGIjTAs1i1J7EIZu7lxNDHpGz78R4AsEJo8BH+Q0C8Eczcy0mhj5W47Md7AKA+rJ7kE6yUAsCJWIkrPoLB8FyV7OyGHzfeA8B97OjnMtLgA9y3AIBTMSm78Ro7SsB7ACAahAYf4D8EwL28XlbIpOzGicdFId4DANEgNPgA/yEAzmUVCvxQZ+7ESdluEo+LQrwHAKLBnAafKCgIX30qLz/6HwJzGgB7Wc018ludOXfWjU08zxPeA8A97OjnEhp8hP8QAOeor7O3alV4hKG6VavCK1YBlbgoBPiPHf3cJkl5FjgCt7sHnMOqrCQz82hZYfVQ4eWywsasAORkiX5deXlSbi4XhQAkFnMaAMAG9c018luduVfnbyTrdXHPFACJRnkSgITy6tXjeIimrMQPZYVenb/h1dcFwH7cpwGAp3j16nG8RHNXZj9cQfbqstBefV0A/InQACAhuKlgdPwQCurj1WWhvfq6APgToQFAQnCVFdHy6vwNr74uAP7EnAYACUE9NxoqWfM3kj3Pxg/zUgAkF3MaAHgGV1nRUMko1bJjng0laAC8gJEGAAnFVVY4BaNfALyCm7sB8BxuKginqO+GegCAulGeBADwBVYzAoDYERoAuFYwGL7HAcu4IhrMswGA2BEaALgSN45DLKK5oR4AoCYmQgNwHSa0AgD8jCVXAdSJUpyjuHEcAADJRWgAXIBSnEixTmgleAEAEBtCA+BwwaCUn3/0ynpFhTR5sr87vrFMaCV4OQPBDQDcidAAOBylOLVryIRWgpczENwAwL0IDYDDsbZ83TIzpZyc+ic/E7zsR3ADAHcjNAAOx9ryjeeW4OXl0h2CGwC4G6EBcAHWlm8cNwQvt5XuNDTguCW4AQBqx30aAPhGMBi+st2zp7MCg9vuO1FQcLTUKCUlHMiiCbIFBeGSpPLyo8GNAAwADcd9Go6xfv16jR49Wm3btlWLFi3Uu3dvPfzww3Y3C4CLRTsHItncVLrTmLkJjJgBgHs1sbsBtVm5cqVGjRqlAQMG6M4771SrVq301VdfKejFQl8kRDAY7ohlZzuvgwhUV1m6U32kwYmlO1YBJ5q/tcxM/iYBwI0cFxpCoZCuueYajRw5UsuXL1dK9SJYoB6xlk4Adqmcc1G9dMeJnWs3BRw7ceECgNc4rke+bNkyffvtt5o3b55SUlK0f/9+VVS/rAXUgWUd4VZuKd1xw6Ryu7ltUjsARMNxoeGtt95Senq6tm7dqlNOOUWtWrVSenq6rr/+epWWltrdPDicm2rDkThuXbrUqXMuqnNLwLEDFy4AeJXjQsPmzZt15MgRXXzxxcrNzdVLL72kSZMmafHixfrFL35R5+PKysoUCoUivuA/LOsIrvImh1sCTrJx4QKAVzkuNOzbt08HDhzQNddco4cffliXXXaZHn74YU2ePFnPP/+8Nm/eXOvjFixYoIyMjKqvrKysJLccTkDpRO3iceXdDVfvucoLu3HhAoBXOS40NG/eXJJ05ZVXRmy/6qqrJElr1qyp9XEzZ85USUlJ1VdRUVFiGwrHonQiUjyuvLvl6j1XeWE3LlwA8CrHhYZOnTpJkk488cSI7SeccIIkac+ePbU+Li0tTenp6RFfTueGK7duRelEWDyuvLvp6j1XeeEEXLgA4EWOCw2nn366JGnr1q0R24uLiyVJ7du3T3qbEsEtV24R5taAF48r7266es9V3uRy699FMnDhAoDXOC40jB07VpJUUK0X/Yc//EFNmjRRTk6ODa2KLzdduYW7A160V96tOn9uu3rPVd7kcPPfBQCg4RwXGgYMGKBJkyZp2bJlGjdunB577DGNHTtWf/rTnzR9+vSq8iU3c9OVW79ze8CL5sp7fZ0/N1695ypvYrn97wIA0HABY4yxuxHVHT58WPPnz9dTTz2l4uJide3aVVOmTNFNN90U9e8IhULKyMhQSUmJ4+Y3BIPhzln1O6oWFtLJcZpVq8Kd6dq2u2nQKxgMh9KePSPPsYaci3X9DvhPPP8uuHMyADScHf1cR4aGeHByaJDCV3MnTw6PMFReuaWMwnm8HvC8EoqQXPH6uygoODpikZISHtHicxAA6mdHP9dx5Ul+Qd21/aKZxOnG0pyGcNt8BThDPP4uKHECAHchNNiIumv7NGQSp5cDntdDERKnsX8XfpjbxepSALyE8iT4jtdLjmLBfAUkm9f/Dim9ApBIlCfBsbx0xcwPVzgbilGvo7x0rjuZl0e5KL0C4EWEBtTLa+uxU8ePunjtXHc6r5b+cWECgBdRngRJdS976NUSAlavQnVePdeRfJxLABKN8iTYwurqqlevmHn1Cidi59VzHcnn5dIrAP7FSIPP1XdFjCtm8AvOdcQbCwwASBRGGpB09V1d5YoZ/IJzHfHGAgMAvISRhhjVNQfAbaK9usoVM/gF5zoAwOkYaXAJL62wEu3VVa6YuQPLhTaem8913n8AQKIQGhrIi+tvO2VSMB2exvFSmEXD8f4DABKJ0NBAXl1hxe6rq3R4GseLYRbR4/0HACQaoaGBuDFY/NHhaTyvhllEh/cfAJBohIYGYoWV+Gtoh6e+MiY/ljkRZv2N9x8AkGiEhhg4ZQ6AVzSkw1NfGZNfy5wIs/7G+w8ASDSWXIUjFBSES5LKy492eKqHMW5EV79ELhfqlWWGvYzlYgHAH+zo5zZJyrPAt6LtaOblSbm51h0eqzKmzMz6f+4HmZmJea0FBUfnnaSkhK9qM8LmPIl6/wEAoDwJCdPQUqH6VnCqr4yJuu7EYKI6AAAgNNTCrom0XprAm4iOZn1129R1JwYr8wAAAEJDNXZNpPXaBN5EdTTrm4TOJPX4YwQHAAAwEfoYdk2k9eIEXi++Jj+LZqI6AABIDjsmQjPScAy7yjC8WP5BqZC3MIIDAIC/sXrSMSrLMKpfHU90GYZdz5to0ayIBPeovjKP3Uuw2v38AAD4CSMNx7Dr6riXr8rXtyKSU3hpEnoy2D0Hx+7nBwDAb5jTUAu7bpDEjZnswT0IGsbu+Sp2Pz8AAHZjToND2HV13C1X5b2EexA0XGPn4DR2VMeLc4AAAHA6QgN8jQ5owzVmCdZ4lBWxBCwAAMlHaIBj2DGvgA5ow8U6BydeozpengMEAIBTERoSKJ6dYKdM1E1UO+ya2EoHNDaxLMEaz1EdloAFACC5mAidIPGcXFtQIP3yl5IxUiAgPfmkPZ2kRE0YdsLEViahJ54T3mcAALzAjn4uoSEBGtM5qr72fDAodekSDgyVAgHpm2+Sv7JTojp8q1aFRxhq256T07jfDWfhztIAADQeqyd5RKxlGLWV6Pztb5GBQQp/v2ZNfNtcn0ROGGZegX9QVgQAgDv5JjQkc05ALJ3guiaJ7tqVuHY2RCI79swr8BeWFgYAwH18ERqSPck2lk5wXVfy27ULlyMdKyVFGjIkvm2uT6I79lyBBgAAcC7Pz2n44osS9e6dbsvky4ZMrrWaM/DGG86pA2fCMAAAgL3smNPQJCnPYqOvvqq7Fj/Rnd7MzOifo/JKfvVwkJkZDgi5uc7orDfkNQEAAMAbPB8aevQIl/NUv4IfbS1+9dWMEskqHNBZBwAAgF08P6ehc+fYa/HtuOEYk0QBAADgNJ6f01BZ69XQWnxuRAUAAAAnYk5DAjW0vMfqvgSEBgAAAPiJ58uTYsUNxwAAAIAwQkMduOEY/CSZNz8EAADuQ2iwwA3H4Ad2TPgHAADu4puJ0ABqYsI/AADuY0c/l5EGwMesJvwDAABUIjQAPsaEfwAAEA1CA+BjTPgHAADRcEVomDdvngKBgHr37m13UwDPYcI/AACoj+Nv7hYMBjV//ny1bNnS7qYAntXQmx8CAAB/cXxouO2223TWWWepvLxcO3futLs5AAAAgO84ujzpvffe0/Lly/Xggw/a3RRf4oZfAAAAkBwcGsrLyzV16lRde+216tOnj93N8R1u+AUAAIBKji1PWrx4sbZs2aK33norqv3LyspUVlZW9X0oFEpU0zwvGJTy84+u319RIU2eLOXmUvcOAADgR44cadi1a5f+4z/+Q3feeafat28f1WMWLFigjIyMqq+srKwEt9K7/HbDL8qwAAAArDkyNMyaNUtt27bV1KlTo37MzJkzVVJSUvVVVFSUwBZ6m59u+EUZFgAAQP0cFxo2b96sJUuWaNq0aSouLlZhYaEKCwtVWlqqw4cPq7CwULt3767xuLS0NKWnp0d8ITZ+ueFXXWVYjDgAAABEChhjjN2NONY777yjc88913KfG2+8sd4VlUKhkDIyMlRSUkKAiFEwGC5J6tnTe4FBCpcknXde7dtzcpLeHAAAgKjY0c913ETo3r1765VXXqmxfdasWfr+++/10EMPqUePHja0zH+8fsOvyjKsY+dveLUMCwAAoDEcN9JQl5ycHO3cuVP/+Mc/otqfkQZEo6AgXJJUXn60DCsvz+5WAQAA1I2RBiDJ8vLCS8l6uQwLAACgsVwTGt555x27mwCP8noZFgAAQGM5bvUkAAAAAM5CaAAAAABgidAAAAAAwBKhAQAAAIAlQgMAAAAAS4QGjwkGw3c0DgbtbgkAAAC8gtDgIQUFUteu0nnnhf8tKLC7RQAAAPACQoNHBINSfr5UURH+vqIifKdjRhwAAADQWISGBEl2mdDmzUcDQ6Xy8vCdjgEAAIDGIDQkgB1lQtnZUkq1dzM1VerZM/HPDQAAAG8jNMSZXWVCmZnSkiXhoCCF/33iifB2AAAAoDGa2N0Ar7EqE0p0Bz4vT8rNDT9Xz54EBgAAAMQHoSHOKsuEjg0OySwTysx0XlgIBsNhKjvbeW0DAABA/ShPijPKhCKxDCwAAID7BYwxxu5GJEIoFFJGRoZKSkqUnp6e9OcPBikTCgbDQaH6qEthoX+PCQAAQGPZ0c+lPClBnFgmlGx2zu8AAABA/FCehIRhGVgAAABvIDQgYZjfAQAA4A2UJyGhWAYWAADA/QgNSDjmdwAAALgb5UkAAAAALBEaAAAAAFgiNAAAAACwRGgAAAAAYInQAAAAAMASoQEAAACAJUIDAAAAAEuEBgAAAACWCA0AAAAALBEaAAAAAFgiNAAAAACwRGgAAAAAYInQAAAAAMASoQEAAACAJUIDAAAAAEuEBgAAAACWCA0AAAAALBEaAAAAAFgiNAAAAACwRGgAAAAAYInQAAAAAMASoQEAAACAJUIDAAAAAEuEBgAAAACWCA0AAAAALBEaAAAAAFgiNAAAAACw5LjQ8PHHH+uGG25Qr1691LJlS3Xp0kVjx47Vpk2b7G4aAAAA4EtN7G5AdQsXLtTq1as1ZswY9e3bV9u3b9eiRYs0cOBAffjhh+rdu7fdTQQAAAB8JWCMMXY34lh/+9vfdMYZZ6hp06ZV2zZv3qw+ffroiiuu0LPPPhvV7wmFQsrIyFBJSYnS09MT1VwAAAAgqezo5zpupGHo0KE1tmVnZ6tXr17auHGjDS0CAAAA/M1xcxpqY4zRt99+q3bt2tndFAAAAMB3XBEannvuOW3dulXjxo2rc5+ysjKFQqGILwAAAACN5/jQ8OWXX2rKlCkaMmSIJkyYUOd+CxYsUEZGRtVXVlZWElsJAAAAeJfjJkIfa/v27Ro2bJgOHz6sDz/8UJ06dapz37KyMpWVlVV9HwqFlJWVxURoAAAAeAoToY9RUlKiCy+8UHv37tX7779vGRgkKS0tTWlpaUlqHQAAAOAfjgwNpaWlGjVqlDZt2qS33npLp512mt1NAgAAAHzLcaGhvLxc48aN05o1a/TnP/9ZQ4YMsbtJAAAAgK85LjTceuutevXVVzVq1Cjt3r27xs3crr76aptaBgAAAPiT4yZC5+Tk6N13363z59E2lztCAwAAwIuYCC3pnXfesbsJAAAAAI7h+Ps0AAAAALAXoQEAAACAJUIDAAAAAEuEBgAAAACWCA0AAAAALBEaAAAAAFgiNAAAAACwRGgAAAAAYInQAAAAAMASoQEAAACAJUIDAAAAAEuEBgAAAACWCA0AAAAALBEaAAAAAFgiNAAAAACwRGgAAAAAYInQAAAAAMASoQEAAACAJUIDAAAAAEuEBgAAAACWCA0AAAAALBEaAAAAAFgiNAAAAACwRGgAAAAAYInQAAAAAMASoQEAAACAJUIDAAAAAEuEBgAAAACWCA0AAAAALBEaAAAAAFgiNAAAAACwRGgAAAAAYInQAAAAAMASoQEAAACAJUIDAAAAAEuEBgAAAACWCA0AAAAALBEaAAAAAFgiNAAAAACwRGgAAAAAYInQAAAAAMASoQEAAACAJUIDAAAAAEuEBgAAAACWCA0AAAAALBEaAAAAAFgiNAAAAACwRGgAAAAAYMmRoaGsrEwzZsxQp06d1Lx5cw0ePFhvvvmm3c0CAAAAfMmRoWHixIm6//77NX78eD300ENKTU3VT3/6U33wwQd2Nw0AAADwnYAxxtjdiGN99NFHGjx4sO69917ddtttkqTS0lL17t1bJ5xwgv72t79F9XtCoZAyMjJUUlKi9PT0RDYZAAAASBo7+rmOG2lYvny5UlNTlZ+fX7WtWbNmysvL05o1a1RUVGRj6wAAAAD/cVxo2LBhg04++eQaqWnQoEGSpE8//dSGVgEAAAD+1cTuBlS3bds2dezYscb2ym3FxcW1Pq6srExlZWVV35eUlEgKD98AAAAAXlHZv03mLAPHhYaDBw8qLS2txvZmzZpV/bw2CxYs0N13311je1ZWVnwbCAAAADjArl27lJGRkZTnclxoaN68ecSIQaXS0tKqn9dm5syZuuWWW6q+37t3r7p27apvvvkmaQfTT0KhkLKyslRUVMRE8zjj2CYOxzZxOLaJw7FNLI5v4nBsE6ekpERdunRR27Ztk/acjgsNHTt21NatW2ts37ZtmySpU6dOtT4uLS2t1hGKjIwMTtQESk9P5/gmCMc2cTi2icOxTRyObWJxfBOHY5s4KSnJm57suInQ/fv316ZNm2rMRVi7dm3VzwEAAAAkj+NCwxVXXKHy8nItWbKkaltZWZmeeuopDR48mDkKAAAAQJI5rjxp8ODBGjNmjGbOnKkdO3aoZ8+eevrpp1VYWKiCgoKof09aWppmz55da8kSGo/jmzgc28Th2CYOxzZxOLaJxfFNHI5t4thxbB13R2gpPOn5zjvv1LPPPqs9e/aob9++mjt3rnJzc+1uGgAAAOA7jgwNAAAAAJzDcXMaAAAAADgLoQEAAACAJUIDAAAAAEuODg1lZWWaMWOGOnXqpObNm2vw4MF68803o3rs1q1bNXbsWLVp00bp6em6+OKL9fXXX9e6b0FBgX74wx+qWbNmys7O1iOPPBLPl+FIsR7bl19+WePGjdNJJ52kFi1a6JRTTtGtt96qvXv31ti3W7duCgQCNb6uu+66BLwiZ4n1+N511121HrNmzZrVuj/nbvTHtq7zMRAIKDs7O2Lfuvb77W9/m6iX5Qj79u3T7NmzNWLECLVt21aBQEBLly6N+vF79+5Vfn6+2rdvr5YtW+rcc8/V+vXra9331Vdf1cCBA9WsWTN16dJFs2fP1pEjR+L0SpynMcf27bff1qRJk3TyySerRYsWOumkk3TttddW3fT0WDk5ObWeuyNGjIjzK3KOxhzbpUuX1vn3vn379hr7c95Gf2zrOhcDgYCOO+64iH392F/4+OOPdcMNN6hXr15q2bKlunTporFjx2rTpk1RPd6Oz1vHLbl6rIkTJ2r58uW66aablJ2draVLl+qnP/2pVq1apbPPPrvOx+3bt0/nnnuuSkpK9Jvf/EbHHXecHnjgAZ1zzjn69NNPdfzxx1ft+8QTT+i6667T5ZdfrltuuUXvv/++pk2bpgMHDmjGjBnJeJm2iPXY5ufnq1OnTrr66qvVpUsXff7551q0aJFef/11rV+/Xs2bN4/Yv3///rr11lsjtp188skJeU1OEuvxrfT444+rVatWVd+npqbW2Idzt2HH9sEHH9S+ffsitm3ZskWzZs3SBRdcUGP/888/X9dcc03EtgEDBsTnRTjUzp07NWfOHHXp0kX9+vXTO++8E/VjKyoqNHLkSH322WeaPn262rVrp8cee0w5OTn65JNPIoLZf//3f+uSSy5RTk6OHnnkEX3++ee65557tGPHDj3++OMJeGX2a8yxnTFjhnbv3q0xY8YoOztbX3/9tRYtWqTXXntNn376qTp06BCxf2ZmphYsWBCxrVOnTvF4GY7UmGNbac6cOerevXvEtjZt2kR8z3nbsGN7xx136Nprr43Ytn//fl133XW1fub6rb+wcOFCrV69WmPGjFHfvn21fft2LVq0SAMHDtSHH36o3r171/lY2z5vjUOtXbvWSDL33ntv1baDBw+aHj16mCFDhlg+duHChUaS+eijj6q2bdy40aSmppqZM2dWbTtw4IA5/vjjzciRIyMeP378eNOyZUuze/fuOL0aZ2nMsV21alWNbU8//bSRZJ588smI7V27dq1xbP2gMcd39uzZRpL57rvvLPfj3G34sa3N3LlzjSSzevXqiO2SzJQpUxrdXrcpLS0127ZtM8YY8/HHHxtJ5qmnnorqsS+88IKRZP7zP/+zatuOHTtMmzZtzJVXXhmx72mnnWb69etnDh8+XLXtjjvuMIFAwGzcuLHxL8SBGnNs3333XVNeXl5jmyRzxx13RGw/55xzTK9eveLSZrdozLF96qmnjCTz8ccf17sv523Djm1tnnnmGSPJPPfccxHb/dhfWL16tSkrK4vYtmnTJpOWlmbGjx9v+Vi7Pm8dW560fPlypaamKj8/v2pbs2bNlJeXpzVr1qioqMjysWeeeabOPPPMqm2nnnqqfvzjH+vFF1+s2rZq1Srt2rVLv/rVryIeP2XKFO3fv18rVqyI4ytyjsYc25ycnBrbLr30UknSxo0ba33MoUOHtH///sY12kUac3wrGWMUCoVk6lgRmXM39mN7rGXLlql79+4aOnRorT8/ePCgSktLG9VmN0lLS6tx1Tpay5cv14knnqjLLrusalv79u01duxY/fnPf1ZZWZkk6YsvvtAXX3yh/Px8NWlydLD7V7/6lYwxWr58eeNehEM15tgOHz5cKSkpNba1bdu2zs/dI0eO1BhZ86rGHNtjff/99yovL6/1Z5y38bFs2TK1bNlSF198ca0/91N/YejQoWratGnEtuzsbPXq1avOv+tKdn3eOjY0bNiwQSeffLLS09Mjtg8aNEiS9Omnn9b6uIqKCv3973/XGWecUeNngwYN0ldffaXvv/++6jkk1dj39NNPV0pKStXPvSbWY1uXyrrPdu3a1fjZ//zP/6hFixZq1aqVunXrpoceeii2RrtIPI7vSSedpIyMDLVu3VpXX321vv322xrPIXHuVorl3N2wYYM2btyoq666qtafL126VC1btlTz5s112mmnadmyZTG32w82bNiggQMH1ujcDho0SAcOHKiq063r3O3UqZMyMzM9e+7G2759+7Rv375aP3c3bdqkli1bqnXr1urQoYPuvPNOHT582IZWuse5556r9PR0tWjRQqNHj9bmzZsjfs5523jfffed3nzzTV1yySVq2bJljZ/7sb9QnTFG3377ba1/18ey6/PWsXMatm3bpo4dO9bYXrmtuLi41sft3r1bZWVl9T72lFNO0bZt25SamqoTTjghYr+mTZvq+OOPr/M53C7WY1uXhQsXKjU1VVdccUXE9r59++rss8/WKaecol27dmnp0qW66aabVFxcrIULF8b+AhyuMcf3Bz/4gW644QYNGTJEaWlpev/99/Xoo4/qo48+0rp166o6y5y7kWI5d5977jlJ0vjx42v8bOjQoRo7dqy6d++u4uJiPfrooxo/frxKSkp0/fXXx9h6b9u2bZuGDx9eY/ux702fPn2qJu/W9T569dyNtwcffFCHDh3SuHHjIrb36NFD5557rvr06aP9+/dr+fLluueee7Rp0ya98MILNrXWuVq0aKGJEydWhYZPPvlE999/v4YOHar169crKytLkjhv4+CFF17QkSNHav3M9Wt/obrnnntOW7du1Zw5cyz3s+vz1rGh4eDBg0pLS6uxvXIVmYMHD9b5OElRPfbgwYM1hoaO3beu53C7WI9tbZYtW6aCggLdfvvtNVagefXVVyO+/8UvfqELL7xQ999/v6ZOnarMzMwYWu98jTm+N954Y8T3l19+uQYNGqTx48frscce069//euq38G5e1RDz92Kigo9//zzGjBggH74wx/W+Pnq1asjvp80aZJOP/10/eY3v9HEiRNrTPhH9O9NfZ/RoVAoga30hvfee0933323xo4dq/POOy/iZwUFBRHf//znP1d+fr6efPJJ3XzzzTrrrLOS2VTHGzt2rMaOHVv1/SWXXKLc3FwNHz5c8+bN0+LFiyVx3sbDsmXL1L59e51//vk1fubX/sKxvvzyS02ZMkVDhgzRhAkTLPe16/PWseVJzZs3r6rJOlZlfXFd/2lXbo/msc2bN9ehQ4dq/T2lpaWe7RjEemyre//995WXl6fc3FzNmzev3v0DgYBuvvlmHTlyJKbVLdwiXse30lVXXaUOHTrorbfeingOzt2jGnps3333XW3durXWK161adq0qW644Qbt3btXn3zySfQN9pFo35v6PqO9eu7Gy5dffqlLL71UvXv31h/+8IeoHlO5Is2xnyGo29lnn63BgwfX+MyVOG9j9fXXX2vNmjUaN25cRG19XfzSX6i0fft2jRw5UhkZGVVz96zY9Xnr2NDQsWPHWtegrtxW1/Jxbdu2VVpaWlSP7dixo8rLy7Vjx46I/Q4dOqRdu3Z5dom6WI/tsT777DONHj1avXv31vLly6P6EJBUNdS7e/fuBrTYXeJxfKvLysqKOGacu5Eaemyfe+45paSk6Morr4z6uf1w7jZGtO9N5TB5Xft69dyNh6KiIl1wwQXKyMjQ66+/rtatW0f1OM7dhqvtM1fivI1V5ZywaC/USP45b0tKSnThhRdq7969+utf/xrVuWTX561jQ0P//v21adOmGkMna9eurfp5bVJSUtSnTx+tW7euxs/Wrl2rk046qeqDtvJ3VN933bp1qqioqPM53C7WY1vpq6++0ogRI3TCCSfo9ddfj7ifQH0qb7DXvn37hjXaRRp7fKszxqiwsDDimHHuxn5sy8rK9NJLLyknJ6dBH5h+OHcbo3///lq/fr0qKioitq9du1YtWrSoWm+9rnO3uLhYwWDQs+duY+3atUsXXHCBysrK9MYbb9Rao1wXzt2G+/rrr6P6zOW8jc6yZcvUo0ePBpXH+eG8LS0t1ahRo7Rp0ya99tprOu2006J6nG2ftw1aoDWJPvzwwxrrsZeWlpqePXuawYMHV23bsmVLjXVmf/vb39ZYd/nLL780qampZsaMGVXbDhw4YNq2bWsuuuiiiMdfffXVpkWLFmbXrl3xflmO0Jhju23bNnPSSSeZTp06mX//+991PseuXbvMkSNHIrYdOnTIDBs2zDRt2rRq3Wcvaszx3bFjR43f9+ijjxpJ5v7776/axrnb8GNb6eWXXzaSTEFBQa0/r+09CIVCpkePHqZdu3Y11tX2Kqs12YuLi83GjRvNoUOHqrY9//zzNdYN/+6770ybNm3MuHHjIh5/6qmnmn79+kV8RsyaNcsEAgHzxRdfxP/FOExDj+2+ffvMoEGDTOvWrc26devq/L0lJSWmtLQ0YltFRYUZN26ckWQ++eSTuL0Gp2rosa3t733FihVGkpk2bVrEds7bhh3bSuvXrzeSzJ133lnr7/Vrf+HIkSNm9OjRpkmTJmbFihV17uekz1vHhgZjjBkzZoxp0qSJmT59unniiSfM0KFDTZMmTcy7775btc8555xjqmefyv/gTzjhBPO73/3OPPDAAyYrK8t06tSpxgdEZYfsiiuuME8++aS55pprjCQzb968pLxGu8R6bPv162ckmdtvv90888wzEV8rV66s2u+pp54yPXr0MDNmzDCLFy828+fPN7179zaSzPz585P2Ou0S6/Ft3ry5mThxovn9739vHn30UXPllVeaQCBg+vfvb/bv3x+xL+duw45tpcsvv9ykpaWZvXv31vrz2bNnm379+plZs2aZJUuWmLvvvtt07drVBAIB8+yzzybkNTnJI488YubOnWuuv/56I8lcdtllZu7cuWbu3LlVx2zChAlGUsSFgyNHjpizzjrLtGrVytx9993m0UcfNb169TKtW7c2X375ZcRz/OUvfzGBQMCcd955ZsmSJWbatGkmJSXF/PKXv0zmS026WI/txRdfbCSZSZMm1fjcfeWVV6r2W7VqlenQoYO5+eabzaOPPmruu+8+M2zYMCPJ5OfnJ/nVJlesx7Znz55mzJgxZuHChWbx4sUmPz/fNGnSxGRlZZnt27dHPAfnbcOObaVbb73VSKrxOVDJr/2FG2+80Ugyo0aNqvF3/cwzz1Tt56TPW0eHhoMHD5rbbrvNdOjQwaSlpZkzzzzT/PWvf43Yp67OQVFRkbniiitMenq6adWqlbnooovM5s2ba32eJUuWmFNOOcU0bdrU9OjRwzzwwAOmoqIiIa/JKWI9tpLq/DrnnHOq9lu3bp0ZNWqU6dy5s2natKlp1aqVOfvss82LL76YjJdnu1iP77XXXmtOO+0007p1a3PccceZnj17mhkzZphQKFTr83DuNuxzoaSkxDRr1sxcdtlldf7+lStXmvPPP9906NDBHHfccaZNmzbmggsuMG+//XbcX4sTde3atc6/8cr/tOrqIOzevdvk5eWZ448/3rRo0cKcc845dd5p95VXXjH9+/c3aWlpJjMz08yaNavWq5ReEuuxtXpc165dq/b7+uuvzZgxY0y3bt1Ms2bNTIsWLczpp59uFi9e7PnPhViP7R133GH69+9vMjIyzHHHHWe6dOlirr/++hqBoRLnbcM+E8rLy03nzp3NwIED6/z9fu0vVP4/VddXJSd93gaMqeOWswAAAAAgB0+EBgAAAOAMhAYAAAAAlggNAAAAACwRGgAAAABYIjQAAAAAsERoAAAAAGCJ0AAAAADAEqEBAAAAgCVCAwAAAABLhAYAAAAAlggNAAAAACwRGgAAllavXq1AIKBAIKAXX3yx1n3Wrl2rVq1aKRAIaPr06UluIQAg0QLGGGN3IwAAznbxxRfr1Vdf1amnnqp//OMfSk1NrfrZP//5Tw0bNky7du3ShAkT9NRTTykQCNjYWgBAvDHSAACo14IFC5Samqovv/xSzz77bNX24uJi5ebmateuXbrooov0hz/8gcAAAB7ESAMAICrXXnutCgoK1L17d/3zn//U/v37NXz4cH3++ec6++yztXLlSjVv3tzuZgIAEoDQAACIytatW5Wdna2DBw/qgQce0CuvvKL33ntPffr00Xvvvac2bdrY3UQAQIJQngQAiErnzp01bdo0SdLNN9+s9957T926ddMbb7xRa2DYt2+f7rrrLl100UXq0KGDAoGAJk6cmNxGAwDigtAAAIjatGnTlJIS/q+jbdu2WrlypTp27Fjrvjt37tTdd9+t9evX64wzzkhmMwEAcdbE7gYAANzhyJEjmjx5sioqKiRJBw4csJzD0LFjRwWDQXXu3FmlpaXMdwAAF2OkAQBQL2OMrr32Wr322mtq3769unfvrtLSUs2ePbvOx6Slpalz585JbCUAIFEIDQCAet1+++16+umn1apVK61YsULz5s2TJD399NP64osvbG4dACDRCA0AAEv33Xef7rvvPh133HF6+eWXdeaZZ+pnP/uZ+vbtq/Lycs2cOdPuJgIAEozQAACo0x//+EfdfvvtCgQCWrp0qc4//3xJUiAQ0Ny5cyVJr776qlavXm1nMwEACUZoAADU6vXXX1deXp6MMbr//vt11VVXRfx89OjRGjx4sCRpxowZdjQRAJAkhAYAQA1r1qzRmDFjdOTIEc2YMUM33XRTrftVzm1YvXq1/vznPyexhQCAZGLJVQBADUOGDNH+/fvr3e/HP/6xjDFJaBEAwE6MNAAAAACwxEgDACBhFi1apL179+rIkSOSpL///e+65557JEnDhw/X8OHD7WweACBKAcO4MgAgQbp166YtW7bU+rPZs2frrrvuSm6DAAAxITQAAAAAsMScBgAAAACWCA0AAAAALBEaAAAAAFgiNAAAAACwRGgAAAAAYInQAAAAAMASoQEAAACAJUIDAAAAAEuEBgAAAACWCA0AAAAALBEaAAAAAFgiNAAAAACw9H9dl/x/uMQJqgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "m = 100\n", + "X = 2 * np.random.rand(m, 1)\n", + "y = 4 + 3 * X + np.random.randn(m, 1)\n", + "plt.figure(figsize=(9,6))\n", + "plt.plot(X, y, \"b.\")\n", + "plt.xlabel(\"$x_1$\", fontsize=18)\n", + "plt.ylabel(\"$y$\", rotation=0, fontsize=18)\n", + "plt.axis([0, 2, 0, 15]);" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + }, + "tags": [ + "exercise_pointer" + ] + }, + "source": [ + "**Exercises:** *You can now complete Exercise 1 in the exercises associated with this lecture.*" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Solve using Scikit-Learn" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:26.430231Z", + "iopub.status.busy": "2024-01-10T00:19:26.428868Z", + "iopub.status.idle": "2024-01-10T00:19:26.811959Z", + "shell.execute_reply": "2024-01-10T00:19:26.811220Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(array([4.21509616]), array([[2.77011339]]))" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.linear_model import LinearRegression\n", + "lin_reg = LinearRegression()\n", + "lin_reg.fit(X, y)\n", + "lin_reg.intercept_, lin_reg.coef_" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:26.815257Z", + "iopub.status.busy": "2024-01-10T00:19:26.814784Z", + "iopub.status.idle": "2024-01-10T00:19:26.820509Z", + "shell.execute_reply": "2024-01-10T00:19:26.819869Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[4.21509616],\n", + " [9.75532293]])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X_new = np.array([[0], [2]])\n", + "lin_reg.predict(X_new)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Computational complexity\n", + "\n", + "Solving the normal equation requires inverting $X^{\\rm T} X$, which is an $n \\times n$ matrix (where $n$ is the number of features).\n", + "\n", + "Inverting an $n \\times n$ matrix is naively of complexity $\\mathcal{O}(n^3)$ ($\\mathcal{O}(n^{2.4})$ if certain fast algorithms are used).\n", + "\n", + "Also, typically requires all training instances to be held in memory at once.\n", + "\n", + "Other methods are required to handle large data-sets, i.e. when considering large numbers of features and large numbers of training instances." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Batch gradient descent" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "[[Image source](http://www.holehouse.org/mlclass)]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "Gradient of the cost function is given by\n", + "\n", + "$$ \\frac{\\partial}{\\partial \\theta} C(\\theta)\n", + "=\\frac{2}{m} X^{\\rm T} \\left( X \\theta - y \\right) \n", + "= \\left[\\frac{\\partial C}{\\partial \\theta_0},\\ \\frac{\\partial C}{\\partial \\theta_1},\\ ...,\\ \\frac{\\partial C}{\\partial \\theta_n} \\right]^{\\rm T} \n", + ".\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "Batch gradient descent algorithm defined by taking a step $\\alpha$ in the direction of the gradient:\n", + "\n", + "$$\\theta^{(t)} = \\theta^{(t-1)} - \\alpha \\frac{\\partial C}{\\partial \\theta},$$\n", + "\n", + "where $t$ denotes the iteration number." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "This algorithm is called *batch* gradient descent since it uses the full *batch* of training data ($X$) at each iteration. We will see other forms of gradient descent soon..." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + }, + "tags": [ + "exercise_pointer" + ] + }, + "source": [ + "**Exercises:** *You can now complete Exercise 2 in the exercises associated with this lecture.*" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Learning rate\n", + "\n", + "The step size $\\alpha$ is also called the *learning rate*." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Good learning rate\n", + "\n", + "\n", + "\n", + "[Source: Geron]\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Learning rate too small \n", + "\n", + "Convergence will be slow.\n", + "\n", + "\n", + "\n", + "[Source: Geron]\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Learning rate too large \n", + "\n", + "May not converge.\n", + "\n", + "\"data-layout\"\n", + "\n", + "[Source: Geron]\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Evolution of fitted curve \n", + "\n", + "Consider the evolution of the curve corresponding to the best fit parameters for the first 10 iterations for different learning rates $\\alpha$." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:26.824434Z", + "iopub.status.busy": "2024-01-10T00:19:26.823834Z", + "iopub.status.idle": "2024-01-10T00:19:26.831253Z", + "shell.execute_reply": "2024-01-10T00:19:26.830646Z" + } + }, + "outputs": [], + "source": [ + "theta_path_bgd = []\n", + "\n", + "X_b = np.c_[np.ones((m, 1)), X] # add x0 = 1 to each instance\n", + "X_new_b = np.c_[np.ones((2, 1)), X_new] \n", + "\n", + "def plot_gradient_descent(theta, alpha, theta_path=None):\n", + " m = len(X_b)\n", + " plt.plot(X, y, \"b.\")\n", + " n_iterations = 1000\n", + " for iteration in range(n_iterations):\n", + " if iteration < 10:\n", + " y_predict = X_new_b.dot(theta)\n", + " style = \"b-\" if iteration > 0 else \"r--\"\n", + " plt.plot(X_new, y_predict, style)\n", + " gradients = 2/m * X_b.T.dot(X_b.dot(theta) - y)\n", + " theta = theta - alpha * gradients\n", + " if theta_path is not None:\n", + " theta_path.append(theta)\n", + " plt.xlabel(\"$x_1$\", fontsize=18)\n", + " plt.axis([0, 2, 0, 15])\n", + " plt.title(r\"$\\alpha = {}$\".format(alpha), fontsize=16)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:26.834198Z", + "iopub.status.busy": "2024-01-10T00:19:26.833760Z", + "iopub.status.idle": "2024-01-10T00:19:27.369568Z", + "shell.execute_reply": "2024-01-10T00:19:27.368907Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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V199FUFBQdi2bRuGDh2Khx56CAMGDEBtbS2WLFni6y4SkYkxQ4jIKOYINRYWVeQT77zzDhYtWgSLxYKsrCyMGTMGAGCxWLB8+XIAwMcff4zc3FxfdpOITIoZQkRGMUeoMbGoIq/77LPPMGvWLEiShNdeew3Tp093+PqkSZOQlJQEAFi8eLEvukhEJsYMISKjmCPU2FhUkVft27cPU6dOxY0bN7B48WLMmzdPs528njk3Nxc7duzwYg+JyMyYIURkFHOEmgJvqU5elZycjKtXr9603ejRoyFJkhd6RET+hBlCREYxR6gp8EwVERERERGRATxTRX5p7dq1KC8vx40bNwAAhw4dwooVKwAAKSkpSElJ8WX3iMjkmCFEZBRzhNQsEs9rkh/q1q0bfv75Z82vZWZmYtmyZd7tEBH5FWYIERnFHCE1FlVEREREREQG8JoqIiIiIiIiA1hUERERERERGcCiioiIiIiIyAAWVURERERERAawqCIiIiIiIjKARRUREREREZEBLKqIiIiIiIgMYFFFRERERERkAIsqIiIiIiIiA1hUERERERERGcCiioiIiIiIyID/B/0XlHzTfb5CAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "np.random.seed(42)\n", + "theta = np.random.randn(2,1) # random initialization\n", + "\n", + "plt.figure(figsize=(10,4))\n", + "plt.subplot(131); plot_gradient_descent(theta, alpha=0.02)\n", + "plt.ylabel(\"$y$\", rotation=0, fontsize=18)\n", + "plt.subplot(132); plot_gradient_descent(theta, alpha=0.1)\n", + "plt.subplot(133); plot_gradient_descent(theta, alpha=0.5)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "- $\\alpha=0.02$: learning rate is too small and will take a long time to reach the global optimum.\n", + "- $\\alpha=0.1$: learning rate is good and global optimum will be found quickly.\n", + "- $\\alpha=0.5$: learning rate is too large and parameters jump about (may not converge)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Convergence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Cost function may not be nice with a single local minimum that coincides with the global minimum.\n", + "\n", + "\"data-layout\"\n", + "\n", + "[Source: Geron]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Convex objective function\n", + "\n", + "MSE cost function for linear regression is convex (for any two points on the curve, the line segment connecting those points lies above the curve).\n", + "\n", + "Consequently, the cost function has a single local minimum (that therefore coincides with the global minimum).\n", + "\n", + "Furthermore, the cost function is smooth with a slope that never changes abruptly (i.e. it is Lipschitz continuous). \n", + "\n", + "Gradient descent is therefore guaranteed to converge to the global minimum." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Feature scaling\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For gradient descent to work well it is critical for all features to have a similar scale." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"data-layout\"\n", + "\n", + "[Source: Geron]\n", + "\n", + "In the case on the left, the features have the same scale and even intially the solution moves towards the minimum, thus reaching it quickly.\n", + "\n", + "In the case on the right, the features have different scales and initially the solution does not move directly towards the minimum. Convergence is therefore slow." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Feature scaling methods\n", + "\n", + "In general should ensure features have a similar scale since many machine learning methods do not work well when numerical attributes have very different scales.\n", + "\n", + "#### Min-max scaling\n", + "\n", + "Min-max scaling given by\n", + "\\begin{align*}\n", + "x_j \\rightarrow \\frac{x_j - \\min_i x_i}{\\max_i x_i - \\min_i x_i} .\n", + "\\end{align*}\n", + "See Scikit-Learn [`MinMaxScalar`](http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.MinMaxScaler.html).\n", + "\n", + "\n", + "#### Standardization\n", + "\n", + "Standardization scaling given by\n", + "\\begin{align*}\n", + "x_j \\rightarrow \\frac{x_j - \\mu_j}{\\sigma_j},\n", + "\\end{align*}\n", + "where $\\mu_j$ and $\\sigma_j$ are the mean and standard deviation of feature $j$ computed from the training instances.\n", + "See Scikit-Learn [`StandardScaler`](http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html)." + ] + } + ], + "metadata": { + "celltoolbar": "Slideshow", + "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.8.18" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/week2/slides/Lecture06_TrainingII.ipynb b/week2/slides/Lecture06_TrainingII.ipynb new file mode 100644 index 0000000..c6b96ba --- /dev/null +++ b/week2/slides/Lecture06_TrainingII.ipynb @@ -0,0 +1,658 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "# Lecture 6: Training II" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "skip" + } + }, + "source": [ + "![](https://www.tensorflow.org/images/colab_logo_32px.png)\n", + "[Run in colab](https://colab.research.google.com/drive/18org-B5m6ZtN7E9GBSoLtkXb6-Fc2bgh)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:34.924839Z", + "iopub.status.busy": "2024-01-10T00:19:34.924473Z", + "iopub.status.idle": "2024-01-10T00:19:34.932173Z", + "shell.execute_reply": "2024-01-10T00:19:34.931501Z" + }, + "slideshow": { + "slide_type": "skip" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Last executed: 2024-01-10 00:19:34\n" + ] + } + ], + "source": [ + "import datetime\n", + "now = datetime.datetime.now()\n", + "print(\"Last executed: \" + now.strftime(\"%Y-%m-%d %H:%M:%S\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Stochastic gradient descent" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Problems with batch gradient descent\n", + "\n", + "- Uses the entire training set to compute gradients at every step (slow when the training set is large).\n", + "\n", + "- Full training set needs to be held in memory." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Properties of stochastic gradient descent\n", + "\n", + "- Uses a (random) single instance from the training set to compute gradients at each iteration (fast since very little data considered for each iteration).\n", + "- Only one instance of training data then needs to be held in memory.\n", + "- Less regular than batch gradient descent.\n", + " - Helps to escape local minima.\n", + " - Ends up close to a minimum but continues to explore vacinity around minimum (\"bounces\" around)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Simulated annealing\n", + "\n", + "To mitigate issue of bouncing around minimum, can reduce learning rate as algorithm proceeds.\n", + "\n", + "Called *simulated annealing* by analogy with annealing in metallurgy.\n", + "\n", + "*Learning schedule* defines how learning rate changes over time.\n", + "\n", + "- If learning rate reduces too quickly, may get stuck on local minimum or end up frozen half-way to minimum.\n", + "- If learning rate reduces too slowly, may jump around minimum for long time." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "#### Example learning schedule\n", + "\n", + "Set learning rate $\\alpha$ at iteration $t$ by\n", + "\n", + "$$\\alpha(t) = \\frac{t_0}{t + t_1},$$\n", + "\n", + "where $t_0$ and $t_1$ are parameters." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Stochastic gradient descent example" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:34.974213Z", + "iopub.status.busy": "2024-01-10T00:19:34.973677Z", + "iopub.status.idle": "2024-01-10T00:19:35.388064Z", + "shell.execute_reply": "2024-01-10T00:19:35.387394Z" + } + }, + "outputs": [], + "source": [ + "# Common imports\n", + "import os\n", + "import numpy as np\n", + "np.random.seed(42) # To make this notebook's output stable across runs\n", + "\n", + "# To plot pretty figures\n", + "%matplotlib inline\n", + "import matplotlib\n", + "import matplotlib.pyplot as plt\n", + "plt.rcParams['axes.labelsize'] = 14\n", + "plt.rcParams['xtick.labelsize'] = 12\n", + "plt.rcParams['ytick.labelsize'] = 12" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "#### Set up training data (repeating example from previous lecture)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:35.392076Z", + "iopub.status.busy": "2024-01-10T00:19:35.391426Z", + "iopub.status.idle": "2024-01-10T00:19:35.624448Z", + "shell.execute_reply": "2024-01-10T00:19:35.623816Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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mGNbac6cOerevXvEtjZt2kR8z3nbsGN7xx136Nprr43Ytn//fl133XW1fub6rb+wcOFCrV69WmPGjFHfvn21fft2LVq0SAMHDtSHH36o3r171/lY2z5vjUOtXbvWSDL33ntv1baDBw+aHj16mCFDhlg+duHChUaS+eijj6q2bdy40aSmppqZM2dWbTtw4IA5/vjjzciRIyMeP378eNOyZUuze/fuOL0aZ2nMsV21alWNbU8//bSRZJ588smI7V27dq1xbP2gMcd39uzZRpL57rvvLPfj3G34sa3N3LlzjSSzevXqiO2SzJQpUxrdXrcpLS0127ZtM8YY8/HHHxtJ5qmnnorqsS+88IKRZP7zP/+zatuOHTtMmzZtzJVXXhmx72mnnWb69etnDh8+XLXtjjvuMIFAwGzcuLHxL8SBGnNs3333XVNeXl5jmyRzxx13RGw/55xzTK9eveLSZrdozLF96qmnjCTz8ccf17sv523Djm1tnnnmGSPJPPfccxHb/dhfWL16tSkrK4vYtmnTJpOWlmbGjx9v+Vi7Pm8dW560fPlypaamKj8/v2pbs2bNlJeXpzVr1qioqMjysWeeeabOPPPMqm2nnnqqfvzjH+vFF1+s2rZq1Srt2rVLv/rVryIeP2XKFO3fv18rVqyI4ytyjsYc25ycnBrbLr30UknSxo0ba33MoUOHtH///sY12kUac3wrGWMUCoVk6lgRmXM39mN7rGXLlql79+4aOnRorT8/ePCgSktLG9VmN0lLS6tx1Tpay5cv14knnqjLLrusalv79u01duxY/fnPf1ZZWZkk6YsvvtAXX3yh/Px8NWlydLD7V7/6lYwxWr58eeNehEM15tgOHz5cKSkpNba1bdu2zs/dI0eO1BhZ86rGHNtjff/99yovL6/1Z5y38bFs2TK1bNlSF198ca0/91N/YejQoWratGnEtuzsbPXq1avOv+tKdn3eOjY0bNiwQSeffLLS09Mjtg8aNEiS9Omnn9b6uIqKCv3973/XGWecUeNngwYN0ldffaXvv/++6jkk1dj39NNPV0pKStXPvSbWY1uXyrrPdu3a1fjZ//zP/6hFixZq1aqVunXrpoceeii2RrtIPI7vSSedpIyMDLVu3VpXX321vv322xrPIXHuVorl3N2wYYM2btyoq666qtafL126VC1btlTz5s112mmnadmyZTG32w82bNiggQMH1ujcDho0SAcOHKiq063r3O3UqZMyMzM9e+7G2759+7Rv375aP3c3bdqkli1bqnXr1urQoYPuvPNOHT582IZWuse5556r9PR0tWjRQqNHj9bmzZsjfs5523jfffed3nzzTV1yySVq2bJljZ/7sb9QnTFG3377ba1/18ey6/PWsXMatm3bpo4dO9bYXrmtuLi41sft3r1bZWVl9T72lFNO0bZt25SamqoTTjghYr+mTZvq+OOPr/M53C7WY1uXhQsXKjU1VVdccUXE9r59++rss8/WKaecol27dmnp0qW66aabVFxcrIULF8b+AhyuMcf3Bz/4gW644QYNGTJEaWlpev/99/Xoo4/qo48+0rp166o6y5y7kWI5d5977jlJ0vjx42v8bOjQoRo7dqy6d++u4uJiPfrooxo/frxKSkp0/fXXx9h6b9u2bZuGDx9eY/ux702fPn2qJu/W9T569dyNtwcffFCHDh3SuHHjIrb36NFD5557rvr06aP9+/dr+fLluueee7Rp0ya98MILNrXWuVq0aKGJEydWhYZPPvlE999/v4YOHar169crKytLkjhv4+CFF17QkSNHav3M9Wt/obrnnntOW7du1Zw5cyz3s+vz1rGh4eDBg0pLS6uxvXIVmYMHD9b5OElRPfbgwYM1hoaO3beu53C7WI9tbZYtW6aCggLdfvvtNVagefXVVyO+/8UvfqELL7xQ999/v6ZOnarMzMwYWu98jTm+N954Y8T3l19+uQYNGqTx48frscce069//euq38G5e1RDz92Kigo9//zzGjBggH74wx/W+Pnq1asjvp80aZJOP/10/eY3v9HEiRNrTPhH9O9NfZ/RoVAoga30hvfee0933323xo4dq/POOy/iZwUFBRHf//znP1d+fr6efPJJ3XzzzTrrrLOS2VTHGzt2rMaOHVv1/SWXXKLc3FwNHz5c8+bN0+LFiyVx3sbDsmXL1L59e51//vk1fubX/sKxvvzyS02ZMkVDhgzRhAkTLPe16/PWseVJzZs3r6rJOlZlfXFd/2lXbo/msc2bN9ehQ4dq/T2lpaWe7RjEemyre//995WXl6fc3FzNmzev3v0DgYBuvvlmHTlyJKbVLdwiXse30lVXXaUOHTrorbfeingOzt2jGnps3333XW3durXWK161adq0qW644Qbt3btXn3zySfQN9pFo35v6PqO9eu7Gy5dffqlLL71UvXv31h/+8IeoHlO5Is2xnyGo29lnn63BgwfX+MyVOG9j9fXXX2vNmjUaN25cRG19XfzSX6i0fft2jRw5UhkZGVVz96zY9Xnr2NDQsWPHWtegrtxW1/Jxbdu2VVpaWlSP7dixo8rLy7Vjx46I/Q4dOqRdu3Z5dom6WI/tsT777DONHj1avXv31vLly6P6EJBUNdS7e/fuBrTYXeJxfKvLysqKOGacu5Eaemyfe+45paSk6Morr4z6uf1w7jZGtO9N5TB5Xft69dyNh6KiIl1wwQXKyMjQ66+/rtatW0f1OM7dhqvtM1fivI1V5ZywaC/USP45b0tKSnThhRdq7969+utf/xrVuWTX561jQ0P//v21adOmGkMna9eurfp5bVJSUtSnTx+tW7euxs/Wrl2rk046qeqDtvJ3VN933bp1qqioqPM53C7WY1vpq6++0ogRI3TCCSfo9ddfj7ifQH0qb7DXvn37hjXaRRp7fKszxqiwsDDimHHuxn5sy8rK9NJLLyknJ6dBH5h+OHcbo3///lq/fr0qKioitq9du1YtWrSoWm+9rnO3uLhYwWDQs+duY+3atUsXXHCBysrK9MYbb9Rao1wXzt2G+/rrr6P6zOW8jc6yZcvUo0ePBpXH+eG8LS0t1ahRo7Rp0ya99tprOu2006J6nG2ftw1aoDWJPvzwwxrrsZeWlpqePXuawYMHV23bsmVLjXVmf/vb39ZYd/nLL780qampZsaMGVXbDhw4YNq2bWsuuuiiiMdfffXVpkWLFmbXrl3xflmO0Jhju23bNnPSSSeZTp06mX//+991PseuXbvMkSNHIrYdOnTIDBs2zDRt2rRq3Wcvaszx3bFjR43f9+ijjxpJ5v7776/axrnb8GNb6eWXXzaSTEFBQa0/r+09CIVCpkePHqZdu3Y11tX2Kqs12YuLi83GjRvNoUOHqrY9//zzNdYN/+6770ybNm3MuHHjIh5/6qmnmn79+kV8RsyaNcsEAgHzxRdfxP/FOExDj+2+ffvMoEGDTOvWrc26devq/L0lJSWmtLQ0YltFRYUZN26ckWQ++eSTuL0Gp2rosa3t733FihVGkpk2bVrEds7bhh3bSuvXrzeSzJ133lnr7/Vrf+HIkSNm9OjRpkmTJmbFihV17uekz1vHhgZjjBkzZoxp0qSJmT59unniiSfM0KFDTZMmTcy7775btc8555xjqmefyv/gTzjhBPO73/3OPPDAAyYrK8t06tSpxgdEZYfsiiuuME8++aS55pprjCQzb968pLxGu8R6bPv162ckmdtvv90888wzEV8rV66s2u+pp54yPXr0MDNmzDCLFy828+fPN7179zaSzPz585P2Ou0S6/Ft3ry5mThxovn9739vHn30UXPllVeaQCBg+vfvb/bv3x+xL+duw45tpcsvv9ykpaWZvXv31vrz2bNnm379+plZs2aZJUuWmLvvvtt07drVBAIB8+yzzybkNTnJI488YubOnWuuv/56I8lcdtllZu7cuWbu3LlVx2zChAlGUsSFgyNHjpizzjrLtGrVytx9993m0UcfNb169TKtW7c2X375ZcRz/OUvfzGBQMCcd955ZsmSJWbatGkmJSXF/PKXv0zmS026WI/txRdfbCSZSZMm1fjcfeWVV6r2W7VqlenQoYO5+eabzaOPPmruu+8+M2zYMCPJ5OfnJ/nVJlesx7Znz55mzJgxZuHChWbx4sUmPz/fNGnSxGRlZZnt27dHPAfnbcOObaVbb73VSKrxOVDJr/2FG2+80Ugyo0aNqvF3/cwzz1Tt56TPW0eHhoMHD5rbbrvNdOjQwaSlpZkzzzzT/PWvf43Yp67OQVFRkbniiitMenq6adWqlbnooovM5s2ba32eJUuWmFNOOcU0bdrU9OjRwzzwwAOmoqIiIa/JKWI9tpLq/DrnnHOq9lu3bp0ZNWqU6dy5s2natKlp1aqVOfvss82LL76YjJdnu1iP77XXXmtOO+0007p1a3PccceZnj17mhkzZphQKFTr83DuNuxzoaSkxDRr1sxcdtlldf7+lStXmvPPP9906NDBHHfccaZNmzbmggsuMG+//XbcX4sTde3atc6/8cr/tOrqIOzevdvk5eWZ448/3rRo0cKcc845dd5p95VXXjH9+/c3aWlpJjMz08yaNavWq5ReEuuxtXpc165dq/b7+uuvzZgxY0y3bt1Ms2bNTIsWLczpp59uFi9e7PnPhViP7R133GH69+9vMjIyzHHHHWe6dOlirr/++hqBoRLnbcM+E8rLy03nzp3NwIED6/z9fu0vVP4/VddXJSd93gaMqeOWswAAAAAgB0+EBgAAAOAMhAYAAAAAlggNAAAAACwRGgAAAABYIjQAAAAAsERoAAAAAGCJ0AAAAADAEqEBAAAAgCVCAwAAAABLhAYAAAAAlggNAAAAACwRGgAAllavXq1AIKBAIKAXX3yx1n3Wrl2rVq1aKRAIaPr06UluIQAg0QLGGGN3IwAAznbxxRfr1Vdf1amnnqp//OMfSk1NrfrZP//5Tw0bNky7du3ShAkT9NRTTykQCNjYWgBAvDHSAACo14IFC5Samqovv/xSzz77bNX24uJi5ebmateuXbrooov0hz/8gcAAAB7ESAMAICrXXnutCgoK1L17d/3zn//U/v37NXz4cH3++ec6++yztXLlSjVv3tzuZgIAEoDQAACIytatW5Wdna2DBw/qgQce0CuvvKL33ntPffr00Xvvvac2bdrY3UQAQIJQngQAiErnzp01bdo0SdLNN9+s9957T926ddMbb7xRa2DYt2+f7rrrLl100UXq0KGDAoGAJk6cmNxGAwDigtAAAIjatGnTlJIS/q+jbdu2WrlypTp27Fjrvjt37tTdd9+t9evX64wzzkhmMwEAcdbE7gYAANzhyJEjmjx5sioqKiRJBw4csJzD0LFjRwWDQXXu3FmlpaXMdwAAF2OkAQBQL2OMrr32Wr322mtq3769unfvrtLSUs2ePbvOx6Slpalz585JbCUAIFEIDQCAet1+++16+umn1apVK61YsULz5s2TJD399NP64osvbG4dACDRCA0AAEv33Xef7rvvPh133HF6+eWXdeaZZ+pnP/uZ+vbtq/Lycs2cOdPuJgIAEozQAACo0x//+EfdfvvtCgQCWrp0qc4//3xJUiAQ0Ny5cyVJr776qlavXm1nMwEACUZoAADU6vXXX1deXp6MMbr//vt11VVXRfx89OjRGjx4sCRpxowZdjQRAJAkhAYAQA1r1qzRmDFjdOTIEc2YMUM33XRTrftVzm1YvXq1/vznPyexhQCAZGLJVQBADUOGDNH+/fvr3e/HP/6xjDFJaBEAwE6MNAAAAACwxEgDACBhFi1apL179+rIkSOSpL///e+65557JEnDhw/X8OHD7WweACBKAcO4MgAgQbp166YtW7bU+rPZs2frrrvuSm6DAAAxITQAAAAAsMScBgAAAACWCA0AAAAALBEaAAAAAFgiNAAAAACwRGgAAAAAYInQAAAAAMASoQEAAACAJUIDAAAAAEuEBgAAAACWCA0AAAAALBEaAAAAAFgiNAAAAACw9H9dl/x/uMQJqgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "m = 100\n", + "X = 2 * np.random.rand(m, 1)\n", + "y = 4 + 3 * X + np.random.randn(m, 1)\n", + "plt.figure(figsize=(9,6))\n", + "plt.plot(X, y, \"b.\")\n", + "plt.xlabel(\"$x_1$\", fontsize=18)\n", + "plt.ylabel(\"$y$\", rotation=0, fontsize=18)\n", + "plt.axis([0, 2, 0, 15]);" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "#### Add bias terms" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:35.627965Z", + "iopub.status.busy": "2024-01-10T00:19:35.627484Z", + "iopub.status.idle": "2024-01-10T00:19:35.631843Z", + "shell.execute_reply": "2024-01-10T00:19:35.631191Z" + } + }, + "outputs": [], + "source": [ + "X_b = np.c_[np.ones((m, 1)), X] # add x0 = 1 to each instance\n", + "X_new = np.array([[0], [2]])\n", + "X_new_b = np.c_[np.ones((2, 1)), X_new] # add x0 = 1 to each instance" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "#### Solve by SGD with learning schedule" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:35.635312Z", + "iopub.status.busy": "2024-01-10T00:19:35.635050Z", + "iopub.status.idle": "2024-01-10T00:19:35.639860Z", + "shell.execute_reply": "2024-01-10T00:19:35.639206Z" + } + }, + "outputs": [], + "source": [ + "theta_path_sgd = []\n", + "m = len(X_b)\n", + "np.random.seed(42)\n", + "\n", + "n_epochs = 50\n", + "t0, t1 = 5, 50 # learning schedule hyperparameters\n", + "\n", + "def learning_schedule(t):\n", + " return t0 / (t + t1)\n", + "\n", + "theta = np.random.randn(2,1) # random initialization" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:35.642955Z", + "iopub.status.busy": "2024-01-10T00:19:35.642348Z", + "iopub.status.idle": "2024-01-10T00:19:35.887038Z", + "shell.execute_reply": "2024-01-10T00:19:35.886346Z" + }, + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAw0AAAIbCAYAAACpGXLSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8WgzjOAAAACXBIWXMAAA9hAAAPYQGoP6dpAACfZklEQVR4nO3dd3hUZfYH8O9MeghJCD0ECITQQugdpEiXoiBFse7ioq5l113Luupid911Xfenrm1ZsYCC2BBRiiIgVUSE0KWHXhMCpM79/XH2cufeuXeYmUym5ft5njxA5s7MzTBJ3nPPOe+xKYqigIiIiIiIyII92CdAREREREShjUEDERERERG5xaCBiIiIiIjcYtBARERERERuMWggIiIiIiK3GDQQEREREZFbDBqIiIiIiMgtBg1ERERERORWdLBPoKo4HA4cPnwYNWvWhM1mC/bpEBERERH5haIoOHfuHNLT02G3ByYHELFBw+HDh9G4ceNgnwYRERERUZU4ePAgMjIyAvJcERs01KxZE4C8mMnJyUE+GyIiIiIi/ygsLETjxo0vrXcDIWKDBrUkKTk5mUEDEREREUWcQJbgsxGaiIiIiIjcYtBARERERERuMWggIiIiIiK3GDQQEREREZFbDBqIiIiIiMgtBg1EREREROQWgwYiIiIiInKLQQMREREREbnFoIGIiIiIiNxi0EBERERERG4xaCAiIiIiIrcYNBARERERkVsMGoiIiIiIyC0GDURERERE5BaDBiIiIiIicotBAxERERERucWggYiIiIiI3GLQQEREREREbjFoICIiIiIitxg0EBERERGRWwwaiIiIiIjILQYNRERERETkVsCChqKiIkybNg3Dhw9HWloabDYbZsyY4fY+ZWVlaNu2LWw2G1544YXAnCgREREREekELGg4efIknnzySWzbtg0dOnTw6D4vv/wyDhw4UMVnRkRERERE7gQsaGjYsCGOHDmC/fv34+9///tljz9+/DiefPJJPPTQQwE4OyIiIiIishKwoCEuLg4NGjTw+Pg//elPaNWqFW688cYqPCsiIiIiIrqc6GCfgJl169bhnXfewffffw+bzRbs0yEiIiIiqtZCLmhQFAX33HMPJk2ahF69emHfvn0e3a+kpAQlJSWX/l1YWFhFZ0hEREREVL2E3JarM2bMwObNm/H88897db/nnnsOKSkplz4aN25cRWdIRERERFS9hFTQUFhYiIcffhgPPPCA14v+hx9+GAUFBZc+Dh48WEVnSURERERUvYRUedILL7yA0tJSTJo06VJZUn5+PgDgzJkz2LdvH9LT0xEbG+ty37i4OMTFxQXydImIiIiIqoWQyjQcOHAAZ86cQU5ODpo1a4ZmzZrhiiuuAAA8++yzaNasGbZu3RrksyQiIiIiql5CKtNw77334pprrtF97vjx47j99ttx66234uqrr0azZs2Cc3JERERERNVUQIOGV155BWfPnsXhw4cBAF988cWl8qN77rkHnTt3RufOnXX3UcuUcnJyXAIKIiIiIiKqegENGl544QXs37//0r8/+eQTfPLJJwCAG2+8ESkpKYE8HSIiIiIi8kBAgwZPZy44y8zMhKIo/j8ZIiIiIiLySEg1QhMRERERUehh0EBERERERG4xaCAiIiIiIrcYNBARERERkVsMGoiIiIiIyC0GDURERERE5BaDBiIiIiIicotBAxERERERucWggYiIiIiI3GLQQEREREREbjFoICIiIiIitxg0EBERERGRWwwaiIiIiIjILQYNRERERETkFoMGIiIiIiJyi0EDERERERG5xaCBiIiIiIjcYtBARERERERuMWggIiIiIiK3GDQQEREREZFbDBqIiIiIiMgtBg1EREREROQWgwYiIiIiInKLQQMREREREbnFoIGIiIiIiNxi0EBERERERG4xaCAiIiIiIrcYNBARERERkVsMGoiIiIiIyC0GDURERERE5BaDBiIiIiIicotBAxERERERucWggYiIiIiI3GLQQEREREREbjFoICIiIiIitxg0EBERERGRWwwaiIiIiIjILQYNRERERETkFoMGIiIiIiJyi0EDERERERG5xaCBiIiIiIjcYtBARERERERuMWggIiIiIiK3GDQQEREREZFbDBqIiIiIiMgtBg1EREREROQWgwYiIiIiInIrYEFDUVERpk2bhuHDhyMtLQ02mw0zZszQHeNwODBjxgyMGTMGjRs3Ro0aNdCuXTs8/fTTKC4uDtSpEhERERGRk4AFDSdPnsSTTz6Jbdu2oUOHDqbHXLhwAb/61a9w4sQJ3HHHHXjppZfQvXt3TJs2DSNGjICiKIE6XSIiIiIi+p/oQD1Rw4YNceTIETRo0ADr169Ht27dXI6JjY3FypUr0bt3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9OnTLsPcbrzxxiCdGRERERFR9RRyjdADBgzAsmXLLG/39HSD0SBCRERERFTV2AgN4Lvvvgv2KRARERERkRN7sE+AiIiIiIhCG4MGIiIiIiJyi0EDERERERG5xaCBiIiIiIjcYtBARERERERuMWggIiIiIiK3GDQQEREREZFbITengYiIiIiIXCkK4HAApaWBf24GDURERERUJRQFqKi4/Ed5uWfHVfYj3J/H4Qje/yWDBiIiIqL/cThCc7EYrs+jKMH+HyV/YdBAREQUptRShVBdMIbKc3jzPBRYdjsQFVW1H9HRVf8cgX6u8+eBzMzA/l8xaCAiooAxLnJDbcEYbs8TzFKF6spuj8xFaDCey24HbLZg/4+Gp9jYwD8ngwYiIjc8rceN5IWpPz+4yA28UFgcRsrzcJFL1RmDBqII449ShXBelPr7eViPG1g2W2gsDiPluezcWJ2I/IRBAwVVVdfjBmphGkqLXwosX+pxw30hWpXPw6u4REShiUGDl8wWuaG0YAy352GpQuCFyuIwEp6LpQpERFRdRHzQMHSo/FL310KXi9zA8qRUIVQXoqG44GWpAhEREfki4oOGtWsD+3xVvXVYKC5Eq/K5eBWXiIiIKPgiPmh47z2gZs3ALHhZqkBEREREkSjig4YxY4Dk5GCfBRERERFR+GKFMxERERERucWggYiIiIiI3GLQQEREREREbjFoICIiIiIitxg0EBERERGRWwwaiIiIiIjILQYNRERERETkFoMGIiIiIiJyi0EDERERERG5xaCBiIiIiIjcYtBARERERERuMWggIiIiIiK3GDQQEREREZFbDBqIiIiIiMgtBg1EREREROQWgwYiIiIiInKLQQMREREREbkVHewTqHL33AMkJABRUa4fjzwCJCfLcQsXAj/+KJ+PjnY99vrrtWM3bgR27NBuMx7fsyeQlCTHHjoEHD6sv935+EaNgLg4OfbiRfkwPnd0NGBnfEdEREREwRH5QcO771rf9sc/aoHAvHnAv/9tfezQodqxs2YBf/+79bGbNwPt2snf//Mf4PHHrY9dswbo0UP+/sorwIMPWh/77bfAwIHa495/v3kwFB0NvPUWcOWVcuwXX8g5mB0bFQU8+ijQv78cu3o18OKL1sfecgvQu7ccu3078Pbb5kFWVBQwZAjQqZMce/iwnIdVUNa+PdCypRxbWAis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IJ4dEREREVH1E3JBw08//YSWLVu6RE3du3cHAGzcuDEIZ0VEREREVH2F3JarR44cQUPn7cP+R/3cYYvJniUlJShx2rO2oKAAgKRviIiIiIgihbq+DWSXQcgFDRcvXkRcXJzL5+Pj4y/dbua5557DE0884fL5xuoQEyIiIiKiCHLq1CmkeDrsspJCLmhISEjQZQxUxf8bAZ9gnET5Pw8//DD+oO53C+Ds2bNo2rQpDhw4ELAXszopLCxE48aNcfDgQTaa+xlf26rD17bq8LWtOnxtqxZf36rD17bqFBQUoEmTJkhLSwvYc4Zc0NCwYUMcOnTI5fNHjhwBAKSrI80N4uLiTDMUKSkpfKNWoeTkZL6+VYSvbdXha1t1+NpWHb62VYuvb9Xha1t17PbAtSeHXCN0x44dsXPnTpdehLVr1166nYiIiIiIAifkgobx48ejoqICb7755qXPlZSU4O2330aPHj3Yo0BEREREFGAhV57Uo0cPTJgwAQ8//DCOHz+OFi1a4J133sG+ffswffp0jx8nLi4O06ZNMy1Zosrj61t1+NpWHb62VYevbdXha1u1+PpWHb62VScYr23ITYQGpOn5sccew/vvv48zZ86gffv2eOqppzBs2LBgnxoRERERUbUTkkEDERERERGFjpDraSAiIiIiotDCoIGIiIiIiNxi0EBERERERG6FdNBQUlKChx56COnp6UhISECPHj2wePFij+576NAhTJw4EampqUhOTsbVV1+NPXv2mB47ffp0tGnTBvHx8cjOzsbLL7/szy8jJPn62n7yySeYNGkSmjdvjsTERLRq1Qp//OMfcfbsWZdjMzMzYbPZXD7uuOOOKviKQouvr+/jjz9u+prFx8ebHs/3ruevrdX70WazITs7W3es1XF//etfq+rLCglFRUWYNm0ahg8fjrS0NNhsNsyYMcPj+589exZTp05F3bp1UaNGDQwcOBAbNmwwPXbevHno3Lkz4uPj0aRJE0ybNg3l5eV++kpCT2Ve22+++Qa//vWv0bJlSyQmJqJ58+a47bbbLg09dTZgwADT9+7w4cP9/BWFjsq8tjNmzLD8fj969KjL8Xzfev7aWr0XbTYbYmJidMdWx/XCDz/8gLvvvhs5OTmoUaMGmjRpgokTJ2Lnzp0e3T8YP29DbstVZ7feeivmzp2L3//+98jOzsaMGTNw1VVX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v8s+s3/9619d9l3evn27EhUVpTz00EOXPnfhwgUlLS1NGTVqlO7+N954o5KYmKicOnXK319WSKjMa3vkyBGlefPmSnp6urJ3717L5zh16pRSXl6u+1xpaanSp08fJTY29tK+z5GoMq/v8ePHXR7v1VdfVQAoL7744qXP8b3r/Wur+uSTTxQAyvTp001vN/s/KCwsVLKyspQ6deq47KsdqdztyX748GFl27ZtSmlp6aXPffjhhy77hp84cUJJTU1VJk2apLt/69atlQ4dOuh+Rjz66KOKzWZTtm7d6v8vJsR4+9oWFRUp3bt3V2rWrKmsX7/e8nELCgqU4uJi3eccDocyadIkBYDy448/+u1rCFXevrZm3+9ffvmlAkC59957dZ/n+9a711a1YcMGBYDy2GOPmT5udV0vlJeXK2PGjFGio6OVL7/80vK4UPp5G7JBg6IoyoQJE5To6GjlgQceUN544w2ld+/eSnR0tLJs2bJLx/Tv318xxj7qL/h69eopf/vb35R//vOfSuPGjZX09HSXHxDqgmz8+PHKW2+9pdx8880KAOWZZ54JyNcYLL6+th06dFAAKA8++KDy3nvv6T4WLVp06bi3335bycrKUh566CHl9ddfV5599lmlXbt2CgDl2WefDdjXGSy+vr4JCQnKrbfeqvzjH/9QXn31VeX6669XbDab0rFjR+X8+fO6Y/ne9e61VV177bVKXFyccvbsWdPbp02bpnTo0EF59NFHlTfffFN54oknlKZNmyo2m015//33q+RrCiUvv/yy8tRTTyl33nmnAkAZN26c8tRTTylPPfXUpdfslltuUQDoLhyUl5crPXv2VJKSkpQnnnhCefXVV5WcnBylZs2ayvbt23XP8cUXXyg2m0258sorlTfffFO59957FbvdrvzmN78J5JcacL6+tldffbUCQPn1r3/t8nP3008/vXTc0qVLlQYNGij33Xef8uqrryovvPCC0qdPHwWAMnXq1AB/tYHl62vbokULZcKECcrzzz+vvP7668rUqVOV6OhopXHjxsrRo0d1z8H3rXevreqPf/yjAsDl54Cquq4Xfve73ykAlNGjR7t8X7/33nuXjguln7chHTRcvHhRuf/++5UGDRoocXFxSrdu3ZSvv/5ad4zV4uDgwYPK+PHjleTkZCUpKUkZNWqUsmvXLtPnefPNN5VWrVopsbGxSlZWlvLPf/5TcTgcVfI1hQpfX1sAlh/9+/e/dNz69euV0aNHK40aNVJiY2OVpKQkpW/fvsqcOXMC8eUFna+v72233aa0bdtWqVmzphITE6O0aNFCeeihh5TCwkLT5+F717ufCwUFBUp8fLwybtw4y8dftGiRMmTIEKVBgwZKTEyMkpqaqgwdOlT55ptv/P61hKKmTZtafo+rv7SsFginT59WpkyZotSuXVtJTExU+vfvbzlp99NPP1U6duyoxMXFKRkZGcqjjz5qepUykvj62rq7X9OmTS8dt2fPHmXChAlKZmamEh8fryQmJipdunRRXn/99Yj/ueDra/vII48oHTt2VFJSUpSYmBilSZMmyp133ukSMKj4vvXuZ0JFRYXSqFEjpXPnzpaPX13XC+rvKasPVSj9vLUpisXIWSIiIiIiIoRwIzQREREREYUGBg1EREREROQWgwYiIiIiInKLQQMREREREbnFoIGIiIiIiNxi0EBERERERG4xaCAiIiIiIrcYNBARERERkVsMGoiIiIiIyC0GDURERERE5BaDBiIiIiIicotBAxERubVy5UrYbDbYbDbMmTPH9Ji1a9ciKSkJNpsNDzzwQIDPkIiIqppNURQl2CdBRESh7eqrr8a8efPQunVr5OXlISoq6tJtO3bsQJ8+fXDq1CnccsstePvtt2Gz2YJ4tkRE5G/MNBAR0WU999xziIqKwvbt2/H+++9f+vzhw4cxbNgwnDp1CqNGjcJ//vMfBgxERBGImQYiIvLIbbfdhunTp6NZs2bYsWMHzp8/j379+mHz5s3o27cvFi1ahISEhGCfJhERVQEGDURE5JFDhw4hOzsbFy9exD//+U98+umnWL58OXJzc7F8+XKkpqYG+xSJiKiKsDyJiIg80qhRI9x7770AgPvuuw/Lly9HZmYmFi5caBowFBUV4fHHH8eoUaPQoEED2Gw23HrrrYE9aSIi8gsGDURE5LF7770Xdrv86khLS8OiRYvQsGFD02NPnjyJJ554Ahs2bEDXrl0DeZpERORn0cE+ASIiCg/l5eW4/fbb4XA4AAAXLlxw28PQsGFD5Ofno1GjRiguLma/AxFRGGOmgYiILktRFNx2222YP38+6tati2bNmqG4uBjTpk2zvE9cXBwaNWoUwLMkIqKqwqCBiIgu68EHH8Q777yDpKQkfPnll3jmmWcAAO+88w62bt0a5LMjIqKqxqCBiIjceuGFF/DCCy8gJiYGn3zyCbp164brrrsO7du3R0VFBR5++OFgnyIREVUxBg1ERGTp3XffxYMPPgibzYYZM2ZgyJAhAACbzYannnoKADBv3jysXLkymKdJRERVjEEDERGZWrBgAaZMmQJFUfDiiy9i8uTJutvHjBmDHj16AAAeeuihYJwiEREFCIMGIiJysXr1akyYMAHl5eV46KGH8Pvf/970OLW3YeXKlfj8888DeIZERBRI3HKViIhc9OrVC+fPn7/scYMGDYKiKAE4IyIiCiZmGoiIiIiIyC1mGoiIqMq88sorOHv2LMrLywEAmzZtwtNPPw0A6NevH/r16xfM0yMiIg/ZFOaViYioimRmZmL//v2mt02bNg2PP/54YE+IiIh8wqCBiIiIiIjcYk8DERERERG5xaCBiIiIiIjcYtBARERERERuMWggIiIiIiK3GDQQEREREZFbDBqIiIiIiMgtBg1EREREROQWgwYiIiIiInKLQQMREREREbnFoIGIiIiIiNxi0EBERERERG4xaCAiIiIiIrf+HzW9petT79HCAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(9,6))\n", + "for epoch in range(n_epochs):\n", + " for i in range(m):\n", + " \n", + " # Plot current model\n", + " if epoch == 0 and i < 10: \n", + " y_predict = X_new_b.dot(theta) \n", + " style = \"b-\" if i > 0 else \"r--\" \n", + " plt.plot(X_new, y_predict, style) \n", + " \n", + " # SGD update\n", + " random_index = np.random.randint(m)\n", + " xi = X_b[random_index:random_index+1]\n", + " yi = y[random_index:random_index+1]\n", + " gradients = 2 * xi.T.dot(xi.dot(theta) - yi)\n", + " alpha = learning_schedule(epoch * m + i) \n", + " theta = theta - alpha * gradients\n", + " theta_path_sgd.append(theta) \n", + "\n", + "plt.plot(X, y, \"b.\") \n", + "plt.xlabel(\"$x_1$\", fontsize=18) \n", + "plt.ylabel(\"$y$\", rotation=0, fontsize=18) \n", + "plt.axis([0, 2, 0, 15]);" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:35.890139Z", + "iopub.status.busy": "2024-01-10T00:19:35.889906Z", + "iopub.status.idle": "2024-01-10T00:19:35.895764Z", + "shell.execute_reply": "2024-01-10T00:19:35.895204Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[4.21076011],\n", + " [2.74856079]])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "theta" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "Use only 50 passes over the data, compared to 1000 for batch gradient descent." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + }, + "tags": [ + "exercise_pointer" + ] + }, + "source": [ + "**Exercises:** *You can now complete Exercise 1 in the exercises associated with this lecture.*" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Mini-batch gradient descent" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "-" + } + }, + "source": [ + "\n", + "Use *mini-batches* of small random sets of instances of training data.\n", + "\n", + "Trades off properties of batch GD and stochastic GD.\n", + "\n", + "Can get a performance boost over SGD by exploiting hardware optimisation for matrix operations, particuarly for GPUs." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Shuffling training data\n", + "\n", + "First step is to randomly shuffle or reorder data-set since do not want to be sensitive to ordering of data (want mini-batch considered to be representative)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + }, + "tags": [ + "exercise_pointer" + ] + }, + "source": [ + "**Exercises:** *You can now complete Exercise 2 in the exercises associated with this lecture.*" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Comparing gradient descent algorithms" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Batch gradient descent (from previous lecture)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:35.899258Z", + "iopub.status.busy": "2024-01-10T00:19:35.898708Z", + "iopub.status.idle": "2024-01-10T00:19:35.905654Z", + "shell.execute_reply": "2024-01-10T00:19:35.905047Z" + } + }, + "outputs": [], + "source": [ + "theta_path_bgd = []\n", + "\n", + "def plot_gradient_descent(theta, alpha, theta_path=None):\n", + " m = len(X_b)\n", + " plt.plot(X, y, \"b.\")\n", + " n_iterations = 1000\n", + " for iteration in range(n_iterations):\n", + " if iteration < 10:\n", + " y_predict = X_new_b.dot(theta)\n", + " style = \"b-\" if iteration > 0 else \"r--\"\n", + " plt.plot(X_new, y_predict, style)\n", + " gradients = 2/m * X_b.T.dot(X_b.dot(theta) - y)\n", + " theta = theta - alpha * gradients\n", + " if theta_path is not None:\n", + " theta_path.append(theta)\n", + " plt.xlabel(\"$x_1$\", fontsize=18)\n", + " plt.axis([0, 2, 0, 15])\n", + " plt.title(r\"$\\alpha = {}$\".format(alpha), fontsize=16)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:35.908611Z", + "iopub.status.busy": "2024-01-10T00:19:35.907981Z", + "iopub.status.idle": "2024-01-10T00:19:36.473185Z", + "shell.execute_reply": "2024-01-10T00:19:36.472575Z" + }, + "slideshow": { + "slide_type": "subslide" + } + }, + "outputs": [ + { + "data": { + "image/png": "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V199FUFBQdi2bRuGDh2Khx56CAMGDEBtbS2WLFni6y4SkYkxQ4jIKOYINRYWVeQT77zzDhYtWgSLxYKsrCyMGTMGAGCxWLB8+XIAwMcff4zc3FxfdpOITIoZQkRGMUeoMbGoIq/77LPPMGvWLEiShNdeew3Tp093+PqkSZOQlJQEAFi8eLEvukhEJsYMISKjmCPU2FhUkVft27cPU6dOxY0bN7B48WLMmzdPs528njk3Nxc7duzwYg+JyMyYIURkFHOEmgJvqU5elZycjKtXr9603ejRoyFJkhd6RET+hBlCREYxR6gp8EwVERERERGRATxTRX5p7dq1KC8vx40bNwAAhw4dwooVKwAAKSkpSElJ8WX3iMjkmCFEZBRzhNQsEs9rkh/q1q0bfv75Z82vZWZmYtmyZd7tEBH5FWYIERnFHCE1FlVEREREREQG8JoqIiIiIiIiA1hUERERERERGcCiioiIiIiIyAAWVURERERERAawqCIiIiIiIjKARRUREREREZEBLKqIiIiIiIgMYFFFRERERERkAIsqIiIiIiIiA1hUERERERERGcCiioiIiIiIyID/B/0XlHzTfb5CAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "np.random.seed(42)\n", + "theta = np.random.randn(2,1) # random initialization\n", + "\n", + "plt.figure(figsize=(10,4))\n", + "plt.subplot(131); plot_gradient_descent(theta, alpha=0.02)\n", + "plt.ylabel(\"$y$\", rotation=0, fontsize=18)\n", + "plt.subplot(132); plot_gradient_descent(theta, alpha=0.1, theta_path=theta_path_bgd)\n", + "plt.subplot(133); plot_gradient_descent(theta, alpha=0.5)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Convert lists to numpy arrays" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:36.476582Z", + "iopub.status.busy": "2024-01-10T00:19:36.475915Z", + "iopub.status.idle": "2024-01-10T00:19:36.482264Z", + "shell.execute_reply": "2024-01-10T00:19:36.481660Z" + } + }, + "outputs": [], + "source": [ + "theta_path_bgd = np.array(theta_path_bgd)\n", + "theta_path_sgd = np.array(theta_path_sgd)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "### Algorithm trajectories" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "execution": { + "iopub.execute_input": "2024-01-10T00:19:36.485127Z", + "iopub.status.busy": "2024-01-10T00:19:36.484696Z", + "iopub.status.idle": "2024-01-10T00:19:36.727779Z", + "shell.execute_reply": "2024-01-10T00:19:36.727175Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(2.5, 4.5, 2.3, 3.9)" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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duzYgeDgYJP2JSIiIqKswwAuu/DxAa5ckfV0hm5Xrsh2duTnn3+Gn58fjh49muYxpRQCAgIwd+5cAEgxA6sL5nTFPlLr27cv8ufPj9OnT2PKlCkpAsUzZ85g0qRJAJAmJVNXhXL06NHYsGFDmuNeunTJYGNuU+iKmyxcuDBFI/qIiAj4+fnprap65swZrFmzJrHyanJbt24FkDYgzOj7ZMjLL7+M9u3bIzo6Gu3bt08MonUSEhKwZcsWk45JREREROZz+Ebe1mZKsz42L87YrFmz8MUXXwAAihQpgldeeQXe3t548uQJLl26hJs3bwIAunfvjuXLlyeuNdu+fTvatGkDNzc3tGjRAkWLFoWTkxN69eqF+vXrAwC2bduGTp06ISYmBlWrVk3RyDshIQE9e/bUO9M2ZcoUjBkzBkopVK1aFbVq1Ups5H3p0iW9jbybNGmSov1BcvoaZd+4cQO1a9fGkydPULJkSbzxxhuIj4/HgQMHkDt3brzzzjtYsmQJxo0bh2+++QYAsGnTJrz33nvw9PRE7dq1Ubp0aSQkJOD8+fO4cuUK3NzcsHnz5sTZM2O/T4YaeT9+/BitW7fG8ePH4ebmlqKR9/nz59nIm4iIiHI8NvJ2AHbbyNtBRUZGqk2bNqmBAweq1157TZUqVUq5uroqT09PVaFCBdW1a1e1c+dOvfv+8ssvqnbt2ip37tyJzaiXLl2aYptLly4pPz+/xOMWKFBANWvWTK1evTrdcR07dkx17dpVlSxZUrm6uqpChQqpWrVqqREjRqRolq1r5N2kSRODx4KBRtk3btxQH374ofLx8VHu7u6qTJky6pNPPlGhoaFq3LhxCoAaN25c4vYhISFq2rRpqnXr1qpcuXIqd+7cKn/+/Kp69epqwIABBpvZZ/R9MjQ+pZSKjY1V8+bNU40aNVIFChRQbm5uqlSpUurtt99WP/30U7rfw+T4u0BERETZkS0aeXMGzkScgSMyHX8XiIiIKDuyxQwc18ARERERERE5CAZwREREREREDoIBHBERERERkYNgAEdEREREROQgGMARERERERE5CAZwREREREREDoIBHBERERERkYNgAEdEREREROQgGMARERERERE5CAZwREREREREDoIBHBERERERkYNgAEdEREREROQgGMARERERERE5CAZwREREREREDoIBHNlc2bJl4eTk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jyUyNAd9+/ZVL1py53ywZ88edT+Og/ozNAfOzs4yadIkeffdd2XlypXy9NNPi42NjYSFhUl5eblGX1OOA6sq4Gp/8Pq+aumaLObOnSthYWHi6ekprVq1En9/f3nhhRf0rpS1bds2CQsLE0dHR7nnnnvktdde0/npobUxJgciIjU1NdKpUyfp16+f3vfIzMyUqKgo6dSpkzg4OIibm5s88sgjsmXLlsY6LIvy6aefyrBhw6RDhw5ib28vrVu3lmHDhsn27ds1+unLQXFxsUyePFnatGkjLi4uMmjQII1PYG/HcaCbMTno3Lmz3vHTuXNndb+cnByJjo6WgIAAcXJyEhcXF7nvvvtk1apVolQqm+hImy9jcsD5wDSM/beI80HjMPQPVxGRvLw8GTNmjHh4eIibm5s88cQTcu7cOZ2vu2bNGunevbs4ODhIUFCQpKam8t8iPQzNQV1/Tw0aNEjdj+Og/gzNwZQpU6RXr17i7u4urVq1kq5du0pSUpKUlpbqfF1TjQMbkXoutUVERERERERmYXWLmBAREREREVkqFnBEREREREQWggUcERERERGRhWABR0REREREZCFYwBEREREREVkIFnBEREREREQWggUcERERERGRhWABR0REREREZCFYwBEREREREVkIFnBEREREREQWggUcERGRHkeOHMGzzz6LLl26wMnJCX5+fnjmmWeQlZVl7tCIiMhK2YiImDsIIiKi5qSmpgYvv/wyli9fDl3TpLu7O77++msMGDDADNEREZE1YwFHRER0G6VSiYkTJyItLQ0A8Mwzz2D8+PHw8PDAjh07kJKSAqVSia5du+LUqVNwdHQ0c8RERGRN7M0dABERUXOSkpKCtLQ02NjY4OOPP0ZcXJx6W3h4OGxtbbFo0SL8/vvv+PLLLxEdHW3GaImIyNrwDBwREdHfTp06hX79+qG6uhqzZs3C0qVLtfoUFxejXbt2UCqViIuLw/r165s+UCIislpcxISIiOhv//3vf1FdXQ0vLy/Mnz9fZx9vb28EBAQAALKzs5suOCIiIrCAIyIiAgD89ttv+N///gcAmDx5Mjw8PPT29fLyAgBcvny5CSIjIiK6hQUcERERgI0bN6pXnJw4cWKdfWtqagAA9va8lZyIiJoWCzgiIiIAmzdvBgAEBQWhT58+dfYtKysDALi6ujZ6XERERLfjR4dERGT18vLy8PvvvwMA7r33Xpw6darO/kVFRQCgvheOiIioqbCAIyIiq5eRkaH+//T0dKSnpxu0X9euXRsrJCIiIp14CSUREVm9EydONGi/e++917SBEBER3QULOCIisnrnzp0DoLqnTUTq/Hr99dfV+w0cOFDjdY4ePYrHH38cXl5ecHV1xcMPP4wtW7Y06bEQEVHLxksoiYjI6l24cAEA4O/vf9e+3377LQCgW7du6NSpk7p93759iIiIgJOTE8aOHQt3d3ds3boVsbGxyMvLQ2JiYuMET0REVoVn4IiIyOpVVFQAANq0aVNnv/z8fBw+fBgAEBsbq25XKBSYOnUqbG1t8cMPP2DNmjV49913cfLkSXTr1g1z5sxRF4lERETGYAFHRERWT6FQAAAcHR3r7PfJJ59ARGBjY4MJEyao2/fu3Yvz589j3LhxCAsLU7d7enpizpw5qKqqwoYNGxoldiIisi4s4IiIyOp16NABAFBaWqq3T2VlJd577z0AwJgxY9CtWzf1tv379wMAhg8frrVfREQEAODAgQOmCpeIiKwYCzgiIrJ6wcHBAIDTp0+jqqpKZ5+FCxeioKAADg4OeOONNzS21S6CUvs6t/Px8YGbm5u6DxERkTFYwBERkdV7/PHHAajuhVu9erXW9k8//RTJyckAgEWLFqFnz54a20tKSgCoLpnUxcPDQ92HiIjIGFyFkoiIrN7IkSMRGBiInJwcJCYm4tq1axg+fDhKS0uRlpamvn8tLi6Oq0kSEZFZ2YiImDsIIiIic/vhhx8QGRmJsrIyrW22traYPXs2UlJSYGurffFKdHQ00tPTkZmZifvuu09ru7u7O1q3bo2LFy82SuxERGQ9eAklERERVA/lPnToEJ5++ml06tQJjo6OCAgIwKRJk3D48GEsWbJEZ/EG3Lr3Tdd9bpcuXUJZWZnO++OIiIjqi5dQEhER/a13797YtGlTvfcbNGgQkpOTsWfPHowdO1Zj2+7du9V9iIiIjMVLKImIiIykUCjQvXt35Ofn46efflI/C66kpAQPPvggcnNz8dtvvyEgIMCscRIRkeVjAUdERGQC+/btQ0REBJycnDB27Fi4u7tj69atuHDhAt555x0ufkJERCbBAo6IiMhEjhw5gnnz5uHHH39EdXU1QkNDMXv2bMTGxpo7NCIiaiFYwBEREREREVkIrkJJRERERERkIVjAERERERERWQgWcERERERERBaCBRwREREREZGFYAFHRERERERkIVjAERERERERWQgWcERERERERBaCBRwREREREZGFYAFHRERERERkIVjAERERERERWQgWcERERERERBaCBRwREREREZGF+H/XqKRgy2aHVAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(10,5))\n", + "plt.plot(theta_path_sgd[:, 0], theta_path_sgd[:, 1], \"r-s\", linewidth=1, label=\"Stochastic\")\n", + "plt.plot(theta_path_bgd[:, 0], theta_path_bgd[:, 1], \"b-o\", linewidth=3, label=\"Batch\")\n", + "plt.legend(loc=\"upper left\", fontsize=16)\n", + "plt.xlabel(r\"$\\theta_0$\", fontsize=20)\n", + "plt.ylabel(r\"$\\theta_1$ \", fontsize=20, rotation=0)\n", + "plt.axis([2.5, 4.5, 2.3, 3.9])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "We finally show the full trajectory for all optimisation methods, including mini-batch gradient descent (computed in exercises)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"trajectories\"" + ] + } + ], + "metadata": { + "celltoolbar": "Slideshow", + "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.8.18" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}