Files
FYS-STK4155/doc/LectureNotes/_build/jupyter_execute/chapter3.ipynb
T
Morten Hjorth-Jensen 398fba5b97 update book
2022-08-23 11:19:05 +02:00

4533 lines
906 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",
"metadata": {},
"source": [
"# Resampling Methods\n",
"\n",
"## Introduction\n",
"\n",
"Resampling methods are an indispensable tool in modern\n",
"statistics. They involve repeatedly drawing samples from a training\n",
"set and refitting a model of interest on each sample in order to\n",
"obtain additional information about the fitted model. For example, in\n",
"order to estimate the variability of a linear regression fit, we can\n",
"repeatedly draw different samples from the training data, fit a linear\n",
"regression to each new sample, and then examine the extent to which\n",
"the resulting fits differ. Such an approach may allow us to obtain\n",
"information that would not be available from fitting the model only\n",
"once using the original training sample.\n",
"\n",
"Two resampling methods are often used in Machine Learning analyses,\n",
"1. The **bootstrap method**\n",
"\n",
"2. and **Cross-Validation**\n",
"\n",
"In addition there are several other methods such as the Jackknife and the Blocking methods. We will discuss in particular\n",
"cross-validation and the bootstrap method. \n",
"\n",
"\n",
"Resampling approaches can be computationally expensive, because they\n",
"involve fitting the same statistical method multiple times using\n",
"different subsets of the training data. However, due to recent\n",
"advances in computing power, the computational requirements of\n",
"resampling methods generally are not prohibitive. In this chapter, we\n",
"discuss two of the most commonly used resampling methods,\n",
"cross-validation and the bootstrap. Both methods are important tools\n",
"in the practical application of many statistical learning\n",
"procedures. For example, cross-validation can be used to estimate the\n",
"test error associated with a given statistical learning method in\n",
"order to evaluate its performance, or to select the appropriate level\n",
"of flexibility. The process of evaluating a models performance is\n",
"known as model assessment, whereas the process of selecting the proper\n",
"level of flexibility for a model is known as model selection. The\n",
"bootstrap is widely used.\n",
"\n",
"\n",
"* Our simulations can be treated as *computer experiments*. This is particularly the case for Monte Carlo methods\n",
"\n",
"* The results can be analysed with the same statistical tools as we would use analysing experimental data.\n",
"\n",
"* As in all experiments, we are looking for expectation values and an estimate of how accurate they are, i.e., possible sources for errors.\n",
"\n",
"## Reminder on Statistics\n",
"\n",
"\n",
"* As in other experiments, many numerical experiments have two classes of errors:\n",
"\n",
" * Statistical errors\n",
"\n",
" * Systematical errors\n",
"\n",
"\n",
"* Statistical errors can be estimated using standard tools from statistics\n",
"\n",
"* Systematical errors are method specific and must be treated differently from case to case. \n",
"\n",
"The\n",
"advantage of doing linear regression is that we actually end up with\n",
"analytical expressions for several statistical quantities. \n",
"Standard least squares and Ridge regression allow us to\n",
"derive quantities like the variance and other expectation values in a\n",
"rather straightforward way.\n",
"\n",
"\n",
"It is assumed that $\\varepsilon_i\n",
"\\sim \\mathcal{N}(0, \\sigma^2)$ and the $\\varepsilon_{i}$ are\n",
"independent, i.e.:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*} \n",
"\\mbox{Cov}(\\varepsilon_{i_1},\n",
"\\varepsilon_{i_2}) & = \\left\\{ \\begin{array}{lcc} \\sigma^2 & \\mbox{if}\n",
"& i_1 = i_2, \\\\ 0 & \\mbox{if} & i_1 \\not= i_2. \\end{array} \\right.\n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The randomness of $\\varepsilon_i$ implies that\n",
"$\\mathbf{y}_i$ is also a random variable. In particular,\n",
"$\\mathbf{y}_i$ is normally distributed, because $\\varepsilon_i \\sim\n",
"\\mathcal{N}(0, \\sigma^2)$ and $\\mathbf{X}_{i,\\ast} \\, \\boldsymbol{\\beta}$ is a\n",
"non-random scalar. To specify the parameters of the distribution of\n",
"$\\mathbf{y}_i$ we need to calculate its first two moments. \n",
"\n",
"Recall that $\\boldsymbol{X}$ is a matrix of dimensionality $n\\times p$. The\n",
"notation above $\\mathbf{X}_{i,\\ast}$ means that we are looking at the\n",
"row number $i$ and perform a sum over all values $p$.\n",
"\n",
"\n",
"The assumption we have made here can be summarized as (and this is going to be useful when we discuss the bias-variance trade off)\n",
"that there exists a function $f(\\boldsymbol{x})$ and a normal distributed error $\\boldsymbol{\\varepsilon}\\sim \\mathcal{N}(0, \\sigma^2)$\n",
"which describe our data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{y} = f(\\boldsymbol{x})+\\boldsymbol{\\varepsilon}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We approximate this function with our model from the solution of the linear regression equations, that is our\n",
"function $f$ is approximated by $\\boldsymbol{\\tilde{y}}$ where we want to minimize $(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2$, our MSE, with"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\tilde{y}} = \\boldsymbol{X}\\boldsymbol{\\beta}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can calculate the expectation value of $\\boldsymbol{y}$ for a given element $i$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*} \n",
"\\mathbb{E}(y_i) & =\n",
"\\mathbb{E}(\\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\beta}) + \\mathbb{E}(\\varepsilon_i)\n",
"\\, \\, \\, = \\, \\, \\, \\mathbf{X}_{i, \\ast} \\, \\beta, \n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"while\n",
"its variance is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*} \\mbox{Var}(y_i) & = \\mathbb{E} \\{ [y_i\n",
"- \\mathbb{E}(y_i)]^2 \\} \\, \\, \\, = \\, \\, \\, \\mathbb{E} ( y_i^2 ) -\n",
"[\\mathbb{E}(y_i)]^2 \\\\ & = \\mathbb{E} [ ( \\mathbf{X}_{i, \\ast} \\,\n",
"\\beta + \\varepsilon_i )^2] - ( \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\beta})^2 \\\\ &\n",
"= \\mathbb{E} [ ( \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\beta})^2 + 2 \\varepsilon_i\n",
"\\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\beta} + \\varepsilon_i^2 ] - ( \\mathbf{X}_{i,\n",
"\\ast} \\, \\beta)^2 \\\\ & = ( \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\beta})^2 + 2\n",
"\\mathbb{E}(\\varepsilon_i) \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\beta} +\n",
"\\mathbb{E}(\\varepsilon_i^2 ) - ( \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\beta})^2 \n",
"\\\\ & = \\mathbb{E}(\\varepsilon_i^2 ) \\, \\, \\, = \\, \\, \\,\n",
"\\mbox{Var}(\\varepsilon_i) \\, \\, \\, = \\, \\, \\, \\sigma^2. \n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Hence, $y_i \\sim \\mathcal{N}( \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\beta}, \\sigma^2)$, that is $\\boldsymbol{y}$ follows a normal distribution with \n",
"mean value $\\boldsymbol{X}\\boldsymbol{\\beta}$ and variance $\\sigma^2$ (not be confused with the singular values of the SVD). \n",
"\n",
"\n",
"With the OLS expressions for the parameters $\\boldsymbol{\\beta}$ we can evaluate the expectation value"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathbb{E}(\\boldsymbol{\\beta}) = \\mathbb{E}[ (\\mathbf{X}^{\\top} \\mathbf{X})^{-1}\\mathbf{X}^{T} \\mathbf{Y}]=(\\mathbf{X}^{T} \\mathbf{X})^{-1}\\mathbf{X}^{T} \\mathbb{E}[ \\mathbf{Y}]=(\\mathbf{X}^{T} \\mathbf{X})^{-1} \\mathbf{X}^{T}\\mathbf{X}\\boldsymbol{\\beta}=\\boldsymbol{\\beta}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This means that the estimator of the regression parameters is unbiased.\n",
"v\n",
"We can also calculate the variance\n",
"\n",
"The variance of $\\boldsymbol{\\beta}$ is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{eqnarray*}\n",
"\\mbox{Var}(\\boldsymbol{\\beta}) & = & \\mathbb{E} \\{ [\\boldsymbol{\\beta} - \\mathbb{E}(\\boldsymbol{\\beta})] [\\boldsymbol{\\beta} - \\mathbb{E}(\\boldsymbol{\\beta})]^{T} \\}\n",
"\\\\\n",
"& = & \\mathbb{E} \\{ [(\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\mathbf{Y} - \\boldsymbol{\\beta}] \\, [(\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\mathbf{Y} - \\boldsymbol{\\beta}]^{T} \\}\n",
"\\\\\n",
"% & = & \\mathbb{E} \\{ [(\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\mathbf{Y}] \\, [(\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\mathbf{Y}]^{T} \\} - \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^{T}\n",
"% \\\\\n",
"% & = & \\mathbb{E} \\{ (\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\mathbf{Y} \\, \\mathbf{Y}^{T} \\, \\mathbf{X} \\, (\\mathbf{X}^{T} \\mathbf{X})^{-1} \\} - \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^{T}\n",
"% \\\\\n",
"& = & (\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\, \\mathbb{E} \\{ \\mathbf{Y} \\, \\mathbf{Y}^{T} \\} \\, \\mathbf{X} \\, (\\mathbf{X}^{T} \\mathbf{X})^{-1} - \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^{T}\n",
"\\\\\n",
"& = & (\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\, \\{ \\mathbf{X} \\, \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^{T} \\, \\mathbf{X}^{T} + \\sigma^2 \\} \\, \\mathbf{X} \\, (\\mathbf{X}^{T} \\mathbf{X})^{-1} - \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^{T}\n",
"% \\\\\n",
"% & = & (\\mathbf{X}^T \\mathbf{X})^{-1} \\, \\mathbf{X}^T \\, \\mathbf{X} \\, \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^T \\, \\mathbf{X}^T \\, \\mathbf{X} \\, (\\mathbf{X}^T % \\mathbf{X})^{-1}\n",
"% \\\\\n",
"% & & + \\, \\, \\sigma^2 \\, (\\mathbf{X}^T \\mathbf{X})^{-1} \\, \\mathbf{X}^T \\, \\mathbf{X} \\, (\\mathbf{X}^T \\mathbf{X})^{-1} - \\boldsymbol{\\beta} \\boldsymbol{\\beta}^T\n",
"\\\\\n",
"& = & \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^{T} + \\sigma^2 \\, (\\mathbf{X}^{T} \\mathbf{X})^{-1} - \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^{T}\n",
"\\, \\, \\, = \\, \\, \\, \\sigma^2 \\, (\\mathbf{X}^{T} \\mathbf{X})^{-1},\n",
"\\end{eqnarray*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where we have used that $\\mathbb{E} (\\mathbf{Y} \\mathbf{Y}^{T}) =\n",
"\\mathbf{X} \\, \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^{T} \\, \\mathbf{X}^{T} +\n",
"\\sigma^2 \\, \\mathbf{I}_{nn}$. From $\\mbox{Var}(\\boldsymbol{\\beta}) = \\sigma^2\n",
"\\, (\\mathbf{X}^{T} \\mathbf{X})^{-1}$, one obtains an estimate of the\n",
"variance of the estimate of the $j$-th regression coefficient:\n",
"$\\boldsymbol{\\sigma}^2 (\\boldsymbol{\\beta}_j ) = \\boldsymbol{\\sigma}^2 \\sqrt{\n",
"[(\\mathbf{X}^{T} \\mathbf{X})^{-1}]_{jj} }$. This may be used to\n",
"construct a confidence interval for the estimates.\n",
"\n",
"\n",
"In a similar way, we can obtain analytical expressions for say the\n",
"expectation values of the parameters $\\boldsymbol{\\beta}$ and their variance\n",
"when we employ Ridge regression, allowing us again to define a confidence interval. \n",
"\n",
"It is rather straightforward to show that"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathbb{E} \\big[ \\boldsymbol{\\beta}^{\\mathrm{Ridge}} \\big]=(\\mathbf{X}^{T} \\mathbf{X} + \\lambda \\mathbf{I}_{pp})^{-1} (\\mathbf{X}^{\\top} \\mathbf{X})\\boldsymbol{\\beta}^{\\mathrm{OLS}}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see clearly that \n",
"$\\mathbb{E} \\big[ \\boldsymbol{\\beta}^{\\mathrm{Ridge}} \\big] \\not= \\boldsymbol{\\beta}^{\\mathrm{OLS}}$ for any $\\lambda > 0$. We say then that the ridge estimator is biased.\n",
"\n",
"We can also compute the variance as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mbox{Var}[\\boldsymbol{\\beta}^{\\mathrm{Ridge}}]=\\sigma^2[ \\mathbf{X}^{T} \\mathbf{X} + \\lambda \\mathbf{I} ]^{-1} \\mathbf{X}^{T} \\mathbf{X} \\{ [ \\mathbf{X}^{\\top} \\mathbf{X} + \\lambda \\mathbf{I} ]^{-1}\\}^{T},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and it is easy to see that if the parameter $\\lambda$ goes to infinity then the variance of Ridge parameters $\\boldsymbol{\\beta}$ goes to zero. \n",
"\n",
"With this, we can compute the difference"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mbox{Var}[\\boldsymbol{\\beta}^{\\mathrm{OLS}}]-\\mbox{Var}(\\boldsymbol{\\beta}^{\\mathrm{Ridge}})=\\sigma^2 [ \\mathbf{X}^{T} \\mathbf{X} + \\lambda \\mathbf{I} ]^{-1}[ 2\\lambda\\mathbf{I} + \\lambda^2 (\\mathbf{X}^{T} \\mathbf{X})^{-1} ] \\{ [ \\mathbf{X}^{T} \\mathbf{X} + \\lambda \\mathbf{I} ]^{-1}\\}^{T}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The difference is non-negative definite since each component of the\n",
"matrix product is non-negative definite. \n",
"This means the variance we obtain with the standard OLS will always for $\\lambda > 0$ be larger than the variance of $\\boldsymbol{\\beta}$ obtained with the Ridge estimator. This has interesting consequences when we discuss the so-called bias-variance trade-off below. \n",
"\n",
"\n",
"\n",
"## Resampling methods\n",
"\n",
"With all these analytical equations for both the OLS and Ridge\n",
"regression, we will now outline how to assess a given model. This will\n",
"lead us to a discussion of the so-called bias-variance tradeoff (see\n",
"below) and so-called resampling methods.\n",
"\n",
"One of the quantities we have discussed as a way to measure errors is\n",
"the mean-squared error (MSE), mainly used for fitting of continuous\n",
"functions. Another choice is the absolute error.\n",
"\n",
"In the discussions below we will focus on the MSE and in particular since we will split the data into test and training data,\n",
"we discuss the\n",
"1. prediction error or simply the **test error** $\\mathrm{Err_{Test}}$, where we have a fixed training set and the test error is the MSE arising from the data reserved for testing. We discuss also the \n",
"\n",
"2. training error $\\mathrm{Err_{Train}}$, which is the average loss over the training data.\n",
"\n",
"As our model becomes more and more complex, more of the training data tends to used. The training may thence adapt to more complicated structures in the data. This may lead to a decrease in the bias (see below for code example) and a slight increase of the variance for the test error.\n",
"For a certain level of complexity the test error will reach minimum, before starting to increase again. The\n",
"training error reaches a saturation.\n",
"\n",
"\n",
"\n",
"Two famous\n",
"resampling methods are the **independent bootstrap** and **the jackknife**. \n",
"\n",
"The jackknife is a special case of the independent bootstrap. Still, the jackknife was made\n",
"popular prior to the independent bootstrap. And as the popularity of\n",
"the independent bootstrap soared, new variants, such as **the dependent bootstrap**.\n",
"\n",
"The Jackknife and independent bootstrap work for\n",
"independent, identically distributed random variables.\n",
"If these conditions are not\n",
"satisfied, the methods will fail. Yet, it should be said that if the data are\n",
"independent, identically distributed, and we only want to estimate the\n",
"variance of $\\overline{X}$ (which often is the case), then there is no\n",
"need for bootstrapping. \n",
"\n",
"\n",
"The Jackknife works by making many replicas of the estimator $\\widehat{\\beta}$. \n",
"The jackknife is a resampling method where we systematically leave out one observation from the vector of observed values $\\boldsymbol{x} = (x_1,x_2,\\cdots,X_n)$. \n",
"Let $\\boldsymbol{x}_i$ denote the vector"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{x}_i = (x_1,x_2,\\cdots,x_{i-1},x_{i+1},\\cdots,x_n),\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which equals the vector $\\boldsymbol{x}$ with the exception that observation\n",
"number $i$ is left out. Using this notation, define\n",
"$\\widehat{\\beta}_i$ to be the estimator\n",
"$\\widehat{\\beta}$ computed using $\\vec{X}_i$."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Runtime: 0.0896981 sec\n",
"Jackknife Statistics :\n",
"original bias std. error\n",
" 100.213 100.203 0.148564\n"
]
}
],
"source": [
"from numpy import *\n",
"from numpy.random import randint, randn\n",
"from time import time\n",
"\n",
"def jackknife(data, stat):\n",
" n = len(data);t = zeros(n); inds = arange(n); t0 = time()\n",
" ## 'jackknifing' by leaving out an observation for each i \n",
" for i in range(n):\n",
" t[i] = stat(delete(data,i) )\n",
"\n",
" # analysis \n",
" print(\"Runtime: %g sec\" % (time()-t0)); print(\"Jackknife Statistics :\")\n",
" print(\"original bias std. error\")\n",
" print(\"%8g %14g %15g\" % (stat(data),(n-1)*mean(t)/n, (n*var(t))**.5))\n",
"\n",
" return t\n",
"\n",
"\n",
"# Returns mean of data samples \n",
"def stat(data):\n",
" return mean(data)\n",
"\n",
"\n",
"mu, sigma = 100, 15\n",
"datapoints = 10000\n",
"x = mu + sigma*random.randn(datapoints)\n",
"# jackknife returns the data sample \n",
"t = jackknife(x, stat)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Bootstrap\n",
"\n",
"Bootstrapping is a nonparametric approach to statistical inference\n",
"that substitutes computation for more traditional distributional\n",
"assumptions and asymptotic results. Bootstrapping offers a number of\n",
"advantages: \n",
"1. The bootstrap is quite general, although there are some cases in which it fails. \n",
"\n",
"2. Because it does not require distributional assumptions (such as normally distributed errors), the bootstrap can provide more accurate inferences when the data are not well behaved or when the sample size is small. \n",
"\n",
"3. It is possible to apply the bootstrap to statistics with sampling distributions that are difficult to derive, even asymptotically. \n",
"\n",
"4. It is relatively simple to apply the bootstrap to complex data-collection plans (such as stratified and clustered samples).\n",
"\n",
"Since $\\widehat{\\beta} = \\widehat{\\beta}(\\boldsymbol{X})$ is a function of random variables,\n",
"$\\widehat{\\beta}$ itself must be a random variable. Thus it has\n",
"a pdf, call this function $p(\\boldsymbol{t})$. The aim of the bootstrap is to\n",
"estimate $p(\\boldsymbol{t})$ by the relative frequency of\n",
"$\\widehat{\\beta}$. You can think of this as using a histogram\n",
"in the place of $p(\\boldsymbol{t})$. If the relative frequency closely\n",
"resembles $p(\\vec{t})$, then using numerics, it is straight forward to\n",
"estimate all the interesting parameters of $p(\\boldsymbol{t})$ using point\n",
"estimators. \n",
"\n",
"\n",
"\n",
"In the case that $\\widehat{\\beta}$ has\n",
"more than one component, and the components are independent, we use the\n",
"same estimator on each component separately. If the probability\n",
"density function of $X_i$, $p(x)$, had been known, then it would have\n",
"been straight forward to do this by: \n",
"1. Drawing lots of numbers from $p(x)$, suppose we call one such set of numbers $(X_1^*, X_2^*, \\cdots, X_n^*)$. \n",
"\n",
"2. Then using these numbers, we could compute a replica of $\\widehat{\\beta}$ called $\\widehat{\\beta}^*$. \n",
"\n",
"By repeated use of (1) and (2), many\n",
"estimates of $\\widehat{\\beta}$ could have been obtained. The\n",
"idea is to use the relative frequency of $\\widehat{\\beta}^*$\n",
"(think of a histogram) as an estimate of $p(\\boldsymbol{t})$.\n",
"\n",
"\n",
"But\n",
"unless there is enough information available about the process that\n",
"generated $X_1,X_2,\\cdots,X_n$, $p(x)$ is in general\n",
"unknown. Therefore, [Efron in 1979](https://projecteuclid.org/euclid.aos/1176344552) asked the\n",
"question: What if we replace $p(x)$ by the relative frequency\n",
"of the observation $X_i$; if we draw observations in accordance with\n",
"the relative frequency of the observations, will we obtain the same\n",
"result in some asymptotic sense? The answer is yes.\n",
"\n",
"\n",
"Instead of generating the histogram for the relative\n",
"frequency of the observation $X_i$, just draw the values\n",
"$(X_1^*,X_2^*,\\cdots,X_n^*)$ with replacement from the vector\n",
"$\\boldsymbol{X}$. \n",
"\n",
"\n",
"The independent bootstrap works like this: \n",
"\n",
"1. Draw with replacement $n$ numbers for the observed variables $\\boldsymbol{x} = (x_1,x_2,\\cdots,x_n)$. \n",
"\n",
"2. Define a vector $\\boldsymbol{x}^*$ containing the values which were drawn from $\\boldsymbol{x}$. \n",
"\n",
"3. Using the vector $\\boldsymbol{x}^*$ compute $\\widehat{\\beta}^*$ by evaluating $\\widehat \\beta$ under the observations $\\boldsymbol{x}^*$. \n",
"\n",
"4. Repeat this process $k$ times. \n",
"\n",
"When you are done, you can draw a histogram of the relative frequency\n",
"of $\\widehat \\beta^*$. This is your estimate of the probability\n",
"distribution $p(t)$. Using this probability distribution you can\n",
"estimate any statistics thereof. In principle you never draw the\n",
"histogram of the relative frequency of $\\widehat{\\beta}^*$. Instead\n",
"you use the estimators corresponding to the statistic of interest. For\n",
"example, if you are interested in estimating the variance of $\\widehat\n",
"\\beta$, apply the etsimator $\\widehat \\sigma^2$ to the values\n",
"$\\widehat \\beta^*$.\n",
"\n",
"Before we proceed however, we need to remind ourselves about a central\n",
"theorem in statistics, namely the so-called **central limit theorem**.\n",
"This theorem plays a central role in understanding why the Bootstrap\n",
"(and other resampling methods) work so well on independent and\n",
"identically distributed variables.\n",
"\n",
"\n",
"Suppose we have a PDF $p(x)$ from which we generate a series $N$\n",
"of averages $\\langle x_i \\rangle$. Each mean value $\\langle x_i \\rangle$\n",
"is viewed as the average of a specific measurement, e.g., throwing \n",
"dice 100 times and then taking the average value, or producing a certain\n",
"amount of random numbers. \n",
"For notational ease, we set $\\langle x_i \\rangle=x_i$ in the discussion\n",
"which follows. \n",
"\n",
"If we compute the mean $z$ of $m$ such mean values $x_i$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"z=\\frac{x_1+x_2+\\dots+x_m}{m},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"the question we pose is which is the PDF of the new variable $z$.\n",
"\n",
"\n",
"The probability of obtaining an average value $z$ is the product of the \n",
"probabilities of obtaining arbitrary individual mean values $x_i$,\n",
"but with the constraint that the average is $z$. We can express this through\n",
"the following expression"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\tilde{p}(z)=\\int dx_1p(x_1)\\int dx_2p(x_2)\\dots\\int dx_mp(x_m)\n",
" \\delta(z-\\frac{x_1+x_2+\\dots+x_m}{m}),\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where the $\\delta$-function enbodies the constraint that the mean is $z$.\n",
"All measurements that lead to each individual $x_i$ are expected to\n",
"be independent, which in turn means that we can express $\\tilde{p}$ as the \n",
"product of individual $p(x_i)$. The independence assumption is important in the derivation of the central limit theorem.\n",
"\n",
"\n",
"\n",
"If we use the integral expression for the $\\delta$-function"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\delta(z-\\frac{x_1+x_2+\\dots+x_m}{m})=\\frac{1}{2\\pi}\\int_{-\\infty}^{\\infty}\n",
" dq\\exp{\\left(iq(z-\\frac{x_1+x_2+\\dots+x_m}{m})\\right)},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and inserting $e^{i\\mu q-i\\mu q}$ where $\\mu$ is the mean value\n",
"we arrive at"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\tilde{p}(z)=\\frac{1}{2\\pi}\\int_{-\\infty}^{\\infty}\n",
" dq\\exp{\\left(iq(z-\\mu)\\right)}\\left[\\int_{-\\infty}^{\\infty}\n",
" dxp(x)\\exp{\\left(iq(\\mu-x)/m\\right)}\\right]^m,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"with the integral over $x$ resulting in"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\int_{-\\infty}^{\\infty}dxp(x)\\exp{\\left(iq(\\mu-x)/m\\right)}=\n",
" \\int_{-\\infty}^{\\infty}dxp(x)\n",
" \\left[1+\\frac{iq(\\mu-x)}{m}-\\frac{q^2(\\mu-x)^2}{2m^2}+\\dots\\right].\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The second term on the rhs disappears since this is just the mean and \n",
"employing the definition of $\\sigma^2$ we have"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\int_{-\\infty}^{\\infty}dxp(x)e^{\\left(iq(\\mu-x)/m\\right)}=\n",
" 1-\\frac{q^2\\sigma^2}{2m^2}+\\dots,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"resulting in"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\left[\\int_{-\\infty}^{\\infty}dxp(x)\\exp{\\left(iq(\\mu-x)/m\\right)}\\right]^m\\approx\n",
" \\left[1-\\frac{q^2\\sigma^2}{2m^2}+\\dots \\right]^m,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and in the limit $m\\rightarrow \\infty$ we obtain"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\tilde{p}(z)=\\frac{1}{\\sqrt{2\\pi}(\\sigma/\\sqrt{m})}\n",
" \\exp{\\left(-\\frac{(z-\\mu)^2}{2(\\sigma/\\sqrt{m})^2}\\right)},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which is the normal distribution with variance\n",
"$\\sigma^2_m=\\sigma^2/m$, where $\\sigma$ is the variance of the PDF $p(x)$\n",
"and $\\mu$ is also the mean of the PDF $p(x)$. \n",
"\n",
"\n",
"Thus, the central limit theorem states that the PDF $\\tilde{p}(z)$ of\n",
"the average of $m$ random values corresponding to a PDF $p(x)$ \n",
"is a normal distribution whose mean is the \n",
"mean value of the PDF $p(x)$ and whose variance is the variance\n",
"of the PDF $p(x)$ divided by $m$, the number of values used to compute $z$.\n",
"\n",
"The central limit theorem leads to the well-known expression for the\n",
"standard deviation, given by"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\sigma_m=\n",
"\\frac{\\sigma}{\\sqrt{m}}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The latter is true only if the average value is known exactly. This is obtained in the limit\n",
"$m\\rightarrow \\infty$ only. Because the mean and the variance are measured quantities we obtain \n",
"the familiar expression in statistics"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\sigma_m\\approx \n",
"\\frac{\\sigma}{\\sqrt{m-1}}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In many cases however the above estimate for the standard deviation,\n",
"in particular if correlations are strong, may be too simplistic. Keep\n",
"in mind that we have assumed that the variables $x$ are independent\n",
"and identically distributed. This is obviously not always the\n",
"case. For example, the random numbers (or better pseudorandom numbers)\n",
"we generate in various calculations do always exhibit some\n",
"correlations.\n",
"\n",
"\n",
"\n",
"The theorem is satisfied by a large class of PDFs. Note however that for a\n",
"finite $m$, it is not always possible to find a closed form /analytic expression for\n",
"$\\tilde{p}(x)$.\n",
"\n",
"\n",
"The following code starts with a Gaussian distribution with mean value\n",
"$\\mu =100$ and variance $\\sigma=15$. We use this to generate the data\n",
"used in the bootstrap analysis. The bootstrap analysis returns a data\n",
"set after a given number of bootstrap operations (as many as we have\n",
"data points). This data set consists of estimated mean values for each\n",
"bootstrap operation. The histogram generated by the bootstrap method\n",
"shows that the distribution for these mean values is also a Gaussian,\n",
"centered around the mean value $\\mu=100$ but with standard deviation\n",
"$\\sigma/\\sqrt{n}$, where $n$ is the number of bootstrap samples (in\n",
"this case the same as the number of original data points). The value\n",
"of the standard deviation is what we expect from the central limit\n",
"theorem."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Bootstrap Statistics :\n",
"original bias std. error\n",
" 99.8879 15.0782 99.8894 0.149213\n"
]
}
],
"source": [
"%matplotlib inline\n",
"\n",
"import numpy as np\n",
"from time import time\n",
"from scipy.stats import norm\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Returns mean of bootstrap samples \n",
"# Bootstrap algorithm\n",
"def bootstrap(data, datapoints):\n",
" t = np.zeros(datapoints)\n",
" n = len(data)\n",
" # non-parametric bootstrap \n",
" for i in range(datapoints):\n",
" t[i] = np.mean(data[np.random.randint(0,n,n)])\n",
" # analysis \n",
" print(\"Bootstrap Statistics :\")\n",
" print(\"original bias std. error\")\n",
" print(\"%8g %8g %14g %15g\" % (np.mean(data), np.std(data),np.mean(t),np.std(t)))\n",
" return t\n",
"\n",
"# We set the mean value to 100 and the standard deviation to 15\n",
"mu, sigma = 100, 15\n",
"datapoints = 10000\n",
"# We generate random numbers according to the normal distribution\n",
"x = mu + sigma*np.random.randn(datapoints)\n",
"# bootstrap returns the data sample \n",
"t = bootstrap(x, datapoints)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see that our new variance and from that the standard deviation, agrees with the central limit theorem.\n",
"\n",
"We plot then the histogram together with a best fit for the data set."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_47_0.png"
},
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# the histogram of the bootstrapped data (normalized data if density = True)\n",
"n, binsboot, patches = plt.hist(t, 50, density=True, facecolor='red', alpha=0.75)\n",
"# add a 'best fit' line \n",
"y = norm.pdf(binsboot, np.mean(t), np.std(t))\n",
"lt = plt.plot(binsboot, y, 'b', linewidth=1)\n",
"plt.xlabel('x')\n",
"plt.ylabel('Probability')\n",
"plt.grid(True)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The bias-variance tradeoff\n",
"\n",
"\n",
"We will discuss the bias-variance tradeoff in the context of\n",
"continuous predictions such as regression. However, many of the\n",
"intuitions and ideas discussed here also carry over to classification\n",
"tasks. Consider a dataset $\\mathcal{L}$ consisting of the data\n",
"$\\mathbf{X}_\\mathcal{L}=\\{(y_j, \\boldsymbol{x}_j), j=0\\ldots n-1\\}$. \n",
"\n",
"Let us assume that the true data is generated from a noisy model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{y}=f(\\boldsymbol{x}) + \\boldsymbol{\\epsilon}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $\\epsilon$ is normally distributed with mean zero and standard deviation $\\sigma^2$.\n",
"\n",
"In our derivation of the ordinary least squares method we defined then\n",
"an approximation to the function $f$ in terms of the parameters\n",
"$\\boldsymbol{\\beta}$ and the design matrix $\\boldsymbol{X}$ which embody our model,\n",
"that is $\\boldsymbol{\\tilde{y}}=\\boldsymbol{X}\\boldsymbol{\\beta}$. \n",
"\n",
"Thereafter we found the parameters $\\boldsymbol{\\beta}$ by optimizing the means squared error via the so-called cost function"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"C(\\boldsymbol{X},\\boldsymbol{\\beta}) =\\frac{1}{n}\\sum_{i=0}^{n-1}(y_i-\\tilde{y}_i)^2=\\mathbb{E}\\left[(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2\\right].\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can rewrite this as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathbb{E}\\left[(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2\\right]=\\frac{1}{n}\\sum_i(f_i-\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right])^2+\\frac{1}{n}\\sum_i(\\tilde{y}_i-\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right])^2+\\sigma^2.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The three terms represent the square of the bias of the learning\n",
"method, which can be thought of as the error caused by the simplifying\n",
"assumptions built into the method. The second term represents the\n",
"variance of the chosen model and finally the last terms is variance of\n",
"the error $\\boldsymbol{\\epsilon}$.\n",
"\n",
"To derive this equation, we need to recall that the variance of $\\boldsymbol{y}$ and $\\boldsymbol{\\epsilon}$ are both equal to $\\sigma^2$. The mean value of $\\boldsymbol{\\epsilon}$ is by definition equal to zero. Furthermore, the function $f$ is not a stochastics variable, idem for $\\boldsymbol{\\tilde{y}}$.\n",
"We use a more compact notation in terms of the expectation value"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathbb{E}\\left[(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2\\right]=\\mathbb{E}\\left[(\\boldsymbol{f}+\\boldsymbol{\\epsilon}-\\boldsymbol{\\tilde{y}})^2\\right],\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and adding and subtracting $\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right]$ we get"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathbb{E}\\left[(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2\\right]=\\mathbb{E}\\left[(\\boldsymbol{f}+\\boldsymbol{\\epsilon}-\\boldsymbol{\\tilde{y}}+\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right]-\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right])^2\\right],\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which, using the abovementioned expectation values can be rewritten as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathbb{E}\\left[(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2\\right]=\\mathbb{E}\\left[(\\boldsymbol{y}-\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right])^2\\right]+\\mathrm{Var}\\left[\\boldsymbol{\\tilde{y}}\\right]+\\sigma^2,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"that is the rewriting in terms of the so-called bias, the variance of the model $\\boldsymbol{\\tilde{y}}$ and the variance of $\\boldsymbol{\\epsilon}$."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Error: 0.013121574061370796\n",
"Bias^2: 0.012073649472576395\n",
"Var: 0.0010479245887943952\n",
"0.013121574061370796 >= 0.012073649472576395 + 0.0010479245887943952 = 0.01312157406137079\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD4CAYAAAD8Zh1EAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABahklEQVR4nO29d5xU1f3//zzTdmc72yuwVOlFVCJYUbEiFuxfNRZCjDExiZGYfBRJfglqotEYo8SYnigxiliJwQpIaAvLAtJX2N5n++6U8/vjzsxO31mY7ef5ePhw594z9565zLzu+77PuwgpJQqFQqEY/Oj6ewIKhUKhiAxK0BUKhWKIoARdoVAohghK0BUKhWKIoARdoVAohgiG/jpxamqqHD16dH+dXqFQKAYlO3bsqJFSpgXa12+CPnr0aLZv395fp1coFIpBiRDiq2D7lMtFoVAohghK0BUKhWKIoARdoVAohgj95kMPhNVqpaSkhPb29v6eyrAhOjqa3NxcjEZjf09FoVCcIgNK0EtKSoiPj2f06NEIIfp7OkMeKSW1tbWUlJSQn5/f39NRKBSnyIAS9Pb2diXmfYgQgpSUFKqrq/t7KoohytqCUp5af4Cyhjayk8w8tHAii2fl9Pe0hiwDStABJeZ9jLreit5ibUEpP3pjD21WOwClDW386I09AErUewm1KKpQKHqFp9YfcIu5izarnafWH+inGQ19BpyFrlAoBg6n4jIpa2jr0XbFqaMsdB+ee+45Jk2axK233sratWtZuXJlyPE/+MEP+Oijj/podgpF3+FymZQ2tCHpcpmsLSgN6/3ZSeYebVecOkrQfXjhhRd47733+Pvf/86TTz7JfffdF3L8t7/9bVatWtVHs1Mo+o5TdZk8tHAiZqPea5vZqOehhRMjNkeFNwPW5fL423vZV9YY0WNOzk7gsaumBN2/bNkyjh49yqJFi7jtttuIiooiNTUVgKuvvprrrruO22+/nZdeeonPPvuMv//974waNYra2loqKirIzMyM6HwViv7kVF0mLteMinLpOwasoPcHL774Ih988AEff/wxb7/9NrNnz3bvW716NfPmzSM/P59f/epXbNmyxb1v9uzZbNq0ieuuu64/pq1Q9ArZSWZKA4h3T1wmi2flKAHvQwasoIeypPuC8vJy0tK6KlRmZGSwcuVKLrjgAt58802Sk5Pd+9LT0ykrK+uPaSoUvcZDCyfyw9cL6bQ73NuUy2RgM2AFvb8xm81YLBavbXv27CElJcVPvNvb2zGb1UKPYmixeFYOH31Zxbrd2vc9KyGahy87LaTFrRKJ+he1KBqESZMmcfjwYffrrVu38v7771NQUMAvf/lLjh075t538OBBpk6d2h/TVCh6FYOuK/Hs93fM6VbMTyUqRnHqKEEPwrnnnktBQQFSSjo6Orj33nt55ZVXyM7O5le/+hV33XUXUkqsViuHDx9mzpw5/T1lhSLi7K9oIj0+CoATda0hx6pEov5HCboPxcXFpKamEhMTw0UXXcSGDRuIiopi9+7d7kXSRYsW8fHHHyOE4J133uH666/HYFDeK8XQwmp3cKSqmYsnZwBwvBtBV4lE/U+3gi6EeEUIUSWEKAox5nwhxC4hxF4hxKeRnWL/8cgjj9DaGvpLbLPZ+P73v99HM1Io+o5jNS102h2cMTqZpBhjt4KuEon6n3As9D8BlwbbKYRIAl4AFkkppwBLIjKzAUBGRgaLFi0KOWbJkiUkJSX1zYQUij5kf7mWB3JaVjx5I2I4UR/a0laJRP1Pt34CKeVnQojRIYbcArwhpTzuHF8VobkpFIp+5EBFEwadYExqHCOTY9hXHjrRTyUS9T+RcPxOAIxCiE+AeOBZKeVfInBchULRj3xZ0cS49DhMBh15yTH8Z18FdodEr/MuuaxCFQcOkRB0A3A6sAAwA18IIbZIKQ/6DhRCLAWWAowcOTICp1YoFL3Fl+WNnJmvJdCNTI7BapdUNLaT4+ETVzXPBxaRiHIpAT6QUrZIKWuAz4AZgQZKKVdLKedIKed4ZmEOJPR6PTNnzmTKlCnMmDGDp59+GofDEfI9xcXF/OMf/+j1ud1zzz3s27cv5Ji1a9d2O0ah6A5Lm5UySzsTMxMATdDBP3Tx8bf3qlDFAUQkBP0t4BwhhEEIEQOcBeyPwHH7BbPZzK5du9i7dy8ffvgh7733Ho8//njI9/SVoL/88stMnjw55Bgl6IpIcKCiCdAWRAHykjWr3DPSZW1BKfWt1oDvV6GK/UM4YYv/BL4AJgohSoQQdwshlgkhlgFIKfcDHwCFwFbgZSll0BDHSLK2oJR5qz4if/m7zFv1UcQz0tLT01m9ejXPP/88UkqKi4s555xzmD17NrNnz2bz5s0ALF++nM8//5yZM2fyzDPPBB3nSXFxMaeddhp33HEH06dP5/rrr3eHSG7YsIFZs2Yxbdo07rrrLjo6OgA4//zz2b59OwBxcXH8+Mc/ZsaMGcydO5fKyko2b97MunXreOihh5g5cyZHjhzhueeeY/LkyUyfPp2bbropotdHMXTw/S29tu04AKdlaoKenWRGJ7wt9FBWeE9CFb+saOSOV7bS2mk7ydkrXHQr6FLKm6WUWVJKo5QyV0r5Bynli1LKFz3GPCWlnCylnCql/HWvzthJX6UZjxkzBofDQVVVFenp6Xz44Yfs3LmT1157jQceeACAVatWcc4557Br1y4efPDBoON8OXDgAEuXLqWwsJCEhAReeOEF2tvbufPOO3nttdfYs2cPNpuN3/3ud37vbWlpYe7cuezevZtzzz2X3//+95x99tksWrSIp556il27djF27FhWrVpFQUEBhYWFvPjiiwFmoRjuBPotrd1VRoxJT2ZCNABGvY7sJLOXhR7KCu9JqOJ7eyr49GA1u443nOxHUDgZtJmifZlmLKUEwGq1cu+99zJt2jSWLFkS1LUR7ri8vDzmzZsHwG233cbGjRs5cOAA+fn5TJgwAYA77riDzz77zO+9JpOJK6+8EoDTTz+d4uLigOeYPn06t956K3/7299UNusw5nBVEw6HDLgv0G/J7pDY7NKrifjI5BgvCz2YFW7QaccM98l5X5lWBG9vhPsfDEcGraD3VZrx0aNH0ev1pKen88wzz5CRkcHu3bvZvn07nZ2dAd8T7jjPH4vrtevm0R1Go9H9fr1ej80W+HH13Xff5Vvf+hY7duzg9NNPDzpOMXR5p7CMi57+jE8PVgfcH+w341k2FyBvRAzH67rGPrRwIia9t4QIwOagR0/ORaWakHcX567onkEr6H2RZlxdXc2yZcu4//77EUJgsVjIyspCp9Px17/+Fbtds2ri4+Npampyvy/YOF+OHz/OF198AcA///lP5s+fz2mnnUZxcbG70uNf//pXzjvvvLDn7DkXh8PBiRMnuOCCC3jyySdpaGigubn5pK6FYnBS39LJY2/tBaCkPnDqfrDfTEK09xPdyJQYapo73L7uxbNyOC+1kWg62GP6Oluiv8Nlpt1+xwn15Fzd1EFFYzsAe8ssAccowmfQCnpvpRm3tbW5wxYvuugiLrnkEh577DEA7rvvPv785z8zd+5cDh48SGxsLKC5NQwGAzNmzOCZZ54JOs6XSZMm8ec//5np06dTV1fHN7/5TaKjo/njH//IkiVLmDZtGjqdjmXLloU9/5tuuomnnnqKWbNmcejQIW677TamTZvGrFmzePDBB1WZgmHGT9/dh6VNi0SpaQ78pBjotwSa28XTss5zhy5qVnpHwRq2VgoW6rYTr+sgk2p+K57gEt02sqnhWNQt7DAtZZFuY9CnAJeInzk6mSPVLbRbAxs/ivAYtE7V3kozDmZNA4wfP57CwkL361/84heA5v7YsGGD19hA43zR6XQBFyoXLFhAQUGB3/ZPPvnE/benpX399ddz/fXXAzBv3jwvn/3GjRuDfh7F4CdUluanB6t5Y2cp918wjn9sPU5Nc0fAY7jGr1i3l4a2rjDElk47G998gUv+829i2ioYGTMX+DYn6lqZmBnPJx+8joU7WKzf5H6PEJAvKvjEmYqSomvmKeNLJBtNwBV+53b5zZfMyWVrcR1fVjQxMy8pAldmeDJoBR1Uv0LF8CZUlubZ41J45I09jEmL5f4Lx7F+bwW1QSx00H5LT60/4CXol4itrBSriWnT3pfXokUjHy/axN6kBTzbeB4pWJiv2+N1rCTRTCcm2ogihg6ihJ3HbL+GZ/4NCx6F6Te4xxaVWhidEsPcMSkA7CtrVIJ+CgxqQR/MjB49mqKiPgnXVwxRgkV6rVi3F4eUtNsc/OOes4g26kmNiwpqobvwdYv8xPB3YkTXTSCZJmJp46Vdnfy0YCOJpPEz48sYhfccktHWcOqIJwbtnALAcgLedobwOkW9qMzC9NwkckeYiY82ePnRLa1Wfr3hIN+7eALx0cawr8twZtD60BWK4U4wv3RDm5VJWQm8/51zmDNaq8WSEmeitiW4hQ7a4ugi3UYu0W0jjyrydN5RMULABFFCvcPM0nPH8Ol1cKV+q99xkoTmDmyQcf4nsbbBhpWAJtgn6toQwPwnPqap3caa7Sfcfvu/b/2KP24qZsvRupDzVnShLHSFYpCSnWSmNICoJ5qNvLp0rldYbGpcFDVNISz0d77HxvZXwCi5sfP/yBY1+ETVAvCS6WmIzyb9si3AJKjYAttfAbrCbZOFZqHXBxJ0AEsJ0LUg+p+9le4QSatdsvzfhUgpWbPtBIA7CkbRPcpCVygGKcGiU1ZcNdkvxyE1zkRThy1wFMk734Ptf0AgEQJKZSrZojbgOdNNnaRf8r2uDVc+DdeuhsQ85wbBCA+XiyeHHDm8YLsKR4I2tsgp6L7x7u02B//fe/sprtXCLCstStDDRVnoCsUgxTfSS68TjEuP45rZuX5jU+K0Rs91LZ3+cec7/uT+0y4FFSQHEHQBibl+i5qA9tpjW1JzB/zsvzRMXwoHd2luFuB1+zm8ZF9E3MhruZ2uhKJA1DR3Eh9lwGjQKQu9BygL3QdX+dypU6eyZMmSbnuKhuLOO+/k9ddfj+DsFApvFs/KYdPyCyl6fCEOKblkSmbAcalOQQ+4MCq7rPYqRmBHT7ao6dqfmAcrGuDBIn8xD0CSWVvArEuaClc957TeBTXGbAB+vtvMsZoW9pZZiDYEliABLJqZTd4IM5VK0MNGCboPrvK5RUVFmEwmvzjxUHHqCkV/safUgkPCrCAhfylxJoDAoYuiy21TJrXwQbeFbjRrVnkPMOh1JEQbaGjt1G4ADxbBigaqR15GXrKZKIOe77xawNGaFs4/LT2g20gCN56RR0ZCNBXK5RI2g1vQC9fAM1NhRZL2/8I1ET38Oeecw+HDh/nkk0+44IILuOWWW5g2bRp2u52HHnqIM844g+nTp/PSSy8BWhGv+++/n8mTJ3PFFVdQVaXaqyr6hl0nGgCYnpsYcH9qrGahVwey0E+/0/1nqUwFIEfUgDFWs7DDsMp9SY41+dVKr2nqYEJ6PCuvnkJhiQUpYcnpufzi2mnkJJkRQIxJE/dJWQlMy0kkKzFauVx6wOD1oReu0WJanf65QDGup4LNZuP999/n0ksvBWDr1q0UFRWRn5/P6tWrSUxMZNu2bXR0dDBv3jwuueQSCgoKOHDgAHv27KGyspLJkydz1113nfJcFIru2HW8gZHJMW5fuS+p8SEs9Cuf1v6/409uCz1r9hWw+KmTnk9SjIn6Vu9z1TR3MC0nkUUzslm/t4L3iyqYlpNIevE6FkethOgS/mq8nv/rvIYb5+QihCAjMZqmdhutnTZiTINXrvqKwXuFNqzsEnMXrhjXUxB0Vy0X0Cz0u+++m82bN3PmmWeSn58PwH/+8x8KCwvd/nGLxcKhQ4f47LPPuPnmm9Hr9WRnZ3PhhRee9DwUip6wu6TBHXMeiBiTAbNRT22w5KIrn4Yrn6bsrSISCkqJPwUxBxgRY/R6GnA4JLUtnaTGmxBC8MslM7hrXj7pxeu8DLOFnR+y15jCddEtQL67HnuFpZ0xaUHCIBVuBq+gO2NZw94eJi4fui+eBbaklPzmN79h4cKFXmPee+89v3AxhaK3qWxsp9zSHjxlvnANvP8wqbZHqdn8Kex9FS57IqDhU9bQHpGKpSNiTRys7Ko3VN/aid0hSXM+QcSYDNoN6BlvwyxdNLBK/yJ8lgen39Al6I1K0MNh8PrQE/1Ds0JujyALFy7kd7/7HVar5iM8ePAgLS0tnHvuubz66qvY7XbKy8v5+OOPe30uCkWBs9NPQEEvXANr74O2OlKwUEsCtNXBW98KuObkKvJ1qozwcbm4Kj2mxvu4hLoxzDISNUFXkS7hMXgt9AWPevvQ4aRW5E+Ge+65h+LiYmbPno2UkrS0NNauXcs111zDRx99xLRp05gwYUKP6pgrFOHiW2HxtKx4DDrBlOwE/8EbVoJDMzxShYUSmaZtt3cGdE+WWdqYPSrplOeYHGuitdNOu9VOtFHvDpdM9fXxJ+Zq61++OA2zLpdL6Do0Co1uBV0I8QpwJVAlpZwaYtwZwBbgRill7wdfu76IG1Zqd/NgSQ89JFADiPPPP5/zzz/f/Vqn0/Hzn/+cn//8535jn3/++VM6v0IRikAVFsstbeQkmYkOEP7naQGnikZ2O8YG3AfQ0mGjodUaEQs9KUaLRW9otZKZqKe6KYigd2OYxUYZiI8yKAs9TMKx0P8EPA/8JdgAIYQeeAJYH5lphYlPhppCMdgJVd8cAldYdEgtAzQgHhZwCo3UkYBDCnRC+rknyy2aqOZEyOUCmu88MzHabaGn+bpcwjDMMhJVLHq4dCvoUsrPhBCjuxn2beDfwBmRmJRCMRwJVd/cJerBKiy2dAZJeFvwqOZDd1hJFRbs6GkgjkTRjt7HPVnaoIlmpHzogNuPXt3cgcmZcORHN4ZZZoKKRQ+XU14UFULkANcA/q13/McuFUJsF0Jsr64O3LA23CbJisigrvfAIVh9c89+nMHENt3X8nUx/Qa2zfz/qJNxpKDVTjnqyORh+zdYa5/nNdR1s4hMlIvmcqlvcba/a+okNc50UlFgGQnRyuUSJpGIcvk18LCUstuceCnlainlHCnlnLS0NL/90dHR1NbWKpHpI6SU1NbWEh0d3d9TURDc+vbcHqjCok7AI5dPCnrc7+4bz+yO1Txg+zYA11sf5/XOs/0aN5c1tKETkBHs5tADAlnofhEuYZKZGEVVUwd2h9KF7ohElMsc4FXnnTcVuFwIYZNSru3pgXJzcykpKSGY9a6IPNHR0eTm9n6op6J7gtU397SYPSssusbe/rXRIVsxhrpRFJY0MCollkSzkdKGNjITojHoT93Ocy2K1jt9+zVNHWQlnpzhkJkQjd0hqWnuICNBGR+hOGVBl1Lmu/4WQvwJeOdkxBy0ZsuubEyFYrjx0MKJXj50ALNRz0MLJ3qNc/XSXfLiZsot7fzkiuDWOQS/UaQnRHH1bzeRnWhmyem5vFNYTqfNwbxVH51yw/Uog55Yk95dz8WV9n8yZCZqN7QKS7sS9G7o9lYshPgn8AUwUQhRIoS4WwixTAixrPenp1AMHxbPyvEqVJWTZOYX107zEta1BaXMW/URo5e/y7bieuaMGoFh7+shi9QFctOYjXrOn5COlNDUbuXXGw7RadMaTbgWY12t4E6WEbEmGlo7vdL+TwbPbFFFaMKJcrk53INJKe88pdkoFMMcl/UdCN8oGAC5901sh17CYHeKXZAidVEGnft9Jr3gF9dOY/3eCjITohFAY7vN61yuxdhTsdJHxJioa+10p/37xaCHSUai9j61MNo9gzf1X6EYZgSKgnlU/KFLzF14NGJ23QQa2rpK2docErtDsvFwDedOSA1q+QbzvYdLUoyR+larO+3fLwY9TFJjozDohIpFDwMl6ArFIMFXYBeIbSQL/8xmwJ0FGiwR6Rfv76ep3ca5E9KChimeavhicqyJ+pbO4Gn/YaLTCdLjo5TLJQyUoCsUgwRfgX3c+FeChnU7s0CDWdk1zZ3oBMwflxrUx+67GNtTXAW6gqb994CMRBWLHg5K0BWKQYKv8Hr1/fTFmQUazMo26gXTc5NIijGFtRh7MoyIMdHUbnNb1mmnIOiZqhVdWAzeaosKxTBj8awcmjts/GRtEQBVIo1MAuRsmJPdC6KBQiEBbHbJueNTvY59qgLuiytb9HBVs5b2bz55uclIiObzQyFuYApACbpCMajIS44B4B8jXiKzrRoQaC2VnRjNWvMKJ56JSGUNbSSajTS0WZHAuRP8s7UjSZIzW/RQZdNJp/27yEyMprnDRnOHjbgoQ7dFzIYrStAVikFE4X//CYxlWutWTcuRuEU9MS9gCWlP6/ujLyu560/biY82BO9wdJL4iuyiGdkAHKpqZlz6qXUb8mxFV1Rq6baI2XBFCbpCMUDo1uosXENhST1jRBnxwnOx0ynmDxZ1ew7XwuS8sakRSfH3nLuvyL6y6RgArZ32U1oQBdwZouWWtpBFzIa7oKtFUYViALC2oJSH/rWb0oY2JJogPvSv3d7ZmhtWUugYw3Rx1P8AYfbSzUkyY9LrWDg1IzITdxJIZDucmadwaguiAJOy4jEb9by5s5SyhjYW6Tay0fQAR6NuYaPpARbpNp5y3PxQQFnoCsUAYMW6vVh9qglaHZIV6/a6rc7KhmYqSWa6LoCgh9lLNyUuik3LLyQ17uTS8IPRnZiebNq/i6QYE7fNHckfNh7jmpjd/Mz+MjFCS1jKFTWsMr5MstEEXHFK5xnsKAtdoRgAeGZyBtteGK31j/EXdNGjXrpp8VGntEAZiO6SkE7V5QKw9NyxmAw67LZOt5i7iBGd/ND4WljHWVtQyscHqk55PgMRJegKxSBhT94t6HAwRRR7bBUw565+b8UYLDkpyayFLkZC0NPio7jtrFG80zmbYoe/yyimrSKs4zzz34O89OkR92tXwbP85e8yb9VHp1yUrD9Rgq5QDABGOOuHh9peaM1hQhKYkzIAoS2EXrsarny6byYZgmDJSVlOy/1k67j4svS8MRhw8Lx9sf/OMNxOUkoqG9s5Uae5iFyLuZ5rF5GoNNlfKB+6QjEAeOyqKfzgX7vwWEcE4AeXaOn3UkoKSyxcNGkkXN99NEt/ECg5ac12rUF1JCx0gPT4aG6dCH8+MJ9v699klM7pOjGaw3I7NbbZaLc6KLO00WlzDLmIGWWhKxQDgMWzcnh80VT36/T4KPRCsun9f1D12ChKf3UOdS2dTMtN8nvvQHYZjIjVFkNPNcrFk6XXXoodPe+YLsX9pHLVc2G5nSqbtPIBUmrWeDht/wYTykJXKAYIs0aOAOCFW2dzufycZ1//kGc6FrOe3zC+UxPpGW3bgFHu9wSK/x5ISTYpsSZMhlNL+/clMzGaiRnxbEm4jW/d/ZsevdezwNeJutaw2v4NJpSFrlAMECoaNWHJSoyGDSv5jm4N/zX9gG/o36FRxpBMIxMLfur1nlAug4HAnWeP5tkbZ0Y8quasMcns+Koeq93poypcE7Jrk4vKxg7338frWnut0mR/oSx0hWKAUO6sJpiVaHYnCo3TlfFD3Wv8wLCGTgxENXp3FhroLoMxaXGMSTu1tP9AnJWfwl+++IqiUguzGj7UujRZnZ85SNcm6LLQjXrBibpWfnS51o91qNSF6VbQhRCvAFcCVVLKqQH23wo87HzZDHxTSrk7orNUKIYB5Q3t6HVCiwhJzNWEyYlOSKKxav5iD4aayyBczsxPBmDL0TpmFazsEnMXrq5NPoJe1dhOotlISpyJ43WtQO9UmuwvwnG5/Am4NMT+Y8B5UsrpwE+B1RGYl2IAMpAX34YC5ZZ2MqLt6J+d5hRzHzdFgEiOoeYyCJe0+CjGpsXyv2O1wcseBNhe2dhBRkIUI5Nj3II+lOhW0KWUnwF1IfZvllLWO19uAcLLQVYMKoZavO5ApOJIIZlthz0sc4kDLSKjgjS2TXs8YCXF3mhOMRiYOyaF7cX1NEZnB9zfas7021bZ1E5GQjQjk2M4MRwFvYfcDbwfbKcQYqkQYrsQYnt1dYDC/IoBy0BffBsMrHx7H8/+91DgnYVrKG9sJ0t42046oFSmMrf9WW7fNirgDXTxrBw2Lb+QY6uuYNPyC4eFmAOcNSaF5g4bj3TcSav0rhXTKk3c0PwDPj3orTNVjR2kx2uC3thuw9IauOTCYCVigi6EuABN0B8ONkZKuVpKOUdKOSctrXeL6ysiy0BffBsMbPiykrd2B36ike89TLlMJkvU+u3Ldm5TN1Bv5jr96O+0TWG59R5KHKk4pKDEkcp3O79JkTWLf23vWodwOLQs0YyEKHJHaI1Cjte1DilXYkSiXIQQ04GXgcuklP7fSEW/EonuLsNh8a23u+DUNnfS0mmjtdNGjMn7p9fY1kEb0WQKf+9mmUzp+lvdQN2kJ0STnxpLeUMb62zzWdc532/MB0UVrC0oZfGsHOpaO7E5pNvlAvDvnSW8tu3EgI3j7ymnbKELIUYCbwD/T0p58NSnpIgkkfJ9D/XFt95eI2i32mnusCEl7C9v8ttfLjVr09flIiU8aevymw+lG2gkmDsmGQREG7qkbJFuI9frPgFA5+jk8zdeYG1BqTtkMSMhirxk7Tq+sbNkSLkSuxV0IcQ/gS+AiUKIEiHE3UKIZUKIZc4hjwIpwAtCiF1CiO29OF9FD4mU73uoL7719hpBXUtXudd95Y1++8tNWvanr4XeQjTrHJrlOZRuoJHirPwU2q0O7r9wHDlJZhbpNrLK+DL7pXY9OzFyr3iTXe+upsqZVJSeEE18tJHkWBON7baAxx2sT0LdulyklDd3s/8e4J6IzUgRUSLp+x5K8bq+BLsepQ1tXPvCJp68fsYp9cWsbfYQ9LIAgj75btja5S8HsAsjvzQsQ3Qw6BNeeouzxmhPNnqdjk3LL6Tk0XuxoWe/HMU5ukI+d0ynVKZzT+ff2Nh4N9DVzi4vOYaWDptXZyUXg/VJSGWKDnEGg++7srGdpBgjUQZ994N7iWDXKSXWxM7jDRQcrz8pQXf55V3HjjLoAlroFXFT0IlDpCXGQ2M9JOaiX/AoK6bfwIoen3X4kJVoZvbIJN4sKGHZeWPI1tXyqX06DnTcrP+Izx3TOSxzuEC/y5327yoUNjI5htL6VnQddq+ns8H8JKRquQxxTtX33dsRAFJKLv31Z7zw8ZHuB/ciwa7TuRO0aCxLkI5CofD0y7uw2h3sK7Ngs3tbhWWWdtLjzRi+VwgrGrSGz/3ctGKwcP3peRysbGZPqYV2cybbHKdhwMb5ut2k0sBhmU27OZPKpnZ3sTCAvBFmGlqt/Gzx1CHjSlQW+hCl3WpHrxPuL+bJRG/0RSU/S5uV+lYrO76q735wLxLsOm0r1nzajSch6IH88g4JDrvkWE0L4zPi3dsrLO1kJUWfwicYvlwxPYvH397L6ztKWHnZSra+WsoUUUyM6GCcrpRDMpeYy1ZSVdDudreAZqHbHJIz85PZtPzCfvwEkUMJ+hDllt9vITk2it/ffvpJ+777ovh/TbP2GLy3zIKUMuJV+XpCoOv02jYtjjnY4lkoQq1T7Ctv9BL0cksbEzPjg45XBCfRbGThlEze2lXGDxZeQyHrudP8GTgE46Iaecs2FzntCio/3URGQldddlfo4om6VvKcfw92lMtlCCKlZF95I//dX8mG/T1rhuvpYgnkU4bIRgBUN2mLhfWtVne1wYHE0Zpm4ORcLqHWKX78ZpHbfSWlpNzSTmbCwFnXGGxcd3ouljYrT//nIJ0OwRnXfx9WNDDuortpsgqqmzqcSUVdFrpLxIdSTRcl6EOQmuZO2q2aj3blO/to97Gyg+Ebix2MSC6ouix0gL0Boj+647Vtx1n6l+294udvare6F9JORtAD+eVdNHfY3HHuje02WjvtZCuXy0kzf1wqGQlR/OWLYgDOGK01CxmXrj31fPnCzdQ0tZG+74/uWulZidEYdIIT9UrQFQOYEucX9M6zR3O8rpU/bDwWcJzvgufjb+/1c7H4EukIAG9Bt/T4/a9sLObDfZW9khB0rKYFACFOTtA9Y/cB0qljo+kBlug+JokmLrJ9ylPrD1DhfDLJTFSCfrLodYJrZ+fikDAxI56kGK22y7jajwHY0pSGAx0ZHcVarfTCNRj0OrKTzByvG5wx54FQgj4EKanXvqA3nzmShVMyeP6jw35ukkCZkfUhChX1VgRATXMHep1gTGrsSVnoR6qb/Z4mIpUQdKRac7eMS4s7KUGHrsJZZtqZp9tLrq6GqbqvaCCeh4yvcXrjh5RbPDoVKU6a62ZrhV7PyB/h3pax+XHiaGWTY4r2WjR01UoHxqXHUVQa2pAYTLVelKAPQVyCnjvCzE+umIxDSn76zj6vMYEWPIORk2TutUp+NU2dpMSamJKTGDDhpjtsjsDOoUj4+d/fUwHAoapmjlY3h/1D/sPGY2wv7sr4lFLiQEe6aABgsu4rAA7LPFYY/+LdqUhx0oxLj+M3N8/im+ePc28TjSWMFWXskWMAyBDOaCpnrfRzx6dyrKaFr2pbAh5zsJWNVoI+AIi0BVBS30pyrInYKAN5yTE8sGA87xdV8G5huXtMuIIXZdD1apJFTXMHqXFRTMlO0J4SPFLku6MzQIafi1P1868tKPVaUHZIwvohOxySVe/v569bvnJva+m004GJFKHdsE4TxwHYJ0cxgmbKLe3ohNa0QXFqXDUj2+3iAiAxl7GiDIdT6tyCnqhZ8+dPTAfgkwOBy3kPtrLRStD7kbUFpcx8/D9897VdEbUATtS3kTui60v9jXPHMD03kR/+ezdzf76B/OXvogsSHphkNqLz2HX6qBG9mmRR09xBarwm6BC4zkmo9wYiEn7+p9YfwC69rf9wfsg1LR1Y7ZLi2q6FtlrnPF2CHi/aGCUq+KftQr5p/Q5v7SolLT4Ko179HCPOgkcZZ9BuzDocpGDx6vw0OjWW/NRYPj4QOBpssJWNVt+gfsL1KNcQwDd7qhZASX2rl6Ab9Doum5pJS4edisZ2JPiJFWhC+JMrJuGQ8L2LJ3DjnDx2Hq+noTV8q7mn1DR3khpnYkp2ItCzhdGqpi5Bz4iPiqif/2RDNssaNPeJ+xG+cA01Ly8BIJmum9Wt+g3EizaOkotJr2PxzMGZmTjgmX4DjDkfgDQaqBapfp2fzp+YxhdHamnr9HdBBnvSG0ilMzxRgt5PdOfDDiUcJfWtWO2B3Q1SSkrr29wF/F38bcvxgOP1QngJ4VljtNrbmQnRfH3+aNqtDv659UTA954qUkqqmztIi4siOdZEdmJ0jxZGqxq74tZf+foZEfXzZwRxf3T3Qy53/rs1tFpp2LYG3n6A2mZtnqmi67MtNbzLu9H/x39uSuLD753n7j6viCxrC0p59rDmVqkkOWDnpwsmptNhc7DlqH8rh8FWNloJej/RnaXnKxy1zR38YeMxLnv2c+Y/8TF/3lwc8H3VzR102BxeFnqo8zmk9BLCClfN6MRoTstM4OyxKfzli2K/2iORoKnDRqfNQaqzWNLk7MRuIw48qfZwuTSfRCZnKALdFEz67tcTyjySo4rfeRKsbdRJLRY6RXh8tsQ89Ne8oOq19DJPrT/gV03xYvunzH3rPFiRBM9M5cyWjzEb9XwSwO0y2MpGq9T/fiJYdT/wtwAa261c8sxn1LZ0Mj03kbT4KL44Uss954zpelPhGtiwkpL6KGAlue/dAVtq3b7CL6IfIV1W0yhjeN6+mD/aL0OHg/iYWK9zu2OinRl1t39tFMv+tpPPD9dwgXMBKVLUOF0mqfFazPCU7AQ2fFkZsKNPIFz1rQFaOiMr6K6MwsyEaPdN7o6zR3X7Q/a8cX7lSGOm/hC1aO6kZFyNLYRWfEvR6/gaMq566TE43YiWE0S/9wBnp73ExweqWRGg/MRgKhutLPR+IlgW4YgYo58F8GV5E7UtnTx700zW3T+fCyamUXCiASmlJuRP5MMb94LlBCekVh0wT1Rr3ePX3gdvfYtMqtEJSNK18hPjP3jP9CPGiHJMbRXuzDnA3dXFJegXnJZOUoyRf+8oifg1qHHWCHdZ6FOyE4J29AmEpw+9KYSFvuOren70RmGPnjKOVDeTaDbyxY8u5OMfnA/ApKyEbt9XbmkjR1ePwEGxzACgRiYQTyvRwrle4oywUPQ+vk+6PzSsIUb4rAlZ25jXsJbjda3k/+i9AR9rHgol6P2E61FO77QGYkx6fn3jTB67agpPrT/gFcJ4sFITuDmjtWL+s0aOoK6lk682v65lvbV1xTyXOAU9R9RoGxxWsPsvak7UlXCV/gsqZDKt/75fuykUrqGysZ1oo44Es2YhRxn0TMtO5J3Cckb3MKyyucPGsr/uCBrj64pScQt6jmbJ7gtzYbS6qYOUWJP7XMF4fccJ/rn1BOt2l4V1XICj1S2MSYtFCEGi2QiEly1a1tBOPiVkUcdXjkwAamWCO8LFM8JC0fv4Gk7Zrt+FDxfZPnf/PdBjzUOhBL0fuWhyhjvaZPZILbstUBLD+r0VxJr0ZDszCV1jd366Tst686BEppGChRgROKTPk9FCS5wplhnaTeHtB6g4fojMhGj3Y+faglK2Huu6YfTky/7pgWo+2FvBx18GDgnzFfTsxGgSzUb2V4RnoVc3tZOfqrmMQvnQ9zj98r/56HDYVvrRmmbGpGoNLRKitZtbeILeRpapnVG6SreFXkuiFuEi9HDVc8pv3of4+sArRGrAcTp6HqI6EFGC3o8cqdJSy6ONOioa24MmMWw9Vse4jHi3yI5LjyMuykBBS4rfMUtkGrlBrBBf8p2CfkxmaRusbVSWFpPeWOReMNr17mo6fEQw3C/75iPaPFw1UXypaepACEh2Wtlv7SqjtdPGP/53PKwngaqmDkalxCIEtHTYAiZoddjsHKho4rTMeI7VtIRlpbuKco1N124WBr2OuChDt4LeaXNQ3dxB1rgZjNbX8JVL0GU8KfoWuOZFJeb9gKv8wrFVV7DacBut0uS1v1WavBpxuxioseahCKdJ9CtCiCohRMBVHKHxnBDisBCiUAgxO/LTHJocdgr6GaOTqbS0B/0CddgcjPdof6bXCWbmJbFTTPYbWypTyRUeWW86I+hNfuPA00LPdG+rsMeTaS8HJFhO8EPrCyzSbfQ/T0Nbt6K7+YgWBnY0iKBXN3eSHGNCrxPuuHyrXbqPH+pJwOGQ1DR3kJEQRVyUgV0nGgI+3az+9ChWu+RbF4xjUlZCWFa66wbkstBBq7kdVNAL18AzU6lcOQEpISdWMnrK16glkUYZQ60YQeqoqUrMBwB/bj6T5dZ7KHGk4pCCEkcqy633uBtxezJQY81DEY6F/ifg0hD7LwPGO/9bCvzu1Kc1PDhU1YxBJ5g7JoWmDlvIanvjffpZzhqZxJf2bFoNie5tDik0C13ntNAT82DxC3D1b7W/AUTXP3ms6CCDOo46fb1SQoUcQaYrPRqIEZ08bXyRL0z3ocPBeLri2Usb2njwtV38ZO0ev/mWNbRxrKYFvU5QHMKH7nK39DTFuqHNitUuSYvXBH37V/UB3++qNDkjN4nvLBgflpXuqo89OrUrlj/BbKSxLYBbp1CLNcdygjK0J6aswt8yKl67aRTfu586EkkZqeLMBwLZSWbWOeYzv/M5xnT8nfmdzwGw0fQAvzK8AMCFYseAjjUPRbeCLqX8DKgLMeRq4C9SYwuQJITIitQEhzKHq5oZnRrrjhm/8+zRfpEvJmc6+IQM7242s0eOwC4FhWc97RRrQXX8JDoxknvlclhh6epLOf0G7e8VFnisHq79PZi1BdZ8XbnbQm8gjk5MZAjvf26DcJCla+AcXSHNxPCY/hX3Pgn8fctxP0vaZZ0vOC2d0vo2Omz+SVRa2r/29NDTFOuqJi0aJz0+mrgoA60BsvxAE/5Es5G8ZDOXTM5wW+n2IEW9oEvQ8zySsxLNBv82dIVr4M1l7nWMcqkJera9jNF7Nbtm94kG7A5JSlzgpyRF3+K7SLpIt5FfGl8iV1fDSJ32ZHurYQN/OeOrQROq6EkkfOg5gGcqYYlzmx9CiKVCiO1CiO3V1YGL4QwnjlQ3Mz49zh3zPCU70S+JYfGsbAC/jvMz85IAKDDOcop1AyVL3gXwSyryY/oN8PAxuPb35Ec1az70xDwqTKMBvCx0T67Vb6ScVKbpvuJY1C0ci7qFnVFLuUq30c+S3nykhuRYE5dOzcQhtTZfvnha6D1NsXbFoKcnRBEXbSDKEPirbNQLpuYkIIRApxPcNnckx2pa3DXjA3GirpUUZ3EzFwnRPi4Xl2Uuu24kZVK7SWaJWka2aE8trl6prnUCRf/iu0i60vRXTEL7N3S5KstlCmfsebwfZ3nyRCKxKFCVp4Dmj5RyNbAaYM6cOaGa4gx5Omx2vqpt4crpWe6Y74rGdq4/PdfLMnj87b2YjXrvCnLAiFgTY1Jj2Xm8S3xdZXPzuhN0F9NvIL/hdOre+xLLNwqo+GwdfAKZIvAD2QW6AozY+NAxhzn6QwAk08zTxhf5fiOA1mhXSsnmw7V8bWwKY9K0G9HR6haKShu9mjBXN3UJ+kMLJ3o1pIbQKdbVzhj0tDjN5ZKZGE1VY4fX+6MNOqwOybScJPe20SnaQmdpQxujUryTqlwcD9Bj0s+HvmGlX4RRmUwlkWZiRQck5pHRFsXO4w1AVySPov/xShRa0RVRlUE9JqxaLoe1RbtpD7J1j0hY6CVAnsfrXCD8gN9hSnFNKw6pWd4u33mlR20S10LboS/eZrwsRlf0L79jzByZRMFxZ4IRXYKekxR+w9t858LfsdoWqlLOAFxZkkILs/MgQbQxV7eP/zjm4FnbyyAc/Nr0AjwzFQrXcKymhYrGds4em0K+UzTfKSz3W7TstDvcn9llOblCM+OiDCFTrF1JRekJUcRHGzDpdX5PN/ddMA67QzItp2udwXVjLK0PHsFwoq7N3UDYRaLZiKWlTfuMK5K0pC0fymUKWaLWHWs+KiXW7b5RLpeBj05IckQNJdKZEe1sgjGYiISgrwNud0a7zAUsUsry7t403HFFuIxNiyPaqCcpxujuXMM734M3loLlBIccOYxzHHO3zfJk9sgR1DR3MPfnGxi9/F1+6XR7XPT0p2EnRbjiuI/VNFNhcYrkdz+DFQ1amJ3PA9gluu0ck1kckdle2wVoIvfGUjY9ewcA82xbSYwxkhxr4r/7KwMWI9t4qCvEcvGsHDb/aAH5qbGcNzEtpA+zqqmduCgDMSYDsSYDzR02Fs/K4aGFE8lOMlPW0MYrzgVRT0F33TxdVRF9sdkdlDa0kZfs/ZST2HiANrugs6GMIA+glMlkckSdO9Z8dErXTSElVlnoAxLnWpKLXFHtzrZ2NcEYTIQTtvhP4AtgohCiRAhxtxBimRBimXPIe8BR4DDwe+C+XpvtEOJQVRNCaIIOzpohlg5NtLe/AkgsMoZKkhmvK/Vqm+XCVda20mmtumSmJ8k/I5Nj0Ak4Vq1Z1alxJkwuf/T0G2DOXXiK+kX6nQCsd8wJckTJZscUsqlh1MffhsI15KfGYu6sY2fUUrfv/V/GxwB4xvozd5aqi7zkmIA+d0+qmzrcDSHiog00t9v8usu4ShPv+KrLhRRt1JMWH0VpQ+Djl1vasTukv4V+7D0ALAR20wCUyTSyxnaFJ7pcOkJoJR0UA5DLnvB6mSeq3NnWg7FEQzhRLjdLKbOklEYpZa6U8g9SyhellC8690sp5beklGOllNOklNt7f9qDn8NVzeSOMGM2aW6NzMRoKhrb4P2HcUnzYalZqBOE01LwsRj+8b/AJXEh/OQfk0FH7ogYjtW2UtnY7l6gdXPl03DtarclkyXqmCGO8KH99IDHc0jBF47JnK3fi7BpN6HRuir02EkWzQihCZyrYFWazqJlqa69T3syeWYqI4/8g+OlZX5PJJ5UeQh6fJSB5k4bT37wZcCngF/+56DX65wQhdFcN5K8hq3ajWZFIqxIJLFdu/YW2bU4/bl9Ko3SDAhaE8ZgIZasMVPd+13++hExJgyqecXAZPoNMOduXEZLrqimjgRaDEmDskSD+pb1E4ermhmX1iUOWYnRVNQ2eNVlOeTQBH28cFraPhZDuSWw28BFuJlu+amxTpdLu3uB1guPqBiMsVyi384uOZ5KmeQ39IDMpYF4vqZz9jC1lDCmegNVJNMiu9wONVIT9FRXSVmHVXsysZxgpKiiQcZiWfdwUFGvbuog3cNCl9K7dG2o65CTZA7scilcw/HXHgIg7/OHvf4tEtBi6V0Weo1M4Hbrcp7S3Q0rGii77XP3sV244thVhMsAx2W0JOaR58yyPnHuLwfdgigoQe9z1haUcvYvNvBlRRPbiuvdbpGMhGhq2nV0yq6FyEMyl2g6nOFUws9i6C6TLdxMt/zUWI5Vt1DZ2E56IEF3Mf0G+HEZWVPPA+BD++n45ly6ygi4+maSmMvoDu1JwTMjtcZpoad4dPFxPZmMFFrtlxOdCUEXpqoa290Wemz1bgC2RN3HkahbORZ1C28ZfwzA84Zn+SL6O143hpwRmoXucHhUq1yRCG/cy/FWIwZsZPlE+iQKTdAbpSbSBx25SHS82nYWo5e/yyVPfwrAz97d5/43dblcUpSgD3ycuRp5S18F4ETquf08oZNDCXof4vLxuizJ5g4bP3pjD9vWvUTm5hUAVDHCPf6gzGWcKEMgOTLqRj+LIVgJXuhZV5X81FhaOu3UtnQGttB9PsMjRdqC6E9sd/PdzvsolalOKRaUSq34Ua6ocUd75Mdre495CrpMJIkmjMLfRZLnFPTjMj3gwlRLh42WTjvp8dFQuIa4PX8CoFnGoBcSIXB3eZ+hO0om1doi84pEeGYqOS376bQ5qH1ihlZ22MMSPyHTyBE1GIT3rSrRaaE3EgsI9himAGBFu/6u0TXNne71i7goA2nxUaSq5s+DBlfIb3drOAMVJeh9SKD09ovtnzJj5yNkWrUwuErZJeiHHTmMFyXUyThur7zR73ieSRKAuxRvT7uquCJdADITQ4vPU+sP0O7RAWadYz7zOp5jfvSbbJv9BAdlHnG00kqMu3fj6IvuBXwsdJnY5W4BPBM3R3oKeoCFKVcMenp8FGxYSbxdO04LXTejwzKHWNo86to4T2A5QXaRlsVZ2uafhnFcprvP70mC00K3ROfCigaetV8f+AKhrV+sWLeXeas+orqpg23H6gZlKdbhSHKsiRiT3h0C7AofdhWrC7WuMxBQHYv6kEA+7R8a1mDC5s7OLHdmGzZJM+WkMFpU8Ljt9qD+cN9uKmsLSnlq/QEefG0XT60/wEMLJ3Yr7J6C7rcoGsZnAC2y5vZto2izawL8tY5nMW/T84u8UhbPvoHMt9/mqH00oNWMqZaJpGJBSqiTcbzjmMsS/WfEiE7iRRvJNHJcZMOCq/3O5RmDjqWEOKG5QZpll4upSo4gQ9QjAqS95UitKFmpTGUmR7z2nZDpLNRt83uPy0K35F8OELTUgIuGNqs7yqaqqYMfvaFljg7GdPLhhBCC3BFmTtS3dmUDuxLILCe01zBg/evKQu9DfH3ai3Qb3Y0oXD7bCqegb3Jo0RJfOCaxzjE/LH+4b9heuOGL2Ulmd82YUAXCAn0GF3ohQhbXys9K41jmQlhhYb75TXbIiWyRU8jv+Aend67mMdtdPGm8z12XJs/QwImUcwL+cNxZovFRkJhLHNoPrglPQU8iPUgJgxyh1Zkpk97lh5tlNHUkBLTQTVHRmPUSS8JEpJQB06NDMVjraw9H8kY4w2YDZANjdUWiDUyUoPchDy2cSLQzxnskFawyvuy2IBNoIZoOt6C/bj+XFCxskVPD9of3tGKhC71OMMqZBNOdDz1YF3S7DJJs47ToR6fGUuwsSxvos5iNemZesdRdl2bklLkct8b7jQPvwlwseJQ4o3buZk9BJ4k0Anc+SqCFOFrd/n4X7vZ9VGGXzn+YxDwtuueRMhJjzVjarFQ0tiMBo65nsj4Y62sPR/KSYyipb0M2BEksaqsbsK4XJeh9yOJZOTx48QQAbtZ/7NXbUAjNSq+QyVTLBD52zGQETT3yh/e0YqEno1NjiTLo3O3WQn0GT7+92aj3eu2Ly6Jv7bBR32pl9PJ3eeytvYDWCShYJ/WRyWZK69sC1i6vaurAqBckmY0w/QbiFmrRPy3SDEKHlJqFniYakBK/SBxhMJEjainxEHQp4bhDa0ixxn4e55rf8K5YSVc9lwPOjkrLzhvr97lzksxBk4gGY33t4UjuCDPNHTYaEiYEHzRAywIoH3of4yrSdKF+l9++DFFHpRzBW7qLsaPndw/ewviMwFZqILKDJMyEIyTXzc5199DsDpff/v/94X9Y2qxuIX7434V0eCyYup4s1haU8n5RhXu7pd2KTsCPLpvEzWeNDHiOkckx2ByScku7X6EsV1EvndNCjp19HbzxAc0LfgEX/IvXth6n/Y09vGK/nFfsl7NIt5GHjWvIFrWIxFxY8CjZn0RRVqVDIiiTKTxhvcHd5GAzM4nvtJG//F2yk8zudQiXoB+q1Mo23DU/n+87nzbe2FnCnFHJjEyJcbu+wi00phhYuL5vJaf/kBGf3B1wjMNSwrqC0gG3JqIEvY/ZdaKBWJOecUkCrxBsIJN6tovJvJ54BjNSdD0Scwi/YqFr4dRV9dAlWJdOzfQ9ZEhGp8SydlcpUkoWz8qhqNTCy876KTkex5236iM6fSxth4QfvbmH5z8+HHDh1vWjOuGsfHioson3iyrYfKSGnV81MCUnwT02yqDHZNDR5Owr+vSH3pmh6xzzWdcxn5wkM5se1CpC5hzdw856M+KxBrYVlLJj/QFw3QwF1LdqC5qudQiA1k4bX1Y08b9jdegEfHqw2j3va2d3ReO4tgW6xoqBj6v89ImUeUwwJhFlbfAb45CCjW++ANw3oP5dlaD3MbsOHmW6PIa+8ThaunGX7znT0EhJZzJUNPHTq6f0+NjhCImv9egpWD39Yo5KiaGp3UZDq5URsSZynD+E7T+5yKtcbCiXT7Dzu2qpHK5uZsuxOl74+DB2KZmclcAdZ4/imlne4YxxUQaaO7qiSgLhOY+cpBgsbVZ3Ua/Fs3L4+h+3svFwjbsNnos2q51H3iikwybdawUOScjr5ht9pBg8uIyJD4oq+KjjNlaK1W73aLEjg2aimar7ipWs5sl3DSyeNXBqpytB70Pad65hf10U9+r3ouWjSNyinphHZu4C2KF1KbpqRnbogwWhOyEJtXDaUwFy1Soprm1hRKyJ0vo2oo06v8zIYK6gUOfPSjRj0Al++s4+rHbJtbNyeOSKSUHrisdFaQW6QCuE5bKwfefR9ber6mKbuxvU8bpWPzF30Wr19+Wf7HVTDGwSoo0kmo1s2F9JS+fZWISBmbqjvO84iyKZjwkrBVFLiRUd3NP5N2DgCLpaFO1Dij78MzYMzNR5xj5rYs6DRWROOhuAiyankxTTO+nip7Jw6ourVslXtVpWXWlDm1aP3McPHyqjNdj59TrBpKwERsSYePn2OTx948yQTSI0C127UZ07Ic1vv6/ryfVY7aqL7nBISurbiIvqmY2jIleGJnnJZlqcuQYfyjN5yn4TBmws0X9CJ0b2yHwAsnW1/ThLf5SF3ofsatL8vrN0h713ONPbJ2TEodcJbj1rVK/N4VQWTn3JHRGDELibQJfUt5EzIsZvnKcrKJilHuj8f7vnLEx6nbsiZSjiortcLhkJ0Rh0gvT4KMot7QFdT64mIK75VDd30GFzcNX0bF7fGX4dbBW5MjQZmRxDUWnXItdrxsc5S3+AWhnPv+zns9sxjrm6L2k3ZxJ+O5neR1nofUiBfho5VJMuGrx3ONPbx6TFsWfFJcwbl+r/5ggRLI78ZCIwoo16shPNXhZ6sH6mi2flsGn5hfz6xplhnz/RbAxLzMFloWsul+qmDjISotn8owUcW3UFm5Zf6OcWSYuPwqATbkE/Wq3dlK6ckRV27XIVuTJ0eWDBeG6ck+fOG/m7fQGt0kSKaCJPVLHLMRYJxLSVD6iSAErQ+5BdhmnMNBR7b3QWsHIRY+rdhybfJrk9rfviy6iUGIprW2jttFHX0hk0Hr23zu/C04de1dSulQUIgV4nyEqKprReq7r47IaDxEcZmJ6bxGNXTQl40zl/YpcrJ1LzVgxMTstM4Inrp7PquunkJJl52zGfJ4330WrOYqY4zG7H2K5sYVdJgAEg6srl0kdUNbVT2qLjzlnToSxPc7M4Y6L7ui5EJCMwRqXE8kFRudsXHcxC763zu9BcLprPs6qxgzFpwTsLuchxtqr7x9bjbDlax6prp5EcawoaLZQ7wswnB6q5YGIaf/z6mRGdv2Jg4v1dvQJ4nBk/W8bbzanO8hIN2i5XR7F+rvGiBL2P2OXs/j7rrPNhdFG/ziWS5KfGUN9qZV+55m8MR9B7g3ifsMWzxiSHHL+2oJTdJyy0We3s+KqeCRlx3HhGV6/zQDedQ5VahuiEHuYHKIYWszp3AFexyzGWS/Q73NsHQrJRWC4XIcSlQogDQojDQojlAfYnCiHeFkLsFkLsFUJ8PfJTHVjUt3QGXOBrt9oDRj6s31tJfJSBqR4Ni4cCriYOmw9rq/2uxca+Ji7KQLvVQUuHDUubVavzEgTfWHyJFqnz1q6ykOfISjKTHh/Vq2scioHPlCQrBmzsdoz12l7mSAm7l29vEU6TaD3wW+AyYDJwsxBiss+wbwH7pJQzgPOBXwkhhnSblp+sLeLq5zfR7hPT/bN393HR059S29yV3NLaaeP9onKumJ5FdDfhey7WFpQyb9VH5C9/l3mrPhqw9bRdsegbD9dg1At3W7i+JtYZbnjMWQAs1DwCxeJ32BzdFjGLizKw9ccXBQyLVAwfoi96hNN0JeyS49zbpAQz7Vxs/5QnP/jS/TTX14RjoZ8JHJZSHpVSdgKvAr5FqiUQL7QA5DigDrBFdKYDCIdDsvlIDTXNHby1q0toa5o7WLO9hNZOO3/3aOC8fm8FrZ12r/TwUJxsGdz+wJXRWer0Net6WIEwUsRF+wh6iEXRSMbiK4Yh029gxpgcdjvGYndo33chIEXXzCrjy2Q3FnDxM5+x46vA5Zt7k3AEPQc44fG6xLnNk+eBSUAZsAf4jpTSL7VOCLFUCLFdCLG9urrad/eg4Uh1M/WtVvQ6wcufH0M608H/+sVXdNocTMpK4C9fFLut93/vKCUv2cycUSNCHdbNyZbB7Q/MJr275G5/+c9B86FDV/hhKJdLsNhxFVOuCJcZM0+nGTPHyPLaHiM6ydBp60nrdvW9ARaOoAcyuXzzoxcCu4BsYCbwvBAiwWcMUsrVUso5Uso5aWmD97F1a7HWjOJbF4zjUFUznxyspt1q569bvmLBaen85IpJ1DR38tauUsotbWw6UsO1s3JDWq+eLpZgyTcD1YJ01VLvLmSxN3FZ6EdrtEqIoVwukYzFVwxPZuUlAbBLevvRpYSdds0V82ZBKXZH4FISvUU4gl4C5Hm8zkWzxD35OvCG1DgMHANOi8wUBx5bj9WRFh/FyBFmhICv/3Ebp/3fB9S1dDIpK4Gzx6YwKSuBlz8/xhs7S5ESrp0dfOXb18USjIFoQa4tKGVPqdZI4v2iin5zC3n60IXQekMGo7di4RXDhz0lFmJoZ5djnNf2IzKbcrROWI3tNp7+sG+fqsMJW9wGjBdC5AOlwE3ALT5jjgMLgM+FEBnAROBoJCc6UJBSsvVYHTlJZn705h58G/W8+MlhxqXHce85+XxvzW5e+PgwZ4we4Y4GCUQgF4svA9GC9I0WaWq39VvvTE+XS0psFAZ9aFtFVUNUnCxrC0r58doiYmmnwEfQP3bM8Hr9p03FPLSw72zbbi10KaUNuB9YD+wH1kgp9wohlgkhljmH/RQ4WwixB9gAPCylrOmtSfcnJfVtlFvaOVbTErAyn01qAn3l9GwyEqJoCWMxNJQrZSBbkAPJ1+9yuTR32Pot0kYxPHB972tIYp8cxX57Hg4pqHXEsckxjTyq2Gh6gGyqaem0Y7M7+ixqLazEIinle8B7Ptte9Pi7DLgkslMbmGxz+s8tzo7ui3QbSaSVLXIyvzf8kqft1/N2w3xMBh3LzhvLcxsOcfm0rFCHDFowKyfJzKblF0b+Q0SIgRQt4lklsbu0f4XiVPD8fkt0XGZ9gkW6jfzM8Ao7HBO4Ur+FXF0NDxte5Tu2b/Or/xzkT5uLI9KDoDtUpmgP2VZcR0K0gbgoA3Oa/ssq48tevUFX6V4m2WgCruDOs0dz61mjMBlCPwiF22looBHJyo2nSqxHDZyeWOjBujcpFMEI9L2/T7+OQ+TRRAzzdZpYL9RvJ8bWzp+/KI5YD4LuUMW5usH3UWnD/irOGJ3MDy89jRXGv3iJOWhhSz80vgaAEKJbMYfBu0g3kKJFdDpBrLMyY1qYgj6Y4v0VA4dA3/v1jjPY6JiKwMHZOq0JerSwcoluO62dgdfHeuNJVlnoIQjUrg0gxqRnsX4TUjQHfF9MW0XA7aEYjIt0A613Zly0gZZOe8gYdE8i2b1JMXzw/d5HGXT8wX4FeVQyVRQzwkMXLo8/wlrL/IDH6Y0nWSXoIQgWfbLlaB1UrgwYoA+465sPBwbSjSguykAlHWG7XAbSGoBicOH5vS8qtXDlbzayl3yW6dd1DTKamXbBElgLRp3A6hGT3ltPssrlEoJgP+zq5g53l6GAeNQ3V/QdcdFaY4pwF0VVxqgiEkzNSeTiyRkAnBNfAQitreRVz5F51vXEmPR8bWxKn7hUlYUeglDRJ0TlaoXtfTEn93tN5OFKXJTm1/R1uQRb+Bysi9GKgcePL59ETpKZMy5/EzzWzQQwJi0WIUSfRKwpCz0EgRY/THqd9oNf8KjWbcgToxkue6IPZ6jwxBW66LkoGmrhc7AuRisGHqNTY1mxaErAIIixaXEcqQ683hZplIUeAtcP+8kPvqTM0o5RL3jiOtcP3mmFb1jZr92HFF3ERRmJjzZ4lSjubuFzIK0BKIYmY9PiWLe7jLZOe9g9ck8WJejdsHhWDmaTnm/8dQe/umEmi2Zkd+2cfoMS8AHE1+eN5twJ3s0n1MKnor8ZkxaLlFqdocnZfjULI4oS9G6QUvLip0fISzZz+dTM/p6OIgRTcxL9OkINpOQnxfBh27qXyNv5FOmymkQ5A3iYozXNvS7oyocegNrmDvaWWaht7mDrhn9TcLyBext/h+G56QOis7cifAZS8pNieLBt3UtM3fETMqlGJ+AMsQ+Bg88+/6TXz60sdB+KSi3c8vstNLa7Gi6ZSaaRJfpPwNIJbz+gbVaulkHBQEt+Ugx98nY+hdkjgzxaWMkVNTSUBoiKizBK0OkKayttaEMISDIbefammdS9+ziVrYK5un1d/0DWNm0hVAn6oEEtfCr6knRZ7dcWaIwoo1Qm9/q5h72g+3WAl9DaaUdK+Lp1DRgDtJwIlVSkUCiGNVUijUy8W2yOFWX8zzEJh0P2at/dYe9DDxTWttDxGXPfOg//TntOhlFqv0Kh6BknZj9Em/TumDVSVNFOFBWN7b167mEv6L7ha4t0G1llfNnvDuvGaFap/QqFIihnLPoGRaf/jArScEhBBWkw8QqAXk8wGvYuF9+wth8a1viVxHWTmKeShxQKRbecsegbsOgbAGQClze1s2LvBo5UNXPO+LReO++wt9AfWjgRg4dPK1sE65wn4MEiJeYKhaLHpMVFER9t4Eh1S6+eJyxBF0JcKoQ4IIQ4LIRYHmTM+UKIXUKIvUKITyM7zd5j8awcpuYkotcJBNqCRkCU31yhUJwE29a9ROXj4xnbsZ/9Wz9k27qXeu1c3bpchBB64LfAxUAJsE0IsU5Kuc9jTBLwAnCplPK4ECK9l+YLRL5tmKXNysWTMnjx/50OhS1arLnVw7eu/OYKheIkcCUZmUUnY0Q5mx1TOH3Ht3l15wair36mX1rQnQkcllIelVJ2Aq8CV/uMuQV4Q0p5HEBKWRXRWXoQ6bZhTe1WjtW0MMWVkjv9BrjqOc1f7lHXWLlaFApFT/FMMhqrK6OCFFqJ5ka5npY3vxPxdofhCHoO4JniVOLc5skEYIQQ4hMhxA4hxO2RmqAvoarnnQz7yhoBmLptOaxIgmemajseLIIVDcpvrlAoTpp02RUtN1aUAXBUZiEE3CI+xL7uexE9XziCHigK3jdA2wCcDlwBLAT+Twgxwe9AQiwVQmwXQmyvrg4SFtgNka6et3e75u6f0rYNkFrTircfUDVbFArFKeO5JjdWlGPERoUzY1QIuMbxQUS1JhxBLwHyPF7nAmUBxnwgpWyRUtYAnwEzfA8kpVwtpZwjpZyTlnZyoTuRbhtWtK+IdOpJF5aujdY2Kt54hPzl7zJv1UeqC7xCoTgpTsx+CFcr0bGijP1Rd3KJfod7v06glRKJEOEI+jZgvBAiXwhhAm4C1vmMeQs4RwhhEELEAGcB+yM2Sw8iXT1vb0c6U3TFftvTZU1EfPQKhWL4csaib3Bs9E1IQCckBuHwHxTBUiLdCrqU0gbcD6xHE+k1Usq9QohlQohlzjH7gQ+AQmAr8LKUsihis/QgnLZhVY3tzP7ph2zYXxnyWO1WO4dlNlNFsd++Mpni/vtUfPQKhWJ4M/brLyHm3B2skAit5sj1WQgrU1RK+R7wns+2F31ePwU8FbGZhaC76nmfHaqhrqWTp9Yf4IKJ6UGL4XxZ0YQdPVOM3tZ3qzTxpM17IVR1uFEoFCfNlU/zxo5SrnF8gKcctUoTT1pvZEWETjMkM0W3HK0FNMH+bwgrvahU85tPueQud5hiBWkst97DOsd8r7Gqw41CoTgVftB2O9+13keJIxWHFJQ4UlluvYc/N58ZsXMMyVouXxyp5aJJGRyqauI3Hx3m4skZCOFvpe8ts5BoNpL7tevh7CUAbCko5cM39oCjKzRSdbhRKBSnSnaSmXUN81nX6W0s5kTQWBxyFvqJulZKG9qYPy6Fb50/jj2lFj45qIVISikpOF7Pf/dV8p+9FWw9VsfUnAQvsQ/HR69QKBQ9pS/aIQ45C/0Lp7vla2NTGZMWy7MbDvHchkPojn3Os5sq2Wkd5TX+imlZfsdQHW4UCkWk6Yt2iENO0LccrSU51sT49Dh0OsE3zx/LT9YWccfxaHKI4aeGV5ipO4IwmNCf9xDj5o/v7ykrFIphQm8bi0NK0KWUbDlSy9wxye7IliVzctm7/g9Ms+7hev2nmITTN+4Adj4O5y3pvwkrFApFBBlSgn6iro0ySzvLxnTFkEcZ9PxcPocw+EeBSktJwLoGCoVCMRgZtIIeqIRuh02zvr82JgXe+R7s+BNIe9BjVJJK5EL6FQqFon8ZlILuKqHrqrroSs+fkp1AapyJce/fCsVdPTYEIKVWDMdFqzTxC+sSnu3juSsUCkVvMSgFPVgJ3YLjDVyaZ0UU+zdMEkITdYmgTKbwpO0GdiRc3FdTVigUil5nUAp6sDR8u5TMLf8b6APuBmBMx98BLf7zFypZSKFQDCEGpaBnJ5kp9RH100QxZ+gOcZVuU9D32YUO4Xx/pOM/FQqFor8ZlIL+0MKJXj50gD+YniZH1IR8n2HO1zl25RW9PT2FQqHoFwZl6r8rPd+k16afk2QmW9QGHS+BypS5cOXTfTRDhUKh6HsGpaCDJupx0QZuPnMkm5ZfiEjMDTjOJnV8p/M+zq96UDWpUCgUQ5pBK+h1LZ3UtXQyNi1W27DgUTB6Vy1rlSa+Z13GOsd81aRCoVAMeQalDx3gaHUzAGPT4rQN050NKTasxNFQ4g5N9KxrrppUKBSKocygFfQjvoIOmqhPv4FzVn3kFwUDqkmFQqEY2gxal8uRfTswYSXnuRx4ZioUrnHv64u6wwqFQjHQCEvQhRCXCiEOCCEOCyGWhxh3hhDCLoS4PnJTDEDhGo4c3McYUY5eOMByAt5+wC3qqkmFQqEYjnTrchFC6IHfAhcDJcA2IcQ6KeW+AOOeANb3xkS92LCSI44HmSKKu7ZZ22DDSrcvXTWpUCgUw41wLPQzgcNSyqNSyk7gVeDqAOO+DfwbqIrg/ALS0VDBcZnOWFHmvcNS0tunVigUigFLOIuiOcAJj9clwFmeA4QQOcA1wIXAGcEOJIRYCiwFGDlyZE/n6uaruBk4OnSM1fkIukcseqDyuspiVygUQ5lwLPRAPSB8u0X8GnhYyhDFxwEp5Wop5Rwp5Zy0tLQwp+jP0cn3AXhb6EazFotOV3nd0oY2JF3ldVVikUKhGMqEI+glQJ7H61zAxzRmDvCqEKIYuB54QQixOBITDMSRmBkA5CfqAQGJeXDVc27/ebDyuiqxSKFQDGXCcblsA8YLIfKBUuAm4BbPAVLKfNffQog/Ae9IKddGbpreHKlqJjsxmtjv7wy4P1gCkUosUigUQ5luLXQppQ24Hy16ZT+wRkq5VwixTAixrLcnGIgj1c2MTY8Luj8pxhhwu0osUigUQ5mwMkWllO8B7/lsezHI2DtPfVqBWVtQypMffEmZpZ1Yk561BaV+C51rC0ppbrf5vdeoFyqxSKFQDGkGTaaoa6GzzNIOwDfs/2TR2im0PnGaV5boU+sPYHX4rtlCrMmgolwUCsWQZtAIumuh82tiDwBzdAfRCUlMW7lXlmgwP7mlzdpnc1UoFIr+YNAIukuol+g/Z5Io9o5Bd2WJEtxPrvznCoViqDNoBN0lyIv1G3k/6hEyRIP3AGeWqCrMpVAohiuDRtBdQl0mUwMPSMx1Z4e2We3ohZYPpQpzKRSK4cKgEXRXBcWXTbfRKk3eO41mto39tjs7FMAupdsyV2KuUCiGA4NG0EET9RU/eZyY636rZYd6ZIl+d994lR2qUCiGNYOzY5GzM5EnZf94N+BQlR2qUCiGC4PKQg+Fim5RKBTDnSEj6Cq6RaFQDHcGp8slAK6FT1UDXaFQDFcGl6AXrtESiCwlWjOLBY96+dJV2zmFQjGcGTyCXrhGS/G3Ohc5XY2hwW+BVKFQKIYjg8eHvmFll5i78Ej5VygUiuHO4BH0YA2gVWNohUKhAAaToHs0gA5ru0KhUAwzBo+gL3hUawTtiUdjaIVCoRjuDB5Bn36D1gjaJ+VfLYgqFAqFRlhRLkKIS4FnAT3wspRylc/+W4GHnS+bgW9KKXdHcqJAwJR/hUKhUGh0a6ELIfTAb4HLgMnAzUKIyT7DjgHnSSmnAz8FVkd6ogqFQqEITTgulzOBw1LKo1LKTuBV4GrPAVLKzVLKeufLLYBaqVQoFIo+JhxBzwFOeLwucW4Lxt3A+4F2CCGWCiG2CyG2V1dXhz9LhUKhUHRLOIIuAmyTAQcKcQGaoD8caL+UcrWUco6Uck5aWlr4s1QoFApFt4SzKFoC5Hm8zgXKfAcJIaYDLwOXSSlrIzM9hUKhUISLkDKgsd01QAgDcBBYAJQC24BbpJR7PcaMBD4CbpdSbg7rxEJUA1+d5LxTgZqTfG9vM1DnpubVM9S8es5AndtQm9coKWVAF0e3FrqU0iaEuB9Yjxa2+IqUcq8QYplz/4vAo0AK8ILQmjPbpJRzujnuSftchBDbuzt+fzFQ56bm1TPUvHrOQJ3bcJpXWHHoUsr3gPd8tr3o8fc9wD2RnJhCoVAoesbgyRRVKBQKRUgGq6AP5MSlgTo3Na+eoebVcwbq3IbNvLpdFFUoFArF4GCwWugKhUKh8EEJukKhUAwRBoWgCyGWCCH2CiEcQoigYT5CiEuFEAeEEIeFEMv7aG7JQogPhRCHnP8fEWRcsRBijxBilxBiey/NJeTnFxrPOfcXCiFm98Y8TnJu5wshLM7rs0sI0euF7oUQrwghqoQQRUH29+f16m5u/XG98oQQHwsh9jt/j98JMKZfrlmYc+uPaxYthNgqhNjtnNfjAcZE7ppJKQf8f8AkYCLwCTAnyBg9cAQYA5iA3cDkPpjbk8By59/LgSeCjCsGUntxHt1+fuBytDo7ApgL/K+P/v3Cmdv5wDt9/L06F5gNFAXZ3y/XK8y59cf1ygJmO/+OR0s4HCjfsXDm1h/XTABxzr+NwP+Aub11zQaFhS6l3C+lPNDNsG6rQvYSVwN/dv79Z2BxH5wzEOF8/quBv0iNLUCSECJrgMytz5FSfgbUhRjSX9crnLn1OVLKcinlTuffTcB+/Av19cs1C3NufY7zOjQ7Xxqd//lGokTsmg0KQQ+TnlaFjBQZUspy0L5UQHqQcRL4jxBihxBiaS/MI5zP31/XKNzzfs35aPq+EGJKH8yrO/rreoVLv10vIcRoYBaaxelJv1+zEHODfrhmQgi9EGIXUAV8KKXstWsWVqZoXyCE+C+QGWDXj6WUb4VziADbIhKTGWpuPTjMPCllmRAiHfhQCPGl0wqLFOF8/l67Rt0Qznl3otWoaBZCXA6sBcb39sS6ob+uVzj02/USQsQB/wa+K6Vs9N0d4C19ds26mVu/XDMppR2YKYRIAt4UQkyVUnqujUTsmg0YQZdSXnSKhwirKuTJEGpuQohKIUSWlLLc+ZhUFeQYZc7/Vwkh3kRzQ0RS0MP5/L12jbqh2/N6/viklO8JIV4QQqRKKfuzqFJ/Xa9u6a/rJYQwognm36WUbwQY0m/XrLu59fd3TErZIIT4BLgU8BT0iF2zoeRy2QaMF0LkCyFMwE3Auj447zrgDuffdwB+TxNCiFghRLzrb+ASvP9BI0E4n38dcLtzVX0uYHG5i3qZbucmhMgUQqvsJoQ4E+272d9lmPvrenVLf1wv5/n+AOyXUj4dZFi/XLNw5tZP1yzNaZkjhDADFwFf+gyL3DXryxXfk/0PuAbtLtYBVALrnduzgfc8xl2Otrp9BM1V0xdzSwE2AIec/0/2nRtadMdu5397e2tugT4/sAxYJrtW3H/r3L+HIBFD/TS3+53XZjdaG8Oz+2BO/wTKAavz+3X3ALpe3c2tP67XfDRXQCGwy/nf5QPhmoU5t/64ZtOBAue8ioBHndt75Zqp1H+FQqEYIgwll4tCoVAMa5SgKxQKxRBBCbpCoVAMEZSgKxQKxRBBCbpCoVAMEZSgKxQKxRBBCbpCoVAMEf5/S4gyLa2OqUoAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_61_1.png"
},
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from sklearn.linear_model import LinearRegression, Ridge, Lasso\n",
"from sklearn.preprocessing import PolynomialFeatures\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.pipeline import make_pipeline\n",
"from sklearn.utils import resample\n",
"\n",
"np.random.seed(2018)\n",
"\n",
"n = 500\n",
"n_boostraps = 100\n",
"degree = 18 # A quite high value, just to show.\n",
"noise = 0.1\n",
"\n",
"# Make data set.\n",
"x = np.linspace(-1, 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",
"\n",
"# Hold out some test data that is never used in training.\n",
"x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2)\n",
"\n",
"# Combine x transformation and model into one operation.\n",
"# Not neccesary, but convenient.\n",
"model = make_pipeline(PolynomialFeatures(degree=degree), LinearRegression(fit_intercept=False))\n",
"\n",
"# The following (m x n_bootstraps) matrix holds the column vectors y_pred\n",
"# for each bootstrap iteration.\n",
"y_pred = np.empty((y_test.shape[0], n_boostraps))\n",
"for i in range(n_boostraps):\n",
" x_, y_ = resample(x_train, y_train)\n",
"\n",
" # Evaluate the new model on the same test data each time.\n",
" y_pred[:, i] = model.fit(x_, y_).predict(x_test).ravel()\n",
"\n",
"# Note: Expectations and variances taken w.r.t. different training\n",
"# data sets, hence the axis=1. Subsequent means are taken across the test data\n",
"# set in order to obtain a total value, but before this we have error/bias/variance\n",
"# calculated per data point in the test set.\n",
"# Note 2: The use of keepdims=True is important in the calculation of bias as this \n",
"# maintains the column vector form. Dropping this yields very unexpected results.\n",
"error = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) )\n",
"bias = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 )\n",
"variance = np.mean( np.var(y_pred, axis=1, keepdims=True) )\n",
"print('Error:', error)\n",
"print('Bias^2:', bias)\n",
"print('Var:', variance)\n",
"print('{} >= {} + {} = {}'.format(error, bias, variance, bias+variance))\n",
"\n",
"plt.plot(x[::5, :], y[::5, :], label='f(x)')\n",
"plt.scatter(x_test, y_test, label='Data points')\n",
"plt.scatter(x_test, np.mean(y_pred, axis=1), label='Pred')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Polynomial degree: 0\n",
"Error: 0.32149601703519115\n",
"Bias^2: 0.3123314713548606\n",
"Var: 0.009164545680330616\n",
"0.32149601703519115 >= 0.3123314713548606 + 0.009164545680330616 = 0.3214960170351912\n",
"Polynomial degree: 1\n",
"Error: 0.08426840630693412\n",
"Bias^2: 0.0796891867672603\n",
"Var: 0.004579219539673834\n",
"0.08426840630693412 >= 0.0796891867672603 + 0.004579219539673834 = 0.08426840630693413\n",
"Polynomial degree: 2\n",
"Error: 0.10398646080125037\n",
"Bias^2: 0.10077114273548984\n",
"Var: 0.0032153180657605125\n",
"0.10398646080125037 >= 0.10077114273548984 + 0.0032153180657605125 = 0.10398646080125036\n",
"Polynomial degree: 3\n",
"Error: 0.06547790180152352\n",
"Bias^2: 0.06208238634231944\n",
"Var: 0.003395515459204093\n",
"0.06547790180152352 >= 0.06208238634231944 + 0.003395515459204093 = 0.06547790180152353\n",
"Polynomial degree: 4\n",
"Error: 0.06844519414009442\n",
"Bias^2: 0.06453579006728322\n",
"Var: 0.003909404072811217\n",
"0.06844519414009442 >= 0.06453579006728322 + 0.003909404072811217 = 0.06844519414009444\n",
"Polynomial degree: 5\n",
"Error: 0.052279218012057004\n",
"Bias^2: 0.048187277304303056\n",
"Var: 0.004091940707753948\n",
"0.052279218012057004 >= 0.048187277304303056 + 0.004091940707753948 = 0.052279218012057004\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Polynomial degree: 6\n",
"Error: 0.037813671417388985\n",
"Bias^2: 0.033657685071527624\n",
"Var: 0.004155986345861364\n",
"0.037813671417388985 >= 0.033657685071527624 + 0.004155986345861364 = 0.03781367141738899\n",
"Polynomial degree: 7\n",
"Error: 0.027609773491022407\n",
"Bias^2: 0.0229994982603662\n",
"Var: 0.004610275230656187\n",
"0.027609773491022407 >= 0.0229994982603662 + 0.004610275230656187 = 0.027609773491022387\n",
"Polynomial degree: 8\n",
"Error: 0.017355848195593354\n",
"Bias^2: 0.010331721306655144\n",
"Var: 0.0070241268889382116\n",
"0.017355848195593354 >= 0.010331721306655144 + 0.0070241268889382116 = 0.017355848195593354\n",
"Polynomial degree:"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" 9\n",
"Error: 0.026605727637184613\n",
"Bias^2: 0.010018312644139205\n",
"Var: 0.016587414993045405\n",
"0.026605727637184613 >= 0.010018312644139205 + 0.016587414993045405 = 0.02660572763718461\n",
"Polynomial degree: 10\n",
"Error: 0.021592704588021167\n",
"Bias^2: 0.010516485576646513\n",
"Var: 0.01107621901137465\n",
"0.021592704588021167 >= 0.010516485576646513 + 0.01107621901137465 = 0.021592704588021164\n",
"Polynomial degree: 11\n",
"Error: 0.07160048164232467\n",
"Bias^2: 0.014436800088896274\n",
"Var: 0.057163681553428394\n",
"0.07160048164232467 >= 0.014436800088896274 + 0.057163681553428394 = 0.07160048164232467\n",
"Polynomial degree: 12\n",
"Error: 0.11547777218875695\n",
"Bias^2: 0.016285782696017055\n",
"Var: 0.0991919894927399\n",
"0.11547777218875695 >= 0.016285782696017055 + 0.0991919894927399 = 0.11547777218875696\n",
"Polynomial degree: 13\n",
"Error: 0.2284246870217459\n",
"Bias^2: 0.019754165271682844\n",
"Var: 0.20867052175006306\n",
"0.2284246870217459 >= 0.019754165271682844 + 0.20867052175006306 = 0.2284246870217459\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_62_3.png"
},
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from sklearn.linear_model import LinearRegression, Ridge, Lasso\n",
"from sklearn.preprocessing import PolynomialFeatures\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.pipeline import make_pipeline\n",
"from sklearn.utils import resample\n",
"\n",
"np.random.seed(2018)\n",
"\n",
"n = 40\n",
"n_boostraps = 100\n",
"maxdegree = 14\n",
"\n",
"\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",
"error = np.zeros(maxdegree)\n",
"bias = np.zeros(maxdegree)\n",
"variance = 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",
"\n",
"for degree in range(maxdegree):\n",
" model = make_pipeline(PolynomialFeatures(degree=degree), LinearRegression(fit_intercept=False))\n",
" y_pred = np.empty((y_test.shape[0], n_boostraps))\n",
" for i in range(n_boostraps):\n",
" x_, y_ = resample(x_train, y_train)\n",
" y_pred[:, i] = model.fit(x_, y_).predict(x_test).ravel()\n",
"\n",
" polydegree[degree] = degree\n",
" error[degree] = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) )\n",
" bias[degree] = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 )\n",
" variance[degree] = np.mean( np.var(y_pred, axis=1, keepdims=True) )\n",
" print('Polynomial degree:', degree)\n",
" print('Error:', error[degree])\n",
" print('Bias^2:', bias[degree])\n",
" print('Var:', variance[degree])\n",
" print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree]))\n",
"\n",
"plt.plot(polydegree, error, label='Error')\n",
"plt.plot(polydegree, bias, label='bias')\n",
"plt.plot(polydegree, variance, label='Variance')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The bias-variance tradeoff summarizes the fundamental tension in\n",
"machine learning, particularly supervised learning, between the\n",
"complexity of a model and the amount of training data needed to train\n",
"it. Since data is often limited, in practice it is often useful to\n",
"use a less-complex model with higher bias, that is a model whose asymptotic\n",
"performance is worse than another model because it is easier to\n",
"train and less sensitive to sampling noise arising from having a\n",
"finite-sized training dataset (smaller variance). \n",
"\n",
"\n",
"\n",
"The above equations tell us that in\n",
"order to minimize the expected test error, we need to select a\n",
"statistical learning method that simultaneously achieves low variance\n",
"and low bias. Note that variance is inherently a nonnegative quantity,\n",
"and squared bias is also nonnegative. Hence, we see that the expected\n",
"test MSE can never lie below $Var(\\epsilon)$, the irreducible error.\n",
"\n",
"\n",
"What do we mean by the variance and bias of a statistical learning\n",
"method? The variance refers to the amount by which our model would change if we\n",
"estimated it using a different training data set. Since the training\n",
"data are used to fit the statistical learning method, different\n",
"training data sets will result in a different estimate. But ideally the\n",
"estimate for our model should not vary too much between training\n",
"sets. However, if a method has high variance then small changes in\n",
"the training data can result in large changes in the model. In general, more\n",
"flexible statistical methods have higher variance.\n",
"\n",
"\n",
"You may also find this recent [article](https://www.pnas.org/content/116/32/15849) of interest."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"============================\n",
"Underfitting vs. Overfitting\n",
"============================\n",
"\n",
"This example demonstrates the problems of underfitting and overfitting and\n",
"how we can use linear regression with polynomial features to approximate\n",
"nonlinear functions. The plot shows the function that we want to approximate,\n",
"which is a part of the cosine function. In addition, the samples from the\n",
"real function and the approximations of different models are displayed. The\n",
"models have polynomial features of different degrees. We can see that a\n",
"linear function (polynomial with degree 1) is not sufficient to fit the\n",
"training samples. This is called **underfitting**. A polynomial of degree 4\n",
"approximates the true function almost perfectly. However, for higher degrees\n",
"the model will **overfit** the training data, i.e. it learns the noise of the\n",
"training data.\n",
"We evaluate quantitatively **overfitting** / **underfitting** by using\n",
"cross-validation. We calculate the mean squared error (MSE) on the validation\n",
"set, the higher, the less likely the model generalizes correctly from the\n",
"training data.\n",
"\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1008x360 with 3 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_64_1.png"
}
},
"output_type": "display_data"
}
],
"source": [
"\"\"\"\n",
"============================\n",
"Underfitting vs. Overfitting\n",
"============================\n",
"\n",
"This example demonstrates the problems of underfitting and overfitting and\n",
"how we can use linear regression with polynomial features to approximate\n",
"nonlinear functions. The plot shows the function that we want to approximate,\n",
"which is a part of the cosine function. In addition, the samples from the\n",
"real function and the approximations of different models are displayed. The\n",
"models have polynomial features of different degrees. We can see that a\n",
"linear function (polynomial with degree 1) is not sufficient to fit the\n",
"training samples. This is called **underfitting**. A polynomial of degree 4\n",
"approximates the true function almost perfectly. However, for higher degrees\n",
"the model will **overfit** the training data, i.e. it learns the noise of the\n",
"training data.\n",
"We evaluate quantitatively **overfitting** / **underfitting** by using\n",
"cross-validation. We calculate the mean squared error (MSE) on the validation\n",
"set, the higher, the less likely the model generalizes correctly from the\n",
"training data.\n",
"\"\"\"\n",
"\n",
"print(__doc__)\n",
"\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.pipeline import Pipeline\n",
"from sklearn.preprocessing import PolynomialFeatures\n",
"from sklearn.linear_model import LinearRegression\n",
"from sklearn.model_selection import cross_val_score\n",
"\n",
"\n",
"def true_fun(X):\n",
" return np.cos(1.5 * np.pi * X)\n",
"\n",
"np.random.seed(0)\n",
"\n",
"n_samples = 30\n",
"degrees = [1, 4, 15]\n",
"\n",
"X = np.sort(np.random.rand(n_samples))\n",
"y = true_fun(X) + np.random.randn(n_samples) * 0.1\n",
"\n",
"plt.figure(figsize=(14, 5))\n",
"for i in range(len(degrees)):\n",
" ax = plt.subplot(1, len(degrees), i + 1)\n",
" plt.setp(ax, xticks=(), yticks=())\n",
"\n",
" polynomial_features = PolynomialFeatures(degree=degrees[i],\n",
" include_bias=False)\n",
" linear_regression = LinearRegression()\n",
" pipeline = Pipeline([(\"polynomial_features\", polynomial_features),\n",
" (\"linear_regression\", linear_regression)])\n",
" pipeline.fit(X[:, np.newaxis], y)\n",
"\n",
" # Evaluate the models using crossvalidation\n",
" scores = cross_val_score(pipeline, X[:, np.newaxis], y,\n",
" scoring=\"neg_mean_squared_error\", cv=10)\n",
"\n",
" X_test = np.linspace(0, 1, 100)\n",
" plt.plot(X_test, pipeline.predict(X_test[:, np.newaxis]), label=\"Model\")\n",
" plt.plot(X_test, true_fun(X_test), label=\"True function\")\n",
" plt.scatter(X, y, edgecolor='b', s=20, label=\"Samples\")\n",
" plt.xlabel(\"x\")\n",
" plt.ylabel(\"y\")\n",
" plt.xlim((0, 1))\n",
" plt.ylim((-2, 2))\n",
" plt.legend(loc=\"best\")\n",
" plt.title(\"Degree {}\\nMSE = {:.2e}(+/- {:.2e})\".format(\n",
" degrees[i], -scores.mean(), scores.std()))\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Degree of polynomial: 1\n",
"Mean squared error on training data: 439230.69504801\n",
"Mean squared error on test data: 481979.17861098\n",
"Degree of polynomial: 2\n",
"Mean squared error on training data: 115822.95008046\n",
"Mean squared error on test data: 123711.53703498\n",
"Degree of polynomial: 3\n",
"Mean squared error on training data: 9011.85263220\n",
"Mean squared error on test data: 10913.84780262\n",
"Degree of polynomial: 4\n",
"Mean squared error on training data: 303.47610036\n",
"Mean squared error on test data: 426.30787294\n",
"Degree of polynomial: 5\n",
"Mean squared error on training data: 3.80354994\n",
"Mean squared error on test data: 5.98822371\n",
"Degree of polynomial: 6\n",
"Mean squared error on training data: 3.66204648\n",
"Mean squared error on test data: 8.14812206\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Degree of polynomial: 7\n",
"Mean squared error on training data: 0.47075725\n",
"Mean squared error on test data: 2.00607783\n",
"Degree of polynomial: 8\n",
"Mean squared error on training data: 0.04912436\n",
"Mean squared error on test data: 0.21596432\n",
"Degree of polynomial: 9\n",
"Mean squared error on training data: 0.02522069\n",
"Mean squared error on test data: 0.08576932\n",
"Degree of polynomial: 10\n",
"Mean squared error on training data: 0.02511518\n",
"Mean squared error on test data: 1.20015436\n",
"Degree of polynomial: 11\n",
"Mean squared error on training data: 0.01640891\n",
"Mean squared error on test data: 1.35533773\n",
"Degree of polynomial: 12\n",
"Mean squared error on training data: 0.00813803\n",
"Mean squared error on test data: 0.17446471\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Degree of polynomial: 13\n",
"Mean squared error on training data: 0.00759119\n",
"Mean squared error on test data: 1.08131003\n",
"Degree of polynomial: 14\n",
"Mean squared error on training data: 0.00472199\n",
"Mean squared error on test data: 0.81333804\n",
"Degree of polynomial: 15\n",
"Mean squared error on training data: 0.00410478\n",
"Mean squared error on test data: 92.09172408\n",
"Degree of polynomial: 16\n",
"Mean squared error on training data: 0.00315593\n",
"Mean squared error on test data: 234.38533184\n",
"Degree of polynomial: 17\n",
"Mean squared error on training data: 0.00242999\n",
"Mean squared error on test data: 1271.35771842\n",
"Degree of polynomial: 18\n",
"Mean squared error on training data: 0.00228741\n",
"Mean squared error on test data: 108.27092897\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Degree of polynomial: 19\n",
"Mean squared error on training data: 0.00156382\n",
"Mean squared error on test data: 1371.99049330\n",
"Degree of polynomial: 20\n",
"Mean squared error on training data: 0.00137823\n",
"Mean squared error on test data: 1887.85953586\n",
"Degree of polynomial: 21\n",
"Mean squared error on training data: 0.00118504\n",
"Mean squared error on test data: 14859.70127680\n",
"Degree of polynomial: 22\n",
"Mean squared error on training data: 0.00092645\n",
"Mean squared error on test data: 876.51214899\n",
"Degree of polynomial: 23\n",
"Mean squared error on training data: 0.00085883\n",
"Mean squared error on test data: 5594.60685864\n",
"Degree of polynomial: 24\n",
"Mean squared error on training data: 0.00084711\n",
"Mean squared error on test data: 1277.60619654\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Degree of polynomial: 25\n",
"Mean squared error on training data: 0.00079130\n",
"Mean squared error on test data: 128664.09744272\n",
"Degree of polynomial: 26\n",
"Mean squared error on training data: 0.00076919\n",
"Mean squared error on test data: 19003.95079764\n",
"Degree of polynomial: 27\n",
"Mean squared error on training data: 0.00068941\n",
"Mean squared error on test data: 2379.66226149\n",
"Degree of polynomial: 28\n",
"Mean squared error on training data: 0.00062582\n",
"Mean squared error on test data: 4082.19994371\n",
"Degree of polynomial: 29\n",
"Mean squared error on training data: 0.00060708\n",
"Mean squared error on test data: 3250.24770094\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"<ipython-input-7-40a38ad763f1>:73: RuntimeWarning: divide by zero encountered in log10\n",
" plt.plot(polynomial, np.log10(trainingerror), label='Training Error')\n",
"<ipython-input-7-40a38ad763f1>:74: RuntimeWarning: divide by zero encountered in log10\n",
" plt.plot(polynomial, np.log10(testerror), label='Test Error')\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_65_6.png"
},
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Common imports\n",
"import os\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.linear_model import LinearRegression, Ridge, Lasso\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.utils import resample\n",
"from sklearn.metrics import mean_squared_error\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",
"infile = open(data_path(\"EoS.csv\"),'r')\n",
"\n",
"# Read the EoS data as csv file and organize the data into two arrays with density and energies\n",
"EoS = pd.read_csv(infile, names=('Density', 'Energy'))\n",
"EoS['Energy'] = pd.to_numeric(EoS['Energy'], errors='coerce')\n",
"EoS = EoS.dropna()\n",
"Energies = EoS['Energy']\n",
"Density = EoS['Density']\n",
"# The design matrix now as function of various polytrops\n",
"\n",
"Maxpolydegree = 30\n",
"X = np.zeros((len(Density),Maxpolydegree))\n",
"X[:,0] = 1.0\n",
"testerror = np.zeros(Maxpolydegree)\n",
"trainingerror = np.zeros(Maxpolydegree)\n",
"polynomial = np.zeros(Maxpolydegree)\n",
"\n",
"trials = 100\n",
"for polydegree in range(1, Maxpolydegree):\n",
" polynomial[polydegree] = polydegree\n",
" for degree in range(polydegree):\n",
" X[:,degree] = Density**(degree/3.0)\n",
"\n",
"# loop over trials in order to estimate the expectation value of the MSE\n",
" testerror[polydegree] = 0.0\n",
" trainingerror[polydegree] = 0.0\n",
" for samples in range(trials):\n",
" x_train, x_test, y_train, y_test = train_test_split(X, Energies, test_size=0.2)\n",
" model = LinearRegression(fit_intercept=False).fit(x_train, y_train)\n",
" ypred = model.predict(x_train)\n",
" ytilde = model.predict(x_test)\n",
" testerror[polydegree] += mean_squared_error(y_test, ytilde)\n",
" trainingerror[polydegree] += mean_squared_error(y_train, ypred) \n",
"\n",
" testerror[polydegree] /= trials\n",
" trainingerror[polydegree] /= trials\n",
" print(\"Degree of polynomial: %3d\"% polynomial[polydegree])\n",
" print(\"Mean squared error on training data: %.8f\" % trainingerror[polydegree])\n",
" print(\"Mean squared error on test data: %.8f\" % testerror[polydegree])\n",
"\n",
"plt.plot(polynomial, np.log10(trainingerror), label='Training Error')\n",
"plt.plot(polynomial, np.log10(testerror), label='Test Error')\n",
"plt.xlabel('Polynomial degree')\n",
"plt.ylabel('log10[MSE]')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Cross-validation\n",
"\n",
"When the repetitive splitting of the data set is done randomly,\n",
"samples may accidently end up in a fast majority of the splits in\n",
"either training or test set. Such samples may have an unbalanced\n",
"influence on either model building or prediction evaluation. To avoid\n",
"this $k$-fold cross-validation structures the data splitting. The\n",
"samples are divided into $k$ more or less equally sized exhaustive and\n",
"mutually exclusive subsets. In turn (at each split) one of these\n",
"subsets plays the role of the test set while the union of the\n",
"remaining subsets constitutes the training set. Such a splitting\n",
"warrants a balanced representation of each sample in both training and\n",
"test set over the splits. Still the division into the $k$ subsets\n",
"involves a degree of randomness. This may be fully excluded when\n",
"choosing $k=n$. This particular case is referred to as leave-one-out\n",
"cross-validation (LOOCV). \n",
"\n",
"\n",
"* Define a range of interest for the penalty parameter.\n",
"\n",
"* Divide the data set into training and test set comprising samples $\\{1, \\ldots, n\\} \\setminus i$ and $\\{ i \\}$, respectively.\n",
"\n",
"* Fit the linear regression model by means of ridge estimation for each $\\lambda$ in the grid using the training set, and the corresponding estimate of the error variance $\\boldsymbol{\\sigma}_{-i}^2(\\lambda)$, as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*}\n",
"\\boldsymbol{\\beta}_{-i}(\\lambda) & = ( \\boldsymbol{X}_{-i, \\ast}^{T}\n",
"\\boldsymbol{X}_{-i, \\ast} + \\lambda \\boldsymbol{I}_{pp})^{-1}\n",
"\\boldsymbol{X}_{-i, \\ast}^{T} \\boldsymbol{y}_{-i}\n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* Evaluate the prediction performance of these models on the test set by $\\log\\{L[y_i, \\boldsymbol{X}_{i, \\ast}; \\boldsymbol{\\beta}_{-i}(\\lambda), \\boldsymbol{\\sigma}_{-i}^2(\\lambda)]\\}$. Or, by the prediction error $|y_i - \\boldsymbol{X}_{i, \\ast} \\boldsymbol{\\beta}_{-i}(\\lambda)|$, the relative error, the error squared or the R2 score function.\n",
"\n",
"* Repeat the first three steps such that each sample plays the role of the test set once.\n",
"\n",
"* Average the prediction performances of the test sets at each grid point of the penalty bias/parameter. It is an estimate of the prediction performance of the model corresponding to this value of the penalty parameter on novel data. It is defined as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*}\n",
"\\frac{1}{n} \\sum_{i = 1}^n \\log\\{L[y_i, \\mathbf{X}_{i, \\ast}; \\boldsymbol{\\beta}_{-i}(\\lambda), \\boldsymbol{\\sigma}_{-i}^2(\\lambda)]\\}.\n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For the various values of $k$\n",
"\n",
"1. shuffle the dataset randomly.\n",
"\n",
"2. Split the dataset into $k$ groups.\n",
"\n",
"3. For each unique group:\n",
"\n",
"a. Decide which group to use as set for test data\n",
"\n",
"b. Take the remaining groups as a training data set\n",
"\n",
"c. Fit a model on the training set and evaluate it on the test set\n",
"\n",
"d. Retain the evaluation score and discard the model\n",
"\n",
"\n",
"5. Summarize the model using the sample of model evaluation scores\n",
"\n",
"The code here uses Ridge regression with cross-validation (CV) resampling and $k$-fold CV in order to fit a specific polynomial."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAEGCAYAAABvtY4XAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAA3pklEQVR4nO3dd3hU1dbH8e9KIwkJhBRqQAIEIUBCBwEpgiCIiuIFRBTQKyoq9mu7dq9iuRa8iqIiiihFURFQQDpKCy303kNJKIE0Uma/fyTwIiSQxJw5M5P1eZ48kJkze/+GkJWdffbZR4wxKKWU8jxedgdQSillDS3wSinlobTAK6WUh9ICr5RSHkoLvFJKeSgfuwOcLzw83NSuXdvuGEop5TZWrVqVbIyJKOg5lyrwtWvXJj4+3u4YSinlNkRkb2HP6RSNUkp5KC3wSinlobTAK6WUh3KpOfiCZGdnc+DAATIzM+2OokrA39+fyMhIfH197Y6iVJnj8gX+wIEDBAcHU7t2bUTE7jiqGIwxHDt2jAMHDhAVFWV3HKXKHJefosnMzCQsLEyLuxsSEcLCwvS3L6Vs4vIFHtDi7sb0a6eUfVx+ikYp5VoOr9/G3i+/w5w6Rblb+tC0Zwf9Qe6itMArpYrEOBwsH/YkzcZ9SNXcbACGpASTecCH//ZrSo2QAJsTqgu5xRSNurw9e/bQuHFju2MoD2UcDpb3GUzbL95lY4uOHFyZQPrxk3R7eBAbD55i/F3/JnH1RrtjqgvoCP5vysnJwcen7P0zltX3XVZNWLaXPal+OG4eylXff4545Y0NB3WoSIsQb6q+04+TS38kY/M6AkKCbU6rznKr79CXf9nIpsRTpdpmTPUKvHhDo0se8/XXX/POO+8gIsTGxuLt7U1oaChr1qyhefPm3HHHHdx3332kp6dTt25dxo4dS6VKlRg1ahSffPIJPj4+xMTEMHHiRBYuXMjDDz8M5J2AXLRoEcHBF39D9O/fn8GDB9OrVy8AhgwZwg033ECLFi244447SEtLA+B///sf7dq1u+z73LhxI0OHDiUrKwuHw8EPP/xAdHT0Re9t/Pjx7N27l7vuuoukpCQiIiL48ssvqVWrFkOGDPnL+x4+fDgPPPAASUlJBAYG8tlnn9GgQYPifgmUi9uZlMprv26h1e3DeHZoa8Trr/PtDRtHsf7Dz2hyd3+W97+bNrMm25RUXcjSAi8iDwP3AAJ8Zox538r+rLBx40b+85//8McffxAeHs7x48d57LHH2LZtG7///jve3t7Exsby4Ycf0qlTJ1544QVefvll3n//fUaOHMnu3bspV64cJ0+eBOCdd97ho48+on379qSmpuLv719gvwMGDGDSpEn06tWLrKws5s6dy+jRozHGMGfOHPz9/dm+fTu33XZbkTZo++STT3j44Ye5/fbbycrKIjc3t8D3BvDggw9y5513MnjwYMaOHcuIESP46aefAP7yvrt27conn3xCdHQ0y5cvZ/jw4cybN69U/t2V69h/6yB6R8Tw5JMv4OVV8MnUJnf1Y9n0X2n74zi2/DSbBn26OzmlKpAxxpIPoDGwAQgk7wfJ70D0pV7TokULc6FNmzZd9JgzjRo1yjz77LN/eWzw4MFm3LhxxhhjTp48aWrWrHnuuR07dphmzZoZY4zp0aOH6du3rxk/frw5ffq0McaYN954w7Ru3dp88MEHZv/+/YX2m5GRYSIjI01mZqb56aefzMCBA8/1N2jQINO4cWMTFxdnAgICjDHG7N692zRq1KjQ9iZMmGBiYmLMyJEjzbZt2wp9b8YYExYWZrKysowxxmRlZZmwsLCL3vfp06eNv7+/iYuLO/fRoEGDAvu2+2uoSm79Vz8YA2bp/U9f9tjTScfN0eBQs61WA5ObneOEdMoYY4B4U0hNtfIka0NgmTEm3RiTAywEbrawP0sYYwpcAla+fPnLvnbGjBk88MADrFq1ihYtWpCTk8PTTz/N559/TkZGBm3btmXLli0Fvtbf35/OnTsza9YsJk2axIABAwB47733qFKlCuvWrSM+Pp6srKwivY+BAwcybdo0AgIC6NGjB/PmzSv0vV3o/GPOvm+Hw0FISAhr164997F58+YiZVHuw+fllzgcUpmmb/77sscGhVdi66vvMrLVP5iz5agT0qnLsbLAbwA6ikiYiAQCvYCaFx4kIsNEJF5E4pOSkiyMUzJdu3Zl8uTJHDt2DODcNMZZFStWpFKlSixevBiA8ePH06lTJxwOB/v376dLly689dZbnDx5ktTUVHbu3EmTJk146qmnaNmyZaEFHvKmab788ksWL15Mjx49AEhJSaFatWp4eXkxfvx4cnNzi/Q+du3aRZ06dRgxYgQ33ngjCQkJhb63du3aMXHiRAAmTJhA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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_71_0.png"
},
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.model_selection import KFold\n",
"from sklearn.linear_model import Ridge\n",
"from sklearn.model_selection import cross_val_score\n",
"from sklearn.preprocessing import PolynomialFeatures\n",
"\n",
"# A seed just to ensure that the random numbers are the same for every run.\n",
"# Useful for eventual debugging.\n",
"np.random.seed(3155)\n",
"\n",
"# Generate the data.\n",
"nsamples = 100\n",
"x = np.random.randn(nsamples)\n",
"y = 3*x**2 + np.random.randn(nsamples)\n",
"\n",
"## Cross-validation on Ridge regression using KFold only\n",
"\n",
"# Decide degree on polynomial to fit\n",
"poly = PolynomialFeatures(degree = 6)\n",
"\n",
"# Decide which values of lambda to use\n",
"nlambdas = 500\n",
"lambdas = np.logspace(-3, 5, nlambdas)\n",
"\n",
"# Initialize a KFold instance\n",
"k = 5\n",
"kfold = KFold(n_splits = k)\n",
"\n",
"# Perform the cross-validation to estimate MSE\n",
"scores_KFold = np.zeros((nlambdas, k))\n",
"\n",
"i = 0\n",
"for lmb in lambdas:\n",
" ridge = Ridge(alpha = lmb)\n",
" j = 0\n",
" for train_inds, test_inds in kfold.split(x):\n",
" xtrain = x[train_inds]\n",
" ytrain = y[train_inds]\n",
"\n",
" xtest = x[test_inds]\n",
" ytest = y[test_inds]\n",
"\n",
" Xtrain = poly.fit_transform(xtrain[:, np.newaxis])\n",
" ridge.fit(Xtrain, ytrain[:, np.newaxis])\n",
"\n",
" Xtest = poly.fit_transform(xtest[:, np.newaxis])\n",
" ypred = ridge.predict(Xtest)\n",
"\n",
" scores_KFold[i,j] = np.sum((ypred - ytest[:, np.newaxis])**2)/np.size(ypred)\n",
"\n",
" j += 1\n",
" i += 1\n",
"\n",
"\n",
"estimated_mse_KFold = np.mean(scores_KFold, axis = 1)\n",
"\n",
"## Cross-validation using cross_val_score from sklearn along with KFold\n",
"\n",
"# kfold is an instance initialized above as:\n",
"# kfold = KFold(n_splits = k)\n",
"\n",
"estimated_mse_sklearn = np.zeros(nlambdas)\n",
"i = 0\n",
"for lmb in lambdas:\n",
" ridge = Ridge(alpha = lmb)\n",
"\n",
" X = poly.fit_transform(x[:, np.newaxis])\n",
" estimated_mse_folds = cross_val_score(ridge, X, y[:, np.newaxis], scoring='neg_mean_squared_error', cv=kfold)\n",
"\n",
" # cross_val_score return an array containing the estimated negative mse for every fold.\n",
" # we have to the the mean of every array in order to get an estimate of the mse of the model\n",
" estimated_mse_sklearn[i] = np.mean(-estimated_mse_folds)\n",
"\n",
" i += 1\n",
"\n",
"## Plot and compare the slightly different ways to perform cross-validation\n",
"\n",
"plt.figure()\n",
"\n",
"plt.plot(np.log10(lambdas), estimated_mse_sklearn, label = 'cross_val_score')\n",
"plt.plot(np.log10(lambdas), estimated_mse_KFold, 'r--', label = 'KFold')\n",
"\n",
"plt.xlabel('log10(lambda)')\n",
"plt.ylabel('mse')\n",
"\n",
"plt.legend()\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"More examples of the application of cross-validation follow here."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"<ipython-input-9-6e75736fdab1>:63: RuntimeWarning: divide by zero encountered in log10\n",
" plt.plot(polynomial, np.log10(estimated_mse_sklearn), label='Test Error')\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_73_1.png"
},
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Common imports\n",
"import os\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.linear_model import LinearRegression, Ridge, Lasso\n",
"from sklearn.metrics import mean_squared_error\n",
"from sklearn.model_selection import KFold\n",
"from sklearn.model_selection import cross_val_score\n",
"\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",
"infile = open(data_path(\"EoS.csv\"),'r')\n",
"\n",
"# Read the EoS data as csv file and organize the data into two arrays with density and energies\n",
"EoS = pd.read_csv(infile, names=('Density', 'Energy'))\n",
"EoS['Energy'] = pd.to_numeric(EoS['Energy'], errors='coerce')\n",
"EoS = EoS.dropna()\n",
"Energies = EoS['Energy']\n",
"Density = EoS['Density']\n",
"# The design matrix now as function of various polytrops\n",
"\n",
"Maxpolydegree = 30\n",
"X = np.zeros((len(Density),Maxpolydegree))\n",
"X[:,0] = 1.0\n",
"estimated_mse_sklearn = np.zeros(Maxpolydegree)\n",
"polynomial = np.zeros(Maxpolydegree)\n",
"k =5\n",
"kfold = KFold(n_splits = k)\n",
"\n",
"for polydegree in range(1, Maxpolydegree):\n",
" polynomial[polydegree] = polydegree\n",
" for degree in range(polydegree):\n",
" X[:,degree] = Density**(degree/3.0)\n",
" OLS = LinearRegression(fit_intercept=False)\n",
"# loop over trials in order to estimate the expectation value of the MSE\n",
" estimated_mse_folds = cross_val_score(OLS, X, Energies, scoring='neg_mean_squared_error', cv=kfold)\n",
"#[:, np.newaxis]\n",
" estimated_mse_sklearn[polydegree] = np.mean(-estimated_mse_folds)\n",
"\n",
"plt.plot(polynomial, np.log10(estimated_mse_sklearn), label='Test Error')\n",
"plt.xlabel('Polynomial degree')\n",
"plt.ylabel('log10[MSE]')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that we have kept the intercept in the first column of design matrix $\\boldsymbol{X}$. When we call the corresponding **Scikit-Learn** function we need thus to set the intercept to **False**. Libraries like **Scikit-Learn** normally scale the design matrix and does not fit intercept. See the discussions below.\n",
"\n",
"## More on Rescaling data\n",
"\n",
"We end this chapter by adding some words on scaling and how to deal with the intercept for regression cases.\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, 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.\n",
"\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",
"[Standardscaler](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.\n",
"\n",
"\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"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"'\\n#Model training, we compute the mean value of y and X\\ny_train_mean = np.mean(y_train)\\nX_train_mean = np.mean(X_train,axis=0)\\nX_train = X_train - X_train_mean\\ny_train = y_train - y_train_mean\\n\\n# The we fit our model with the training data\\ntrained_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.\\nX_test = X_test - X_train_mean #Use mean from training data\\ny_pred = trained_model(X_test)\\ny_pred = y_pred + y_train_mean\\n'"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"\"\"\n",
"#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\n",
"\"\"\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"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",
"metadata": {},
"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",
"metadata": {},
"source": [
"Recall also that we use the squared value. This expression can lead to an\n",
"increased penalty for higher differences between predicted and\n",
"output/target values.\n",
"\n",
"What we have done is to single out the $\\beta_0$ term in the\n",
"definition of the mean squared error (MSE). The design matrix $X$\n",
"does in this case not contain any intercept column. When we take the\n",
"derivative with respect to $\\beta_0$, we want the derivative to obey"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial C}{\\partial \\beta_j} = 0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"for all $j$. For $\\beta_0$ we have"
]
},
{
"cell_type": "markdown",
"metadata": {},
"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",
"metadata": {},
"source": [
"Multiplying away the constant $2/n$, we obtain"
]
},
{
"cell_type": "markdown",
"metadata": {},
"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",
"metadata": {},
"source": [
"Let us specialize 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",
"metadata": {},
"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",
"metadata": {},
"source": [
"We obtain then"
]
},
{
"cell_type": "markdown",
"metadata": {},
"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",
"metadata": {},
"source": [
"If we define"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mu_{\\boldsymbol{x}_1}=\\frac{1}{n}\\sum_{i=0}^{n-1} X_{i1},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and the mean value of the outputs as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mu_y=\\frac{1}{n}\\sum_{i=0}^{n-1}y_i,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we have"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\beta_0 = \\mu_y - \\beta_1\\mu_{\\boldsymbol{x}_1}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the general case with more parameters than $\\beta_0$ and $\\beta_1$, we have"
]
},
{
"cell_type": "markdown",
"metadata": {},
"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",
"metadata": {},
"source": [
"We can rewrite the latter equation as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\beta_0 = \\frac{1}{n}\\sum_{i=0}^{n-1}y_i - \\sum_{j=1}^{p-1} \\mu_{\\boldsymbol{x}_j}\\beta_j,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where we have defined"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mu_{\\boldsymbol{x}_j}=\\frac{1}{n}\\sum_{i=0}^{n-1} X_{ij},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"the mean value for all elements of the column vector $\\boldsymbol{x}_j$.\n",
"\n",
"\n",
"\n",
"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",
"metadata": {},
"source": [
"$$\n",
"C(\\boldsymbol{\\beta}) = (\\boldsymbol{\\tilde{y}} - \\tilde{X}\\boldsymbol{\\beta})^T(\\boldsymbol{\\tilde{y}} - \\tilde{X}\\boldsymbol{\\beta}).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If we minimize with respect to $\\boldsymbol{\\beta}$ we have then"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\hat{\\boldsymbol{\\beta}} = (\\tilde{X}^T\\tilde{X})^{-1}\\tilde{X}^T\\boldsymbol{\\tilde{y}},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"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",
"metadata": {},
"source": [
"$$\n",
"\\hat{\\boldsymbol{\\beta}} = (\\tilde{X}^T\\tilde{X} + \\lambda I)^{-1}\\tilde{X}^T\\boldsymbol{\\tilde{y}}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What does this mean? And why do we insist on all this? Let us look at some examples.\n",
"\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": 11,
"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.00411363461744314\n",
"MSE with intercept column from SKL\n",
"0.004113634617443116\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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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_107_1.png"
},
"needs_background": "light"
},
"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",
"metadata": {},
"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,\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 differeing MSE values. \n",
"\n",
"To remind the reader, the regularization term, with the intercept in Ridge regression, is given by"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\lambda \\vert\\vert \\boldsymbol{\\beta} \\vert\\vert_2^2 = \\lambda \\sum_{j=0}^{p-1}\\beta_j^2,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"but when we take out the intercept, this equation becomes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\lambda \\vert\\vert \\boldsymbol{\\beta} \\vert\\vert_2^2 = \\lambda \\sum_{j=1}^{p-1}\\beta_j^2.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For Lasso regression we have"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\lambda \\vert\\vert \\boldsymbol{\\beta} \\vert\\vert_1 = \\lambda \\sum_{j=1}^{p-1}\\vert\\beta_j\\vert.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"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 a MSE which then contains the\n",
"intercept.\n",
"\n",
"\n",
"Armed with this wisdom, we attempt first to simply set the intercept equal to **False** in our implementation of Ridge regression for our well-known vanilla data set."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Beta values for own Ridge implementation\n",
"[ 1.03032441e+00 6.28336218e-02 -6.24175744e-01 5.21169159e-02\n",
" 2.80847477e-01 2.12552073e-01 8.13220608e-02 -1.69634577e-02\n",
" -6.50846111e-02 -7.38962192e-02 -5.94226022e-02 -3.50227564e-02\n",
" -9.80609616e-03 1.08299273e-02 2.41882036e-02 2.93492130e-02\n",
" 2.64742912e-02 1.63249532e-02 -5.01831036e-05 -2.15098090e-02]\n",
"Beta values for Scikit-Learn Ridge implementation\n",
"[ 1.03032441e+00 6.28336218e-02 -6.24175744e-01 5.21169159e-02\n",
" 2.80847477e-01 2.12552073e-01 8.13220608e-02 -1.69634577e-02\n",
" -6.50846112e-02 -7.38962192e-02 -5.94226022e-02 -3.50227564e-02\n",
" -9.80609615e-03 1.08299273e-02 2.41882037e-02 2.93492130e-02\n",
" 2.64742912e-02 1.63249532e-02 -5.01831207e-05 -2.15098090e-02]\n",
"MSE values for own Ridge implementation\n",
"4.363295924430451e-07\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"4.363295916323784e-07\n",
"Beta values for own Ridge implementation\n",
"[ 1.03630548 -0.01963611 -0.37900111 -0.07062318 0.12182967 0.16343471\n",
" 0.13003291 0.07490892 0.02365049 -0.01449782 -0.03814292 -0.04909093\n",
" -0.05009826 -0.04389027 -0.03279636 -0.01866537 -0.00289724 0.01348565\n",
" 0.02976145 0.04543942]\n",
"Beta values for Scikit-Learn Ridge implementation\n",
"[ 1.03630548 -0.01963611 -0.37900111 -0.07062318 0.12182967 0.16343471\n",
" 0.13003291 0.07490892 0.02365049 -0.01449782 -0.03814292 -0.04909093\n",
" -0.05009826 -0.04389027 -0.03279636 -0.01866537 -0.00289724 0.01348565\n",
" 0.02976145 0.04543942]\n",
"MSE values for own Ridge implementation\n",
"5.19404282648955e-06\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"5.1940428268204826e-06\n",
"Beta values for own Ridge implementation\n",
"[ 1.04220758 -0.10931453 -0.17641709 -0.06020587 0.02208512 0.05789007\n",
" 0.06491736 0.05785343 0.04537385 0.03196357 0.01969145 0.00934499\n",
" 0.00107405 -0.00526348 -0.00992331 -0.01318643 -0.01531845 -0.01655318\n",
" -0.01708852 -0.01708781]\n",
"Beta values for Scikit-Learn Ridge implementation\n",
"[ 1.04220758 -0.10931453 -0.17641709 -0.06020587 0.02208512 0.05789007\n",
" 0.06491736 0.05785343 0.04537385 0.03196357 0.01969145 0.00934499\n",
" 0.00107405 -0.00526348 -0.00992331 -0.01318643 -0.01531845 -0.01655318\n",
" -0.01708852 -0.01708781]\n",
"MSE values for own Ridge implementation\n",
"2.094082198966615e-05\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"2.094082198961999e-05\n",
"Beta values for own Ridge implementation\n",
"[ 1.01219292 -0.06043581 -0.10391807 -0.05651951 -0.01898855 0.00312361\n",
" 0.01463049 0.01975848 0.02123176 0.02068067 0.01905883 0.01691985\n",
" 0.01458337 0.01223198 0.00996754 0.00784393 0.00588657 0.00410387\n",
" 0.00249435 0.00105081]\n",
"Beta values for Scikit-Learn Ridge implementation\n",
"[ 1.01219292 -0.06043581 -0.10391807 -0.05651951 -0.01898855 0.00312361\n",
" 0.01463049 0.01975848 0.02123176 0.02068067 0.01905883 0.01691985\n",
" 0.01458337 0.01223198 0.00996754 0.00784393 0.00588657 0.00410387\n",
" 0.00249435 0.00105081]\n",
"MSE values for own Ridge implementation\n",
"0.0003153514830958235\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"0.00031535148309580783\n",
"Beta values for own Ridge implementation\n",
"[ 8.38916861e-01 1.31276579e-01 8.97497404e-03 -1.72271878e-02\n",
" -2.11744554e-02 -1.91492986e-02 -1.57201944e-02 -1.23002365e-02\n",
" -9.30466214e-03 -6.81048318e-03 -4.78184120e-03 -3.15130074e-03\n",
" -1.84923989e-03 -8.13661243e-04 7.46984697e-06 6.56636616e-04\n",
" 1.16805821e-03 1.56912044e-03 1.88168312e-03 2.12318726e-03]\n",
"Beta values for Scikit-Learn Ridge implementation\n",
"[ 8.38916861e-01 1.31276579e-01 8.97497404e-03 -1.72271878e-02\n",
" -2.11744554e-02 -1.91492986e-02 -1.57201944e-02 -1.23002365e-02\n",
" -9.30466214e-03 -6.81048318e-03 -4.78184120e-03 -3.15130074e-03\n",
" -1.84923989e-03 -8.13661243e-04 7.46984697e-06 6.56636616e-04\n",
" 1.16805821e-03 1.56912044e-03 1.88168312e-03 2.12318726e-03]\n",
"MSE values for own Ridge implementation\n",
"0.015072388895177239\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"0.0150723888951771\n",
"Beta values for own Ridge implementation\n",
"[0.37396662 0.14174745 0.0764924 0.04892055 0.03447512 0.02586427\n",
" 0.02024962 0.01633913 0.01347916 0.0113104 0.0096208 0.00827728\n",
" 0.00719176 0.00630331 0.00556826 0.0049544 0.00443743 0.0039987\n",
" 0.0036237 0.003301 ]\n",
"Beta values for Scikit-Learn Ridge implementation\n",
"[0.37396662 0.14174745 0.0764924 0.04892055 0.03447512 0.02586427\n",
" 0.02024962 0.01633913 0.01347916 0.0113104 0.0096208 0.00827728\n",
" 0.00719176 0.00630331 0.00556826 0.0049544 0.00443743 0.0039987\n",
" 0.0036237 0.003301 ]\n",
"MSE values for own Ridge implementation\n",
"0.26409315307910053\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"0.26409315307910025\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_115_1.png"
},
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"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",
"from sklearn import linear_model\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",
"# A seed just to ensure that the random numbers are the same for every run.\n",
"# Useful for eventual debugging.\n",
"np.random.seed(3155)\n",
"\n",
"n = 100\n",
"x = np.random.rand(n)\n",
"y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)\n",
"\n",
"Maxpolydegree = 20\n",
"X = np.zeros((n,Maxpolydegree))\n",
"#We include explicitely the intercept column\n",
"for degree in range(Maxpolydegree):\n",
" X[:,degree] = x**degree\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",
"\n",
"p = Maxpolydegree\n",
"I = np.eye(p,p)\n",
"# Decide which values of lambda to use\n",
"nlambdas = 6\n",
"MSEOwnRidgePredict = np.zeros(nlambdas)\n",
"MSERidgePredict = np.zeros(nlambdas)\n",
"lambdas = np.logspace(-4, 2, nlambdas)\n",
"for i in range(nlambdas):\n",
" lmb = lambdas[i]\n",
" OwnRidgeBeta = np.linalg.pinv(X_train.T @ X_train+lmb*I) @ X_train.T @ y_train\n",
" # Note: we include the intercept column and no scaling\n",
" RegRidge = linear_model.Ridge(lmb,fit_intercept=False)\n",
" RegRidge.fit(X_train,y_train)\n",
" # and then make the prediction\n",
" ytildeOwnRidge = X_train @ OwnRidgeBeta\n",
" ypredictOwnRidge = X_test @ OwnRidgeBeta\n",
" ytildeRidge = RegRidge.predict(X_train)\n",
" ypredictRidge = RegRidge.predict(X_test)\n",
" MSEOwnRidgePredict[i] = MSE(y_test,ypredictOwnRidge)\n",
" MSERidgePredict[i] = MSE(y_test,ypredictRidge)\n",
" print(\"Beta values for own Ridge implementation\")\n",
" print(OwnRidgeBeta)\n",
" print(\"Beta values for Scikit-Learn Ridge implementation\")\n",
" print(RegRidge.coef_)\n",
" print(\"MSE values for own Ridge implementation\")\n",
" print(MSEOwnRidgePredict[i])\n",
" print(\"MSE values for Scikit-Learn Ridge implementation\")\n",
" print(MSERidgePredict[i])\n",
"\n",
"# Now plot the results\n",
"plt.figure()\n",
"plt.plot(np.log10(lambdas), MSEOwnRidgePredict, 'r', label = 'MSE own Ridge Test')\n",
"plt.plot(np.log10(lambdas), MSERidgePredict, 'g', label = 'MSE Ridge Test')\n",
"\n",
"plt.xlabel('log10(lambda)')\n",
"plt.ylabel('MSE')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The results here agree when we force **Scikit-Learn**'s Ridge function to include the first column in our design matrix.\n",
"We see that the results agree very well. Here we have thus explicitely included the intercept column in the design matrix.\n",
"What happens if we do not include the intercept in our fit?\n",
"Let us see how we can change this code by zero centering."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Beta values for own Ridge implementation\n",
"[ 3.43579948e-02 -5.43330971e-01 -3.10141413e-03 2.47116868e-01\n",
" 2.18613217e-01 1.02054837e-01 -4.25617658e-04 -5.90475506e-02\n",
" -7.68534263e-02 -6.68929213e-02 -4.24906604e-02 -1.40927184e-02\n",
" 1.11482289e-02 2.88529063e-02 3.67047975e-02 3.38135733e-02\n",
" 2.02198702e-02 -3.46383925e-03 -3.63025821e-02]\n",
"Beta values for Scikit-Learn Ridge implementation\n",
"[ 3.43579948e-02 -5.43330971e-01 -3.10141413e-03 2.47116868e-01\n",
" 2.18613217e-01 1.02054837e-01 -4.25617654e-04 -5.90475506e-02\n",
" -7.68534263e-02 -6.68929213e-02 -4.24906604e-02 -1.40927184e-02\n",
" 1.11482289e-02 2.88529063e-02 3.67047975e-02 3.38135733e-02\n",
" 2.02198702e-02 -3.46383925e-03 -3.63025821e-02]\n",
"Intercept from own implementation:\n",
"1.0330308045190182\n",
"Intercept from Scikit-Learn Ridge implementation\n",
"1.0330308045183219\n",
"MSE values for own Ridge implementation\n",
"3.13925595925919e-06\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"3.1392559585048734e-06\n",
"Beta values for own Ridge implementation\n",
"[-0.05807125 -0.29822833 -0.08551306 0.08156108 0.13679863 0.12333649\n",
" 0.08251519 0.03815288 0.00111756 -0.02498832 -0.04010697 -0.04566964\n",
" -0.04355837 -0.03562355 -0.02348765 -0.00848904 0.00831018 0.0260906\n",
" 0.04423486]\n",
"Beta values for Scikit-Learn Ridge implementation\n",
"[-0.05807125 -0.29822833 -0.08551306 0.08156108 0.13679863 0.12333649\n",
" 0.08251519 0.03815288 0.00111756 -0.02498832 -0.04010697 -0.04566964\n",
" -0.04355837 -0.03562355 -0.02348765 -0.00848904 0.00831018 0.0260906\n",
" 0.04423486]\n",
"Intercept from own implementation:\n",
"1.041148729430502\n",
"Intercept from Scikit-Learn Ridge implementation\n",
"1.041148729430523\n",
"MSE values for own Ridge implementation\n",
"1.9601304850018328e-05\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"1.960130485007504e-05\n",
"Beta values for own Ridge implementation\n",
"[-0.1416398 -0.14021063 -0.05383795 0.01367553 0.04784395 0.05796251\n",
" 0.05447415 0.044613 0.03267527 0.02098261 0.01066519 0.00217499\n",
" -0.00440346 -0.00917248 -0.01231917 -0.01405935 -0.0146081 -0.01416528\n",
" -0.01290947]\n",
"Beta values for Scikit-Learn Ridge implementation\n",
"[-0.1416398 -0.14021063 -0.05383795 0.01367553 0.04784395 0.05796251\n",
" 0.05447415 0.044613 0.03267527 0.02098261 0.01066519 0.00217499\n",
" -0.00440346 -0.00917248 -0.01231917 -0.01405935 -0.0146081 -0.01416528\n",
" -0.01290947]\n",
"Intercept from own implementation:\n",
"1.0495569966278238\n",
"Intercept from Scikit-Learn Ridge implementation\n",
"1.0495569966278269\n",
"MSE values for own Ridge implementation\n",
"5.4959161509356135e-05\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"5.495916150936645e-05\n",
"Beta values for own Ridge implementation\n",
"[-0.13535942 -0.08593216 -0.03568439 -0.0036367 0.01397146 0.02229529\n",
" 0.02503753 0.0245528 0.02228115 0.01908936 0.01549377 0.01179792\n",
" 0.00817631 0.00472512 0.00149311 -0.00149956 -0.00424967 -0.00676387\n",
" -0.00905423]\n",
"Beta values for Scikit-Learn Ridge implementation\n",
"[-0.13535942 -0.08593216 -0.03568439 -0.0036367 0.01397146 0.02229529\n",
" 0.02503753 0.0245528 0.02228115 0.01908936 0.01549377 0.01179792\n",
" 0.00817631 0.00472512 0.00149311 -0.00149956 -0.00424967 -0.00676387\n",
" -0.00905423]\n",
"Intercept from own implementation:\n",
"1.0399676689527968\n",
"Intercept from Scikit-Learn Ridge implementation\n",
"1.0399676689527975\n",
"MSE values for own Ridge implementation\n",
"7.571105947979336e-05\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"7.571105947979394e-05\n",
"Beta values for own Ridge implementation\n",
"[-0.05100875 -0.04063602 -0.02723445 -0.01713366 -0.0100706 -0.00517114\n",
" -0.00174276 0.00068734 0.00243186 0.00369758 0.00462287 0.0053018\n",
" 0.00579953 0.006162 0.00642221 0.00660427 0.00672607 0.0068011\n",
" 0.00683964]\n",
"Beta values for Scikit-Learn Ridge implementation\n",
"[-0.05100875 -0.04063602 -0.02723445 -0.01713366 -0.0100706 -0.00517114\n",
" -0.00174276 0.00068734 0.00243186 0.00369758 0.00462287 0.0053018\n",
" 0.00579953 0.006162 0.00642221 0.00660427 0.00672607 0.0068011\n",
" 0.00683964]\n",
"Intercept from own implementation:\n",
"0.9999555851685968\n",
"Intercept from Scikit-Learn Ridge implementation\n",
"0.999955585168597\n",
"MSE values for own Ridge implementation\n",
"0.0007698473260556344\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"0.0007698473260556325\n",
"Beta values for own Ridge implementation\n",
"[-0.00834567 -0.00803064 -0.00673407 -0.00554552 -0.00458878 -0.0038335\n",
" -0.00323332 -0.00274989 -0.0023548 -0.00202756 -0.00175331 -0.00152117\n",
" -0.001323 -0.0011526 -0.00100519 -0.00087697 -0.00076495 -0.00066668\n",
" -0.00058016]\n",
"Beta values for Scikit-Learn Ridge implementation\n",
"[-0.00834567 -0.00803064 -0.00673407 -0.00554552 -0.00458878 -0.0038335\n",
" -0.00323332 -0.00274989 -0.0023548 -0.00202756 -0.00175331 -0.00152117\n",
" -0.001323 -0.0011526 -0.00100519 -0.00087697 -0.00076495 -0.00066668\n",
" -0.00058016]\n",
"Intercept from own implementation:\n",
"0.9637117593816477\n",
"Intercept from Scikit-Learn Ridge implementation\n",
"0.9637117593816477\n",
"MSE values for own Ridge implementation\n",
"0.0023813163025848865\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"0.002381316302584886\n"
]
},
{
"data": {
"image/png": "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8cknnwDQu3dvatSoAcD3339Pv379CAsLA+C6664DICkpiR9//JH+/ftn7yMtLa3Afp62aNEiFi1aRMuWLbP3s2PHDjp27Mjo0aN55JFH6NOnzxl9NKY8ysxy8eG+F6jsas3Ivp19dhxLKkVYurTgssqVCy+vXbvw8qL07duX0aNHs3TpUhISEs4oq1mzJrfccgu33HILffr0YdmyZbRu3brIfeY8zZRbx44d+eqrrwgKCqJr164MHjyYrKys7NNPACEhIYD71FZmZma++zmd2A4cOMBVV13F3Llz6du3b556+V2mW1B8LpeL6tWrF5ow86OqPProo9x99915ytasWcP8+fN59NFHufbaaxk7duxZ7duYsmTse1+QUXU799SbQ0CA7y6Rt9NffmzIkCGMHTuWZs2anfH54sWLs69QSkxMZNeuXVx00UXF2mejRo3Ys2cPO3fuBOCdd96hc2f3Xy2dOnVi8uTJdOjQgcjISBISEti6dStNmjQpUfx169bl2Wef5ZlnnslT1qlTJ957z/3Ugq+++opjx44BcOWVV/LFF1+QmppKUlJS9rxS1apViY6O5qOPPgLcyeLXX38tMobu3bszY8YMkpKSAPjjjz84dOgQ+/fvp3Llytx2222MHj2aX375BYAqVaqQmJhYov4a48+m/jKJSokNeG7Q//n0ODZS8WNRUVH89a9/zfP5mjVrGDFiBJUqVcLlcnHXXXfRpk0b9uzZk33q6bQhQ4accRlvaGgoM2fOpH///mRmZtKmTRuGD3c/ebldu3YcPHiQTp06Ae5TcHXq1DmnG/+uv/56nnjiiTxzO+PGjWPgwIG0atWKzp07ZyfFNm3a0LdvX5o3b079+vWJi4ujWrVqALz33nvcc889TJgwgYyMDAYMGEDz5s0LPf61117Lli1b6NChAwARERG8++677Ny5k4cffpiAgACCgoKYNm0a4J636dmzJ3Xr1rV5FVNuxB8+SZak0bfOKEKDffu1bwtK5lpQcsuWLVx22WUORWTAPe8RERFBcnIynTp1Yvr06bRq1crpsOx3w5RpLpeSmeUiOCjwnPdlC0qaMmXYsGFs3ryZ1NRUBg0a5BcJxZiyauNvBwkJqkRMVC2CA849oRTFkorxO++//77TIRhTbgx8/Uk2Bczm0Jh4aler7PPj2US9McaUU9v2HWFj0Ez+lHlDqSQU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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_117_1.png"
},
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"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",
"from sklearn import linear_model\n",
"from sklearn.preprocessing import StandardScaler\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",
"# A seed just to ensure that the random numbers are the same for every run.\n",
"# Useful for eventual debugging.\n",
"np.random.seed(315)\n",
"\n",
"n = 100\n",
"x = np.random.rand(n)\n",
"y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)\n",
"\n",
"Maxpolydegree = 20\n",
"X = np.zeros((n,Maxpolydegree-1))\n",
"\n",
"for degree in range(1,Maxpolydegree): #No intercept column\n",
" X[:,degree-1] = x**(degree)\n",
"\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",
"\n",
"#For our own implementation, we will need to deal with the intercept by centering the design matrix and the target variable\n",
"X_train_mean = np.mean(X_train,axis=0)\n",
"#Center by removing mean from each feature\n",
"X_train_scaled = X_train - X_train_mean \n",
"X_test_scaled = X_test - X_train_mean\n",
"#The model intercept (called y_scaler) is given by the mean of the target variable (IF X is centered)\n",
"#Remove the intercept from the training data.\n",
"y_scaler = np.mean(y_train) \n",
"y_train_scaled = y_train - y_scaler \n",
"\n",
"p = Maxpolydegree-1\n",
"I = np.eye(p,p)\n",
"# Decide which values of lambda to use\n",
"nlambdas = 6\n",
"MSEOwnRidgePredict = np.zeros(nlambdas)\n",
"MSERidgePredict = np.zeros(nlambdas)\n",
"\n",
"lambdas = np.logspace(-4, 2, nlambdas)\n",
"for i in range(nlambdas):\n",
" lmb = lambdas[i]\n",
" OwnRidgeBeta = np.linalg.pinv(X_train_scaled.T @ X_train_scaled+lmb*I) @ X_train_scaled.T @ (y_train_scaled)\n",
" intercept_ = y_scaler - X_train_mean@OwnRidgeBeta #The intercept can be shifted so the model can predict on uncentered data\n",
" #Add intercept to prediction\n",
" ypredictOwnRidge = X_test_scaled @ OwnRidgeBeta + y_scaler \n",
" RegRidge = linear_model.Ridge(lmb)\n",
" RegRidge.fit(X_train,y_train)\n",
" ypredictRidge = RegRidge.predict(X_test)\n",
" MSEOwnRidgePredict[i] = MSE(y_test,ypredictOwnRidge)\n",
" MSERidgePredict[i] = MSE(y_test,ypredictRidge)\n",
" print(\"Beta values for own Ridge implementation\")\n",
" print(OwnRidgeBeta) #Intercept is given by mean of target variable\n",
" print(\"Beta values for Scikit-Learn Ridge implementation\")\n",
" print(RegRidge.coef_)\n",
" print('Intercept from own implementation:')\n",
" print(intercept_)\n",
" print('Intercept from Scikit-Learn Ridge implementation')\n",
" print(RegRidge.intercept_)\n",
" print(\"MSE values for own Ridge implementation\")\n",
" print(MSEOwnRidgePredict[i])\n",
" print(\"MSE values for Scikit-Learn Ridge implementation\")\n",
" print(MSERidgePredict[i])\n",
"\n",
"\n",
"# Now plot the results\n",
"plt.figure()\n",
"plt.plot(np.log10(lambdas), MSEOwnRidgePredict, 'b--', label = 'MSE own Ridge Test')\n",
"plt.plot(np.log10(lambdas), MSERidgePredict, 'g--', label = 'MSE SL Ridge Test')\n",
"plt.xlabel('log10(lambda)')\n",
"plt.ylabel('MSE')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see here, when compared to the code which includes explicitely the\n",
"intercept column, that our MSE value is actually smaller. This is\n",
"because the regularization term does not include the intercept value\n",
"$\\beta_0$ in the fitting. This applies to Lasso regularization as\n",
"well. It means that our optimization is now done only with the\n",
"centered matrix and/or vector that enter the fitting procedure. Note\n",
"also that the problem with the intercept occurs mainly in these type\n",
"of polynomial fitting problem.\n",
"\n",
"The next example is indeed an example where all these discussions about the role of intercept are not present.\n",
"\n",
"## More complicated Example: The Ising model\n",
"\n",
"The one-dimensional Ising model with nearest neighbor interaction, no\n",
"external field and a constant coupling constant $J$ is given by"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto1\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" H = -J \\sum_{k}^L s_k s_{k + 1},\n",
"\\label{_auto1} \\tag{1}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $s_i \\in \\{-1, 1\\}$ and $s_{N + 1} = s_1$. The number of spins\n",
"in the system is determined by $L$. For the one-dimensional system\n",
"there is no phase transition.\n",
"\n",
"We will look at a system of $L = 40$ spins with a coupling constant of\n",
"$J = 1$. To get enough training data we will generate 10000 states\n",
"with their respective energies."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from mpl_toolkits.axes_grid1 import make_axes_locatable\n",
"import seaborn as sns\n",
"import scipy.linalg as scl\n",
"from sklearn.model_selection import train_test_split\n",
"import tqdm\n",
"sns.set(color_codes=True)\n",
"cmap_args=dict(vmin=-1., vmax=1., cmap='seismic')\n",
"\n",
"L = 40\n",
"n = int(1e4)\n",
"\n",
"spins = np.random.choice([-1, 1], size=(n, L))\n",
"J = 1.0\n",
"\n",
"energies = np.zeros(n)\n",
"\n",
"for i in range(n):\n",
" energies[i] = - J * np.dot(spins[i], np.roll(spins[i], 1))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here we use ordinary least squares\n",
"regression to predict the energy for the nearest neighbor\n",
"one-dimensional Ising model on a ring, i.e., the endpoints wrap\n",
"around. We will use linear regression to fit a value for\n",
"the coupling constant to achieve this.\n",
"\n",
"A more general form for the one-dimensional Ising model is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto2\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" H = - \\sum_j^L \\sum_k^L s_j s_k J_{jk}.\n",
"\\label{_auto2} \\tag{2}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here we allow for interactions beyond the nearest neighbors and a state dependent\n",
"coupling constant. This latter expression can be formulated as\n",
"a matrix-product"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto3\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" \\boldsymbol{H} = \\boldsymbol{X} J,\n",
"\\label{_auto3} \\tag{3}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $X_{jk} = s_j s_k$ and $J$ is a matrix which consists of the\n",
"elements $-J_{jk}$. This form of writing the energy fits perfectly\n",
"with the form utilized in linear regression, that is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto4\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" \\boldsymbol{y} = \\boldsymbol{X}\\boldsymbol{\\beta} + \\boldsymbol{\\epsilon},\n",
"\\label{_auto4} \\tag{4}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We split the data in training and test data as discussed in the previous example"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"X = np.zeros((n, L ** 2))\n",
"for i in range(n):\n",
" X[i] = np.outer(spins[i], spins[i]).ravel()\n",
"y = energies\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the ordinary least squares method we choose the cost function"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto5\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" C(\\boldsymbol{X}, \\boldsymbol{\\beta})= \\frac{1}{n}\\left\\{(\\boldsymbol{X}\\boldsymbol{\\beta} - \\boldsymbol{y})^T(\\boldsymbol{X}\\boldsymbol{\\beta} - \\boldsymbol{y})\\right\\}.\n",
"\\label{_auto5} \\tag{5}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We then find the extremal point of $C$ by taking the derivative with respect to $\\boldsymbol{\\beta}$ as discussed above.\n",
"This yields the expression for $\\boldsymbol{\\beta}$ to be"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\beta} = \\frac{\\boldsymbol{X}^T \\boldsymbol{y}}{\\boldsymbol{X}^T \\boldsymbol{X}},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which immediately imposes some requirements on $\\boldsymbol{X}$ as there must exist\n",
"an inverse of $\\boldsymbol{X}^T \\boldsymbol{X}$. If the expression we are modeling contains an\n",
"intercept, i.e., a constant term, we must make sure that the\n",
"first column of $\\boldsymbol{X}$ consists of $1$. We do this here"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"X_train_own = np.concatenate(\n",
" (np.ones(len(X_train))[:, np.newaxis], X_train),\n",
" axis=1\n",
")\n",
"X_test_own = np.concatenate(\n",
" (np.ones(len(X_test))[:, np.newaxis], X_test),\n",
" axis=1\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Doing the inversion directly turns out to be a bad idea since the matrix\n",
"$\\boldsymbol{X}^T\\boldsymbol{X}$ is singular. An alternative approach is to use the **singular\n",
"value decomposition**. Using the definition of the Moore-Penrose\n",
"pseudoinverse we can write the equation for $\\boldsymbol{\\beta}$ as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\beta} = \\boldsymbol{X}^{+}\\boldsymbol{y},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where the pseudoinverse of $\\boldsymbol{X}$ is given by"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X}^{+} = \\frac{\\boldsymbol{X}^T}{\\boldsymbol{X}^T\\boldsymbol{X}}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Using singular value decomposition we can decompose the matrix $\\boldsymbol{X} = \\boldsymbol{U}\\boldsymbol{\\Sigma} \\boldsymbol{V}^T$,\n",
"where $\\boldsymbol{U}$ and $\\boldsymbol{V}$ are orthogonal(unitary) matrices and $\\boldsymbol{\\Sigma}$ contains the singular values (more details below).\n",
"where $X^{+} = V\\Sigma^{+} U^T$. This reduces the equation for\n",
"$\\omega$ to"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto6\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" \\boldsymbol{\\beta} = \\boldsymbol{V}\\boldsymbol{\\Sigma}^{+} \\boldsymbol{U}^T \\boldsymbol{y}.\n",
"\\label{_auto6} \\tag{6}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that solving this equation by actually doing the pseudoinverse\n",
"(which is what we will do) is not a good idea as this operation scales\n",
"as $\\mathcal{O}(n^3)$, where $n$ is the number of elements in a\n",
"general matrix. Instead, doing $QR$-factorization and solving the\n",
"linear system as an equation would reduce this down to\n",
"$\\mathcal{O}(n^2)$ operations."
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"def ols_svd(x: np.ndarray, y: np.ndarray) -> np.ndarray:\n",
" u, s, v = scl.svd(x)\n",
" return v.T @ scl.pinv(scl.diagsvd(s, u.shape[0], v.shape[0])) @ u.T @ y"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"beta = ols_svd(X_train_own,y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"When extracting the $J$-matrix we need to make sure that we remove the intercept, as is done here"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"J = beta[1:].reshape(L, L)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A way of looking at the coefficients in $J$ is to plot the matrices as images."
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"<ipython-input-20-6f7a6bd7d79f>:6: MatplotlibDeprecationWarning: Auto-removal of grids by pcolor() and pcolormesh() is deprecated since 3.5 and will be removed two minor releases later; please call grid(False) first.\n",
" cb = fig.colorbar(im)\n",
"<ipython-input-20-6f7a6bd7d79f>:7: UserWarning: FixedFormatter should only be used together with FixedLocator\n",
" cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA4IAAAM2CAYAAACjUj0CAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABOFElEQVR4nO3dfbBdVZkg/OeccyffwTKvMRUSBUyR7p74CnmnuNjMjDIYAybBwAABJjZCBB1L/yCUgx9FazfVNg06UoU4NtVBbOACmhqEYcJYlF1DaStKKc4MYBJJiExIXfmQmI8bTLjnnPePkAvx5t67T7LuOevc/ftVUVSds7L3s5+99j7nuWudtSvNZrMZAAAAlEa10wEAAADQXgpBAACAklEIAgAAlIxCEAAAoGQUggAAACWjEAQAACiZnk4HAED3O3DgQPT19cWGDRvi2WefjUqlEu985ztj+fLlcfHFF8fMmTOH2n7uc5+L733ve/FP//RPMX/+/FG322g04jvf+U5873vfiy1btkSj0Yh58+bFkiVL4sorrzxsuwBAcQpBAI7JCy+8EFdeeWU888wzsWTJkjj//POj2WzGL3/5y7j55pvjO9/5Ttx2223xrne9q+VtX3vttfHwww/Hhz70oTj33HOjWq3GU089FevWrYvvf//7cd9998Vb3/rWcTgqAJjYFIIAHLUDBw7EJz/5yXj++efjjjvuiD//8z8feu8jH/lIXHbZZfHxj388rrrqqvjv//2/x9SpUwtv+4knnoiHHnooPve5z8UVV1xx2Hvve9/74uqrr45169bFf/pP/ynZ8QBAWfiNIABH7YEHHoinn346PvvZzx5WBB5yyimnxBe+8IV4/vnn4/bbb29p27/85S8jIuJf/+t/Pey9D33oQzFnzpz4X//rfx1V3ABQdgpBAI7aAw88ENOmTYvzzz9/xDYf/vCHY/bs2fHQQw+1tO3p06dHRMR3v/vdaDQaw97/wQ9+EH19fa0FDABEhEIQgKNUr9fjySefjH/5L/9lTJ48ecR2lUolTj/99PjNb34TL730UuHtL126NN7ylrfEXXfdFUuWLIkbb7wxfvjDH8a+ffsiImLSpEnHfAwAUFYKQQCOyq5du+LAgQMxe/bsMdu+/e1vj4iIF198sfD2Z82aFf/wD/8Q73jHO2LHjh3xrW99K6666qro7e2N//gf/2P8n//zf446dgAoO4UgAEel2WxGREStVhuzbU9Pz2H/pqhTTjklvv/978dtt90WF198ccyfPz9ee+21+J//83/GxRdf3PJ0UwDgIKuGAnBUZs2aFf/iX/yL+N3vfjdm20MjgYdGBlvR09MTZ555Zpx55pkREfHss8/GPffcE3fddVf8zd/8TXzwgx+MKVOmtLxdACgzI4IAHJVKpRKLFy+OJ598Mvbv3z9iu2azGb/4xS/iHe94R0uF4K233hrr168f9vq73vWuuO666+KSSy6J3//+97Fly5ajih8AykwhCMBRW7lyZezduze+853vjNjmn/7pn2L79u1x7rnntrTtBx54IG677bYRp5MuXLgwIqKlZxMCAAcpBAE4av/+3//7WLx4cfzn//yf45//+Z+Hvb9x48b4y7/8y5g/f35ceeWVLW373HPPje3bt8ff//3fD3tv//798cADD8SJJ54Y73rXu446fgAoq0qz1V/uA8CbvPzyy/HJT34ynnzyyVi6dGmcfvrpUavV4n//7/8dDz30UMydOzf+y3/5L3HyySdHRMTnPve5+N73vhcrVqwYelbgm33oQx+KP//zP48//OEPsWbNmvjFL34Rixcvjg984AMxa9as6O/vj4ceeih++9vfxre+9a34V//qX7X7kAGg6ykEAThmBw4ciAceeCDuv//+2LZtWwwODsY73/nOWLZsWVxyySUxc+bMobaHCsGRfP7zn4/LL788IiIGBwfj3nvvjf/xP/5HbN26NQYGBmLWrFlxxhlnxCc+8Yk46aSTxvvQAGBCUggCAACUjN8IAgAAlIxCEAAAoGQUggAAACXT0+kAAAAAGB+7d++O3bt3D3vdYjEAAADH6NVXXomps2Z1Ooxh/vCHP8T73ve+2LVr12Gv51sINhqjv1+tjt0mIk58V7rDe/bZWrJtVWPs2ItqtHmGb8HUd/UxdkKhfBVNfknk2vdpTcq+n7JPpLyHpdT2Y+xAx8/1nt/2PtGhm06u+U9pzHPZQu5zzVfK/pri+/T8+RH//M/pvkvn6lv/5t/E7uef73QYQ46bPz/W/PM/R39/f9Tr9cPem/BTQ597rtMRAABA9/J9urjdzz8fuzJM2Ny5c4e9NuELQQAAgHaoRl6rcY4WS/I4t2/fHp/+9Kejt7c3ent749prr41XXnkl9W4AAAA4SklHBHfu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q2PHjh2HvZVRlAAAAKTW19dnRBAAAKBM5s6dO+y1oyoEr7vuunjuuefirrvuOuz1Cy+8MJ588slh7c8+++y45ZZbjmZXAAAA3aGLVg1tOcr169fH+vXro7e397DXm81mbN26NZYsWRJLly497L158+a1uhsAAADGSeFCsF6vxze/+c249dZbj/j+888/H/v27YsPfOADsXLlymQBAgAAkFahQnD//v1x0UUXxebNm+O8886Lxx57bFibLVu2RETEggUL0kYIAADQDTJdNfRICj0gZf/+/bF37964+eab48Ybb4yeIxzcM888ExFvFIL79u07mlABAAAYZ4XK1RkzZsQjjzxyxALwkGeeeSamT58eN9xwQzz88MOxb9++eMc73hFr166N5cuXJwsYAACAY1OoEKxWq1Gtjj54uGXLlhgYGIg9e/bETTfdFLt3744777wzrrnmmnjttdfivPPOaymwMXZXuE1abd9hvgokP2228sx9R46x/R0/0+xHNJsjT3cYL0XS34m4isj1miy6pWJdP8/eKvet6fZ8pdSBW35ieR5Akag6k/s880ULJvKqoSNZtWpVNBqNWL169dBry5cvjxUrVsRXvvKVOPfcc6M2yhzVP9ZojP5+tTp2m9Sq0eYd5qpg8htJP3zzzH3bj7ETHT/SHmdKtVp97EYF1etj35+Kpj9lXM16Jdm2cr0mi8RVNPfuFa3JNffdnK+UOnTLT6pbr8lO5T7XfCXT/X/ZmFCSnY1LL730sCIwImLKlCmxcuXKePnll4cWkwEAAKCzxn3cctasWRFh8RgAAGCCm2irho7lhRdeiOXLlx/xGYPbtm2LiIj58+en2BUAAADHKEkhOGfOnNizZ0+sX78+9u7dO/R6f39/3H///XH66afH7NmzU+wKAACAY5Rs3PKLX/xifOpTn4pLLrkkLrroohgYGIi+vr7o6emJL33pS6l2AwAAkKcuWjU02WIxS5YsiW984xsxderU+OpXvxp33HFHnHrqqXHvvfcOPWQeAACAzqs0m81mp4M4Eo+PyJjHRwzx+IjO8viI1uR6Teb6CIOU5L413ZyvlDw+Yvx4fESHlOHxEffcE/Gmn8p13IwZEf/hPxzxrYzGLcdHrhdUrl+si6hGwS8PXfzh2+1yzlfKfpGySKoUKN6azVqhIq9IUVlUNeFdenAw3bZSKtYnqtne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\n",
"text/plain": [
"<Figure size 1440x1008 with 2 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_148_1.png"
}
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(20, 14))\n",
"im = plt.imshow(J, **cmap_args)\n",
"plt.title(\"OLS\", fontsize=18)\n",
"plt.xticks(fontsize=18)\n",
"plt.yticks(fontsize=18)\n",
"cb = fig.colorbar(im)\n",
"cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It is interesting to note that OLS\n",
"considers both $J_{j, j + 1} = -0.5$ and $J_{j, j - 1} = -0.5$ as\n",
"valid matrix elements for $J$.\n",
"In our discussion below on hyperparameters and Ridge and Lasso regression we will see that\n",
"this problem can be removed, partly and only with Lasso regression. \n",
"\n",
"In this case our matrix inversion was actually possible. The obvious question now is what is the mathematics behind the SVD?\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"Let us now \n",
"focus on Ridge and Lasso regression as well. We repeat some of the\n",
"basic parts of the Ising model and the setup of the training and test\n",
"data. The one-dimensional Ising model with nearest neighbor\n",
"interaction, no external field and a constant coupling constant $J$ is\n",
"given by"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto7\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" H = -J \\sum_{k}^L s_k s_{k + 1},\n",
"\\label{_auto7} \\tag{7}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $s_i \\in \\{-1, 1\\}$ and $s_{N + 1} = s_1$. The number of spins in the system is determined by $L$. For the one-dimensional system there is no phase transition.\n",
"\n",
"We will look at a system of $L = 40$ spins with a coupling constant of $J = 1$. To get enough training data we will generate 10000 states with their respective energies."
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from mpl_toolkits.axes_grid1 import make_axes_locatable\n",
"import seaborn as sns\n",
"import scipy.linalg as scl\n",
"from sklearn.model_selection import train_test_split\n",
"import sklearn.linear_model as skl\n",
"import tqdm\n",
"sns.set(color_codes=True)\n",
"cmap_args=dict(vmin=-1., vmax=1., cmap='seismic')\n",
"\n",
"L = 40\n",
"n = int(1e4)\n",
"\n",
"spins = np.random.choice([-1, 1], size=(n, L))\n",
"J = 1.0\n",
"\n",
"energies = np.zeros(n)\n",
"\n",
"for i in range(n):\n",
" energies[i] = - J * np.dot(spins[i], np.roll(spins[i], 1))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A more general form for the one-dimensional Ising model is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto8\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" H = - \\sum_j^L \\sum_k^L s_j s_k J_{jk}.\n",
"\\label{_auto8} \\tag{8}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here we allow for interactions beyond the nearest neighbors and a more\n",
"adaptive coupling matrix. This latter expression can be formulated as\n",
"a matrix-product on the form"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto9\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" H = X J,\n",
"\\label{_auto9} \\tag{9}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $X_{jk} = s_j s_k$ and $J$ is the matrix consisting of the\n",
"elements $-J_{jk}$. This form of writing the energy fits perfectly\n",
"with the form utilized in linear regression, viz."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto10\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" \\boldsymbol{y} = \\boldsymbol{X}\\boldsymbol{\\beta} + \\boldsymbol{\\epsilon}.\n",
"\\label{_auto10} \\tag{10}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We organize the data as we did above"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"X = np.zeros((n, L ** 2))\n",
"for i in range(n):\n",
" X[i] = np.outer(spins[i], spins[i]).ravel()\n",
"y = energies\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.96)\n",
"\n",
"X_train_own = np.concatenate(\n",
" (np.ones(len(X_train))[:, np.newaxis], X_train),\n",
" axis=1\n",
")\n",
"\n",
"X_test_own = np.concatenate(\n",
" (np.ones(len(X_test))[:, np.newaxis], X_test),\n",
" axis=1\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We will do all fitting with **Scikit-Learn**,"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"clf = skl.LinearRegression().fit(X_train, y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"When extracting the $J$-matrix we make sure to remove the intercept"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"J_sk = clf.coef_.reshape(L, L)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And then we plot the results"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"<ipython-input-25-5dd54edf2138>:6: MatplotlibDeprecationWarning: Auto-removal of grids by pcolor() and pcolormesh() is deprecated since 3.5 and will be removed two minor releases later; please call grid(False) first.\n",
" cb = fig.colorbar(im)\n",
"<ipython-input-25-5dd54edf2138>:7: UserWarning: FixedFormatter should only be used together with FixedLocator\n",
" cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA4IAAAM2CAYAAACjUj0CAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAB7T0lEQVR4nO3de3xU1b3//3dCDMMwjDENJIQ0hIARgXI7GCy1aDGCgho8FbwgqHjp8aBWrKXq4ajlWAFrtUU8aovVglEqlZa2+G2ttVarIj9rOYoY5BYhhARiCCGEECeZ3x+QQMxlb5hPkh3m9Xw8ePhw9ief+WTP2ntmzVpZKyYcDocFAAAAAIgasR1dAAAAAACgfdERBAAAAIAoQ0cQAAAAAKIMHUEAAAAAiDJ0BAEAAAAgytARBAAAAIAoQ0cQQJu5++67dcYZZ6iwsNBVnFetXLlSZ5xxRpN/gwcP1te//nXdfPPN+uijjzq6zHbx3nvv6YwzztDKlSvb9Xl37typ6dOna+jQoRo9erTKysra9fnd+uijj3T77bfrG9/4hoYMGaJzzjlHs2fPPqH2UVhYqDPOOEOPP/54w2NnnHGG7r777lZ/bty4cZo+fXqjxz7//HNVVVU5PqfXr0UAgJ24ji4AAK644gp9/etf7+gyHF1xxRX6t3/7t4b/r6mp0caNG7V8+XL9f//f/6dVq1YpPT29Aytse/3799fDDz+skSNHtuvzLly4UO+//75uvfVW9ezZU4mJie36/G68+eab+o//+A8NGDBAM2bMUGJionbt2qWXX35Zf/rTn/T4448rJyfHdb7ExEQ9/PDDx90xu/fee9WtW7eG///73/+uu+66S7/97W/l9/uPKxcA4ORFRxBAhxsxYoRGjBjR0WU4Gj58uHJzc5s8PnLkSM2ePVu//OUv9cADD7R/Ye0oKSmp2XPQ1jZu3KgzzzxTs2bNavfndutHP/qRBg4cqF//+tc65ZRTGh6fMWOGcnNzNW/ePJ133nmKi3P31uv3+0/oXH+5s/nhhx+qoqLiuPMAAE5uTA0FgAhddNFF6tatm/7v//6vo0s5aX3xxRfq3r17R5fRorKyMhUUFGj06NGNOoGSlJCQoMmTJ6u0tNRxmjQAAO2FjiCADvflv0u6++67deGFF+rDDz/UNddco2HDhmnMmDF68MEHVV1d3ehni4uLNWfOHJ199tn62te+psmTJ+v3v/99k+d49913deONN2r06NEaPHiwvvnNb+q+++5rNFJS/7x5eXk666yzdNZZZ+nNN990rD8mJkZdu3ZVOBxu9PjmzZs1a9YsjRo1SsOGDdOVV16pt956q8nP/9///Z9mzJihESNG6Jvf/KYef/xxLV68uNlz0lxtbs5BOBzW4sWLNWHCBH3ta1/TmDFj9P3vf1+7du1qFPfiiy/qkksu0bBhwzR69GjNmjVLmzZtajje3N8I1tbWasmSJZowYULD38Xdf//9jf6Or/7n3n77bf3whz/U17/+dQ0bNkzXXnut8vPzWzy39T+3c+dOrV27tuFv5uof/+1vf6tLLrlEX/va13TPPfccdz3vvPOO/uu//ktnnXWW/u3f/k333HOPqqqq9Pe//125ubkaNmyYcnNz9e6777ZYoyR169ZNXbp00V//+lft2bOnyfHbbrtNH3/8sTIyMhq9JkuXLtXFF1+soUOHaty4cXrkkUd08OBBSc3/jeCXbdmyRaNHj9aECRNUWloqqfHfCN59991avHixJOn8889v8reDbrTHNXY81zwAwAZTQwF4UllZmW644QZddNFFuvTSS/Xmm29q2bJlio+P15w5cyRJJSUlmjJlisLhsKZPn65TTz1Vf/3rX/X9739fu3fv1o033ihJ+sc//qGbbrpJI0eO1O23366YmBi9/fbb+vWvf60vvvhC8+fPb3jeXbt26YknntCtt96q3bt3a9iwYfrrX//aaq0fffSRysvLNW7cuIbHNm7cqKuvvlpJSUn6zne+o1NOOUV//OMfdfPNN+snP/mJJk6cKElav369ZsyYoaSkJM2aNUsHDx7U0qVLFRvb9Hu65mpzew6eeuopPfHEE5o2bVrDAj5Lly7V+vXr9cc//lFdunTR73//ez3wwAOaPHmypk+frrKyMv3qV7/S9OnT9Ze//EU9evRo9vefPXu2/vznP2v8+PGaMWOGtm3bphdffFFr1qzRihUrFAwGG2Lnzp2rXr166T//8z+1b98+LVmyRDfddJP+9re/NTtlsv5vEufPn6/TTjtN//Ef/6EzzjhD+/btkyTNmzdPubm5mjJlilJTU4+7nrvvvlsDBgzQ9773Pa1du1YrV65UcXGxNmzYoOnTp6tHjx76+c9/ru9+97t67bXXGv3ssbp166aJEyfqD3/4g3JycjRu3Didc845Ovvss9WnT59mf7cf/vCHevHFF/Wtb31LV111lbZt26Zf/vKXKigoaOi8taaoqEgzZ85UIBDQr371KyUlJTWJueKKK1RZWam//OUvuueee3T66ac75j1We11jr7zyiqtrHgBgKAwAbeQHP/hBOCsrK7xjxw5XcV/+/6VLlzaKu+iii8LnnHNOo7js7OxwSUlJo7g777wzPGTIkHBpaWk4HA6Hb7jhhvC3vvWt8KFDhxrFTZ06NTxixIgmz/vyyy83inv55ZfDWVlZ4WXLloU///zzhn9FRUXhv/zlL+GcnJzw0KFDw1u3bm34mWuuuSack5MTPnDgQMNjX3zxRfjqq68OjxkzpqGWGTNmhEeNGhX+/PPPG+I+/vjj8MCBA5s9J1+uze05uOiii8I333xzo5gXX3wxfOmll4Y/++yzcDgcDt94443hSZMmNYp54403whMnTgy///774XA4HF6zZk2jOv7+97+Hs7Kywg8++GCjn3vllVfCWVlZ4YcffrjRz337298Oh0Khhrinn346nJWVFf7HP/4Rbs23vvWt8DXXXNPw//X5jn3sROupra0Nh8PhcG1tbfgb3/hGOCsrK/z3v/+94WdfeuklVzVWVlaG77jjjnBWVlajf5MmTQo///zzDc8TDofDmzZtCp9xxhnhuXPnNsrx6KOPhrOyssKbNm0K79ixI5yVlRVetGhRw/GsrKzwD37wg/Dnn38eHj9+fHjs2LFNrq8vn6tFixa5ug7D4eavxfa4xtxe8wAAO0wNBeBZF110UaP/HzhwoD7//HNJUl1dnV577TWNGjVKcXFxKisra/g3fvx41dTU6O2335YkPf3003r55ZcVHx/fkGvv3r0KBALNLql/zjnnNFvP//zP/+jrX/96w7/zzjtPt912m3r16qXly5erX79+DbnXrl2rc889V9XV1Q11VVRU6IILLlBpaak++ugj7du3T2vXrlVubm6jVTAHDRqkb3zjG83WcGxtx3MOUlJS9N577+lXv/pVwxTCK6+8stFKpykpKdq6dasWL17c8Lds5557rlavXt1otdRjvf7665Kk73znO40ev+iii9SvXz+99tprjR4fP368unTp0vD/Z555piQ1O53SjS+/Vsdbz/nnn98w+hobG6uvfvWr8vl8Gjt2bENMWlqaqxq7d++uxx57TK+88opuu+02jRgxQnFxcdq0aZPmzZun//zP/1Rtba0k6Y033mgYZTvWDTfcoN///vetrj574MAB3Xjjjdq5c6eee+65hvqsdcQ11to1DwCwxdRQAJ715S0C4uPjGz5I7927V/v379drr73W5MN9vfq/f+vSpYt27Nihn/3sZ9q8ebO2b9+ukpKSFp/3K1/5SrOP33DDDTrnnHNUV1en/Px8/fznP1ffvn314x//uGFaoiTt2LFDkrRs2TItW7asxdq6du2quro69e3bt8nxzMzMZv+e8NjajucczJkzR7fccoseeughzZ8/X4MHD9a4ceM0depU9ezZU5I0a9YsrVu3To8//rgef/xxDRgwQOPGjdOUKVNa7JgUFhYqGAw2Oy2xf//+Tf7GsrnXVDrc6TgRX853vPV8OS4uLq5JzvqOotsa+/fvr1tvvVW33nqr9u/frz/96U/62c9+pr/97W/685//rIkTJ2rnzp2S1OhvBiUpGAy2OP203quvvqrY2FjV1dVp/fr1DV9AuFVTU9Mwtbaez+drMvW3I66x1q55AIAtOoIAPKu5v5OrV//hcMKECbryyiubjfnqV78qSVq+fLnuv/9+9evXT6NGjdL48eM1bNgwLVu2TH/4wx+a/NyxI1bHGjBggMaMGSPp8IjG6NGjdfXVV2v69OlasWJFw4fY+tqmTZvW4r5xAwYMUFFRkSQ1GkWp17Vr12Z/7tjajuccDBw4UH/+85/11ltv6W9/+5veeustLVq0SM8995yWL1+u/v37KyUlRatWrdJ7772nv/71r3rrrbf085//XM8++6x++ctfKjs7u0n+8JcWyDlWXV1dkxU0W3tNT8SXX6vjrae51zomJua463jjjTf09ttv6/vf/36j17NHjx6aMmWKsrKyNHXqVP3zn//UxIkTI+rc9OjRQ0899ZTuvfdeLViwQGPHjtWpp57q+uf/9a9/acaMGY0eu+yyy7RgwYJGj3XENWbdPgAALaMjCKBTSkxMVLdu3RQKhRo6Z/WKioq0YcMGdevWTYcOHdKCBQs0evRo/fKXv2y0aMfPfvaziGr42te+pu9973uaP3++5s6dq//93/+VJPXp00fS4Q+7X65t8+bNKiwsVLdu3Ro+RBcUFDTJ/dlnnzk+v9tzUFtbq/z8fAUCAZ1//vk6//zzJUmvvPKKZs+erRUrVujuu+/Wxo0bJalh6qsk/fOf/9S1116rZcuWNdsR7NOnj/7xj3+otLS0yejatm3b1Lt3b8ffw1JH1fPxxx9r6dKluuCCC5o9T/WLtPh8PklqGEHesWOH+vfv3xBXUlKi+fPn65prrlFKSkqzz5WTk6NRo0Zp7ty5uummm/STn/xE8+bNc13rwIED9eyzzzZ6rFevXk3ivHCNAQDaDl+9AeiU4uLiNHbsWP39739vsv3AggULNGvWLO3du1fV1dU6ePCgMjIyGn1A/eSTT7R27VpJUigUOuE6rr32Wo0cOVJ//etf9corr0g6/KF6yJAh+u1vf9toetwXX3yhe++9V7fffrtCoZC+8pWvaMSIEfrjH//YaKrejh07XG1b4fYc1NbWasaMGXrooYcaxQwbNkzS0VGY7373u5ozZ06j0apBgwbplFNOaXGkpn6l1KeffrrR46+99pq2bdum8847z/H3sNRR9UyaNEmxsbFauHBhs5u3//rXv5akhk74ueeeK+nwdh3HWrlypf7f//t/CgQCjs85duxYXXDBBXrppZf0wQcftBhX/9rVj5aeeuqpGjNmTKN/AwYMaPJzXrnGAABtgxFBAG3usccea3Yz8Isuuqhh5OlE3HXXXXrvvfc0bdo0TZs2TampqXrjjTf0t7/9TVdccUXDKMywYcO0cuVKBQIB9evXT5s2bdKKFSsaPiAfOHDguKbWHSsmJkbz5s3TZZddph/96Ef6xje+oVNPPVVz587Vtddeq29/+9u66qqrlJCQoNWrV+v//u//9L3vfU+nnXaaJOkHP/iBpk+frssvv1xXXnmlampqtGzZslanOJ7IOZg+fbqefPJJzZo1S9/85jdVXV2tX//61+rWrZu+/e1vSzr8N5Bz587VddddpwsvvFDhcFirVq3SoUOHdPXVVzf7/Oeee67OP/98LV26VCUlJRo9erQKCgr04osv6qtf/WqTRVvaWkfVk5GRoXvuuUcPPfRQw/YHmZmZqq6u1ttvv62//e1vmj59ukaOHCnp8CI5U6ZM0bJly7R79259/etf1+bNm7V8+XJNnjxZAwcOdLX5/L333qt//OMfuv/++7Vy5comU1+lo393t2TJEo0dO7ahM+qGF64xAEDboCMIoM398Y9/bPbxzMzMiDqC6enpeumll7Ro0SK99NJLqqqq0le/+lXdc889jVZj/NnPfqb58+fr5ZdfVk1Njfr06aObb75Z/fv312233aY1a9ZowoQJJ1zH6aefrhtuuEFPPfWUFixYoPnz52vEiBF68cUX9fjjj+vZZ59VKBRSv379tGDBAl122WUNPztixAgtWbJEjz32mH76058qISFB06dP15YtW/TnP//Z7BzcfvvtSkhI0Msvv6yFCxeqS5cuGjlypH784x83TE2cMmWKTjnlFC1dulSPPvqo6urqNGTIEP3iF7/Q6NGjm33+mJgY/exnP9MvfvEL/e53v9Prr7+ur3zlK7riiit02223OS58Yq0j65kxY4YGDRqkvLy8hn3xfD6fBg4cqEcffVSTJk1qFD9v3jxlZGRoxYoVev3115WamqpZs2Y17M3nRmpqqm655RY9+uijevbZZ3XzzTc3iZk0aZJeffVVrVy5UmvXrj2ujqBXrjEAgL2YsNuvnQEA5vbs2dOwauex/uM//kP5+fl644032r8oAABw0uNvBAGgA02dOlU33HBDo8dKS0v13nvvaejQoR1UFQAAONkxNRQAOtCll16qp556St/73vc0evRoVVRU6KWXXlJdXZ1mzZrV0eUBAICTFFNDAaAD1dXVKS8vTy+99JJ27Nihrl27auTIkfrud7+rgQMHdnR5AADgJEVHEAAAAABOUhUVFc1ubURHEAAAAAAidLCsTN2ObNnjJdXV1Ro7dmyjPYslD3cEt22TWtt/9vTTpU2bnPPk5dnV9MDM7Wa5alLSzXLt3WuWSkVFzjEjRkj/+pdz3JG9qk3EVpSb5drzRYJZrp6nlJvlUjPf1DSRni5td26HW0N27UuSMrvuNMu1P9jHLFcP7TfLter1Ho4xubnSqlXOuY7saW6iR+EnZrkOZpxplqvbhn+a5dqf9W+OMT16SPtdvNzNbFd5wiz3QD90yC5Xjy3rzHLt7z/c+flcnntLPbrWmOXauSfeLFczC/yesNpa55hu3aSDB13EVZREXtAx6nomm+WKLbT77LSzi917W5+961sPGDJEWu8QU2/QoMgLqldWZpfLsEOyLC/y9SW7d5f+/d8NivG4X55zjipc7APbXoJpaZr5j39o165dqv3Sjcezi8WEQtIXX7Qe43Rcsr2eTD8VGHLzZuJWjcv3XrdxZurqvJjKNpnb9uUizrypxtk1MtuvnuySHThgF2f6O7q50blkWpdhz8ZtXd782tId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jY1VbGzL389wHbQtp/MvcS20hwMHDugHP/iBJOnmm2+m3bejL597iTbfHsrLyxtmIHTr1k1z585V165dafvtoKVzL9H2cfLrNB3Buro6xxinD3A4cVOnTlVdXZ2mTZvW8NikSZN08cUX68c//rEuueSShmlEaDtcBx2Pa6FtHTx4ULfccovy8/P1ne98R9nZ2frnP//p+HO0+8g1d+4l2nx7iImJ0WOPPaaamhotW7ZM119/vR599FH17NnT8Wdp+5Fp6dxfeOGFtH2c9DrN3aN+T5dDhw41OVb/2LH7vsDWVVdd1ehGKEk+n0+5ubkqLS1t+INqtC2ug47HtdB2KioqNHPmTL333nv69re/rdmzZ0ui3beHls69RJtvD6eeeqomTpyoyZMnKy8vT6mpqVqwYAFtvx20dO4l2j5Ofp2mI1j/h7t79uxpcmz37t0KBoP8AW8HqN/MtqqqqoMriQ5cB97FtRCZzz//XDNmzNAHH3ygK664Qj/60Y8UExMjiXbf1lo7962hzbcNn8+n8847T7t27VKvXr0k0fbby7HnvqysrMU42j5OFp2mIxgMBpWWlqaPP/64ybENGzZoyJAhHVBVdCgpKdGkSZO0ePHiJse2bdsmSUpLS2vvsqIS10HH4lpoG5WVlbrhhhv0ySef6LrrrtO8efMadURo923H6dzT5tvOli1bNG7cOOXl5TU5duDAAcXExCg+Pp623wbcnPuDBw/S9nHS6zQdQUkaP3683n33XW3ZsqXhsXfeeUfbtm1rdZU/RCY5OVn79+/XihUrVFlZ2fD4rl27tHLlSo0ePdrV3zHABtdBx+FaaBvz5s3TJ598ohkzZuiee+5pNoZ23zaczj1tvu307dtX+/fv1/Lly1VTU9Pw+M6dO/Xqq6/qrLPOUiAQoO23ATfnvk+fPrR9nPRiwuFwuKOLcKusrEwXX3yxunTpopkzZ+rQoUNasmSJ0tPTtXz5csXHx3d0iSet1157TbNmzdLpp5+uKVOm6MCBA8rLy9MXX3yhF198kc1W28i4cePUp08fLVu2rOExroP209z551qwtWXLFk2cOFE9evTQvffe2+zCC7m5ubT7NuD23NPm286qVas0Z84cDR8+XJdeeqn27t3bcG5feOEFZWVl0fbbiJtzT9vHya5TdQQlaevWrZo/f77ef/99+Xw+nXvuuZozZ07DfG20nddee01PP/208vPz5fP5lJ2drTvvvJMbYRtqriMicR20l5bOP9eCnRdffFEPPPBAqzEbN26URLu3djznnjbfdl555RUtWbJEn376qfx+v84++2zNnj1b/fr1a4ih7bcNN+eeto+TWafrCAIAAAAAItOp/kYQAAAAABA5OoIAAAAAEGXoCAIAAABAlKEjCAAAAABRho4gAAAAAEQZOoIAAAAAEGXoCAIAAABAlKEjCAAAAABRho4gAAAAAESZ/x8Xm31jNiTiKgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 1440x1008 with 2 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_166_1.png"
}
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(20, 14))\n",
"im = plt.imshow(J_sk, **cmap_args)\n",
"plt.title(\"LinearRegression from Scikit-learn\", fontsize=18)\n",
"plt.xticks(fontsize=18)\n",
"plt.yticks(fontsize=18)\n",
"cb = fig.colorbar(im)\n",
"cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The results agree perfectly with our previous discussion where we used our own code.\n",
"\n",
"\n",
"Having explored the ordinary least squares we move on to ridge\n",
"regression. In ridge regression we include a **regularizer**. This\n",
"involves a new cost function which leads to a new estimate for the\n",
"weights $\\boldsymbol{\\beta}$. This results in a penalized regression problem. The\n",
"cost function is given by"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"6\n",
"0\n",
" \n",
"<\n",
"<\n",
"<\n",
"!\n",
"!\n",
"M\n",
"A\n",
"T\n",
"H\n",
"_\n",
"B\n",
"L\n",
"O\n",
"C\n",
"K"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"<ipython-input-26-fe5b9d300cc0>:9: MatplotlibDeprecationWarning: Auto-removal of grids by pcolor() and pcolormesh() is deprecated since 3.5 and will be removed two minor releases later; please call grid(False) first.\n",
" cb = fig.colorbar(im)\n",
"<ipython-input-26-fe5b9d300cc0>:10: UserWarning: FixedFormatter should only be used together with FixedLocator\n",
" cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA4IAAAM2CAYAAACjUj0CAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAB4rUlEQVR4nO3de3yU5Zn/8W8mYRiGIcZsIBDSGIFGBBrB1Yisi4oRXVCDrSCKWkVd64/uVlzraT2t61mrLerPusVDkeABl1Urbdd1u1ZbD/xcSylyEhBCgARiCCGEEJKZ3x+QQMzhuXGuJE+Yz/v14uXLea5cc+WZ+3lm7rnv3HdSLBaLCQAAAACQMALdXQAAAAAAoGvREQQAAACABENHEAAAAAASDB1BAAAAAEgwdAQBAAAAIMHQEQQAAACABENHEADacOutt+q4445r9S8/P19nnnmmbr/9dlVUVLT4mQkTJujyyy/3zO0aZ+3FF1/Uaaedpvz8fD322GNd/vwu6uvr9W//9m+64IILNHr0aJ144on67ne/q3/7t3/T3r17Dztf0+vY5Mknn9Rxxx2n0tLSdn9m0aJFOu644/TJJ5+0eHzTpk2ez1daWqrjjjtOTz755GHXCgBAV0rp7gIAwM9uu+02HX300c3/X1NTo48++kj//u//ruXLl+v1119XMBiUJN1+++3q06dPd5XaodWrV+vBBx/U6NGj9aMf/UjDhw/v7pJaaWho0NVXX62lS5dqypQpuvjii9XY2KhPP/1Ujz/+uH73u99p3rx5zefbxcUXX6xTTz31sOo4+eST9cgjj2jo0KHNj1199dXq37+/HnroocPKBQCAX9ERBIAOFBYWKjs7u8VjM2bM0D333KOXX35Z7777riZNmtQc61dr1qyRJF133XWaMGFCN1fTtt/85jdasmSJnnzySU2cOLH58SuuuEJz587Vo48+qtdff12XXnqpc84xY8ZozJgxh1XHt771LX3rW99q8dgf/vAHXXjhhYeVBwAAP2NqKAB8A02dgj//+c/dXImbffv2SZL69u3bzZW0709/+pMk6W/+5m9aHZsxY4Z69eqlpUuXdnFVAAAcmegIAsA30DQFNBaLNT/W1t/+/frXv1ZRUZHy8/N13nnn6eOPP24z3+9//3tNnTpVo0eP1llnnaX58+frn//5n1uN3q1du1azZs3SSSedpBNOOEHTp0/XBx980GGtl19+uW677TZJ+0fXmv5m7vLLL9fVV1+tJ554QmPGjNGpp56q1atXS9o/lfT//J//o5NOOkn5+fmaNm2a3n333VZ5r7vuOr377ru64IIL9J3vfEeTJ0/W73//e9XU1Oiuu+5SQUGBTj31VN11112qq6vrsM6mTuqrr77a6lifPn302Wef6ZFHHmnx+Lp16/SjH/1Ip5xyiv76r/9al19+uT799NPm41//G8G23HPPPTruuOP04osvSmr5N4JNf/MnSf/xH//R5t8Ouli0aJGmTJmi73znOxo7dqxuvfVWbdu2rUVMTU2NfvKTn+jcc8/Vd77zHY0ZM0bTpk3Tf//3fzfHNNXz4osv6pJLLtGoUaN05ZVXNj/+xhtv6IknntD48eP1ne98R1OnTm23zQEAEhtTQwHgG2jqfI0YMaLdmEWLFum2227TmDFj9OMf/1gbN27UD37wA0WjUQ0ePLg57n/+5380a9Ys5eXlafbs2SovL9fDDz+scDjcYgRv9erVuvTSS5WRkaHrrrtOvXr10ttvv62///u/109+8pPmKapf94Mf/EDHHnusXn31Vf3gBz/QkCFDmo999tln2rhxo3784x+rtLRUw4YN07Jly3TFFVcoEonoqquuUt++ffXmm29q1qxZuuuuuzRjxozmn//888/1pz/9SVdccYX69eunZ599VjfccIOOP/549enTR7Nnz9ann36qV199VQMGDNAPf/jDds/XBRdcoBdeeEEPP/ywFi1apMLCQp166qkaM2aMgsFgq78N3LBhg6ZNm6aUlBRddtllSk9P1yuvvKKrrrpKxcXFys/Pb/e5mvz0pz/Vyy+/rNmzZ+vKK69sdTw9PV2PPPKIbr75Zp100kmaNm1ai78ddPHUU0/pySef1DnnnKNp06apvLxc8+fP15IlS/T6668rPT1dsVhM1113nVasWKHLLrtMOTk5Kisr0yuvvKJ/+Id/0H/+53+2mK76s5/9TKeffrrOP/989e7du8Xjffr00cyZM7Vv3z49//zzuu666/Tee++1+FtXAAAUAwC0csstt8Ty8vJin3/+eeyrr75q/rdx48bY/PnzY6NHj4793d/9Xay+vr75Z84888zYZZddFovFYrGGhobYqaeeGvve977XIubf//3fY3l5ec1xsVgsVlhYGJs4cWJsz549zY/913/9VywvLy925plnNj922WWXxQoLC2O7d+9ufmzfvn2xSy+9NDZu3LjY3r172/19mp73448/bpHv64/FYrHY1KlTY6NHj45t3bq1+bG6urrYhRdeGMvPz4999dVXLX7+d7/7XXPc/PnzY3l5ebFp06Y1PxaNRmPjx4+PXXzxxe3W1+R//ud/YqeeemosLy+v+d/o0aNjN954Y2z9+vUtYn/0ox/F8vPzYxs2bGh+rLKyMvbXf/3XsX/8x3+MxWIHX8cmc+bMieXl5cU2bdoU++UvfxnLy8uLPf74457nKi8vL3bLLbd41r9p06ZYXl5ebM6cObFYLBYrKSmJDR8+PPbYY4+1iFu9enVs5MiRsfvvvz8Wi8ViS5cujeXl5cVefvnlFnHvv/9+LC8vL/b888+3yH/22We3aFdNj59++ukt2sfixYtjeXl5sVdffdWzdgBAYmFqKAB04MILL9Spp57a/O/ss8/Wo48+qjPPPFPFxcXq1atXmz/3+eef66uvvtJ3v/vdFjFFRUU66qijmv9/1apVKikp0fTp0xUKhZofLywsbDHytGPHDi1ZskSnn3666urqVFlZqcrKSlVXV+vss89WRUWF/vKXvxz27xcKhXTyySc3/39FRYX+/Oc/q6ioSAMHDmx+vHfv3rr66qtVV1enDz/8sMXjf/u3f9v8/8cee6wk6ayzzmp+LCkpSYMHD9b27ds96znjjDP0P//zP3riiSdUVFSk/v37q7a2Vm+//baKioq0ZMkSSVI0GtXvf/97nX766TrmmGOaf/7oo4/WggULdMcdd3T4PG+99ZYeeOABffe739Xs2bM96/qm/uu//kvRaFQTJkxofs0qKyuVkZGh448/Xu+9954k6YQTTtD/+3//T9/97nebf7axsVHRaFSStHv37hZ5x44d22bbO/300xUOh5v/v2l1WJdzDwBILEwNBYAOPProo8rIyNC+ffv0wQcfqLi4WH/3d3+ne+65p8WUvK/bvHmzJCknJ6fF48nJyS06Lhs3bpSkFo81OfbYY7Vy5UpJB/ewe+mll/TSSy+1+Zxbt249jN9sv7S0NAUCB78TbKq7qUN3qKaO6ZYtW1r8fErKwbeS5ORkSdJf/dVftfjZ5OTkFn9P2ZHevXtr0qRJzVNdP//8cz3//PN6++23dffdd+s3v/mNqqqqVFtb2+Z5y8vL83yOn/3sZwoEAlq2bJn27dvXboe+PVVVVc0L8DRJT09vFVdSUiJJmj59ept5Dn3elJQUvfLKK1qyZIk2btyokpKS5r+r/Pq5a+u52nq8aTptU4cSAIAmdAQBoAMnnnhi8/YRTaNP9913n6qqqvR//+//VVJSUps/1/R4W5ugH/qhvKGhQZLa3Bvv0I5mY2OjpP2rZ7a3TcWwYcNcfqUWmjpuTTrqrDXV/fXOS1vaOy/tqa2t1bPPPquRI0e22DpCkkaOHKmf/OQnqq6u1vvvv68dO3Y0n49DO7GH44ILLtDJJ5+sO++8U88995x+8IMfHNbP/8M//EPz6GSTQxd1adJ0zp555pkWI75fV11drenTp2vTpk36m7/5G02YMEHDhw/X4MGDNXXq1FbxX3/dmnzT8wEASDx0BAHgMFx++eX66KOP9N///d/65S9/2eYCI5KaF/bYsGFDi8djsZg2b96sb3/7263iTjvttBaxh/5s0+IyycnJGjduXIu4tWvXqrS01GQz+6bnWb9+fatjX375pSS1mDJqpXfv3nruuec0ZsyYVh3BJsOGDdMHH3ygUCikXr16KRQKNY+oHuq5555TRUWFbrnllnaf70c/+pEGDx6sRYsW6ZlnntHkyZNb7R3YkVtuuUXV1dUtHuvfv3+rKZhN53PQoEE6/vjjWxz7/e9/r0gkIkmaN2+e1q1bpxdffFGnnnpqc8xnn33mXBMAAIeDrw4B4DDde++9Ouqoo/TTn/60ecrm140YMUKDBw/Wyy+/rD179jQ/vnjxYu3YsaP5/0eNGqVBgwbp9ddfV319ffPjS5cu1YoVK5r/f8CAARo1apT+4z/+Q+Xl5c2P79u3T7fffrv+8R//sXl0MR79+/fXqFGj9NZbb6msrKz58fr6er3wwgsKBoNt7vMXr+TkZE2aNElLlizRm2++2ep4VVWV/vM//1Pjxo1Tnz59lJKSor/5m7/R73//+xZTYnfu3KnnnnuueUpmR5KSknTXXXdp3759uueeezqMDQQCLUZyR40apXHjxrX419ZU4TPPPFOS9Oyzz7YYbV25cqWuv/56/fKXv2z+/aSWo7qxWEzz58+XJJPXFgCAQzEiCACHKSMjQzfddJPuvPNO3X333Xr++edbxSQlJenOO+/UrFmzdPHFF+t73/ueysvLVVxcrLS0tOa4QCCgW2+9VTfccIOmT5+uoqIiVVZWat68ea2mi95xxx36/ve/r+9973u65JJLlJaWpsWLF+vPf/6z/umf/slse4Cm57nooot0ySWXqG/fvnrrrbf0+eef64477lBqaqrJ83zdrbfeqmXLlunmm2/WW2+9pb/9279VJBJRSUmJFi1apH379umuu+5qjv+nf/onTZ06VVOnTtWMGTMUiUT02muvqba2VjfccIPTc44YMULTp09XcXGxFi9erMmTJ7cZl56eriVLlui1117TaaedpqysLKf8eXl5uvzyy/XSSy+pqqpKhYWFqqqq0vz589W3b1/96Ec/kiSNHz9eL730kq677jpddNFF2rdvn37zm99o+fLlCgQCrRaLAQAgXowIAsA3MHXqVP31X/+1/vjHP+qNN95oM+bMM8/Us88+q1AopMcff1zvvvuu7r///hb7+EnSueeeqyeeeEINDQ169NFH9fbbb+u2227TqFGjWnQGx4wZo5dfflmjRo3SCy+8oEcffVR79uzRQw89pL//+783+92anmfkyJF6/vnn9bOf/Uy9e/fW008/rcsvv9zseb4uPT1dixYt0o9+9CNVVVXp6aef1j333KO3335bEydO1K9+9Svl5uY2xw8dOlSvvvqqvvOd72ju3LmaM2eOBgwYoAULFjRPvXVxww036K/+6q/04IMPtpru2eSmm25SQ0OD/vVf/7XV3wZ6+ed//mfdfffdqqys1MMPP6wFCxbopJNO0oIFC5oX4Bk/frzuu+++5tdz7ty5SktL06uvvqrjjz/+G21iDwBAR5Jirsu4AQDMNTY2aufOnW2uAnn++ecrNTVVxcXF3VAZAAA4kjEiCADdqLGxUePHj28x5VGS1qxZoy+++EL5+fndVBkAADiS8TeCANCNgsGgzj33XL3++utKSkrSqFGjtG3bNr388ss6+uijddVVV3V3iQAA4AjE1FAA6GZ1dXV67rnn9NZbb2nr1q3q16+fTj31VN1www3NexgCAABYoiMIAAAAAEeo6urqNhdDoyMIAAAAAHHaU1mpPm0s/tbd6urqNH78eO3cubPF4/7tCB6ycW+bAgHvGEn/er/dejh33lLvHeRoT2PQO8hRZaVZKrWzcnoLxx8vrVzpEDfU7nxZKt9hd+4zGzab5VJjo3dMTo7ksFH2+oYcg4IOGtK33DvIUVXvTLNcaWG7Nvb+x97t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iCAAAAAAJJJBgwa1esx5UvlHH32kSy65RGPGjNHf/u3f6v7779fu3btbxGzatEk//OEPVVBQoIKCAt18882qrKyMv3IAAAAA8L1GH/5rm9OI4Mcff6yZM2dq5MiRuummm7R161bNmzdPy5cvV3FxsQKBgHbs2KHvf//7qq+v1zXXXKPGxkY999xzWr16tRYuXKhg0O6PtQEAAAAA35xTR/CRRx7RoEGDNH/+fIUOLLM0aNAg3Xvvvfrggw90+umn68UXX1RZWZl+9atfaejQoZKkE044QVdddZXeeOMNTZs2rfN+CwAAAACAM8+poXv37tXRRx+tadOmNXcCJamgYP8S3atXr5YkLV68WAUFBc2dQEkaN26cjj32WC1evNi6bgAAAADwmai6fyroof/a34LGc0Swd+/eeu6551o9vnLlSklSVlaWdu7cqU2bNumcc85pFTdy5Ei99957Xk8DAAAAAOgih71q6ObNm/XJJ5/o4YcfVl5ens4++2xtPLBrYmZmZqv4/v37q6amRrt27VK/fv3irxgAAAAAEJfD6ghWVVVpwoQJkqQ+ffrojjvuUO/evZtXD+3Tp0+rn+ndu7ckqba2lo4gAAAAgCNYoyQf7SivpHaPHFZHMCkpSU888YTq6+v10ksv6aqrrtLjjz+u/v37e/5sIOC8U4UkyWWRUbeFSA/veTsUDtvlMpSV1fXP2cbgbw96PrsTZnvqUx3DvOP82VL3s1xAePx4u1yW598pxpHlazlihGEyy9bvehM78LfpHbE785Jk11i74z7txrGFubz/+fQ90vBTgJ55xjCZa2UOn58WLIizlE41wCxTulkmN65NOienc+v4xoYMMUvVxR/70EUOqyN41FFHadKkSZKkc889V+edd54eeugh/fznP5e0f2GZr2t6rG/fvodVWH19x8eDQe8YSQqmtP8Hkoetrs4uV8phz8pt15YKuw8rycneMZmZUnm5d5zD9wPOtm+3y5XZuMUs1xbLTmWk2jsoNVWq9o6rTbH9OGzYXNXQYJfr00/tco0fbXf+Le8VtRG7D1EbNpil0og0u+tIpaXeMQUF0pIlnmHVw707i65SQw5vMo4s79OHrNsWt/RQrXdQOCzVOsRVVcVdT7OMDLNU0RS7cz9rllkqPfO0w+eTQECKesddeplld1d66im7XOkN28xyVabY3Q+9riPX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s1Q4DNnZf9XdJbTQVM/WrVvV2NhyEZukWCwW646iAAAAAACdq66uTuPHj9fOnTtbPE5HEAAAAACOUNXV1aqurm71OB1BAAAAAEgwCTALHwAAAABwKDqCAAAAAJBg6AgCAAAAQIKhIwgAAAAACYaOIAAAAAAkGDqCAAAAAJBg6AgCAAAAQIKhIwgAAAAACSaluws4XJs2bdLDDz+sJUuWSJLOOOMM3XrrrUpPT+/myo58F110kf7yl7+0evycc87RnDlzuqGiI98dd9yhjRs36qWXXmrxONdB12jv/HMt2Pvggw/0zDPP6PPPP1cgENAJJ5ygG264QaNHj26Ood13DpdzT5vvPB999JHmzJmjVatWKRKJ6Nxzz9UNN9ygvn37NsfQ9juHy7mn7eNI1qM6gjt27ND3v/991dfX65prrlFjY6Oee+45rV69WgsXLlQwGOzuEo9YsVhM69atU2FhoSZOnNji2ODBg7upqiPbwoULtXDhQhUUFLR4nOuga7R3/rkW7C1ZskTXXnutvv3tb2v27NlqaGjQggULdNlll2nBggXKz8+n3XcSl3NPm+88H3/8sWbOnKmRI0fqpptu0tatWzVv3jwtX75cxcXFCgQCtP1O4nLuafs44sV6kMcffzx2/PHHx9auXdv82B//+MdYXl5e7NVXX+3Gyo58JSUlsby8vNi///u/d3cpR7yGhobYk08+GTvuuONieXl5scsuu6zFca6DzuV1/rkW7BUVFcXOOOOMWG1tbfNj27dvj5188smxK6+8MhaL0e47i8u5p813ngsvvDB25plnxvbs2dP82Pz582N5eXmx9957LxaL0fY7i8u5p+3jSNej/kZw8eLFKigo0NChQ5sfGzdunI499lgtXry4Gys78q1du1aSWpx72Nu7d68uvPBCPfnkkyoqKlJmZmarGK6DzuNy/rkWbO3cuVOrVq3Sueeeqz59+jQ/npGRoZNPPll/+tOfJNHuO4PruafNd469e/fq6KOP1rRp0xQKhZofb5qFsHr1akm0/c7geu5p+zjS9ZipoTt37tSmTZt0zjnntDo2cuRIvffee11fVAL54osvJB28GdbW1iocDndnSUekvXv3qqamRk888YQmTZqkCRMmtDjOddC5vM6/xLVgLRKJ6Le//W2LjkiTHTt2KDk5mXbfSVzOvUSb7yy9e/fWc8891+rxlStXSpKysrJo+53E5dxLtH0c+XrMiGB5ebkktfkNff/+/VVTU6Ndu3Z1dVkJ44svvlDfvn314IMPasyYMRozZowKCwv5NtJYJBLRO++8o0mTJrV5nOugc3mdf4lrwVpycrJyc3NbtelVq1bps88+05gxY2j3ncTl3Eu0+a6yefNmLVq0SPfff7/y8vJ09tln0/a7SFvnXqLt48jXY0YEd+/eLUltfnPZu3dvSfu/qenXr1+X1pUo1q5dq927d2vXrl165JFHVF1drXnz5unGG2/Uvn37NGXKlO4u8YgQCAQUCLT//QzXQefyOv8S10JX2L17t2655RZJ0t///d/T7rvQ18+9RJvvClVVVc0zEPr06aM77rhDvXv3pu13gfbOvUTbx5Gvx3QEo9GoZ4zXBzh8c9OmTVM0GtWMGTOaH5s8ebLOO+88Pfroozr//PObpxGh83AddD+uhc61Z88eXX/99Vq1apWuu+46FRQU6H//9389f452H7+2zr1Em+8KSUlJeuKJJ1RfX6+XXnpJV111lR5//HH179/f82dp+/Fp79yfe+65tH0c8XrM3aNpT5e9e/e2Otb02KH7vsDWJZdc0uJGKEmhUEhFRUWqqKho/oNqdC6ug+7HtdB5qqurNXPmTH3yySf63ve+p9mzZ0ui3XeF9s69RJvvCkcddZQmTZqkKVOmqLi4WFlZWXrooYdo+12gvXMv0fZx5OsxHcGmP9zdvn17q2Pbtm1Tamoqf8DbDZo2s62tre3mShID14F/cS3E56uvvtIVV1yhzz77TBdffLHuv/9+JSUlSaLdd7aOzn1HaPOdIxQK6YwzztDWrVs1YMAASbT9rnLoua+srGw3jraPI0WP6QimpqYqOztbn3/+eatjK1as0KhRo7qhqsRQXl6uyZMn66mnnmp17Msvv5QkZWdnd3VZCYnroHtxLXSOmpoaXX311Vq5cqWuvPJK3XvvvS06IrT7zuN17mnznWfdunWaMGGCiouLWx3bvXu3kpKSFAwGafudwOXc79mzh7aPI16P6QhK0sSJE/XRRx9p3bp1zY99+OGH+vLLLztc5Q/xyczM1K5du7Rw4ULV1NQ0P75161YtWrRIp5xyitPfMcAG10H34VroHPfee69WrlypK664QrfddlubMbT7zuF17mnzneeYY47Rrl279Morr6i+vr758c2bN+udd97RySefrEgkQtvvBC7nfvDgwbR9HPGSYrFYrLuLcFVZWanzzjtPycnJmjlzpvbu3au5c+cqJydHr7zyioLBYHeXeMR69913NWvWLH3729/W1KlTtXv3bhUXF2vfvn16+eWX2Wy1k0yYMEGDBw/WSy+91PwY10HXaev8cy3YWrdunSZNmqR+/frp9ttvb3PhhaKiItp9J3A997T5zvPmm2/q5ptv1ujRo3XBBRdox44dzed2wYIFysvLo+13EpdzT9vHka5HdQQlaf369XrwwQf16aefKhQK6fTTT9fNN9/cPF8bnefdd9/Vs88+q1WrVikUCqmgoEA33ngjN8JO1FZHROI66CrtnX+uBTsvv/yy7rnnng5jVq9eLYl2b+1wzj1tvvP8+te/1ty5c7VmzRqFw2GNHTtWs2fP1rHHHtscQ9vvHC7nnraPI1mP6wgCAAAAAOLTo/5GEAAAAAAQPzqCAAAAAJBg6AgCAAAAQIKhIwgAAAAACYaOIAAAAAAkGDqCAAAAAJBg6AgCAAAAQIKhIwgAAAAACYaOIAAAAAAkmP8PGZYR3soopNMAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 1440x1008 with 2 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_169_1.png"
}
},
"output_type": "display_data"
}
],
"source": [
"_lambda = 0.1\n",
"clf_ridge = skl.Ridge(alpha=_lambda).fit(X_train, y_train)\n",
"J_ridge_sk = clf_ridge.coef_.reshape(L, L)\n",
"fig = plt.figure(figsize=(20, 14))\n",
"im = plt.imshow(J_ridge_sk, **cmap_args)\n",
"plt.title(\"Ridge from Scikit-learn\", fontsize=18)\n",
"plt.xticks(fontsize=18)\n",
"plt.yticks(fontsize=18)\n",
"cb = fig.colorbar(im)\n",
"cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the **Least Absolute Shrinkage and Selection Operator** (LASSO)-method we get a third cost function."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto12\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" C(\\boldsymbol{X}, \\boldsymbol{\\beta}; \\lambda) = (\\boldsymbol{X}\\boldsymbol{\\beta} - \\boldsymbol{y})^T(\\boldsymbol{X}\\boldsymbol{\\beta} - \\boldsymbol{y}) + \\lambda \\sqrt{\\boldsymbol{\\beta}^T\\boldsymbol{\\beta}}.\n",
"\\label{_auto12} \\tag{12}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finding the extremal point of this cost function is not so straight-forward as in least squares and ridge. We will therefore rely solely on the function ``Lasso`` from **Scikit-Learn**."
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"<ipython-input-27-25845e8df859>:8: MatplotlibDeprecationWarning: Auto-removal of grids by pcolor() and pcolormesh() is deprecated since 3.5 and will be removed two minor releases later; please call grid(False) first.\n",
" cb = fig.colorbar(im)\n",
"<ipython-input-27-25845e8df859>:9: UserWarning: FixedFormatter should only be used together with FixedLocator\n",
" cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA4IAAAM2CAYAAACjUj0CAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABNy0lEQVR4nO3de5xWdbko8GdmiDtUHAkRvBAnsANeyA2W7bwgAgEGpqKGV7TcZafEirJDlu6SJBU3appJGjhe4khZwmlbu23b43V32adUMEQkpMkbCMOAXN5Z5w/l1XGYmRdYM++aWd/v5zOfaq3f+1u/eVgv8by/531WRZIkSQAAAJAbleVeAAAAAG1LIggAAJAzEkEAAICckQgCAADkjEQQAAAgZySCAAAAOSMRBHiHr33tazF06NB44YUXyr2UVD3yyCPx8Y9/PIYPHx6f+tSnyr2cJi1dujTOOuusGDlyZBx66KExduzY+Pa3vx0vvfTSbs+1ePHiGDp0aDz++OMREfH444/H0KFDY/HixU2+5oUXXoihQ4fG9ddf3+D4mjVrSrrm6NGj46yzztrttQJAW+pU7gUA0Prq6+vjS1/6UlRVVcWll14a++67b7mXtEtz586Nm2++OY499ti46KKLomvXrrFixYr43//7f8eSJUvinnvuiQMOOKDk+UaOHBlz5syJwYMHl/yaPn36xJw5c2Lo0KHFY9///vfjpz/9afzqV7/ard8HALJKIgiQAy+//HKsW7cuzjvvvJg2bVq5l7NLNTU18cMf/jDOOuusmDVrVoNzkyZNimnTpsW1114b1113Xclz7r///rH//vvv1jq6d+8ekydPbnDs0UcfjUKhsFvzAECWKQ0FyIHt27dHRESPHj3KvJKm/b//9/+iUCjERz/60UbnRowYEYceemj813/9V9svDAA6IIkgwF745S9/GWeeeWYcccQRMXz48Bg9enTMmTMntm3bVhyzbdu2+M53vhPHH398DB8+PI455pi4/PLLY8OGDcUxSZLEDTfcEOPGjYtDDjkkjjrqqPjKV74SNTU1Da63fv36+Na3vhUf+9jHYvjw4TFu3Li45ZZbmt2tuv766+P444+PiIgbbrih+J2566+/Pg455JD41a9+FR/96EdjxIgRsWjRopKvc/3118eIESPi2WefjfPOOy8OP/zw+NjHPhY//OEPI0mSmD9/fhx33HHxoQ99KM4///wWv3O5M0n96U9/2iB+Oy1YsCAefPDBBsc2bdoUV155ZRx77LFx2GGHxYknnlj8HSIaf0dwV5YsWRIf/OAH4wtf+EIUCoVG3xEcPXp0PPHEE7F27dpdfnewFH/84x/jvPPOixEjRsSIESNi+vTp8ac//anBmCRJ4q677opTTjklRowYEYccckiMHz8+brnllkiSpDhu9OjRMWvWrPj6178ehxxySBx99NGxbt26GD16dFx22WVx3333xcSJE+OQQw6JsWPHRnV19W6vF4COT2kowB5atGhRzJo1K0aPHh1f/vKXY/v27fGrX/0q5s+fH927d4/Pf/7zERFxxRVXxP333x9nn3127L///rFixYqorq6O1atXx49+9KOIiLj55pvjxhtvjGnTphUb1SxYsCCefPLJuP/++6Oqqio2bNgQp59+eqxduzZOP/30GDRoUDz88MNxzTXXxNNPP91kyeQJJ5wQvXr1itmzZ8cJJ5wQJ5xwQgwePDieeOKJ2LFjR8yaNSvOP//82LZtWxxxxBG7dZ3t27fHOeecE2PGjImxY8fGvffeG1dffXU89thjsXbt2jjnnHNi/fr1ceutt8all14aCxcubDKeRx55ZAwcODD+9V//NX7/+9/H2LFj46Mf/WiMHDky3v3ud0fnzp0bjN+2bVtMmzYtVqxYEVOnTo2DDz44fvvb38asWbNiy5YtcfbZZ7f4Z/jQQw/FV7/61Tj66KPjmmuuiaqqqkZjvv71r8c111wT69evj0svvbTBdwdL8fDDD8eFF14YBx98cHzxi1+Mbdu2xeLFi2PatGlx2223xT/8wz9ERMR1110XN998c5x00kkxderUqKuri5/97GdxzTXXRN++feOkk04qzrlkyZIYNGhQ/K//9b/ilVdeiT59+hR/n50fTuyzzz5xzz33xBVXXBEDBw6MY445ZrfWDUAHlwDQwFe/+tVkyJAhyZo1a5odN378+OS0005L6uvri8e2b9+eHH300cmkSZOKxw499NDk8ssvb/DauXPnJp/85CeTTZs2JUmSJB//+MeTz3zmMw3G3HXXXcknPvGJZPXq1UmSJMn3vve9ZMiQIcmvfvWrBuO+9a1vJUOGDEkefPDBJte6Zs2aZMiQIcm8efOKx+bNm9fo2O5cZ+frv/vd7xbHrFixIhkyZEgyYsSI5NVXXy0e/9KXvpQMHTo02bp1a5NrTJIkee6555IpU6YkQ4YMKf588IMfTM4666zkoYceajC2uro6GTJkSPLzn/+8eKy+vj751Kc+lXz0ox9NduzYkdx7773JkCFDksceeyxJkiR57LHHkiFDhiT33ntv8oc//CE57LDDknPOOSd5/fXXm43VmWeemRx33HHNrn2n4447LjnzzDOTJEmSQqGQHH/88cnpp5+e7Nixozimrq4uOeGEE5LJkycnSZIk27ZtSz70oQ8lM2bMaDBXbW1tMnz48OTCCy9sMP/BBx9cvC/efnzo0KHJsmXLisdeeumlZOjQockll1xS0toByA+loQB76Oc//3nccsstUVFRUTz26quvRu/evWPz5s3FY/vuu28sXbo0Fi9eHBs3boyIiIsvvjjuvffeYjnkvvvuG48//nj8+Mc/jldeeSUiIk4//fS47777il0yf/Ob38TgwYNjzJgxDdbxuc99LiIi/u3f/m2Pfo9//Md/bPC/d/c6bx930EEHRUTEhz70oeIuVUTEwIEDI0mS4u/WlEGDBsXixYtjwYIFcfbZZ8fgwYOjUCjE448/Hueff37ccsstxbEPPvhg9OnTJyZNmlQ8VlFREXPmzInq6uqorGz6/+JWrFgRF154YQwYMCBuuumm6NKlS7Pr2lNPP/10rFmzJsaMGRMbNmyIdevWxbp16+L111+P4447LpYtWxZ///vf413velc88sgjccUVVzR4/fr166Nnz54N7qeIiAMOOGCX3VMHDRoUBx98cPF/9+3bN/bZZ58W4w5A/igNBdhD73rXu+I///M/4/7774/nnnsu/vrXv8arr74aEREDBgwojvvWt74VF198cVx66aXxjW98Iw4//PA44YQT4uSTT45evXpFRMTMmTPjs5/9bFx55ZUxe/bsGDZsWIwePTqmTp0affv2jYg3nm/3sY99rNE6+vbtG7179461a9fu0e/x3/7bf2vwv3f3Ovvss0/xv3fq1GmXc+4suayvr29xPRUVFXHkkUfGkUceGRERf/vb3+Lee++NH/zgB/Ev//IvMXny5OjXr1+sXbs2DjjggAaJeETD2DflRz/6UVRWVsbrr78eL7/88m49kiIioq6urlFy1qtXr+jatWuDY3/9618jImLOnDkxZ86cXc5VU1MT++67b7zrXe+KBx98MP7t3/4tVq1aFatXry5+jzR523cEIxrHd6e3J987de7cuaS4A5AvEkGAPXTNNdfELbfcEv/jf/yPOPzww2Py5MkxYsSI+Od//ucGTV4+8pGPxL//+78Xfx5++OGYPXt23H777bF48eLo06dPHHzwwfGv//qv8dBDD8W///u/x0MPPRTz5s2L22+/Pe6+++4YPHhwo2Tg7err6+Nd73rXHv0e79w5293r7Op7de9MzkqxcOHC2Lp1a1xwwQUNju+3337xP//n/4wuXbrENddcE//1X/8V48aNi0KhsEfXiYgYOnRoXHbZZXHuuefG5ZdfHvPnz9+t1//oRz+KG264ocGx2bNnxyc/+ckGx3YmYF/84hfj8MMP3+Vc73//+yNJkvjKV74S999/fxxxxBExYsSIOO2002LkyJFxzjnnNHrNrmIe0fjPEgCaIhEE2ANr166NW265JSZPntxop+ftZXjbtm2LZcuWxb777hsTJ06MiRMnRn19fdx2220xZ86cWLJkSXzqU5+K5cuXR8+ePeP4448vdvhcunRpzJgxIxYtWhRf+9rXYsCAAfHcc881WsvLL78cmzZtiv79+6fyu7XVdd7p17/+dfzpT3+KT33qU9G9e/dG54cMGRIRUdx122+//eKZZ55pNO63v/1tLF26NL7yla80ea1zzz03/uEf/iHOPffc+OEPfxj3339/gxLTlkyZMiWOOOKIBsf++3//743G7dyd7N69exx11FENzv3pT3+KDRs2RNeuXeN3v/td3H///fG5z30uvvjFLxbH7NixI1577bXdfhYiALTER4cAe2Bnyd47//H/29/+Np5//vnYsWNHRES89tprcdppp8UPfvCD4pjKyso45JBDiv+9UCjE2WefHVdeeWWDuQ477LDimIiI4447Lp577rn49a9/3WDczu/NHXvssan8bm11nXc68cQTY/PmzfHd7363USljfX19LFq0KHr37h0jR46MiIijjz46XnnllfjVr37VYOyPf/zjePDBB+O9731vi9f83Oc+F/3794/Zs2cXv7+5K5WVlQ3WtP/++8dRRx3V4Od973tfo9cNHz48+vbtGwsXLoy6urri8U2bNhXLhauqquK1116LiMb3009+8pPYsmVL8X4CgLTYEQRowty5c3f5APaPf/zjccQRR8R+++0XN998c2zdujX23Xff+NOf/hQ//elPo0uXLsV/9L/vfe+LE088Me68887YsmVLjBgxIl577bW44447Yp999omPf/zj0blz5zjrrLPipptuiosuuig+9rGPxeuvvx733HNPdOvWLU4++eSIiLjwwgvjgQceiIsvvjjOOOOMOOigg+Kxxx6LBx54IMaOHZva4wHa6jrv9MlPfjIeeuihuOeee+KPf/xjjB8/Pvbdd9949dVX4//8n/8TzzzzTFxzzTXF3cLTTz897r333pgxY0ZMmzYtBg0aFA8++GA8/PDDceWVVzZZPvl23bt3j6997WvxxS9+Ma6++upGzVp26tOnT/znf/5n3HbbbfGhD32omKS35F3veld84xvfiIsvvjg++clPximnnBJdunSJRYsWxd/+9re4+uqro1OnTjFixIjo2bNnzJ49O/72t79F79694/HHH4+lS5c2uJ8AIC0SQYAm3H///bs8/v73vz8+8pGPxC233BLf/e53Y8GCBZEkSRxwwAHx9a9/PXbs2BHf+c534sknn4zhw4fHP//zP8f+++8fS5YsiSVLlkS3bt3iIx/5SMyYMaPY3OMLX/hCvOc974l77703rrrqqqiqqooPfehD8b3vfS8GDx4cERHvec974p577onrrrsuli5dGhs3boz9998/Zs6cGeeee25qv3dbXeedKisr47rrrov77rsv7rvvvrjjjjuitrY23v3ud8cRRxwRl19+eRx66KHF8V27do2FCxfGddddF0uWLIna2toYPHhwXHfddfHxj3+85OuOHz8+/vEf/zF+8pOfxEknnVRszvN2F1xwQTER/eQnP1lyIhgRMW7cuPjRj34UN910U3z/+9+PysrK+MAHPhA33XRTHHfccRHxRsOdW265Ja6++ur4/ve/H507d45BgwbFtddeG3/6059iwYIF8corrzRozAMAe6Miaa4rAAAAAB2O7wgCAADkjEQQAAAgZySCAAAAOaNZDAAAQAe1cePGXT4iSbMYAACAvbRl3bro9mY38Cx5/fXX4+ijjy4+A3mn7CaC73iYcCOVlS2PiYiD3v+DFseU6vnnLkxtrnatxNjTCsS+vMS/fMS+fMS+fMS+fMS+gYPe/8O9nmPgwJ7xf//vtBRWk20/+sd/jI0vvFDuZRT1Hjgwpv/f/xs1NTVRKBQanOvwpaGrV29oeRAAALBLq1c3Litk1za+8EJsWL26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paBv/2n6ETot7gh26dIl5s+f3+j4smXLIiJiv/32iw0bNsSaNWti3LhxjcYNGzYsHnzwwZYuAwAAQBvZ7a6ha9eujccffzyuuuqqGDJkSJxwwgmxevXqiIjo169fo/F9+/aNTZs2RW1tbfTq1WvvVwwAAMBe2a1E8LXXXovRo0dHRES3bt1i1qxZ0aVLl2L30G7dujV6TZcuXSIiYvPmzRJBAACgAytERIaeKB8VTZ7ZrUSwoqIi5s6dG9u2bYuFCxfGeeedF9dee2307du3xddWVpb8pIqdL0hnDK1D7MtH7MtL/MtH7MtH7CNiN565leZsJcQ+SW7Zy7WwS+57OrjdSgTf/e53x4QJEyIiYvz48TFp0qT47ne/GzfffHNEvNFY5p12HuvRo8furay+6S82RsQbb86WxtA6xL58xL68xL98xL58xL6oPsVUsLKZBg5vDSot9hVV/5TCit6SFG5Odb52yX3fOiTXmbLHfxpdu3aNY489NmpqauJ973tfRES8/PLLjca99NJL0bt37+jevfuerxIAACDz6jP4s2stJoIrV66M0aNHR3V1daNzdXV1UVFREZ07d46BAwfGU0891WjM008/HcOHD2/pMgAAALSRFhPBAw88MGpra+Puu++Obdu2FY+vXbs2HnjggRg5cmT07Nkzxo4dG48++misXLmyOOaRRx6JVatWFctJAQAAKL+KJElabGtz3333xcyZM+Pwww+PT3ziE7F+/fqorq6O7du3x5133hlDhgyJdevWxaRJk6KqqiqmT58eW7dujVtvvTUOOOCAuPvuu6Nz5867tzLfEcwusS8fsS8v8S8fsS8fsS/yHcEccd+3jhx8R/CggzbG6tXZuXcOPLAynn++9y7PlZQIRkQsXbo0br311vjLX/4S3bt3jw9/+MMxY8aMGDRoUHHMc889F7Nnz47f/e530bVr1zjmmGNi5syZ0adPn91ftUQwu8S+fMS+vMS/fMS+fMS+SCKYI+771iERbHOpJIJtTiKYXWJfPmJfXuJfPmJfPmJfJBHMEfd965AItrnmEsHdenwEAAAATSlEc506217Te34SQQCAEpS0i1eiUnYXK0scl/YOXkXVl1KbKylck9pcQLo6/v4sAAAADdgRBAAASEX7KQ21IwgAAJAzEkEAAICcURoKAACQivp4ozw0++wIAgAA5IxEEAAA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IX0PPfRQ3HTTTfHUU09FZWVlHHbYYXHxxRfH4YcfXhzjvm8dpcTePd96Hn300Zg3b14sX748evbsGePHj4+LL744evToURzj3m8dpcTevU9H1q4SwfXr18c555wT27ZtiwsuuCAKhULMnz8/nnnmmVi0aFF07ty53EvssJIkiZUrV8aYMWNi7NixDc4NGDCgTKvq2BYtWhSLFi2KUaNGNTjufdA2moq/90L6nnjiifj0pz8dH/jAB2LGjBmxY8eOuPPOO+PMM8+MO++8Mw499FD3fSspJfbu+dbz2GOPxfTp02PYsGHx5S9/OWpqamLBggXx5JNPRnV1dVRWVrr3W0kpsXfv0+El7ci1116bfPCDH0yeffbZ4rGHH344GTJkSHLPPfeUcWUd31//+tdkyJAhyb333lvupXR4O3bsSK6//vpk6NChyZAhQ5IzzzyzwXnvg9bVUvy9F9I3efLk5Nhjj002b95cPPbyyy8nI0eOTM4999wkSdz3raWU2LvnW89JJ52UHHfcccmWLVuKx+64445kyJAhyYMPPpgkiXu/tZQSe/c+HV27+o7gkiVLYtSoUTF48ODisaOOOioGDRoUS5YsKePKOr5nn302IqJB7Enf1q1b46STTorrr78+Jk+eHP369Ws0xvug9ZQSf++FdG3YsCGWL18e48ePj27duhWP77PPPjFy5Mj44x//GBHu+9ZQauzd861j69at8d73vjemTp0aXbt2LR7fWYXwzDPPRIR7vzWUGnv3Ph1duykN3bBhQ6xZsybGjRvX6NywYcPiwQcfbPtF5ciKFSsi4q2/DDdv3hzdu3cv55I6pK1bt8amTZti7ty5MWHChBg9enSD894Hraul+Ed4L6StZ8+e8ctf/rJBIrLT+vXro6qqyn3fSkqJfYR7vrV06dIl5s+f3+j4smXLIiJiv/32c++3klJiH+Hep+NrNzuCL774YkTELj+h79u3b2zatClqa2vbelm5sWLFiujRo0fMnj07RowYESNGjIgxY8b4NDJlPXv2jAceeCAmTJiwy/PeB62rpfhHeC+kraqqKg466KBG9/Ty5cvjD3/4Q4wYMcJ930pKiX2Ee76trF27NhYvXhzf+c53YsiQIXHCCSe499vIrmIf4d6n42s3O4J1dXUREbv85LJLly4R8cYnNb169WrTdeXFs88+G3V1dVFbWxtz5syJjRs3xoIFC+KSSy6J7du3x5QpU8q9xA6hsrIyKiub/nzG+6B1tRT/CO+FtlBXVxdf/epXIyLiM5/5jPu+Db0z9hHu+bbw2muvFSsQunXrFrNmzYouXbq499tAU7GPcO/T8bWbRLC+vr7FMS39A449N3Xq1Kivr49p06YVj02cODEmTZoU3/ve9+LEE08slhHRerwPys97oXVt2bIlPvvZz8by5cvjwgsvjFGjRsXvf//7Fl/nvt97u4p9hHu+LVRUVMTcuXNj27ZtsXDhwjjvvPPi2muvjb59+7b4Wvf+3mkq9uPHj3fv0+G1m789dj7TZevWrY3O7Tz29ue+kK4zzjijwV+EERFdu3aNyZMnxyuvvFL8QjWty/ug/LwXWs/GjRtj+vTp8fjjj8fJJ58cM2bMiAj3fVtoKvYR7vm28O53vzsmTJgQU6ZMierq6thvv/3iu9/9rnu/DTQV+wj3Ph1fu0kEd35x9+WXX2507qWXXorevXv7Am8Z7HyY7ebNm8u8knzwPsgu74W98+qrr8bZZ58df/jDH+K0006L73znO1FRURER7vvW1lzsm+Oebx1du3aNY489NmpqauJ973tfRLj328rbY79u3bomx7n36SjaTSLYu3fvGDhwYDz11FONzj399NMxfPjwMqwqH1588cWYOHFi3HDDDY3OrVq1KiIiBg4c2NbLyiXvg/LyXmgdmzZtivPPPz+WLVsW5557blxxxRUNEhH3fetpKfbu+dazcuXKGD16dFRXVzc6V1dXFxUVFdG5c2f3fisoJfZbtmxx79PhtZtEMCJi7Nix8eijj8bKlSuLxx555JFYtWpVs13+2Dv9+vWL2traWLRoUWzatKl4vKamJhYvXhxHHnlkSd9jIB3eB+XjvdA6rrjiili2bFmcffbZcemll+5yjPu+dbQUe/d86znwwAOjtrY27r777ti2bVvx+Nq1a+OBBx6IkSNHRs+ePd37raCU2A8YMMC9T4dXkSRJUu5FlGrdunUxadKkqKqqiunTp8fWrVvj1ltvjQMOOCDuvvvu6Ny5c7mX2GH9+te/josuuig+8IEPxKmnnhp1dXVRXV0d27dvj7vuusvDVlvJ6NGjY8CAAbFw4cLiMe+DtrOr+HsvpGvlypUxYcKE6NWrV3z961/fZeOFyZMnu+9bQamxd8+3nvvuuy9mzpwZhx9+eHziE5+I9evXF2N75513xpAhQ9z7raSU2Lv36ejaVSIYEfHcc8/F7Nmz43e/+1107do1jjnmmJg5c2axXpvW8+tf/zp+8IMfxPLly6Nr164xatSouOSSS/xF2Ip2lYhEeB+0labi772Qnrvuuiu+9a1vNTvmmWeeiQj3fdp2J/bu+dazdOnSuPXWW+Mvf/lLdO/ePT784Q/HjBkzYtCgQcUx7v3WUUrs3ft0ZO0uEQQAAGDvtKvvCAIAALD3JIIAAAA5IxEEAADIGYkgAABAzkgEAQAAckYiCAAAkDMSQQAAgJyRCAIAAOSMRBAAACBn/j9AxQd63bHGLAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 1440x1008 with 2 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_173_1.png"
}
},
"output_type": "display_data"
}
],
"source": [
"clf_lasso = skl.Lasso(alpha=_lambda).fit(X_train, y_train)\n",
"J_lasso_sk = clf_lasso.coef_.reshape(L, L)\n",
"fig = plt.figure(figsize=(20, 14))\n",
"im = plt.imshow(J_lasso_sk, **cmap_args)\n",
"plt.title(\"Lasso from Scikit-learn\", fontsize=18)\n",
"plt.xticks(fontsize=18)\n",
"plt.yticks(fontsize=18)\n",
"cb = fig.colorbar(im)\n",
"cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It is quite striking how LASSO breaks the symmetry of the coupling\n",
"constant as opposed to ridge and OLS. We get a sparse solution with\n",
"$J_{j, j + 1} = -1$.\n",
"\n",
"\n",
"\n",
"\n",
"We see how the different models perform for a different set of values for $\\lambda$."
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
" 0%| | 0/10 [00:00<?, ?it/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:647: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 3.924e+00, tolerance: 1.797e+00\n",
" model = cd_fast.enet_coordinate_descent(\n",
"\r",
" 10%|█ | 1/10 [00:00<00:06, 1.50it/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
" 20%|██ | 2/10 [00:01<00:03, 2.11it/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
" 30%|███ | 3/10 [00:01<00:02, 3.06it/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
" 40%|████ | 4/10 [00:01<00:01, 4.00it/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
" 50%|█████ | 5/10 [00:01<00:01, 4.87it/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
" 60%|██████ | 6/10 [00:01<00:00, 5.73it/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
" 70%|███████ | 7/10 [00:01<00:00, 6.34it/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
" 80%|████████ | 8/10 [00:01<00:00, 6.22it/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
" 90%|█████████ | 9/10 [00:01<00:00, 6.41it/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"100%|██████████| 10/10 [00:02<00:00, 6.14it/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"100%|██████████| 10/10 [00:02<00:00, 4.66it/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
},
{
"data": {
"image/png": "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tpjTnn/++TriiCPMf+eff37StFVVVerp6VFdXV1/bMuWLZoxY8agcoeadrTjAWA4vKeqEl9BMGnSpP7hcDjsjovFYjr66KP1i1/8ov/fQw89pMMOO8ytf6zyujT83J6pvD7U9OR1AJnw7LPP6sILL5Qk/dM//ZM+8YlP9I/zcqwXH04bfqDxnselfddGJ48DGAv0p9T1xzLVn5IKuRxAOuhTGT99KkMhv48ON+LGqQ9/+MN68skn1draKkn62c9+puLiYlVWVvZP85Of/ETXXHONjjnmGP37v/+7jjnmGG3evDlluanmmTp1qubNm6errrpKV155pXbt2uWWc+edd2ru3Lk6/vjjJfW+D9b7Acp7771Xr732mvnv3nvvTZq2oKBAJ510klauXKnOzk698sor+vWvf62PfvSjg8odatrRjo9Go9q9e7disZh6enq0e/fulJ0oALDXokWLtGrVKrW3tysWiyX9cO2xxx6r1atX65133pEkPfzww/3jjj76aL3wwgv605/+JKn3Sa/TTjtNXV1dbl1jldel4ef2TOX1oaYfbV6XyO0ABnvhhRd0/PHH65Of/KRmz56tZ555Rj09PZL8HOvFvTZ8qm9ZjPc8Lu27Njp5HMBYoD8l8/0pkp+P023/A8BA9KnE7cs+FSl1W5v8PkoBxq0HHnggWLZsWbBkyZLg7LPPDrZu3RqsW7cuWLp0aRAEQbBz587g85//fHDyyScHZ5xxRvC5z30uaGtrS1mmN09iuUEQBBdeeGFw3XXXBUEQBOeff37wzDPP9I97/fXXg+OPPz5ob2/vj/3sZz8Lli9fPibr/fbbbwef/exngw984APBscceGzz22GNJ4//1X/81uOuuu4Y17WjGr1y5Mpg5c2bSv5UrV47JOgKYGBJz58A8+r3vfS848cQTgzPPPDNYsWJFcPbZZ/ePu++++4JTTjklOOOMM4Irr7wyWLJkSf+4J598MjjttNOCU089NTjjjDOC3/3udymXYSzyehBkNrenk9eHmn60eZ/cDmCvvXly27ZtwUc/+tFg2bJlwcknnxzceOONwYc//OGgp6fHzbGp2uFWGz6VbMjjQZA6v6aTx4caTx4HMBboT8l8f0qqfDzUvAAQBPSpDNe+7FMZqq1Nfh+5vCBI+C4nYHjooYdUVlamRYsW7e9FAYCs9/vf/16vvfaazjnn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b3xDsVhMl19+ub7zne9o7969uu2227Ry5cqFWE9AkhRXtuD3BKP3mvFYxR86y/9rwXUAS1VYOfzI/1yvIJCqJI2sPVOStHOnvex5G0fcckZUZcbPOcdefvduO55M+Llh9277x98tF9S677HE+w9NDaxcORarrnbf07Dcjqczdrszq9aZ8c5Of71WrbLjl11wyH5heNgMP3SwzYy3bDDaN97mht59dh2rV5vhz37W3hfXXuf/QP/jN9v79s5/td/z2tfa8UzGrULeBQLqNDDl2cTz/b3m8jX19WZ8qNL/nFUN9tgvJOwuWrLfXn7fYJNbh3uI9hrtWLZMctqBhRdmP9zK416OPXvtkF9QdY0ZLjSP5+vjPfaY/Rl93QXOwe184OO9OZ+fpqbJ57W1bt1NzktZ5/trqNXO492dbhVeytQ7LvLyeMoM7z7YYsZb1k/bTjlJoaF7j/me7Fq7HV/8or1K26/38/hNN9r79p5v2u959auLmMcrc/sgVZPP9x80l082NtrFn5wnjw87+8nh5fEDw34edw9R8viSx3gKlhLvuzab52JZweg9ZjxW8SZn+TsLXzFgiVrovnikxlSOj6dI0RtTye2LR2ZMpW7q+Eq5jqnM0A+f8dKUK1as0HXXXadkMqlly5bpJS95iXp6etTT06Pt27dr69atuvXWW5XNFj5BAgAIFzkcAEoXORwASht5HABKFzkcQDHNOBF3+umna/369ZKkzs5Offvb39bv//7va+PGjbrpppt01113adeuXbr77rvDXlcAQIHI4QBQusjhAFDayOMAULrI4QCKKRYEQTCbBZ966im9853v1JVXXqk3vOENU177zne+o29+85v63Oc+F8pKAgDmhxwOAKWLHA4ApY08DgClixwOoBhmvEecJD3xxBO66qqrtH37dm3ZskU/+9nP1NnZqde85jWSpCAIlHCuu+k6/rPdeHzycZTQ7kW34PeIW0JtD118xh/bYgGFkcOPHNHY9cyrpJHxy5UX83rmlZX28t71zM9Y73+27rvfu7dQ2n2PaXBw6vOVK6VD+e8R50knnOuZO9fcnsv1zJODxbme+eYNA1MDdXXSwHjMujeN5F7PvKfX3he33GIXI83leuZ2OfmuZ+4db1WpnLbPpt1zuJ55zXBh1zP3GpLveuZe+9qGjXtDLVsmvfSlbllYeKH0w2Xn8bnc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f/31KisrU2dnp1t/IfO6NPu5fbby+lTvk9eB4HrTm96ka665Rvfee6/+/u//Xo8++uj4H4hejvXiXh++q6vLrT9IeXyq+YuZ5wHMX4yf2ArZ9yV3AygUxlCOTSFzKmPnxxcn4uaIVCp1VCydTiuZTI6/Pvnkk/WDH/xAH/rQhzQ0NKS//Mu/HP9ZrifXZxYsWKC77rpL3/3ud/Xcc8/lLOfQoUPauHGj/u7v/k6VlZVqbW3V3r17zXkvu+wyvelNbzL/XXbZZVOtigmampo0MjKijo6O8djevXu1dOnSvOfN9f6xfBZAsHhXWWXfkmDBggXj0+Fw2H0vlUrp9NNP1/e+973xf/fdd59OOeUUt/5C5XVp+rm9FPP6VO+T14Hg+vGPf6zLL79ckvS///f/1vvf//7x97wc68Wn04efLEh5fKr5i5nnAcxfjJ/YCtn3JXcDKBTGUIrb92bsvHRwIm6O+JM/+RM9/PDD6u/vlyR9+9vfVmVlpRobG8fn+eY3v6kbb7xRZ555pv7mb/5GZ555pvbs2ZOz3FyfWbJkiVatWqWPfexjuuGGG3Tw4EG3nC9+8YtauXKl3va2t0kavcer90DKr371q/rFL35h/vvqV7961PzJZFKHDh1SKpXSyMiIDh06NN6BjsViOuecc7R161YNDw/rmWee0Y9+9CP96Z/+6VHlTDVvrveP5bMAsGbNGj366KMaHBxUKpWa8DDas846S4899pheeeUVSdL9998//t7pp5+un/70p/r1r38tafTKr3e9612Kx+NuXYXK69L0c3sp5vWp3ievA8H105/+VG9729t04YUXavny5frhD3+okZERSX6O9eJeHz7Xry5KIY9Lfi7PN38Wsw9OLgeCifGT/PvZ5G4AcwljKBMdyxgKY+clJI0545577kmff/756fPOOy998cUXp/ft25fevn17et26del0Op1+9dVX03/913+dPvfcc9Pvec970n/1V3+VHhgYyFmm95nsctPpdPryyy9P33TTTel0Op2+7LLL0j/84Q/H33vuuefSb3vb29KDg4PjsW9/+9vp9evXF6TdW7duTbe0tEz4t3Xr1vH3X3rppfRHPvKR9Bvf+Mb0WWedlX7wwQfH3/u///f/pr/85S9Pa96p3j+WzwIIhuzcOTmP/tM//VP67W9/e/q9731veuPGjemLL754/L27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0mc/+1l95zvfUVNTk172speVjPfFL35R995775E/Fr///e/r0UcflSQ9+uij+vznP6+DBw8qGo3qQx/6kF796le70xDk4+5Kc2o19yPkd6B20X9S6mT3n5ys43TyOFDf6EM52qly7EvunhmciDtJfvazn2nv3r26++67FQqF9MUvflH/+I//qNe85jV65JFH9OKLL+pf/uVfdOjQIX30ox/Vr3/9a/30pz814/39/frSl76ku+++W4lEQt/61rd09dVX61//9V/V0NBg1u/VcdjWrVv1V3/1V/rCF76gRYsWHVObPvOZz6ilpUX//u//rhdffFGnn356ye+VJKKpjIyMaO7cuSWxuXPn6sUXXzym36ezrHK/VzIdAGrHj3/8YzPvfuQjHzkyjJdnJ3f2Fpvu3DxVXpZOXm4mbwOYKc8884y+973vqa+vT5/4xCckSd/73vf08MMP67777lM0GtXVV199ZPh/+7d/07e+9S3de++9mjt3rv7n//yfR37r6enRZz7zGd15550644wz9Mwzz+g973mPHn74YcViMbP+IB93V5pTq7kfIb8DtYv+kxNzMvNnNfcZ5HGgdtGHYjtVjn3J3TODR1OeJK9+9at13XXX6Rvf+Ib+5m/+Rps3bz6yAr7mNa/Rnj179Ed/9Ef64he/qD/+4z/Wy172Mjf+b//2b1q7dq0SiYQk6a1vfasGBwfV19fn1u+VJUkDAwN6//vfrze+8Y3HfBD505/+VA899JD+z//5P5o7d+60vtTSEovFlE6nS2LpdPpIgpzq9+ksq9zvlUwHgNrh5d3f/OY3R4Ypl2c905mbT3Zelk4sH5K3AVTLS1/6Up155pklsR//+Me6+OKL1djYqHA4rD/4gz848tsPf/hDrVmzRvF4XA0NDXrnO9955Lcf/ehH2rt3r9797nfr93//93X99deroaFBvb29bv1BPu6uNKdWcz9CfgdqF/0nJ+Zk5s9q7jPI40Dtog/Fdqoc+5K7ZwYn4k6SH/zgB7rqqqskSf/1v/5Xvf3tbz/y21lnnaVHHnlE73vf+5ROp/We97xHjz76qBvP5/NHlV8oFJTL5dz6vbKksefh3nHHHfr2t7+tn/3sZ1O25cCBA9q4caP+1//6X2pqatKiRYu0a9euo4a78sor9epXv9r8d+WVV05ZT7H58+fr0KFD6unpORLbtWuX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\n",
"text/plain": [
"<Figure size 2304x3888 with 30 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_175_13.png"
}
},
"output_type": "display_data"
}
],
"source": [
"lambdas = np.logspace(-4, 5, 10)\n",
"\n",
"train_errors = {\n",
" \"ols_sk\": np.zeros(lambdas.size),\n",
" \"ridge_sk\": np.zeros(lambdas.size),\n",
" \"lasso_sk\": np.zeros(lambdas.size)\n",
"}\n",
"\n",
"test_errors = {\n",
" \"ols_sk\": np.zeros(lambdas.size),\n",
" \"ridge_sk\": np.zeros(lambdas.size),\n",
" \"lasso_sk\": np.zeros(lambdas.size)\n",
"}\n",
"\n",
"plot_counter = 1\n",
"\n",
"fig = plt.figure(figsize=(32, 54))\n",
"\n",
"for i, _lambda in enumerate(tqdm.tqdm(lambdas)):\n",
" for key, method in zip(\n",
" [\"ols_sk\", \"ridge_sk\", \"lasso_sk\"],\n",
" [skl.LinearRegression(), skl.Ridge(alpha=_lambda), skl.Lasso(alpha=_lambda)]\n",
" ):\n",
" method = method.fit(X_train, y_train)\n",
"\n",
" train_errors[key][i] = method.score(X_train, y_train)\n",
" test_errors[key][i] = method.score(X_test, y_test)\n",
"\n",
" omega = method.coef_.reshape(L, L)\n",
"\n",
" plt.subplot(10, 5, plot_counter)\n",
" plt.imshow(omega, **cmap_args)\n",
" plt.title(r\"%s, $\\lambda = %.4f$\" % (key, _lambda))\n",
" plot_counter += 1\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see that LASSO reaches a good solution for low\n",
"values of $\\lambda$, but will \"wither\" when we increase $\\lambda$ too\n",
"much. Ridge is more stable over a larger range of values for\n",
"$\\lambda$, but eventually also fades away.\n",
"\n",
"\n",
"To determine which value of $\\lambda$ is best we plot the accuracy of\n",
"the models when predicting the training and the testing set. We expect\n",
"the accuracy of the training set to be quite good, but if the accuracy\n",
"of the testing set is much lower this tells us that we might be\n",
"subject to an overfit model. The ideal scenario is an accuracy on the\n",
"testing set that is close to the accuracy of the training set."
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1440x1008 with 1 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_177_0.png"
}
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(20, 14))\n",
"\n",
"colors = {\n",
" \"ols_sk\": \"r\",\n",
" \"ridge_sk\": \"y\",\n",
" \"lasso_sk\": \"c\"\n",
"}\n",
"\n",
"for key in train_errors:\n",
" plt.semilogx(\n",
" lambdas,\n",
" train_errors[key],\n",
" colors[key],\n",
" label=\"Train {0}\".format(key),\n",
" linewidth=4.0\n",
" )\n",
"\n",
"for key in test_errors:\n",
" plt.semilogx(\n",
" lambdas,\n",
" test_errors[key],\n",
" colors[key] + \"--\",\n",
" label=\"Test {0}\".format(key),\n",
" linewidth=4.0\n",
" )\n",
"plt.legend(loc=\"best\", fontsize=18)\n",
"plt.xlabel(r\"$\\lambda$\", fontsize=18)\n",
"plt.ylabel(r\"$R^2$\", fontsize=18)\n",
"plt.tick_params(labelsize=18)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From the above figure we can see that LASSO with $\\lambda = 10^{-2}$\n",
"achieves a very good accuracy on the test set. This by far surpasses the\n",
"other models for all values of $\\lambda$.\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"## Exercises and Projects\n",
"\n",
"\n",
"\n",
"The main aim of this project is to study in more detail various\n",
"regression methods, including the Ordinary Least Squares (OLS) method,\n",
"The total score is **100** points. Each subtask has its own final score.\n",
"\n",
"\n",
"We will first study how to fit polynomials to a specific\n",
"two-dimensional function called [Franke's\n",
"function](http://www.dtic.mil/dtic/tr/fulltext/u2/a081688.pdf). This\n",
"is a function which has been widely used when testing various\n",
"interpolation and fitting algorithms. Furthermore, after having\n",
"established the model and the method, we will employ resamling\n",
"techniques such as cross-validation and/or bootstrap in order to perform a\n",
"proper assessment of our models. We will also study in detail the\n",
"so-called Bias-Variance trade off.\n",
"\n",
"\n",
"The Franke function, which is a weighted sum of four exponentials reads as follows"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*}\n",
"f(x,y) &= \\frac{3}{4}\\exp{\\left(-\\frac{(9x-2)^2}{4} - \\frac{(9y-2)^2}{4}\\right)}+\\frac{3}{4}\\exp{\\left(-\\frac{(9x+1)^2}{49}- \\frac{(9y+1)}{10}\\right)} \\\\\n",
"&+\\frac{1}{2}\\exp{\\left(-\\frac{(9x-7)^2}{4} - \\frac{(9y-3)^2}{4}\\right)} -\\frac{1}{5}\\exp{\\left(-(9x-4)^2 - (9y-7)^2\\right) }.\n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The function will be defined for $x,y\\in [0,1]$. Our first step will\n",
"be to perform an OLS regression analysis of this function, trying out\n",
"a polynomial fit with an $x$ and $y$ dependence of the form $[x, y,\n",
"x^2, y^2, xy, \\dots]$. We will also include bootstrap first as\n",
"a resampling technique. After that we will include the cross-validation technique. As in homeworks 1 and 2, we can use a uniform\n",
"distribution to set up the arrays of values for $x$ and $y$, or as in\n",
"the example below just a set of fixed \n",
"values for $x$ and $y$ with a given step\n",
"size. We will fit a\n",
"function (for example a polynomial) of $x$ and $y$. Thereafter we\n",
"will repeat much of the same procedure using the Ridge and Lasso\n",
"regression methods, introducing thus a dependence on the bias\n",
"(penalty) $\\lambda$.\n",
"\n",
"Finally we are going to use (real) digital terrain data and try to\n",
"reproduce these data using the same methods. We will also try to go\n",
"beyond the second-order polynomials metioned above and explore \n",
"which polynomial fits the data best.\n",
"\n",
"\n",
"The Python code for the Franke function is included here (it performs also a three-dimensional plot of it)"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"<ipython-input-30-bc298b802fe2>:9: MatplotlibDeprecationWarning: Calling gca() with keyword arguments was deprecated in Matplotlib 3.4. Starting two minor releases later, gca() will take no keyword arguments. The gca() function should only be used to get the current axes, or if no axes exist, create new axes with default keyword arguments. To create a new axes with non-default arguments, use plt.axes() or plt.subplot().\n",
" ax = fig.gca(projection='3d')\n",
"<ipython-input-30-bc298b802fe2>:37: MatplotlibDeprecationWarning: Auto-removal of grids by pcolor() and pcolormesh() is deprecated since 3.5 and will be removed two minor releases later; please call grid(False) first.\n",
" fig.colorbar(surf, shrink=0.5, aspect=5)\n"
]
},
{
"data": {
"image/png": "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htWLf4Rl7tfTNA2K0locJjUrGZJEirfUcqRarY2rTuTUvuKG5glJolvqbGAvrouigEQihtHRXMfH5QTzEAIa4YmiAEHgx6Va53kOmUwKw8NjHR8bteaVpObxmOtVPM9jYKAn0Lmzbt1a3H33bdB1DSeffDJOOOEEy+OPPfYYVqxYAQDYaaedcNlllyGRSODdd9/F+eefj+HhYXz0ox/FlVdeidyNl0LLjXT8vuxg031In3VZaPvrBBPQ+EssRezL/YGeqcMwnAta9wFg9EHl8+VA7R8Mw+CJrecDALgYB13RLMQEAE9MJ49TkqJEUy5XfLU97bgVKEodlUoVDMMim80bfW8TKRVobWvhG35I1hpRt1Icc0TmrFoXPVTrwfbbKbzqVW+//RYuuOACzJs3D7vt9hF89KN7IZl0dsIcHNyElStvwG233YOtturDcccdh3322cew3c3lcsbopx122AErV67Eddddh4svvhjLli3DwoUL8ZnPfAZ330363xiBBxuiMJeZAJGvH0I9AreVG9JI296UXbLCQ65MQQWS5v49mh554W877Nt8vRgJiXVFa9wnIaBatv7gn5g+H717pDH/iSeQyxXBcZznygNNR2u14K07zRVOc4rhLhXodp3IPLDTXCOKx8mCQSaTDNXcjmHg2tVvrg/ROXOUOIOkXGETuvl4JCmBQw45BH/729/wwAMPYPbsD+K225zHKz311N+w557zkU5nEI/Hceihh2Lt2rU455xzAABvvPEGtt56a4OsDjzwQJx22mn4xje+gSeffBI//vGPAQCHHXYYeW9suGkd4ycUnAB0ubeOnEztEAzQXL5XlHrgKMucMioKGbnkhdeP+XTL3ygxmcHF2BaCGn02h78f8HHs9NAj8FryNteXwmicdZIKSJKInp4kGIadEAdMM2HWagricQm1Wt0iExi/vzkDwD8qo6p1aiTnRN5my+BurQJScByHY489Dqeeeio2bsyiXHb/zQ8NDaK/f8C4P336dDz33HPG/e222w4bNmzASy+9hDlz5uDhhx/G0NAQRkdHkUwmwTdsPvr6+gAADM8BIfbWMSHuq1N0jZxoGtfunDHz8r0oCoH0EHYtEh3K6IbXj/k0Bp8JbvNBo6je3az6jlcOPwi7/O73Tk8x0r7gTgrtgxIALSSbZ6pN1BAEXUeLTGC8SvFOScRd50UK7HSScDfdHoiXkw5BECB4rHj5aX/S6TSuvvpqXHLJJdA0DcceeywEQXDVCDEcD/DhrbAx3GaW1gGtqm1RFAKtPNH0p10Hgna0SDRaciImp6jJjIGP9AAA1Jp1uxcP/SQyszKYccsqAO26YYYnNrTXiewkoWka6nUVHMd21a7XTSne3oircD4Xu2Wws9tDuJFm0Cbo6dNn4Nln/27cHxwctGh/VFXFzJkz8Ytf/AIA8Nxzz2HbbbdFX18f8vk8VFUFx3EYGRnB9OnTN8vIKdTEkudZo/m2UCg3fnz+XzopKMZQqVgdCLyUpKRpN9HwA7cry1u1VV7E5AdKTADAic4f2cbTjwbHsUilmo3Efld/PzuN8YD035UwMpLF4OBoI6Jk0deXwcBAL1KpBCRJHJejgF+EQ1PAXK5oc1iQPB0WupF+URfQWs3u9iBiYKAX/f09oTQu08jJD/Pn742nn34So6OjKJfLWLdunUX7wzAMFi1ahI0bN0LXddx55504/PDDIQgC5s+fj4ceeggAsG7dOvIEKiUI7baZ1Zzqdb3FCtdPqt6Jj7hfLcf+mub60sDuPZ7vYfBp/+VYTmQtEVT27SwyszJ499SjMOuO1b71JXIVlxsiQ7NSuwZdDy7vDwo6B69Wq6NUKrdMqvWa8+aN9iIc6rBgH3HVnNRCIhmGYdvab+CjNRXE3Y5lvCrxoEX3adOmY/His7FkyRnQdQ3HHHMMdt99d4s26LLLLsNpp52GWq2G/fbbD6eeeioAYOnSpbjwwgtx4403Gh7iDCeEnNaFt6+OjyFsm17eRnekVYFHsWj1MTJPNXHzOBJFHjzPWx4nam8OhULFs5bT05PE2FgBlSvOwHvPvInUzDRy72YDvQczQZmjJjPs6R0AS3rnBqoOr1YV5PNFy4qTIPDGIoAo8hgeDna8QUAiOt1YAqcgE3CamqZ2CuuyLEGSBGNs+HhgdliIxaQGaVdDlU2Y9VN+x0LrVTS6DOrCSQaNcigUgrdjhWHTW/31jdCL4enNmEQa0pFnhba/TjDhCnEgWJ8beW4zcrKqvYPVpMzE1A6mfZSsgOgeP0J79ASQCAqnH+1KULQp2BzxmXUzhCjIycnzPKZN623YxNZCUUc7RSO6DsOKNp+nEg6xpbDuNCQzzPTL7LBABi9UDdvk8IZ1BotGrap1LxdO+r3YX2NiLXoBABzfGhmMd3+TjAk5gtY+Ny7QKhYltk6m82684IsobBgziClo1GRG3wf7MfL6sOvjTgQFkPqTnaBoU7D9fd+2vrfl+WcenAfLEhGmc/9bGGOdnOHUpGtPvZrTc7sDhoGhSndyWGhXfGlGJwTfOjWGN+xgMpmU8b0MD49A1+vIZHp890nV4fV6HYsWnWJRh7/44ou48MILjfsjIyPIZDL4zW9+g6eeegpXXXUVFEXBNttsg2uuuYa4BHBcuIQyBWx6u57WcRyLeFxGsVg2PLT9rGqb++IMvVKxGHxAZTwu481Fn7X8rRNy6p1NiMOLoIDWFC8zKwMAmHHLqoazJ1mpKhabRfJbHk0AIHU61/2qOk7/1Jhxn6YZ1vQrmLc47duzp3XtwJyCUm8kTdNQKBRbIojxoK8vg0Kh5CqBsB9HUIcF8hmogX9/QWDuS7z66uW4//77sfPOczB//j747/9eiN7evpbnDA5uwtlnn4bbbrsHgiDinHNOw7XXXmsILs0ol8v4whe+gG9/+9uYP38+Dj74YNx4443YYYcdsGLFCvT09OC0005Ddd1d0MvhTUtiYilIh5wc2v46QeiRk72Ireu6Ydnb7nTeWEwCwzDI5QqBfvg09cteNf5cmRIT4B9BUWy774eM/+feHsbG04/GjvethaLUjasu0CQmgAyBAKwkpaq6adse4/+nf2rM0DU10y8J6XTQtGe8BmhW0SNd3aIRxHisRlqO1OMLdxJfBnFYCHMSb/M4m5KF008/G0cccQT++Mc/4cknn8K//vUK9tpr35bnmNXhAFrU4WbcfPPN2GuvvTB/PmmfeuihhyAIAhRFwcaNG5tDEfiQ07ow99XpIXT7BWSZEEw+Xwoc+VC1d61WhyAEq2vQ54xecSZGXrYarHcSNdnhRVCzP74jNJeTsVJp1tVuf4z2WbW+IZ5nLKTkhFse7YGq6jjrkGxL+mVPe5q1qu6pxUnzch35fNFmfZI2uV+2PzWm3VqWW/+d3WGBtgR1CzzPY88998Quu8zDF7/oXhfzU4dT5PN53H///VizZo3xN0EQ8PLLL+OUU04Bz/M4//zzyQObYVrXNXIyF7ABBCYmc4OwpmkQhHjg54xecea4jpnCHDX5Ydbe2zv+PT2rH7GBHtS+fx5u3+0Gy2M0WgKaEZOZmPwev3Fdxvj/WYcQ4jUby1G1OK0V0Tl43SzUOhWRiSlgO5EdxfiKytb+u6bDgiw33Q3IcYSXilIEkRIEdYb89a9/jYMOOgj9/f2Wv++888544okncN999+Hyyy/H9ddfDzAcwIZIKMxmSk72AnZPj3NnthlORnIMw3ja1ZrrOZSY7FFTfCCF+EDrUi3Lc3j3//7Txrvyjp5YnnONnha9cDbu3v0GOD1M3x/PM471J4Zq4VyypBvXZaBqOs45rLmM7KQWT6USkGUJsZhsiWjG11rjTiJ2HZFzQdv5GMJcBTR/FgyTbkRQjKsL53gRhJz81OEUjzzyCM444wzjfrVaxeOPP46DDjoIAHDkkUcargQ6z0EPNa3bDMkpHm96FgWNltyM5PwU4sZzrmnN1Xu3J/aiVQ8NztZ7zgaAtkjKTFBuURNFeWgMsYEeAMAXnz0T9+xxEwCgrsIxhbPXn1RTOsYLpmhKaX38R2ubcgkzUQHNlpJKhUxMocVkWiR38moKgnZIxBrZmd0EEtB1zSKZCNtD3Hy8NIJrdeFsTmkZT/N0kLrW/Pl74/bbb8Ho6ChisRjWrVuHyy+/3LKNrut44YUX8JGPfMT4G8/zWLZsGWbOnIm5c+fi4YcfNkSYYHlyCwth7qtDhH4E9To5AcxfECUZpyuKKAqIxYIbydmfU732q83XqasGKXnBPhl16z1nGwQVJKXr+2A/4tN6HPfrFj0xjRBI1ah/eGshvLkt+ZfnGNSdSExgDIJyAiUqO0kBTsVkq1dTWOZ2XnAraNNjYBgGsiyjWq2GKpmw/wbd9EzBBzG4vYb3NmZ1uKLUcdxxx7aow0dGRhqrgJLxPI7jcN111+HSSy+FqqqYMWOGMfVEZ1jooaZ1k9++ErqUwMkNM51OoFBobcylrSvEGdL5MKjSu/kcopOq3nUZGFFC6bU3AADSQB8qGwYtz3WLmrzGNpeHg6lsnciJwk5QNHrSdQ13zrvJ9XnVqjsZUJJyIyVzFFV3aGK+ZKHuu4xuVmlLktAQaNYcxYZAcMV1O2AYBgMDvajVahAEAQwT3jj2/v4eZLP5wIRHBzFIkhjIYYFhGMyY0Y+RkYLv4oYZYSjES0+vhV4N8XuQ4oh/9LDQ9tcJJih202EO1c0DBPzU3lSaQLr9SYG9du/VBjFJA0RHYiemThCb3ofY9D6MvPiG53b9c0k6V97oLy8wg2FYnF26BjfEWwcPaqoOoRFNKR7aJ7eoiWs4P1Srzife5T9jAPD42gL343Oag0eW6M1SAUISqqp2xbyNRNlALlc0PN1JYV3uoLBuRbvtik6DGMyz+NxIs5ueUW7QWQ56qGndZlhzcoJZ+9Sc6xa0xqGD55sFduaBawHAQkxO6CRqoujbZTtfgvKCPb0z157Kr72B0w/6De4cPgIAUKm0/pLtJGVP7Wj9yUxS9XrDwZMjjzlduRVFxXcfIAsI53/eX4xpHYLQan9CbVjCJ6nmhcyvsN7e5JrOj9NpFp95NbJcLuPaa6/Drrvugt12+wj6+6d57s9LIQ4AP/rRj7Bq1SpjRtyxxx6Lww47DIsWLTK2yefzkGUZDz30EHSGCzmt22LISTdEle0WywGSyhWLFfCrvw8AYJJJCzGFETXZ4UZQNGoCgNiM/sDRU2zH7VF+9d8AAP61f0JNEnISGkSjeNSQvGpPSk1zJCJKUgBQqbRGGO2QFOB0cnJIpxMQBNIDGGZrjVeh3UkyYZ5c41XcD1OEaSdNTVORy+WwYsUKjIyM4MMf3hPXX3+z44KO2T+cKsTN/uEA8Pzzz+Paa6+1FMQBYPXq1Y3XI0MRTj6ZqLh1joMe6Zy84eYjHo9LUFU9gAEbAZUJkJpG2UJM9XffDfegQVI6O4JEUG4EZY6e+vb7qOWx8mtv4IwPXYObk830TjCtxpXKrcTNN8jGTFJKzT9aqlZVz3FFl/+E/AQuObG9FElV1cYyPJno0rQMNq96dVYnCtqg6ySZaB2OaU5DuyfCZFkOF154EXp70/jzn5/G0NCQ6/sIohB//vnncfPNN+Odd97BXnvthW984xuW4viqVasQi8UMWYHOcNDDjHa2hMiJ5znDCsRum+IGs0yApgxMY4qFnZicoqbxpHRhwk5KsR23BxINzVcuizMKVoKiAYfYMLSrOTQV8xwDRdGNNM4MM0k51Z7s6Vel1IwuOiEps7Fa0zK46FgnamecU6cE4lwjEo00lP6tW5NriC6PwU47zcFOO7lv56cQLxaL2GWXXXD++edj9uzZuPDCC3HDDTfg3HPPBUAuDDfddBNuuKEp7tVZHlqIHkzsFJASdHW9UJZFJBJy40cTLNQXRR7JZMy4Iuq6DvH3twV6bny7WYhvNws9u+6Anl1bmyg7Qd8u2xn/N6d0ZsRm9Lf8rWfvj3hXYBtXTVFgHFc4AUJSosl5U1F0I/3jeRY87/z1uRXFgeYJZCYmMy7/CW8QVTC0nuQ05Rkby2HTphFD25ROJzF9eh8ymSRkWXK0bw5LgNl04Sw0nC/JKmw8LmPatF709WWQSMRaXDjHg6AumH4K8UQigZUrV2L77bcHz/NYtGgRHnvsMePxxx9/HNtttx123nnn5j5YLvTbZKMr9Gj3EZdlMdBKiZOdivrb5tXBHjWxsoT4drNc92cnKEbgkX3h1ZbtnFI6M8ZbILegWGhGT+kMThm9GivTJHqiDrHtaCEpQRHTvmBRT7HQtDtxs3f/1kpykl25ePyOnM12kpLrIIbm6lt3BJjUnZUOALXPvwtjJHzQhQE/hfi7776LJ554AscccwwAQl68Sf39yCOP4PDDD7fsU2M4aJtZWhd65NT00dYMH3E/21mGIa4FxIGgZPw4Yo/d0bItP22acXOC7pI20CGBmd12RGa3Hdt9W9j68E94Pm6Onnr2NhUxA7DyKQO/sdwXTWPvzamdIDCW2pQZtZrmGkmZYSYmANB0cjOjUm6y47dW6gZR2dFJlEPrRGNjeWzaNIJcjqTg5qgKCN9f3U4cNAUdHh7D0NAYarUaRFHEwEBPx37iQcnJ7B9eqVRa/MNlWcZ3v/tdvPXWW9B1HT/96U9x8MEHG48/88wzhksBhcby0FghxNvkp3VdKIjrKJetam9dh+sEFuomYDeSsxBTLAHkxiyEpOXHZ0ma2W1HxyjKC9IHtkX1zbc8t7EQkxts0RNACOqOIbKCRz86hgEkiW0RZ5pX+OzREs+zjvUoAMiOlsELzldETSdRlJmYzHCOpMYf5dA6EU39ZFmCKAoYGOjpSKHtBi/i8JtcE1Q1H3Q1MIhC/LLLLsNZZ50FRVGw55574pRTTjGe/9Zbb2HmzJmWfeosBy3EVIyZAmld6ApxoNUKRpIEsCxr8TQC3EeUxx67gxASRW6s5TWcyMkvanJDbdBfDiB/cDsA8CUnafYHnB9okVc3m6HrA9sAAH4y1lRIlhz0T2aSKpebn5dT4dxOUNnRpmTAjaByI0UAgBwXHR+vlJpR1/e+SvQ9iqK0fK/jAcex6O3NYGhotEWh3an7pX2/7cBJNe82VTiZjEEQRORy7ZnZhaEQ3/jvF6HWw5tPyPECZmy/S2j76wQT0kBjT+uoTEAQeORyJSsx/e1+KzF1GWxPH+QdvdM8SkwAiZ7cIM3bHUj3BHvhYnNFkR96BwBwYk/TtycuM4jL1mhTklhIEmshJgCWormxz0bBPDtathATANQdFicoMQFWEnL72//7QRWLLx8ONJOwPTSjMbryRsdbkaZlHn19PRgY6EEqlQicenUqFKWqeVpYHxvLoV7XWgrrgI5CoRDoNdatW4sTT/wCjjvuKKxadb/rduvXr8cnP/lJ4/67776LE044AYcddhjOOussFIvN70xl+dBvk40JIqdm6YXUpIhJfD5f8v8yA0ZN44UfQY0bAbU7ZoICmiRVqWjGTZY5yLI1+rGv7AHA6HDJlTzMBGUmJopKqWYQkhNZUZy2bBhfXVHEV1cUxz3zDXCvY1GSyGYLGBwcwdhYHpqmIZmMY/r0PvT2phGPy+BcxYPhFNrJROEyRkfNK5EsVq9+AAce+Al88Ysn4vbbb8HQ0JDj86kA84YbbsUdd/wMv/71g/jXv/7Vst3Q0BCuvvpqy9+WLVuGhQsXYu3atZg7d65FSqAxrFEUD+c2+Y2/Exo5UZlApVJ1TAVif7NdRRyIyfU1Okjp2B7rKl1QgnKKnqR5uzfvjCN6AoAjPvg8JBGo1nTjloi3flV2ggIISY0OlzA63OxZDEJQbvAiJjvOumoMX11RNBFFJz+vYCRSr6uWqKpUqoDnefT1pTEw0It02jo0tBuDOoFmYf0zn/ksbr75FsyfPx9/+tPj+Mtf/ui4vVmAGYvFcOCBn8LatWtbtrv44ostokxFUfDkk0/i0EMPBQB8/vOftzxPD5WYQhZ0dogJ663jOBayLLlOXWkhJhd0I2oyQ95xR1RebRbKzSmdGUGK4y3wOUPKyemIFTahZ/R1HLwN8D/vEK+eXIE8hxJUsdT8/ChBVSoqRkcb/Wcyj5qtZYVlnTU4G/4ziHjK3W20mG1GVYmMNd2uu1wQTvrWe9B1Hfdes63hbBDUL6oTErG21sBxaKh50Gs3wPM89t57b8yfvxcWLXL3sLcLMPv7B/D6669Ytrn77rux6667Yo899jD+Njo6imQyaUgKpk2bho0bNxqPq+CghijBYLCZkpM5jSOzxyQAjLFsbIcfMTFHfsUyppxCenDFeA/VEXaC8oMlaqJI9/hGfpWdyHKwIsQcHz94m+fxP+/MRTpJPkwnkioUnAkiCEENvUuGh5byJUeCMhOT+X4ik3AlJqCp8D7+giZ5/2T5NraWEueidhiTjltnAQqIxWJdmAVoBcv6+8D7CTBfeeUVrFu3DnfeeSc2bNjguh1g/aw0sNBCJBRtYpIqT3Q1cmoOKlAgCO71iPLexxr/t48aF0UePJx/sNWjvm6yX1FRKlUh3v8d4/F2Ujo75B13BHxWP8YTPVFiAgBBKRsEZY6exno/iHlbj+K1kQyGsyzEhoRgLKcauzIjlZKQzzdJ3IugKDFRuBGUE4rZIqS45PiY28l+4jebaeudl89EIhFzjarCJAw6NJQWxAuFIiRJRCzmPamlE3Ri0TsyMmwRYK5duxaDg4M4+uijoSgKNm3ahIULF+Kuu+5CPp+HqqrgOK5FuKmDhRZi5KRvzuREequITEBVtUDFUupaYE797KOmzHDSSNWOJcMIOY4F/8trOj5+bdrWYN/zt+9l9z8EGN3g/KBD9FTeaT4Ynx9wOTkdRYk4cs7U3gH6AIDooYazLHrSnEFQqRT5CvP5euN+MIJyQilP6lTxVLwlajKjrtRRzzb3aU/3/PClS8jndcM3MxY9UTfTLzqJ18mChTQsJ2EexV6t1jpqWG7Xonf9+t9j+fIrjceXLFmCJUuWAADefvttnHTSSfjZz37WeO58PPTQQ1iwYAF+9atfWYSbqs6hDX87X7D6ZprWJZMyWJY1BhUA3uE6bXfRdbS4Fripy83k52TRoes6pJOXIpcrtp3+adO2Jv9uNTsQQbULnWFaCMocPZlRZ0WDoN4rpNCfaRIUAAtJBSGojW82V5EYH5IKCkpkXKOx2i2qsuPs5WRyjFbX8OOLMo0ZeHJDhNnbVq3KH85RTbNhGQ6tNapBVEEaloNETnYB5oIFn20RYLph6dKluPDCC3HjjTdiq622wrXXXms8poEJNRXTXLKViURXRJiyzLeEyHa7XQqOY5FMxlCtKoYDoxk8z0GWRRQKTa1OIkHIj7bHOIGke3HkckUkEjLqP7mi+ZhPSkfJydjehaCU7ZoiNcEtegKM6Km8k7XlwE5QdnKi0ROv1TDIzISqcXivkMJgllxTRnPk+XGZwTsbmp+d1riEmgkKAN56xXqMbuQ0tomkfJmBVj91t1oT5+H44EVWmk0seuuyAUiShGKx1JhuLLal0nYDlRnk8+4RoR1UKS5JYqD+u+nT+5DLlaE42CR7IQwR5j9fH0bNpTOgE4g8i10/2NrQPpHoSuRUq9Udu+ztaA4qqLi6FpgjJzoLT1WJRsoLNB1Mp+OkrnDU1wF0VkQPI4KyE5MT7NFTojqKotSLOisCOsCxKmRexbQMMJjl0ZtmMJrTUaro6O0RMDrWmNXGMRgdan4+o0PkohBPx1Ey2SLrmu5KUACQHRp1JKh2IIhCCwGxjR5A+98B4LSlzcjuR99MG/YnVKWdSMQdprX4oxMRprW1ptXYzjwCnb7GZIGkdeG9vqpPfs2pK5GTkwVIJpOwpHlBhhuQfbFIJmWUSlXHHjw38DxnWK/Yt4/94XbX59mjJuM4bORkjpoo3KKn3LZ7QFCcr9hBoycAGNVJxDdUSmEwLyIVU1uiKAAGSTkRVMnBs91MUDRqsiMz0Nt21CR0KMq0v85Nl1ojXept3k5UlUzGoeu6MRV4vKBRlSgK4DgW3/zmRRgY6MdHPrI3dtttd88FILNF7xe+cDzOPPNUy+OPPPIIrr/+eui6jlmzZmH58uXIZDJ46qmncNVVV0FRFGyzzTa4+uqrkcmQWuSz/86FHjntsX3af8MG1qxZgxtvvBH1eh0nn3xyINth+zZ2TBg50Qksuk56kDRNC2Q+x7LEsQCAa33JDlo3YBjGMZUE3AnKjZwAK0E5kRPgTFC5bYlexYmgnIrj7RAUAIzkSGrnRFBAk6T8CMqNmCgSGef0w4mcwiImM+wkBTR73whRiK5RVSoVh6aFR052/Pa3v8ajjz6CZ555BqlUCr/4xRrEYq01xMHBTTj77NMMi94zz1yEH/7w+4ZFb6FQwGGHHYZVq1ZhxowZ+MEPfoB8Po+LL74YBx98MG688UbssMMOWLFiBViWxXnnnQcA+L9/5VH1sHpuF5LAYM8dgqWbGzduxPHHH48HHngAoijiuOOOw7XXXmuxHT7zzDNxxhlntNgOe2ECG2h08DyHWEwKHP0AZAWPYRhks8VAYXk8LjVqCyWk0+6rSOUDF7UQlBcxAZ2ld5SY3BCkOF5ECgmQC4WqceBYFQPxPAD64xExktMhNfp1R7MqJIlcHcZGq5DjAiolBb0DSYwOFVrSO4CkeF7Q6iryw2Mtf+9xMNqrlEgqxrdp5KaqKhiWcT2WxUubrqcrlxGHCreJMWZHgWq1BoZhoevjkwp44YgjPotTT12E119/B2+88R/Isuy4nd2ilyrEqRpcURQsXboUM2bMAEBGj69ZQ1qaHnroIQiCAEVRsHHjRovZnKaz0EKUYGiNFPG9995rWUFNp9NGBAQATzzxBPbdd1/09PQA6Mx22AkTmFiSAQfFYiUQMdGIiX7efsRk9oTK51tn5NkhCBzEz30l8NFTaFvNdo2aAEDpbVpZ2IlJEYIvuW+SPmDcAEJQQyo5IVWNw1glAZ4lYfy0VA19aaCv8XvpzXDozZBopqdXQk+vBDkuQI4L6B0gbgjxtFXTNPLeJqhK+6tilVK55RZLkH3Xlbpx84P5BGBYpqUWZj9BFi8dtJAVhb2tpVKpGNq5RCLWVrNwO6DyjFQqg7lz57nWn5wU4mald29vr+HdVKlUcMsttxg+4YIg4OWXX8YBBxyAv/71r/jMZz5jPE/VmdBvAHDCCSfgU5/6lOV21113Wd7Tpk2bMM1kZzR9+nTLezLbDj/44IPI5XKWvkA3dE0hbkYiIYNhGJRKwdIyu35JFJOe27ut+NGiuP14qAyhUChDPZCM2vGqQ3Ub9uhpQ2oHcFCh2rQmMa6CskquyCmxgnxNBs9qGC1LkEUdI3kWfWkdDUda9GY4jGbJ593TS65SYwC2+kAvXnzqNfRM78XbL79heQ1VUcDZ6iVuU4xlB9EmJSYz/CIoN20TJSjNY3Vu8dJBqA3yu/0q67Rne1RFf3v2qKoTC5aWY/UYImGGn0KcIp/P48tf/jLmzJmDo446yvj7zjvvjCeeeAL33Xcfzj33XNx3332N/bKWwarjhaaRY/rpT3/qGDm1856o7TDFokWLcNFFFxme6G7oauREfKNJ9BNUfUvmosmBIyzaTFwqVR2kCDpg02sQHQ2xajH/IMsHLkIQFPo/iHJyhuc2Su9M13TOLXp6N7kTNqR2wIZUM0/nmNaTNsY163Qpkfy/N1ZFb6yKvpQGWdQhSwxkiUGloiMmsYhJLJSaBqWmIZEQkEgI2HGP7TC2aRTJ3kzLawSJoMIiJoCM2XZyE9BUzSAmlmUd3TFVU1S26KL3sOii9xxfg2EY16iqEwsWp/0HtegdHm6uSNoV4gAMVfjOO+9sjBuvVqt45JFHjG2OPPJIvPzyy8Z9Eu2wId7IebPVVlth1qxZlpudnGbOnInBwWYU62Q7/Mtf/tK4b7cddkPXak6CwCEel43hmfG47OsaQjvZg6RlgLOi3Axz5MQwjFGI95MhBEE5OQOxwkbXx0tiGvHa+JuUOaY1gjKDRlAAIanRsoS+FP0sGnWnrIZ0qvlV5/J1ZHokzD9gZ2THiBbq7+uftexXVRSsXDEbsu78WdVZ60n89WtbiVSQWk90J/kAhZmgFBeJgJmglKqzY8Kii94zUsm7v0scJKhCnKK1VsVDkgRTVNWesV1QF0w/hbiqqjjzzDPx6U9/Gmeffbbxd57nsWzZMsycORNz587Fww8/jD333NN4XNOZFrvl8aCdfX3sYx/D9ddfj5GREcRiMaxbtw6XX3658Ti1Hd5nn30wa9asFtthN3RltU6SeCSTkmV4ZjwuoV7XXIcdeq3g2WUI1KwOAIrFsuuPIp2Oo1CogGHgKfS0HPvzrfYVFIX+D1ruu5HTcB+xXvEiJ/PK3XuJplULyzifCHaCKqsySnWrY2WxZr2fLRNCKpQbPXnZ5r5VDcjlmt/F8fuPQmCa991IidGtx6dw1qImJSknYrLDjajqFovn1i+3bovs7AV0pxrXmlt3Q7FYDuiMEGwF0Aw6LGHEwRvLjnXr1uKee243FOJf+9o5hkJ8w4YN+MpXvmIpds+dOxdXXnmlISVQVRUzZszAZZddZtj1/uF5BeXg7ja+iInAgXODR5Fr1qzBzTffDEVRcMwxx2Dx4sUW1fvvfvc7XH/99Ybt8LJlyyCKzo6rFF2TEnCcNcyNxSRomtaSqrl5iJtBZQiapjd0T2SmnZ89bCoVR62mQJZFo5HY+7hJUb3yp1WOj9vJCXAmKEpOgD9BmYnJOA4HgjKTU05ppoaK5hxVuRFVtkCIalqPhtk9YwCAJGc9oYISkxl2krp0ZfO+WxRkBiUqP7cDOzFZHtf0QMV3Gk0FBY2q7HbB1WrNiNhlWUIyGcfoaPtReRgK8Uf+UQ+dnA6aN7lumF0hJ6DVR1yWyclijlyoHslPv0QjII5jGqliFbWa/48w02hIDTL+3OygwPM8an9+wPK4EzFRmAnKTEwUbgTlRk6AM0GN1txFcXaSchN+x3groZuJSdU5iIw74Yuaty6tzCah6Nar7fLbrN+rF1FRYvGLqHQXkrREXA55ib2w/5PrtnM9Fjc4RVXvvPMe/vrXv2K//faFLLfW8MywCzCPPvpYCzm9+OKL+Na3voVisYj58+dj2bJlyGazWLSoWRPN5/MYHR3F3//edDdY96yKNnwBfREXgUP2mNzm3wkjJ0kSwbKMEe3Q+lKx6K0QB0gEVK+rEEU+ENEAZIWQ53mUSmXfgZ6UJPP5MlS1bih/lb88aGzjRU5Ak6DaIad3hdkQGZfaio2cvIjJDLf6lJmU9EaxM861ChK9yMnYxoGkymxzRdVOUNlaEjfck215DiUqt2jHTFJO25hJym0flKTcVhwpOiEqgERVr7zyIr7+9f+H4eFhbL/9Djj55NPwyU8e1LKtkwDz29++Envv3Vw8OeKII3DFFVfgwx/+MC666CLMnTsXCxcuNB7XNA0nn3wyjj32WCxY0ByI8dDftdDJ6fCPTG4LywS+ug6GMeuRELjwzbIMBIFrWWFz25boo3SoqupbpIzFJEiSgFyuCFVVGmOCKshm86js5l+0M8OJmABSHLfjXWE2AKCmO+f1mqm3KSgxaToLBnrLTeZq0HXGuAGdExMA1FgZNbYpMjQTEwBL7QoAMmIBZ3+xNaIQRAEMw7iqyVmeBcuzrsTDMCwRV3r8hoioU/PsIVRVFccv+TeOX/Jv123cUK/X8aEP7Yi1a3+H++77OQ488CDXKcJOFr3r1z9qPP7OO++gUqngwx/+MIBWK14AWLVqFWKxmIWYgMb8QS3EWxcsjdvFhCWVRPvAIp2Oo1JRDEtVL9BGXwAolaq+S7X2+hXVVznBXFTP5YrQNK1l/5qmo7TLQdA2+f9o3+zb01BxhwVNZ5FVvDVe5m2dIHGtkdl4iMmMGiujrMchovW7pARFoyhKULevKqNSqrUQDiUoc9pHIyezHMH+PK2hwaErfXZNjjliogRlJjP79maCuveHzuPnncBxHHbZZVfMmuX+HCcB5j//+YJx3y5mbLHiVVXcdNNNjgJGTWMwTqmWbX/h7atTTFjkxPMcBIFr6Jf8iYnnOaOgXa+rvh3fohhcH0WjK+pu4ERMln1vvZPv8QJExe0Gc/REoyYKt+hpqJpxLXibMV5i6hRlneiaarr7qos5isqIBSw6OoajPrcVYkkZsWRri4cgCo5OBhS8wIMXeGiqahCTGVQzxXGcaypHFehutSuKdiKpIDonJ7Gi2fjPT8z4+OOPY7vttrOs5FHUVSb022Sja+Rk/p7icQk8zze8nf0V4nai8XLDBEhqRmpG1hl4Ts+jpFepKCiVyv7EJApIp4NFL34oiekWYqKwE9RQtZkGeRFUVRWgaJxxo3AiJicU1Tiquoi8Nr4VIz+CGqpkMFQhZCtyOhYfSxYr7CSlKipURTVIyEnEWVfqYDkOrMsYKNoyw7AsGBfvHkpsLMsYNzvaiZyC6JycBJgDA81IyS5mHBoasogZH3nkERx++OGO+9Z0Ig8J6zYV0rquRk7mfrdisRLI7yYelyDLgo1oWpXeZP9Ev0SEm0WH+pX1eZT08vkyqtVqYxnY/VuIxWQkEjFkswWw091/qIPiNsb/vaInACjX3ZsdKUGZiYnCiaCqamvERUmqoootNx0MimrccjMjr6Ust5zqXuuiUZP1+FsJaqjai6Gq1RMqLdcwXIrh80eQFKeuqBAkwVUbZSYpe1pHSYoSlVN9ipIUw7KuERcAC0n9auWujop0N7Csf+Q0f/7eePrpJzE6StTp69f/Hvvss5/x+DbbbANJkvD0008DAFavXm2x4n3mmWcwf76zL1hdDf822egaOfE8h3Q63pjaWoHfLDIqxGQYBrmctVDuFAGxLGuYfhFHzNZ9mp9HoytSVK87KsrNSCbjEEUBY2N5oy7hRFBmYqJwI6j3lJmOfzfDiZgozATlREwUtCE4CHjWZZWrUTjPqWlPkrLDTFBmUhJYW3+WTFL7zx8xgFRPk+jkpGzczKCk49UOo2u6x1BNUn+iRXQvPHjLLg2r4B709/cgmYy7Frkp2rXo/dKXFuLggw/FrrvOxeLFi/GPf/wDALBixQosX74chx12GEqlEk466STj+W+99ZYhurRDVcO/TTa6JiXo7Y2jXK4a0Y/ZNtcOjmORSMRQqzkruO0aKVr49tM70efxDb8hIuT0TuMYhkE6nWy0uTirfc0FcidyojAXyO3EZNcbGfsrpSHx/houtzqTGzG5pXl+5GRHmss5Rk125GrOPYT2CDBXId9RTWXw6P/mkB9rFTEWRp09ucxRkuqyokcvLF5SAnPt6d4ffgiADl0nFzee5yHLksWqlzYLmy+g/f0ZVCp1VCr+350dYYgwf/IYkA/RqioVA048ILz9dYKuRU65nH/9ByCOgtSx0q+1BGg2BhcKFV8hJsOQ7YMWvjmORU9PCoqieHpN0wjKi5j84JTeDZZIhFKtu1+lS4qAkiKgUudQqY9PJOdGTF7IqWlka941uKFyGjXVxR3TJYISOR17fqQHclyEHBehVBXjJsUlRx/yoE3Fuk+UTCOpn/9oR7AsB4bhwLIsOI6FptVRLBYxMjKKwcFRVKs1yLKIgYFe9PVlkEjEMDY2hnw+H6i3Ttd1/OhH38fChUfjxBO/gOeee8Z120KhgCOOOAJvv/228bcnnngCCxYswCGHHILrrrvO+Htd1UO/TTYmbLXOyRpClkXEYqQHz6u1hD6XTubI50u+I4So6ZiqqiiVKtB1b2ISBB6ZTMoyNsgLXjUoCpreuaVzZoKixEThRVBmmEmq3ajJDW5REwCU6iTd8iMoAIEJimJGj4p99hlA/7QEUr3kZoadpMyREyfw4ByL5w1/bwePKDN+/qOmRo1hGCP9o0RF/q+jVqsgm81h06Zh5PNFsCyD733vanz84x/H6acvws9+drenA8f69Y/iP/95HT/5yS9w1VUrcNVVyxy3f/bZZ3H88cfjjTfeMP5WqVRw0UUX4YYbbsBDDz2E559/Hn/5y18AAFrIKZ02BdK6CVmtc0IyGQPPcw2i8b6y6TqxRgkq3KSFbyIpYHyLlbJMTOtzuWIgmUM7eL3s38dlJyYKO0GVFPc6U6nGI1cRLTeg/XSuHTgR1FDZ+l7cCMoMGj0BhKB2+FAMsz/U40pSVJzpBDNJOfXhUZIyE9V917tfaChREcsWa1SlqgoKhSKWLl2GW2+9Fbvsshsef3w9Nm50n8Tz5z//CZ/61CFgWRYf+MBszJgx09KGQnH//fdj6dKlltW65557DrNnz8a2224LnuexYMECPPbYYwAANeTVuikQOE2kTS8BndCrKKpv4y5AUq1YTGz4P/tHNNRGhbgYaIZlK8MwqNVIV7k5SkskYhAEUvj2K5LbMaNHxsYx/2Oq1AXIvDNJeK3eAU2C6mSyRq4iguecCY2B3rD6tSJI1GRGtpZERnSuCVHUVA4iZ70UC6xqqT+l5ZpBqAAwcxqPDQBKJRHZ4SKkGHmsYBr2Kcaa29dMXa+qUTwn792tWZhhGdz7gw95HnvLcxgGzRVgBgyjI51OYb/99sOuu+7hOxbKSYhpHjtOQX2czHBynPzTn/4EAKjXdYxzYLEFZF+Tq3WaUHLSdR2pVNzwePKDIPCIx6XGqCn/DyqRiIFhgFyuYNSXSqUySqUyOI5tDG0k0gNFqYNlWei6jmw23/EIbC+C2lTuMf7vRlBDJVJclnn3ODpfJSdZXHTpQdOcPxuec35PTGPldKjUWojtj3kTjRMoQdmjJj9QgnprpOmXnomrmNGj4h//IgQFNIvv2eEikrSZ2zaRmBJV2WF4gxtJtUtMdjAMA1EUkEolUSxWA82rcxZiBktgvESamqqHusI2FdK6CSMnSRIbeif/RlyApFqSRKx0GYYxVt6cQKOxel1FoeBcX1JVDeVyFeVyFRzHGsJKhuGQSiUa88dqvimjE5wIykxMFHaCosREHuM8CQogqRtgJSk3YuoEdY3FxiIhmBmJ9ozy/GpQTtHTW2OtK3rvDJFoqq8H2DSkgmUYiCJn2AwDziSlNLoC+IZWqu7QJUBJ6p4V7VmmuEEUeYOYymX3i+2tt96EP/7xfwEAxWLB1wnTDU6Ok/39ZMCEquuhtq9sMWkddSDQNC3QyU8n+lKDOd5jmizHcUgmZcPV0K/wTRTiSVQqFSOtFEWhEVWloaqaQVTt+EoHTfEozMRE4URQNGoyo1TjXaMoCreoKSjsJOWU0pkxVCSPZ2T3mp2ZoJyICQCScaDQCH76ejiMjKno65MxMlKBKHIYHSySWuVYYwR6Q9ekwOYT5kJSYRGTIBBiKpW8iQkATjvtTJx22pkAgN///hH89re/xkEHHYr33nsXb731pucIcjP22GMPvP766/jPf/6DWbNm4Te/+Q1OPPFEAICq6KiHMbW9ATXEfXWKrpGT2RqXLuWnHHynzbBv39yXswk8napRLFagKEqD+LxbUZLJOAqFkiWtNE9tFQTe0rJCjcWCeKBTgnKKmii86k/k8SZBORETBY2i/KItOxgfMawdlKRSUrCFgmxF9CSo14aSEHjbKCxeh1Jvfr9eBNU7LYHRwSJSPYTcKEnJcUKOFdtKq5mkwiMmDuk0IaZSqb2z+MADP4V//vN5nHzy8QCACy+8BLIsY+PGjTj99NOxevVq1+dKkoTvfOc7+MpXvoJqtYoDDjgABxxAxEibY+TUNRGmILBIp2MWh8tkktx36q+jE1ScHAvo1N+cqZ4Qi4kQBKGxeqf6FrOJQlxGLlfwlSE0j4mDKAqQJAEsyxok5lcv+8d7flGGBFnwPl6ZVz3JCQCqipWwM7FGIdgjanIjp7rmXvco1kh0MjPlrPKjUZPlWFwI6u3RWAs5UZgJCmgSFACMjJHvbGSEkM/oYLPmRAnKDDNJ3XGlvzI/KHieQyaTQrlcQ7EYzspuGCLMa35ehcv82I7QkwQu+G/vxZpuo2uRE+2nswoxvSOgUqniUo+y9shRKxRidaL6FrOpaX02m2urpqSqKsplFeVyBSzLQBTFhh1rAorSJCr76+++dRXPvev8xQ4Vyd8rCutJUBtzpMYWl5yP105MQNOKV9eBgZTDMnqbUZMdG/IxV4JqORaPCEqpM64E5QanCAqAYxQFkEiqUqpMeWIKC2pdRz3Eib9qfXJX6oAukpOiqLC3OTmpxP0mqJifZ077yGhz/1aUVCoBXdcxNjY+ryVN01GpVFGpVBurNDxEUUQiEWvUqZoRYiaTxD6xGv5qc9ygxEThRlDZUvODK1WZFoJyIiYK+nEM5a1RlxNZUQSJmig25MnKGiUpp6iJwk5Qb482V+WcCMorvTODEhQAI80DgFRPwiCoOy6fjlpN6WiBwwk8zyKdTqFSmXrEBACqpoU6t04NcaGlU0ywzskaASWT5Meazxd9RJt6o+ctHrjwzbIsMpkkqlVijRImdF1v9FiZ61Qienrkhp6KRFTztlJ9Uzw7QZmJiaJUbbhXukRRQbAp1ySrGenxn1xBoyhKUGZi8oKdoCi+dEAFPM8jlyvgpv9pTYOu+TJ5fwzTC0HgwfM84nEy0Yd+H0HsepxAVndTqFZrKBSmHjEBVEoQ4lDNzVlK4OUS0K4Qkw7gK5UqpquhdytKKpVAsVgOXfHtBEWpG8b3xWKpUSNLgGEY7JtQ8Jd/aS1Rkxl+KR5FqcqA85DEBJVq0ZQRGB9RbcjHwLOdnxB+6d2ndx0FQNJyjuORy5H+tTMOssscmsSr67qlLsjzHERRRDKZAMs2LxyKogT6vDiORSaTQq1Wn7LEBJBpxmGmdfXNOa1zgq7r4DgWshxciCnLojGFlRCT90ksSSTVyueLvqOgwoIsS4jFZGSzzWJ7qVQBy7KQJAEfnyPgV09776OisJ7pGgWdQZeMBf8hekX7b48Q0pzZ0/pd2FM6O8YKhCkH0t6X2ZfeiSHpslDrRFCUlABKTKxBTO2CGBwSIS7LEiEurRvW63WDrJx+VxzHGMSUz7dvYzyRID1xIaZ1U8AJc0LJieNYCAKZoBIkxG7qnYqIxyX09KQ9C9HxuAxJEpHN5tvSKI0HtP0lm21tfyHDEojw85M7Mvj9q+4K6nypGRKJgvOPrFxt/mDsJNWhwN3AhjFyAXAiKT8M5ThfgiqUEIigDtppzPh7MhkHy7LIZsNZhtI0zVQ3BASB6ttkaJpuiap4nkUmk4ai1JHPVzDZrRx+UOsq6gEU6sH3N/laggkjJ2LVywXK/c2F71yuCF0n3kq0XYA09sZNV74aEok4WJbB2FjnrSjtIpUiqUKQ9hdd13HgDln84V+tZnJmYgKAmsK0EJSZmMygJJWQ23/PTrUdSlKpuPcPnUZNFG4E9d5wM/ryIijATkzks83lQlwfN0HX4ZD+CRBFDocc8ilst912+K//2h/77vtf2G678bW5TAQ0VYMW4gV5KtScum6Z0nS4ZBv1Je8rECk+xlGr1VEqlS2Fb1KIriGfL2JkZAyVShWCwKO3NwNB4FGrKYGsgMN4T5kMKcpms4W2yPDAHVrntzmhpjCoNdI8N2JqbguM5hnjZkanCzgbR1hsHGnv5zGU69xfykxMlPS7RUxOqNeJtU6lUsPKlSsxf/58PPTQQzjnnNPbbgifDGiaBlUN7zYV3nNXI6fm6HAF5XINgsB7Diqgjb6lUtXU5+Z+dqmq1hicWUG9XjdWzEiITpb2gwou23lP6XQStVrnq4DmCMoeNdlRC1CHsoMSVG/K/bNzipqcsHGExYw+6w/VHjWZYY6gzFEThVP0ZK4xpVIJo3l7osGy5KKTTO6Krbf+IE455SyoqtqWl/hkoa5oqAfoWQ2+v9B21TG6KMIEUqmYxUrXTYQJNBt9iX+4v+LbqRWF+JU3V2jSaSLOa6cFxQu0L69crqBSGV+B9MAdsvj1c72+2xXLTYKRpdbPzmtNYbBxzvf3tHdsdq89J4Lygl8Nyi29S6XI9+Vk5dxtMAyQTqegqjqy2TJohO/lST6VoGkhp3Wbs85J14GszdaC9tvZQQvf2WwRuq76Cufo6lguV3CsX5lXaIhViohkMma0oFSrtbZX8gRBQCrV2pc3Hhy5+6gnQZmJCQAqVd1CUEEPY3is+f92iYqCpniSuzmEgU1DKjYNAb3usxoMgjrh4xpqtTiZM+fh295NMAyQyaSh63qjRWryT8x2odVVqCGOTNEmZqHbE11N61oV4daTjdajNK1Z+Par3yQSZBKG0+qYE4hVSqXRgsIaqzMcx0FR6g2i8ta8yLKIeDzmSobjwZG7k/DGTlJ2YqKoVMnfnaIoM+ouqy2UqNxG8fk5FFdr3gS1aSj45/PpXUcxNkbSZJZlwHGckTJ3al/TLggxpRq+XiVPs72pDLWuQQ0xrdus21ecYE7raKNvtaqgUqkGbkUBgGw219HSuXUpmWnRvJCpGlaJApUndOKU2Q78oig7RrPkWBLx1nqIGzFRVGs6BkfINtP62qunZHPkBJg+4J/ujGZV9Ga8t0smyaproVCyLe+nDXV3N2qHQDOVI1H++5eYANIHGuZntMXpnGgk1W7hmxahFUVBsRhOKwpd+atWa8ZJQQWcqqqiWlUgCBxYlpswecKRu49CkkTc+b/e1jLlSvNYiiV3knJCtWZ9H4MjWmCCosQEkAjJTlBOUZMbQX1h/qgxgqvQaKBrXd6n9jUJAIwRUYUhrqXExDAMxsbe38QEAHrIUgJ9gnSCXpjQtK45RUUKXPgmwzmTjWXe7qh07ScF1VGxLANVVSHLUtvmc50gFpMhyyJO2C+Hn/65PctbSlKS2P5JNjjSHsFROBGUE+wEdexehJhoA7cb6vU66vW6zWZZBsfxnmJcPxDf77SJmNp6+pREvV539UrvbH+h7apjTGjkFG8YggUtfE9GKwrLMojHY6jVaigWy+B5HpLUNJ+rVsnVO+zaE1Ga01qajuP3GQMA3PvXHst25qjJCbkCOa500mF8ec37uUPD5Mc90N/qI2WOmsygBOVXazITVDqdQr2uolh0JyY7zDbLVjFu0xWiVlMCXEB0pFIkYiKpXOBDmNLQVA1aPUwR5mYeOVGYC98A6Vmq+Zwok9GKQguyZqkAvXoXi2VwHAdJEoym3rDSjGQyAY5jHAWdx+8zZhCUHzFVa83PyYuknFAuN8llaFhxJCg3BC2Cj2ZVnP953fg8O4U5JQfM7qUpAOY2FPv3QialcByLsbESpoDOMDRoqhZqzUkLMNKr2+g6OZlHjZfLVYgih1hMRjIZd3WWJAphdkJbUaiTgZdUgAzoVC1NvXSaS1CXTDvS6WRjpchddEijqNsfc1+bNxOTGbmCinSS842a7DBHUW5RkxljozX09PrrDMZLTE5QlHpD41Y23Eub30sdg4OD2LRpI+bOnQuO4zA2VtysiAkA1LoCNcS0brNfrRMEMnzAXPiuVFRUKjWbs2QcikL65GRZgqZpyGbHZw7XDmj62I5UwNzU245LJgXxp0pCVVXPuosZiw7IehKUG3IFFZWyikzGORoyR012DA0rEATvWtTYaM3414ugvrYgvAUNN7S6lwp49NH/wfLlyzFr1izst9/Hccwxx2GbbWZ19TgmGlpdC1nnNPns3eXIiWk4ENRbVuTszpKyTIZfAkCtRoZhdlLsbBdhpI+tLpnOzcm0xtZsgakFGn1uxqIDSG+emaTcoiaKSoN8slnq1Bk8ZSsWSGoUJCoCvAkqbNM/P9Dv5fjjF2L//Q/Aww+vw5/+9Dj+7/+e2uzIqS/DQa2Hl4r1+UhAJgJdG3AAALEYZ2hVvGA2h6vVFOPkFgTBVX8UBohXEIdcrr3m3XZA34soClBVDYpShySJobTAAISkvMip4hEVZTKCZ9QENMmJwk48NGqyw77d6Z9qbw5eWEgmExBFHmNjpVD8jtatW4u7774N9XodX/jC8Tj66GMtj7/88kv47nevgqIomDFjBi655HKkUt4DDMIYcLA5oqsdjTxPSKevL4NkMg5R5GHXM8myhFQqgVyugGq15ug8IIoCenvTSKeTkGUp0PRfLxCNSzKw3cl4UKspKBRKGBnJolqtIhaTwDDkfcfjsudMviCgkVQnoJGUG+zEBLiTUafbdRP0NxcWMQ0ObsLKlTfghhtuxR13/Ay//vWDeP311yzb/OAHK3DqqWfgrrvuxbbbzsa9994z7tfdUtFVcsrnqxgezqNQqIJhWKRSSfT19SKZTKBWq+COO25DpVLG2FjetdZTqykNosqiUqmC5zn09KSRyaQQi0ltd4zTznPqFTVRoEXaXK6AkZEsCoUiAKJ67+3NGFKCTnDWwXmcdXBrlOsVNQFApVJHLldDLtcekZhrTEG2m4yoKZGIQxQFZLPhEBMAPPXU37DnnvORTmcQi8Vw4IGfwvr1j1q20TQNpRL5XVWrFUjS5I5Xej+j66t1us6gWq2jWq2DYXSIIo+hoY1YsuQrUBQFp5xyCnieg6Kovipd+/BLSaIWKZqhP/KqG1GjevO034mAU8HdqTk5kWg2J3ey8kcJ6kaHAQB2VCrWqIgSVDpN0jGnqMmMdiIoImL1t1gOC4lEvFFHLPq28rSDoaFB9PcPGPf7+wfwz3++YNnmnHPOxXnnnYMf/vB7kOUYbrnlztBef0vDhBrVEKJSsXTpMqRSGaxceSeSyRSSyQT6+nqRSiUgSYKn5xOFotSNdKlYLINlGaTTKfT0pI3GXjMEgUcmk0KpVJpQYorFSPqWzbpHh7Q5eWwsb0SRsZiEvr6etj4TirMOzuOCz3dGBEGjqFy2Yty88K3j1Ua02/xuxpvKeiEej0GWRWSzpVCJCSBRkdlVQ9d1S4mhWq3gO9+5HN///o+xevXvcNRRx+CKK5aGegxbEiZ4NBTBsmVXIR4nxWhiHF+BKPKQJB6JRBzJJINarY5ardoohHvvz6xzsXs5VaukkB6LSROqNAfs/uLBThSn5mQSebk3J9tBtVPnHlnCdb9u7dOzR012bHivMQcu5ZyS2Akpl60gnWkdgXXBMRUoCqAo1kkopIGbMVTdYX0n8XgMsZjUIKbwo7Tp02fg2Wf/btwfGRnGwMA04/5rr/0bkiRh113nAgA++9mjceutN4V+HFsKJsXiL5VK2SIbBrWa2qhRFZHNlqBpGhKJOPr6ehqFcDFQ9EDsVssYHc0hlyuC5zmjbUYUBWPMVLdBpgzzbRGTHXRxIJcrYnTUujjgVHOj9sFmX6Rzjyzh3CODt4mY0c7EEb8ICrB/N8TlIR6Poa8vg1QqAVFsL0I0IxaTDWJSQjT6N2P+/L3x9NNPYnR0FJVKBevX/x777LOf8fg222yLTZs24s033wAAPP74Y5gzZ9euHMuWgK5KCcKAILCQJL6R2jANsWatoRvyfi4dQ57LFRpRCHHbZFnWqFF1I5KikUs3jdNozU0UBUOuIYqCEUG6Yfn93nqlUtG5zkWjKD8SohHUBccE12+ZI0Se5xvasFrgib2xmIx4XEYuV0at1l1n/nXr1uKee26HotSxYMFnccIJJ+PrX1+C0047E3Pm7Io///lPuOmmHwHQ0dPTh29841vYeuttPPcZSQmcMeXJyQxBYBvpnwCOYxtmcVXHHzFt1M3nCy1pIW09EUXRaD3pxB3Tjk5U32FAFHkkkySNpdOIvZqT3QjKjZgoUikpUISUzshtkZMZZk8nqg2jIlanxQ5S04tNCDF1CxE5OeN9RU5m8DwLSeIaRMUZEdULL/wTb775Bo44YkEggqCtJ3Q/na6U0YJ8J6rv8YCOXS+XSZ2KNieLogiWZTwjRDtJ+ZFTKV9BLOG/NH7Fqe29By/Qpl7zYNVKpYZCodCQYMTf18QEROTkhvctOZnB8wwkicff/vZXnHvu1/C5z30OX//6+Y2rbfB6Dx0pLookvVAUJZCNL5UohKX6Dgr6uqWS89h1pwjRiXiX3y8GIiYz3EgqTGKygxLvY4+tx3nnnYePfvSj+PjH98cBBxyMgYEB/x1MUUTk5IzNgpwAYGxsDJ/97KFYuPBEfPWrX0MsRoZ40t62arU9s7jWOojSiEKsK2XUDK9YdCaIboG+btCBC7QJ1ky85ubkS+7wrkTbyQlwJqhukhOFIPB48cUX8PDDv8Njj63HvHl74NJLL+/+C3cJETk5Y7MhJwB4883/4AMfmG3c5zjGKKYTolIb8+zaJSpAFEVLvx9t5E0m4xMuUaC9iPl8yVimbwfm5uTm+yHp37dua93eiZjMoCQ1EcRE/bQKhQoqlbpxoRjPMFW/frk333wD11xzFfL5PPr7+/Htb1+FdLo9p1IvROTkjKk/LbANmIkJAFRVR6mkYHS0hOHhPCqVGgRBQG9vBr29VBDo/xHoOlr6/SSJ9ARqmgaO48bd7xcUTWIqdkRMgPPkZNoW9MOvWcey+BETAJSLE5PKklmFTWICCCmNh5j8+uV0Xcc3vnEeTjzxS7jrrnux44474yc/uXO8byVCAEyKCHMyoGlAuVxHuVwHy5IrMDWLowMNgtrvchwLlmUwNpYDy3KN/aQNu9hqtTutGnSQaNgjquxtQdeeI0MURZxzbfCeuG5HTaJInSuqviLSdmDulwNg9Mt98IMfAkBcBmKxGPbd92MAgJNOOgX5/MRPI94SscWQkxmEqBSUywpYFoY8IRaTjFHmZIWrlQDi8VijoZSIK4kNSvPEbo5ED9bvFxSSRGbnZbOFroxJojCr7Zcv5iDLvTjjqlHP53xvSXebWwkxJVEsVlEuhzsn269f7p133kJfXz+WL78Mr776MmbP/iDOPff8UI8hgjM2q7SuE2gaaefIZssYHi6gVKo2vMRT6OvLGEM88/k8XnvtVcsQAjvISV1quA749/sFBbVXIYZ4E7dkTmtTP/x/Cddtuk1MJI1NolQKn5gA/345VVXx978/jaOOOga33/5TbL31Nrj++utCP44IrdjiyckMXadEVcHwcAHFYhUsy6JcLuIrXzkbP/rRj1AqlQP5P1Gv7NHRpj1KOp1o1LpigZtfm20Z3R3qaQetbeVypNj/vSWSIxE1m5PFcdV+nI+BjgWrolQKn5gA0i83PDxk3Lf3y/X19WPWrA8YbSgHHXQoXnzxhZb9RAgfETm5gBLV8HAexx13POLxBL73vWuRTifR19fjap7nBHu/H6AjmfT3cYrHY5AkoTFteOJmGDWJqYC6bYCZmaS+t0TC6GjWaJ3p7c2Y+iDHR1SEmFIol2tdIybAv19u3rzdMTY2ildffQUA8Kc//S923nlO144nQhOblZSgG1BVFf/zP2vxiU98CrIsG55UksQbqmVaW6rVagCCn5TUx4n2+5nbaBKJZl/gRE2gAcZfdKdaKlHkO14g4HkOmQwhpmKx+9oxv365F154Ht///jUolyuYPn06LrnkMvT29oX2+pGUwBmhkJOfTuTVV1/Gd75zBYrFIj784Y/g61//5oS5A3QXVqJiGBh6oSBWL2aY1dw8z0HTdBSLwQSWYSHs1UC6QCBJzebkalXxrJvxPIt0Oo1qtYZCYfKtficCETk5Y9xpXRBf5csuuwTnnnsB7rvvAei6jjVrfjXel50iMFu95JHLlaHrMKxeUqlkYKM4OmpK08jqX7lcaRjONe1EuglKTNlseDIF6wJBqdEYTepuiUSs5QJF23G2JGKK4I5xk5Ofr/KGDe+hWq1i7tx5AIDDD1+AP/zhkfG+7BSE1ZMqlyu3eFKRorH7HqiTQi5XRKVSRTZbwOhozpjnZy0+h3fkZmLq1mogGT/erLvpuo5kkng5/eMfz+LXv/4VKpUSarV6REwRAIRATk46kU2bNgV+fHNFraaiUKgZ5nmqqiGRiFnM86hPnK7rLSZxFE3DuYKt+GwmvM6ZSpLEBjFNnEyBTE5u2hJv3LgRd9xxOz7xiU/guOOOw3PPPTMhxxFhamPc5OSnE/F7fEuAomgWoqrXNcRiMfT29mDDhndx9NGfw1//+hdfixdz24nVGZOukkltEVVT2Nn5QNHxgmF0HHvsF7Bu3f/g5pvvwF577TMpxxFh6mHcVWk/X2U/HcmWBkXRoChkFepf/3oZS5achf32+xj23ntvMAxrNCb7SQd03dp2Qht5aRsN9Rp3WyWjxJTLTR4xEZFqGopCoszddpuH3XabN+79+i3QUDzxxB9x3XXX4Be/+PW4XzNC+Bh35OSnE5k5cyuIomiE6mvXPmT0KW3pePHFF3HYYZ/BRRctQ7FIJAS0tkQ9wjkuWCRkHt5ZKpWNiSdkP7LFa1yWJz9ias4PVJHLldGOBMMLQRZoAHKR/PGPvz+hMo0I7WHckdO0adOxePHZWLLkDEMnsuuucy06kUsvvQLXXEOkBDvtNAfHHHNcoH37XQEff3w9brvtFui6jq233hrf/ObSUK0suo0FCz5n/L9e11GvKygWFZPVi4REIt62JxXtjwOaTpI9PSlomt5wUWAnXHFuhnmwaTYbHjEB/o28FN/5zhU45ZTFDb/vCFMRoYiNDjnkMBxyyGGWv61Y8UPj/zvuuBNWrry7rX3SK+Btt90DQRBx5pmLsOee840fWbFYwIoV38Gtt96NadOm49Zbb8Ltt9+Cr33t6+N/Q5MMavVSKpmJikQ77XpSmRt56Uw3XQcymaSR+oXpcOAHlgXS6RRUVQ+dmIBggy9/8Yv7sPPOc0JJISN0D1O2fcVPolCv13Heed/AtGnTAQDbb78DNm7cMFmH2zWYPalGRgqoVJSOPKliManRCpPD6Gi2sSpIx6FT3VH3hl0CxLQvnU5D13XkciWETUyA/wLMa6/9C4899nucfPIEOONFGBemrEzb7wqYyfTggAMOBEAmrf7kJ3fhmGP+e8KPcyKhqrrF6iWoJ1UsJjem4DZ79Kzj0DnDYZJhwh92CRBiymRS0HUd2WzJd/R8p/BboPnDHx7F0NAQTjvtJNTrCoaGBnH22afhhhtu7crxROgcUzZyCipBKBQKOP/8r2GHHXbEpz99xEQe4qSCelKNjZUxPJxHuayA58nIddpQzDA6Vq36BUqloudwz6buiA671I1hl8lk3LUxOShIxJSCrqOrxAT4L9CceuoZuO++B3DnnT/Dd7/7AwwMTIuIaYpiypJTEAnC0NAQvvzl07D99jviwgsvmehDnDKgRGX2pNI0DcuWfRt33HE7yuUKOC7YV62qGsrlCrJZIpCs11ULUbXbRkOJiWEYZLPlrhITYF2g+dKXFuLggw81FmheeumfXX3tCOFiyroSDA5uwtlnn4ZbbrkLsVgMZ565CBdccJExh15VVZx++pfwX/91AL70pdMm7TinKm655QasWfMr3HjjLdhttzkQBB66rnc8QJTO96Mj3YOMzWIYHel0GgzDYGys1FYj9JaEqPHXGVOWnABvK4uNGzfi4osvwPbb72hsP2fOLlt0BGXGO++8DUEQMH36DABoWL0IDQeFJlHR+lI7xWn72Cz7mCkCHel0CizLIpst+Y6O35IRkZMzpjQ5dQtbuoI4TE8q+5ipt956Cw8++CAOOGB/zJs3D9lsOSImH0Tk5Iwpu1rXLfjppyg2ZwWxrjOoVlVUqyqAikFUqVQCQKItTyra70cHiuZyefzxj4/jxhtvwIwZM3HMMcfh+ONP7Pp7irD5YYsjp0hBbAexeiF2L02iSiQSSCbbNc/TsdNOO+LnP78fL730b6xf//uOZ+uZsbl3CkRwxhZHTpGC2AtNogKqEEUOosghkYgjmWSgKPWGqrzmQFQ6UqkkeJ5HNlvC9OkzceyxC8d9RFtyp8CWjikrJegWIgVxcATxpKIfZTKZbIzNKkFVw0uFo06BLRdbHDn56afMCuLzz/+qoSDe0mH3pFJV4knV19eD3t40RJHH2Fi4xAT4mxU6dQrsv/8nQj2GCJODLY6cIgXx+EGJamSkiLExYp6Xy5VDJyYg6hTYkrHFkVO3FcTr1q3FiSd+AccddxRWrbq/5fE333wD55xzOk4++Xicd945yOVy437NyQQhpgoUpTt6gahTYMvFFqlz6haoqt1cvP32t680ire6rmPhwqPx1a9+Hfvu+zHceOP10HUdZ5+9ZJKPfOpiS+gUiHROztjiVuu6CT+Zwssvv4RYLGY4gZ500inI5wuTdrzvB/iZGW7cuBGvvPISVFXF+vW/BxB1CmwuiMgpRPjJFN555y309fVj+fLL8OqrL2P27A/i3HPPn4xDfV/By8xwzpxd8fjjT07GYUXoMra4mlM34Ve8VVUVf//70zjqqGNw++0/xdZbb4Prr79uMg41QoQpj4icQoRf8bavrx+zZn0Ac+bsCgA46KBD8eKLL7TsJ0KECBE5hQo/mcK8ebtjbGwUr776CgDgT3/6X+y885zJOtwIEaY0otW6kOFl8zJnzq544YXn8f3vX4NyuYLp06fjkksuQ29v32QfdoRJRLRa54yInN5H8GuAffnll/Dd714FRVEwY8YMXHLJ5Uiloh/+VEdETs6I0rr3CYIMi/zBD1bg1FPPwF133Yttt52Ne++9Z5KO1ht+QtVXX30Zp576RRx33Ofxne9cjno9vEELEd4/iMjpfQK/BliArBaWSkUApM9MkqTJOFRPBCHZyy67BOeeewHuu+8B6LqONWt+NTkHG2FSEZHT+wR+DbAAcM455+Lqq6/EZz97KJ588q/43OeOnujD9IUfyW7Y8B6q1SrmziV2NYcfvgB/+MMjk3W4ESYRETm9T+CnoapWK/jOdy7H97//Y6xe/TscddQxuOKKpZNxqJ7wI9kgJBxhy4CnQjwq1E0dbL/9bDz11FPGd1Kp5PGBD2xj3H/uudeRSMRwwAFEunDqqSfjtttunnLfYSwmgGU147iSSQnxuGjcT6dliCJv3C8W4xAEbsq9jwjdRxQ5vU/wsY99DH/+858xMjKCcrmMdevWYf/99zcenz17NjZs2IDXXiP1m0cffRTz5k09J8+ZM2dicHDQuD84OIjp06e7Pj40NGR5PMKWg4ic3ieYMWMGzj33XJx00kn43Oc+hyOOOAK77747Fi9ejH/84x/IZDJYvnw5vva1r2HBggVYtWoVrrrqqsk+7Bb4kew222wDSZLw9NNPAwBWr15teTzClgNPnVOECN3AmjVrcPPNN0NRFBxzzDFYvHgxFi9ejCVLlmDevHl46aWXcPHFF6NQKGC33XbD8uXLIYriZB92hAlGRE4RIkSYkojSuggRIkxJROQUIUKEKYmInCJEiDAlEZFThAgRpiQicooQIcKUREROESJEmJKIyClChAhTEv8f3UV1QpuQl9wAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"filenames": {
"image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_181_1.png"
}
},
"output_type": "display_data"
}
],
"source": [
"from mpl_toolkits.mplot3d import Axes3D\n",
"import matplotlib.pyplot as plt\n",
"from matplotlib import cm\n",
"from matplotlib.ticker import LinearLocator, FormatStrFormatter\n",
"import numpy as np\n",
"from random import random, seed\n",
"\n",
"fig = plt.figure()\n",
"ax = fig.gca(projection='3d')\n",
"\n",
"# Make data.\n",
"x = np.arange(0, 1, 0.05)\n",
"y = np.arange(0, 1, 0.05)\n",
"x, y = np.meshgrid(x,y)\n",
"\n",
"\n",
"def FrankeFunction(x,y):\n",
" term1 = 0.75*np.exp(-(0.25*(9*x-2)**2) - 0.25*((9*y-2)**2))\n",
" term2 = 0.75*np.exp(-((9*x+1)**2)/49.0 - 0.1*(9*y+1))\n",
" term3 = 0.5*np.exp(-(9*x-7)**2/4.0 - 0.25*((9*y-3)**2))\n",
" term4 = -0.2*np.exp(-(9*x-4)**2 - (9*y-7)**2)\n",
" return term1 + term2 + term3 + term4\n",
"\n",
"\n",
"z = FrankeFunction(x, y)\n",
"\n",
"# Plot the surface.\n",
"surf = ax.plot_surface(x, y, z, cmap=cm.coolwarm,\n",
" linewidth=0, antialiased=False)\n",
"\n",
"# Customize the z axis.\n",
"ax.set_zlim(-0.10, 1.40)\n",
"ax.zaxis.set_major_locator(LinearLocator(10))\n",
"ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))\n",
"\n",
"# Add a color bar which maps values to colors.\n",
"fig.colorbar(surf, shrink=0.5, aspect=5)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exercise: Ordinary Least Square (OLS) on the Franke function\n",
"\n",
"We will generate our own dataset for a function\n",
"$\\mathrm{FrankeFunction}(x,y)$ with $x,y \\in [0,1]$. The function\n",
"$f(x,y)$ is the Franke function. You should explore also the addition\n",
"of an added stochastic noise to this function using the normal\n",
"distribution $N(0,1)$.\n",
"\n",
"*Write your own code* (using either a matrix inversion or a singular\n",
"value decomposition from e.g., **numpy** ) or use your code from\n",
"homeworks 1 and 2 and perform a standard least square regression\n",
"analysis using polynomials in $x$ and $y$ up to fifth order. Find the\n",
"[confidence intervals](https://en.wikipedia.org/wiki/Confidence_interval) of the parameters (estimators) $\\beta$ by computing their\n",
"variances, evaluate the Mean Squared error (MSE)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"MSE(\\hat{y},\\hat{\\tilde{y}}) = \\frac{1}{n}\n",
"\\sum_{i=0}^{n-1}(y_i-\\tilde{y}_i)^2,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and the $R^2$ score function. If $\\tilde{\\hat{y}}_i$ is the predicted\n",
"value of the $i-th$ sample and $y_i$ is the corresponding true value,\n",
"then the score $R^2$ is defined as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"R^2(\\hat{y}, \\tilde{\\hat{y}}) = 1 - \\frac{\\sum_{i=0}^{n - 1} (y_i - \\tilde{y}_i)^2}{\\sum_{i=0}^{n - 1} (y_i - \\bar{y})^2},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where we have defined the mean value of $\\hat{y}$ as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\bar{y} = \\frac{1}{n} \\sum_{i=0}^{n - 1} y_i.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Your code has to include a scaling of the data (for example by\n",
"subtracting the mean value), and\n",
"a split of the data in training and test data. For this exercise you can\n",
"either write your own code or use for example the function for\n",
"splitting training data provided by the library **Scikit-Learn** (make\n",
"sure you have installed it). This function is called\n",
"$train\\_test\\_split$. **You should present a critical discussion of why and how you have scaled or not scaled the 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 (eventually also an additional\n",
"validation set). 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.\n",
"\n",
"\n",
"You can easily reuse the solutions to your exercises from week 35 and week 36.\n",
"\n",
"\n",
"\n",
"### Exercise: Bias-variance trade-off and resampling techniques\n",
"\n",
"Our aim here is to study the bias-variance trade-off by implementing the **bootstrap** resampling technique.\n",
"\n",
"With a code which does OLS and includes resampling techniques, \n",
"we will now discuss the bias-variance trade-off in the context of\n",
"continuous predictions such as regression. However, many of the\n",
"intuitions and ideas discussed here also carry over to classification\n",
"tasks and basically all Machine Learning algorithms. \n",
"\n",
"Before you perform an analysis of the bias-variance trade-off on your test data, make\n",
"first a figure similar to Fig. 2.11 of Hastie, Tibshirani, and\n",
"Friedman. Figure 2.11 of this reference displays only the test and training MSEs. The test MSE can be used to \n",
"indicate possible regions of low/high bias and variance. You will most likely not get an\n",
"equally smooth curve!\n",
"\n",
"With this result we move on to the bias-variance trade-off analysis.\n",
"\n",
"Consider a\n",
"dataset $\\mathcal{L}$ consisting of the data\n",
"$\\mathbf{X}_\\mathcal{L}=\\{(y_j, \\boldsymbol{x}_j), j=0\\ldots n-1\\}$.\n",
"\n",
"Let us assume that the true data is generated from a noisy model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{y}=f(\\boldsymbol{x}) + \\boldsymbol{\\epsilon}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here $\\epsilon$ is normally distributed with mean zero and standard\n",
"deviation $\\sigma^2$.\n",
"\n",
"In our derivation of the ordinary least squares method we defined then\n",
"an approximation to the function $f$ in terms of the parameters\n",
"$\\boldsymbol{\\beta}$ and the design matrix $\\boldsymbol{X}$ which embody our model,\n",
"that is $\\boldsymbol{\\tilde{y}}=\\boldsymbol{X}\\boldsymbol{\\beta}$.\n",
"\n",
"The parameters $\\boldsymbol{\\beta}$ are in turn found by optimizing the means\n",
"squared error via the so-called cost function"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"C(\\boldsymbol{X},\\boldsymbol{\\beta}) =\\frac{1}{n}\\sum_{i=0}^{n-1}(y_i-\\tilde{y}_i)^2=\\mathbb{E}\\left[(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2\\right].\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here the expected value $\\mathbb{E}$ is the sample value. \n",
"\n",
"Show that you can rewrite this as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathbb{E}\\left[(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2\\right]=\\frac{1}{n}\\sum_i(f_i-\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right])^2+\\frac{1}{n}\\sum_i(\\tilde{y}_i-\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right])^2+\\sigma^2.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Explain what the terms mean, which one is the bias and which one is\n",
"the variance and discuss their interpretations.\n",
"\n",
"Perform then a bias-variance analysis of the Franke function by\n",
"studying the MSE value as function of the complexity of your model.\n",
"\n",
"Discuss the bias and variance trade-off as function\n",
"of your model complexity (the degree of the polynomial) and the number\n",
"of data points, and possibly also your training and test data using the **bootstrap** resampling method.\n",
"\n",
"Note also that when you calculate the bias, in all applications you don't know the function values $f_i$. You would hence replace them with the actual data points $y_i$.\n",
"\n",
"\n",
"### Exercise: Cross-validation as resampling techniques, adding more complexity\n",
"\n",
"The aim here is to write your own code for another widely popular\n",
"resampling technique, the so-called cross-validation method. Again,\n",
"before you start with cross-validation approach, you should scale your\n",
"data.\n",
"\n",
"Implement the $k$-fold cross-validation algorithm (write your own\n",
"code) and evaluate again the MSE function resulting\n",
"from the test folds. You can compare your own code with that from\n",
"**Scikit-Learn** if needed. \n",
"\n",
"Compare the MSE you get from your cross-validation code with the one\n",
"you got from your **bootstrap** code. Comment your results. Try $5-10$\n",
"folds. You can also compare your own cross-validation code with the\n",
"one provided by **Scikit-Learn**.\n",
"\n",
"\n",
"### Exercise: Ridge Regression on the Franke function with resampling\n",
"\n",
"Write your own code for the Ridge method, either using matrix\n",
"inversion or the singular value decomposition as done in the previous\n",
"exercise. Perform the same bootstrap analysis as in the\n",
"Exercise 2 (for the same polynomials) and the cross-validation in exercise 3 but now for different values of $\\lambda$. Compare and\n",
"analyze your results with those obtained in exercises 1-3. Study the\n",
"dependence on $\\lambda$.\n",
"\n",
"Study also the bias-variance trade-off as function of various values of\n",
"the parameter $\\lambda$. For the bias-variance trade-off, use the **bootstrap** resampling method. Comment your results. \n",
"\n",
"### Exercise: Lasso Regression on the Franke function with resampling\n",
"\n",
"This exercise is essentially a repeat of the previous two ones, but now\n",
"with Lasso regression. Write either your own code (difficult and optional) or, in this case,\n",
"you can also use the functionalities of **Scikit-Learn** (recommended). \n",
"Give a\n",
"critical discussion of the three methods and a judgement of which\n",
"model fits the data best. Perform here as well an analysis of the bias-variance trade-off using the **bootstrap** resampling technique and an analysis of the mean squared error using cross-validation. \n",
"\n",
"### Exercise: Analysis of real data\n",
"\n",
"With our codes functioning and having been tested properly on a\n",
"simpler function we are now ready to look at real data. We will\n",
"essentially repeat in this exercise what was done in exercises 1-5. However, we\n",
"need first to download the data and prepare properly the inputs to our\n",
"codes. We are going to download digital terrain data from the website\n",
"<https://earthexplorer.usgs.gov/>,\n",
"\n",
"Or, if you prefer, we have placed selected datafiles at <https://github.com/CompPhysics/MachineLearning/tree/master/doc/Projects/2021/Project1/DataFiles>\n",
"\n",
"In order to obtain data for a specific region, you need to register as\n",
"a user (free) at this website and then decide upon which area you want\n",
"to fetch the digital terrain data from. In order to be able to read\n",
"the data properly, you need to specify that the format should be **SRTM\n",
"Arc-Second Global** and download the data as a **GeoTIF** file. The\n",
"files are then stored in *tif* format which can be imported into a\n",
"Python program using"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'scipy' is not defined",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-31-d985fb40c43d>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mscipy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmisc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mimread\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mNameError\u001b[0m: name 'scipy' is not defined"
]
}
],
"source": [
"scipy.misc.imread"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here is a simple part of a Python code which reads and plots the data\n",
"from such files"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"source": [
"\"\"\"\n",
"import numpy as np\n",
"from imageio import imread\n",
"import matplotlib.pyplot as plt\n",
"from mpl_toolkits.mplot3d import Axes3D\n",
"from matplotlib import cm\n",
"\n",
"# Load the terrain\n",
"terrain1 = imread('SRTM_data_Norway_1.tif')\n",
"# Show the terrain\n",
"plt.figure()\n",
"plt.title('Terrain over Norway 1')\n",
"plt.imshow(terrain1, cmap='gray')\n",
"plt.xlabel('X')\n",
"plt.ylabel('Y')\n",
"plt.show()\n",
"\"\"\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If you should have problems in downloading the digital terrain data,\n",
"we provide two examples under the data folder of project 1. One is\n",
"from a region close to Stavanger in Norway and the other Møsvatn\n",
"Austfjell, again in Norway.\n",
"Feel free to produce your own terrain data.\n",
"\n",
"\n",
"Alternatively, if you would like to use another data set, feel free to do so. This could be data close to your reseach area or simply a data set you found interesting. See for example [kaggle.com](https://www.kaggle.com/datasets) for examples.\n",
"\n",
"\n",
"Our final part deals with the parameterization of your digital terrain\n",
"data (or your own data). We will apply all three methods for linear regression, the same type (or higher order) of polynomial\n",
"approximation and cross-validation as resampling technique to evaluate which\n",
"model fits the data best.\n",
"\n",
"At the end, you should present a critical evaluation of your results\n",
"and discuss the applicability of these regression methods to the type\n",
"of data presented here (either the terrain data we propose or other data sets)."
]
}
],
"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": 4
}