Files
FYS-STK4155/doc/LectureNotes/_build/jupyter_execute/week35.ipynb
T
Morten Hjorth-Jensen 7f3ecb7bb7 small update
2023-09-03 14:22:23 +02:00

6905 lines
642 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"cells": [
{
"cell_type": "markdown",
"id": "82630256",
"metadata": {
"editable": true
},
"source": [
"<!-- HTML file automatically generated from DocOnce source (https://github.com/doconce/doconce/)\n",
"doconce format html week35.do.txt --no_mako -->\n",
"<!-- dom:TITLE: Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression -->"
]
},
{
"cell_type": "markdown",
"id": "342c9c77",
"metadata": {
"editable": true
},
"source": [
"# Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression\n",
"**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n",
"\n",
"Date: **August 28-September 1**"
]
},
{
"cell_type": "markdown",
"id": "8d89c4f2",
"metadata": {
"editable": true
},
"source": [
"## Plans for week 35\n",
"\n",
"The main topics are:\n",
"\n",
"1. Brief repetition from last week\n",
"\n",
"2. Derivation of the equations for ordinary least squares\n",
"\n",
"3. Discussion on how to prepare data and examples of applications of linear regression\n",
"\n",
"4. Material for the lecture on Thursday: Mathematical interpretations of linear regression\n",
"\n",
"5. Thursday: Ridge and Lasso regression and Singular Value Decomposition\n",
"\n",
"6. [Video of lecture](https://youtu.be/qBNm-HGSxL4)\n",
"\n",
"7. [Whiteboard notes](https://github.com/CompPhysics/MachineLearning/blob/master/doc/HandWrittenNotes/2023/NotesAug31.pdf)"
]
},
{
"cell_type": "markdown",
"id": "4dc0b391",
"metadata": {
"editable": true
},
"source": [
"### Reading recommendations:\n",
"\n",
"1. See lecture notes for week 35 at <https://compphysics.github.io/MachineLearning/doc/web/course.html>\n",
"\n",
"2. Goodfellow, Bengio and Courville, Deep Learning, chapter 2 on linear algebra and sections 3.1-3.10 on elements of statistics (background)\n",
"\n",
"3. Hastie, Tibshirani and Friedman, The elements of statistical learning, sections 3.1-3.4 (on relevance for the discussion of linear regression)."
]
},
{
"cell_type": "markdown",
"id": "22518518",
"metadata": {
"editable": true
},
"source": [
"## Why Linear Regression (aka Ordinary Least Squares and family), repeat from last week\n",
"\n",
"We need first a reminder from last week about linear regression. \n",
"\n",
"Fitting a continuous function with linear parameterization in terms of the parameters $\\boldsymbol{\\beta}$.\n",
"* Method of choice for fitting a continuous function!\n",
"\n",
"* Gives an excellent introduction to central Machine Learning features with **understandable pedagogical** links to other methods like **Neural Networks**, **Support Vector Machines** etc\n",
"\n",
"* Analytical expression for the fitting parameters $\\boldsymbol{\\beta}$\n",
"\n",
"* Analytical expressions for statistical propertiers like mean values, variances, confidence intervals and more\n",
"\n",
"* Analytical relation with probabilistic interpretations \n",
"\n",
"* Easy to introduce basic concepts like bias-variance tradeoff, cross-validation, resampling and regularization techniques and many other ML topics\n",
"\n",
"* Easy to code! And links well with classification problems and logistic regression and neural networks\n",
"\n",
"* Allows for **easy** hands-on understanding of gradient descent methods\n",
"\n",
"* and many more features\n",
"\n",
"For more discussions of Ridge and Lasso regression, [Wessel van Wieringen's](https://arxiv.org/abs/1509.09169) article is highly recommended.\n",
"Similarly, [Mehta et al's article](https://arxiv.org/abs/1803.08823) is also recommended."
]
},
{
"cell_type": "markdown",
"id": "40a10f3c",
"metadata": {
"editable": true
},
"source": [
"## The equations for ordinary least squares\n",
"\n",
"Our data which we want to apply a machine learning method on, consist\n",
"of a set of inputs $\\boldsymbol{x}^T=[x_0,x_1,x_2,\\dots,x_{n-1}]$ and the\n",
"outputs we want to model $\\boldsymbol{y}^T=[y_0,y_1,y_2,\\dots,y_{n-1}]$.\n",
"We assume that the output data can be represented (for a regression case) by a continuous function $f$\n",
"through"
]
},
{
"cell_type": "markdown",
"id": "76f1c739",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"y_i=f(x_i)+\\epsilon_i,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "2710298f",
"metadata": {
"editable": true
},
"source": [
"or in general"
]
},
{
"cell_type": "markdown",
"id": "f1e8bd8f",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{y}=f(\\boldsymbol{x})+\\boldsymbol{\\epsilon},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "79e795b0",
"metadata": {
"editable": true
},
"source": [
"where $\\boldsymbol{\\epsilon}$ represents some noise which is normally assumed to\n",
"be distributed via a normal probability distribution with zero mean\n",
"value and a variance $\\sigma^2$.\n",
"\n",
"In linear regression we approximate the unknown function with another\n",
"continuous function $\\tilde{\\boldsymbol{y}}(\\boldsymbol{x})$ which depends linearly on\n",
"some unknown parameters\n",
"$\\boldsymbol{\\beta}^T=[\\beta_0,\\beta_1,\\beta_2,\\dots,\\beta_{p-1}]$.\n",
"\n",
"Last week we introduced the so-called design matrix in order to define\n",
"the approximation $\\boldsymbol{\\tilde{y}}$ via the unknown quantity\n",
"$\\boldsymbol{\\beta}$ as"
]
},
{
"cell_type": "markdown",
"id": "c868570e",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{\\tilde{y}}= \\boldsymbol{X}\\boldsymbol{\\beta},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "855e1dbf",
"metadata": {
"editable": true
},
"source": [
"and in order to find the optimal parameters $\\beta_i$ we defined a function which\n",
"gives a measure of the spread between the values $y_i$ (which\n",
"represent the output values we want to reproduce) and the parametrized\n",
"values $\\tilde{y}_i$, namely the so-called cost/loss function."
]
},
{
"cell_type": "markdown",
"id": "e76339ee",
"metadata": {
"editable": true
},
"source": [
"## The cost/loss function\n",
"\n",
"We used the mean squared error to define the way we measure the quality of our model"
]
},
{
"cell_type": "markdown",
"id": "706dd49c",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"C(\\boldsymbol{\\beta})=\\frac{1}{n}\\sum_{i=0}^{n-1}\\left(y_i-\\tilde{y}_i\\right)^2=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)\\right\\},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "d068e28e",
"metadata": {
"editable": true
},
"source": [
"or using the matrix $\\boldsymbol{X}$ and in a more compact matrix-vector notation as"
]
},
{
"cell_type": "markdown",
"id": "bb734579",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"C(\\boldsymbol{\\beta})=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)\\right\\}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "aba5029f",
"metadata": {
"editable": true
},
"source": [
"This function represents one of many possible ways to define the so-called cost function.\n",
"\n",
"It is also common to define\n",
"the function $C$ as"
]
},
{
"cell_type": "markdown",
"id": "6ac8d12b",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"C(\\boldsymbol{\\beta})=\\frac{1}{2n}\\sum_{i=0}^{n-1}\\left(y_i-\\tilde{y}_i\\right)^2,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "7d3ac82a",
"metadata": {
"editable": true
},
"source": [
"since when taking the first derivative with respect to the unknown parameters $\\beta$, the factor of $2$ cancels out."
]
},
{
"cell_type": "markdown",
"id": "1eedadb6",
"metadata": {
"editable": true
},
"source": [
"## Interpretations and optimizing our parameters\n",
"\n",
"The function"
]
},
{
"cell_type": "markdown",
"id": "61c29b5e",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"C(\\boldsymbol{\\beta})=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)\\right\\},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "4cf9eba7",
"metadata": {
"editable": true
},
"source": [
"can be linked to the variance of the quantity $y_i$ if we interpret the latter as the mean value. \n",
"When linking (see the discussions next week) with the maximum likelihood approach below, we will indeed interpret $y_i$ as a mean value"
]
},
{
"cell_type": "markdown",
"id": "0761eee3",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"y_{i}=\\langle y_i \\rangle = \\beta_0x_{i,0}+\\beta_1x_{i,1}+\\beta_2x_{i,2}+\\dots+\\beta_{n-1}x_{i,n-1}+\\epsilon_i,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "ead917bf",
"metadata": {
"editable": true
},
"source": [
"where $\\langle y_i \\rangle$ is the mean value. Keep in mind also that\n",
"till now we have treated $y_i$ as the exact value. Normally, the\n",
"response (dependent or outcome) variable $y_i$ is the outcome of a\n",
"numerical experiment or another type of experiment and could thus be treated itself as an\n",
"approximation to the true value. It is then always accompanied by an\n",
"error estimate, often limited to a statistical error estimate given by\n",
"the standard deviation discussed earlier. In the discussion here we\n",
"will treat $y_i$ as our exact value for the response variable.\n",
"\n",
"In order to find the parameters $\\beta_i$ we will then minimize the spread of $C(\\boldsymbol{\\beta})$, that is we are going to solve the problem"
]
},
{
"cell_type": "markdown",
"id": "92fe0780",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in\n",
"{\\mathbb{R}}^{p}}}\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)\\right\\}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "396bf1e2",
"metadata": {
"editable": true
},
"source": [
"In practical terms it means we will require"
]
},
{
"cell_type": "markdown",
"id": "6d5307de",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\beta_j} = \\frac{\\partial }{\\partial \\beta_j}\\left[ \\frac{1}{n}\\sum_{i=0}^{n-1}\\left(y_i-\\beta_0x_{i,0}-\\beta_1x_{i,1}-\\beta_2x_{i,2}-\\dots-\\beta_{n-1}x_{i,n-1}\\right)^2\\right]=0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "45b68b6b",
"metadata": {
"editable": true
},
"source": [
"which results in"
]
},
{
"cell_type": "markdown",
"id": "8bec3f2b",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\beta_j} = -\\frac{2}{n}\\left[ \\sum_{i=0}^{n-1}x_{ij}\\left(y_i-\\beta_0x_{i,0}-\\beta_1x_{i,1}-\\beta_2x_{i,2}-\\dots-\\beta_{n-1}x_{i,n-1}\\right)\\right]=0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "80dc90da",
"metadata": {
"editable": true
},
"source": [
"or in a matrix-vector form as (multiplying away the factor $-2/n$, see derivation below)"
]
},
{
"cell_type": "markdown",
"id": "64e3c687",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}^T} = 0 = \\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right).\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "510d4d4c",
"metadata": {
"editable": true
},
"source": [
"## Interpretations and optimizing our parameters\n",
"We can rewrite, see the derivations below,"
]
},
{
"cell_type": "markdown",
"id": "f0b1c164",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}^T} = 0 = \\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right),\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "05896ad6",
"metadata": {
"editable": true
},
"source": [
"as"
]
},
{
"cell_type": "markdown",
"id": "bfa041c9",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\boldsymbol{y} = \\boldsymbol{X}^T\\boldsymbol{X}\\boldsymbol{\\beta},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "ae4e69aa",
"metadata": {
"editable": true
},
"source": [
"and if the matrix $\\boldsymbol{X}^T\\boldsymbol{X}$ is invertible we have the solution"
]
},
{
"cell_type": "markdown",
"id": "22a53165",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{\\beta} =\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "02a2b1b8",
"metadata": {
"editable": true
},
"source": [
"We note also that since our design matrix is defined as $\\boldsymbol{X}\\in\n",
"{\\mathbb{R}}^{n\\times p}$, the product $\\boldsymbol{X}^T\\boldsymbol{X} \\in\n",
"{\\mathbb{R}}^{p\\times p}$. In most cases we have that $p \\ll n$. In our example case below we have $p=5$ meaning. We end up with inverting a small\n",
"$5\\times 5$ matrix. This is a rather common situation, in many cases we end up with low-dimensional\n",
"matrices to invert. The methods discussed here and for many other\n",
"supervised learning algorithms like classification with logistic\n",
"regression or support vector machines, exhibit dimensionalities which\n",
"allow for the usage of direct linear algebra methods such as **LU** decomposition or **Singular Value Decomposition** (SVD) for finding the inverse of the matrix\n",
"$\\boldsymbol{X}^T\\boldsymbol{X}$. This is discussed on Thursday this week.\n",
"\n",
"**Small question**: Do you think the example we have at hand here (the nuclear binding energies) can lead to problems in inverting the matrix $\\boldsymbol{X}^T\\boldsymbol{X}$? What kind of problems can we expect?"
]
},
{
"cell_type": "markdown",
"id": "d1470cae",
"metadata": {
"editable": true
},
"source": [
"## Some useful matrix and vector expressions\n",
"\n",
"The following matrix and vector relation will be useful here and for\n",
"the rest of the course. Vectors are always written as boldfaced lower\n",
"case letters and matrices as upper case boldfaced letters. In the\n",
"following we will discuss how to calculate derivatives of various\n",
"matrices relevant for machine learning. We will often represent our\n",
"data in terms of matrices and vectors.\n",
"\n",
"Let us introduce first some conventions. We assume that $\\boldsymbol{y}$ is a\n",
"vector of length $m$, that is it has $m$ elements $y_0,y_1,\\dots,\n",
"y_{m-1}$. By convention we start labeling vectors with the zeroth\n",
"element, as are arrays in Python and C++/C, for example. Similarly, we\n",
"have a vector $\\boldsymbol{x}$ of length $n$, that is\n",
"$\\boldsymbol{x}^T=[x_0,x_1,\\dots, x_{n-1}]$.\n",
"\n",
"We assume also that $\\boldsymbol{y}$ is a function of $\\boldsymbol{x}$ through some\n",
"given function $f$"
]
},
{
"cell_type": "markdown",
"id": "fbc63e64",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{y}=f(\\boldsymbol{x}).\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "5475f4f0",
"metadata": {
"editable": true
},
"source": [
"## The Jacobian\n",
"\n",
"We define the partial derivatives of the various components of $\\boldsymbol{y}$ as functions of $x_i$ in terms of the so-called [Jacobian matrix](https://en.wikipedia.org/wiki/Jacobian_matrix_and_determinant)"
]
},
{
"cell_type": "markdown",
"id": "7ccd0445",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{J}=\\frac{\\partial \\boldsymbol{y}}{\\partial \\boldsymbol{x}}=\\begin{bmatrix} \\frac{\\partial y_0}{\\partial x_0} & \\frac{\\partial y_0}{\\partial x_1} & \\frac{\\partial y_0}{\\partial x_2} & \\dots & \\dots & \\frac{\\partial y_0}{\\partial x_{n-1}} \\\\ \\frac{\\partial y_1}{\\partial x_0} & \\frac{\\partial y_1}{\\partial x_1} & \\frac{\\partial y_1}{\\partial x_2} & \\dots & \\dots & \\frac{\\partial y_1}{\\partial x_{n-1}} \\\\\n",
"\\frac{\\partial y_2}{\\partial x_0} & \\frac{\\partial y_2}{\\partial x_1} & \\frac{\\partial y_2}{\\partial x_2} & \\dots & \\dots & \\frac{\\partial y_2}{\\partial x_{n-1}} \\\\\n",
"\\dots & \\dots & \\dots & \\dots & \\dots & \\dots \\\\\n",
"\\dots & \\dots & \\dots & \\dots & \\dots & \\dots \\\\\n",
"\\frac{\\partial y_{m-1}}{\\partial x_0} & \\frac{\\partial y_{m-1}}{\\partial x_1} & \\frac{\\partial y_{m-1}}{\\partial x_2} & \\dots & \\dots & \\frac{\\partial y_{m-1}}{\\partial x_{n-1}} \\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "c40947ac",
"metadata": {
"editable": true
},
"source": [
"which is an $m\\times n$ matrix. If $\\boldsymbol{x}$ is a scalar, then the\n",
"Jacobian is only a single-column vector, or an $m\\times 1$ matrix. If\n",
"on the other hand $\\boldsymbol{y}$ is a scalar, the Jacobian becomes a\n",
"$1\\times n$ matrix.\n",
"\n",
"When this matrix is a square matrix $m=n$, its determinant is often referred to as the Jacobian\n",
"determinant. Both the matrix and (if $m=n$) the determinant are\n",
"often referred to simply as the Jacobian. The Jacobian matrix represents the differential of $\\boldsymbol{y}$ at every point where the\n",
"vector is differentiable."
]
},
{
"cell_type": "markdown",
"id": "18e29324",
"metadata": {
"editable": true
},
"source": [
"## Derivatives, example 1\n",
"\n",
"Let now $\\boldsymbol{y}=\\boldsymbol{A}\\boldsymbol{x}$, where $\\boldsymbol{A}$ is an $m\\times n$ matrix and the matrix does not depend on $\\boldsymbol{x}$. If we write out the vector $\\boldsymbol{y}$ compoment by component we have"
]
},
{
"cell_type": "markdown",
"id": "6069e0fa",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"y_i = \\sum_{j=0}^{n-1}a_{ij}x_j,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "2796afe6",
"metadata": {
"editable": true
},
"source": [
"with $\\forall i=0,1,2,\\dots,m-1$. The individual matrix elements of $\\boldsymbol{A}$ are given by the symbol $a_{ij}$.\n",
"It follows that the partial derivatives of $y_i$ with respect to $x_k$"
]
},
{
"cell_type": "markdown",
"id": "2b66e25f",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial y_i }{\\partial x_k}= a_{ik} \\forall i=0,1,2,\\dots,m-1.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "86f9add1",
"metadata": {
"editable": true
},
"source": [
"From this we have, using the definition of the Jacobian"
]
},
{
"cell_type": "markdown",
"id": "ae97bea9",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial \\boldsymbol{y} }{\\partial \\boldsymbol{x}}= \\boldsymbol{A}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "14510558",
"metadata": {
"editable": true
},
"source": [
"## Example 2\n",
"\n",
"We define a scalar (our cost/loss functions are in general also scalars,\n",
"just think of the mean squared error) as the result of some matrix vector\n",
"multiplications"
]
},
{
"cell_type": "markdown",
"id": "fbb54b4a",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\alpha = \\boldsymbol{y}^T\\boldsymbol{A}\\boldsymbol{x},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "553845ce",
"metadata": {
"editable": true
},
"source": [
"with $\\boldsymbol{y}$ a vector of length $m$, $\\boldsymbol{A}$ an $m\\times n$ matrix and $\\boldsymbol{x}$ a vector of length $n$. We assume also that $\\boldsymbol{A}$ does not depend on any of the two vectors.\n",
"In order to find the derivative of $\\alpha$ with respect to the two vectors, we define an intermediate vector $\\boldsymbol{z}$. We define first\n",
"$\\boldsymbol{z}^T=\\boldsymbol{y}^T\\boldsymbol{A}$, a vector of length $n$. We have then, using the definition of the Jacobian,"
]
},
{
"cell_type": "markdown",
"id": "e79fdc3c",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\alpha = \\boldsymbol{z}^T\\boldsymbol{x},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "0713d61a",
"metadata": {
"editable": true
},
"source": [
"which means that (using our previous example) we have"
]
},
{
"cell_type": "markdown",
"id": "2e522237",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial \\alpha}{\\partial \\boldsymbol{x}} = \\boldsymbol{z}=bm{A}^T\\boldsymbol{y}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "4baadc8b",
"metadata": {
"editable": true
},
"source": [
"Note that the resulting vector elements are the same for $\\boldsymbol{z}^T$ and $\\boldsymbol{z}$, the only difference is that one if just the transpose of the other.\n",
"\n",
"Since $\\alpha$ is a scalar we have $\\alpha =\\alpha^T=\\boldsymbol{x}^T\\boldsymbol{A}^T\\boldsymbol{y}$. Defining now $\\boldsymbol{z}=\\boldsymbol{x}^T\\boldsymbol{A}^T$ we find that"
]
},
{
"cell_type": "markdown",
"id": "6e0fee06",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial \\alpha}{\\partial \\boldsymbol{y}} = \\boldsymbol{z}^T=\\boldsymbol{x}^T\\boldsymbol{A}^T.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "1d85d1c1",
"metadata": {
"editable": true
},
"source": [
"## Example 3\n",
"\n",
"We start with a new scalar but where now the vector $\\boldsymbol{y}$ is\n",
"replaced by a vector $\\boldsymbol{x}$ and the matrix $\\boldsymbol{A}$ is a square\n",
"matrix with dimension $n\\times n$."
]
},
{
"cell_type": "markdown",
"id": "a6643a5f",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\alpha = \\boldsymbol{x}^T\\boldsymbol{A}\\boldsymbol{x},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "f15d9044",
"metadata": {
"editable": true
},
"source": [
"with $\\boldsymbol{x}$ a vector of length $n$.\n",
"\n",
"We write out the specific sums involved in the calculation of $\\alpha$"
]
},
{
"cell_type": "markdown",
"id": "658745bf",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\alpha = \\sum_{i=0}^{n-1}\\sum_{j=0}^{n-1}x_i a_{ij}x_j,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "ba8bc828",
"metadata": {
"editable": true
},
"source": [
"taking the derivative of $\\alpha$ with respect to a given component $x_k$ we get the two sums"
]
},
{
"cell_type": "markdown",
"id": "38512288",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial \\alpha}{\\partial x_k} = \\sum_{i=0}^{n-1}a_{ik}x_i+\\sum_{j=0}^{n-1}a_{kj}x_j,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "0a571ae1",
"metadata": {
"editable": true
},
"source": [
"for $\\forall k =0,1,2,\\dots,n-1$. We identify these sums as"
]
},
{
"cell_type": "markdown",
"id": "f26f46f8",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial \\alpha}{\\partial \\boldsymbol{x}} = \\boldsymbol{x}^T\\left(\\boldsymbol{A}^T+\\boldsymbol{A}\\right).\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "9e6c5896",
"metadata": {
"editable": true
},
"source": [
"If the matrix $\\boldsymbol{A}$ is symmetric, that is $\\boldsymbol{A}=\\boldsymbol{A}^T$, we have"
]
},
{
"cell_type": "markdown",
"id": "fa516251",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial \\alpha}{\\partial \\boldsymbol{x}} = 2\\boldsymbol{x}^T\\boldsymbol{A}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "10db7624",
"metadata": {
"editable": true
},
"source": [
"## Example 4\n",
"\n",
"We let the scalar $\\alpha$ be defined by"
]
},
{
"cell_type": "markdown",
"id": "7cdeda2b",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\alpha = \\boldsymbol{y}^T\\boldsymbol{x},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "2b9a8aed",
"metadata": {
"editable": true
},
"source": [
"where both $\\boldsymbol{y}$ and $\\boldsymbol{x}$ have the same length $n$, or if we\n",
"wish to think of them as column vectors, they have dimensions $n\\times\n",
"1$. We assume that both $\\boldsymbol{y}$ and $\\boldsymbol{x}$ depend on a vector\n",
"$\\boldsymbol{z}$ of the same length. To calculate the derivative of $\\alpha$\n",
"with respect to a given component $z_k$ we need first to write out the\n",
"inner product that defines $\\alpha$ as"
]
},
{
"cell_type": "markdown",
"id": "758969d3",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\alpha = \\sum_{i=0}^{n-1}y_ix_i,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "d7203c02",
"metadata": {
"editable": true
},
"source": [
"and the partial derivative"
]
},
{
"cell_type": "markdown",
"id": "16f3ca20",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial \\alpha}{\\partial z_k} = \\sum_{i=0}^{n-1}\\left(x_i\\frac{\\partial y_i}{\\partial z_k}+y_i\\frac{\\partial x_i}{\\partial z_k}\\right),\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "f7caf01e",
"metadata": {
"editable": true
},
"source": [
"for $\\forall k =0,1,2,\\dots,n-1$. We can rewrite the partial derivative in a more compact form as"
]
},
{
"cell_type": "markdown",
"id": "b1e5ad17",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial \\alpha}{\\partial \\boldsymbol{z}} = \\boldsymbol{x}^T\\frac{\\partial \\boldsymbol{y}}{\\partial \\boldsymbol{z}}+\\boldsymbol{y}^T\\frac{\\partial \\boldsymbol{x}}{\\partial \\boldsymbol{z}},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "587c347e",
"metadata": {
"editable": true
},
"source": [
"and if $\\boldsymbol{y}=\\boldsymbol{x}$ we have"
]
},
{
"cell_type": "markdown",
"id": "5279b1cb",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial \\alpha}{\\partial \\boldsymbol{z}} = 2\\boldsymbol{x}^T\\frac{\\partial \\boldsymbol{x}}{\\partial \\boldsymbol{z}}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "0c0d18ed",
"metadata": {
"editable": true
},
"source": [
"## The mean squared error and its derivative\n",
"\n",
"We defined earlier a possible cost function using the mean squared error"
]
},
{
"cell_type": "markdown",
"id": "ba1b34c9",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"C(\\boldsymbol{\\beta})=\\frac{1}{n}\\sum_{i=0}^{n-1}\\left(y_i-\\tilde{y}_i\\right)^2=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)\\right\\},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "b859b644",
"metadata": {
"editable": true
},
"source": [
"or using the design/feature matrix $\\boldsymbol{X}$ we have the more compact matrix-vector"
]
},
{
"cell_type": "markdown",
"id": "a6451ed1",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"C(\\boldsymbol{\\beta})=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)\\right\\}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "6879be83",
"metadata": {
"editable": true
},
"source": [
"We note that the design matrix $\\boldsymbol{X}$ does not depend on the unknown parameters defined by the vector $\\boldsymbol{\\beta}$.\n",
"We are now interested in minimizing the cost function with respect to the unknown parameters $\\boldsymbol{\\beta}$.\n",
"\n",
"The mean squared error is a scalar and if we use the results from example three above, we can define a new vector"
]
},
{
"cell_type": "markdown",
"id": "bda465e5",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{w}=\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "aeb97168",
"metadata": {
"editable": true
},
"source": [
"which depends on $\\boldsymbol{\\beta}$. We rewrite the cost function as"
]
},
{
"cell_type": "markdown",
"id": "d5339f3b",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"C(\\boldsymbol{\\beta})=\\frac{1}{n}\\boldsymbol{w}^T\\boldsymbol{w},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "924aee00",
"metadata": {
"editable": true
},
"source": [
"with partial derivative"
]
},
{
"cell_type": "markdown",
"id": "856a72bf",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}}=\\frac{2}{n}\\boldsymbol{w}^T\\frac{\\partial \\boldsymbol{w}}{\\partial \\boldsymbol{\\beta}},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "ad9fe745",
"metadata": {
"editable": true
},
"source": [
"and using that"
]
},
{
"cell_type": "markdown",
"id": "5a72fd42",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial \\boldsymbol{w}}{\\partial \\boldsymbol{\\beta}}=-\\boldsymbol{X},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "569524a1",
"metadata": {
"editable": true
},
"source": [
"where we used the result from example two above. Inserting the last expression we obtain"
]
},
{
"cell_type": "markdown",
"id": "4e8d401f",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}}=-\\frac{2}{n}\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)^T\\boldsymbol{X},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "24230b58",
"metadata": {
"editable": true
},
"source": [
"or as"
]
},
{
"cell_type": "markdown",
"id": "fe2c5d6e",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}^T}=-\\frac{2}{n}\\boldsymbol{X}^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right).\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "9b68b468",
"metadata": {
"editable": true
},
"source": [
"## Other useful relations\n",
"\n",
"We list here some other useful relations we may encounter (recall that vectors are defined by boldfaced low-key letters)"
]
},
{
"cell_type": "markdown",
"id": "bf6a5077",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial (\\boldsymbol{b}^T\\boldsymbol{a})}{\\partial \\boldsymbol{a}} = \\boldsymbol{b},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "ddf09a27",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial tr(\\boldsymbol{B}\\boldsymbol{A})}{\\partial \\boldsymbol{A}} = \\boldsymbol{B}^T,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "e1665513",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial \\log{\\vert\\boldsymbol{A}\\vert}}{\\partial \\boldsymbol{A}} = (\\boldsymbol{A}^{-1})^T.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "e754746c",
"metadata": {
"editable": true
},
"source": [
"## Meet the Hessian Matrix\n",
"\n",
"A very important matrix we will meet again and again in machine\n",
"learning is the Hessian. It is given by the second derivative of the\n",
"cost function with respect to the parameters $\\boldsymbol{\\beta}$. Using the above\n",
"expression for derivatives of vectors and matrices, we find that the\n",
"second derivative of the mean squared error as cost function is,"
]
},
{
"cell_type": "markdown",
"id": "922d0d8c",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial}{\\partial \\boldsymbol{\\beta}}\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}^T} =\\frac{\\partial}{\\partial \\boldsymbol{\\beta}}\\left[-\\frac{2}{n}\\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)\\right]=\\frac{2}{n}\\boldsymbol{X}^T\\boldsymbol{X}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "acf89848",
"metadata": {
"editable": true
},
"source": [
"The Hessian matrix plays an important role and is defined here as"
]
},
{
"cell_type": "markdown",
"id": "12d22c90",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{H}=\\boldsymbol{X}^T\\boldsymbol{X}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "9dbcb6d7",
"metadata": {
"editable": true
},
"source": [
"For ordinary least squares, it is inversely proportional (derivation\n",
"next week) with the variance of the optimal parameters\n",
"$\\hat{\\boldsymbol{\\beta}}$. Furthermore, we will see later this week that it is\n",
"(aside the factor $1/n$) equal to the covariance matrix. It plays also a very\n",
"important role in optmization algorithms and Principal Component\n",
"Analysis as a way to reduce the dimensionality of a machine learning/data analysis\n",
"problem.\n",
"\n",
"**Linear algebra question:** Can we use the Hessian matrix to say something about properties of the cost function (our optmization problem)? (hint: think about convex or concave problems and how to relate these to a matrix!)."
]
},
{
"cell_type": "markdown",
"id": "b797b390",
"metadata": {
"editable": true
},
"source": [
"## Interpretations and optimizing our parameters\n",
"\n",
"The residuals $\\boldsymbol{\\epsilon}$ are in turn given by"
]
},
{
"cell_type": "markdown",
"id": "b78ab217",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{\\epsilon} = \\boldsymbol{y}-\\boldsymbol{\\tilde{y}} = \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "e0a0542d",
"metadata": {
"editable": true
},
"source": [
"and with"
]
},
{
"cell_type": "markdown",
"id": "fd640b28",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)= 0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "6a073b35",
"metadata": {
"editable": true
},
"source": [
"we have"
]
},
{
"cell_type": "markdown",
"id": "f7daf28e",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\boldsymbol{\\epsilon}=\\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)= 0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "d8e03fdc",
"metadata": {
"editable": true
},
"source": [
"meaning that the solution for $\\boldsymbol{\\beta}$ is the one which minimizes the residuals."
]
},
{
"cell_type": "markdown",
"id": "058aed61",
"metadata": {
"editable": true
},
"source": [
"## Example relevant for the exercises\n",
"\n",
"In order to understand the relation among the predictors $p$, the set of data $n$ and the target (outcome, output etc) $\\boldsymbol{y}$,\n",
"we condiser a simple polynomial fit.\n",
"We assume our data can represented by a fourth-order polynomial. For the $i$th component we have"
]
},
{
"cell_type": "markdown",
"id": "c7d35183",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\tilde{y}_i = \\beta_0+\\beta_1x_i+\\beta_2x_i^2+\\beta_3x_i^3+\\beta_4x_i^4.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "bad6fd9a",
"metadata": {
"editable": true
},
"source": [
"we have five predictors/features. The first is the intercept $\\beta_0$. The other terms are $\\beta_i$ with $i=1,2,3,4$. Furthermore we have $n$ entries for each predictor. It means that our design matrix is an \n",
"$n\\times p$ matrix $\\boldsymbol{X}$."
]
},
{
"cell_type": "markdown",
"id": "1bd57074",
"metadata": {
"editable": true
},
"source": [
"## Own code for Ordinary Least Squares\n",
"\n",
"It is rather straightforward to implement the matrix inversion and obtain the parameters $\\boldsymbol{\\beta}$. After having defined the matrix $\\boldsymbol{X}$ and the outputs $\\boldsymbol{y}$ we have"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "9895174d",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"# matrix inversion to find beta\n",
"# First we set up the data\n",
"import numpy as np\n",
"x = np.random.rand(100)\n",
"y = 2.0+5*x*x+0.1*np.random.randn(100)\n",
"# and then the design matrix X including the intercept\n",
"# The design matrix now as function of a fourth-order polynomial\n",
"X = np.zeros((len(x),5))\n",
"X[:,0] = 1.0\n",
"X[:,1] = x\n",
"X[:,2] = x**2\n",
"X[:,3] = x**3\n",
"X[:,4] = x**4\n",
"beta = (np.linalg.inv(X.T @ X) @ X.T ) @ y\n",
"# and then make the prediction\n",
"ytilde = X @ beta"
]
},
{
"cell_type": "markdown",
"id": "0d7ad6dc",
"metadata": {
"editable": true
},
"source": [
"Alternatively, you can use the least squares functionality in **Numpy** as"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "e52ec127",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"fit = np.linalg.lstsq(X, y, rcond =None)[0]\n",
"ytildenp = np.dot(fit,X.T)"
]
},
{
"cell_type": "markdown",
"id": "c66acc10",
"metadata": {
"editable": true
},
"source": [
"## Adding error analysis and training set up\n",
"\n",
"We can easily test our fit by computing the $R2$ score that we discussed in connection with the functionality of **Scikit-Learn** in the introductory slides.\n",
"Since we are not using **Scikit-Learn** here we can define our own $R2$ function as"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "85f5f060",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"def R2(y_data, y_model):\n",
" return 1 - np.sum((y_data - y_model) ** 2) / np.sum((y_data - np.mean(y_data)) ** 2)"
]
},
{
"cell_type": "markdown",
"id": "ef359561",
"metadata": {
"editable": true
},
"source": [
"and we would be using it as"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "21b8437f",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.9959033816551833\n"
]
}
],
"source": [
"print(R2(y,ytilde))"
]
},
{
"cell_type": "markdown",
"id": "b1c814a4",
"metadata": {
"editable": true
},
"source": [
"We can easily add our **MSE** score as"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "de8f1db6",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.009290411029763584\n"
]
}
],
"source": [
"def MSE(y_data,y_model):\n",
" n = np.size(y_model)\n",
" return np.sum((y_data-y_model)**2)/n\n",
"\n",
"print(MSE(y,ytilde))"
]
},
{
"cell_type": "markdown",
"id": "421ff6ee",
"metadata": {
"editable": true
},
"source": [
"and finally the relative error as"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "77d5b744",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0.02126934 0.07602623 0.0014937 0.01294617 0.05421908 0.02237669\n",
" 0.0026081 0.00564956 0.00399247 0.05763394 0.00040953 0.06861085\n",
" 0.0098629 0.01199845 0.0097577 0.03260201 0.020964 0.01933058\n",
" 0.02255062 0.01801774 0.04039087 0.00472303 0.01003763 0.01487742\n",
" 0.05554042 0.00886682 0.05110883 0.02944194 0.00806407 0.01028231\n",
" 0.03613949 0.03352185 0.0512238 0.01525206 0.00660801 0.01073938\n",
" 0.06353697 0.00700232 0.0391902 0.08741274 0.01227458 0.01049472\n",
" 0.04691549 0.00963223 0.0143088 0.05177527 0.00850988 0.01121347\n",
" 0.02768957 0.02259051 0.02233576 0.01322543 0.02143332 0.01400329\n",
" 0.00102864 0.01322099 0.00611932 0.01011376 0.13281267 0.00684221\n",
" 0.05358851 0.02232779 0.00695738 0.03054765 0.00554475 0.05748797\n",
" 0.03507211 0.00563446 0.03123832 0.00033779 0.01122997 0.1098906\n",
" 0.07003926 0.03718926 0.0695405 0.00605451 0.0456042 0.00477722\n",
" 0.01224109 0.01072866 0.04273116 0.01873409 0.02903947 0.01927709\n",
" 0.00819724 0.00628788 0.00086553 0.02341603 0.0525063 0.03546779\n",
" 0.03012368 0.05069808 0.00327082 0.00517074 0.00071305 0.01194406\n",
" 0.05454172 0.02480935 0.00577016 0.02925853]\n"
]
}
],
"source": [
"def RelativeError(y_data,y_model):\n",
" return abs((y_data-y_model)/y_data)\n",
"print(RelativeError(y, ytilde))"
]
},
{
"cell_type": "markdown",
"id": "0afffa89",
"metadata": {
"editable": true
},
"source": [
"## Splitting our Data in Training and Test data\n",
"\n",
"It is normal in essentially all Machine Learning studies to split the\n",
"data in a training set and a test set (sometimes also an additional\n",
"validation set). **Scikit-Learn** has an own function for this. There\n",
"is no explicit recipe for how much data should be included as training\n",
"data and say test data. An accepted rule of thumb is to use\n",
"approximately $2/3$ to $4/5$ of the data as training data. We will\n",
"postpone a discussion of this splitting to the end of these notes and\n",
"our discussion of the so-called **bias-variance** tradeoff. Here we\n",
"limit ourselves to repeat the above equation of state fitting example\n",
"but now splitting the data into a training set and a test set."
]
},
{
"cell_type": "markdown",
"id": "83fc18dd",
"metadata": {
"editable": true
},
"source": [
"## The complete code with a simple data set"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "c908e069",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 2.04860436 -0.39444293 5.97533203 -0.78980112 0.09575221]\n",
"Training R2\n",
"0.9960913291755783\n",
"Training MSE\n",
"0.008823125370709272\n",
"Test R2\n",
"0.9906601091977738\n",
"Test MSE\n",
"0.01969004537138309\n"
]
}
],
"source": [
"%matplotlib inline\n",
"\n",
"import os\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.model_selection import train_test_split\n",
"\n",
"\n",
"def R2(y_data, y_model):\n",
" return 1 - np.sum((y_data - y_model) ** 2) / np.sum((y_data - np.mean(y_data)) ** 2)\n",
"def MSE(y_data,y_model):\n",
" n = np.size(y_model)\n",
" return np.sum((y_data-y_model)**2)/n\n",
"\n",
"x = np.random.rand(100)\n",
"y = 2.0+5*x*x+0.1*np.random.randn(100)\n",
"\n",
"\n",
"# The design matrix now as function of a fourth-order polynomial\n",
"X = np.zeros((len(x),5))\n",
"X[:,0] = 1.0\n",
"X[:,1] = x\n",
"X[:,2] = x**2\n",
"X[:,3] = x**3\n",
"X[:,4] = x**4\n",
"# We split the data in test and training data\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)\n",
"# matrix inversion to find beta\n",
"beta = np.linalg.inv(X_train.T @ X_train) @ X_train.T @ y_train\n",
"print(beta)\n",
"# and then make the prediction\n",
"ytilde = X_train @ beta\n",
"print(\"Training R2\")\n",
"print(R2(y_train,ytilde))\n",
"print(\"Training MSE\")\n",
"print(MSE(y_train,ytilde))\n",
"ypredict = X_test @ beta\n",
"print(\"Test R2\")\n",
"print(R2(y_test,ypredict))\n",
"print(\"Test MSE\")\n",
"print(MSE(y_test,ypredict))"
]
},
{
"cell_type": "markdown",
"id": "f69cf8d1",
"metadata": {
"editable": true
},
"source": [
"## Making your own test-train splitting"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "03acb6ba",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"# equivalently in numpy\n",
"def train_test_split_numpy(inputs, labels, train_size, test_size):\n",
" n_inputs = len(inputs)\n",
" inputs_shuffled = inputs.copy()\n",
" labels_shuffled = labels.copy()\n",
"\n",
" np.random.shuffle(inputs_shuffled)\n",
" np.random.shuffle(labels_shuffled)\n",
"\n",
" train_end = int(n_inputs*train_size)\n",
" X_train, X_test = inputs_shuffled[:train_end], inputs_shuffled[train_end:]\n",
" Y_train, Y_test = labels_shuffled[:train_end], labels_shuffled[train_end:]\n",
"\n",
" return X_train, X_test, Y_train, Y_test"
]
},
{
"cell_type": "markdown",
"id": "0d8db71d",
"metadata": {
"editable": true
},
"source": [
"But since **scikit-learn** has its own function for doing this and since\n",
"it interfaces easily with **tensorflow** and other libraries, we\n",
"normally recommend using the latter functionality."
]
},
{
"cell_type": "markdown",
"id": "29fc4792",
"metadata": {
"editable": true
},
"source": [
"## Reducing the number of degrees of freedom, overarching view\n",
"\n",
"Many Machine Learning problems involve thousands or even millions of\n",
"features for each training instance. Not only does this make training\n",
"extremely slow, it can also make it much harder to find a good\n",
"solution, as we will see. This problem is often referred to as the\n",
"curse of dimensionality. Fortunately, in real-world problems, it is\n",
"often possible to reduce the number of features considerably, turning\n",
"an intractable problem into a tractable one.\n",
"\n",
"Later we will discuss some of the most popular dimensionality reduction\n",
"techniques: the principal component analysis (PCA), Kernel PCA, and\n",
"Locally Linear Embedding (LLE). \n",
"\n",
"Principal component analysis and its various variants deal with the\n",
"problem of fitting a low-dimensional [affine\n",
"subspace](https://en.wikipedia.org/wiki/Affine_space) to a set of of\n",
"data points in a high-dimensional space. With its family of methods it\n",
"is one of the most used tools in data modeling, compression and\n",
"visualization."
]
},
{
"cell_type": "markdown",
"id": "5d2323e6",
"metadata": {
"editable": true
},
"source": [
"## Preprocessing our data\n",
"\n",
"Before we proceed however, we will discuss how to preprocess our\n",
"data. Till now and in connection with our previous examples we have\n",
"not met so many cases where we are too sensitive to the scaling of our\n",
"data. Normally the data may need a rescaling and/or may be sensitive\n",
"to extreme values. Scaling the data renders our inputs much more\n",
"suitable for the algorithms we want to employ.\n",
"\n",
"For data sets gathered for real world applications, it is rather normal that\n",
"different features have very different units and\n",
"numerical scales. For example, a data set detailing health habits may include\n",
"features such as **age** in the range $0-80$, and **caloric intake** of order $2000$.\n",
"Many machine learning methods sensitive to the scales of the features and may perform poorly if they\n",
"are very different scales. Therefore, it is typical to scale\n",
"the features in a way to avoid such outlier values."
]
},
{
"cell_type": "markdown",
"id": "084a05ce",
"metadata": {
"editable": true
},
"source": [
"## Functionality in Scikit-Learn\n",
"\n",
"**Scikit-Learn** has several functions which allow us to rescale the\n",
"data, normally resulting in much better results in terms of various\n",
"accuracy scores. The **StandardScaler** function in **Scikit-Learn**\n",
"ensures that for each feature/predictor we study the mean value is\n",
"zero and the variance is one (every column in the design/feature\n",
"matrix). This scaling has the drawback that it does not ensure that\n",
"we have a particular maximum or minimum in our data set. Another\n",
"function included in **Scikit-Learn** is the **MinMaxScaler** which\n",
"ensures that all features are exactly between $0$ and $1$. The"
]
},
{
"cell_type": "markdown",
"id": "2cf236cf",
"metadata": {
"editable": true
},
"source": [
"## More preprocessing\n",
"\n",
"The **Normalizer** scales each data\n",
"point such that the feature vector has a euclidean length of one. In other words, it\n",
"projects a data point on the circle (or sphere in the case of higher dimensions) with a\n",
"radius of 1. This means every data point is scaled by a different number (by the\n",
"inverse of its length).\n",
"This normalization is often used when only the direction (or angle) of the data matters,\n",
"not the length of the feature vector.\n",
"\n",
"The **RobustScaler** works similarly to the StandardScaler in that it\n",
"ensures statistical properties for each feature that guarantee that\n",
"they are on the same scale. However, the RobustScaler uses the median\n",
"and quartiles, instead of mean and variance. This makes the\n",
"RobustScaler ignore data points that are very different from the rest\n",
"(like measurement errors). These odd data points are also called\n",
"outliers, and might often lead to trouble for other scaling\n",
"techniques."
]
},
{
"cell_type": "markdown",
"id": "f7ef3d03",
"metadata": {
"editable": true
},
"source": [
"## Frequently used scaling functions\n",
"\n",
"Many features are often scaled using standardization to improve performance. In **Scikit-Learn** this is given by the **StandardScaler** function as discussed above. It is easy however to write your own. \n",
"Mathematically, this involves subtracting the mean and divide by the standard deviation over the data set, for each feature:"
]
},
{
"cell_type": "markdown",
"id": "30df9a47",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"x_j^{(i)} \\rightarrow \\frac{x_j^{(i)} - \\overline{x}_j}{\\sigma(x_j)},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "fa957ecb",
"metadata": {
"editable": true
},
"source": [
"where $\\overline{x}_j$ and $\\sigma(x_j)$ are the mean and standard deviation, respectively, of the feature $x_j$.\n",
"This ensures that each feature has zero mean and unit standard deviation. For data sets where we do not have the standard deviation or don't wish to calculate it, it is then common to simply set it to one."
]
},
{
"cell_type": "markdown",
"id": "c6b8f467",
"metadata": {
"editable": true
},
"source": [
"## Example of own Standard scaling\n",
"\n",
"Let us consider the following vanilla example where we use both\n",
"**Scikit-Learn** and write our own function as well. We produce a\n",
"simple test design matrix with random numbers. Each column could then\n",
"represent a specific feature whose mean value is subracted."
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "a2480cf9",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" <th>4</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>-1.749765</td>\n",
" <td>0.342680</td>\n",
" <td>1.153036</td>\n",
" <td>-0.252436</td>\n",
" <td>0.981321</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.514219</td>\n",
" <td>0.221180</td>\n",
" <td>-1.070043</td>\n",
" <td>-0.189496</td>\n",
" <td>0.255001</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>-0.458027</td>\n",
" <td>0.435163</td>\n",
" <td>-0.583595</td>\n",
" <td>0.816847</td>\n",
" <td>0.672721</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>-0.104411</td>\n",
" <td>-0.531280</td>\n",
" <td>1.029733</td>\n",
" <td>-0.438136</td>\n",
" <td>-1.118318</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1.618982</td>\n",
" <td>1.541605</td>\n",
" <td>-0.251879</td>\n",
" <td>-0.842436</td>\n",
" <td>0.184519</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>0.937082</td>\n",
" <td>0.731000</td>\n",
" <td>1.361556</td>\n",
" <td>-0.326238</td>\n",
" <td>0.055676</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>0.222400</td>\n",
" <td>-1.443217</td>\n",
" <td>-0.756352</td>\n",
" <td>0.816454</td>\n",
" <td>0.750445</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>-0.455947</td>\n",
" <td>1.189622</td>\n",
" <td>-1.690617</td>\n",
" <td>-1.356399</td>\n",
" <td>-1.232435</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>-0.544439</td>\n",
" <td>-0.668172</td>\n",
" <td>0.007315</td>\n",
" <td>-0.612939</td>\n",
" <td>1.299748</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>-1.733096</td>\n",
" <td>-0.983310</td>\n",
" <td>0.357508</td>\n",
" <td>-1.613579</td>\n",
" <td>1.470714</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0 1 2 3 4\n",
"0 -1.749765 0.342680 1.153036 -0.252436 0.981321\n",
"1 0.514219 0.221180 -1.070043 -0.189496 0.255001\n",
"2 -0.458027 0.435163 -0.583595 0.816847 0.672721\n",
"3 -0.104411 -0.531280 1.029733 -0.438136 -1.118318\n",
"4 1.618982 1.541605 -0.251879 -0.842436 0.184519\n",
"5 0.937082 0.731000 1.361556 -0.326238 0.055676\n",
"6 0.222400 -1.443217 -0.756352 0.816454 0.750445\n",
"7 -0.455947 1.189622 -1.690617 -1.356399 -1.232435\n",
"8 -0.544439 -0.668172 0.007315 -0.612939 1.299748\n",
"9 -1.733096 -0.983310 0.357508 -1.613579 1.470714"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"0 -0.175300\n",
"1 0.083527\n",
"2 -0.044334\n",
"3 -0.399836\n",
"4 0.331939\n",
"dtype: float64\n",
"0 1.069584\n",
"1 0.965548\n",
"2 1.018232\n",
"3 0.793167\n",
"4 0.918992\n",
"dtype: float64\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" <th>4</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>-1.574465</td>\n",
" <td>0.259153</td>\n",
" <td>1.197370</td>\n",
" <td>0.147400</td>\n",
" <td>0.649382</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.689519</td>\n",
" <td>0.137652</td>\n",
" <td>-1.025709</td>\n",
" <td>0.210340</td>\n",
" <td>-0.076938</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>-0.282727</td>\n",
" <td>0.351636</td>\n",
" <td>-0.539261</td>\n",
" <td>1.216683</td>\n",
" <td>0.340782</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.070889</td>\n",
" <td>-0.614808</td>\n",
" <td>1.074067</td>\n",
" <td>-0.038300</td>\n",
" <td>-1.450257</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1.794282</td>\n",
" <td>1.458078</td>\n",
" <td>-0.207545</td>\n",
" <td>-0.442600</td>\n",
" <td>-0.147420</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>1.112383</td>\n",
" <td>0.647473</td>\n",
" <td>1.405890</td>\n",
" <td>0.073598</td>\n",
" <td>-0.276263</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>0.397700</td>\n",
" <td>-1.526744</td>\n",
" <td>-0.712018</td>\n",
" <td>1.216290</td>\n",
" <td>0.418506</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>-0.280647</td>\n",
" <td>1.106095</td>\n",
" <td>-1.646283</td>\n",
" <td>-0.956563</td>\n",
" <td>-1.564374</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>-0.369139</td>\n",
" <td>-0.751699</td>\n",
" <td>0.051649</td>\n",
" <td>-0.213103</td>\n",
" <td>0.967809</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>-1.557795</td>\n",
" <td>-1.066837</td>\n",
" <td>0.401842</td>\n",
" <td>-1.213743</td>\n",
" <td>1.138775</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0 1 2 3 4\n",
"0 -1.574465 0.259153 1.197370 0.147400 0.649382\n",
"1 0.689519 0.137652 -1.025709 0.210340 -0.076938\n",
"2 -0.282727 0.351636 -0.539261 1.216683 0.340782\n",
"3 0.070889 -0.614808 1.074067 -0.038300 -1.450257\n",
"4 1.794282 1.458078 -0.207545 -0.442600 -0.147420\n",
"5 1.112383 0.647473 1.405890 0.073598 -0.276263\n",
"6 0.397700 -1.526744 -0.712018 1.216290 0.418506\n",
"7 -0.280647 1.106095 -1.646283 -0.956563 -1.564374\n",
"8 -0.369139 -0.751699 0.051649 -0.213103 0.967809\n",
"9 -1.557795 -1.066837 0.401842 -1.213743 1.138775"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" <th>4</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0 1 2 3 4\n",
"0 0.0 0.0 0.0 0.0 0.0\n",
"1 0.0 0.0 0.0 0.0 0.0\n",
"2 0.0 0.0 0.0 0.0 0.0\n",
"3 0.0 0.0 0.0 0.0 0.0\n",
"4 0.0 0.0 0.0 0.0 0.0\n",
"5 0.0 0.0 0.0 0.0 0.0\n",
"6 0.0 0.0 0.0 0.0 0.0\n",
"7 0.0 0.0 0.0 0.0 0.0\n",
"8 0.0 0.0 0.0 0.0 0.0\n",
"9 0.0 0.0 0.0 0.0 0.0"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import sklearn.linear_model as skl\n",
"from sklearn.metrics import mean_squared_error\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.preprocessing import MinMaxScaler, StandardScaler, Normalizer\n",
"import numpy as np\n",
"import pandas as pd\n",
"from IPython.display import display\n",
"np.random.seed(100)\n",
"# setting up a 10 x 5 matrix\n",
"rows = 10\n",
"cols = 5\n",
"X = np.random.randn(rows,cols)\n",
"XPandas = pd.DataFrame(X)\n",
"display(XPandas)\n",
"print(XPandas.mean())\n",
"print(XPandas.std())\n",
"XPandas = (XPandas -XPandas.mean())\n",
"display(XPandas)\n",
"# This option does not include the standard deviation\n",
"scaler = StandardScaler(with_std=False)\n",
"scaler.fit(X)\n",
"Xscaled = scaler.transform(X)\n",
"display(XPandas-Xscaled)"
]
},
{
"cell_type": "markdown",
"id": "7643608b",
"metadata": {
"editable": true
},
"source": [
"Small exercise: perform the standard scaling by including the standard deviation and compare with what Scikit-Learn gives."
]
},
{
"cell_type": "markdown",
"id": "5e6e489d",
"metadata": {
"editable": true
},
"source": [
"## Min-Max Scaling\n",
"\n",
"Another commonly used scaling method is min-max scaling. This is very\n",
"useful for when we want the features to lie in a certain interval. To\n",
"scale the feature $x_j$ to the interval $[a, b]$, we can apply the\n",
"transformation"
]
},
{
"cell_type": "markdown",
"id": "ff073975",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"x_j^{(i)} \\rightarrow (b-a)\\frac{x_j^{(i)} - \\min(x_j)}{\\max(x_j) - \\min(x_j)} - a\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "6a176186",
"metadata": {
"editable": true
},
"source": [
"where $\\min(x_j)$ and $\\max(x_j)$ return the minimum and maximum value of $x_j$ over the data set, respectively."
]
},
{
"cell_type": "markdown",
"id": "784ddba6",
"metadata": {
"editable": true
},
"source": [
"## Testing the Means Squared Error as function of Complexity\n",
"\n",
"One of \n",
"the aims is to reproduce Figure 2.11 of [Hastie et al](https://github.com/CompPhysics/MLErasmus/blob/master/doc/Textbooks/elementsstat.pdf).\n",
"\n",
"Our data is defined by $x\\in [-3,3]$ with a total of for example $100$ data points."
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "83686834",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"np.random.seed()\n",
"n = 100\n",
"maxdegree = 14\n",
"# Make data set.\n",
"x = np.linspace(-3, 3, n).reshape(-1, 1)\n",
"y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)"
]
},
{
"cell_type": "markdown",
"id": "dd641a05",
"metadata": {
"editable": true
},
"source": [
"where $y$ is the function we want to fit with a given polynomial.\n",
"\n",
"Write a first code which sets up a design matrix $X$ defined by a fourth-order polynomial. Scale your data and split it in training and test data."
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "447d12ce",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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lT2+H374wQCMEydO1EJ11QswPvvss3LbuNv5O1tFjtGdz6FhGEZaWpoBGCtWrDhvG3c+jxU5Pnc/hw0bNjTeeeedMn/nzufuTOUdo7uev6ysLKNdu3ZGfHy8cdlllxkPPfTQeduacR7r9BWW/Px81q9fz7Bhw0ptHzZsGGvWrCnzPT/99NM57YcPH866desoKCiosVqroirHV6x79+40bdqUK664gh9++KEmy6xV7nT+Lpa7nsOMjAwAQkJCztvGnc9jRY6vmLudQ7vdzrx588jJyaFfv35ltnHncwcVO8Zi7nb+Jk6cyOjRoxk6dOgF25pxHut0YElPT8dutxMWFlZqe1hYGKmpqWW+JzU1tcz2hYWFpKen11itVVGV42vatClvv/02CxYsYOHChXTo0IErrriClStX1kbJNc6dzl9VufM5NAyDKVOmMHDgQC655JLztnPX81jR43O3c7hlyxbq16+Pr68vEyZM4LPPPiM6OrrMtu567ipzjO52/gDmzZvHhg0bmDFjRoXam3EePWa25othsVhK/WwYxjnbLtS+rO2uojLH16FDBzp06FDyc79+/Thw4AAzZ87k0ksvrdE6a4u7nb/KcudzeP/997N582ZWr159wbbueB4renzudg47dOhAQkICJ0+eZMGCBdx+++2sWLHivF/o7njuKnOM7nb+Dhw4wEMPPcSyZcvw8/Or8Ptq+zzW6SssoaGh2Gy2c642pKWlnZMci4WHh5fZ3svLi0aNGtVYrVVRleMrS9++fdm5c2d1l2cKdzp/1ckdzuEDDzzAokWL+OGHH2jRokW5bd3xPFbm+MriyufQx8eHtm3b0rNnT2bMmEFMTAz/+te/ymzrjucOKneMZXHl87d+/XrS0tKIjY3Fy8sLLy8vVqxYwauvvoqXlxd2u/2c95hxHut0YPHx8SE2Npb4+PhS2+Pj4+nfv3+Z7+nXr9857ZctW0bPnj3x9vausVqroirHV5aNGzfStGnT6i7PFO50/qqTK59DwzC4//77WbhwId9//z1RUVEXfI87nceqHF9ZXPkcns0wDPLy8sr8nTudu/KUd4xlceXzd8UVV7BlyxYSEhJKlp49e/LHP/6RhIQEbDbbOe8x5TzW2OO8bmLevHmGt7e38e677xqJiYnGpEmTjICAAGPfvn2GYRjGY489Ztx2220l7ffs2WP4+/sbkydPNhITE413333X8Pb2Nj799FOzDqFclT2+V155xfjss8+MHTt2GL/99pvx2GOPGYCxYMECsw6hXFlZWcbGjRuNjRs3GoDx8ssvGxs3bjT2799vGIb7nz/DqPwxuts5vPfee43g4GBj+fLlRkpKSsly6tSpkjbufB6rcnzudA4ff/xxY+XKlcbevXuNzZs3G0888YRhtVqNZcuWGYbh3ueuWGWP0Z3O3/mc3UvIFc5jnQ8shmEYb7zxhhEZGWn4+PgYPXr0KNXd8Pbbbzcuu+yyUu2XL19udO/e3fDx8TFatWplzJkzp5YrrpzKHN8LL7xgtGnTxvDz8zMaNmxoDBw40Pjqq69MqLpiirsPnr3cfvvthmF4xvmr7DG62zks69gA4/333y9p487nsSrH507n8M477yz5+6Vx48bGFVdcUfJFbhjufe6KVfYY3en8nc/ZgcUVzqPFMIqekhERERFxUXX6GRYRERFxDwosIiIi4vIUWERERMTlKbCIiIiIy1NgEREREZenwCIiIiIuT4FFREREXJ4Ci4iIiLg8BRYRERFxeQosIiIi4vIUWERERMTlKbCIiIiIy/t/aaICYngcq68AAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/week35_146_0.png"
}
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from sklearn.linear_model import LinearRegression\n",
"from sklearn.preprocessing import PolynomialFeatures\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.pipeline import make_pipeline\n",
"\n",
"\n",
"np.random.seed(2018)\n",
"n = 50\n",
"maxdegree = 5\n",
"# Make data set.\n",
"x = np.linspace(-3, 3, n).reshape(-1, 1)\n",
"y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)\n",
"TestError = np.zeros(maxdegree)\n",
"TrainError = np.zeros(maxdegree)\n",
"polydegree = np.zeros(maxdegree)\n",
"x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2)\n",
"scaler = StandardScaler()\n",
"scaler.fit(x_train)\n",
"x_train_scaled = scaler.transform(x_train)\n",
"x_test_scaled = scaler.transform(x_test)\n",
"\n",
"for degree in range(maxdegree):\n",
" model = make_pipeline(PolynomialFeatures(degree=degree), LinearRegression(fit_intercept=False))\n",
" clf = model.fit(x_train_scaled,y_train)\n",
" y_fit = clf.predict(x_train_scaled)\n",
" y_pred = clf.predict(x_test_scaled) \n",
" polydegree[degree] = degree\n",
" TestError[degree] = np.mean( np.mean((y_test - y_pred)**2) )\n",
" TrainError[degree] = np.mean( np.mean((y_train - y_fit)**2) )\n",
"\n",
"plt.plot(polydegree, TestError, label='Test Error')\n",
"plt.plot(polydegree, TrainError, label='Train Error')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "96fc590b",
"metadata": {
"editable": true
},
"source": [
"## More preprocessing examples, two-dimensional example, the Franke function"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "8de8bbfc",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"MSE before scaling: 0.00\n",
"R2 score before scaling 1.00\n",
"Feature min values before scaling:\n",
" [1.00000000e+00 6.97906022e-03 2.43639284e-03 4.87072815e-05\n",
" 1.70037324e-05 5.93601008e-06 3.39931051e-07 1.18670072e-07\n",
" 4.14277718e-08 1.44624525e-08 2.37239927e-09 8.28205578e-10\n",
" 2.89126914e-10 1.00934327e-10 3.52362157e-11 1.65571174e-11\n",
" 5.78009660e-12 2.01783414e-12 7.04426744e-13 2.45915671e-13\n",
" 8.58492636e-14]\n",
"Feature max values before scaling:\n",
" [1. 0.99970894 0.99978365 0.99941797 0.99949266 0.99956735\n",
" 0.99912709 0.99920175 0.99927642 0.9993511 0.99883628 0.99891093\n",
" 0.99898558 0.99906023 0.99913489 0.99854557 0.99862019 0.99869482\n",
" 0.99876945 0.99884409 0.99891873]\n",
"Feature min values after scaling:\n",
" [ 0. -1.71761101 -1.75770568 -1.12330033 -1.12591227 -1.12871842\n",
" -0.88613493 -0.884669 -0.88323026 -0.88182591 -0.75269037 -0.75050135\n",
" -0.74829661 -0.74607851 -0.74384949 -0.6652177 -0.66294408 -0.66064822\n",
" -0.65833132 -0.65599456 -0.6536392 ]\n",
"Feature max values after scaling:\n",
" [0. 1.71737253 1.75576555 2.20916295 2.23971032 2.26995402\n",
" 2.60543038 2.63162342 2.65743689 2.68286725 2.94273542 2.96631321\n",
" 2.98947894 3.01222822 3.034557 3.24159785 3.26297455 3.28391978\n",
" 3.30442964 3.32450054 3.34412923]\n",
"MSE after scaling: 0.00\n",
"R2 score for scaled data: 1.00\n"
]
}
],
"source": [
"# Common imports\n",
"import os\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import sklearn.linear_model as skl\n",
"from sklearn.metrics import mean_squared_error\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.preprocessing import MinMaxScaler, StandardScaler, Normalizer\n",
"\n",
"# Where to save the figures and data files\n",
"PROJECT_ROOT_DIR = \"Results\"\n",
"FIGURE_ID = \"Results/FigureFiles\"\n",
"DATA_ID = \"DataFiles/\"\n",
"\n",
"if not os.path.exists(PROJECT_ROOT_DIR):\n",
" os.mkdir(PROJECT_ROOT_DIR)\n",
"\n",
"if not os.path.exists(FIGURE_ID):\n",
" os.makedirs(FIGURE_ID)\n",
"\n",
"if not os.path.exists(DATA_ID):\n",
" os.makedirs(DATA_ID)\n",
"\n",
"def image_path(fig_id):\n",
" return os.path.join(FIGURE_ID, fig_id)\n",
"\n",
"def data_path(dat_id):\n",
" return os.path.join(DATA_ID, dat_id)\n",
"\n",
"def save_fig(fig_id):\n",
" plt.savefig(image_path(fig_id) + \".png\", format='png')\n",
"\n",
"\n",
"def FrankeFunction(x,y):\n",
"\tterm1 = 0.75*np.exp(-(0.25*(9*x-2)**2) - 0.25*((9*y-2)**2))\n",
"\tterm2 = 0.75*np.exp(-((9*x+1)**2)/49.0 - 0.1*(9*y+1))\n",
"\tterm3 = 0.5*np.exp(-(9*x-7)**2/4.0 - 0.25*((9*y-3)**2))\n",
"\tterm4 = -0.2*np.exp(-(9*x-4)**2 - (9*y-7)**2)\n",
"\treturn term1 + term2 + term3 + term4\n",
"\n",
"\n",
"def create_X(x, y, n ):\n",
"\tif len(x.shape) > 1:\n",
"\t\tx = np.ravel(x)\n",
"\t\ty = np.ravel(y)\n",
"\n",
"\tN = len(x)\n",
"\tl = int((n+1)*(n+2)/2)\t\t# Number of elements in beta\n",
"\tX = np.ones((N,l))\n",
"\n",
"\tfor i in range(1,n+1):\n",
"\t\tq = int((i)*(i+1)/2)\n",
"\t\tfor k in range(i+1):\n",
"\t\t\tX[:,q+k] = (x**(i-k))*(y**k)\n",
"\n",
"\treturn X\n",
"\n",
"\n",
"# Making meshgrid of datapoints and compute Franke's function\n",
"n = 5\n",
"N = 1000\n",
"x = np.sort(np.random.uniform(0, 1, N))\n",
"y = np.sort(np.random.uniform(0, 1, N))\n",
"z = FrankeFunction(x, y)\n",
"X = create_X(x, y, n=n) \n",
"# split in training and test data\n",
"X_train, X_test, y_train, y_test = train_test_split(X,z,test_size=0.2)\n",
"\n",
"\n",
"clf = skl.LinearRegression().fit(X_train, y_train)\n",
"\n",
"# The mean squared error and R2 score\n",
"print(\"MSE before scaling: {:.2f}\".format(mean_squared_error(clf.predict(X_test), y_test)))\n",
"print(\"R2 score before scaling {:.2f}\".format(clf.score(X_test,y_test)))\n",
"\n",
"scaler = StandardScaler()\n",
"scaler.fit(X_train)\n",
"X_train_scaled = scaler.transform(X_train)\n",
"X_test_scaled = scaler.transform(X_test)\n",
"\n",
"print(\"Feature min values before scaling:\\n {}\".format(X_train.min(axis=0)))\n",
"print(\"Feature max values before scaling:\\n {}\".format(X_train.max(axis=0)))\n",
"\n",
"print(\"Feature min values after scaling:\\n {}\".format(X_train_scaled.min(axis=0)))\n",
"print(\"Feature max values after scaling:\\n {}\".format(X_train_scaled.max(axis=0)))\n",
"\n",
"clf = skl.LinearRegression().fit(X_train_scaled, y_train)\n",
"\n",
"\n",
"print(\"MSE after scaling: {:.2f}\".format(mean_squared_error(clf.predict(X_test_scaled), y_test)))\n",
"print(\"R2 score for scaled data: {:.2f}\".format(clf.score(X_test_scaled,y_test)))"
]
},
{
"cell_type": "markdown",
"id": "8dfe4a90",
"metadata": {
"editable": true
},
"source": [
"## To think about, first part\n",
"\n",
"When you are comparing your own code with for example **Scikit-Learn**'s\n",
"library, there are some technicalities to keep in mind. The examples\n",
"here demonstrate some of these aspects with potential pitfalls.\n",
"\n",
"The discussion here focuses on the role of the intercept, how we can\n",
"set up the design matrix, what scaling we should use and other topics\n",
"which tend confuse us.\n",
"\n",
"The intercept can be interpreted as the expected value of our\n",
"target/output variables when all other predictors are set to zero.\n",
"Thus, if we cannot assume that the expected outputs/targets are zero\n",
"when all predictors are zero (the columns in the design matrix), it\n",
"may be a bad idea to implement a model which penalizes the intercept.\n",
"Furthermore, in for example Ridge and Lasso regression (to be discussed in moe detail next week), the default solutions\n",
"from the library **Scikit-Learn** (when not shrinking $\\beta_0$) for the unknown parameters\n",
"$\\boldsymbol{\\beta}$, are derived under the assumption that both $\\boldsymbol{y}$ and\n",
"$\\boldsymbol{X}$ are zero centered, that is we subtract the mean values."
]
},
{
"cell_type": "markdown",
"id": "c0edb6d6",
"metadata": {
"editable": true
},
"source": [
"## More thinking\n",
"\n",
"If our predictors represent different scales, then it is important to\n",
"standardize the design matrix $\\boldsymbol{X}$ by subtracting the mean of each\n",
"column from the corresponding column and dividing the column with its\n",
"standard deviation. Most machine learning libraries do this as a default. This means that if you compare your code with the results from a given library,\n",
"the results may differ. \n",
"\n",
"The\n",
"[Standadscaler](https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html)\n",
"function in **Scikit-Learn** does this for us. For the data sets we\n",
"have been studying in our various examples, the data are in many cases\n",
"already scaled and there is no need to scale them. You as a user of different machine learning algorithms, should always perform a\n",
"survey of your data, with a critical assessment of them in case you need to scale the data.\n",
"\n",
"If you need to scale the data, not doing so will give an *unfair*\n",
"penalization of the parameters since their magnitude depends on the\n",
"scale of their corresponding predictor.\n",
"\n",
"Suppose as an example that you \n",
"you have an input variable given by the heights of different persons.\n",
"Human height might be measured in inches or meters or\n",
"kilometers. If measured in kilometers, a standard linear regression\n",
"model with this predictor would probably give a much bigger\n",
"coefficient term, than if measured in millimeters.\n",
"This can clearly lead to problems in evaluating the cost/loss functions."
]
},
{
"cell_type": "markdown",
"id": "ed0f6bc0",
"metadata": {
"editable": true
},
"source": [
"## Still thinking\n",
"\n",
"Keep in mind that when you transform your data set before training a model, the same transformation needs to be done\n",
"on your eventual new data set before making a prediction. If we translate this into a Python code, it would could be implemented as follows\n",
"(note that the lines are commented since the model function has not been defined)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "99a1133f",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"#Model training, we compute the mean value of y and X\n",
"y_train_mean = np.mean(y_train)\n",
"X_train_mean = np.mean(X_train,axis=0)\n",
"X_train = X_train - X_train_mean\n",
"y_train = y_train - y_train_mean\n",
"\n",
"# The we fit our model with the training data\n",
"#trained_model = some_model.fit(X_train,y_train)\n",
"\n",
"\n",
"#Model prediction, we need also to transform our data set used for the prediction.\n",
"X_test = X_test - X_train_mean #Use mean from training data\n",
"#y_pred = trained_model(X_test)\n",
"y_pred = y_pred + y_train_mean"
]
},
{
"cell_type": "markdown",
"id": "5ef9b25c",
"metadata": {
"editable": true
},
"source": [
"## What does centering (subtracting the mean values) mean mathematically?\n",
"\n",
"Let us try to understand what this may imply mathematically when we\n",
"subtract the mean values, also known as *zero centering*. For\n",
"simplicity, we will focus on ordinary regression, as done in the above example.\n",
"\n",
"The cost/loss function for regression is"
]
},
{
"cell_type": "markdown",
"id": "80ca5485",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"C(\\beta_0, \\beta_1, ... , \\beta_{p-1}) = \\frac{1}{n}\\sum_{i=0}^{n} \\left(y_i - \\beta_0 - \\sum_{j=1}^{p-1} X_{ij}\\beta_j\\right)^2,.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "17ad9823",
"metadata": {
"editable": true
},
"source": [
"Recall also that we use the squared value since this leads to an increase of the penalty for higher differences between predicted and output/target values.\n",
"\n",
"What we have done is to single out the $\\beta_0$ term in the definition of the mean squared error (MSE).\n",
"The design matrix\n",
"$X$ does in this case not contain any intercept column.\n",
"When we take the derivative with respect to $\\beta_0$, we want the derivative to obey"
]
},
{
"cell_type": "markdown",
"id": "7560f426",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial C}{\\partial \\beta_j} = 0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "a7444f64",
"metadata": {
"editable": true
},
"source": [
"for all $j$. For $\\beta_0$ we have"
]
},
{
"cell_type": "markdown",
"id": "2aad0c8b",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial C}{\\partial \\beta_0} = -\\frac{2}{n}\\sum_{i=0}^{n-1} \\left(y_i - \\beta_0 - \\sum_{j=1}^{p-1} X_{ij} \\beta_j\\right).\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "de870a72",
"metadata": {
"editable": true
},
"source": [
"Multiplying away the constant $2/n$, we obtain"
]
},
{
"cell_type": "markdown",
"id": "7a6c517e",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\sum_{i=0}^{n-1} \\beta_0 = \\sum_{i=0}^{n-1}y_i - \\sum_{i=0}^{n-1} \\sum_{j=1}^{p-1} X_{ij} \\beta_j.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "753afefe",
"metadata": {
"editable": true
},
"source": [
"## Further Manipulations\n",
"\n",
"Let us special first to the case where we have only two parameters $\\beta_0$ and $\\beta_1$.\n",
"Our result for $\\beta_0$ simplifies then to"
]
},
{
"cell_type": "markdown",
"id": "3005c150",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"n\\beta_0 = \\sum_{i=0}^{n-1}y_i - \\sum_{i=0}^{n-1} X_{i1} \\beta_1.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "79eace73",
"metadata": {
"editable": true
},
"source": [
"We obtain then"
]
},
{
"cell_type": "markdown",
"id": "38d75fef",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\beta_0 = \\frac{1}{n}\\sum_{i=0}^{n-1}y_i - \\beta_1\\frac{1}{n}\\sum_{i=0}^{n-1} X_{i1}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "60f367fa",
"metadata": {
"editable": true
},
"source": [
"If we define"
]
},
{
"cell_type": "markdown",
"id": "9131a799",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\mu_1=\\frac{1}{n}\\sum_{i=0}^{n-1} (X_{i1},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "8cbfafa2",
"metadata": {
"editable": true
},
"source": [
"and if we define the mean value of the outputs as"
]
},
{
"cell_type": "markdown",
"id": "9d4a45df",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\mu_y=\\frac{1}{n}\\sum_{i=0}^{n-1}y_i,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "19284bfb",
"metadata": {
"editable": true
},
"source": [
"we have"
]
},
{
"cell_type": "markdown",
"id": "e1ccefe0",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\beta_0 = \\mu_y - \\beta_1\\mu_{1}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "e6228ac9",
"metadata": {
"editable": true
},
"source": [
"In the general case, that is we have more parameters than $\\beta_0$ and $\\beta_1$, we have"
]
},
{
"cell_type": "markdown",
"id": "474d165a",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\beta_0 = \\frac{1}{n}\\sum_{i=0}^{n-1}y_i - \\frac{1}{n}\\sum_{i=0}^{n-1}\\sum_{j=1}^{p-1} X_{ij}\\beta_j.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "01c6f359",
"metadata": {
"editable": true
},
"source": [
"Replacing $y_i$ with $y_i - y_i - \\overline{\\boldsymbol{y}}$ and centering also our design matrix results in a cost function (in vector-matrix disguise)"
]
},
{
"cell_type": "markdown",
"id": "104df9ea",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"C(\\boldsymbol{\\beta}) = (\\boldsymbol{\\tilde{y}} - \\tilde{X}\\boldsymbol{\\beta})^T(\\boldsymbol{\\tilde{y}} - \\tilde{X}\\boldsymbol{\\beta}).\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "86f33ebf",
"metadata": {
"editable": true
},
"source": [
"## Wrapping it up\n",
"\n",
"If we minimize with respect to $\\boldsymbol{\\beta}$ we have then"
]
},
{
"cell_type": "markdown",
"id": "b8893d78",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\hat{\\boldsymbol{\\beta}} = (\\tilde{X}^T\\tilde{X})^{-1}\\tilde{X}^T\\boldsymbol{\\tilde{y}},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "cc8ec307",
"metadata": {
"editable": true
},
"source": [
"where $\\boldsymbol{\\tilde{y}} = \\boldsymbol{y} - \\overline{\\boldsymbol{y}}$\n",
"and $\\tilde{X}_{ij} = X_{ij} - \\frac{1}{n}\\sum_{k=0}^{n-1}X_{kj}$.\n",
"\n",
"For Ridge regression we need to add $\\lambda \\boldsymbol{\\beta}^T\\boldsymbol{\\beta}$ to the cost function and get then"
]
},
{
"cell_type": "markdown",
"id": "234e3f6e",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\hat{\\boldsymbol{\\beta}} = (\\tilde{X}^T\\tilde{X} + \\lambda I)^{-1}\\tilde{X}^T\\boldsymbol{\\tilde{y}}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "d1c0397f",
"metadata": {
"editable": true
},
"source": [
"What does this mean? And why do we insist on all this? Let us look at some examples."
]
},
{
"cell_type": "markdown",
"id": "799912a7",
"metadata": {
"editable": true
},
"source": [
"## Linear Regression code, Intercept handling first\n",
"\n",
"This code shows a simple first-order fit to a data set using the above transformed data, where we consider the role of the intercept first, by either excluding it or including it (*code example thanks to Øyvind Sigmundson Schøyen*). Here our scaling of the data is done by subtracting the mean values only.\n",
"Note also that we do not split the data into training and test."
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "5a3de91e",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"True beta: [2, 0.5, 3.7]\n",
"Fitted beta: [2.08376632 0.19569961 3.97898392]\n",
"Sklearn fitted beta: [2.08376632 0.19569961 3.97898392]\n",
"MSE with intercept column\n",
"0.004113634617443139\n",
"MSE with intercept column from SKL\n",
"0.004113634617443147\n",
"Manual intercept: 2.083766322923899\n",
"Fitted beta (wiothout intercept): [0.19569961 3.97898392]\n",
"Sklearn intercept: 2.0837663229239043\n",
"Sklearn fitted beta (without intercept): [0.19569961 3.97898392]\n",
"MSE with Manual intercept\n",
"0.00411363461744314\n",
"MSE with Sklearn intercept\n",
"0.004113634617443131\n"
]
},
{
"data": {
"image/png": "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7e1Zv349sbGxvPfee8TFxck8ixw8S54bNWrEL7/8Qs+ePUlLS0Or1dK5c2e+++47c4RcbFjiXFgoeiweevw264qiPPHW69ntn912YSyveX5o1apVjB8/nl9//RUvLy9ThVdk5DbPOp2OPn36MGHCBKpUqWKu8IqUvHyn9Xo9KpWKX375hZCQENq3b8+sWbNYunSp9Fo8RV7yHB4ezgcffMCXX37J8ePHCQ0NJTIyknfffdccoRYr5j4XFoo/fUqVKoVarc5S+cbExGSpxB7y8fHJdn9ra2s8PDxMFmth9ix5fujXX3/lrbfeYs2aNbRq1cqUYRZ6ec1zYmIix44d4+TJkwwfPhzIPPkpioK1tTXbt2+nZcuWZom9sHmW77Svry9lypQxuj109erVURSFGzduULlyZZPGXBg9S56nTJlC48aN+fDDDwGoVasWTk5ONGnShK+++kp6lfOJJc6FhaLHwtbWlhdeeIEdO3YYbd+xYweNGjXK9piGDRtm2X/79u3Uq1cPGxsbk8VamD1LniGzp2LAgAGsXLlSxkdzIa95dnV15cyZM5w6dcrwePfdd6latSqnTp2ifv365gq90HmW73Tjxo25desWSUlJhm0XL17EysqKsmXLmjTewupZ8pySkoKVlfEpSK1WA//7i1o8P4ucC002LTSfPbyU6eeff1bCw8OVkSNHKk5OTkpUVJSiKIry8ccfK3379jXs//ASm1GjRinh4eHKzz//LJeb5kJe87xy5UrF2tpa+eGHH5To6GjD48GDB5b6CIVCXvP8OLkqJPfymuvExESlbNmySvfu3ZWzZ88qe/bsUSpXrqy8/fbblvoIhUJe87xkyRLF2tpamTdvnhIREaHs379fqVevnhISEmKpj1AoJCYmKidPnlROnjypAMqsWbOUkydPGi7rLQjnwkJTWCiKovzwww9K+fLlFVtbW6Vu3brKnj17DK/1799fadasmdH+u3fvVurUqaPY2toq/v7+yvz5880cceGUlzw3a9ZMAbI8+vfvb/7AC5m8fp8fJYVF3uQ11+fOnVNatWqlODg4KGXLllVGjx6tpKSkmDnqwieveZ47d64SGBioODg4KL6+vsobb7yh3Lhxw8xRFy67du164u/cgnAulNumCyGEECLfFIo5FkIIIYQoHKSwEEIIIUS+kcJCCCGEEPlGCgshhBBC5BspLIQQQgiRb6SwEEIIIUS+kcJCCCGEEPlGCgshhBBC5BspLIQQQgiRb6SwEEIIIUS+kcJCCCGEEPlGCgshhBBC5Jv/B0LFhVYonimoAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/week35_181_1.png"
}
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"from sklearn.linear_model import LinearRegression\n",
"\n",
"\n",
"np.random.seed(2021)\n",
"\n",
"def MSE(y_data,y_model):\n",
" n = np.size(y_model)\n",
" return np.sum((y_data-y_model)**2)/n\n",
"\n",
"\n",
"def fit_beta(X, y):\n",
" return np.linalg.pinv(X.T @ X) @ X.T @ y\n",
"\n",
"\n",
"true_beta = [2, 0.5, 3.7]\n",
"\n",
"x = np.linspace(0, 1, 11)\n",
"y = np.sum(\n",
" np.asarray([x ** p * b for p, b in enumerate(true_beta)]), axis=0\n",
") + 0.1 * np.random.normal(size=len(x))\n",
"\n",
"degree = 3\n",
"X = np.zeros((len(x), degree))\n",
"\n",
"# Include the intercept in the design matrix\n",
"for p in range(degree):\n",
" X[:, p] = x ** p\n",
"\n",
"beta = fit_beta(X, y)\n",
"\n",
"# Intercept is included in the design matrix\n",
"skl = LinearRegression(fit_intercept=False).fit(X, y)\n",
"\n",
"print(f\"True beta: {true_beta}\")\n",
"print(f\"Fitted beta: {beta}\")\n",
"print(f\"Sklearn fitted beta: {skl.coef_}\")\n",
"ypredictOwn = X @ beta\n",
"ypredictSKL = skl.predict(X)\n",
"print(f\"MSE with intercept column\")\n",
"print(MSE(y,ypredictOwn))\n",
"print(f\"MSE with intercept column from SKL\")\n",
"print(MSE(y,ypredictSKL))\n",
"\n",
"\n",
"plt.figure()\n",
"plt.scatter(x, y, label=\"Data\")\n",
"plt.plot(x, X @ beta, label=\"Fit\")\n",
"plt.plot(x, skl.predict(X), label=\"Sklearn (fit_intercept=False)\")\n",
"\n",
"\n",
"# Do not include the intercept in the design matrix\n",
"X = np.zeros((len(x), degree - 1))\n",
"\n",
"for p in range(degree - 1):\n",
" X[:, p] = x ** (p + 1)\n",
"\n",
"# Intercept is not included in the design matrix\n",
"skl = LinearRegression(fit_intercept=True).fit(X, y)\n",
"\n",
"# Use centered values for X and y when computing coefficients\n",
"y_offset = np.average(y, axis=0)\n",
"X_offset = np.average(X, axis=0)\n",
"\n",
"beta = fit_beta(X - X_offset, y - y_offset)\n",
"intercept = np.mean(y_offset - X_offset @ beta)\n",
"\n",
"print(f\"Manual intercept: {intercept}\")\n",
"print(f\"Fitted beta (wiothout intercept): {beta}\")\n",
"print(f\"Sklearn intercept: {skl.intercept_}\")\n",
"print(f\"Sklearn fitted beta (without intercept): {skl.coef_}\")\n",
"ypredictOwn = X @ beta\n",
"ypredictSKL = skl.predict(X)\n",
"print(f\"MSE with Manual intercept\")\n",
"print(MSE(y,ypredictOwn+intercept))\n",
"print(f\"MSE with Sklearn intercept\")\n",
"print(MSE(y,ypredictSKL))\n",
"\n",
"plt.plot(x, X @ beta + intercept, \"--\", label=\"Fit (manual intercept)\")\n",
"plt.plot(x, skl.predict(X), \"--\", label=\"Sklearn (fit_intercept=True)\")\n",
"plt.grid()\n",
"plt.legend()\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "0f069973",
"metadata": {
"editable": true
},
"source": [
"The intercept is the value of our output/target variable\n",
"when all our features are zero and our function crosses the $y$-axis (for a one-dimensional case). \n",
"\n",
"Printing the MSE, we see first that both methods give the same MSE, as\n",
"they should. However, when we move to for example Ridge regression (discussed next week),\n",
"the way we treat the intercept may give a larger or smaller MSE,\n",
"meaning that the MSE can be penalized by the value of the\n",
"intercept. Not including the intercept in the fit, means that the\n",
"regularization term does not include $\\beta_0$. For different values\n",
"of $\\lambda$, this may lead to differing MSE values. \n",
"\n",
"To remind the reader, the regularization term, with the intercept in Ridge regression is given by"
]
},
{
"cell_type": "markdown",
"id": "e76beb96",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\lambda \\vert\\vert \\boldsymbol{\\beta} \\vert\\vert_2^2 = \\lambda \\sum_{j=0}^{p-1}\\beta_j^2,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "4fe81d64",
"metadata": {
"editable": true
},
"source": [
"but when we take out the intercept, this equation becomes"
]
},
{
"cell_type": "markdown",
"id": "bb22d80f",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\lambda \\vert\\vert \\boldsymbol{\\beta} \\vert\\vert_2^2 = \\lambda \\sum_{j=1}^{p-1}\\beta_j^2.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "293ce41e",
"metadata": {
"editable": true
},
"source": [
"For Lasso regression we have"
]
},
{
"cell_type": "markdown",
"id": "8a969677",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\lambda \\vert\\vert \\boldsymbol{\\beta} \\vert\\vert_1 = \\lambda \\sum_{j=1}^{p-1}\\vert\\beta_j\\vert.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "d93685ad",
"metadata": {
"editable": true
},
"source": [
"It means that, when scaling the design matrix and the outputs/targets,\n",
"by subtracting the mean values, we have an optimization problem which\n",
"is not penalized by the intercept. The MSE value can then be smaller\n",
"since it focuses only on the remaining quantities. If we however bring\n",
"back the intercept, we will get an MSE which then contains the\n",
"intercept. This becomes more important when we discuss Ridge and Lasso\n",
"regression next week."
]
},
{
"cell_type": "markdown",
"id": "9abd5b44",
"metadata": {
"editable": true
},
"source": [
"## The Boston housing data example\n",
"\n",
"The Boston housing \n",
"data set was originally a part of UCI Machine Learning Repository\n",
"and has been removed now. The data set is now included in **Scikit-Learn**'s \n",
"library. There are 506 samples and 13 feature (predictor) variables\n",
"in this data set. The objective is to predict the value of prices of\n",
"the house using the features (predictors) listed here.\n",
"\n",
"The features/predictors are\n",
"1. CRIM: Per capita crime rate by town\n",
"\n",
"2. ZN: Proportion of residential land zoned for lots over 25000 square feet\n",
"\n",
"3. INDUS: Proportion of non-retail business acres per town\n",
"\n",
"4. CHAS: Charles River dummy variable (= 1 if tract bounds river; 0 otherwise)\n",
"\n",
"5. NOX: Nitric oxide concentration (parts per 10 million)\n",
"\n",
"6. RM: Average number of rooms per dwelling\n",
"\n",
"7. AGE: Proportion of owner-occupied units built prior to 1940\n",
"\n",
"8. DIS: Weighted distances to five Boston employment centers\n",
"\n",
"9. RAD: Index of accessibility to radial highways\n",
"\n",
"10. TAX: Full-value property tax rate per USD10000\n",
"\n",
"11. B: $1000(Bk - 0.63)^2$, where $Bk$ is the proportion of [people of African American descent] by town\n",
"\n",
"12. LSTAT: Percentage of lower status of the population\n",
"\n",
"13. MEDV: Median value of owner-occupied homes in USD 1000s"
]
},
{
"cell_type": "markdown",
"id": "b8bd6825",
"metadata": {
"editable": true
},
"source": [
"## Housing data, the code\n",
"We start by importing the libraries"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "2c2b3d87",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt \n",
"\n",
"import pandas as pd \n",
"import seaborn as sns"
]
},
{
"cell_type": "markdown",
"id": "fea1bc2e",
"metadata": {
"editable": true
},
"source": [
"and load the Boston Housing DataSet from **Scikit-Learn**"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "a80976dc",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/utils/deprecation.py:87: FutureWarning: Function load_boston is deprecated; `load_boston` is deprecated in 1.0 and will be removed in 1.2.\n",
"\n",
" The Boston housing prices dataset has an ethical problem. You can refer to\n",
" the documentation of this function for further details.\n",
"\n",
" The scikit-learn maintainers therefore strongly discourage the use of this\n",
" dataset unless the purpose of the code is to study and educate about\n",
" ethical issues in data science and machine learning.\n",
"\n",
" In this special case, you can fetch the dataset from the original\n",
" source::\n",
"\n",
" import pandas as pd\n",
" import numpy as np\n",
"\n",
"\n",
" data_url = \"http://lib.stat.cmu.edu/datasets/boston\"\n",
" raw_df = pd.read_csv(data_url, sep=\"\\s+\", skiprows=22, header=None)\n",
" data = np.hstack([raw_df.values[::2, :], raw_df.values[1::2, :2]])\n",
" target = raw_df.values[1::2, 2]\n",
"\n",
" Alternative datasets include the California housing dataset (i.e.\n",
" :func:`~sklearn.datasets.fetch_california_housing`) and the Ames housing\n",
" dataset. You can load the datasets as follows::\n",
"\n",
" from sklearn.datasets import fetch_california_housing\n",
" housing = fetch_california_housing()\n",
"\n",
" for the California housing dataset and::\n",
"\n",
" from sklearn.datasets import fetch_openml\n",
" housing = fetch_openml(name=\"house_prices\", as_frame=True)\n",
"\n",
" for the Ames housing dataset.\n",
" \n",
" warnings.warn(msg, category=FutureWarning)\n"
]
},
{
"data": {
"text/plain": [
"dict_keys(['data', 'target', 'feature_names', 'DESCR', 'filename', 'data_module'])"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.datasets import load_boston\n",
"\n",
"boston_dataset = load_boston()\n",
"\n",
"# boston_dataset is a dictionary\n",
"# let's check what it contains\n",
"boston_dataset.keys()"
]
},
{
"cell_type": "markdown",
"id": "aa3b722c",
"metadata": {
"editable": true
},
"source": [
"Then we invoke Pandas"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "828172e1",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"boston = pd.DataFrame(boston_dataset.data, columns=boston_dataset.feature_names)\n",
"boston.head()\n",
"boston['MEDV'] = boston_dataset.target"
]
},
{
"cell_type": "markdown",
"id": "eee71c11",
"metadata": {
"editable": true
},
"source": [
"and preprocess the data"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "7c8a5c54",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"CRIM 0\n",
"ZN 0\n",
"INDUS 0\n",
"CHAS 0\n",
"NOX 0\n",
"RM 0\n",
"AGE 0\n",
"DIS 0\n",
"RAD 0\n",
"TAX 0\n",
"PTRATIO 0\n",
"B 0\n",
"LSTAT 0\n",
"MEDV 0\n",
"dtype: int64"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# check for missing values in all the columns\n",
"boston.isnull().sum()"
]
},
{
"cell_type": "markdown",
"id": "a0c893b5",
"metadata": {
"editable": true
},
"source": [
"We can then visualize the data"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "58711c38",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/seaborn/distributions.py:2619: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n",
" warnings.warn(msg, FutureWarning)\n"
]
},
{
"data": {
"image/png": "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MEhPT2fTpk0tHrdx40aGDBniprMQEREREREROTOPjvG2Wq1Mnz6dV199lfDwcGJjY3nllVeIiYlhwoQJOBwOTp48SVBQEL6+vgwaNIj09HTuv/9+nn76aWpqapg9ezbXXHMN0dHRAMyYMYNf/vKXpKSkMHr0aBYtWsTevXt54YUXPHmqIiIiIiIi4qUM1/lMLdeGHA4Hc+fOZfHixdTV1TFs2DCeeuop4uLiyMnJYfz48cyZM4drr70WgJKSEp555hnWrFmDzWZj4sSJPProo83juwGWLFnCW2+9RUFBAUlJScyaNYsRI0Z46hRFRERERETEi3k88RYRERERERG5mHl0jLeIiIiIiIjIxU6Jt4iIiIiIiIgbKfEWERERERERcSMl3iIiIiIiIiJupMRbRERERERExI2UeIuIiIiIiIi4kRJvERERERERETdS4i1u5XQ6eeONNxg1ahSDBg3i9ttvJzs729NhiYe99dZb3HLLLS3K9u7dy/Tp0xk8eDBjx45l3rx5HopO2ltZWRlPPfUUo0ePJj09nRtvvJGMjIzm/Wob3q2kpIRZs2YxfPhw0tLS+OUvf8nBgweb96t9CMCRI0dIS0tj8eLFzWVqG94tNzeXPn36tNoWLFgAqH14uyVLljBp0iQGDBjA5MmTWb58efM+d7UNJd7iVm+99Rbz58/n+eef56OPPsIwDO68804aGho8HZp4yPvvv88bb7zRoqy0tJQZM2bQs2dPFi1axD333MPvfvc7Fi1a5KEopT098MAD7Nixg7lz57Jw4UJSU1O54447OHTokNqG8Otf/5rjx4/zzjvvsHDhQnx9fbntttuora1V+xAAGhsbeeihh6ipqWkuU9uQffv2YbPZWLNmDWvXrm3epkyZovbh5f7xj3/w2GOPccMNN7B06VImTZrEAw88wLZt29zaNixtELvIaTU0NPDuu+8ya9YsxowZA8Drr7/OqFGjWLlyJZMnT/ZwhNKeCgsLefzxx9myZQsJCQkt9n388cdYrVaefvppLBYLiYmJZGdn884773Ddddd5KGJpD9nZ2axbt46///3vpKenA/D444+zevVqli5diq+vr9qGFystLSUuLo5f//rX9O7dG4C77rqLq6++mgMHDrB+/Xq1D+HNN98kICCgRZk+V2T//v0kJCQQFRXVat8HH3yg9uGlXC4Xv/vd77j11lu59dZbAbj77rvZunUrmzZtYtOmTW5rG+rxFrfJysqiurqa4cOHN5cFBweTkpLC5s2bPRiZeMKePXsICQnh008/ZdCgQS32ZWRkMGzYMCyW768FDh8+nCNHjlBSUtLeoUo7CgsL4+2336Z///7NZYZh4HK5KC8vV9vwcmFhYcydO7c56T5x4gTz5s0jJiaGpKQktQ9h8+bNfPTRR7z88sstytU2ZN++fSQlJZ12n9qH9zp8+DC5ublMmTKlRfm8efOYOXOmW9uGEm9xm4KCAgC6du3aojwqKor8/HxPhCQeNG7cOF577TW6d+/eal9BQQExMTEtyk5doc7Ly2uX+MQzgoODGTNmDFartbls+fLlHDt2jJEjR6ptSLMnn3ySyy67jBUrVvDCCy/g7++v9uHlKioq+M1vfsMTTzzR6ruG2obs37+fkpISbrrpJi699FJuvPFG1qxZA6h9eLOjR48CUFNTwx133MGIESO4/vrrWbVqFeDetqHEW9ymtrYWoMUXagCbzUZ9fb0nQpIOqq6u7rTtBFBb8TJbtmzhscceY/z48YwbN05tQ5rdeuutLFq0iKuuuoq7776bPXv2qH14uaeffprBgwe36rkCfa54u4aGBo4ePUpVVRX33Xcfb7/9NgMGDODOO+9k/fr1ah9erKqqCoCHH36YK6+8knfffZfLLruMu+66y+1tQ2O8xW18fX2Bpje/U79DU6P18/PzVFjSAfn6+raacO/Um5u/v78nQhIP+Ne//sVDDz3EoEGDmDt3LqC2Id87dcvoc889x/bt2/nwww/VPrzYkiVLyMjI4LPPPjvtfrUN72a1Wtm8eTMWi6U5ierfvz+HDh1i3rx5ah9ezMfHB4A77riDqVOnAtCvXz8yMzN577333No21OMtbnPqtq+ioqIW5UVFRa1u4RDvFhMTc9p2AhAdHe2JkKSdffjhh9xzzz2MHj2ad955p/lindqGdyspKWHp0qU4HI7mMpPJRGJiYvNnidqHd1q0aBElJSWMHTuWtLQ00tLSAJg9ezaTJ09W2xD8/f1b9VwmJydTWFio9uHFTuUgycnJLcqTkpLIyclxa9tQ4i1u07dvXwIDA9m4cWNzWUVFBZmZmQwdOtSDkUlHM2zYMLZs2dLiy/X69etJSEggIiLCg5FJe/jb3/7Gc889x80338xvf/vbFl+U1Da8W1FREQ8++CCbNm1qLmtsbCQzM5PExES1Dy/26quvsmzZMpYsWdK8Adx77728/fbbahteLisri7S0NDIyMlqU7969m6SkJLUPL5aSkkJAQAA7duxoUb5//37i4+Pd2jaUeIvbWK1Wpk+fzquvvsqXX35JVlYW999/PzExMUyYMMHT4UkHct1111FVVcXjjz/OwYMHWbx4MR988AEzZ870dGjiZkeOHOHFF19kwoQJzJw5k5KSEoqLiykuLqayslJtw8v17duXkSNH8swzz5CRkcH+/ft5+OGHqaio4LbbblP78GLR0dH06NGjxQYQERFBbGys2oaXS05Opnfv3s3vHYcOHWLOnDls376dX/3qV2ofXszX15df/OIX/OEPf2Dp0qUcO3aMP/7xj6xbt44ZM2a4tW0YLpfL1QbnIHJaDoeDuXPnsnjxYurq6hg2bBhPPfUUcXFxng5NPOiRRx4hNzeXv/zlL81lO3fu5IUXXiAzM5PIyEhuv/12pk+f7sEopT386U9/4vXXXz/tvqlTp/LSSy+pbXi5yspKXnvtNf71r39RWVnJ0KFDeeSRR5qXGFP7kFP69OnDnDlzuPbaawG1DW938uRJXn31VVavXk1FRQUpKSk89NBDzXddqn14t/fee48PP/yQwsJCEhMTueeee7j88ssB97UNJd4iIiIiIiIibqRbzUVERERERETcSIm3iIiIiIiIiBsp8RYRERERERFxIyXeIiIiIiIiIm6kxFtERERERETEjZR4i4iIiIiIiLiREm8RERERERERN1LiLSIiIiIiIuJGFk8HICIiIm3vlltuYdOmTaSlpTF//vzTHnP//fezbNkypk6dyksvvdT8mDNJTU1l8eLFLeo/xTAM/Pz8SEhIYOrUqdx0002YzWYAZsyYwZ49e1i7di1Wq/W0dV999dVYrVYWLFhwvqcsIiLSYSnxFhERuUiZTCa2b99Ofn4+Xbt2bbGvtraWr7/+utVjUlJSmD179mnr8/f3P+OxDoeD8vJyvvnmG1588UW2bNnC66+/jmEYTJs2jW+//ZbVq1dz+eWXt6o3KyuLrKwsnn322fM8UxERkY5NibeIiMhFKiUlhYMHD7JixQpmzJjRYt+qVauw2WwEBQW1KA8MDGTw4MFnVf/pjh03bhwJCQnMmTOHcePGcdVVVzFhwgRCQkL49NNPT5t4L1myBH9/fyZPnnxO5yciItJZaIy3iIjIRcrf358xY8awfPnyVvuWLVvGxIkTsVja/hr8LbfcQlRUVPMt7larlSlTpvDVV19RWVnZ4liHw8HSpUuZOHEigYGBbR6LiIhIR6DEW0RE5CI2adIkduzYQV5eXnNZVVUVq1ev5sorr2x1vMvlwm63n3ZzuVxn9Zxms5kRI0awc+dO7HY7ANOmTaOhoYEVK1a0OHbt2rUUFxczbdq0CzhLERGRjk2Jt4iIyEVs7Nix+Pv7t0h4V65cSXh4OEOGDGl1/ObNm0lNTT3t9umnn57183bp0oXGxkbKysoA6NevHykpKXz22Wctjvvkk09ITEw8bSwiIiIXC43xFhERuYj5+voybtw4li9fzu233w7A559/zqRJkzAMo9XxqampPPPMM6etq3v37uf8/D98jmnTpvH8889TUFBATEwMlZWVrFq1ivvuu++c6xUREelM1OMtIiJykbviiivYuXMnOTk5lJaWsn79+jNOZBYQEMCAAQNOu4WGhp71cxYWFuLr69viMVOmTMHHx4elS5cCTePMnU4nV1999YWcnoiISIenxFtEROQiN3r0aIKCgvjnP//JypUriYuLo3///m57PofDwaZNm0hPT29eyxsgODiYCRMmNN9uvmTJEsaNG0dERITbYhEREekIlHiLiIhc5KxWK+PHj+eLL75g+fLlbl+2a/78+RQVFXHjjTe22jdt2jSysrLYtGkT27Zt06RqIiLiFTTGW0RExAtMmjSJmTNnYjKZeOKJJ854XFVVFdu3bz/j/v79+zcvQfbDY51OJ6Wlpaxdu5aPPvqIq666ip/85CetHj98+HDi4uJ48skniYmJYeTIkRd0XiIiIp2BEm8REREvcOmllxIcHEzXrl1JTEw843GZmZnccMMNZ9y/fv16wsPDWx1rMpmIiIggISGBl156iSlTppz28YZhcO211/LGG29w9913YzLp5jsREbn4Ga6zXZRTRERERERERM6ZLjOLiIiIiIiIuJESbxERERERERE3UuItIiIiIiIi4kZKvEVERERERETcSIm3iIiIiIiIiBsp8RYRERERERFxIyXeIiIiIiIiIm6kxFtERERERETEjZR4i4iIiIiIiLiREm8RERERERERN1LiLSIiIiIiIuJG/x9SEnz01w/LAAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 1170x827 with 1 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/week35_199_1.png"
}
},
"output_type": "display_data"
}
],
"source": [
"# set the size of the figure\n",
"sns.set(rc={'figure.figsize':(11.7,8.27)})\n",
"\n",
"# plot a histogram showing the distribution of the target values\n",
"sns.distplot(boston['MEDV'], bins=30)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "d899ec3f",
"metadata": {
"editable": true
},
"source": [
"It is now useful to look at the correlation matrix"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "59925df7",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1170x827 with 2 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/week35_201_1.png"
}
},
"output_type": "display_data"
}
],
"source": [
"# compute the pair wise correlation for all columns \n",
"correlation_matrix = boston.corr().round(2)\n",
"# use the heatmap function from seaborn to plot the correlation matrix\n",
"# annot = True to print the values inside the square\n",
"sns.heatmap(data=correlation_matrix, annot=True)"
]
},
{
"cell_type": "markdown",
"id": "083a679e",
"metadata": {
"editable": true
},
"source": [
"From the above coorelation plot we can see that **MEDV** is strongly correlated to **LSTAT** and **RM**. We see also that **RAD** and **TAX** are stronly correlated, but we don't include this in our features together to avoid multi-colinearity"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "127a3dda",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABlQAAAHZCAYAAADwh9YwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAA9hAAAPYQGoP6dpAADokElEQVR4nOz9fXxU5Z0//r9mcjMJyYTMhAQEIiC5I6RoDCDi7UIQVNaC+imCWm3dLaV82sfuttrttt3V7263rrXt7sfyo1bd1VYBuypRqYIEqy2CAhFEhNxgIQYQgmRCbsj9zO+PeOLMZM451zlzzsw5M6/n47GPreHMzDXnzJy5rvf7uq63IxAIBEBERERERERERERERESynPFuABERERERERERERERkdUxoUJERERERERERERERKSCCRUiIiIiIiIiIiIiIiIVTKgQERERERERERERERGpYEKFiIiIiIiIiIiIiIhIBRMqREREREREREREREREKphQISIiIiIiIiIiIiIiUsGEChERERERERERERERkQomVIiIiIiIiIiIiIiIiFSkxrsBRERkLXfffTcA4He/+53sMT6fD7/+9a+xY8cOnD59GmPGjMGMGTOwatUqLF68GADw3nvv4atf/arq6/32t7/FFVdcAQDYvXs37r33XkyfPh2vvfbayDEvvfQSfvCDH6g+144dOzB58mTV44iIiIiIiGLl7rvvxp49e0L+5nA4kJWVhUsuuQT33nsvbr755pBjKysrsWnTpojP9/d///d47bXXsHz5cjz88MOmt5+IiL7AhAoREWnS29uLO++8E4ODg/jbv/1bTJ06FZ2dnXj99dfxne98Bz/4wQ9w7733YubMmXj++edHHvfRRx/h//v//j/88z//M2bOnDny96KiopH//eKLL6KkpASNjY3Ys2cP5s6dCwC4/vrrQ57rrbfewvr16/GrX/0K+fn5I38vKCgw860TERERERHpUl5ejn/5l38Z+e+hoSGcPn0aTz/9NP7hH/4Bbrcb1157LQDA6XTiwIED+PTTT3HRRReFPE9PTw/eeuutWDadiIiCMKFCRESabN26FR9//DG2bt2KadOmjfy9uroavb29eOyxx3D33XcjOzsbl1122ci/9/X1ARhOoAT/XdLZ2Ynt27fjRz/6EZ5++mls2rRpJKHi9Xrh9XpHjv3LX/4CAJgxYwZXpBARERERkeWFj48k1113Ha688kq8+OKLIwmV8vJyHD16FFu3bsXXvva1kOPffPNNuFwuuN3uWDSbiIjCsIYKERFp8tlnnwEAAoHAqH9bvXo1vvWtb6G/v1/z827ZsgX9/f249tprccstt+CNN95AW1tb1O0lIiIiIiKyqvT0dKSlpYX8bcyYMbjuuuvw+uuvjzr+tddew5IlS5CayjnSRETxwIQKERFpcs011yA1NRX33HMPfvWrX+HAgQMYGBgAAMyaNQv33XcfMjMzNT/viy++iPnz52P8+PFYtmwZ/H4/XnjhBaObT0REREREFHOBQACDg4Mj/9fX14fm5mb86Ec/Qnd3N7785S+HHH/TTTfhgw8+wKlTp0b+1tXVhT/96U9YunRprJtPRESfY0KFiIg0KS0txS9/+Uv4/X489thjWLFiBWbPno377rsvpJC8Fk1NTfjwww9x2223AQDGjx+Pq666Cr///e8jroQhIiIiIiKyk71792LmzJkj/zdr1iwsXrwY9fX1+K//+i8sWLAg5Pjrr78eY8aMwdatW0f+tn37dni9XlRVVcW6+URE9DkmVIiISLMbbrgBb731Fp588kl8/etfx/Tp07Fr1y78/d//Pb7zne9oToK88MILyMrKwty5c9HR0YGOjg4sWbIELS0t2Llzp0nvgoiIiIiIKDZmzpyJF154AS+88ALWrVuHkpISTJ06Fb/85S+xZMmSUcdnZGRgwYIFIdt+/eEPf8BNN90Eh8MRy6YTEVEQbrhIRES6pKWl4ZprrsE111wDAGhtbcW//du/Ydu2bXjrrbfwV3/1V0LPMzAwgFdeeQXd3d246qqrRv37pk2bRl6DiIiIiIjIjrKysvClL30JAPClL30JlZWV+PKXv4yvf/3r2Lx5M7xe76jH3HjjjVi7di1OnDiBrKws7N69G3/3d38X45YTEVEwrlAhIiJN7rjjDvzgBz8Y9feCggL827/9GwDg6NGjws/3xz/+EW1tbXjwwQfx29/+NuT/li5dij/+8Y84c+aMYe0nIiIiIiKKt7y8PPzzP/8zTp8+jZ/85CcRj7n22mvhdruxbds2bN++HZMnT0ZFRUWMW0pERMGYUCEiIk0mTZqErVu3oqWlZdS/HTt2DABQUlIi/HwvvvgiCgoKsGLFClxxxRUh/3fPPfdgaGgI//u//2tY+4mIiIiIiKzghhtuwDXXXIMtW7bgvffeG/Xv6enpWLhwId544w28/vrruPnmm+PQSiIiCsYtv4iIaJTTp0/j6aefHvX3oqIi/P3f/z3ee+893H777fjqV7+KyspKOJ1OfPjhh/jv//5vXHvttbj22muFXqe1tRV//vOfcffdd8PpHJ3jnzVrFqZPn47//d//xZo1a5CSkhLtWyMiIiIiIrKMf/qnf8Itt9yCf/u3f8PmzZtH/ftNN92E1atXw+l04kc/+lEcWkhERMGYUCEiolE++eQT/PSnPx319+XLl+Phhx/G5s2b8fjjj+PVV1/FE088gUAggClTpuC+++7DV7/6VeEiiTU1NRgaGsLSpUtlj1m2bBl+/vOf449//COqq6t1vyciIiIiIiKrueSSS3D33Xfjv//7v/Hss8+O+vf58+cjJycHF110EaZPnx6HFhIRUTBHIBAIxLsRREREREREREREREREVsYaKkRERERERERERERERCqYUCEiIiIiIiIiIiIiIlLBhAoREREREREREREREZEKJlSIiIiIiIiIiIiIiIhUMKFCRERERERERERERESkggkVIiIiIiIiIiIiIiIiFUyoEBERERERERERERERqUiNdwPiIRAIAAD8/kCcW5LYnE4Hz7GJeH7NxfNrPp5jc/H8movn13w8x8ZxOh1wOBzxbgbZTCAQ4HfQBLy3JQ9e6+TBa50ceJ2TB6918gi/1qLjpqRMqPj9AaSkONHRcQGDg/54NychpaY64fFk8RybhOfXXDy/5uM5NhfPr7l4fs3Hc2wsrzcLKSlMqJA2fn8AbW3d8W5GQuG9LXnwWicPXuvkwOucPHitk0ekay06buKWX0RERERERERERERERCqYUCEiIiIiIiIiIiIiIlLBhAoREREREREREREREZEKJlSIiIiIiIiIiIiIiIhUMKFCRERERERERERERESkggkVIiIiIiIiIiIiIiIiFUyoEBERERERERERERERqWBChYiIiIiIiIiIiIiISAUTKkRERERERERERERERCqYUCEiIiIiIiIiIiIiIlIR94TKyZMnUVpaOur//vd//xcAcOTIEdx111247LLLcP311+Opp56Kc4uJiIiIiIhii+MmIiIiIqL4S413AxoaGuByuVBbWwuHwzHyd7fbDZ/Ph6997Wuorq7GQw89hAMHDuChhx5C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C7rlllt04403avTo0Vq8eLGuu+469ejRQxUVFV4XDw6pqKjQO++80+qx6upqXX755bryyis9KhXcMHv2bC1cuFD33nuvevXqpTlz5uiyyy7Tyy+/rO7du3tdPDjommuuUVVVle68804deeSRmjt3ri644AItXrxYRUVFpl4jrTpUDhw4oMcff1zXX3+9Tj75ZEnSAw88oJEjR2rJkiU644wzPC5h8quurlbfvn3VrVs3r4uSEr7++mvdeuutWrVqlfr27dvqb3/729+UlZWlO+64Q5mZmSopKdHmzZs1Z84cbuSZFK1+m5qatGHDBs2YMUNdu3b1qITJbfPmzXr33Xf1zDPP6Ac/+IEk6dZbb9Xbb7+txYsXKycnhzZsg1H9/ud//idt2Ka6ujr17NlT06dPV//+/SVJM2bM0FlnnaX169dr2bJltGEbjOp30KBBtGEAKWXmzJnKy8vzuhhwEflweggGg3rwwQc1ZcoUTZkyRZJ01VVX6YMPPtDy5cvpUEkhWVlZreLQxsZG3XPPPTr11FP1H//xHx6WDE574403NGHCBJ100kmSpJtuuknPPvusVq9erfHjx3tcOjilsrJSb7/9th555JHmvoE777xTy5cv19NPP62rrrrK1Ouk1ZJflZWV2rt3r44//vjmxwoKCjRw4ECtWLHCw5KljqqqKvXr18/rYqSMTz75RJ07d9aLL76ooUOHtvrbypUrNXz4cGVm/rtf9Pjjj9fGjRu1Y8eOeBc1KUWr302bNmn//v0qKSnxqHTJr6ioSI888oiOPvro5sd8Pp+CwaB27dpFG7bJqH5pw/YVFRXp/vvvb77Z/+233+qxxx5Tjx491K9fP9qwTUb1SxsGkEpWrFih+fPn63/+53+8LgpcRD6cHj7//HNt27ZNP/7xj1s9/thjj+mKK67wqFSIh6eeekpfffWVbr75Zq+LAocVFhbqzTff1BdffKGmpibNnz9fWVlZGjBggNdFg4M2btwoSTrmmGOaH/P7/SovL7fUN5BWM1S2b98uSfre977X6vFu3brpq6++8qJIKae6ulpdu3bVpEmTtGnTJvXu3VszZszQyJEjvS5aUhozZozGjBkT9m/bt29XaWlpq8dCI6G+/PJLdenSxfXyJbto9VtdXS2fz6cnnnhCb7/9tvx+v04++WRdc801TNk3qaCgoLnHP+SVV17Rli1bdNJJJ+mBBx6gDdtgVL+0YWf913/9V/PMwNmzZ6tjx478DjsoXP3ShgGkivr6et1www267bbb2uWiSC3kw+lh06ZNkqTvvvtO06ZN07p165pn3UbKL5H89u/fr4ceekhTpkxhFloKuvXWW3Xttddq7NixysjIkN/v14MPPqgjjzzS66LBQaEZZ9u3b281cG/btm3av3+/6ddJqxkq+/btk6R2e6VkZ2dbqjSEd+DAAW3atEl79uzRNddco0ceeUSDBw/WZZddpmXLlnldvJTT0NAQti1Loj07YP369fL7/TriiCP00EMP6cYbb9Q///lPzZgxQ4FAwOviJaVVq1bplltu0dixYzVmzBjasMPa1i9t2FlTpkzRwoULdeaZZ+qqq67SJ598Qht2ULj6pQ0DSBV33HGHvv/977cbzY7UQj6cPvbs2SNJuvHGGzVhwgQ9/vjjOvHEEzVjxgzOdQp74YUXtH//fk2ePNnrosAFn332mQoKCjRr1izNnz9fP/nJT3TjjTeqsrLS66LBQUOHDlVJSYl++ctf6quvvtKBAwc0d+5cffrppzpw4IDp10mrGSo5OTmSDgU6of+WDt30yM3N9apYKSMrK0srVqxQZmZm8w2mo48+Wp999pkee+wxnXDCCR6XMLXk5OS0+7KHbuB17NjRiyKllKuvvlpTp05VQUGBJKm0tFRdu3bVeeedp48//rjdEmGI7vXXX9cvfvELDR06VPfff78k2rCTwtUvbdhZoeU7fvWrX2n16tV68sknacMOCle/v/71r2nDAJLeokWLtHLlSr300kteFwUuIx9OHx06dJAkTZs2TRMnTpQkDRgwQOvWrdOf//xnznWKWrRokU499VTTm1YjeWzbtk3XX3+95s6d27wU1ODBg7VhwwbNnDlTs2bN8riEcEqHDh00a9Ys3XTTTRo9erQyMzM1evRonXvuuVq7dq3p10mrGSqh6dU1NTWtHq+pqVGPHj28KFLK6dixY7vRuqWlpfr66689KlHq6tGjR9i2LEndu3f3okgpxefzNd/ECwkt7RNaPhDmPPnkk7r66qs1atQozZkzp7lDmzbsjEj1Sxu2b8eOHVq8eLGampqaH/P7/SopKWmOHWjDsTOqX9owgFSwcOFC7dixQ6NHj1ZFRUXzZtW//OUvdcYZZ3hcOjiNfDg9hO4ftV36tV+/fvriiy+8KBJcVltbqw8//FCnn36610WBC9asWaPGxkYNHjy41eNDhw5tXuIPqaNv376aP3++li9frmXLlmnWrFnauXOn+vTpY/o10qpDpby8XJ06ddL777/f/Fh9fb3WrVvXajMaxKayslIVFRVauXJlq8fXrl3LxnwuGD58uFatWtXqRtSyZcvUt29f1u13wM9//nNNmzat1WMff/yxJNGeLXj66af1q1/9ShdeeKF+//vft0owacP2Ratf2rB9NTU1+vnPf67ly5c3P9bY2Kh169appKSENmyTUf3ShgGkgvvuu08vv/yyFi1a1PxPkn72s5/pkUce8bZwcBT5cPoYOHCg8vLy9NFHH7V6vLq6mv0WUtQHH3wgn8+nY4891uuiwAWhAfhVVVWtHq+urlbv3r29KBJcsmfPHl100UVau3atOnfurIKCAu3evVtLly61tN9ZWnWoZGVl6aKLLtJ9992nN954Q5WVlbr22mvVo0cPnXLKKV4XL+mVlpaqf//+uvPOO7Vy5Up99tlnuueee7R69WpdeeWVXhcv5Zxzzjnas2ePbr31Vm3YsEHPPfecnnjiCV1xxRVeFy0lTJgwQe+++65mz56tLVu26J///KduueUWTZgwodXGVYhs48aN+vWvf61TTjlFV1xxhXbs2KFvvvlG33zzjXbv3k0btsmofmnD9pWXl+ukk05qvq5VV1frxhtvVH19vaZOnUobtsmofmnDAFJB9+7d1bt371b/JKlLly464ogjPC4dnEQ+nD5ycnL005/+VLNmzdLixYu1ZcsWzZ49W++++64uueQSr4sHF1RWVqpXr15sF5CihgwZomOOOUY33nij3nvvPW3atEm///3vtWzZMl1++eVeFw8O6tSpk3w+n37961+rqqpKlZWVuvLKK3X44YdrwoQJpl/HFwwGgy6WM+E0NTXp/vvv13PPPaeGhgYNHz5ct99+u3r27Ol10VJCbW2t7rvvPr399tuqr6/XwIED9Ytf/IIZQA646aabtG3bNv31r39tfmzNmjW6++67tW7dOnXt2lWXXnqpLrroIg9LmbzC1e9rr72mhx56SJ9//rny8/P14x//WNdcc03zptOI7qGHHtIDDzwQ9m8TJ07UvffeSxu2wUz90obt2717t373u9/p9ddf1+7du3XMMcfopptuUv/+/SXxO2yXUf3ShgGkorKyMt1zzz36yU9+4nVR4DDy4fTy5z//WU8++aS+/vprlZSU6Oqrr9a4ceO8LhZccMcdd+jTTz/V/PnzvS4KXLJr1y79/ve/11tvvaVdu3aptLRU1113HbOSUlBNTY3uuusuLVu2TH6/Xz/84Q91ww03qLi42PRrpF2HCgAAAAAAAAAAgFVpteQXAAAAAAAAAABALOhQAQAAAAAAAAAAMECHCgAAAAAAAAAAgAE6VAAAAAAAAAAAAAzQoQIAAAAAAAAAAGCADhUAAAAAAAAAAAADdKgAAAAAAAAAAAAYyPS6AACAxDJ58mRJ0l//+teIx9TV1emhhx7SG2+8oe3bt6tjx44aMGCAJk2apPHjx0uS3n//fV188cWG7/eXv/xFxx13nCRp2bJlmjp1qkpKSvTyyy83H/Pcc8/p5ptvNnytN954Qz179jQ8DgAAAADiZfLkyVq+fHmrx3w+n/Ly8nTUUUdp6tSpOuOMM1odW1FRoXnz5oV9vWuvvVYvv/yyJk6cqHvvvdf18gMA/o0OFQCAJQ0NDbrwwgt18OBBXXbZZerTp492796tV155RT/72c908803a+rUqRo0aJDmz5/f/LxPPvlE//3f/63bb79dgwYNan68X79+zf+9cOFClZaWqrq6WsuXL9exxx4rSRo9enSr13rrrbc0e/Zs/fGPf1TXrl2bH+/WrZubHx0AAAAAYjJw4ED98pe/bP7/pqYmbd++XXPnztV1112n/Px8jRo1SpLk9/u1evVqffXVV/re977X6nX27dunt956K55FBwC0QIcKAMCSV199VZ999pleffVV9e3bt/nxcePGqaGhQTNnztTkyZPVqVMnff/732/++/79+yUd6kBp+XjI7t27tWTJEt12222aO3eu5s2b19yhUlxcrOLi4uZjP//8c0nSgAEDmJECAAAAIOG1zY9CTj75ZJ1wwglauHBhc4fKwIEDtWHDBr366qu65JJLWh3/j3/8Q9nZ2crPz49HsQEAbbCHCgDAkm+//VaSFAwG2/3tiiuu0IwZM3TgwAHLr7t48WIdOHBAo0aN0plnnqm///3vqq2ttV1eAAAAAEhUWVlZ6tChQ6vHOnbsqJNPPlmvvPJKu+NffvllnXbaacrMZIw0AHiBDhUAgCUjR45UZmampkyZoj/+8Y9avXq1GhsbJUlDhgzRtGnTlJuba/l1Fy5cqBEjRqh79+46++yzFQgEtGDBAqeLDwAAAABxFwwGdfDgweZ/+/fv1+bNm3Xbbbdp7969Ouuss1odf/rpp+ujjz7Sl19+2fzYnj179Pbbb2vChAnxLj4A4F/oUAEAWFJWVqYHHnhAgUBAM2fO1HnnnadjjjlG06ZNa7WRvBXr16/Xxx9/rHPOOUeS1L17d5144on629/+FnYmDAAAAAAkkxUrVmjQoEHN/4YMGaLx48ersrJSDz74oMaMGdPq+NGjR6tjx4569dVXmx9bsmSJiouLNWzYsHgXHwDwL3SoAAAsO/XUU/XWW2/p0Ucf1aWXXqqSkhItXbpU1157rX72s59Z7gRZsGCB8vLydOyxx6q+vl719fU67bTTtHXrVr3zzjsufQoAAAAAiI9BgwZpwYIFWrBggWbNmqXS0lL16dNHDzzwgE477bR2x+fk5GjMmDGtlv363//9X51++uny+XzxLDoAoAUWXAQAxKRDhw4aOXKkRo4cKUmqqanRXXfdpddee01vvfWWfvjDH5p6ncbGRr344ovau3evTjzxxHZ/nzdvXvN7AAAAAEAyysvL0+DBgyVJgwcPVkVFhc466yxdeumlev7551VcXNzuOT/60Y901VVX6YsvvlBeXp6WLVuma665Js4lBwC0xAwVAIAl559/vm6++eZ2j3fr1k133XWXJGnDhg2mX+/NN99UbW2t7rjjDv3lL39p9W/ChAl688039fXXXztWfgAAAADwWpcuXXT77bdr+/btuvvuu8MeM2rUKOXn5+u1117TkiVL1LNnTx199NFxLikAoCU6VAAAlhxxxBF69dVXtXXr1nZ/27hxoySptLTU9OstXLhQ3bp103nnnafjjjuu1b8pU6aoqalJzz77rGPlBwAAAIBEcOqpp2rkyJFavHix3n///XZ/z8rK0tixY/X3v/9dr7zyis444wwPSgkAaIklvwAA7Wzfvl1z585t93i/fv107bXX6v3339e5556riy++WBUVFfL7/fr444/1+OOPa9SoURo1apSp96mpqdH//d//afLkyfL72/fxDxkyRCUlJXr22Wc1ffp0ZWRk2P1oAAAAAJAwbrnlFp155pm666679Pzzz7f7++mnn64rrrhCfr9ft912mwclBAC0RIcKAKCdLVu26J577mn3+MSJE3Xvvffq+eef18MPP6yXXnpJc+bMUTAYVO/evTVt2jRdfPHFpjdJXLRokZqamjRhwoSIx5x99tn63e9+pzfffFPjxo2L+TMBAAAAQKI56qijNHnyZD3++ON68skn2/19xIgRKigo0Pe+9z2VlJR4UEIAQEu+YDAY9LoQAAAAAAAAAAAAiYw9VAAAAAAAAAAAAAzQoQIAAAAAAAAAAGCADhUAAAAAAAAAAAADdKgAAAAAAAAAAAAYoEMFAAAAAAAAAADAAB0qAAAAAAAAAAAABuhQAQAAAAAAAAAAMECHCgAAAAAAAAAAgAE6VAAAAAAAAAAAAAzQoQIAAAAAAAAAAGCADhUAAAAAAAAAAAADdKgAAAAAAAAAAAAY+P/g8pTtQDPJ4QAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 2000x500 with 2 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/week35_203_0.png"
}
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(20, 5))\n",
"\n",
"features = ['LSTAT', 'RM']\n",
"target = boston['MEDV']\n",
"\n",
"for i, col in enumerate(features):\n",
" plt.subplot(1, len(features) , i+1)\n",
" x = boston[col]\n",
" y = target\n",
" plt.scatter(x, y, marker='o')\n",
" plt.title(col)\n",
" plt.xlabel(col)\n",
" plt.ylabel('MEDV')"
]
},
{
"cell_type": "markdown",
"id": "c72d1b7f",
"metadata": {
"editable": true
},
"source": [
"Now we start training our model"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "a1378976",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"X = pd.DataFrame(np.c_[boston['LSTAT'], boston['RM']], columns = ['LSTAT','RM'])\n",
"Y = boston['MEDV']"
]
},
{
"cell_type": "markdown",
"id": "d85205c1",
"metadata": {
"editable": true
},
"source": [
"We split the data into training and test sets"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "040b1e85",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(404, 2)\n",
"(102, 2)\n",
"(404,)\n",
"(102,)\n"
]
}
],
"source": [
"from sklearn.model_selection import train_test_split\n",
"\n",
"# splits the training and test data set in 80% : 20%\n",
"# assign random_state to any value.This ensures consistency.\n",
"X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2, random_state=5)\n",
"print(X_train.shape)\n",
"print(X_test.shape)\n",
"print(Y_train.shape)\n",
"print(Y_test.shape)"
]
},
{
"cell_type": "markdown",
"id": "32d25d47",
"metadata": {
"editable": true
},
"source": [
"Then we use the linear regression functionality from **Scikit-Learn**"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "1b0fac0d",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The model performance for training set\n",
"--------------------------------------\n",
"RMSE is 5.637129335071195\n",
"R2 score is 0.6300745149331701\n",
"\n",
"\n",
"The model performance for testing set\n",
"--------------------------------------\n",
"RMSE is 5.137400784702911\n",
"R2 score is 0.6628996975186953\n"
]
}
],
"source": [
"from sklearn.linear_model import LinearRegression\n",
"from sklearn.metrics import mean_squared_error, r2_score\n",
"\n",
"lin_model = LinearRegression()\n",
"lin_model.fit(X_train, Y_train)\n",
"\n",
"# model evaluation for training set\n",
"\n",
"y_train_predict = lin_model.predict(X_train)\n",
"rmse = (np.sqrt(mean_squared_error(Y_train, y_train_predict)))\n",
"r2 = r2_score(Y_train, y_train_predict)\n",
"\n",
"print(\"The model performance for training set\")\n",
"print(\"--------------------------------------\")\n",
"print('RMSE is {}'.format(rmse))\n",
"print('R2 score is {}'.format(r2))\n",
"print(\"\\n\")\n",
"\n",
"# model evaluation for testing set\n",
"\n",
"y_test_predict = lin_model.predict(X_test)\n",
"# root mean square error of the model\n",
"rmse = (np.sqrt(mean_squared_error(Y_test, y_test_predict)))\n",
"\n",
"# r-squared score of the model\n",
"r2 = r2_score(Y_test, y_test_predict)\n",
"\n",
"print(\"The model performance for testing set\")\n",
"print(\"--------------------------------------\")\n",
"print('RMSE is {}'.format(rmse))\n",
"print('R2 score is {}'.format(r2))"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "02279b28",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA7wAAAKrCAYAAADS54GgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAA9hAAAPYQGoP6dpAABNDklEQVR4nO3df3CdZ3kn/EvHwnIi5EhyrRiIcYwjywQXYhwPhlJggqCzP9hWTXd2bcIUyrTZ1BOmUyD0JXQbhk2hbRrKD8NCyE4zCzawOM60bLtMtO90oW1oY71Q1jiWFGqMShoElhQrIlZin/P+4R4nkuyjc47Oj+c8z+czk0n86JHOraPbjr/Pfd/X1VYoFAoBAAAAKZNr9gAAAACgHgReAAAAUkngBQAAIJUEXgAAAFJJ4AUAACCVBF4AAABSSeAFAAAglQReAAAAUqm92QNYTqFQiHy+0OxhEBG5XJufBZll/pNV5j5ZZv6TZUmf/7lcW7S1tS17X+IDbz5fiKmpuWYPI/Pa23PR09MZp0//NM6ezTd7ONBQ5j9ZZe6TZeY/WdYK87+3tzNWrVo+8NrSDAAAQCoJvAAAAKSSwAsAAEAqCbwAAACkksALAABAKgm8AAAApFLVgffEiROxY8eOuP/++y9ce+SRR+Kmm26K6667Lt7whjfEvffeW5NBAgAAQKWqCrzPPPNMvOc974mf/vSnF65NT0/HO97xjrj66qvj0KFDceutt8bHPvaxOHToUM0GCwAAAOVqr+aTPvGJT0RnZ+eCa1/+8pdj9erVcccdd0R7e3ts2bIlTp48Gffcc0/ceOONNRksAAAAlKviwPvwww/Hl770pXjggQfiDW94w4XrR44ciV27dkV7+7Nfcvfu3fGZz3wmTp06FevWrat+kO2OGjfbqlW5Bf+GLDH/ySpznywz/8myNM3/igLv6dOn47bbbosPfOAD8YIXvGDBxx5//PHYunXrgmt9fX0REfHYY49VHXhzubbo6elc/kYaYu3ay5o9BGga85+sMvfJMvOfLEvD/K8o8N5xxx1x3XXXxVve8pYlHztz5kysXr16wbWOjo6IiJifn696gPl8IU6f/unyN1JXq1blYu3ay+L06afi3Ll8s4cDDWX+k1XmPllm/pNlrTD/1669rKwV6LID7wMPPBBHjhyJP//zP7/ox9esWRNPP/30gmvFoHv55ZeX+zIXdfZsMt/kLDp3Lu/nQWaZ/2SVuU+Wmf9kWRrmf9mB99ChQ3Hq1KkF53YjIn7v934v7r333njhC18Yk5OTCz5W/PWVV1658pECAABABcoOvHfddVecOXNmwbU3v/nN8a53vSv+9b/+1/E//+f/jC9+8Ytx7ty5WLVqVUREPPTQQ7F58+YVFawCAACAapRdduvKK6+MTZs2LfgnImLdunXxohe9KG688cZ48skn4/bbb49HH3007r///rjvvvvi5ptvrtvgAQAA4FJqVmd63bp18bnPfS5OnDgRQ0ND8clPfjJuu+22GBoaqtVLAAAAQNkq7sP7XKOjowt+/fKXvzy+9KUvrWhAAAAAUAut30kYAAAALkLgBQAAIJUEXgAAAFJJ4AUAACCVVlS0CgAAgPTI5wvxyPen4pkT0/G8tkJseeEVkcu1NXtYVRN4AQAAiJHRyTgwPB7Ts/MXrvV0dcTewf7YOdDXxJFVz5ZmAACAjBsZnYz9h48uCLsREdOz87H/8NEYGZ1s0shWRuAFAADIsHy+EAeGx0vec3B4PPL5QoNGVDsCLwAAQIaNTcwsWdldbGp2PsYmZhozoBoSeAEAADJsZq502K30viQReAEAADKsu7OjpvclicALAACQYVs3dkdPV+kw29vVEVs3djdmQDUk8AIAAGRYLtcWewf7S96zZ7C/JfvxCrwAAAAZt3OgL/YNbV+y0tvb1RH7hra3bB/e9mYPAAAAgObbOdAXO/rXx/ceeyKeKbTF89oKseWFV7Tkym6RwAsAAEBEnN/e/NKre6OnpzOmp+fi7Nl8s4e0IrY0AwAAkEoCLwAAAKkk8AIAAJBKzvACAABNk88XYmxiJmbm5qO783yv11YukkSyCLwAAEBTjIxOxoHh8Zienb9wraerI/YO9rdsGxySxZZmAACg4UZGJ2P/4aMLwm5ExPTsfOw/fDRGRiebNDLSROAFAAAaKp8vxIHh8ZL3HBwej3y+0KARkVYCLwAAdZHPF+L4yen45rHH4/jJaeGFC8YmZpas7C42NTsfYxMzjRkQqeUMLwAANedsJqXMzJUOu5XeB5dihRcAgJpyNpPldHd21PQ+uBSBFwCAmnE2k3Js3dgdPV2lw2xv1/kWRbASAi8AADXjbCblyOXaYu9gf8l79gz268fLigm8AADUjLOZlGvnQF/sG9q+ZKW3t6sj9g1td9a7BAXhyqdoFQAANeNsJpXYOdAXO/rXx9jETMzMzUd35/ltzFZ2L01BuMpY4QUAoGaczaRSuVxbbNvUE7uv3RDbNvUIuyUoCFc5gRcAgJpxNhPqQ0G46gi8AADUlLOZUHsKwlXHGV4AAGrO2UyoLQXhqiPwAgBQF8WzmcDKKQhXHVuaAQAAEk5BuOoIvAAAAAmnIFx1BF4AAIAWoCBc5ZzhBQAAaBEKwlVG4AUAAGghCsKVz5ZmAAAAUkngBQAAIJVsaQYAACqSzxecIaUlCLwAAEDZRkYn48DweEzPzl+41tPVEXsH+1UJJnFsaQYAAMoyMjoZ+w8fXRB2IyKmZ+dj/+GjMTI62aSRwcUJvAAAwLLy+UIcGB4vec/B4fHI5wsNGhEsT+AFAACWNTYxs2Rld7Gp2fkYm5hpzICgDAIvAACwrJm50mG30vugEQReAABgWd2dHTW9DxpB4AUAAJa1dWN39HSVDrO9XedbFEFSCLwAAMCycrm22DvYX/KePYP9+vG2uHy+EI98fyr+z//3T/HI96davgiZPrwAAEBZdg70xb6h7Uv68PZ2dcQefXhbXhp7LAu8AABA2XYO9MWO/vUxNjETM3Pz0d15fhuzld3WVuyxvFixx/K+oe0tGXoFXgAAoCK5XFts29TT7GFQI+X2WN7Rv77lHmw4wwsAAJBhae6xLPACAABkWJp7LAu8AAAAGZbmHssCLwAAQIaluceywAsAAJBhae6xLPACAABkXLHH8uKV3t6ujpZtSRShLREAAADxbI/l7z32RDxTaIvntRViywuvaMmV3SKBFwAAgIg4v735pVf3Rk9PZ0xPz8XZs/lmD2lFbGkGAAAglQReAAAAUkngBQAAIJUEXgAAAFJJ4AUAACCVBF4AAABSSeAFAAAglQReAAAAUkngBQAAIJUEXgAAAFJJ4AUAACCVBF4AAABSSeAFAAAglQReAAAAUqm92QMAAOC8fL4QYxMzMTM3H92dHbF1Y3fkcm3NHhZAyxJ4AQASYGR0Mg4Mj8f07PyFaz1dHbF3sD92DvQ1cWQArcuWZgCAJhsZnYz9h48uCLsREdOz87H/8NEYGZ1s0sgAWpvACwDQRPl8IQ4Mj5e85+DweOTzhQaNCCA9bGkGAGiisYmZJSu7i03NzsfwkYlY+/zVzvYCVEDgBQBoopm50mG36Iv/76MX/tvZXoDy2NIMANBE3Z0dFX+Os70A5RF4AQCaaOvG7ujpqjz0RjjbC7AcgRcAoIlyubbYO9hf1edOzc7H2MRMbQcEkCICLwBAk+0c6It9Q9urWukt9wwwQBYpWgUAkAA7B/piR//6GJuYiZm5+Tj95NMLClVdSjVngAGyQuAFAEiIXK4ttm3qiYjz/Xm/9vBEyZZFvV3nWxQBcHG2NAMAJFA5Z3v3DPbrxwtQgsALAJBQlzrb29vVEfuGtuvDC7AMW5oBABJs8dne7s7z25it7AIsT+AFAEi4557tBaB8tjQDAACQSlZ4AQD+RT5fsHUYIEUEXgCAiBgZnYwDw+ML2gD1dHXE3sF+xaEAWpQtzQBA5o2MTsb+w0eX9Lydnp2P/YePxsjoZJNGBsBKCLwAQKbl84U4MDxe8p6Dw+ORzxcaNCIAakXgBQAybWxiZsnK7mJTs/MxNjHTmAEBUDMCLwCQaTNzpcNupfcBkBwCLwCQad2dHTW9D4DkEHgBgEzburE7erpKh9nervMtigBoLQIvAJBpuVxb7B3sL3nPnsF+/XgBWpDACwBk3s6Bvtg3tH3JSm9vV0fsG9quDy9Ai2pv9gAAAJJg50Bf7OhfH2MTMzEzNx/dnee3MVvZBWhdAi8AwL/I5dpi26aeZg8DgBqxpRkAAIBUEngBAABIJVuaAQCgwfL5gvPi0AACLwAANNDI6GQcGB6P6dn5C9d6ujpi72C/iuBQY7Y0AwBAg4yMTsb+w0cXhN2IiOnZ+dh/+GiMjE42aWSQTgIvAAA0QD5fiAPD4yXvOTg8Hvl8oUEjgvQTeAEAoAHGJmaWrOwuNjU7H2MTM40ZEGSAM7wAABmgSFLzzcyVDruV3gcsT+AFAEg5RZKSobuzo6b3AcuzpRkAIMUUSUqOrRu7o6erdJjt7Tq/+g7UhsALAJBSiiQlSy7XFnsH+0ves2ew31ZzqCGBF4AVy+cLcfzkdHzz2ONx/OS0vzxDQiiSlDw7B/pi39D2JSu9vV0dsW9ouy3mUGPO8AKwIs4GQnIpkpRMOwf6Ykf/ekXEoAEEXgCqVjwbuFjxbKDVCmguRZKSK5dri22bepo9DEg9W5oBqIqzgZB8iiQBWSfwAlAVZwOz4Vy+EI98f8r57BalSBKQdbY0A1CVNJ8NzOcLztZFxMPHJ+PAg2Nx6okzF645n916ikWSFp+17+3qiD1+lkDKCbwAVCWtZwMV4TrP+ex0USQJyCpbmgGoShrPBhZD3uKt2sWQNzI62aSRNZbz2elULJK0+9oNsW1Tj7ALZILAC0BV0nY2UMh7lvPZAKSFwAtA1YpnAxev9PZ2dbTcllch71lpPp8NQLZUfIb31KlT8ZGPfCS+8Y1vxPz8fOzatStuu+22uOaaayIi4pFHHok777wzjh49Gt3d3fG2t70t3vnOd9Z84AAkQ1rOBgp5z0rr+WwAsqfiFd5bbrklJiYm4p577omvfOUrsWbNmnj7298eTz31VExPT8c73vGOuPrqq+PQoUNx6623xsc+9rE4dOhQPcYOQELU6mxgPl+I4yenm9ICR8h7VhrPZwOQTRWt8E5PT8dVV10Vt9xyS/T3nz+39Zu/+Zvxi7/4izE+Ph4PPfRQrF69Ou64445ob2+PLVu2xMmTJ+Oee+6JG2+8sS7fAADp0OzqyMWQV2pbcy1DXpJbHxXPZ1+sSnNRK53PBiC7Klrh7enpibvvvvtC2P3JT34S9957b2zYsCGuueaaOHLkSOzatSva25/N0bt3744TJ07EqVOnajtyAFIjCdWRG1mEa2R0Mt776b+NPzz4rfjsnx2LPzz4rXjvp/82UVWgdw70xa2/8vJYd8WaBddb8Xw2ANlVdR/e3/3d340vf/nLsXr16vj0pz8dl19+eTz++OOxdevWBff19Z3/H+Jjjz0W69atq26Q7WprNduqVbkF/4YsMf/rK58vxMHlqiP/7/HY9dIr676i+KqXbYjcqlx84WujMfWc8N27tiPe+uaB2LVt5SHv4eOl+9ve+isvr8nr1MLul22IN77q6nj46GMx9cSZ6H7+6hh4sXY2ZIM/+8myNM3/qgPvr/7qr8Z/+A//IQ4ePBj79u2LAwcOxJkzZ2L16tUL7uvoOH8GaH6+uiIfuVxb9PR0VjtMamzt2suaPQRoGvO/Pv7voz9ZEC4vZur0fDw2fSZ+9pqfqft43vzqzfHGV10dx/7xVEydPhO9a9fEtS9ZF6tqEPLO5Qtx4MGxkvccHB6PN77q6pq8Xq3sfvmLmj2ESzqXL9TlZwVF/uwny9Iw/6sOvMWqzB/60Ifi29/+dnz+85+PNWvWxNNPP73gvmLQvfzyy6t6nXy+EKdP/7TaYVIjq1blYu3ay+L06afi3Ll8s4cDDWX+19fEPz9R9n1XrWvc/3ivWnfZhdc7/URt/j/0yPen4tQTZ0re85OZp+Lv/uGf4qVX99bkNVci6XP/4eOTS1fjuzrirb9Qm9V4si3p8x/qqRXm/9q1l5W1Al1R4D116lQ89NBD8a/+1b+KVatWRURELpeLLVu2xOTkZGzYsCEmJxeePyr++sorr6zkpRY4ezaZb3IWnTuX9/Mgs8z/+ui67Hll39fq7/+p06XD7nPvS9L3msS5Xzz3vdjU7Hx84ivfcc6Ymkni/IdGScP8r2hT9uTkZLz73e+Ov//7v79w7Zlnnoljx47Fli1bYteuXTEyMhLnzp278PGHHnooNm/eXPX5XQDSLUstcLQ+qo18vhAHljv3PTze0LZWACRTRYF327Zt8drXvjY++MEPxpEjR2JsbCze9773xenTp+Ptb3973HjjjfHkk0/G7bffHo8++mjcf//9cd9998XNN99cr/ED0OIaWR252bIU7utpbGKmZPuoiPMrvWMTM40ZEACJVVHgbWtriz/5kz+J3bt3x2/91m/Fv//3/z6eeOKJ+MIXvhAvfOELY926dfG5z30uTpw4EUNDQ/HJT34ybrvtthgaGqrX+AFIgZ0DfbFvaPuSMJi2FjhZCvf1NDNXXiHMcu8DIL3aCoVCovf7nDuXj6mpuWYPI/Pa23PR09MZ09NzLb+PHypl/jdOPl+IsYmZmJmbj+7O8yudaQx/I6OTcWB4fMEqZW9XR+wZ7E9UuE/q3D9+cjr+8OC3lr3vtj07YtumngaMiDRK6vyHRmiF+d/b21n7olUAUE+5XFsmAsrOgb7Y0b8+E+G+Hopbw0tta7Y1HICICrc0AwC1UQz3u6/dENs29Qi7FbA1HIByCbwA1Fw+X4jjJ6fjm8cej+Mnp1XLpeaycu4bgJWxpRmAmrrY+dSero7Ym7Dzqa0oK2ecy2VrOADLEXgBqJmR0cnYf/jokuvTs/Ox//DRilbehLuFPEi4uKyc+wagOgIvADWRzxfiwPB4yXsODo/Hjv71ywZX4W6hWj5IAIAscYYXgJoYm5gpWTU3ImJqdj7GJmZK3lMMd4u/VjHcjYxOrnSoLaXcBwnOSQPAUgIvADUxM1c67JZzn3C3VK0eJABAFgm8ANREd2fH8jctc59wt1QtHiQAQFYJvADUxNaN3UtaxCzW23W++NSlCHdL1eJBAgBklcALQE3kcm2xd7C/5D17BvtLFqwS7paqxYMEAMgqgReAmtk50Bf7hrYvCWi9XR1lVRIW7paqxYOEZsvnC3H85HR889jjcfzkdKbOYAPQXNoSAVBTOwf6Ykf/+qp66BbD3cVa8BQlPdzVQ/FBwuJWTb1dHbEn4a2atJgCoJnaCoVCoh+znjuXj6mpuWYPI/Pa23PR09MZ09NzcfZsvtnDgYYy/xvvYiGpFcJdveXzhaoeJFRrpXP/Uv2Di/QPJsn82U+WtcL87+3tjFWrlt+wbIUXgMRZySpxmuVybbFtU0+zh1GWcltM7ehfn/mfKwD1I/ACkEitFO5YqpIWU37OANSLolUAQM1pMQVAEljhBaDpGn02lfrTYgqAJBB4AWgqVXxrJ0kPDootpkpta85aiykAGk/gBaBpLlXFd3p2PvYfPqqKbwWS9uBAiykAksAZXoAUyOcLcfzkdHzz2ONx/OR05POJ7jgXEeVX8W2F76XZig8OFq+mFh8cjIxOVv21z+UL8cj3p6qaW8X+wT1dC7ct93Z1eJgBQENY4QVocUlb2SuXKr61Uc/2Pw8fn4wDD47FqSfOXLhW6dzSYgqAZrLCC9DC6rmyV29pqOKbhJX1Sh4cVGJkdDI+8ZXvLAi7EdXNrWKLqd3Xbohtm3qEXQAaxgovQIuq58peI7R6Fd+krKzX48FBq88tACiywgvQouq1stcoxSq+pSS1im+SVtbr8eCg1ecWABQJvAAtqtW3BBer+JaSxCq+SSu2VY8HB60+twCgSOAFaFGtuCV48ZnXHf3rW66Kb9JWP+vx4KAV5xYAXIwzvAAtqriyVyp8JWlLcKkzr390y2tapopvElc/i+1/Fr+/vV0dsaeKM8WtNrcA4FIEXoAWVVzZ23/46CXvqWRlL58v1C10Fs+8LlY885rU1dyLSerqZy3b/9R6bgFAswi8AC2sVit79aw4nLaKv0le/Sy2/6mFnQN9ceuvvHxJH95qV40BoBkEXoAWt9KVvXqvvlZy5rVWYa2esrT6uWtbX7zxVVfH3/3DP8Wp02cSv90cABYTeAFSoNqVvUasvibxzOtK1frMbJKtyrXFS6/ujbNn880eCgBUTOAFyLBGrL4m9czrStXyzCwAUB8CL0CGNWL1NclnXleqlmdmAYDa04cXIMMasfpajz6xAADlEHgBWlg+X4jjJ6fjm8cej+MnpyOfL1T0+cXV11JqsfpaPPO6+LV6uzpaqiURANBabGkGaFHlthIq1V+3kRWHnXkFABpN4AVoQeW2EionFDey4rAzrwBAIwm8AC2m3FZC+ULEpx8or79ukldfS61Qt9JrAACNJ/ACtJhyWwl9/mujJe/50788Hpetbo9tm3oil2tL5Oprudu2k/4aAEBzKFoF0GLKbRE0+9QzJT8+d+Zs3PWlb8d7P/23MTI6WYuh1VRx2/bicF9coa7FmBvxGgBA8wi8AC1mJS2CLiaJ4a7sbdsVVqVu9GsAAM0l8AK0mHJaCXVd9ryKv26Swl2527bHJmYS/RoAQHMJvAAtpthKqJSbfmHrsqF4sSSFu3K3bZd7X7NeAwBoLoEXoAUVWwktDrW9XR2xb2h77Np25bKh+GKaFe7y+UIcPzkd3zz2eBw/OR1rL1td1uetZHt3uZ9b6y3kAEDjqNIM0KKWayV0qf66pTQj3F2qSnLnmvaYO3P2kp/X23X++61WcWt4qfdmpa8BADSXwAvQwsppJVQolHcutxnhrlglebFyAvqewf4V9cotbg2/2OvX6jUAgOaypRkgpYphcubJp8u6v9Hhrpwqyc+/7HnR/fyF25uL27Zr0SN3ua3h+vACQGuzwguQQuWEyaLero7YM9jf8HBXTpXkJ596Jt7zH6+LXFvbRbdt18JyW8MBgNYl8AKkUDlhMiLiP95wTQxev7Ep4a7cAlmnf/p07L52Q13HUs7WcACg9djSDJBC5YbJtc9f3bSVTFWSAYB6E3gBUijpYTKfL0S+UIjONaU3GqmSDACshC3NACmU5JY7F2tDdCmqJAMAK2GFFyCFii13SmlGmCxWjl4u7KqSDADUghVegATI5ws1rxJcbLmzeDW1WVWZy6kc3bmmPW75xe2xbVOPlV0AYMUEXoAmu9gW356ujthbg1CapJY75VSOnjtzNnK5NmEXAKgJgRegiYpbfBebnp2P/YeP1mRbb1Ja7pRbObrc+wAAluMML0CTlLPF9+DweOTzhQaNqL6SXjkaAEgfgRegScrZ4js1Ox9jEzONGVCdFStHl6INEQBQSwIvQJNkbYtvUitHAwDpJfACNEkWt/gWK0cvXunVhggAqAdFq4CGq0cLnlZU3OJbaltzGrf4JqlyNACQbgIv0FD1bMHTaopbfC9WpbmokVt8G/kgIimVowGAdBN4gYZpRAueVlPc4rv4IUBvV0fsaeBDAA8iAIA0EniBhii3Bc+O/vWZ29ra7C2+HkQAAGkl8AINUUkLnixudW3WFl8PIgCANFOlGWiIrLXgaRVZ6wUMAGSLwAs0RBZb8LQCDyIAgDQTeIGGKLbgKSWNLXiSzoMIACDNBF6gIYoteEoptwVPPl+I4yen45vHHo/jJ6cjny/UapiZ40EEAJBmilYBDVOLFjza59RW0noBAwDUksALNNRKWvBon1MfO/rXxy+9dnM8eGQi5s6cvXC90b2AAQBqTeAFGq6aFjza59THxVbMO9e0x5uuvyr+7Ws2ey8BgJbmDC/QErTPqb3iivni93XuzNl44K+/H98a/3GTRgYAUBsCL9AStM+prXJXzBUEAwBamcALtATtc2rLijkAkAUCL9AStM+pLSvmAEAWCLxAS6hlH1+smAMA2SDwAi2j2Md38Upvb1eHlkQVuuZFV0TbMs8G2trO3wcA0Kq0JQISL58vLOjb+wc3vzoe/eETFffx5VmP/vCJKCxTj6pQOH9fpS2kAACSQuAFEu1ifWJ7ujpi72B/7L52QxNH1tqc4QUAssCWZiCxLtUndnp2PvYfPhojo5NLPiefL8Txk9PxzWOPx/GT09rqXIIzvABAFljhBRKp3D6xO/rXX9jOXGo12PnehYpVr0u1JlL1GgBodVZ4gUSqtE9sNavBWVZO1eudA+tjbGLGKjkA0LIEXiCRKjljWu5qcCsGt3pu0b5U1eti9eYHj/xT/OHBb8V7P/23HhgAAC3JlmYgkSo5Y1rJavDiisOLK0CXU/G5ms+pRiO2aO8c6Isd/edXcr81/uN48Mg/LaneXFwl1/oJAGg1Ai+QSJWcMf374z8q62suXjWuJlA26pxwcYv2YvUIn7lcW2zd2B33fPVYyfsWn5kGAEg6W5qBRCrnjOmewf7I5dqqqjhczZnfh4835pxwM7ZoV3pmGgCgFQi8QGJd6oxpb1fHghXO4mpwKc+tOFxNoDyXL8QXvjZa0edUqxnhU19eACCNbGkGEu25Z0wvdWa2uBp8sS3ARcXV4IjKAmXxzO+xfzwVU1WeE65UM8KnvrwAQBoJvEDi5XJty4bI4mrw4vO1vV0dsWfR+dpqAuXU6TMVf0616hU+SxXb0pcXAEgjgRdIjXJWgyOqC5S9a9dU/DnVqkf4XK7YVqWr5AAArcAZXiBViqvBu6/dENs29Vw0oFV65jci4tqXrIveCj9nOZfqsVtJwa5ylFugq9wz0wAArcIKL5A51axmrsq1xVt/YSA+8ZXvlP05pSy34lrJFu1Syi3QVWw3VO4qOQBAK2grFAq162tRB+fO5WNqaq7Zw8i89vZc9PR0xvT0XJw9m2/2cKAmLhY6LxYonzv//+67j684hF6qx27Rc1dTS527Lcfxk9Pxhwe/tex9t+3ZseJiW6SPP/vJMvOfLGuF+d/b2xmrVi2/YdkKL5BZ1axmrnQFtNIV13IKdpWi3RAAkGUCL5Bp1QTKlYTQaloirYR2QwBAlgm8QKatdMtwpRq94qrdEACQZQIvkFnLFY6qh0avuGo3BABkmbZEQKYUWwEdHB4rq1VPrZXTEqnrsufFNS+6omavWWm7oUu1SwIAaDVWeCHhGr3lNs0utqJ7Kc8tHFVL5ay4zj71TLzvMw/VdKW53GJbzVj1BgCoF22JKEsrlCZPI+GjdpZrBXQxxVY99Zj/5Ybvi63A1ksl7ZLIBn/2k2XmP1nWCvO/3LZEtjRDQhXDR6O33KZROa2ALqaerXp2DvTFH9z86ui67Hkl7zs4PN6QLcXltkuyvRkAaCUCLySQ8FFb5bQCuphKC0dVevb10R8+EbNPPVPynmKLonqrpF0SAECrcIYXEqjRvVrTrpqV2kpb9VSz/bzRLYpq8RqNGAsAQK1Y4YUEEj5qq5oWP5W06ql2+3ktWxSttLJyo9slAQA0ghVeSCDho7aKrYDK2dbc29UReyooClbu9vOLVXwuZ1zlrDTXorhZrcYCAJAkVnghgcrp1Sp8lK/YCqiUN11/Vdy2Z0f84S2vqagS8UrOvpYzruVWmmtV3KwWYwEASBqBFxJI+Ki9nQN9sW9o+5IHCb1dHbFvaHvsGdwa2zb1VPyernT7+XLjKhW+a13cbCVjAQBIIluaIaGK4WPxVtVKt9zyrJ0DfbGjf32MTczEzNx8dHeeXyVfyYODWmw/r3Zc9ShuVo/3CACgWQReSDDho/ZyubaaVrau1dnXasZVr+JmtX6PAACaxZZmSLhi+Nh97YaqttxSX83cfq64GQBAaQIvwAo16+yr4mYAAKXZ0gxQA83Yfl5cXd5/+Ogl71HcDADIMoEXoEaacfZVcTMAgEsTeAFanOJmAAAXJ/ACNZHPFzIXuOrxPVf7NVVWBgBYSuAFVmxkdHLJltqero7Ym+IttfX4nrP4PgIA1JMqzcCKjIxOxv7DR5f0oZ2enY/9h4/GyOhkk0ZWP/X4nrP4PgIA1JvAC1Qtny/EgeHxkvccHB6PfL7QoBHVXz2+5yy+jwAAjSDwAlUbm5hZsiK52NTsfIxNzDRmQCuQzxfi+Mnp+Oaxx+P4yelLhst6fM9peh8BAJLEGV5aQhYLIrWCmbnSIa3S+5qlkrOz9fie0/I+AgAkjcBL4rVCIZ+sBvLuzo6a3tcMxbOzixXPzu4b2h6vetmGC9fr8T2n4X0EAEgigZdEKyeMNDv0tkIgr5etG7ujp6uj5Hbc3q7zDwCSKJ8vxBceHCt5z8Hh8dj10isv/Loe33Orv48AAEnlDC+J1QqFfLJUWfdiZ1xzubbYO9hf8vP2DPYndrX7q3/7/Zh58umS90zNzsfoD6Yv/Loe33Orv48AAEllhZfEqqSQz7ZNPQ0a1bPKDeQ7+te3fFBZbhV739D2JR/v7eqIPQle5R4ZnYwH/vpEWfcuDsX1+J5b9X0EAEiyigLvzMxM3H333fFXf/VX8eSTT8bAwEC8+93vjuuvvz4iIh555JG488474+jRo9Hd3R1ve9vb4p3vfGddBk76Jb2QT9IDea2Uu618R//6ljnHXM7Diufqfv7qJdfq8T232vtIaVk92w8ASVJR4P3t3/7tOHXqVNx9993R29sbBw4ciHe+851x//33R29vb7zjHe+IwcHB+OAHPxjf/va344Mf/GB0d3fHjTfeWK/xk2JJL+ST9EBeC5WuYrdKsC/nYUVRb1dHDLz44t9XPb7nVnofubQsn+0HgCQpO/CePHky/uZv/iYOHjwYr3zlKyMi4vbbb4+vf/3r8dWvfjXWrFkTq1evjjvuuCPa29tjy5YtcfLkybjnnnsEXqqS9EI+SQ/ktZDWVexKHkI4O0ulWqHYHgBkRdlFq3p6euKzn/1sbN++/cK1tra2KBQK8cQTT8SRI0di165d0d7+bIbevXt3nDhxIk6dOlXbUZMJSS/kUwzkpbR6Zd20rmKX+xDil157tWBCRSoptnexQnAAQG2VvcK7du3aeP3rX7/g2l/+5V/GD37wg3jta18bH/3oR2Pr1q0LPt7Xd/4vio899lisW7eu+kG2KybdbKtW5Rb8u1Fe9bINkVuViy98bTSmnlvIZ21HvPXNA7FrW3PDyE2/MBCf+Mp3LvnxPW/eGt977ImYefLp6H7+6hh4cU9LrRauW7um7Pta6ffptZt7o7erY8GcWqx3bUf80uu2RC7X1rT5T+t55PtTZe2K+Itvfj/+6luPLfxzrasj3voLzf9z7bnMfbLM/CfL0jT/q67SPDIyEu9///vjjW98Y9xwww3x4Q9/OFavXljYpaPj/CrK/Hz1qz+5XFv09HRW/fnU1tq1lzX8Nd/86s3xxlddHcf+8VRMnT4TvWvXxLUvWRerEhAc3/zqzfH8zo747AP/N049cebC9Z/pvixed90L44vD4wuur7tiTfzGL/1svOblL2zGcCv2qisuj3V/fmzB97DYz3RfFq96xVWJ+HlU4uZffnl8+L6HL/3xoZfHunXPX3CtGfOf1vLMienlb4qI+7++tEL41Ox8fOIr34n/51d3Je7PCHOfLDP/ybI0zP+qAu/w8HC85z3viVe84hVx9913R0TEmjVr4umnF7buKAbdyy+/vOoB5vOFOH36p1V/PrWxalUu1q69LE6ffirOncs3ZQxXrbssrlp3/jfd6SeSMydeuvGK+ON9PxejP5i+sJI7+9Nn4pP3/98l95564kx8+L6H49ZfeXmiVnFK2fumraVXsQf7E/XzKNdLN14Rt/7Kyy+5e+ClG6+I6em5iEjG/Kc1PK9t5duSP3P4OzHworWJ2A1i7pNl5j9Z1grzf+3ay8paga448H7+85+PO++8M970pjfFXXfddWFVd8OGDTE5Obng3uKvr7zyykpfZoGzZ5P5JmfRuXN5P49L6L+qOyLOP6R576f/tuS9X/jaaLziJesS8Rfa5ey45mdK9ofdcc3PtOyc2HHNz8QrXrLuoq1jLvY9mf8sZ8sLr1i22N5ypk7Px7ETU4kqBGfuk2XmP1mWhvlfUeA9cOBAfOhDH4q3ve1t8f73vz9yuWcT9a5du+KLX/xinDt3LlatWhUREQ899FBs3rx5Red3odWksbJxmvvDagNELRWL7V2sSnMlWq0QHAAkVdmnkE+cOBG///u/H29605vi5ptvjlOnTsWPf/zj+PGPfxyzs7Nx4403xpNPPhm33357PProo3H//ffHfffdFzfffHM9xw+Jk9bKxsVguPvaDbFt0/LFt2pZgVY1W1rJzoG+2De0fUkV996ujvil115d1tdo5XZmAJAkZa/wfu1rX4tnnnkmHnzwwXjwwQcXfGxoaCg+8pGPxOc+97m48847Y2hoKNavXx+33XZbDA0N1XzQkGRZ6M+7nJHRySVboHu6OmLvYH/FbX5q+bWgUS61KyIi4v/8wz8ntr84AKRNW6FQSPRSyblz+Ziammv2MDKvvT0XPT2dMT091/L7+OuteIZ3ub/Q/uEtr0nFluDFRkYnS27n3De0veygWsuvtRLmP7WUlHldDnOfLDP/ybJWmP+9vZ1lFa1q/cZKkDDFM3yl7Bnsb5mwW8l24ny+EAeGx0t+vYPD42VtSa7l14IkKbXlOUlhFwDSoOo+vMClFf9Cu3grbtdlz4ubfmFry/yFttLtxLUs2JXG4l9QlOZCcACQJAIv1MnOgb7IFyI+/7XRmH3qmYiImH3qmfji/340cm1tiQ+9l9p2OT07H/sPH73oSlQtC3altfgXFKkQDgD1Z0sz1MnI6GR8+oGjF8JuUTEwjoxOXuIzm6/a7cS1LNil+BcAACsl8EIdtPr500q2Ez/X1o3dS84lLlZuBdpafi0AALJJ4IU6qDYwJkW124lrWbArbcW/AABoPIEX6qDVz5+uZDtxLSvQqmYLAMBKKFoFddDq50+L24mX6yV8qe3EtaxAq5otAADVEnihDlYaGJutuJ34YlWai5bbTlzLCrSq2QIAUA1bmqEO0nD+1HZiAABanRVeqJNiYDwwPL5gpbe3qyP2DPa3RGC0nRgAgFYm8EKcbyNUj1CXhsBoOzEAAK1K4CXzRkYnl6zC9nR1xN4arcIKjAAA0BzO8JJpI6OTsf/w0SXFpaZn52P/4aMxMjrZpJEBAAArJfCSWfl8IQ4Mj5e85+DweOTzhQaNCAAAqCVbmsmc4nndYyenSrYNioiYmp2PsYkZW5JTrF7ntwEAaD6Bl0y52Hnd5czMlX8vraXa89tCMgBAaxB4yYzied1KdXd2LH8TLedS86F4fvtSvYbrXeSsVoRyAACBl4wo57zuxfR2nQ8KpEu557d39K9fEBIfPl5dSG60VgnlAAD1pmgVmTA2MVPRNuaiPYP9VsVSqJz5UDy/XXQuX4gvfG205OckociZyuMAAM8SeMmESs/h9nZ1JGa1jtordz48975j/3gqpioMyY2m8jgAwEK2NJMJ5Z7D/bev3hTXXt3rvGOK5fOFOP3k02Xd+9x5M3X6TFmf08wiZ5WsXKs8DgBkgcBLJmzd2B09XR0lw0BvV0f80s+/RNBNsUqqdC8+v927dk1Zr9HMImfVrFwDAKSZLc1kQi7XFnsH+0ve47xufeTzhTh+cjq+eezxOH5yumnbaS91tvVSFs+Ha1+yLnq7SofZZhc5KzdsqzwOAGSFFV4yY+dAX+wb2r5kha+3qyP2qF5bF0mpFlxJle5LzYdVubZ46y8MxCe+8p1Lfm6zH5qUu5NB5XEAICsEXjJl50Bf7Ohfrz9pA1Tb57Yeyq3S/R9vuCYGr994yfmwa1uyH5oUdzKU6jfd7FAOANBIAi+Zk8u1KdhTZ9X2ua2Xcs+srn3+6mXHc7GHJte86Ip49IdPxDePPd70hyh2MgAAPEvgBWouadWCa3229bkPTUZGJ+N9n3mo6du2n8tOBgCA8xStAmouadWCi2dbS6nmbOulCmEVt22PjE5WOtSaKYby3dduiG2beoRdACCTBF6g5pJWLbgeVbrL3bbdrKrUAAAIvEAd1GtFdSWKZ1sXj6u3q6OqAlqVbNsGAKA5nOEFai6p1YJrebY1adu2AQBYygovUBe1XlFNmqRt2wYAYCkrvJAi+XwhUZV5k1YteGR0ckm7nmorKhe3bZfa1tzobdsAACwk8EJK1DLM1VJS+h4XKyovVqyoXOmqc1K3bQMA8CxbmiEFktweJwnqVVE57du2AQBanRVeMidp235Xqtwwt6N//ZLvM23vxaVUUlG50tXopG3bBgDgWQIvmZLUbb8rUW2YS+N7cSn1rqiclG3bAAAsZEszmZHWbb/VhLm0vheXoqIyAEA2CbxkQr3OcCZBpWEuze/FpRQrKpeiojIAQPoIvGRCJdt+W02lYS7N78WlFCsql6KiMgBA+gi8ZEK9z3A2U6VhLs3vRSkqKgMAZI+iVWRCrc5wJrWqcTHMLS5C1dvVEXsWFaHK8nlWFZUBALJF4CUTitt+S23lXe4MZ9KrGpcb5mrxXrQyFZUBALLDlmYyYaVnOFulqnExzO2+dkNs29Rz0e/HeVYAALJC4CUzqj3Dmcaqxs6zAgCQBbY0kynVnOGspKpxK22VdZ4VAIC0E3jJnErPcKa5qrHzrAAApJnAC8vIclVjmi+plcEBAFqBwAvLyHpVY5on6ZXBAQCSTtEqWIaqxjRDq1QGBwBIMoEXyqCqMY2UxsrgAADNYEszPEep85KqGtMoaa0MDgDQaAIv/ItyzkuqakwjpLkyOABAI9nSDOG8JMmiMjgAQG0IvGSe85IkTbEyeCkqgwMALE/gJfMqOS8JjaAyOABAbQi8ZJ7zkiSRyuAAACunaBWZ57wkSaUyOADAygi8ZF7xvGSpbc3OS9IsKoMDAFTPlmYyz3lJAABIJ4EXwnlJAABII1ua4V84LwkAAOki8MJzOC8JAADpYUszAAAAqSTwAgAAkEoCLwAAAKkk8AIAAJBKAi8AAACpJPACAACQSgIvAAAAqSTwAgAAkEoCLwAAAKkk8AIAAJBKAi8AAACp1N7sAUAa5fOFGJuYiZm5+eju7IitG7sjl2tr9rAAACBTBF6osZHRyTgwPB7Ts/MXrvV0dcTewf7YOdDXxJEBAEC22NIMNTQyOhn7Dx9dEHYjIqZn52P/4aMxMjrZpJEBAED2CLxQI/l8IQ4Mj5e85+DweOTzhQaNCAAAsk3ghRoZm5hZsrK72NTsfIxNzDRmQAAAkHECL9TIzFzpsFvpfQAAwMoIvFAj3Z0dNb0PAABYGYEXamTrxu7o6SodZnu7zrcoAgAA6k/gTbh8vhDHT07HN489HsdPTit4lGC5XFvsHewvec+ewX79eAEAoEH04U0w/Vxbz86Bvtg3tH3Jz623qyP21OHnls8XYmxiJmbm5qO78/zqsUANAADnCbwJVeznulixn+u+oe1Cb0LtHOiLHf3r6x5EPRABAIDSbGlOIP1cW18u1xbbNvXE7ms3xLZNPXUJu/sPH13SBqn4QGRkdLKmrwcAAK1I4E0g/VwpxQMRAAAoj8CbQPq5UooHIgAAUB6BN4H0c6UUD0QAAKA8Am8C6edKKR6IAABAeQTeBEpTP1d9hGvPAxEAACiPtkQJ1eh+rvWgbU59FB+IXKxtVVGrPBABAIB6aisUColecjt3Lh9TU3PNHkbT5POFuvdzLUd7ey56ejpjenouzp7NL3v/pfoIF+kjvHIXe6DQSg9EWkml8x/Swtwny8x/sqwV5n9vb2esWrX8hmUrvNRcuW1zdvSvtwq5AjsH+mJH//pEPBBJg6Q8XAIAoHYE3gRr1S3BlbTN2bapp0GjSqdcrs17WAOt+nsNAIDSFK1KqOKW4MXBcXp2PvYfPhojo5NNGtnytM2hlbTy7zUAAEoTeBOo3C3BSa14rG0OraLVf68BAFCawJtAlWwJTiJtc2gV5f5eG/3BdINGBABALQm8CdTqW4LT1EeYdCv799qTT9d5JAAA1IPAm0Bp2BJc7CO8eKW3t6tDSyISo+zfa89fXeeRAABQD6o0J1BxS3CprZatsCVY2xySrtzfawMvVgkbAKAVWeFNoDRtCS62zdl97YbYtqmnJcZMdqTp9xoAAEsJvAllSzA0ht9rAADpZUtzgtkSDI3h9xoAQDoJvAlX3BIM1JffawAA6WNLMwAAAKlkhReoqXy+YGswAACJIPACNTMyOhkHhscXtPnp6eqIvYP9ij8BANBwtjQDNTEyOhn7Dx9d0tN2enY+9h8+GiOjk00aGQAAWSXwAiuWzxfiwPB4yXsODo9HPl9o0IgAAEDgBWpgbGJmycruYlOz8zE2MdOYAQEAQAi8QA3MzJUOu5XeBwAAtSDwAivW3dlR0/sAAKAWBF5gxbZu7I6ertJhtrfrfIsiAABoFIEXWLFcri32DvaXvGfPYL9+vAAANJTAC9TEzoG+2De0fclKb29XR+wb2q4PLwAADdfe7AEA6bFzoC929K+PsYmZmJmbj+7O89uYrewCANAMAi9QU7lcW2zb1NPsYQAAgC3NAAAApJPACwAAQCrZ0rwC+XzBWUUAAICEEnirNDI6GQeGx2N6dv7CtZ6ujtg72K8aLQAAQALY0lyFkdHJ2H/46IKwGxExPTsf+w8fjZHRySaNDAAAgCKBt0L5fCEODI+XvOfg8Hjk84UGjQgAAICLEXgrNDYxs2Rld7Gp2fkYm5hpzIAAAAC4KIG3QjNzpcNupfcBAABQHysKvJ/61KfibW9724JrjzzySNx0001x3XXXxRve8Ia49957VzTApOnu7KjpfQAAANRH1YH3T//0T+PjH//4gmvT09Pxjne8I66++uo4dOhQ3HrrrfGxj30sDh06tOKBJsXWjd3R01U6zPZ2nW9RBAAAQPNU3JboRz/6Udx+++0xMjISmzdvXvCxL3/5y7F69eq44447or29PbZs2RInT56Me+65J2688caaDbqZcrm22DvYH/sPH73kPXsG+/XjBQAAaLKKA+93v/vduOKKK+LP/uzPYv/+/fHDH/7wwseOHDkSu3btivb2Z7/s7t274zOf+UycOnUq1q1bV90g25N11PhVL9sQuVW5+MLXRmPqOQWsetd2xFvfPBC7tqWvD++qVbkF/4YsMf/JKnOfLDP/ybI0zf+KA+8NN9wQN9xww0U/9vjjj8fWrVsXXOvrOx/+HnvssaoCby7XFj09nRV/Xr29+dWb442vujqO/eOpmDp9JnrXrolrX7IuVqV8ZXft2suaPQRoGvOfrDL3yTLznyxLw/yvOPCWcubMmVi9evWCax0d58+7zs9XV7U4ny/E6dM/XfHY6uWqdZfFVevOT4TTTyR3nCu1alUu1q69LE6ffirOncs3ezjQUOY/WWXuk2XmP1nWCvN/7drLylqBrmngXbNmTTz99NMLrhWD7uWXX1711z17NplvchadO5f38yCzzH+yytwny8x/siwN87+mm7I3bNgQk5OTC64Vf33llVfW8qUAAACgpJoG3l27dsXIyEicO3fuwrWHHnooNm/eXHXBKgAAAKhGTQPvjTfeGE8++WTcfvvt8eijj8b9998f9913X9x88821fBkAAABYVk0D77p16+Jzn/tcnDhxIoaGhuKTn/xk3HbbbTE0NFTLlwEAAIBltRUKhUKzB1HKuXP5mJqaa/YwMq+9PRc9PZ0xPT3X8gfXoVLmP1ll7pNl5j9Z1grzv7e3s6wqza3fSRgAAAAuQuAFAAAglQReAAAAUkngBQAAIJUEXgAAAFJJ4AUAACCVBF4AAABSSeAFAAAglQReAAAAUkngBQAAIJUEXgAAAFJJ4AUAACCVBF4AAABSSeAFAAAglQReAAAAUqm92QOg9eXzhRibmImZufno7uyIrRu7I5dra/awAACAjBN4WZGR0ck4MDwe07PzF671dHXE3sH+2DnQ18SRAQAAWWdLM1UbGZ2M/YePLgi7ERHTs/Ox//DRGBmdbNLIAAAABF6qlM8X4sDweMl7Dg6PRz5faNCIAAAAFhJ4qcrYxMySld3FpmbnY2xipjEDAgAAWETgpSozc6XDbqX3AQAA1JrAS1W6Oztqeh8AAECtCbxUZevG7ujpKh1me7vOtygCAABoBoGXC/L5Qhw/OR3fPPZ4HD85XbLgVC7XFnsH+0t+vT2D/frxAgAATaMPLxFRXT/dnQN9sW9o+5LP6+3qiD368AIAAE0m8HKhn+5ixX66+4a2x6tetuGin7tzoC929K+PsYmZmJmbj+7O89uYrewCAADNJvBmXLn9dHe99MpLfjyXa4ttm3pqPTQAAIAVcYY348rtpzv6g+kGjQgAAKA2BN6MK7uf7pNP13kkAAAAtSXwZlzZ/XSfv7rOIwEAAKgtgTfjyu2nO/BiZ3QBAIDWIvBmnH66AABAWgm8XOinu3ilt7erI/YNbddPFwAAaEnaEhER+ukCAADpI/BygX66AABAmtjSDAAAQCoJvAAAAKSSwAsAAEAqCbwAAACkksALAABAKgm8AAAApJLACwAAQCoJvAAAAKSSwAsAAEAqCbwAAACkksALAABAKgm8AAAApJLACwAAQCoJvAAAAKSSwAsAAEAqCbwAAACkksALAABAKgm8AAAApJLACwAAQCoJvAAAAKSSwAsAAEAqCbwAAACkksALAABAKgm8AAAApFJ7swfAQvl8IcYmZmJmbj66Ozti68buyOXamj0sAACAliPwJsjI6GQcGB6P6dn5C9d6ujpi72B/7Bzoa+LIAAAAWo8tzQkxMjoZ+w8fXRB2IyKmZ+dj/+GjMTI62aSRAQAAtCaBNwHy+UIcGB4vec/B4fHI5wsNGhEAAEDrE3gTYGxiZsnK7mJTs/MxNjHTmAEBAACkgMCbADNzpcNupfcBAAAg8CZCd2dHTe8DAABA4E2ErRu7o6erdJjt7TrfoggAAIDyCLwJkMu1xd7B/pL37Bns148XAACgAgJvQuwc6It9Q9uXrPT2dnXEvqHt+vACAABUqL3ZA+BZOwf6Ykf/+hibmImZufno7jy/jdnKLgAAQOUE3oTJ5dpi26aeZg8DAACg5dnSDAAAQCoJvAAAAKSSwAsAAEAqCbwAAACkksALAABAKgm8AAAApJLACwAAQCoJvAAAAKSSwAsAAEAqCbwAAACkksALAABAKgm8AAAApJLACwAAQCoJvAAAAKSSwAsAAEAqCbwAAACkksALAABAKgm8AAAApJLACwAAQCoJvAAAAKSSwAsAAEAqCbwAAACkksALAABAKgm8AAAApJLACwAAQCoJvAAAAKSSwAsAAEAqCbwAAACkksALAABAKgm8AAAApJLACwAAQCoJvAAAAKSSwAsAAEAqCbwAAACkksALAABAKgm8AAAApJLACwAAQCoJvAAAAKSSwAsAAEAqCbwAAACkUnuzBwBZk88XYmxiJmbm5qO7syO2buyOXK6t2cMCAIDUEXihgUZGJ+PA8HhMz85fuNbT1RF7B/tj50BfE0cGAADpY0szNMjI6GTsP3x0QdiNiJienY/9h4/GyOhkk0YGAADpJPBCA+TzhTgwPF7ynoPD45HPFxo0IgAASD+BFxpgbGJmycruYlOz8zE2MdOYAQEAQAYIvNAAM3Olw26l9wEAAMsTeKEBujs7anofAACwPIEXGmDrxu7o6SodZnu7zrcoAgAAakPghQbI5dpi72B/yXv2DPbrxwsAADUk8EKD7Bzoi31D25es9PZ2dcS+oe368AIAQI21N3sAkAb5fCHGJmZiZm4+ujvPb02+2GrtzoG+2NG/vqx7AQCAlRF4YYVGRifjwPD4grZDPV0dsXew/6KrtrlcW2zb1NPIIQIAQCbZ0gwrMDI6GfsPH13SY3d6dj72Hz4aI6OTTRoZAAAg8EKV8vlCHBgeL3nPweHxyOcLDRoRAADwXAIvVGlsYmbJyu5iU7PzMTYx05gBAQAAC9Q88Obz+fj4xz8eP//zPx+veMUr4td+7dfi5MmTtX4ZaLqZudJht9L7AACA2qp54P3Upz4VX/ziF+O//Jf/El/60peira0tfv3Xfz2efvrpWr8UNFV3Z8fyN1VwHwAAUFs1DbxPP/10/Lf/9t/i1ltvjde//vWxbdu2+OhHPxo/+tGP4sEHH6zlS0HTbd3YvaSn7mK9XefbDgEAAI1X08B7/PjxmJubi927d1+4tnbt2rj22mvj4YcfruVLQdPlcm2xd7C/5D17Bvv12AUAgCapaR/exx9/PCIiXvCCFyy43tfXF//8z/9c9ddtb1dbq9lWrcot+DfnveplGyK3Khdf+NpoTD2ngFXv2o5465sHYte2pX14aT3mP1ll7pNl5j9Zlqb5X9PA+9RTT0VExOrVqxdc7+joiCeeeKKqr5nLtUVPT+eKx0ZtrF17WbOHkDhvfvXmeOOrro5j/3gqpk6fid61a+Lal6yLVVZ2U8f8J6vMfbLM/CfL0jD/axp416xZExHnz/IW/zsiYn5+Pi67rLo3K58vxOnTP63J+KjeqlW5WLv2sjh9+qk4dy7f7OEk0lXrLour1p2f56efMGfTxPwnq8x9ssz8J8taYf6vXXtZWSvQNQ28xa3Mk5OT8eIXv/jC9cnJydi2bVvVX/fs2WS+yVl07lzez4PMMv/JKnOfLDP/ybI0zP+absretm1bPP/5z4+/+7u/u3Dt9OnTcezYsbj++utr+VIAAABQUk1XeFevXh033XRT3HXXXdHb2xsvetGL4o/+6I9iw4YN8aY3vamWLwWkQD5fiLGJmZiZm4/uzvMtnFS1BgCgVmoaeCMi3vWud8XZs2fjAx/4QJw5cyZ27doV995775JCVkC2jYxOxoHh8Zh+TnXrnq6O2DvYHzsHVLcGAGDl2gqFQqHZgyjl3Ll8TE3NNXsYmdfenouens6Ynp5r+X38NN/I6GTsP3z0kh/fN7Q9UaHX/CerzH2yzPwny1ph/vf2dpZVtKr1GysBLSWfL8SB4fGS9xwcHo98PtHP4gAAaAECL9BQYxMzC7YxX8zU7HyMTcw0ZkAAAKSWwAs01Mxc6bBb6X0AAHApAi/QUN2dHTW9DwAALkXgBRpq68bu6OkqHWZ7u863KAIAgJUQeIGGyuXaYu9gf8l79gz268cLAMCKCbxAw+0c6It9Q9uXrPT2dnUkriURAACtq73ZAwCyaedAX+zoXx9jEzMxMzcf3Z3ntzFb2QUAoFYEXqBpcrm22Lapp9nDAAAgpWxpBgAAIJUEXgAAAFJJ4AUAACCVBF4AAABSSeAFAAAglQReAAAAUkngBQAAIJUEXgAAAFJJ4AUAACCVBF4AAABSSeAFAAAglQReAAAAUkngBQAAIJUEXgAAAFJJ4AUAACCVBF4AAABSSeAFAAAglQReAAAAUkngBQAAIJUEXgAAAFJJ4AUAACCV2ps9gFaWzxdibGImZubmo7uzI7Zu7I5crq3ZwwIAACAE3qqNjE7GgeHxmJ6dv3Ctp6sj9g72x86BviaODAAAgAhbmqsyMjoZ+w8fXRB2IyKmZ+dj/+GjMTI62aSRAQAAUCTwViifL8SB4fGS9xwcHo98vtCgEQEAAHAxAm+FxiZmlqzsLjY1Ox9jEzONGRAAAAAXJfBWaGaudNit9D4AAADqQ+CtUHdnR03vAwAAoD4E3gpt3dgdPV2lw2xv1/kWRQAAADSPwFuhXK4t9g72l7xnz2C/frwAAABNJvBWYedAX+wb2r5kpbe3qyP2DW3XhxcAACAB2ps9gFa1c6AvdvSvj7GJmZiZm4/uzvPbmK3sAgAAJIPAuwK5XFts29TT7GEAAABwEbY0AwAAkEoCLwAAAKkk8AIAAJBKAi8AAACpJPACAACQSgIvAAAAqSTwAgAAkEoCLwAAAKkk8AIAAJBKAi8AAACpJPACAACQSgIvAAAAqSTwAgAAkEoCLwAAAKkk8AIAAJBKAi8AAACpJPACAACQSgIvAAAAqSTwAgAAkEoCLwAAAKkk8AIAAJBKbYVCodDsQZRSKBQin0/0EDNj1apcnDuXb/YwoCnMf7LK3CfLzH+yLOnzP5dri7a2tmXvS3zgBQAAgGrY0gwAAEAqCbwAAACkksALAABAKgm8AAAApJLACwAAQCoJvAAAAKSSwAsAAEAqCbwAAACkksALAABAKgm8AAAApJLACwAAQCoJvAAAAKSSwAsAAEAqCbxc0qc+9al429vetuDaI488EjfddFNcd9118YY3vCHuvffeJo0Oam9mZib+83/+z/G6170uXvnKV8aePXviyJEjFz5u/pNWp06dive+972xe/fu2LFjR/zGb/xGPProoxc+bu6TFSdOnIgdO3bE/ffff+Ga+U+a/fCHP4yBgYEl//yP//E/IiId81/g5aL+9E//ND7+8Y8vuDY9PR3veMc74uqrr45Dhw7FrbfeGh/72Mfi0KFDTRol1NZv//Zvxz/8wz/E3XffHV/5ylfiZS97Wbzzne+M733ve+Y/qXbLLbfExMRE3HPPPfGVr3wl1qxZE29/+9vjqaeeMvfJjGeeeSbe8573xE9/+tML18x/0m50dDQ6OjriG9/4Rvz1X//1hX/e8pa3pGb+tzd7ACTLj370o7j99ttjZGQkNm/evOBjX/7yl2P16tVxxx13RHt7e2zZsiVOnjwZ99xzT9x4441NGjHUxsmTJ+Nv/uZv4uDBg/HKV74yIiJuv/32+PrXvx5f/epXY82aNeY/qTQ9PR1XXXVV3HLLLdHf3x8REb/5m78Zv/iLvxjj4+Px0EMPmftkwic+8Yno7OxccM3ffUi7sbGx2Lx5c/T19S352H333ZeK+W+FlwW++93vxhVXXBF/9md/Fq94xSsWfOzIkSOxa9euaG9/9jnJ7t2748SJE3Hq1KlGDxVqqqenJz772c/G9u3bL1xra2uLQqEQTzzxhPlPavX09MTdd999Iez+5Cc/iXvvvTc2bNgQ11xzjblPJjz88MPxpS99Kf7gD/5gwXXzn7QbHR2Na6655qIfS8v8F3hZ4IYbbog//uM/jo0bNy752OOPPx4bNmxYcK34NOixxx5ryPigXtauXRuvf/3rY/Xq1Reu/eVf/mX84Ac/iNe+9rXmP5nwu7/7u/FzP/dz8b/+1/+KO++8My6//HJzn9Q7ffp03HbbbfGBD3wgXvCCFyz4mPlP2o2NjcWpU6di79698ZrXvCb27NkT3/jGNyIiPfNf4KVsZ86cWRAGIiI6OjoiImJ+fr4ZQ4K6GRkZife///3xxje+MW644Qbzn0z41V/91Th06FD8u3/372Lfvn3x3e9+19wn9e6444647rrr4i1vecuSj5n/pNnTTz8d3//+9+PJJ5+M3/qt34rPfvaz8bM/+7Px67/+6/HQQw+lZv47w0vZ1qxZE08//fSCa8XJfvnllzdjSFAXw8PD8Z73vCde8YpXxN133x0R5j/ZUNzW9qEPfSi+/e1vx+c//3lzn1R74IEH4siRI/Hnf/7nF/24+U+arV69Oh5++OFob2+/EGy3b98e3/ve9+Lee+9Nzfy3wkvZNmzYEJOTkwuuFX995ZVXNmNIUHOf//zn49Zbb43Xve51cc8998SaNWsiwvwnvU6dOhVf/epX49y5cxeu5XK52LJlS0xOTpr7pNqhQ4fi1KlT8YY3vCF27NgRO3bsiIiI3/u934t/82/+jflP6l1++eVLVnG3bt0aP/rRj1Iz/wVeyrZr164YGRlZ8Jeihx56KDZv3hzr1q1r4sigNg4cOBAf+tCH4q1vfWv8yZ/8yYL/AZj/pNXk5GS8+93vjr//+7+/cO2ZZ56JY8eOxZYtW8x9Uu2uu+6Kv/iLv4gHHnjgwj8REe9617vis5/9rPlPqh0/fjx27NgRR44cWXD96NGjcc0116Rm/gu8lO3GG2+MJ598Mm6//fZ49NFH4/7774/77rsvbr755mYPDVbsxIkT8fu///vxpje9KW6++eY4depU/PjHP44f//jHMTs7a/6TWtu2bYvXvva18cEPfjCOHDkSY2Nj8b73vS9Onz4db3/72819Uu3KK6+MTZs2LfgnImLdunXxohe9yPwn1bZu3Rr9/f0X/vz/3ve+Fx/+8Ifj29/+dvyn//SfUjP/2wqFQqHZgyCZfud3fid++MMfxn//7//9wrXvfOc7ceedd8axY8di/fr18Wu/9mtx0003NXGUUBv/9b/+1/joRz960Y8NDQ3FRz7yEfOf1JqdnY0//uM/juHh4ZidnY3rr78+fud3fudCqyJznywZGBiID3/4w/HLv/zLEWH+k25TU1Nx1113xde//vU4ffp0XHvttfGe97wnrr/++ohIx/wXeAEAAEglW5oBAABIJYEXAACAVBJ4AQAASCWBFwAAgFQSeAEAAEglgRcAAIBUEngBAABIJYEXAACAVBJ4AQAASCWBFwAAgFQSeAEAAEil/x+AVJx45dBfRwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 1170x827 with 1 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/week35_210_0.png"
}
},
"output_type": "display_data"
}
],
"source": [
"# plotting the y_test vs y_pred\n",
"# ideally should have been a straight line\n",
"plt.scatter(Y_test, y_test_predict)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "cd590eba",
"metadata": {
"editable": true
},
"source": [
"## Material for lecture Thursday, August 31"
]
},
{
"cell_type": "markdown",
"id": "9968e6df",
"metadata": {
"editable": true
},
"source": [
"## Mathematical Interpretation of Ordinary Least Squares\n",
"\n",
"What is presented here is a mathematical analysis of various regression algorithms (ordinary least squares, Ridge and Lasso Regression). The analysis is based on an important algorithm in linear algebra, the so-called Singular Value Decomposition (SVD). \n",
"\n",
"We have shown that in ordinary least squares the optimal parameters $\\beta$ are given by"
]
},
{
"cell_type": "markdown",
"id": "6e0b933c",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\hat{\\boldsymbol{\\beta}} = \\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "e3019867",
"metadata": {
"editable": true
},
"source": [
"The **hat** over $\\boldsymbol{\\beta}$ means we have the optimal parameters after minimization of the cost function.\n",
"\n",
"This means that our best model is defined as"
]
},
{
"cell_type": "markdown",
"id": "84b218f8",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\tilde{\\boldsymbol{y}}=\\boldsymbol{X}\\hat{\\boldsymbol{\\beta}} = \\boldsymbol{X}\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "19a7596b",
"metadata": {
"editable": true
},
"source": [
"We now define a matrix"
]
},
{
"cell_type": "markdown",
"id": "bd703e67",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{A}=\\boldsymbol{X}\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "123c9939",
"metadata": {
"editable": true
},
"source": [
"We can rewrite"
]
},
{
"cell_type": "markdown",
"id": "e25cd9d9",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\tilde{\\boldsymbol{y}}=\\boldsymbol{X}\\hat{\\boldsymbol{\\beta}} = \\boldsymbol{A}\\boldsymbol{y}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "7a90c314",
"metadata": {
"editable": true
},
"source": [
"The matrix $\\boldsymbol{A}$ has the important property that $\\boldsymbol{A}^2=\\boldsymbol{A}$. This is the definition of a projection matrix.\n",
"We can then interpret our optimal model $\\tilde{\\boldsymbol{y}}$ as being represented by an orthogonal projection of $\\boldsymbol{y}$ onto a space defined by the column vectors of $\\boldsymbol{X}$. In our case here the matrix $\\boldsymbol{A}$ is a square matrix. If it is a general rectangular matrix we have an oblique projection matrix."
]
},
{
"cell_type": "markdown",
"id": "342cbb0e",
"metadata": {
"editable": true
},
"source": [
"## Residual Error\n",
"\n",
"We have defined the residual error as"
]
},
{
"cell_type": "markdown",
"id": "8174f656",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{\\epsilon}=\\boldsymbol{y}-\\tilde{\\boldsymbol{y}}=\\left[\\boldsymbol{I}-\\boldsymbol{X}\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\right]\\boldsymbol{y}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "9d4a6e02",
"metadata": {
"editable": true
},
"source": [
"The residual errors are then the projections of $\\boldsymbol{y}$ onto the orthogonal component of the space defined by the column vectors of $\\boldsymbol{X}$."
]
},
{
"cell_type": "markdown",
"id": "6165636b",
"metadata": {
"editable": true
},
"source": [
"## Simple case\n",
"\n",
"If the matrix $\\boldsymbol{X}$ is an orthogonal (or unitary in case of complex values) matrix, we have"
]
},
{
"cell_type": "markdown",
"id": "cd5ead70",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\boldsymbol{X}=\\boldsymbol{X}\\boldsymbol{X}^T = \\boldsymbol{I}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "ea18f6fe",
"metadata": {
"editable": true
},
"source": [
"In this case the matrix $\\boldsymbol{A}$ becomes"
]
},
{
"cell_type": "markdown",
"id": "9b42e1cf",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{A}=\\boldsymbol{X}\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T)=\\boldsymbol{I},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "ddc58b22",
"metadata": {
"editable": true
},
"source": [
"and we have the obvious case"
]
},
{
"cell_type": "markdown",
"id": "288e8e6a",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{\\epsilon}=\\boldsymbol{y}-\\tilde{\\boldsymbol{y}}=0.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "4fd80694",
"metadata": {
"editable": true
},
"source": [
"This serves also as a useful test of our codes."
]
},
{
"cell_type": "markdown",
"id": "b006a8c2",
"metadata": {
"editable": true
},
"source": [
"## The singular value decomposition\n",
"\n",
"The examples we have looked at so far are cases where we normally can\n",
"invert the matrix $\\boldsymbol{X}^T\\boldsymbol{X}$. Using a polynomial expansion where we fit of various functions leads to\n",
"row vectors of the design matrix which are essentially orthogonal due\n",
"to the polynomial character of our model. Obtaining the inverse of the\n",
"design matrix is then often done via a so-called LU, QR or Cholesky\n",
"decomposition.\n",
"\n",
"As we will also see in the first project, \n",
"this may\n",
"however not the be case in general and a standard matrix inversion\n",
"algorithm based on say LU, QR or Cholesky decomposition may lead to singularities. We will see examples of this below.\n",
"\n",
"There is however a way to circumvent this problem and also\n",
"gain some insights about the ordinary least squares approach, and\n",
"later shrinkage methods like Ridge and Lasso regressions.\n",
"\n",
"This is given by the **Singular Value Decomposition** (SVD) algorithm,\n",
"perhaps the most powerful linear algebra algorithm. The SVD provides\n",
"a numerically stable matrix decomposition that is used in a large\n",
"swath oc applications and the decomposition is always stable\n",
"numerically.\n",
"\n",
"In machine learning it plays a central role in dealing with for\n",
"example design matrices that may be near singular or singular.\n",
"Furthermore, as we will see here, the singular values can be related\n",
"to the covariance matrix (and thereby the correlation matrix) and in\n",
"turn the variance of a given quantity. It plays also an important role\n",
"in the principal component analysis where high-dimensional data can be\n",
"reduced to the statistically relevant features."
]
},
{
"cell_type": "markdown",
"id": "725d878b",
"metadata": {
"editable": true
},
"source": [
"## Linear Regression Problems\n",
"\n",
"One of the typical problems we encounter with linear regression, in particular \n",
"when the matrix $\\boldsymbol{X}$ (our so-called design matrix) is high-dimensional, \n",
"are problems with near singular or singular matrices. The column vectors of $\\boldsymbol{X}$ \n",
"may be linearly dependent, normally referred to as super-collinearity. \n",
"This means that the matrix may be rank deficient and it is basically impossible to \n",
"to model the data using linear regression. As an example, consider the matrix"
]
},
{
"cell_type": "markdown",
"id": "fd5e5178",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\begin{align*}\n",
"\\mathbf{X} & = \\left[\n",
"\\begin{array}{rrr}\n",
"1 & -1 & 2\n",
"\\\\\n",
"1 & 0 & 1\n",
"\\\\\n",
"1 & 2 & -1\n",
"\\\\\n",
"1 & 1 & 0\n",
"\\end{array} \\right]\n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "153ac58e",
"metadata": {
"editable": true
},
"source": [
"The columns of $\\boldsymbol{X}$ are linearly dependent. We see this easily since the \n",
"the first column is the row-wise sum of the other two columns. The rank (more correct,\n",
"the column rank) of a matrix is the dimension of the space spanned by the\n",
"column vectors. Hence, the rank of $\\mathbf{X}$ is equal to the number\n",
"of linearly independent columns. In this particular case the matrix has rank 2.\n",
"\n",
"Super-collinearity of an $(n \\times p)$-dimensional design matrix $\\mathbf{X}$ implies\n",
"that the inverse of the matrix $\\boldsymbol{X}^T\\boldsymbol{X}$ (the matrix we need to invert to solve the linear regression equations) is non-invertible. If we have a square matrix that does not have an inverse, we say this matrix singular. The example here demonstrates this"
]
},
{
"cell_type": "markdown",
"id": "3a4c4a00",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\begin{align*}\n",
"\\boldsymbol{X} & = \\left[\n",
"\\begin{array}{rr}\n",
"1 & -1\n",
"\\\\\n",
"1 & -1\n",
"\\end{array} \\right].\n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "c102eee7",
"metadata": {
"editable": true
},
"source": [
"We see easily that $\\mbox{det}(\\boldsymbol{X}) = x_{11} x_{22} - x_{12} x_{21} = 1 \\times (-1) - 1 \\times (-1) = 0$. Hence, $\\mathbf{X}$ is singular and its inverse is undefined.\n",
"This is equivalent to saying that the matrix $\\boldsymbol{X}$ has at least an eigenvalue which is zero."
]
},
{
"cell_type": "markdown",
"id": "7005d428",
"metadata": {
"editable": true
},
"source": [
"## Fixing the singularity\n",
"\n",
"If our design matrix $\\boldsymbol{X}$ which enters the linear regression problem"
]
},
{
"cell_type": "markdown",
"id": "ebdbde59",
"metadata": {
"editable": true
},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto1\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
"\\boldsymbol{\\beta} = (\\boldsymbol{X}^{T} \\boldsymbol{X})^{-1} \\boldsymbol{X}^{T} \\boldsymbol{y},\n",
"\\label{_auto1} \\tag{1}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "8757437b",
"metadata": {
"editable": true
},
"source": [
"has linearly dependent column vectors, we will not be able to compute the inverse\n",
"of $\\boldsymbol{X}^T\\boldsymbol{X}$ and we cannot find the parameters (estimators) $\\beta_i$. \n",
"The estimators are only well-defined if $(\\boldsymbol{X}^{T}\\boldsymbol{X})^{-1}$ exits. \n",
"This is more likely to happen when the matrix $\\boldsymbol{X}$ is high-dimensional. In this case it is likely to encounter a situation where \n",
"the regression parameters $\\beta_i$ cannot be estimated.\n",
"\n",
"A cheap *ad hoc* approach is simply to add a small diagonal component to the matrix to invert, that is we change"
]
},
{
"cell_type": "markdown",
"id": "dba77cf1",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}^{T} \\boldsymbol{X} \\rightarrow \\boldsymbol{X}^{T} \\boldsymbol{X}+\\lambda \\boldsymbol{I},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "2f275695",
"metadata": {
"editable": true
},
"source": [
"where $\\boldsymbol{I}$ is the identity matrix. When we discuss **Ridge** regression this is actually what we end up evaluating. The parameter $\\lambda$ is called a hyperparameter. More about this later."
]
},
{
"cell_type": "markdown",
"id": "32c17033",
"metadata": {
"editable": true
},
"source": [
"## Basic math of the SVD\n",
"\n",
"From standard linear algebra we know that a square matrix $\\boldsymbol{X}$ can be diagonalized if and only it is \n",
"a so-called [normal matrix](https://en.wikipedia.org/wiki/Normal_matrix), that is if $\\boldsymbol{X}\\in {\\mathbb{R}}^{n\\times n}$\n",
"we have $\\boldsymbol{X}\\boldsymbol{X}^T=\\boldsymbol{X}^T\\boldsymbol{X}$ or if $\\boldsymbol{X}\\in {\\mathbb{C}}^{n\\times n}$ we have $\\boldsymbol{X}\\boldsymbol{X}^{\\dagger}=\\boldsymbol{X}^{\\dagger}\\boldsymbol{X}$.\n",
"The matrix has then a set of eigenpairs"
]
},
{
"cell_type": "markdown",
"id": "13d50641",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"(\\lambda_1,\\boldsymbol{u}_1),\\dots, (\\lambda_n,\\boldsymbol{u}_n),\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "e32d182b",
"metadata": {
"editable": true
},
"source": [
"and the eigenvalues are given by the diagonal matrix"
]
},
{
"cell_type": "markdown",
"id": "566185cc",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{\\Sigma}=\\mathrm{Diag}(\\lambda_1, \\dots,\\lambda_n).\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "69cc07d3",
"metadata": {
"editable": true
},
"source": [
"The matrix $\\boldsymbol{X}$ can be written in terms of an orthogonal/unitary transformation $\\boldsymbol{U}$"
]
},
{
"cell_type": "markdown",
"id": "5a62e55b",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X} = \\boldsymbol{U}\\boldsymbol{\\Sigma}\\boldsymbol{V}^T,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "185a7b6c",
"metadata": {
"editable": true
},
"source": [
"with $\\boldsymbol{U}\\boldsymbol{U}^T=\\boldsymbol{I}$ or $\\boldsymbol{U}\\boldsymbol{U}^{\\dagger}=\\boldsymbol{I}$.\n",
"\n",
"Not all square matrices are diagonalizable. A matrix like the one discussed above"
]
},
{
"cell_type": "markdown",
"id": "b63994c4",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X} = \\begin{bmatrix} \n",
"1& -1 \\\\\n",
"1& -1\\\\\n",
"\\end{bmatrix}\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "1b5e5ea8",
"metadata": {
"editable": true
},
"source": [
"is not diagonalizable, it is a so-called [defective matrix](https://en.wikipedia.org/wiki/Defective_matrix). It is easy to see that the condition\n",
"$\\boldsymbol{X}\\boldsymbol{X}^T=\\boldsymbol{X}^T\\boldsymbol{X}$ is not fulfilled."
]
},
{
"cell_type": "markdown",
"id": "c7cba8d9",
"metadata": {
"editable": true
},
"source": [
"## The SVD, a Fantastic Algorithm\n",
"\n",
"However, and this is the strength of the SVD algorithm, any general\n",
"matrix $\\boldsymbol{X}$ can be decomposed in terms of a diagonal matrix and\n",
"two orthogonal/unitary matrices. The [Singular Value Decompostion\n",
"(SVD) theorem](https://en.wikipedia.org/wiki/Singular_value_decomposition)\n",
"states that a general $m\\times n$ matrix $\\boldsymbol{X}$ can be written in\n",
"terms of a diagonal matrix $\\boldsymbol{\\Sigma}$ of dimensionality $m\\times n$\n",
"and two orthognal matrices $\\boldsymbol{U}$ and $\\boldsymbol{V}$, where the first has\n",
"dimensionality $m \\times m$ and the last dimensionality $n\\times n$.\n",
"We have then"
]
},
{
"cell_type": "markdown",
"id": "34a321a1",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X} = \\boldsymbol{U}\\boldsymbol{\\Sigma}\\boldsymbol{V}^T\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "adeb4e2a",
"metadata": {
"editable": true
},
"source": [
"As an example, the above defective matrix can be decomposed as"
]
},
{
"cell_type": "markdown",
"id": "983c4d05",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X} = \\frac{1}{\\sqrt{2}}\\begin{bmatrix} 1& 1 \\\\ 1& -1\\\\ \\end{bmatrix} \\begin{bmatrix} 2& 0 \\\\ 0& 0\\\\ \\end{bmatrix} \\frac{1}{\\sqrt{2}}\\begin{bmatrix} 1& -1 \\\\ 1& 1\\\\ \\end{bmatrix}=\\boldsymbol{U}\\boldsymbol{\\Sigma}\\boldsymbol{V}^T,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "30746d8f",
"metadata": {
"editable": true
},
"source": [
"with eigenvalues $\\sigma_1=2$ and $\\sigma_2=0$. \n",
"The SVD exits always! \n",
"\n",
"The SVD\n",
"decomposition (singular values) gives eigenvalues \n",
"$\\sigma_i\\geq\\sigma_{i+1}$ for all $i$ and for dimensions larger than $i=p$, the\n",
"eigenvalues (singular values) are zero.\n",
"\n",
"In the general case, where our design matrix $\\boldsymbol{X}$ has dimension\n",
"$n\\times p$, the matrix is thus decomposed into an $n\\times n$\n",
"orthogonal matrix $\\boldsymbol{U}$, a $p\\times p$ orthogonal matrix $\\boldsymbol{V}$\n",
"and a diagonal matrix $\\boldsymbol{\\Sigma}$ with $r=\\mathrm{min}(n,p)$\n",
"singular values $\\sigma_i\\geq 0$ on the main diagonal and zeros filling\n",
"the rest of the matrix. There are at most $p$ singular values\n",
"assuming that $n > p$. In our regression examples for the nuclear\n",
"masses and the equation of state this is indeed the case, while for\n",
"the Ising model we have $p > n$. These are often cases that lead to\n",
"near singular or singular matrices.\n",
"\n",
"The columns of $\\boldsymbol{U}$ are called the left singular vectors while the columns of $\\boldsymbol{V}$ are the right singular vectors."
]
},
{
"cell_type": "markdown",
"id": "15b1904e",
"metadata": {
"editable": true
},
"source": [
"## Economy-size SVD\n",
"\n",
"If we assume that $n > p$, then our matrix $\\boldsymbol{U}$ has dimension $n\n",
"\\times n$. The last $n-p$ columns of $\\boldsymbol{U}$ become however\n",
"irrelevant in our calculations since they are multiplied with the\n",
"zeros in $\\boldsymbol{\\Sigma}$.\n",
"\n",
"The economy-size decomposition removes extra rows or columns of zeros\n",
"from the diagonal matrix of singular values, $\\boldsymbol{\\Sigma}$, along with the columns\n",
"in either $\\boldsymbol{U}$ or $\\boldsymbol{V}$ that multiply those zeros in the expression. \n",
"Removing these zeros and columns can improve execution time\n",
"and reduce storage requirements without compromising the accuracy of\n",
"the decomposition.\n",
"\n",
"If $n > p$, we keep only the first $p$ columns of $\\boldsymbol{U}$ and $\\boldsymbol{\\Sigma}$ has dimension $p\\times p$. \n",
"If $p > n$, then only the first $n$ columns of $\\boldsymbol{V}$ are computed and $\\boldsymbol{\\Sigma}$ has dimension $n\\times n$.\n",
"The $n=p$ case is obvious, we retain the full SVD. \n",
"In general the economy-size SVD leads to less FLOPS and still conserving the desired accuracy."
]
},
{
"cell_type": "markdown",
"id": "825d56c0",
"metadata": {
"editable": true
},
"source": [
"## Codes for the SVD"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "83389e7a",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 1. -1.]\n",
" [ 1. -1.]]\n",
"test U\n",
"[[0. 0.]\n",
" [0. 0.]]\n",
"test VT\n",
"[[0. 0.]\n",
" [0. 0.]]\n",
"[[-0.70710678 -0.70710678]\n",
" [-0.70710678 0.70710678]]\n",
"[2.00000000e+00 3.35470445e-17]\n",
"[[-0.70710678 0.70710678]\n",
" [ 0.70710678 0.70710678]]\n",
"[[-3.33066907e-16 4.44089210e-16]\n",
" [ 0.00000000e+00 2.22044605e-16]]\n"
]
}
],
"source": [
"import numpy as np\n",
"# SVD inversion\n",
"def SVD(A):\n",
" ''' Takes as input a numpy matrix A and returns inv(A) based on singular value decomposition (SVD).\n",
" SVD is numerically more stable than the inversion algorithms provided by\n",
" numpy and scipy.linalg at the cost of being slower.\n",
" '''\n",
" U, S, VT = np.linalg.svd(A,full_matrices=True)\n",
" print('test U')\n",
" print( (np.transpose(U) @ U - U @np.transpose(U)))\n",
" print('test VT')\n",
" print( (np.transpose(VT) @ VT - VT @np.transpose(VT)))\n",
" print(U)\n",
" print(S)\n",
" print(VT)\n",
"\n",
" D = np.zeros((len(U),len(VT)))\n",
" for i in range(0,len(VT)):\n",
" D[i,i]=S[i]\n",
" return U @ D @ VT\n",
"\n",
"\n",
"X = np.array([ [1.0,-1.0], [1.0,-1.0]])\n",
"#X = np.array([[1, 2], [3, 4], [5, 6]])\n",
"\n",
"print(X)\n",
"C = SVD(X)\n",
"# Print the difference between the original matrix and the SVD one\n",
"print(C-X)"
]
},
{
"cell_type": "markdown",
"id": "6c1d5c64",
"metadata": {
"editable": true
},
"source": [
"The matrix $\\boldsymbol{X}$ has columns that are linearly dependent. The first\n",
"column is the row-wise sum of the other two columns. The rank of a\n",
"matrix (the column rank) is the dimension of space spanned by the\n",
"column vectors. The rank of the matrix is the number of linearly\n",
"independent columns, in this case just $2$. We see this from the\n",
"singular values when running the above code. Running the standard\n",
"inversion algorithm for matrix inversion with $\\boldsymbol{X}^T\\boldsymbol{X}$ results\n",
"in the program terminating due to a singular matrix."
]
},
{
"cell_type": "markdown",
"id": "092d08fb",
"metadata": {
"editable": true
},
"source": [
"## Note about SVD Calculations\n",
"\n",
"The $U$, $S$, and $V$ matrices returned from the **svd()** function\n",
"cannot be multiplied directly.\n",
"\n",
"As you can see from the code, the $S$ vector must be converted into a\n",
"diagonal matrix. This may cause a problem as the size of the matrices\n",
"do not fit the rules of matrix multiplication, where the number of\n",
"columns in a matrix must match the number of rows in the subsequent\n",
"matrix.\n",
"\n",
"If you wish to include the zero singular values, you will need to\n",
"resize the matrices and set up a diagonal matrix as done in the above\n",
"example"
]
},
{
"cell_type": "markdown",
"id": "680ca861",
"metadata": {
"editable": true
},
"source": [
"## Mathematics of the SVD and implications\n",
"\n",
"Let us take a closer look at the mathematics of the SVD and the various implications for machine learning studies.\n",
"\n",
"Our starting point is our design matrix $\\boldsymbol{X}$ of dimension $n\\times p$"
]
},
{
"cell_type": "markdown",
"id": "d9109bdb",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}=\\begin{bmatrix}\n",
"x_{0,0} & x_{0,1} & x_{0,2}& \\dots & \\dots x_{0,p-1}\\\\\n",
"x_{1,0} & x_{1,1} & x_{1,2}& \\dots & \\dots x_{1,p-1}\\\\\n",
"x_{2,0} & x_{2,1} & x_{2,2}& \\dots & \\dots x_{2,p-1}\\\\\n",
"\\dots & \\dots & \\dots & \\dots \\dots & \\dots \\\\\n",
"x_{n-2,0} & x_{n-2,1} & x_{n-2,2}& \\dots & \\dots x_{n-2,p-1}\\\\\n",
"x_{n-1,0} & x_{n-1,1} & x_{n-1,2}& \\dots & \\dots x_{n-1,p-1}\\\\\n",
"\\end{bmatrix}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "1bc782ad",
"metadata": {
"editable": true
},
"source": [
"We can SVD decompose our matrix as"
]
},
{
"cell_type": "markdown",
"id": "fd98474c",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}=\\boldsymbol{U}\\boldsymbol{\\Sigma}\\boldsymbol{V}^T,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "27505b56",
"metadata": {
"editable": true
},
"source": [
"where $\\boldsymbol{U}$ is an orthogonal matrix of dimension $n\\times n$, meaning that $\\boldsymbol{U}\\boldsymbol{U}^T=\\boldsymbol{U}^T\\boldsymbol{U}=\\boldsymbol{I}_n$. Here $\\boldsymbol{I}_n$ is the unit matrix of dimension $n \\times n$.\n",
"\n",
"Similarly, $\\boldsymbol{V}$ is an orthogonal matrix of dimension $p\\times p$, meaning that $\\boldsymbol{V}\\boldsymbol{V}^T=\\boldsymbol{V}^T\\boldsymbol{V}=\\boldsymbol{I}_p$. Here $\\boldsymbol{I}_n$ is the unit matrix of dimension $p \\times p$.\n",
"\n",
"Finally $\\boldsymbol{\\Sigma}$ contains the singular values $\\sigma_i$. This matrix has dimension $n\\times p$ and the singular values $\\sigma_i$ are all positive. The non-zero values are ordered in descending order, that is"
]
},
{
"cell_type": "markdown",
"id": "97458ec0",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\sigma_0 > \\sigma_1 > \\sigma_2 > \\dots > \\sigma_{p-1} > 0.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "6a940c34",
"metadata": {
"editable": true
},
"source": [
"All values beyond $p-1$ are all zero."
]
},
{
"cell_type": "markdown",
"id": "beb7c9c1",
"metadata": {
"editable": true
},
"source": [
"## Example Matrix\n",
"\n",
"As an example, consider the following $3\\times 2$ example for the matrix $\\boldsymbol{\\Sigma}$"
]
},
{
"cell_type": "markdown",
"id": "892eca8e",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{\\Sigma}=\n",
"\\begin{bmatrix}\n",
"2& 0 \\\\\n",
"0 & 1 \\\\\n",
"0 & 0 \\\\\n",
"\\end{bmatrix}\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "d716176c",
"metadata": {
"editable": true
},
"source": [
"The singular values are $\\sigma_0=2$ and $\\sigma_1=1$. It is common to rewrite the matrix $\\boldsymbol{\\Sigma}$ as"
]
},
{
"cell_type": "markdown",
"id": "d6f76ea3",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{\\Sigma}=\n",
"\\begin{bmatrix}\n",
"\\boldsymbol{\\tilde{\\Sigma}}\\\\\n",
"\\boldsymbol{0}\\\\\n",
"\\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "6cd96381",
"metadata": {
"editable": true
},
"source": [
"where"
]
},
{
"cell_type": "markdown",
"id": "3235bb2a",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{\\tilde{\\Sigma}}=\n",
"\\begin{bmatrix}\n",
"2& 0 \\\\\n",
"0 & 1 \\\\\n",
"\\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "cfb5e5fa",
"metadata": {
"editable": true
},
"source": [
"contains only the singular values. Note also (and we will use this below) that"
]
},
{
"cell_type": "markdown",
"id": "30c811c8",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{\\Sigma}^T\\boldsymbol{\\Sigma}=\n",
"\\begin{bmatrix}\n",
"4& 0 \\\\\n",
"0 & 1 \\\\\n",
"\\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "b64ff89b",
"metadata": {
"editable": true
},
"source": [
"which is a $2\\times 2 $ matrix while"
]
},
{
"cell_type": "markdown",
"id": "d2d214b1",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{\\Sigma}\\boldsymbol{\\Sigma}^T=\n",
"\\begin{bmatrix}\n",
"4& 0 & 0\\\\\n",
"0 & 1 & 0\\\\\n",
"0 & 0 & 0\\\\\n",
"\\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "1734cbea",
"metadata": {
"editable": true
},
"source": [
"is a $3\\times 3 $ matrix. The last row and column of this last matrix\n",
"contain only zeros. This will have important consequences for our SVD\n",
"decomposition of the design matrix."
]
},
{
"cell_type": "markdown",
"id": "18b87d79",
"metadata": {
"editable": true
},
"source": [
"## Setting up the Matrix to be inverted\n",
"\n",
"The matrix that may cause problems for us is $\\boldsymbol{X}^T\\boldsymbol{X}$. Using the SVD we can rewrite this matrix as"
]
},
{
"cell_type": "markdown",
"id": "7424dbeb",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\boldsymbol{X}=\\boldsymbol{V}\\boldsymbol{\\Sigma}^T\\boldsymbol{U}^T\\boldsymbol{U}\\boldsymbol{\\Sigma}\\boldsymbol{V}^T,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "8bfde7d9",
"metadata": {
"editable": true
},
"source": [
"and using the orthogonality of the matrix $\\boldsymbol{U}$ we have"
]
},
{
"cell_type": "markdown",
"id": "d7fae153",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\boldsymbol{X}=\\boldsymbol{V}\\boldsymbol{\\Sigma}^T\\boldsymbol{\\Sigma}\\boldsymbol{V}^T.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "a5fe659e",
"metadata": {
"editable": true
},
"source": [
"We define $\\boldsymbol{\\Sigma}^T\\boldsymbol{\\Sigma}=\\tilde{\\boldsymbol{\\Sigma}}^2$ which is a diagonal matrix containing only the singular values squared. It has dimensionality $p \\times p$.\n",
"\n",
"We can now insert the result for the matrix $\\boldsymbol{X}^T\\boldsymbol{X}$ into our equation for ordinary least squares where"
]
},
{
"cell_type": "markdown",
"id": "0494a740",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\tilde{y}_{\\mathrm{OLS}}=\\boldsymbol{X}\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "cd9e9a2d",
"metadata": {
"editable": true
},
"source": [
"and using our SVD decomposition of $\\boldsymbol{X}$ we have"
]
},
{
"cell_type": "markdown",
"id": "a36f09cb",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\tilde{y}_{\\mathrm{OLS}}=\\boldsymbol{U}\\boldsymbol{\\Sigma}\\boldsymbol{V}^T\\left(\\boldsymbol{V}\\tilde{\\boldsymbol{\\Sigma}}^{2}(\\boldsymbol{V}^T\\right)^{-1}\\boldsymbol{V}\\boldsymbol{\\Sigma}^T\\boldsymbol{U}^T\\boldsymbol{y},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "c595c4ab",
"metadata": {
"editable": true
},
"source": [
"which gives us, using the orthogonality of the matrix $\\boldsymbol{V}$,"
]
},
{
"cell_type": "markdown",
"id": "54ea720c",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\tilde{y}_{\\mathrm{OLS}}=\\boldsymbol{U}\\boldsymbol{U}^T\\boldsymbol{y}=\\sum_{i=0}^{p-1}\\boldsymbol{u}_i\\boldsymbol{u}^T_i\\boldsymbol{y},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "3b8cb8cc",
"metadata": {
"editable": true
},
"source": [
"It means that the ordinary least square model (with the optimal\n",
"parameters) $\\boldsymbol{\\tilde{y}}$, corresponds to an orthogonal\n",
"transformation of the output (or target) vector $\\boldsymbol{y}$ by the\n",
"vectors of the matrix $\\boldsymbol{U}$. **Note that the summation ends at**\n",
"$p-1$, that is $\\boldsymbol{\\tilde{y}}\\ne \\boldsymbol{y}$. We can thus not use the\n",
"orthogonality relation for the matrix $\\boldsymbol{U}$. This can already be\n",
"when we multiply the matrices $\\boldsymbol{\\Sigma}^T\\boldsymbol{U}^T$."
]
},
{
"cell_type": "markdown",
"id": "e825b356",
"metadata": {
"editable": true
},
"source": [
"## Further properties (important for our analyses later)\n",
"\n",
"Let us study again $\\boldsymbol{X}^T\\boldsymbol{X}$ in terms of our SVD,"
]
},
{
"cell_type": "markdown",
"id": "2cbc23f9",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\boldsymbol{X}=\\boldsymbol{V}\\boldsymbol{\\Sigma}^T\\boldsymbol{U}^T\\boldsymbol{U}\\boldsymbol{\\Sigma}\\boldsymbol{V}^T=\\boldsymbol{V}\\boldsymbol{\\Sigma}^T\\boldsymbol{\\Sigma}\\boldsymbol{V}^T.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "8665bb8b",
"metadata": {
"editable": true
},
"source": [
"If we now multiply from the right with $\\boldsymbol{V}$ (using the orthogonality of $\\boldsymbol{V}$) we get"
]
},
{
"cell_type": "markdown",
"id": "2aedf32c",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)\\boldsymbol{V}=\\boldsymbol{V}\\boldsymbol{\\Sigma}^T\\boldsymbol{\\Sigma}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "e64ed163",
"metadata": {
"editable": true
},
"source": [
"This means the vectors $\\boldsymbol{v}_i$ of the orthogonal matrix $\\boldsymbol{V}$ are the eigenvectors of the matrix $\\boldsymbol{X}^T\\boldsymbol{X}$\n",
"with eigenvalues given by the singular values squared, that is"
]
},
{
"cell_type": "markdown",
"id": "b060bb08",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)\\boldsymbol{v}_i=\\boldsymbol{v}_i\\sigma_i^2.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "0e9f682e",
"metadata": {
"editable": true
},
"source": [
"Similarly, if we use the SVD decomposition for the matrix $\\boldsymbol{X}\\boldsymbol{X}^T$, we have"
]
},
{
"cell_type": "markdown",
"id": "084d10ae",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}\\boldsymbol{X}^T=\\boldsymbol{U}\\boldsymbol{\\Sigma}\\boldsymbol{V}^T\\boldsymbol{V}\\boldsymbol{\\Sigma}^T\\boldsymbol{U}^T=\\boldsymbol{U}\\boldsymbol{\\Sigma}\\boldsymbol{\\Sigma}^T\\boldsymbol{U}^T.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "322ae2b5",
"metadata": {
"editable": true
},
"source": [
"If we now multiply from the right with $\\boldsymbol{U}$ (using the orthogonality of $\\boldsymbol{U}$) we get"
]
},
{
"cell_type": "markdown",
"id": "2b934378",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\left(\\boldsymbol{X}\\boldsymbol{X}^T\\right)\\boldsymbol{U}=\\boldsymbol{U}\\boldsymbol{\\Sigma}\\boldsymbol{\\Sigma}^T.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "76fa0775",
"metadata": {
"editable": true
},
"source": [
"This means the vectors $\\boldsymbol{u}_i$ of the orthogonal matrix $\\boldsymbol{U}$ are the eigenvectors of the matrix $\\boldsymbol{X}\\boldsymbol{X}^T$\n",
"with eigenvalues given by the singular values squared, that is"
]
},
{
"cell_type": "markdown",
"id": "4ab1ab5e",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\left(\\boldsymbol{X}\\boldsymbol{X}^T\\right)\\boldsymbol{u}_i=\\boldsymbol{u}_i\\sigma_i^2.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "5c3528cd",
"metadata": {
"editable": true
},
"source": [
"**Important note**: we have defined our design matrix $\\boldsymbol{X}$ to be an\n",
"$n\\times p$ matrix. In most supervised learning cases we have that $n\n",
"\\ge p$, and quite often we have $n >> p$. For linear algebra based methods like ordinary least squares or Ridge regression, this leads to a matrix $\\boldsymbol{X}^T\\boldsymbol{X}$ which is small and thereby easier to handle from a computational point of view (in terms of number of floating point operations).\n",
"\n",
"In our lectures, the number of columns will\n",
"always refer to the number of features in our data set, while the\n",
"number of rows represents the number of data inputs. Note that in\n",
"other texts you may find the opposite notation. This has consequences\n",
"for the definition of for example the covariance matrix and its relation to the SVD."
]
},
{
"cell_type": "markdown",
"id": "99446c56",
"metadata": {
"editable": true
},
"source": [
"## Meet the Covariance Matrix\n",
"\n",
"Before we move on to a discussion of Ridge and Lasso regression, we want to show an important example of the above.\n",
"\n",
"We have already noted that the matrix $\\boldsymbol{X}^T\\boldsymbol{X}$ in ordinary\n",
"least squares is proportional to the second derivative of the cost\n",
"function, that is we have"
]
},
{
"cell_type": "markdown",
"id": "52b4ef86",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial^2 C(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}\\partial \\boldsymbol{\\beta}^T} =\\frac{2}{n}\\boldsymbol{X}^T\\boldsymbol{X}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "14d03f17",
"metadata": {
"editable": true
},
"source": [
"This quantity defines was what is called the Hessian matrix (the second derivative of a function we want to optimize).\n",
"\n",
"The Hessian matrix plays an important role and is defined in this course as"
]
},
{
"cell_type": "markdown",
"id": "08983b4e",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{H}=\\boldsymbol{X}^T\\boldsymbol{X}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "bf4aff1c",
"metadata": {
"editable": true
},
"source": [
"The Hessian matrix for ordinary least squares is also proportional to\n",
"the covariance matrix. This means also that we can use the SVD to find\n",
"the eigenvalues of the covariance matrix and the Hessian matrix in\n",
"terms of the singular values. Let us develop these arguments, as they will play an important role in our machine learning studies."
]
},
{
"cell_type": "markdown",
"id": "d1a70450",
"metadata": {
"editable": true
},
"source": [
"## Introducing the Covariance and Correlation functions\n",
"\n",
"Before we discuss the link between for example Ridge regression and the singular value decomposition, we need to remind ourselves about\n",
"the definition of the covariance and the correlation function. These are quantities that play a central role in machine learning methods.\n",
"\n",
"Suppose we have defined two vectors\n",
"$\\hat{x}$ and $\\hat{y}$ with $n$ elements each. The covariance matrix $\\boldsymbol{C}$ is defined as"
]
},
{
"cell_type": "markdown",
"id": "4441a82e",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{C}[\\boldsymbol{x},\\boldsymbol{y}] = \\begin{bmatrix} \\mathrm{cov}[\\boldsymbol{x},\\boldsymbol{x}] & \\mathrm{cov}[\\boldsymbol{x},\\boldsymbol{y}] \\\\\n",
" \\mathrm{cov}[\\boldsymbol{y},\\boldsymbol{x}] & \\mathrm{cov}[\\boldsymbol{y},\\boldsymbol{y}] \\\\\n",
" \\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "985fe9f4",
"metadata": {
"editable": true
},
"source": [
"where for example"
]
},
{
"cell_type": "markdown",
"id": "7d0b48ad",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\mathrm{cov}[\\boldsymbol{x},\\boldsymbol{y}] =\\frac{1}{n} \\sum_{i=0}^{n-1}(x_i- \\overline{x})(y_i- \\overline{y}).\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "927a1cc9",
"metadata": {
"editable": true
},
"source": [
"With this definition and recalling that the variance is defined as"
]
},
{
"cell_type": "markdown",
"id": "28fe8612",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\mathrm{var}[\\boldsymbol{x}]=\\frac{1}{n} \\sum_{i=0}^{n-1}(x_i- \\overline{x})^2,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "643c5c24",
"metadata": {
"editable": true
},
"source": [
"we can rewrite the covariance matrix as"
]
},
{
"cell_type": "markdown",
"id": "31eb5551",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{C}[\\boldsymbol{x},\\boldsymbol{y}] = \\begin{bmatrix} \\mathrm{var}[\\boldsymbol{x}] & \\mathrm{cov}[\\boldsymbol{x},\\boldsymbol{y}] \\\\\n",
" \\mathrm{cov}[\\boldsymbol{x},\\boldsymbol{y}] & \\mathrm{var}[\\boldsymbol{y}] \\\\\n",
" \\end{bmatrix}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "ee97772f",
"metadata": {
"editable": true
},
"source": [
"**Note:** we have used $1/n$ in the above definitions of the *sample* variance and covariance. We assume then that we can calculate the exact mean value. \n",
"What you will find in essentially all statistics texts are equations\n",
"with a factor $1/(n-1)$. This is called [Bessel's correction](https://mathworld.wolfram.com/BesselsCorrection.html). This\n",
"method corrects the bias in the estimation of the population variance\n",
"and covariance. It also partially corrects the bias in the estimation\n",
"of the population standard deviation. If you use a library like\n",
"**Scikit-Learn** or **nunmpy's** function to calculate the covariance, this\n",
"quantity will be computed with a factor $1/(n-1)$."
]
},
{
"cell_type": "markdown",
"id": "fdef2a70",
"metadata": {
"editable": true
},
"source": [
"## Covariance and Correlation Matrix\n",
"\n",
"The covariance takes values between zero and infinity and may thus\n",
"lead to problems with loss of numerical precision for particularly\n",
"large values. It is common to scale the covariance matrix by\n",
"introducing instead the correlation matrix defined via the so-called\n",
"correlation function"
]
},
{
"cell_type": "markdown",
"id": "68211a1f",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\mathrm{corr}[\\boldsymbol{x},\\boldsymbol{y}]=\\frac{\\mathrm{cov}[\\boldsymbol{x},\\boldsymbol{y}]}{\\sqrt{\\mathrm{var}[\\boldsymbol{x}] \\mathrm{var}[\\boldsymbol{y}]}}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "9a8a18e2",
"metadata": {
"editable": true
},
"source": [
"The correlation function is then given by values $\\mathrm{corr}[\\boldsymbol{x},\\boldsymbol{y}]\n",
"\\in [-1,1]$. This avoids eventual problems with too large values. We\n",
"can then define the correlation matrix for the two vectors $\\boldsymbol{x}$\n",
"and $\\boldsymbol{y}$ as"
]
},
{
"cell_type": "markdown",
"id": "e7d94e46",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{K}[\\boldsymbol{x},\\boldsymbol{y}] = \\begin{bmatrix} 1 & \\mathrm{corr}[\\boldsymbol{x},\\boldsymbol{y}] \\\\\n",
" \\mathrm{corr}[\\boldsymbol{y},\\boldsymbol{x}] & 1 \\\\\n",
" \\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "0c9c0c07",
"metadata": {
"editable": true
},
"source": [
"In the above example this is the function we constructed using **pandas**."
]
},
{
"cell_type": "markdown",
"id": "3fc933af",
"metadata": {
"editable": true
},
"source": [
"## Correlation Function and Design/Feature Matrix\n",
"\n",
"In our derivation of the various regression algorithms like **Ordinary Least Squares** or **Ridge regression**\n",
"we defined the design/feature matrix $\\boldsymbol{X}$ as"
]
},
{
"cell_type": "markdown",
"id": "e97cce9c",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}=\\begin{bmatrix}\n",
"x_{0,0} & x_{0,1} & x_{0,2}& \\dots & \\dots x_{0,p-1}\\\\\n",
"x_{1,0} & x_{1,1} & x_{1,2}& \\dots & \\dots x_{1,p-1}\\\\\n",
"x_{2,0} & x_{2,1} & x_{2,2}& \\dots & \\dots x_{2,p-1}\\\\\n",
"\\dots & \\dots & \\dots & \\dots \\dots & \\dots \\\\\n",
"x_{n-2,0} & x_{n-2,1} & x_{n-2,2}& \\dots & \\dots x_{n-2,p-1}\\\\\n",
"x_{n-1,0} & x_{n-1,1} & x_{n-1,2}& \\dots & \\dots x_{n-1,p-1}\\\\\n",
"\\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "d1be42f8",
"metadata": {
"editable": true
},
"source": [
"with $\\boldsymbol{X}\\in {\\mathbb{R}}^{n\\times p}$, with the predictors/features $p$ refering to the column numbers and the\n",
"entries $n$ being the row elements.\n",
"We can rewrite the design/feature matrix in terms of its column vectors as"
]
},
{
"cell_type": "markdown",
"id": "e957492f",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}=\\begin{bmatrix} \\boldsymbol{x}_0 & \\boldsymbol{x}_1 & \\boldsymbol{x}_2 & \\dots & \\dots & \\boldsymbol{x}_{p-1}\\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "6f4bd14c",
"metadata": {
"editable": true
},
"source": [
"with a given vector"
]
},
{
"cell_type": "markdown",
"id": "ba1b4c89",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{x}_i^T = \\begin{bmatrix}x_{0,i} & x_{1,i} & x_{2,i}& \\dots & \\dots x_{n-1,i}\\end{bmatrix}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "c9563317",
"metadata": {
"editable": true
},
"source": [
"With these definitions, we can now rewrite our $2\\times 2$\n",
"correlation/covariance matrix in terms of a moe general design/feature\n",
"matrix $\\boldsymbol{X}\\in {\\mathbb{R}}^{n\\times p}$. This leads to a $p\\times p$\n",
"covariance matrix for the vectors $\\boldsymbol{x}_i$ with $i=0,1,\\dots,p-1$"
]
},
{
"cell_type": "markdown",
"id": "ed451710",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{C}[\\boldsymbol{x}] = \\begin{bmatrix}\n",
"\\mathrm{var}[\\boldsymbol{x}_0] & \\mathrm{cov}[\\boldsymbol{x}_0,\\boldsymbol{x}_1] & \\mathrm{cov}[\\boldsymbol{x}_0,\\boldsymbol{x}_2] & \\dots & \\dots & \\mathrm{cov}[\\boldsymbol{x}_0,\\boldsymbol{x}_{p-1}]\\\\\n",
"\\mathrm{cov}[\\boldsymbol{x}_1,\\boldsymbol{x}_0] & \\mathrm{var}[\\boldsymbol{x}_1] & \\mathrm{cov}[\\boldsymbol{x}_1,\\boldsymbol{x}_2] & \\dots & \\dots & \\mathrm{cov}[\\boldsymbol{x}_1,\\boldsymbol{x}_{p-1}]\\\\\n",
"\\mathrm{cov}[\\boldsymbol{x}_2,\\boldsymbol{x}_0] & \\mathrm{cov}[\\boldsymbol{x}_2,\\boldsymbol{x}_1] & \\mathrm{var}[\\boldsymbol{x}_2] & \\dots & \\dots & \\mathrm{cov}[\\boldsymbol{x}_2,\\boldsymbol{x}_{p-1}]\\\\\n",
"\\dots & \\dots & \\dots & \\dots & \\dots & \\dots \\\\\n",
"\\dots & \\dots & \\dots & \\dots & \\dots & \\dots \\\\\n",
"\\mathrm{cov}[\\boldsymbol{x}_{p-1},\\boldsymbol{x}_0] & \\mathrm{cov}[\\boldsymbol{x}_{p-1},\\boldsymbol{x}_1] & \\mathrm{cov}[\\boldsymbol{x}_{p-1},\\boldsymbol{x}_{2}] & \\dots & \\dots & \\mathrm{var}[\\boldsymbol{x}_{p-1}]\\\\\n",
"\\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "4eabcccb",
"metadata": {
"editable": true
},
"source": [
"and the correlation matrix"
]
},
{
"cell_type": "markdown",
"id": "78678f6f",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{K}[\\boldsymbol{x}] = \\begin{bmatrix}\n",
"1 & \\mathrm{corr}[\\boldsymbol{x}_0,\\boldsymbol{x}_1] & \\mathrm{corr}[\\boldsymbol{x}_0,\\boldsymbol{x}_2] & \\dots & \\dots & \\mathrm{corr}[\\boldsymbol{x}_0,\\boldsymbol{x}_{p-1}]\\\\\n",
"\\mathrm{corr}[\\boldsymbol{x}_1,\\boldsymbol{x}_0] & 1 & \\mathrm{corr}[\\boldsymbol{x}_1,\\boldsymbol{x}_2] & \\dots & \\dots & \\mathrm{corr}[\\boldsymbol{x}_1,\\boldsymbol{x}_{p-1}]\\\\\n",
"\\mathrm{corr}[\\boldsymbol{x}_2,\\boldsymbol{x}_0] & \\mathrm{corr}[\\boldsymbol{x}_2,\\boldsymbol{x}_1] & 1 & \\dots & \\dots & \\mathrm{corr}[\\boldsymbol{x}_2,\\boldsymbol{x}_{p-1}]\\\\\n",
"\\dots & \\dots & \\dots & \\dots & \\dots & \\dots \\\\\n",
"\\dots & \\dots & \\dots & \\dots & \\dots & \\dots \\\\\n",
"\\mathrm{corr}[\\boldsymbol{x}_{p-1},\\boldsymbol{x}_0] & \\mathrm{corr}[\\boldsymbol{x}_{p-1},\\boldsymbol{x}_1] & \\mathrm{corr}[\\boldsymbol{x}_{p-1},\\boldsymbol{x}_{2}] & \\dots & \\dots & 1\\\\\n",
"\\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "5840e451",
"metadata": {
"editable": true
},
"source": [
"## Covariance Matrix Examples\n",
"\n",
"The Numpy function **np.cov** calculates the covariance elements using\n",
"the factor $1/(n-1)$ instead of $1/n$ since it assumes we do not have\n",
"the exact mean values. The following simple function uses the\n",
"**np.vstack** function which takes each vector of dimension $1\\times n$\n",
"and produces a $2\\times n$ matrix $\\boldsymbol{W}$\n",
"\n",
"Note that this assumes you have the features as the rows, and the inputs as columns, that is"
]
},
{
"cell_type": "markdown",
"id": "75f212b9",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{W} = \\begin{bmatrix} x_0 & x_1 & x_2 & \\dots & x_{n-2} & x_{n-1} \\\\\n",
" y_0 & y_1 & y_2 & \\dots & y_{n-2} & y_{n-1} \\\\\n",
" \\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "af4b97f1",
"metadata": {
"editable": true
},
"source": [
"which in turn is converted into into the $2\\times 2$ covariance matrix\n",
"$\\boldsymbol{C}$ via the Numpy function **np.cov()**. We note that we can also calculate\n",
"the mean value of each set of samples $\\boldsymbol{x}$ etc using the Numpy\n",
"function **np.mean(x)**. We can also extract the eigenvalues of the\n",
"covariance matrix through the **np.linalg.eig()** function."
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "bceeb8a6",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.10790125813226321\n",
"4.340071371496255\n",
"[[ 1.04193203 3.08165104]\n",
" [ 3.08165104 10.18383522]]\n"
]
}
],
"source": [
"# Importing various packages\n",
"import numpy as np\n",
"n = 100\n",
"x = np.random.normal(size=n)\n",
"print(np.mean(x))\n",
"y = 4+3*x+np.random.normal(size=n)\n",
"print(np.mean(y))\n",
"W = np.vstack((x, y))\n",
"C = np.cov(W)\n",
"print(C)"
]
},
{
"cell_type": "markdown",
"id": "e438fa73",
"metadata": {
"editable": true
},
"source": [
"## Correlation Matrix\n",
"\n",
"The previous example can be converted into the correlation matrix by\n",
"simply scaling the matrix elements with the variances. We should also\n",
"subtract the mean values for each column. This leads to the following\n",
"code which sets up the correlations matrix for the previous example in\n",
"a more brute force way. Here we scale the mean values for each column of the design matrix, calculate the relevant mean values and variances and then finally set up the $2\\times 2$ correlation matrix (since we have only two vectors)."
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "01ec3279",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.08881497884574564\n",
"1.7086067479626619\n",
"[[1. 0.66080313]\n",
" [0.66080313 1. ]]\n"
]
}
],
"source": [
"import numpy as np\n",
"n = 100\n",
"# define two vectors \n",
"x = np.random.random(size=n)\n",
"y = 4+3*x+np.random.normal(size=n)\n",
"#scaling the x and y vectors \n",
"x = x - np.mean(x)\n",
"y = y - np.mean(y)\n",
"variance_x = np.sum(x@x)/n\n",
"variance_y = np.sum(y@y)/n\n",
"print(variance_x)\n",
"print(variance_y)\n",
"cov_xy = np.sum(x@y)/n\n",
"cov_xx = np.sum(x@x)/n\n",
"cov_yy = np.sum(y@y)/n\n",
"C = np.zeros((2,2))\n",
"C[0,0]= cov_xx/variance_x\n",
"C[1,1]= cov_yy/variance_y\n",
"C[0,1]= cov_xy/np.sqrt(variance_y*variance_x)\n",
"C[1,0]= C[0,1]\n",
"print(C)"
]
},
{
"cell_type": "markdown",
"id": "fb6ba409",
"metadata": {
"editable": true
},
"source": [
"We see that the matrix elements along the diagonal are one as they\n",
"should be and that the matrix is symmetric. Furthermore, diagonalizing\n",
"this matrix we easily see that it is a positive definite matrix.\n",
"\n",
"The above procedure with **numpy** can be made more compact if we use **pandas**."
]
},
{
"cell_type": "markdown",
"id": "6c5bfe67",
"metadata": {
"editable": true
},
"source": [
"## Correlation Matrix with Pandas\n",
"\n",
"We whow here how we can set up the correlation matrix using **pandas**, as done in this simple code"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "b2b07565",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[-0.40620066 -2.01265755]\n",
" [ 0.01458611 0.37737221]\n",
" [-1.0895387 -3.65442354]\n",
" [ 0.2338675 1.12044974]\n",
" [ 0.4676059 1.54393936]\n",
" [-0.65891389 -3.16304863]\n",
" [-0.1715252 0.39197698]\n",
" [ 0.71142161 2.95511792]\n",
" [ 0.39214397 0.13069442]\n",
" [ 0.50655336 2.3105791 ]]\n",
" 0 1\n",
"0 -0.406201 -2.012658\n",
"1 0.014586 0.377372\n",
"2 -1.089539 -3.654424\n",
"3 0.233868 1.120450\n",
"4 0.467606 1.543939\n",
"5 -0.658914 -3.163049\n",
"6 -0.171525 0.391977\n",
"7 0.711422 2.955118\n",
"8 0.392144 0.130694\n",
"9 0.506553 2.310579\n",
" 0 1\n",
"0 1.000000 0.952387\n",
"1 0.952387 1.000000\n"
]
}
],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"n = 10\n",
"x = np.random.normal(size=n)\n",
"x = x - np.mean(x)\n",
"y = 4+3*x+np.random.normal(size=n)\n",
"y = y - np.mean(y)\n",
"# Note that we transpose the matrix in order to stay with our ordering n x p\n",
"X = (np.vstack((x, y))).T\n",
"print(X)\n",
"Xpd = pd.DataFrame(X)\n",
"print(Xpd)\n",
"correlation_matrix = Xpd.corr()\n",
"print(correlation_matrix)"
]
},
{
"cell_type": "markdown",
"id": "e26d9b42",
"metadata": {
"editable": true
},
"source": [
"We expand this model to the Franke function discussed above."
]
},
{
"cell_type": "markdown",
"id": "6200c4da",
"metadata": {
"editable": true
},
"source": [
"## Correlation Matrix with Pandas and the Franke function"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "1a0f5c54",
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 0 1 2 3 4 5 6 7 \\\n",
"0 0.0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.0 0.078974 0.081276 0.075889 0.077168 0.078540 0.065410 0.066474 \n",
"2 0.0 0.081276 0.084076 0.078336 0.079946 0.081655 0.067707 0.069028 \n",
"3 0.0 0.075889 0.078336 0.077460 0.078986 0.080616 0.069452 0.070737 \n",
"4 0.0 0.077168 0.079946 0.078986 0.080764 0.082653 0.070986 0.072476 \n",
"5 0.0 0.078540 0.081655 0.080616 0.082653 0.084809 0.072621 0.074323 \n",
"6 0.0 0.065410 0.067707 0.069452 0.070986 0.072621 0.064074 0.065378 \n",
"7 0.0 0.066474 0.069028 0.070737 0.072476 0.074323 0.065378 0.066854 \n",
"8 0.0 0.067637 0.070457 0.072132 0.074084 0.076150 0.066787 0.068441 \n",
"9 0.0 0.068906 0.072000 0.073644 0.075816 0.078110 0.068307 0.070146 \n",
"10 0.0 0.055734 0.057835 0.060872 0.062337 0.063894 0.057393 0.058645 \n",
"11 0.0 0.056683 0.058996 0.062016 0.063653 0.065390 0.058552 0.059951 \n",
"12 0.0 0.057722 0.060254 0.063260 0.065077 0.066999 0.059807 0.061359 \n",
"13 0.0 0.058854 0.061614 0.064609 0.066612 0.068727 0.061163 0.062874 \n",
"14 0.0 0.060083 0.063080 0.066066 0.068264 0.070582 0.062624 0.064501 \n",
"\n",
" 8 9 10 11 12 13 14 \n",
"0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.067637 0.068906 0.055734 0.056683 0.057722 0.058854 0.060083 \n",
"2 0.070457 0.072000 0.057835 0.058996 0.060254 0.061614 0.063080 \n",
"3 0.072132 0.073644 0.060872 0.062016 0.063260 0.064609 0.066066 \n",
"4 0.074084 0.075816 0.062337 0.063653 0.065077 0.066612 0.068264 \n",
"5 0.076150 0.078110 0.063894 0.065390 0.066999 0.068727 0.070582 \n",
"6 0.066787 0.068307 0.057393 0.058552 0.059807 0.061163 0.062624 \n",
"7 0.068441 0.070146 0.058645 0.059951 0.061359 0.062874 0.064501 \n",
"8 0.070213 0.072111 0.059993 0.061452 0.063019 0.064699 0.066500 \n",
"9 0.072111 0.074210 0.061443 0.063061 0.064793 0.066647 0.068629 \n",
"10 0.059993 0.061443 0.052305 0.053417 0.054617 0.055910 0.057300 \n",
"11 0.061452 0.063061 0.053417 0.054655 0.055987 0.057418 0.058952 \n",
"12 0.063019 0.064793 0.054617 0.055987 0.057457 0.059031 0.060716 \n",
"13 0.064699 0.066647 0.055910 0.057418 0.059031 0.060756 0.062599 \n",
"14 0.066500 0.068629 0.057300 0.058952 0.060716 0.062599 0.064606 \n"
]
}
],
"source": [
"# Common imports\n",
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"\n",
"def FrankeFunction(x,y):\n",
"\tterm1 = 0.75*np.exp(-(0.25*(9*x-2)**2) - 0.25*((9*y-2)**2))\n",
"\tterm2 = 0.75*np.exp(-((9*x+1)**2)/49.0 - 0.1*(9*y+1))\n",
"\tterm3 = 0.5*np.exp(-(9*x-7)**2/4.0 - 0.25*((9*y-3)**2))\n",
"\tterm4 = -0.2*np.exp(-(9*x-4)**2 - (9*y-7)**2)\n",
"\treturn term1 + term2 + term3 + term4\n",
"\n",
"\n",
"def create_X(x, y, n ):\n",
"\tif len(x.shape) > 1:\n",
"\t\tx = np.ravel(x)\n",
"\t\ty = np.ravel(y)\n",
"\n",
"\tN = len(x)\n",
"\tl = int((n+1)*(n+2)/2)\t\t# Number of elements in beta\n",
"\tX = np.ones((N,l))\n",
"\n",
"\tfor i in range(1,n+1):\n",
"\t\tq = int((i)*(i+1)/2)\n",
"\t\tfor k in range(i+1):\n",
"\t\t\tX[:,q+k] = (x**(i-k))*(y**k)\n",
"\n",
"\treturn X\n",
"\n",
"\n",
"# Making meshgrid of datapoints and compute Franke's function\n",
"n = 4\n",
"N = 100\n",
"x = np.sort(np.random.uniform(0, 1, N))\n",
"y = np.sort(np.random.uniform(0, 1, N))\n",
"z = FrankeFunction(x, y)\n",
"X = create_X(x, y, n=n) \n",
"\n",
"Xpd = pd.DataFrame(X)\n",
"# subtract the mean values and set up the covariance matrix\n",
"Xpd = Xpd - Xpd.mean()\n",
"covariance_matrix = Xpd.cov()\n",
"print(covariance_matrix)"
]
},
{
"cell_type": "markdown",
"id": "be666eb5",
"metadata": {
"editable": true
},
"source": [
"We note here that the covariance is zero for the first rows and\n",
"columns since all matrix elements in the design matrix were set to one\n",
"(we are fitting the function in terms of a polynomial of degree $n$).\n",
"\n",
"This means that the variance for these elements will be zero and will\n",
"cause problems when we set up the correlation matrix. We can simply\n",
"drop these elements and construct a correlation\n",
"matrix without these elements."
]
},
{
"cell_type": "markdown",
"id": "cc79dbf1",
"metadata": {
"editable": true
},
"source": [
"## Rewriting the Covariance and/or Correlation Matrix\n",
"\n",
"We can rewrite the covariance matrix in a more compact form in terms of the design/feature matrix $\\boldsymbol{X}$ as"
]
},
{
"cell_type": "markdown",
"id": "7aaa9582",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{C}[\\boldsymbol{x}] = \\frac{1}{n}\\boldsymbol{X}^T\\boldsymbol{X}= \\mathbb{E}[\\boldsymbol{X}^T\\boldsymbol{X}].\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "3c9ca18c",
"metadata": {
"editable": true
},
"source": [
"To see this let us simply look at a design matrix $\\boldsymbol{X}\\in {\\mathbb{R}}^{2\\times 2}$"
]
},
{
"cell_type": "markdown",
"id": "7450e1de",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}=\\begin{bmatrix}\n",
"x_{00} & x_{01}\\\\\n",
"x_{10} & x_{11}\\\\\n",
"\\end{bmatrix}=\\begin{bmatrix}\n",
"\\boldsymbol{x}_{0} & \\boldsymbol{x}_{1}\\\\\n",
"\\end{bmatrix}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "c190057c",
"metadata": {
"editable": true
},
"source": [
"If we then compute the expectation value (note the $1/n$ factor instead of $1/(n-1)$)"
]
},
{
"cell_type": "markdown",
"id": "20f4c172",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\mathbb{E}[\\boldsymbol{X}^T\\boldsymbol{X}] = \\frac{1}{n}\\boldsymbol{X}^T\\boldsymbol{X}=\\frac{1}{n}\\begin{bmatrix}\n",
"x_{00}^2+x_{10}^2 & x_{00}x_{01}+x_{10}x_{11}\\\\\n",
"x_{01}x_{00}+x_{11}x_{10} & x_{01}^2+x_{11}^2\\\\\n",
"\\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "746607df",
"metadata": {
"editable": true
},
"source": [
"which is just"
]
},
{
"cell_type": "markdown",
"id": "d2419f36",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{C}[\\boldsymbol{x}_0,\\boldsymbol{x}_1] = \\boldsymbol{C}[\\boldsymbol{x}]=\\begin{bmatrix} \\mathrm{var}[\\boldsymbol{x}_0] & \\mathrm{cov}[\\boldsymbol{x}_0,\\boldsymbol{x}_1] \\\\\n",
" \\mathrm{cov}[\\boldsymbol{x}_1,\\boldsymbol{x}_0] & \\mathrm{var}[\\boldsymbol{x}_1] \\\\\n",
" \\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "0c4d5713",
"metadata": {
"editable": true
},
"source": [
"where we wrote $$\\boldsymbol{C}[\\boldsymbol{x}_0,\\boldsymbol{x}_1] = \\boldsymbol{C}[\\boldsymbol{x}]$$ to indicate that this is the covariance of the vectors $\\boldsymbol{x}$ of the design/feature matrix $\\boldsymbol{X}$.\n",
"\n",
"It is easy to generalize this to a matrix $\\boldsymbol{X}\\in {\\mathbb{R}}^{n\\times p}$."
]
},
{
"cell_type": "markdown",
"id": "c51b1e85",
"metadata": {
"editable": true
},
"source": [
"## Linking with the SVD\n",
"\n",
"We saw earlier that"
]
},
{
"cell_type": "markdown",
"id": "df3d6e17",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\boldsymbol{X}=\\boldsymbol{V}\\boldsymbol{\\Sigma}^T\\boldsymbol{U}^T\\boldsymbol{U}\\boldsymbol{\\Sigma}\\boldsymbol{V}^T=\\boldsymbol{V}\\boldsymbol{\\Sigma}^T\\boldsymbol{\\Sigma}\\boldsymbol{V}^T.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "bda15ad2",
"metadata": {
"editable": true
},
"source": [
"Since the matrices here have dimension $p\\times p$, with $p$ corresponding to the singular values, we defined earlier the matrix"
]
},
{
"cell_type": "markdown",
"id": "40ad7cbc",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{\\Sigma}^T\\boldsymbol{\\Sigma} = \\begin{bmatrix} \\tilde{\\boldsymbol{\\Sigma}} & \\boldsymbol{0}\\\\ \\end{bmatrix}\\begin{bmatrix} \\tilde{\\boldsymbol{\\Sigma}} \\\\ \\boldsymbol{0}\\\\ \\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "305bd308",
"metadata": {
"editable": true
},
"source": [
"where the tilde-matrix $\\tilde{\\boldsymbol{\\Sigma}}$ is a matrix of dimension $p\\times p$ containing only the singular values $\\sigma_i$, that is"
]
},
{
"cell_type": "markdown",
"id": "bb83e451",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\tilde{\\boldsymbol{\\Sigma}}=\\begin{bmatrix} \\sigma_0 & 0 & 0 & \\dots & 0 & 0 \\\\\n",
" 0 & \\sigma_1 & 0 & \\dots & 0 & 0 \\\\\n",
"\t\t\t\t 0 & 0 & \\sigma_2 & \\dots & 0 & 0 \\\\\n",
"\t\t\t\t 0 & 0 & 0 & \\dots & \\sigma_{p-2} & 0 \\\\\n",
"\t\t\t\t 0 & 0 & 0 & \\dots & 0 & \\sigma_{p-1} \\\\\n",
"\\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "64d007a7",
"metadata": {
"editable": true
},
"source": [
"meaning we can write"
]
},
{
"cell_type": "markdown",
"id": "c0fe2564",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\boldsymbol{X}=\\boldsymbol{V}\\tilde{\\boldsymbol{\\Sigma}}^2\\boldsymbol{V}^T.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "630c43cb",
"metadata": {
"editable": true
},
"source": [
"Multiplying from the right with $\\boldsymbol{V}$ (using the orthogonality of $\\boldsymbol{V}$) we get"
]
},
{
"cell_type": "markdown",
"id": "1e412f4c",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)\\boldsymbol{V}=\\boldsymbol{V}\\tilde{\\boldsymbol{\\Sigma}}^2.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "2294efa0",
"metadata": {
"editable": true
},
"source": [
"## What does it mean?\n",
"\n",
"This means the vectors $\\boldsymbol{v}_i$ of the orthogonal matrix $\\boldsymbol{V}$\n",
"are the eigenvectors of the matrix $\\boldsymbol{X}^T\\boldsymbol{X}$ with eigenvalues\n",
"given by the singular values squared, that is"
]
},
{
"cell_type": "markdown",
"id": "ec2d9133",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)\\boldsymbol{v}_i=\\boldsymbol{v}_i\\sigma_i^2.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "be85e557",
"metadata": {
"editable": true
},
"source": [
"In other words, each non-zero singular value of $\\boldsymbol{X}$ is a positive\n",
"square root of an eigenvalue of $\\boldsymbol{X}^T\\boldsymbol{X}$. It means also that\n",
"the columns of $\\boldsymbol{V}$ are the eigenvectors of\n",
"$\\boldsymbol{X}^T\\boldsymbol{X}$. Since we have ordered the singular values of\n",
"$\\boldsymbol{X}$ in a descending order, it means that the column vectors\n",
"$\\boldsymbol{v}_i$ are hierarchically ordered by how much correlation they\n",
"encode from the columns of $\\boldsymbol{X}$. \n",
"\n",
"Note that these are also the eigenvectors and eigenvalues of the\n",
"Hessian matrix. Note also that the Hessian matrix we are discussing here is from a cost function defined by the mean squared error only.\n",
"\n",
"If we now recall the definition of the covariance matrix (not using\n",
"Bessel's correction) we have"
]
},
{
"cell_type": "markdown",
"id": "61531c33",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{C}[\\boldsymbol{X}]=\\frac{1}{n}\\boldsymbol{X}^T\\boldsymbol{X},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "549a9854",
"metadata": {
"editable": true
},
"source": [
"meaning that every squared non-singular value of $\\boldsymbol{X}$ divided by $n$ (\n",
"the number of samples) are the eigenvalues of the covariance\n",
"matrix. Every singular value of $\\boldsymbol{X}$ is thus a positive square\n",
"root of an eigenvalue of $\\boldsymbol{X}^T\\boldsymbol{X}$. If the matrix $\\boldsymbol{X}$ is\n",
"self-adjoint, the singular values of $\\boldsymbol{X}$ are equal to the\n",
"absolute value of the eigenvalues of $\\boldsymbol{X}$."
]
},
{
"cell_type": "markdown",
"id": "ace8d1d3",
"metadata": {
"editable": true
},
"source": [
"## And finally $\\boldsymbol{X}\\boldsymbol{X}^T$\n",
"\n",
"For $\\boldsymbol{X}\\boldsymbol{X}^T$ we found"
]
},
{
"cell_type": "markdown",
"id": "4624e6fc",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}\\boldsymbol{X}^T=\\boldsymbol{U}\\boldsymbol{\\Sigma}\\boldsymbol{V}^T\\boldsymbol{V}\\boldsymbol{\\Sigma}^T\\boldsymbol{U}^T=\\boldsymbol{U}\\boldsymbol{\\Sigma}^T\\boldsymbol{\\Sigma}\\boldsymbol{U}^T.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "4b8a8b55",
"metadata": {
"editable": true
},
"source": [
"Since the matrices here have dimension $n\\times n$, we have"
]
},
{
"cell_type": "markdown",
"id": "e8a41480",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{\\Sigma}\\boldsymbol{\\Sigma}^T = \\begin{bmatrix} \\tilde{\\boldsymbol{\\Sigma}} \\\\ \\boldsymbol{0}\\\\ \\end{bmatrix}\\begin{bmatrix} \\tilde{\\boldsymbol{\\Sigma}} \\boldsymbol{0}\\\\ \\end{bmatrix}=\\begin{bmatrix} \\tilde{\\boldsymbol{\\Sigma}} & \\boldsymbol{0} \\\\ \\boldsymbol{0} & \\boldsymbol{0}\\\\ \\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "6a36c786",
"metadata": {
"editable": true
},
"source": [
"leading to"
]
},
{
"cell_type": "markdown",
"id": "462349df",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}\\boldsymbol{X}^T=\\boldsymbol{U}\\begin{bmatrix} \\tilde{\\boldsymbol{\\Sigma}} & \\boldsymbol{0} \\\\ \\boldsymbol{0} & \\boldsymbol{0}\\\\ \\end{bmatrix}\\boldsymbol{U}^T.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "f3e432cb",
"metadata": {
"editable": true
},
"source": [
"Multiplying with $\\boldsymbol{U}$ from the right gives us the eigenvalue problem"
]
},
{
"cell_type": "markdown",
"id": "20a1bdac",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"(\\boldsymbol{X}\\boldsymbol{X}^T)\\boldsymbol{U}=\\boldsymbol{U}\\begin{bmatrix} \\tilde{\\boldsymbol{\\Sigma}} & \\boldsymbol{0} \\\\ \\boldsymbol{0} & \\boldsymbol{0}\\\\ \\end{bmatrix}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "43ac5bba",
"metadata": {
"editable": true
},
"source": [
"It means that the eigenvalues of $\\boldsymbol{X}\\boldsymbol{X}^T$ are again given by\n",
"the non-zero singular values plus now a series of zeros. The column\n",
"vectors of $\\boldsymbol{U}$ are the eigenvectors of $\\boldsymbol{X}\\boldsymbol{X}^T$ and\n",
"measure how much correlations are contained in the rows of $\\boldsymbol{X}$.\n",
"\n",
"Since we will mainly be interested in the correlations among the features\n",
"of our data (the columns of $\\boldsymbol{X}$, the quantity of interest for us are the non-zero singular\n",
"values and the column vectors of $\\boldsymbol{V}$."
]
},
{
"cell_type": "markdown",
"id": "ff1f6546",
"metadata": {
"editable": true
},
"source": [
"## Ridge and LASSO Regression\n",
"\n",
"Let us remind ourselves about the expression for the standard Mean Squared Error (MSE) which we used to define our cost function and the equations for the ordinary least squares (OLS) method, that is \n",
"our optimization problem is"
]
},
{
"cell_type": "markdown",
"id": "cf2d5142",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in {\\mathbb{R}}^{p}}}\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)\\right\\}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "0e74ad82",
"metadata": {
"editable": true
},
"source": [
"or we can state it as"
]
},
{
"cell_type": "markdown",
"id": "f0e17a56",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in\n",
"{\\mathbb{R}}^{p}}}\\frac{1}{n}\\sum_{i=0}^{n-1}\\left(y_i-\\tilde{y}_i\\right)^2=\\frac{1}{n}\\vert\\vert \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\vert\\vert_2^2,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "b11ffbe6",
"metadata": {
"editable": true
},
"source": [
"where we have used the definition of a norm-2 vector, that is"
]
},
{
"cell_type": "markdown",
"id": "3f4e49db",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\vert\\vert \\boldsymbol{x}\\vert\\vert_2 = \\sqrt{\\sum_i x_i^2}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "e22c2482",
"metadata": {
"editable": true
},
"source": [
"By minimizing the above equation with respect to the parameters\n",
"$\\boldsymbol{\\beta}$ we could then obtain an analytical expression for the\n",
"parameters $\\boldsymbol{\\beta}$. We can add a regularization parameter $\\lambda$ by\n",
"defining a new cost function to be optimized, that is"
]
},
{
"cell_type": "markdown",
"id": "a7e7dfe5",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in\n",
"{\\mathbb{R}}^{p}}}\\frac{1}{n}\\vert\\vert \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\vert\\vert_2^2+\\lambda\\vert\\vert \\boldsymbol{\\beta}\\vert\\vert_2^2\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "94414ad1",
"metadata": {
"editable": true
},
"source": [
"which leads to the Ridge regression minimization problem where we\n",
"require that $\\vert\\vert \\boldsymbol{\\beta}\\vert\\vert_2^2\\le t$, where $t$ is\n",
"a finite number larger than zero. By defining"
]
},
{
"cell_type": "markdown",
"id": "cbb571a8",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"C(\\boldsymbol{X},\\boldsymbol{\\beta})=\\frac{1}{n}\\vert\\vert \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\vert\\vert_2^2+\\lambda\\vert\\vert \\boldsymbol{\\beta}\\vert\\vert_1,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "08d69de8",
"metadata": {
"editable": true
},
"source": [
"we have a new optimization equation"
]
},
{
"cell_type": "markdown",
"id": "17827d0b",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in\n",
"{\\mathbb{R}}^{p}}}\\frac{1}{n}\\vert\\vert \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\vert\\vert_2^2+\\lambda\\vert\\vert \\boldsymbol{\\beta}\\vert\\vert_1\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "a2606f59",
"metadata": {
"editable": true
},
"source": [
"which leads to Lasso regression. Lasso stands for least absolute shrinkage and selection operator. \n",
"\n",
"Here we have defined the norm-1 as"
]
},
{
"cell_type": "markdown",
"id": "1a261469",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\vert\\vert \\boldsymbol{x}\\vert\\vert_1 = \\sum_i \\vert x_i\\vert.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "2c25d0ff",
"metadata": {
"editable": true
},
"source": [
"## Deriving the Ridge Regression Equations\n",
"\n",
"Using the matrix-vector expression for Ridge regression and dropping the parameter $1/n$ in front of the standard means squared error equation, we have"
]
},
{
"cell_type": "markdown",
"id": "1cbbda83",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"C(\\boldsymbol{X},\\boldsymbol{\\beta})=\\left\\{(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta})^T(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta})\\right\\}+\\lambda\\boldsymbol{\\beta}^T\\boldsymbol{\\beta},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "10e5cd79",
"metadata": {
"editable": true
},
"source": [
"and \n",
"taking the derivatives with respect to $\\boldsymbol{\\beta}$ we obtain then\n",
"a slightly modified matrix inversion problem which for finite values\n",
"of $\\lambda$ does not suffer from singularity problems. We obtain\n",
"the optimal parameters"
]
},
{
"cell_type": "markdown",
"id": "8149c527",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\hat{\\boldsymbol{\\beta}}_{\\mathrm{Ridge}} = \\left(\\boldsymbol{X}^T\\boldsymbol{X}+\\lambda\\boldsymbol{I}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "86370c66",
"metadata": {
"editable": true
},
"source": [
"with $\\boldsymbol{I}$ being a $p\\times p$ identity matrix with the constraint that"
]
},
{
"cell_type": "markdown",
"id": "ca970c01",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\sum_{i=0}^{p-1} \\beta_i^2 \\leq t,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "0a6651d6",
"metadata": {
"editable": true
},
"source": [
"with $t$ a finite positive number. \n",
"\n",
"If we keep the $1/n$ factor, the equation for the optimal $\\beta$ changes to"
]
},
{
"cell_type": "markdown",
"id": "feb46caa",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\hat{\\boldsymbol{\\beta}}_{\\mathrm{Ridge}} = \\left(\\boldsymbol{X}^T\\boldsymbol{X}+n\\lambda\\boldsymbol{I}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "ba2ccc4c",
"metadata": {
"editable": true
},
"source": [
"In many textbooks the $1/n$ term is often omitted. Note that a library like **Scikit-Learn** does not include the $1/n$ factor in the setup of the cost function.\n",
"\n",
"When we compare this with the ordinary least squares result we have"
]
},
{
"cell_type": "markdown",
"id": "99bd5e5f",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\hat{\\boldsymbol{\\beta}}_{\\mathrm{OLS}} = \\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "122ac3fa",
"metadata": {
"editable": true
},
"source": [
"which can lead to singular matrices. However, with the SVD, we can always compute the inverse of the matrix $\\boldsymbol{X}^T\\boldsymbol{X}$.\n",
"\n",
"We see that Ridge regression is nothing but the standard OLS with a\n",
"modified diagonal term added to $\\boldsymbol{X}^T\\boldsymbol{X}$. The consequences, in\n",
"particular for our discussion of the bias-variance tradeoff are rather\n",
"interesting. We will see that for specific values of $\\lambda$, we may\n",
"even reduce the variance of the optimal parameters $\\boldsymbol{\\beta}$. These topics and other related ones, will be discussed after the more linear algebra oriented analysis here.\n",
"\n",
"Using our insights about the SVD of the design matrix $\\boldsymbol{X}$ \n",
"We have already analyzed the OLS solutions in terms of the eigenvectors (the columns) of the right singular value matrix $\\boldsymbol{U}$ as"
]
},
{
"cell_type": "markdown",
"id": "2ed2f1af",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\tilde{\\boldsymbol{y}}_{\\mathrm{OLS}}=\\boldsymbol{X}\\boldsymbol{\\beta} =\\boldsymbol{U}\\boldsymbol{U}^T\\boldsymbol{y}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "ab6d373f",
"metadata": {
"editable": true
},
"source": [
"For Ridge regression this becomes"
]
},
{
"cell_type": "markdown",
"id": "12e89aa0",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\tilde{\\boldsymbol{y}}_{\\mathrm{Ridge}}=\\boldsymbol{X}\\boldsymbol{\\beta}_{\\mathrm{Ridge}} = \\boldsymbol{U\\Sigma V^T}\\left(\\boldsymbol{V}\\boldsymbol{\\Sigma}^2\\boldsymbol{V}^T+\\lambda\\boldsymbol{I} \\right)^{-1}(\\boldsymbol{U\\Sigma V^T})^T\\boldsymbol{y}=\\sum_{j=0}^{p-1}\\boldsymbol{u}_j\\boldsymbol{u}_j^T\\frac{\\sigma_j^2}{\\sigma_j^2+\\lambda}\\boldsymbol{y},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "f5ad1a22",
"metadata": {
"editable": true
},
"source": [
"with the vectors $\\boldsymbol{u}_j$ being the columns of $\\boldsymbol{U}$ from the SVD of the matrix $\\boldsymbol{X}$."
]
},
{
"cell_type": "markdown",
"id": "972a591b",
"metadata": {
"editable": true
},
"source": [
"## Interpreting the Ridge results\n",
"\n",
"Since $\\lambda \\geq 0$, it means that compared to OLS, we have"
]
},
{
"cell_type": "markdown",
"id": "29b0a40c",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\sigma_j^2}{\\sigma_j^2+\\lambda} \\leq 1.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "974b89b6",
"metadata": {
"editable": true
},
"source": [
"Ridge regression finds the coordinates of $\\boldsymbol{y}$ with respect to the\n",
"orthonormal basis $\\boldsymbol{U}$, it then shrinks the coordinates by\n",
"$\\frac{\\sigma_j^2}{\\sigma_j^2+\\lambda}$. Recall that the SVD has\n",
"eigenvalues ordered in a descending way, that is $\\sigma_i \\geq\n",
"\\sigma_{i+1}$.\n",
"\n",
"For small eigenvalues $\\sigma_i$ it means that their contributions become less important, a fact which can be used to reduce the number of degrees of freedom. More about this when we have covered the material on a statistical interpretation of various linear regression methods."
]
},
{
"cell_type": "markdown",
"id": "d32b5a75",
"metadata": {
"editable": true
},
"source": [
"## More interpretations\n",
"\n",
"For the sake of simplicity, let us assume that the design matrix is orthonormal, that is"
]
},
{
"cell_type": "markdown",
"id": "b7b0e4a9",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\boldsymbol{X}=(\\boldsymbol{X}^T\\boldsymbol{X})^{-1} =\\boldsymbol{I}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "00480506",
"metadata": {
"editable": true
},
"source": [
"In this case the standard OLS results in"
]
},
{
"cell_type": "markdown",
"id": "e478d349",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{\\beta}^{\\mathrm{OLS}} = \\boldsymbol{X}^T\\boldsymbol{y}=\\sum_{i=0}^{n-1}\\boldsymbol{u}_i\\boldsymbol{u}_i^T\\boldsymbol{y},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "9941badc",
"metadata": {
"editable": true
},
"source": [
"and"
]
},
{
"cell_type": "markdown",
"id": "d78d129f",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{\\beta}^{\\mathrm{Ridge}} = \\left(\\boldsymbol{I}+\\lambda\\boldsymbol{I}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}=\\left(1+\\lambda\\right)^{-1}\\boldsymbol{\\beta}^{\\mathrm{OLS}},\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "81e43d35",
"metadata": {
"editable": true
},
"source": [
"that is the Ridge estimator scales the OLS estimator by the inverse of a factor $1+\\lambda$, and\n",
"the Ridge estimator converges to zero when the hyperparameter goes to\n",
"infinity.\n",
"\n",
"We will come back to more interpreations after we have gone through some of the statistical analysis part. \n",
"\n",
"For more discussions of Ridge and Lasso regression, [Wessel van Wieringen's](https://arxiv.org/abs/1509.09169) article is highly recommended.\n",
"Similarly, [Mehta et al's article](https://arxiv.org/abs/1803.08823) is also recommended."
]
},
{
"cell_type": "markdown",
"id": "ab030d9f",
"metadata": {
"editable": true
},
"source": [
"## Deriving the Lasso Regression Equations\n",
"\n",
"Using the matrix-vector expression for Lasso regression, we have the following **cost** function"
]
},
{
"cell_type": "markdown",
"id": "5c1a039a",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"C(\\boldsymbol{X},\\boldsymbol{\\beta})=\\frac{1}{n}\\left\\{(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta})^T(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta})\\right\\}+\\lambda\\vert\\vert\\boldsymbol{\\beta}\\vert\\vert_1,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "64005abb",
"metadata": {
"editable": true
},
"source": [
"Taking the derivative with respect to $\\boldsymbol{\\beta}$ and recalling that the derivative of the absolute value is (we drop the boldfaced vector symbol for simplicty)"
]
},
{
"cell_type": "markdown",
"id": "dd03458c",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{d \\vert \\beta\\vert}{d \\beta}=\\mathrm{sgn}(\\beta)=\\left\\{\\begin{array}{cc} 1 & \\beta > 0 \\\\-1 & \\beta < 0, \\end{array}\\right.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "c1845e9a",
"metadata": {
"editable": true
},
"source": [
"we have that the derivative of the cost function is"
]
},
{
"cell_type": "markdown",
"id": "9daa3df6",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\frac{\\partial C(\\boldsymbol{X},\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}}=-\\frac{2}{n}\\boldsymbol{X}^T(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta})+\\lambda sgn(\\boldsymbol{\\beta})=0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "add636f0",
"metadata": {
"editable": true
},
"source": [
"and reordering we have"
]
},
{
"cell_type": "markdown",
"id": "79c36fde",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\boldsymbol{X}\\boldsymbol{\\beta}+\\frac{n}{2}\\lambda sgn(\\boldsymbol{\\beta})=2\\boldsymbol{X}^T\\boldsymbol{y}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "d4b4abb2",
"metadata": {
"editable": true
},
"source": [
"We can redefine $\\lambda$ to absorb the constant $n/2$ and we rewrite the last equation as"
]
},
{
"cell_type": "markdown",
"id": "93a6f35c",
"metadata": {
"editable": true
},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\boldsymbol{X}\\boldsymbol{\\beta}+\\lambda sgn(\\boldsymbol{\\beta})=2\\boldsymbol{X}^T\\boldsymbol{y}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "62647fc5",
"metadata": {
"editable": true
},
"source": [
"This equation does not lead to a nice analytical equation as in either Ridge regression or ordinary least squares. This equation can however be solved by using standard convex optimization algorithms using for example the Python package [CVXOPT](https://cvxopt.org/). We will discuss this later."
]
}
],
"metadata": {
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}