{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Notebook 3: Linear Regression (Diabetes)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Learning Goal \n", "The goal of this notebook is to get hands-on experience and intuition about linear regression and regularization. We once again emphasize the difference between fitting and predicting. We will see that it is much more difficult to get good out-of-sample performance on a test set (predicting) than it is to get good in-sample performance on the training set (fitting).\n", "\n", "## Overview:\n", "\n", "In Notebook 1: __Section II: Machine Learning is difficult__, we explored linear regression in the context of a prediction problem. In this notebook, we'll formally introduce the notion of regression and see how learning and prediction can be improved by introducing regularization. We will focus mainly on simple applications of linear regression: minimizing the mean-square-error (MSE) on the training data (i.e. in-sample error) and see how well we perform on the test data (i.e. out-of-sample error). \n", "\n", "\n", "As we discussed in Sec. II of the review, there is a fundamental difference between minimizing the in-sample error and minimizing the out-of-sample error. The underlying reason for this is that the training data may not be representative of the full data distribution. From a Bayesian point of view, as [David MacKay](http://www.inference.org.uk/mackay/) likes to repeat: We can't make predictions without making assumptions. Thus, it is sensible to introduce priors that reflect the fact that we are likely to be undersampled (especially in high dimensions).\n", "\n", "We'll consider ordinary least squares regression problem in which the \"error function\" is defined as the square from the deviation of our linear predictor to the true response. We will supplement this error function with a regularizer that prevents overfitting. From a Bayesian point of view, the regularization can be thought of as a prior on parameters, see Sec VI.\n", "Minimizing the combined in-sample error + regularization terms is the same as the Maximum a posteriori probability (MAP) estimate in Bayesian regression (the parameters at which the posterior probability distribution is peaked). Note that in a true Bayesian approach, we should not use the mode of the posterior but the average over all possible choices of parameters weighted by their posterior probability. In practice, this is often not done (for computational and practical reasons).\n", "\n", "\n", "\n", "## Least squares linear regression: \n", "\n", "Consider data of the form $(y_i,\\mathbf{x}^{(i)})$ where the index $i=1\\ldots n$ runs over the number of examples in the training data and $\\mathbf{x}^{(i)}$ is a $p$-dimensional feature (row) vector. For notational convenience, it is useful to define the $n \\times p$ design matrix $X$ whose rows, $\\textbf{x}^{(1)},\\cdots, \\textbf{x}^{(n)}$, are the examples and columns, $\\mathbf{X}_{:,1},\\cdots, \\mathbf{X}_{:,p}$, are the measured \"features\" (i.e. feature predictors). We also denote the $n$-dimensional column vector of sample $i$ as $\\mathbf{y}_i$ and the $p$-dimensional column vector of regression parameters $\\mathbf{w}\\in\\mathbb{R}^p$.\n", "\n", "For ordinary least square regression (no regularization), we minimize the square loss cost function:\n", "\n", "$$\n", "\\underset{\\textbf{w}\\in\\mathbb{R}^p}{\\operatorname{min}} ||\\textbf{Xw}-\\textbf{y}||_2^2 = \\underset{\\textbf{w}\\in\\mathbb{R}^p}{\\operatorname{min}} \\,(\\mathbf{Xw}-\\mathbf{y})^T(\\mathbf{Xw}-\\mathbf{y}),\n", "$$\n", "\n", "or equivalently, in component form,\n", "$$\n", "\\underset{\\textbf{w}\\in\\mathbb{R}^p}{\\operatorname{min}} \\sum_{i=1}^n (y_i -\\mathbf{w}\\cdot\\mathbf{x}^{(i)})^2.\n", "$$\n", "\n", "If rank$(\\mathbf{X})=p$, namely, the feature predictors $\\mathbf{X}_{:,1},\\cdots \\mathbf{X}_{:,p}$ are linearly independent, then there exists unique solution to this problem:\n", "\n", "$$\n", "\\hat{\\textbf{w}}= (\\mathbf{X}^T\\mathbf{X})^{-1}\\mathbf{X}^T \\textbf{y}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 1: ### \n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "From Exercise 1, it is clear that the uniqueness of the solution is only guaranteed when rank$(\\mathbf{X})>p$. But even so we still may not want to use least squares if $p$ is moderately close to $n$, because its \"risk\" could be quite poor. One way to deal with this is to regularize.\n", "\n", "We will be concerned with two classes of regularizers: L2-regularization which is often called Ridge-Regression (or Tikhonov regression) and L1-regularization which goes under the name LASSO (and is closely related to Compressed Sensing).\n", "\n", "\n", "## Ridge Regression\n", "In Ridge-Regression, the regularization penalty is taken to be the L2-norm of the parameters\n", "$$\n", "E_{ridge}= \\lambda ||\\textbf{w}||_2^2 = \\lambda \\textbf{w}^T \\textbf{w}=\\lambda \\sum_{\\gamma=1}^p w_\\gamma w_\\gamma.\n", "$$\n", "\n", "Thus, the model is fit by minimizing the sum of the in-sample error and the regularization term\n", "$$\n", "\\mathbf{w}_{ridge}(\\lambda)= \\underset{\\textbf{w}\\in\\mathbb{R}^p}{\\operatorname{argmin}} ||\\mathbf{X}\\textbf{w}-\\textbf{y}||_2^2 + \\lambda ||\\textbf{w}||_2^2.\n", "$$\n", "Notice that the parameter $\\lambda$ controls how much we weigh the fit and regularization term." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 2: ### \n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## LASSO ##\n", "\n", "We will also be interested in the case where the penalty is the L1-norm of the parameters (sum of absolute values of parameters). This is called LASSO.\n", "$$\n", "E_{LASSO}= \\lambda ||\\mathbf{w}||_1 = \\lambda \\sum_{\\gamma=1}^p |w_\\gamma| .\n", "$$\n", "In this case, \n", "$$\n", "\\textbf{w}_{LASSO}(\\lambda)= \\underset{\\textbf{w}\\in\\mathbb{R}^p}{\\operatorname{argmin}} {1 \\over 2n} ||\\mathbf{Xw}-\\mathbf{y}||_2^2 + \\lambda ||\\mathbf{w}||_1.\n", "$$\n", "Note the prefactor $1/(2n)$ in the loss function is not essential to this formulation. We have chosen this form to be consistent with the Scikit-Learn package in Python. As we discussed in the main text, LASSO tends to give sparse solution. In the following we're going to explore these ideas a little bit more.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 3: ### \n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Numerical Experiments with Ridge Regression and LASSO##\n", "\n", "We will now perform some numerical experiments with the Diabetes Dataset trying to predict diabetes outcomes one year forward. More information about this data set can be found at https://archive.ics.uci.edu/ml/datasets/Diabetes. This dataset was described in the famous Least Angle Regression paper by Efron, Hastie, Johnstone, Tibshirani as follows:\n", "
Ten baseline variables, age, sex, body mass index, average blood pressure, and six blood serum measurements were obtained for each of $n = 442$ diabetes patients, as well as the\n", "response of interest, a quantitative measure of disease progression one year after baseline.
\n", "\n", "\n", "We start by plotting the weights for each value of $\\lambda$ for Ridge Regression and LASSO. This is called a regularization path. We also compare the in-sample and out-of-sample performance between two regressions by examining the $R^2$ coefficient of determination (for detailed definition see here). In terms of linear regression, $R^2$ tells us how well the regression function fits the data. The best attainable fit corresponds to $R^2=1$.\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Automatically created module for IPython interactive environment\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from __future__ import print_function\n", "print(__doc__)\n", "\n", "%matplotlib inline\n", "\n", "# This code is modified from plot_cv_diabetes.py in the skit-learn documentation\n", "# and plot_ridge_path.py\n", "\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "#import seaborn\n", "\n", "from sklearn import datasets, linear_model\n", "\n", "# Load Training Data set with 200 examples\n", "\n", "number_examples=200\n", "diabetes = datasets.load_diabetes()\n", "X = diabetes.data[:number_examples]\n", "y = diabetes.target[:number_examples]\n", "\n", "# Set up Lasso and Ridge Regression models\n", "ridge=linear_model.Ridge()\n", "lasso = linear_model.Lasso()\n", "\n", "\n", "# Chooose paths\n", "alphas = np.logspace(-2, 2, 10)\n", "\n", "# To see how well we learn, we partition the dataset into a training set with 150 \n", "# as well as a test set with 50 examples. We record their errors respectively.\n", "\n", "n_samples = 150\n", "n_samples_train = 100\n", "X_train, X_test = X[:n_samples_train], X[n_samples_train:]\n", "y_train, y_test = y[:n_samples_train], y[n_samples_train:]\n", "train_errors_ridge = list()\n", "test_errors_ridge = list()\n", "\n", "train_errors_lasso = list()\n", "test_errors_lasso = list()\n", "\n", "\n", "\n", "# Initialize coeffficients for ridge regression and Lasso\n", "\n", "coefs_ridge = []\n", "coefs_lasso=[]\n", "for a in alphas:\n", " ridge.set_params(alpha=a)\n", " ridge.fit(X_train, y_train)\n", " coefs_ridge.append(ridge.coef_)\n", " \n", " # Use the coefficient of determination R^2 as the performance of prediction.\n", " train_errors_ridge.append(ridge.score(X_train, y_train))\n", " test_errors_ridge.append(ridge.score(X_test, y_test))\n", " \n", " lasso.set_params(alpha=a)\n", " lasso.fit(X_train, y_train)\n", " coefs_lasso.append(lasso.coef_)\n", " train_errors_lasso.append(lasso.score(X_train, y_train))\n", " test_errors_lasso.append(lasso.score(X_test, y_test))\n", " \n", "###############################################################################\n", "# Display results\n", "\n", "# First see how the 10 features we learned scale as we change the regularization parameter\n", "plt.subplot(1,2,1)\n", "plt.semilogx(alphas, np.abs(coefs_ridge))\n", "axes = plt.gca()\n", "#ax.set_xscale('log')\n", "#ax.set_xlim(ax.get_xlim()[::-1]) # reverse axis\n", "plt.xlabel(r'$\\lambda$',fontsize=18)\n", "plt.ylabel('$|w_i|$',fontsize=18)\n", "plt.title('Ridge')\n", "#plt.savefig(\"Ridge_sparsity_scale.pdf.pdf\")\n", "\n", "\n", "\n", "plt.subplot(1,2,2)\n", "plt.semilogx(alphas, np.abs(coefs_lasso))\n", "axes = plt.gca()\n", "#ax.set_xscale('log')\n", "#ax.set_xlim(ax.get_xlim()[::-1]) # reverse axis\n", "plt.xlabel(r'$\\lambda$',fontsize=18)\n", "#plt.ylabel('$|\\mathbf{w}|$',fontsize=18)\n", "plt.title('LASSO')\n", "#plt.savefig(\"LASSO_sparsity_scale.pdf\")\n", "plt.show()\n", "\n", "\n", "\n", "# Plot our performance on both the training and test data\n", "plt.semilogx(alphas, train_errors_ridge, 'b',label='Train (Ridge)')\n", "plt.semilogx(alphas, test_errors_ridge, '--b',label='Test (Ridge)')\n", "plt.semilogx(alphas, train_errors_lasso, 'g',label='Train (LASSO)')\n", "plt.semilogx(alphas, test_errors_lasso, '--g',label='Test (LASSO)')\n", "#plt.vlines(alpha_optim, plt.ylim()[0], np.max(test_errors), color='k',\n", "# linewidth=3, label='Optimum on test')\n", "plt.legend(loc='upper right')\n", "plt.ylim([-0.01, 1.0])\n", "plt.xlabel(r'$\\lambda$',fontsize=18)\n", "plt.ylabel('Performance')\n", "#plt.savefig(\"Ridge_LASSO_sparsity_performance.pdf\")\n", "plt.show()\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 4: ### \n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## A brief note about convexity##\n", "\n", "In Sec. VI of the review, we briefly discussed convexity. Here's a quick refresher: Recall that a set $C\\subseteq\\mathbb{R}^n$ is called convex if any $x,y\\in C$ and $t\\in [0,1]$, \n", "$$\n", "tx+(1-t)x \\in C.\n", "$$\n", "In other words, every line segments joining $x,y$ lies entirely in $C$. \n", "\n", "A function $f:\\mathbb{R}^n\\rightarrow \\mathbb{R}$ is called convex if its domain dom$(f)$ is a convex set and for any $x,y\\in$dom$(f)$ and $t\\in [0,1]$, \n", "\n", "$$\n", "f(tx+(1-t)y)\\le tf(x)+(1-t)f(y).\n", "$$\n", "In other words, the function lies below the line segment joining $f(x)$ and $f(y)$. This function $f$ is called strictly convex if this inequality holds strictly for $x\\neq y$ and $t\\in(0,1)$. \n", "\n", "Why is convexity important? For convex functions, any local minimizer is a global minimizer. Algorithmically, this means that in the minimization (optimization) procedure, as long as we're \"going down the hill\" and agree to stop when we can't go any further, then we've hit the global minimum. In addition to this, there's a menagerie of beautiful theory regarding convex duality and optimality, which gives us a way of understanding the solutions even before solving the problem itself. We refer interested readers to Boyd and Vandenberghe book on Convex Optimization.\n", "\n", "\n", "Coming back to our regularization examples, a simple inspection reveals that both LASSO and Ridge regression are convex in $w$. What's more, Ridge is actually a strictly convex problem (assuming $\\lambda>0$) due to presence of L2 penality. In fact, this is always true regardless of $X$ and so the ridge regression solution you worked out (presumably) in Exercise 2 is always well-defined.\n", "\n", "In contrast, LASSO is not always strictly convex and hence by convexity\n", "theory, it need not have a unique solution. The LASSO solution is unique under general conditions, for example, when $X$ has columns in general position (see Tibshirani 2013). To mitigate this, one can define a modified problem called the elastic net such that the function we want to minimize is always strictly convex:\n", "\n", "$$\n", "\\underset{\\mathbf{w}\\in\\mathbb{R}^p}{\\operatorname{min}} ||\\mathbf{Xw}-\\mathbf{y}||_2^2 + \\lambda ||\\mathbf{w}||_1 + \\delta||\\mathbf{w}||_2^2,\n", "$$\n", "where $\\lambda,\\delta\\ge 0$ are regularization parameters. Now aside from uniqueness of the solution, the elastic net combines some of the desirable properties (e.g. prediction) of ridge regression with the sparsity properties of the LASSO. In the following exercise, you're going to explore a little bit about elastic net." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 4: ### \n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### End-of-notebook questions ### \n", "" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python mlreview", "language": "python", "name": "mlreview" }, "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.6.6" } }, "nbformat": 4, "nbformat_minor": 1 }