{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# MATH60629A\n", "# Week \\#2 - Machine Learning Fundamentals - Exercises\n", "\n", "This tutorial will focus on three important aspects of machine learning (ML), namely\n", "1. the capacity of models, \n", "2. the notions of bias and variance of an estimator, as well as\n", "3. a brief introduction to validation. \n", "\n", "The goal is to develop basic intuition of these concepts through a series of short exercises." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from matplotlib.pyplot import cm\n", "\n", "from sklearn.model_selection import train_test_split\n", "\n", "import warnings\n", "warnings.filterwarnings(\"ignore\")\n", "\n", "#!rm -rf 80-629\n", "#!git clone https://github.com/lcharlin/80-629/\n", "#import sys\n", "#sys.path += ['80-629/week2-Fundamentals/']\n", "\n", "# We import several home functions in order to create graphics\n", "from utilities import scatter_plot, plot_polynomial_curves, \\\n", " plot_optimal_curve, train_poly_and_see, MSE\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.1 Model capacity\n", "\n", "Informally, the capacity of a model can be defined as the number of functions a model can fit. Lower-capacity models can perfectly fit (i.e. obtain 0 train error) fewer functions than higher-capacity models. \n", "\n", "Higher-capacity models are generally more prone to **overfitting**. Overfitting occurs when the gap between the test and training error is large, or in other words, when models memorize properties of the training set that are not useful for (i.e. do not generalize to) performing predictions on a test set.\n", "\n", "Intuitively, when two models fit the training data equally well, usually the model with less capacity will generalize better, i.e. have lower test error. Thus, as rule of thumb we prefer simpler decision rules over more complex ones. (Extra: this is a good illustration of https://en.wikipedia.org/wiki/Occam%27s_razor)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.1.1 Data generation\n", "\n", "Let's first simulate some data! In this section, every observation $y$ is generated according to the following model:\n", "\n", "$$ y = x \\cos(x / \\gamma) + \\epsilon$$\n", "\n", "where $y \\in \\mathbb{R}$ is the output, $x \\in \\mathbb{R}$ are the features, $\\gamma$ is the period of the cosine function and $\\epsilon$ is the random noise such as $\\epsilon \\sim \\mathcal{N}(0, \\sigma^2)$ where $\\sigma$ is defined by YOU." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def data_simulation(sample_size, scale, period, variance):\n", " \n", " x = np.random.uniform(-scale, scale, sample_size)\n", " x.sort()\n", " noise = np.random.normal(0, variance, sample_size)\n", " y = x * np.cos(x / period) + noise\n", " \n", " return x, y" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Whenever it is possible, it is always a good idea to visualize the data (in order to get some intuition about them). \n", "\n", "**Question**: Vary the parameters (*variance*, *scale* and *period*) to see how they affect the plot." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sample_size = 300\n", "variance = 10 # Variance of the Gaussian noise\n", "scale = 100 # Range\n", "period = 6 # Simulation are based on cosine function (see data_simulation function)\n", "\n", "x_train, y_train = data_simulation(int(.7*sample_size), scale, period, variance)\n", "x_test, y_test = data_simulation(int(.3*sample_size), scale, period, variance)\n", "\n", "# The scatter_plot function is in the utilities script\n", "plt = scatter_plot(x_train, x_test, y_train, y_test) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.1.2 Getting - visual - intuition about models' capacity\n", "\n", "As seen in class (Slide 38 for example), the higher is the capacity of the model, the better it will fit the training data set (again be cautious, fitting the training data well does not necessarily lead to good generalization). \n", "\n", "Here, we use [polynomial regression](https://en.wikipedia.org/wiki/Polynomial_regression) to fit the training set (don't worry, the purpose of the tutorial is not to understand polynomial regression). Note, however, that the greater is the polynomial degree, the higher is the model capacity. \n", "\n", "**Questions**: \n", "1. Observe how the fitted curve behave with respect to their polynomial degree. \n", "2. Would you prefer to fit the data points with polynomial regression of degree 20 or 50?\n", "3. Which of these curves should have the best generalization error?" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Polynomial degre: 0 | MSE train: 2036.6386 | MSE test: 2176.3697\n", "Polynomial degre: 1 | MSE train: 1826.2082 | MSE test: 1764.3871\n", "Polynomial degre: 3 | MSE train: 1484.2693 | MSE test: 1628.5847\n", "Polynomial degre: 5 | MSE train: 1214.2249 | MSE test: 1370.8509\n", "Polynomial degre: 10 | MSE train: 953.3151 | MSE test: 1010.6408\n", "Polynomial degre: 20 | MSE train: 105.0699 | MSE test: 78.7335\n", "Polynomial degre: 150 | MSE train: 91.4973 | MSE test: 2153.3594\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Polynomial degree of the fitted curve: higher degree == higher capacity\n", "degree = [0, 1, 3, 5, 10, 20, 50] \n", "plot_polynomial_curves(x_train, x_test, y_train, y_test, degree, scale)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.1.3 Sample size and models' capacity\n", "\n", "In the previous section, we discussed model capacity.\n", "\n", "Now we study the behavior of the polynomial regressors and examine how they perform when the sample size increases (as presented on Slide 40 also Figure 5.4 of the Deep Learning book).\n", "\n", "Specificaly, we study the behavior of the cubic polynomial regression and the optimal polynomial regression (which minimize the MSE on the test set). \n", "\n", "**Question**: Do the following curves behave as expected?" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Sample size of the training set that we want to study\n", "sample_size = [10, 10**2, 10**3, 10**4, 10**5, 10**6] \n", "variance = 20\n", "\n", "H_train, H_test, optimal_train, optimal_test, optimal_degree \\\n", " = train_poly_and_see(sample_size, scale, period, variance, degree)\n", "\n", "plot_optimal_curve(optimal_train, optimal_test, H_train, H_test, optimal_degree)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 1.2 Bias and variance of estimators\n", "\n", "We will now explore some properties of the bias and the variance of well-known estimators." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Linear models for regression\n", "\n", "The polynomial curve fitting problem encountered previously is an instance of a broader class of models called linear models. More specifically, it is a linear regression task, where the goal is to predict a value of one or more continuous target variables given the values of some input variables. \n", "\n", "Linear models share the property of **being a linear function of the adjustable parameters** (polynomial coefficients in case of polynomial models). This simple form of linear regression models are also linear functions of the input variables. Linear models have been studied in depth by statisticians in the last century and their theory is well understood. \n", "\n", "In addition we hypothesize that our loss function is the squared error (i.e. ( $\\sum_{i=0}^n (y_i-\\hat{y}_i)^2$ ). We will study some properties of this model and loss function. \n", "\n", "A linear regression model fitted with a squared error is also known as an ordinary least square (OLS) regression.\n", "\n", "First, let's simulate some data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.2.1 Data simulation\n", "\n", "In this section, every observation $y$ is generated according to the following model:\n", "\n", "$$ y = \\bf{x}^\\top \\bf{w} + \\epsilon$$\n", "\n", "where $y \\in \\mathbb{R}$ is the output, $\\bf{x}$ is the vector of covariates, $\\bf{w}$ is the vector of the associated weights and $\\epsilon$ is the random noise such as $\\epsilon \\sim \\mathcal{N}(0,1)$." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "def data_simulation(sample_size, w_0, w_1):\n", " \n", " x = np.random.uniform(-1, 10, sample_size)\n", " x.sort()\n", " noise = np.random.normal(0, 1, sample_size)\n", " y = w_0 + w_1 * x + noise\n", " \n", " return x, y" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given the above generative model, we can sample the data and visualize it." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "w_0, w_1 = 2, 3 # Fix w values\n", "sample_size = 500 # Fix the sample size - train\n", "\n", "X, y = data_simulation(sample_size, w_0, w_1)\n", "X = [np.ones(len(y)), X]\n", "X = np.asarray(X ).T\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)\n", "scatter_plot(X_train[:, 1], X_test [:, 1], y_train, y_test) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.2.2 The OLS estimators\n", "\n", "**Questions**: \n", "1. Given the expression of the least squares estimators presented on Slide 31 of the course, complete the OLS function below to obtain the least squares estimators. As a reminder, these estimators are defined as follows:\n", "\n", "$$ \\hat{\\bf{w}}^{\\text{OLS}} := (\\bf{X}^\\top \\bf{X})^{-1} \\bf{X}^\\top \\bf{y}$$\n", "\n", "where $\\bf{X}$ is the [design matrix](https://en.wikipedia.org/wiki/Design_matrix#:~:text=In%20statistics%2C%20a%20design%20matrix,specific%20values%20for%20that%20object.) and $\\bf{y}$ is the output vector.\n", "\n", "2. Derive the estimators associated with the previously simulated data.\n", "\n", "*Remark*: Do not forget to calculate the intercept $\\bf{w}_0$. This being said and according to the above OLS function, simply fill the first column of the design matrix with ones as suggested [here](https://en.wikipedia.org/wiki/Design_matrix#:~:text=In%20statistics%2C%20a%20design%20matrix,specific%20values%20for%20that%20object.)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Answer**:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def OLS(X, y): \n", " \"\"\"\n", " X: design matrix\n", " y: output vector\n", " \n", " return: array of weights\n", " \"\"\"\n", " \n", " A = np.linalg.inv(np.dot(X.T, X)) # (X^T * X)^-1\n", " B = np.dot(X.T, y) # (X^T * y)\n", " \n", " return (...)\n", "\n", "w_ols = OLS(X_train, y_train)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Question**: Make predictions on training and test sets and compute the associated MSE. are the results obtained those hoped for?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Answer**:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Train set\n", "y_hat_train = (...)\n", "\n", "# Test set\n", "y_hat_test = (...)\n", "\n", "print('MSE of the train: ', MSE(y_hat_train, y_train))\n", "print('MSE of the test: ', MSE(y_hat_test, y_test))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 1.2.2.1 Bias of the OLS estimators\n", "\n", "**Question**: Calculate the bias of the estimators." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Answer**:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bias = (...) # bias[0] should be the bias of w_0, and bias[1] should be the bias of w_1\n", "\n", "print(\"Bias of w_0: \", bias[0]) # Bias of w_0\n", "print(\"Bias of the w_1: \", bias[1]) # Bias of w_1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Question**: Does it make sense?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Answer**: Indeed! Since the OLS estimator in the contexrt of a linear regression unbiased:\n", "\n", "\\begin{align}\n", " \\mathbb{E}[\\hat{\\bf{w}}^{\\text{OLS}}] \n", " &= \\mathbb{E}[(\\bf{X}^\\top \\bf{X})^{-1} \\bf{X}^\\top \\bf{y}] \\\\\n", " &= (\\bf{X}^\\top \\bf{X})^{-1} \\bf{X}^\\top \\mathbb{E}[\\bf{y}] \\\\\n", " &= (\\bf{X}^\\top \\bf{X})^{-1} \\bf{X}^\\top \\mathbb{E}[\\bf{X} \\bf{w} + \\bf{\\epsilon}] \\\\\n", " &= (\\bf{X}^\\top \\bf{X})^{-1} \\bf{X}^\\top \\{ \\mathbb{E}[\\bf{X} \\bf{w}] + \\mathbb{E}[\\bf{\\epsilon}] \\} \\\\\n", " &= (\\bf{X}^\\top \\bf{X})^{-1} \\bf{X}^\\top \\{ \\bf{X} \\bf{w} + \\bf{O} \\} \\\\\n", " &= (\\bf{X}^\\top \\bf{X})^{-1} \\bf{X}^\\top \\bf{X} \\bf{w} \\\\\n", " &= \\bf{w}\n", "\\end{align}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Question**: How could we reduce the observed bias of the OLS estimators?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Answer**: " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 1.2.2.2 Variance of the OLS estimators (skip if you are short on time) \n", "\n", "The OLS estimators calculated in the last section have no fixed values and are actually [random variables](https://en.wikipedia.org/wiki/Random_variable). It follows that these estimators have variance. This variance can be estimated in several ways. In this tutorial, we propose to estimate the variance of the OLS estimators in two different ways. The first approach use [Monte Carlo methods](https://en.wikipedia.org/wiki/Monte_Carlo_method#Use_in_mathematics) and the second one simply use [theoretical properties of the variance](https://en.wikipedia.org/wiki/Variance#Properties).\n", "\n", "\n", "#### Monte Carlo methods\n", "\n", "Don't be intimidated by the name, basic Monte Carlo methods are rather simple! As far as we are concerned, we can compute the variance of the OLS estimators in 4 easy steps." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Question**: Complete the code below according to the commentaries." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Answer**:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'np' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mmc_estimates\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m10000\u001b[0m \u001b[0;31m# Fix the number of Monte Carlo estimates that you want to run\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0mM\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzeros\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmc_estimates\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# Initialize a matrix where you will store the estimators\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0;31m# Step 1: Create a for loop\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'np' is not defined" ] } ], "source": [ "# The intuition behind this procedure is that we will reestimate the parameters (estimators) \n", "# using multiple different data sets. Each dataset is sampled from the same distribution. \n", "# We can then obtain the estimator variance empirically from these multiple estimators.\n", "\n", "mc_estimates = 10000 # Fix the number of Monte Carlo estimates that you want to run\n", "M = np.zeros((mc_estimates, 2)) # Initialize a matrix where you will store the estimators\n", "\n", "# Step 1: Create a for loop \n", "for k in np.arange(mc_estimates):\n", " \n", " # Step 2: Data simulation\n", " x, y = (...)\n", " \n", " X = [np.ones(len(y)), x] \n", " X = np.asarray(X).T\n", " \n", " # Step 3: OLS estimates\n", " w_ols = (...)\n", " M[k, :] = w_ols # Store the estimators\n", " \n", "# Step 4: Compute the variance of w_0 and w_1 (hint: np.var)\n", "var = (...)\n", "\n", "print(\"MC estimate of the variance of the w_0 estimate: \", (...)) # Variance of w_0\n", "print(\"MC estimate of the variance of the w_1 estimate: \", (...)) # Variance of w_1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Analytical approach\n", "\n", "In cases where we cannot compute the MC estimators, we can sometimes derive the analytical expression of the variance of the estimators. Indeed, the variance of the OLS is:\n", "\n", "\\begin{align}\n", " \\text{Var}(\\hat{\\bf{w}}^{\\text{OLS}}) \n", " &= \\text{Var}\\left((\\bf{X}^\\top \\bf{X})^{-1} \\bf{X}^\\top \\bf{y}\\right) && \\text{Definition of the OLS estimators} \\\\\n", " &= (\\bf{X}^\\top \\bf{X})^{-1} \\bf{X}^\\top \\text{Var} (\\bf{y})\\left((\\bf{X}^\\top \\bf{X})^{-1} \\bf{X}^\\top \\right)^\\top && \\text{Property of the variance on matrices} \\\\\n", " &= (\\bf{X}^\\top \\bf{X})^{-1} \\bf{X}^\\top \\text{Var} (\\bf{y}) \\bf{X}\\left((\\bf{X}^\\top \\bf{X})^{-1} \\right)^\\top && \\text{Property of the transpose} \\\\\n", " &= (\\bf{X}^\\top \\bf{X})^{-1} \\bf{X}^\\top \\text{Var}(\\bf{X} \\bf{w} + \\bf{\\epsilon}) \\ \\bf{X}\\left((\\bf{X}^\\top \\bf{X})^{-1} \\right)^\\top && \\text{Modelization of the data}\\\\\n", " &= (\\bf{X}^\\top \\bf{X})^{-1} \\bf{X}^\\top \\text{Var}(\\bf{\\epsilon}) \\ \\bf{X}\\left((\\bf{X}^\\top \\bf{X})^{-1} \\right)^\\top && \\text{Property of the variance (only $\\epsilon$ is a random variable)} \\\\\n", " &= (\\bf{X}^\\top \\bf{X})^{-1} \\bf{X}^\\top \\bf{I} \\ \\bf{X}\\left((\\bf{X}^\\top \\bf{X})^{-1} \\right)^\\top && \\text{Since $\\epsilon$ is iid}\\\\\n", " &= (\\bf{X}^\\top \\bf{X})^{-1} \\bf{X}^\\top \\bf{X}\\left((\\bf{X}^\\top \\bf{X})^{-1} \\right)^\\top \\\\\n", " &= \\left((\\bf{X}^\\top \\bf{X})^{-1} \\right)^\\top \\\\\n", " &= (\\bf{X}^\\top \\bf{X})^{-1} && \\text{Since $\\bf{X}^\\top \\bf{X}$ is symetric and by property of the inverse of a matrix}\n", "\\end{align}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Question**: Compute the variance of the OLS estimators according to the above expression." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Answer**:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Computation\n", "var = (...)\n", "\n", "# Interest\n", "print(\"Analytical variance of the w_0 estimate: \", (...)) \n", "print(\"Analytical variance of the w_1 estimate: \", (...)) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Question**: Do the last results make sense given the MC estimates previously calculated?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Answer**: Yes! The analytical estimates of the variance of the OLS estimators are approximately the same as those obtained by MC methods." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.2.3 OLS estimators with L2-Regularization\n", "\n", "As pointed out in Slide 45, we can add an L$_2$ regularization on the weights of the linear model defined in Section 1.1. The associated estimators are known as the [Ridge or Tikhonov estimator](https://en.wikipedia.org/wiki/Tikhonov_regularization) and are defined as\n", "\n", "$$ \\hat{w}^{\\text{ridge}} := (\\bf{X}^\\top \\bf{X} + \\lambda \\bf{I})^{-1} \\bf{X}^\\top \\bf{y}$$\n", "\n", "where $\\lambda$ is a hyperparameter (see Slides 45 and 46) which control the model's capacity. \n", "\n", "**Question**: Given the above expression, complete the ridge function below to obtain the ridge estimators." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Answer**:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def ridge(X, y, lambda_hp):\n", " \n", " \"\"\"\n", " X: design matrix\n", " y: output vector\n", " lambda_hp: hyper parameter\n", " \n", " return: array of weights\n", " \"\"\"\n", " \n", " return (...)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Question**: Compute the ridge estimators for different values of $\\lambda$. But first, try to understand how the ridge estimator will behave according to these 3 scenarios:\n", "\n", "1. For $\\lambda = 0$. \n", "2. For $\\lambda = 10^{10}$.\n", "3. How the estimators generally behave according to $\\lambda$? " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Answers**:\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": true }, "outputs": [], "source": [ "lambda_hp = 10**3\n", "w_ridge = ridge(X_train, y_train, lambda_hp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Question**: Make predictions on the training and test sets. Are these predictions better than the predictions made by the OLS estimators?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Answer**:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Train set\n", "y_hat_train = (...)\n", "\n", "# Test set\n", "y_hat_test = (...)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 1.2.3.1 Bias of the ridge estimators\n", "\n", "**Question**: Calculate the bias of the estimators." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Answer**:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bias = (...)\n", "\n", "print(\"Bias of w_0: \", bias[0]) # Bias of w_0\n", "print(\"Bias of the w_1: \", bias[1]) # Bias of w_1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Question**: Compare the bias of the ridge estimators with those of the OLS. Does it make sense?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Answer**: We can see that the Rigde estimators are biased. \n", "\n", "\\begin{align}\n", " \\mathbb{E}[\\hat{\\bf{w}}^{\\text{ridge}}] \n", " &= \\mathbb{E}[(\\bf{X}^\\top \\bf{X} + \\lambda \\bf{I})^{-1} \\bf{X}^\\top \\bf{y}] \\\\\n", " &= (\\bf{X}^\\top \\bf{X} + \\lambda \\bf{I})^{-1} \\bf{X}^\\top \\mathbb{E}[\\bf{y}] \\\\\n", " &= (\\bf{X}^\\top \\bf{X} + \\lambda \\bf{I})^{-1} \\bf{X}^\\top \\mathbb{E}[\\bf{X} \\bf{w} + \\bf{\\epsilon}] \\\\\n", " &= (\\bf{X}^\\top \\bf{X} + \\lambda \\bf{I})^{-1} \\bf{X}^\\top \\{ \\mathbb{E}[\\bf{X} \\bf{w}] + \\mathbb{E}[\\bf{\\epsilon}] \\} \\\\\n", " &= (\\bf{X}^\\top \\bf{X} + \\lambda \\bf{I})^{-1} \\bf{X}^\\top \\{ \\bf{X} \\bf{w} + \\bf{O} \\} \\\\\n", " &= (\\bf{X}^\\top \\bf{X} + \\lambda \\bf{I})^{-1} \\bf{X}^\\top \\bf{X} \\bf{w} \\\\\n", " &= (\\bf{X}^\\top \\bf{X} + \\lambda \\bf{I})^{-1} (\\bf{X}^\\top \\bf{X} + \\lambda \\bf{I} - \\lambda \\bf{I} ) \\bf{w} \\\\\n", " &= (\\bf{X}^\\top \\bf{X} + \\lambda \\bf{I})^{-1} (\\bf{X}^\\top \\bf{X} + \\lambda \\bf{I}) \\bf{w} - (\\bf{X}^\\top \\bf{X} + \\lambda \\bf{I})^{-1}\\lambda \\bf{I} \\bf{w} \\\\\n", " &= \\bf{w} - \\lambda (\\bf{X}^\\top \\bf{X} + \\lambda \\bf{I})^{-1} \\bf{w}.\n", "\\end{align}\n", "\n", "Hence, the bias of the ridge estimator is:\n", "$$ \\text{Bias}(\\hat{\\bf{w}}^{\\text{ridge}}) = - \\lambda (\\bf{X}^\\top \\bf{X} + \\lambda \\bf{I})^{-1} \\bf{w} $$\n", "\n", "Note that under classical assumption, its empirical bias is always greater than the one associated to the OLS estimator." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Remark**: One question remains: how can choose the hyper parameter value $\\lambda$ of the ridge estimator? The following section will suggest an answer." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.3 Validation - Getting the optimal value of hyperparameters\n", "\n", "Validation can be used (among other techniques) in order to perform model selection and hyperparameter selection. \n", "\n", "The first step is to split the train set into a (smaller) train set and validation set as shown on Slide 49 of the course. \n", "\n", "In Python, we will mostly use the train_test_split function from the [Scikit-learn library](https://scikit-learn.org/) to perform data splitting." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "X_sub_train, X_validation, y_sub_train, y_validation = \\\n", " train_test_split(X_train, y_train, test_size=0.2, random_state=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now study the performance (according to the MSE) of the ridge estimators given a grid of hyperparameter values. \n", "\n", "**Question**: Complete the validation procedure below. " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "losses_stack_sub_train, losses_stack_train = [], []\n", "losses_stack_validation, losses_stack_test = [], []\n", "\n", "for lambda_hp in np.arange(0, 100, 1):\n", " \n", " # Learn the associated parameters (w) associated with the specifc lambda \n", " # (hint: remember your ridge functions)\n", " w_ridge_cv = (...)\n", " \n", " # Make prediction for the sub_train set and the validation set\n", " y_hat_sub_train = (...)\n", " y_hat_validation = (...)\n", " \n", " # Stacking (the appropriate) statistics\n", " losses_stack_sub_train.append(MSE(y_sub_train, y_hat_sub_train))\n", " losses_stack_validation.append(MSE(y_validation, y_hat_validation))\n", " \n", " # Pay attention to the following steps !!!\n", " # why should we train the model on the COMPLETE train set?\n", " w_ridge = ridge(X_train, y_train, lambda_hp)\n", " y_hat_train = np.dot(X_train, w_ridge)\n", " y_hat_test = np.dot(X_test, w_ridge)\n", "\n", " losses_stack_train.append(MSE(y_train, y_hat_train))\n", " losses_stack_test.append(MSE(y_test, y_hat_test))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can select to optimal hyperparameter $\\lambda$. The optimal value will minimize the loss function on the validation set. Note that the selection of the optimal hyper parameter will never be based on the its behavior on the test set!" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": true }, "outputs": [], "source": [ "cmap = plt.get_cmap(\"tab10\")\n", "\n", "plt.plot(losses_stack_test, label='Test', color=cmap(2))\n", "plt.plot(losses_stack_validation, label='Validation', color=cmap(0))\n", "plt.plot(losses_stack_sub_train, label='Training', color=cmap(1))\n", "\n", "plt.axvline(x=np.argmin(losses_stack_validation),color='red', label='Optimal regularization')\n", "\n", "plt.xlabel('$\\lambda$ regularization')\n", "plt.ylabel('MSE')\n", "leg = plt.gca().legend(loc='center left', bbox_to_anchor=(1, .8))\n", "leg.get_frame().set_alpha(0)\n", "print('The optimal regularization is', np.argmin(losses_stack_validation))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "After all this work, it could be interesting to compare the ridge estimator to the OLS estimator on the test set." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": true }, "outputs": [], "source": [ "print('TRAIN: OLS estimators: ', losses_stack_train[0])\n", "print('TRAIN: ridge estimators: ', losses_stack_train[np.argmin(losses_stack_validation)])\n", "\n", "print('\\nTEST: OLS estimators: ', losses_stack_test[0])\n", "print('TEST: ridge estimators: ', losses_stack_test[np.argmin(losses_stack_validation)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.4 Take home messages - Final remarks\n", "\n", "1. Model with high capacity don't necessarily have a lower generalization error.\n", "2. An unbiased estimator (OLS vs Ridge) doesn't necessarily have a lower generalization error.\n", "3. In the specific case where the loss function is based on the MSE, we can decompose the generalization error with respect to the bias and the variance of the associated estimators.\n", "4. Validation procedure is very useful! Be sure to understand the code snippet in Section 1.3!" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 4 }