4594 lines
901 KiB
Plaintext
4594 lines
901 KiB
Plaintext
{
|
||
"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 model’s 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.184895 sec\n",
|
||
"Jackknife Statistics :\n",
|
||
"original bias std. error\n",
|
||
" 100.109 100.099 0.148768\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.7134 15.0572 99.7151 0.151986\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/MortenImac/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.013121573975499602\n",
|
||
"Bias^2: 0.012073649439965807\n",
|
||
"Var: 0.0010479245355337968\n",
|
||
"0.013121573975499602 >= 0.012073649439965807 + 0.0010479245355337968 = 0.013121573975499604\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 432x288 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"filenames": {
|
||
"image/png": "/Users/MortenImac/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.3214960170351912\n",
|
||
"Bias^2: 0.3123314713548606\n",
|
||
"Var: 0.009164545680330616\n",
|
||
"0.3214960170351912 >= 0.3123314713548606 + 0.009164545680330616 = 0.3214960170351912\n",
|
||
"Polynomial degree: 1\n",
|
||
"Error: 0.08426840630693411\n",
|
||
"Bias^2: 0.07968918676726029\n",
|
||
"Var: 0.004579219539673836\n",
|
||
"0.08426840630693411 >= 0.07968918676726029 + 0.004579219539673836 = 0.08426840630693413\n",
|
||
"Polynomial degree: 2\n",
|
||
"Error: 0.10398646080125035\n",
|
||
"Bias^2: 0.10077114273548984\n",
|
||
"Var: 0.003215318065760509\n",
|
||
"0.10398646080125035 >= 0.10077114273548984 + 0.003215318065760509 = 0.10398646080125035\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Polynomial degree: 3\n",
|
||
"Error: 0.06547790180152357\n",
|
||
"Bias^2: 0.06208238634231953\n",
|
||
"Var: 0.0033955154592040944\n",
|
||
"0.06547790180152357 >= 0.06208238634231953 + 0.0033955154592040944 = 0.06547790180152363\n",
|
||
"Polynomial degree: 4\n",
|
||
"Error: 0.06844519414009438\n",
|
||
"Bias^2: 0.06453579006728315\n",
|
||
"Var: 0.003909404072811231\n",
|
||
"0.06844519414009438 >= 0.06453579006728315 + 0.003909404072811231 = 0.06844519414009438\n",
|
||
"Polynomial degree: 5\n",
|
||
"Error: 0.05227921801205692\n",
|
||
"Bias^2: 0.04818727730430296\n",
|
||
"Var: 0.0040919407077539514\n",
|
||
"0.05227921801205692 >= 0.04818727730430296 + 0.0040919407077539514 = 0.05227921801205691\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Polynomial degree: 6\n",
|
||
"Error: 0.03781367141738885\n",
|
||
"Bias^2: 0.033657685071527485\n",
|
||
"Var: 0.004155986345861374\n",
|
||
"0.03781367141738885 >= 0.033657685071527485 + 0.004155986345861374 = 0.03781367141738886\n",
|
||
"Polynomial degree: 7\n",
|
||
"Error: 0.027609773491022314\n",
|
||
"Bias^2: 0.02299949826036602\n",
|
||
"Var: 0.004610275230656294\n",
|
||
"0.027609773491022314 >= 0.02299949826036602 + 0.004610275230656294 = 0.027609773491022314\n",
|
||
"Polynomial degree: 8\n",
|
||
"Error: 0.017355848195591845\n",
|
||
"Bias^2: 0.01033172130665515\n",
|
||
"Var: 0.007024126888936694\n",
|
||
"0.017355848195591845 >= 0.01033172130665515 + 0.007024126888936694 = 0.01735584819559184\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Polynomial degree: 9\n",
|
||
"Error: 0.026605727637176654\n",
|
||
"Bias^2: 0.010018312644139347\n",
|
||
"Var: 0.016587414993037307\n",
|
||
"0.026605727637176654 >= 0.010018312644139347 + 0.016587414993037307 = 0.026605727637176654\n",
|
||
"Polynomial degree: 10\n",
|
||
"Error: 0.02159270458799264\n",
|
||
"Bias^2: 0.010516485576652856\n",
|
||
"Var: 0.011076219011339788\n",
|
||
"0.02159270458799264 >= 0.010516485576652856 + 0.011076219011339788 = 0.021592704587992645\n",
|
||
"Polynomial degree: 11\n",
|
||
"Error: 0.07160048164248561\n",
|
||
"Bias^2: 0.014436800088969727\n",
|
||
"Var: 0.05716368155351588\n",
|
||
"0.07160048164248561 >= 0.014436800088969727 + 0.05716368155351588 = 0.07160048164248561\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Polynomial degree: 12\n",
|
||
"Error: 0.11547777218940905\n",
|
||
"Bias^2: 0.016285782696075054\n",
|
||
"Var: 0.099191989493334\n",
|
||
"0.11547777218940905 >= 0.016285782696075054 + 0.099191989493334 = 0.11547777218940906\n",
|
||
"Polynomial degree: 13\n",
|
||
"Error: 0.22842468702288576\n",
|
||
"Bias^2: 0.01975416527179247\n",
|
||
"Var: 0.20867052175109335\n",
|
||
"0.22842468702288576 >= 0.01975416527179247 + 0.20867052175109335 = 0.22842468702288582\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 432x288 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"filenames": {
|
||
"image/png": "/Users/MortenImac/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_62_5.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/MortenImac/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"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"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"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"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"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"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"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Degree of polynomial: 11\n",
|
||
"Mean squared error on training data: 0.01640891\n",
|
||
"Mean squared error on test data: 1.35533774\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.81333805\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Degree of polynomial: 15\n",
|
||
"Mean squared error on training data: 0.00410478\n",
|
||
"Mean squared error on test data: 92.09149881\n",
|
||
"Degree of polynomial: 16\n",
|
||
"Mean squared error on training data: 0.00315593\n",
|
||
"Mean squared error on test data: 234.39095416\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Degree of polynomial: 17\n",
|
||
"Mean squared error on training data: 0.00242999\n",
|
||
"Mean squared error on test data: 1270.94548496\n",
|
||
"Degree of polynomial: 18\n",
|
||
"Mean squared error on training data: 0.00228741\n",
|
||
"Mean squared error on test data: 108.28590743\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Degree of polynomial: 19\n",
|
||
"Mean squared error on training data: 0.00156379\n",
|
||
"Mean squared error on test data: 1378.43761347\n",
|
||
"Degree of polynomial: 20\n",
|
||
"Mean squared error on training data: 0.00137835\n",
|
||
"Mean squared error on test data: 1954.37992857\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Degree of polynomial: 21\n",
|
||
"Mean squared error on training data: 0.00118527\n",
|
||
"Mean squared error on test data: 14818.20320502\n",
|
||
"Degree of polynomial: 22\n",
|
||
"Mean squared error on training data: 0.00092646\n",
|
||
"Mean squared error on test data: 871.17339342\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Degree of polynomial: 23\n",
|
||
"Mean squared error on training data: 0.00085884\n",
|
||
"Mean squared error on test data: 5566.16660817\n",
|
||
"Degree of polynomial: 24\n",
|
||
"Mean squared error on training data: 0.00084705\n",
|
||
"Mean squared error on test data: 1314.42631342\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Degree of polynomial: 25\n",
|
||
"Mean squared error on training data: 0.00079123\n",
|
||
"Mean squared error on test data: 127043.53189647\n",
|
||
"Degree of polynomial: 26\n",
|
||
"Mean squared error on training data: 0.00076925\n",
|
||
"Mean squared error on test data: 18526.05756733\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Degree of polynomial: 27\n",
|
||
"Mean squared error on training data: 0.00069103\n",
|
||
"Mean squared error on test data: 2470.53697476\n",
|
||
"Degree of polynomial: 28\n",
|
||
"Mean squared error on training data: 0.00062595\n",
|
||
"Mean squared error on test data: 4022.12945452\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Degree of polynomial: 29\n",
|
||
"Mean squared error on training data: 0.00060705\n",
|
||
"Mean squared error on test data: 3384.63675140\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"/var/folders/jy/g42mrgv128v34gnnhxwk9nrc0000gp/T/ipykernel_42456/626635268.py:73: RuntimeWarning: divide by zero encountered in log10\n",
|
||
" plt.plot(polynomial, np.log10(trainingerror), label='Training Error')\n",
|
||
"/var/folders/jy/g42mrgv128v34gnnhxwk9nrc0000gp/T/ipykernel_42456/626635268.py: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/MortenImac/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter3_65_16.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": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAEGCAYAAABvtY4XAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAA3pklEQVR4nO3dd3hU1dbH8e9KIwkJhBRqQAIEIUBCBwEpgiCIiuIFRBTQKyoq9mu7dq9iuRa8iqIiiihFURFQQDpKCy303kNJKIE0Uma/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/MortenImac/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": [
|
||
"/var/folders/jy/g42mrgv128v34gnnhxwk9nrc0000gp/T/ipykernel_42456/3817475779.py:63: RuntimeWarning: divide by zero encountered in log10\n",
|
||
" plt.plot(polynomial, np.log10(estimated_mse_sklearn), label='Test Error')\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEGCAYAAABsLkJ6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAusUlEQVR4nO3dd3xUZfb48c9JJyEkEEKAVJAOoUak2BG7WFEsq7C6rmtb1911i/tbdf2ua11d+1oQdS0I2HsQECkqCSWBAKEFkgBJCKSTOs/vjxkwRJKZJDNzM8l5v168MnPnztxzc8k9c5/nuecRYwxKKaW6Hj+rA1BKKWUNTQBKKdVFaQJQSqkuShOAUkp1UZoAlFKqiwqwOgBX9O7d2yQlJVkdhlJK+ZT09PQDxpjo5l73iQSQlJREWlqa1WEopZRPEZHdLb2uTUBKKdVFaQJQSqkuShOAUkp1UT7RB3A8dXV15OXlUV1dbXUoPi0kJIS4uDgCAwOtDkUp5WU+mwDy8vIIDw8nKSkJEbE6HJ9kjKG4uJi8vDwGDBhgdThKKS/z2Sag6upqoqKi9OTfDiJCVFSUXkUp1UX5bAIA9OTvBvo7VKrr8ukEoJRSndWhylru/3gT5dV1HtuGz/YBWK24uJhp06YBsH//fvz9/YmOtt9w9+OPPxIUFNTi+5ctW0ZQUBBTpkz52Wvz5s3jj3/8I7GxsUeXvf3224wYMcKNe6CU6oiMMXyeuZ/7Pt5ISVUdJw/qzVkjYjyyLU0AbRQVFcX69esBuP/+++nevTt/+MMfXH7/smXL6N69+3ETAMBVV13Fs88+2+z7Gxoa8Pf3b/Z5c+rr6wkI0MOuVEdUWFbN3z7cyNdZBSTHRvDGL09iRP8eHtueNgG5UXp6OqeddhoTJkzgnHPOYd++fQA8/fTTjBgxgtGjRzNr1ixycnJ48cUXefLJJxk7dizfffedS5+/bNkyzjjjDK655hqSk5N/9ry6upo5c+aQnJzMuHHjWLp0KWC/opg5cyYXXXQRZ599tsf2XynVNsYY3kvL5ax/f8u32UX8+bxhfHDrFI+e/KGTXAE88MkmsvaWufUzR/TvwX0XjXR5fWMMd9xxBx999BHR0dHMnz+fe++9l7lz5/Lwww+za9cugoODKSkpITIykltuuaXFq4b58+ezYsWKo89Xr14N2JuXNm7cyIABA1i2bNkxz5944gkAMjMz2bJlC2effTbZ2dlH35+RkUGvXr3a+itRSnlA7sEq/vpBJt9tO8DEpF48fHkyA6O7e2XbnSIBdAQ1NTVs3LiR6dOnA/YmmX79+gEwevRorr32Wi655BIuueQSlz6vuSagiRMnHjNmv/HzFStWcMcddwAwbNgwEhMTjyaA6dOn68lfqQ7EZjO8sTqHR7/aigAPXjySa09KxM/PeyPzOkUCaM03dU8xxjBy5Mij39Qb++yzz1i+fDkff/wxDz74IJs2bWrzdsLCwpp9boxx+X1KKetsL6zgz4sySNt9iNOGRPPQZcnERnbzehzaB+AmwcHBFBUVHU0AdXV1bNq0CZvNRm5uLmeccQaPPvooJSUlVFRUEB4eTnl5uVtjOPXUU3nrrbcAyM7OZs+ePQwdOtSt21BKtZ0xhhe/3cH5T3/HtsIKnpg5hnlzTrTk5A+aANzGz8+PhQsX8qc//YkxY8YwduxYVq1aRUNDA9ddd93Rjtnf/e53REZGctFFF/HBBx802wk8f/58xo4de/TfqlWrnMZw66230tDQQHJyMldddRXz5s0jODjYE7urlGqDRWvzefiLLZw5tA+L7z6NyyfEWXozprTUbNBRpKSkmKYTwmzevJnhw4dbFFHnor9LpTwvv+Qw5z65nOH9e/DuryZ5pa1fRNKNMSnNva5XAEop5WE2m+GehRtoMIbHrxjj1Y7elmgCUEopD/vfD7tZub2Yv10wgoSoUKvDOcqnE4AvNF91dPo7VMqzdh2o5KHPN3P60GiunhhvdTjH8NkEEBISQnFxsZ7A2uHIfAAhISFWh6JUp9RgM/z+vfUEB/jzyOWjO1z1XZ+9DyAuLo68vDyKioqsDsWnHZkRTCnlfv9dvoO1e0r4z6yxxPToeF+0fDYBBAYG6ixWSqkOa8v+Mp5Mzeb85L7MGNPf6nCOy2ebgJRSqqOqrbfxu/kbiOgWxP9dktzhmn6O8NkrAKWU6qie/mYbm/eV8fL1KfQKa3luECvpFYBSbdRgM2zd795yHsr3rdtziOeXbeeKCXFM99BELu6iCUCpNnp3zR7OeWo5936QSW29zepwVAdwuLaB37+3gX4R3fj7RR1/Bj9NAEq1UXrOIQL9hbd+2MM1L39PYXm11SEpiz361RZ2HqjksStG0yMk0OpwnNIEoFQbZeSXctqQaJ65ehyb9pYx45mVrM8tsTosZZFVOw7w2socZk9JYsqg3laH4xKPJQARmSsihSKy8Tiv/UFEjIj4xm9JqSYqaurZUVRBcmwkF43pz6LfTCHAX7jyv6t5Ly3X6vC8pqy6joe/2ELuwSqrQ7FUeXUdf1yQwYDeYfzp3GFWh+MyT44Cmgc8C7zReKGIxAPTgT0e3LZSHrUxvxRjYHRcBGCfQvST20/m9nfWcs/CDDbll/K3C0cQ6N95L7KNMfzhvQ18nVXAki0FLPrNFMI7aLOHMYZDVXXkFFdyoLyGqtoGKmvrqaqx/6ysqaeytoGqIz9r66msacAYQ1CAn/2fv+NngP/Rx8GO17L2lrGv9DALfzOFbkH+Vu+uyzyWAIwxy0Uk6TgvPQncA3zkqW0r5WmZeaUAjIqNOLqsZ1gQr8+ZyCNfbuHl73axeX85z187nt7dO+ecDK98t4uvswq4bHwsH63fy13vruel61Pwt6jSpTGGwvIacg5Usru4it0HK8kprmJ3sf15eXV9s+/tFuhPWLA/oUEBhAb5ExYcQHhIACJCbX0D1XU2yg7XU1tvo7bBRm29jZp6G3WOxw02wx/OGcr4hJ5e3OP28+p9ACIyA8g3xmxwdmOEiNwM3AyQkJDgheiUcl1Gfin9I0KIDj/25B7g78e9F4xgVGwE9yzMYMYzK/jvL1JIjoto5pN805qcgzz85RbOG9WXJ2aOYVx8JP/vo008+tUW/nKed+eWeC8tl7krdpFTXEl13U+jsQL8hLie3UiICmN8Qk8So8JI7BVKTI8QwoLtJ/nQIPtJ36qkZTWvJQARCQXuBc52ZX1jzEvAS2CfEMaDoSnVapl5JYyOi2z29YvHxnJCdHd+/WY6V7y4in9dlsxl4ztHzaWi8hpue2stCb1CefQKe4GzX0xOYmtBOf/9didD+oRz+QTv7Osbq3P4+0ebGBMXwXUnJZIYFUpiVBhJUWH0jwwhoBM3wbmDN68ATgAGAEe+/ccBa0VkojFmvxfjUKpdSqvqyCmuYmZKy6V9R8VG8PHtU7n97XXc/d4GNuaX8dfzh/n0SanBZvjtu+soPVzH67+ceEyb/30XjWRHYSV/eT+TpN5hTEj0bHPIvJW7uP+TLKaPiOG5a8YTFOC7v1ereO03ZozJNMb0McYkGWOSgDxgvJ78la/JzLe3/492oVknqnswb944kTlTk5i7chezX1tDSVWt22IpqaqlsMx79x88mZrNqh3F/N8loxjer8cxrwX6+/H8tePpFxnCr99MI7/ksMfimLvCfvI/Z6Se/NvDk8NA3wFWA0NFJE9EbvTUtpTypoz8EgCSY11r1w/w9+O+i0by6BWj+XHXQS5+biXZBe0rIWGM4b01uUx9eAkTH/qGi59dwXNLt7OtoNxjc2Qs2VLAs0u3c1VKfLNXPz3Dgnj1hhRq6mzc9HoalTXNd7y21Svf7eQfn2Zx3qi+PKsn/3bx2UnhlbLKb/6Xzqa9ZSy/54xWvzd99yFu+V86VTX1PDVrXJtqxRyoqOEv72eSmlXApIG9OHlQb1I3F7LBcRPagN5hTB8Rw9kjYhiX0NMtHZx5h6q44OkV9I/sxge3TiEksOWhjku3FnLjvDWcPaIvz1873m1z4L68fCf//Hwz5yf35T+zxnXqYbbu4GxSeE0ASrXS1IeXMDYhkueuGd+m9+8rPcyv30wnM7+U308fwm1nDHK5XHBqVgF/eT+Dsup67jlnKL+cOuDoyXV/aTWpmwtIzSpg9Y4D1DUYencP4qzhMUwfEcPUQb2dnriPp6a+gStfXM3Ooko+ueNkknqHufS+V77byf99tpk7zxzE3WcPbfV2m/rvtzv41xdbuGB0P566aqye/F3gLAFoOWilWqG4oob8ksPcMCWxzZ/RL6Ib7/16Mn9elMHjX2ezeX85j10xmtCg5v8cK2rqefCTLOan5TK8Xw/eumksQ/uGH7NO34gQfjEpkV9MSqSsuo5lW4v4etN+Ps3Yx7trcgkN8ueckX259qQEJiT2dDnp/POzzWzIK+XF6ya4fPIHuPHkAWQXlPP0ku0MjgnnonZMivL8su08+uVWLhrTnyevHOPTHekdiSYApVrhSAdwcmxkuz4nJNCfJ68ay/B+PXj4yy3sKqrk5RtSiI3s9rN11+Qc5O731pN/6DC3nn4Cd501xGm7d4+QQGaM6c+MMf2pqW/g+50H+XLjfj7ZsJcP1uUzJKY710xM4NLxcUR0a/7u3Y/W5/PG6t386pQBnDuqb6v2UUR48JJR7DpQyR8WbCAxKrTFobPNeW7pdh77aisXj+3PEzP15O9O2gSkVCs8/c02/p2aTeb9Z7ut7MHSLYXc+c46ggL8eOG6CUwc0AuwN708mbqN/y7fQXzPUP595RhSknq1a1tVtfV8smEvb/2wh4y8UkIC/bhwdH+uOSmBcfGRx1wVbC8sZ8azKxnRrwfv3DypzU0uBypquPjZldTbbHx028n0jXB9btxnvtnGE6nZXDoulsdnjumyN2y1lfYBKOVGN72exs4DFSz5/elu/dzthRXc/EYauYeqeGDGKCYk9uSu+evZvK+MqyfGc+8FI+ge7N4L9o35pbz1wx4+Wp9PVW0Dw/qGc+2kRC4Z2x8/ES5+biWHKmv57M5TWnXSPp4t+8u4/PlVJESFcd6ovoQFBxDmKLnQPTjg6F25Rx53Dw7gpeU7eXJxNpeNj+WxK/Tk3xaaAJRyo5MeWszkgVE8NWuc2z+79HAdd76zjm+zi/D3E3qGBvLI5aOZNtyzs0qVV9fx0fq9vP3DHrL2lREa5E9Cr1C2FpTzvxtPYqqbShsvzirg9ws2UHq4zuX3XDEhjkcuH60n/zbSTmCl3KSgrJqCshqS29CO7YqIboHMnX0iTy3OJr/kMPeeP5woLxSSCw8J5LpJiVx7UgIb8kp5+4fdfJqxj3vOGea2kz/AWSNi2HDf2dQ12I6pwllRU09VbQMVNT9V5aysqSeyWyBXpsS7bQip+jlNAEq56EgF0DEeLOzm7yf83g1DJttCRBgbH8nY+EgeuXy0y6OEWivQ34+IUD8iQjtm6eiuRLvTlXJRRn4pfmKv/d/ZeerkrzoWTQBKuSgjr4TBfcJbHK+vlC/RBKCUC4wxZOaVdrq6/qpr0wSglAv2llZTXFnrUgVQpXyFJgClXJCZVwK4XgFUKV+gCUApF2TklRLgJz+rga+UL9MEoJQLMvNLGdo3vE3VNJXqqDQBKOWEMYaMvFJt/1edjiYApZzYc7CK0sN17a4AqlRHowlAKScy8lyfA1gpX6IJQCknMvNLCfL3Y0hMuPOVlfIhmgCUciIjr4Th/Xvo5OOq09H/0Uq1wGYzbMwvY7SO/1edkCYApVqw80AlFTX1WgJCdUqaAJRqQWZ+CaAdwKpz0gSgVAuOzJs7KLq71aEo5XaaAJRqQWZeKSP7RxDQxgnRlerI9H+1Us2ob7CxaW+ZNv+oTksTgFLN2FFUyeG6Bk0AqtPyWAIQkbkiUigiGxste0xEtohIhoh8ICKRntq+Uu214WgJ6EhL41DKUzx5BTAPOLfJslRglDFmNJAN/MWD21eqXTLzSgkL8mdg7zCrQ1HKIzyWAIwxy4GDTZZ9bYypdzz9Hojz1PaVaq+M/FJGxUbg56cTpKvOyco+gF8CXzT3oojcLCJpIpJWVFTkxbCUgtp6G5v3lTEmPtLqUJTyGEsSgIjcC9QDbzW3jjHmJWNMijEmJTo62nvBKQVkF5RTW2/TKSBVpxbg7Q2KyA3AhcA0Y4zx9vaVckVmvpaAVp2fVxOAiJwL/Ak4zRhT5c1tK9UaGXkl9AgJIKFXqNWhKOUxnhwG+g6wGhgqInkiciPwLBAOpIrIehF50VPbV6o97FNARiKiHcCq8/LYFYAx5urjLH7VU9tTqiUbcksY1Kc7YcHO/8tX1zWwdX85vzp1oBciU8o6Xu8DUMrbftx1kCv/u5qeoYHcdMpArp+cSHhIYLPrb9lfTr3NMEbb/1Unp6UgVKf32spdRHQLZGx8JI99tZWTH1nK099so/Rw3XHXzzxyB3BcpPeCVMoCmgBUp5Z3qIqvNu3n6okJvDZnIh/fPpUTk3rx79RsTn5kCf9Ozaa06thEkJFXSlRYEP0jQiyKWinv0ASgOrU3V+9GRLh+ciIAo+MieeWGFD6942SmnBDF099sY+ojS3j8q60cqqwF7AkgOS5CO4BVp6d9AKrTqqqt550f93DuyL70j+x2zGujYiP47y9S2LyvjGeXbOe5Zdt5beUurp2UyLbCcs4ZGWNR1Ep5jyYA1Wl9sC6fsup6Zk9Nanad4f168Ny148kuKOeZJdt5+budGKPt/6pr0ASgOiVjDPNW5jAqtgcpiT2drj8kJpxnrh7Hb6cN5tvsIk4fquVHVOfXYgIQkfEufEadMSbTTfEo5RYrth9gW2EFT8wc06q2/EF9ujOoj87/q7oGZ1cA3wJrgJb+ggYASe4KSCl3mLcyh97dg7hwTD+rQ1Gqw3KWANYYY85saQURWeLGeJRqt5wDlSzZWsgdZw4mOMDf6nCU6rBaHAbq7OTv6jpKedO8VTkE+AnXTUqwOhSlOrQWE4CIXNfo8dQmr93uqaCUaqvy6joWpudx4ej+9AnXG7mUaomzG8HubvT4mSav/dLNsSjVbgvT86ioqWf2lCSrQ1Gqw3OWAKSZx8d7rpSlbDbD66tyGJ8QqVM5KuUCZwnANPP4eM+VstTSrYXkFFcxZ+oAq0NRyic4GwU0TEQysH/bP8HxGMdzLZauOpTXVubQt0cI547qa3UoSvkEZwlguFeiUKqdthWUs2L7Af54zlAC/bXGoVKuaDEBGGN2N34uIlHAqcAeY0y6JwNTqjVeW5VDcIAfV0/UoZ9KucrZMNBPRWSU43E/YCP20T9vishdng9PKedKqmp5f20el4yNpVdYkNXhKOUznF0rDzDGbHQ8ngOkGmMuAk5Ch4GqDuLdNblU19larPqplPo5Zwmg8VRJ04DPAYwx5YDNU0Ep5ar6Bhtvrt7NpIG9GN6vh9XhKOVTnCWAXBG5Q0QuBcYDXwKISDeg+Vm1lfKS1KwC8ksO69BPpdrAWQK4ERgJzAauMsaUOJZPAl7zXFhKuea1lTnE9+rGWcN1Bi+lWsvZKKBC4JbjLF8KLPVUUEq5YmN+KT/mHORvFwzH309vTFeqtZxNCPNxS68bY2a4NxylXDdvVQ6hQf7MTIm3OhSlfJKzG8EmA7nAO8APaP0f1UGUVNXy8Ya9XJUST0Q37Y5Sqi2cJYC+wHTgauAa4DPgHWPMJk8HplRLPt6wl9p6m974pVQ7OJsQpsEY86Ux5gbsHb/bgWUicoezDxaRuSJSKCIbGy3rJSKpIrLN8dP5bN1KHceCtDxG9OvBiP469FOptnJaNEVEgkXkMuB/wG3A08D7Lnz2PODcJsv+DHxjjBkMfON4rlSrbNlfRmZ+KTNT4qwORSmf5qwT+HVgFPAF8ECju4KdMsYsF5GkJosvBk53PH4dWAb8ydXPVApgYVoegf7CxWNjrQ5FKZ/mrA/gF0AlMAS4U+RoH7AAxhjT2uvvGGPMPuxv3icifZpbUURuBm4GSEjQdl5lV9dg48P1+UwbFqN1f5RqJ2f3AVhWV9cY8xLwEkBKSopOPqMAWLa1iAMVtVwxQZt/lGovb5/gCxxVRY9UFy308vaVj1uQlkvv7sGcPjTa6lCU8nnOykGvdfYBrqzTyMfADY7HNwAfteK9qosrrqhhyZZCLhsfS4BO+qJUuzmdEazRNJDHI0DEcV8QeQd7h29vEckD7gMeBt4TkRuBPcDMVkesuqwP1++l3ma0+UcpN3E6J7ALn9FwvIXGmKubWX+aC5+p1M8sTM9jTFwEQ2LCrQ5FqU7BpSkhRSQGiAUMsNcYU+CF2JQ6amN+KZv3lfHgxSOtDkWpTsPZfQBjgRexN/PkOxbHiUgJcKsxpjXt/0q12cL0PIL8/ZgxRsf+K+UuzpqA5gG/Nsb80HihiByZD2CMh+JS6qia+gY+XJ/P9JExRIRq4Tel3MXZUIqwpid/AGPM90CYZ0JS6lhLNhdSUlXHTO38VcqtnF0BfCEinwFvYC8LDRAPXI9jekilPG1heh4xPYI5ZbCO/VfKnZx1At8pIudhr+ETi33YZx7wnDHmcy/Ep7q4wvJqlmUXcfOpA3XWL6XczNkVAMaYL7AXg1PK6z5cl0+Djv1XyiPafDuliLzkzkCUasoYw4K0PMYnRHJCdHerw1Gq03E2DLRXcy8B57s/HKV+kpFXyrbCCv51WbLVoSjVKTlrAioCdnPsXMDG8bzZUs5KucOC9FxCAv24YHQ/q0NRqlNylgB2AtOMMXuaviAiucdZXym3qK5r4OP1ezl3ZF96hOjYf6U8wVkfwFNAc/P2PureUJT6SWpWAWXV9VwxId7qUJTqtJwNA32uhdeecX84StktSM+jf0QIU06IsjoUpTotp8NAARyTwjdVCmQaY3RSF+VW+0urWbGtiNvOGISfjv1XymNcSgDAjcBkYKnj+enA98AQEfmHMeZND8SmuqhFa/OwGXTsv1Ie5moCsAHDj5SBdpSHfgE4CVgOaAJQbmGMYVF6HhMH9CIxSstNKeVJrt4IltRkDoBCYIgx5iBQ5/6wVFe1ds8hdh6o1G//SnmBq1cA34nIp8ACx/MrgOUiEgaUeCIw1TUtSMsjNMifC5J17L9SnuZqArgNuAw4GftNYK8Di4wxBjjDQ7GpLqTBZvjP4mzeXZPLrBPjCQt29b+mUqqtXPorM8YYEVkB1GK/E/hHx8lfqXY7VFnLb+evZ3l2ETMnxHH/DJ32USlvcHUY6JXAY8Ay7FcAz4jIH40xCz0Ym+oCMvNKueV/6RSV1/Cvy5KZdWI8Ijr0UylvcPU6+17gxCNj/kUkGlgMaAJQbTZ/zR7+30eb6B0WxIJbJjMmPtLqkJTqUlxNAH5Nbvgqph2lpFXXVl3XwH0fbWJ+Wi6nDO7Nf2aNo1dYkNVhKdXluJoAvhSRr4B3HM+vAnRGMNVquQeruPWttWTml3L7GYP43fQhOtOXUhZxtRP4jyJyOTAVex/AS8aYDzwamep0vs0u4rfvrqOhwfDy9SlMHxFjdUhKdWkuj7UzxiwCFnkwFtVJ2WyGZ5du58nF2QyNCeeF6yYwoLfe5auU1ZzNCFaOfdjnz17CPjq0R1s2KiK/A25yfHYmMMcYU92Wz1Id3/2fbOKN1bu5dFws/7x0FKFBOsZfqY6gxY5cY0y4MabHcf6Ft+PkHwvcCaQYY0YB/sCstnyW6viq6xpYkJbHZeNi+feVY/Tkr1QHYtVIngCgm4gEAKHAXoviUB62ascBDtc1MGNsfx3fr1QH4/UEYIzJBx4H9gD7gFJjzNdN1xORm0UkTUTSioqKvB2mcpPUrAK6BwcwWSd2UarD8XoCEJGewMXAAKA/ECYi1zVdzxjzkjEmxRiTEh0d7e0wlRvYbIbFmws5bUg0wQH+VoejlGrCiiags4BdxpgiY0wd8D4wxYI4lIdtyCuhqLyGs0b0sToUpdRxWJEA9gCTRCRU7I3C04DNFsShPCw1qwB/P+GMoZoAlOqIrOgD+AF7DaG12IeA+gEveTsO5XmpWQVMTOpFZKiWeVCqI7JkTJ4x5j7gPiu2rbwj50Al2wormDUxwepQlFLN0IJuyiMWb7bPIHq2lntQqsPSBKA84uusAob1DSe+V6jVoSilmqEJQLndocpa0nIOctZw/favVEemCUC53ZIthdgMWu1TqQ5OE4Byu9SsAmJ6BJMcG2F1KEqpFmgCUG5VXdfA8m1FTBseg59O9KJUh6YJQLnV6h3FVNU2aPOPUj5AE4Byq6+zCggL8meKFn9TqsPTBKDcxmYzfLO5gFO1+JtSPkETgHKbjPxSCstrtPlHKR+hCUC5TWrWfvz9hDOHafE3pXyBJgDlNouzCklJ7KnF35TyEZoAlFvsKa5ia0G5Nv8o5UM0ASi3SHUUf9MEoJTv0ASg3CI1az9DYrqTGBVmdShKKRdpAlDtVlJVy5qcQ/rtXykfowlAtdvSrYU02AzTR/S1OhSlVCtoAlDtlppVQJ/wYEZr8TelfIomANUuNfUNfLtVi78p5Ys0Aah2Wb2jmMraBp36USkfpAlAtUtqVgGhQf5M1uJvSvkcTQCqzWw2w+LNBZw6OJqQQC3+ppSv0QSg2mzj3lIKyrT4m1K+ShOAarPUrAL8BM7Q4m9K+SRNAKrNUrMKSEnqRa8wLf6mlC/SBKDaJPdgFVv2l+voH6V8WIDVAaiOY0NuCS8t3wkCAX6Cvwj+fkKAv+AnYl/m54e/H+wsqgTgrOGaAJTyVZYkABGJBF4BRgEG+KUxZrUVsaifPPT5ZjLzS+kXEUKDzVBvM9gcPxtshgZjaGhwPDeGKSdEkdRbi78p5ausugL4D/ClMeYKEQkCQi2KQzlszC/lh10H+ev5w7j51BOsDkcp5QVeTwAi0gM4FZgNYIypBWq9HYc61tyVuwgN8ueqExOsDkUp5SVWdAIPBIqA10RknYi8IiI/a0cQkZtFJE1E0oqKirwfZRdSWFbNJxv2cmVKPBHdAq0ORynlJVYkgABgPPCCMWYcUAn8uelKxpiXjDEpxpiU6Ohob8fYpbz5/W7qbYbZU5KsDkUp5UVW9AHkAXnGmB8czxdynATgDqt2HGBPcRVJvcNIigqjT3iwVqxsorqugbd+2MO0YTHaoatUF+P1BGCM2S8iuSIy1BizFZgGZHliWx+uy+e9tLyjz0MC/UiKCiMxKtTxM4yk3vbHfXuEdMnk8OG6fA5W1nLjyQOsDkUp5WVWjQK6A3jLMQJoJzDHExv512WjuePMweQUV5JTXMXuA5XkFFeyo6iSpVuKqG2wHV03KMCPyQOj+Mv5wxjWt4cnwulwjDHMXbmLEf16MGlgL6vDUUp5mSUJwBizHkjx9Hb8/YT4XqHE9wrllMHHvtZgM+wvqybHkRR2FlWyaG0e5//nO645KYG7pw/t9CUOvtt2gOyCCp6YOQaRrnf1o1RX12XvBPb3E2IjuxEb2Y2pg3oDcMeZg3hq8Tbe/H43H6/fy2/PGsL1kxMJ9O+cFTNeXbGL3t2DuXBMP6tDUUpZoHOe2dooMjSI+2eM5MvfnsKY+Ege/DSLc55aztKthVaH5nbbC8v5NruI6ycnEhygtfyV6oo0ARzH4Jhw3vjlRF69IQVjYM5ra5j92o9sL6ywOjS3mbsyh6AAP649SW/8Uqqr0gTQDBFh2vAYvrrrVP52wXDScw5x7lPLeeCTTZRW1VkdXrscqqzl/bV5XDYulqjuwVaHo5SyiCYAJ4IC/LjplIEs/ePpzEyJZ96qHE5/fClfbtxvdWht9vaPe6iuszFnqg79VKor0wTgot7dg/nXZcl8dscpxPUM5a7568guKLc6rFarrbfx+qocThncm6F9w60ORyllIU0ArTSifw9enZ1C9+AAbntrLYdrG6wOqVU+z9xHYXkNv9Qbv5Tq8jQBtEGf8BCevGos24sqeOCTTVaH4zJjDK+u2MUJ0WGcNljrKynV1WkCaKNTBkfzm9NO4N01uXy0Pt/qcFyyJucQmfmlzJk6oEuWvVBKHUsTQDvcPX0IKYk9+ev7meQcqLQ6HKdeXbGTyNBALh8fZ3UoSqkOQBNAOwT4+/Gfq8cR4O/H7e+spabeO/0Bxhg25pe2ant7iqv4OquAayYm0C1Ib/xSSmkCaLfYyG48PnMMG/PL+NfnW7yyzRe+3cGFz6xg0kPf8OCnWWwvdD4aad6qHPxFuH5ykucDVEr5hC5bC8idpo+IYc7UJF5bmcPkE6I4Z2Rfj21r6ZZCHvtqK2cO60NIoB+vr8rh1RW7SEnsyayJCVyQ3O9n3/DLq+t4Ly2XC0b3o29EiMdiU0r5Fk0AbvLn84axJucg9yzMYFRsBLGR3dy+jZ1FFdz57jqG9+3Bc9eMp1uQPwcqaliUnsf8Nbn8YcEGHvhkE5eMjWXWxHhG9o8AYP6aXCpq6rXmv1LqGGKMsToGp1JSUkxaWprVYTiVc6CSC59ZwdC+4bx78yS3VhEtr67jkudWcqiqjo9vn0pcz9BjXjfG8MOug7z74x4+37if2nobo+MiuOrEeF5YtoN+ESEsuGWK2+JRSnV8IpJujGm29L72AbhRUu8wHrosmfTdh/h3arbbPtdmM/xu/npyiqt47prxPzv5g7120aSBUTw1axw//nUa9180gtp6G/d+sJG8Q4f1279S6me0CcjNZozpz+odB3hh2Q4mD4zi1CHtv+HqycXZLN5cyAMzRjL5hCin60eGBjF76gBumJLE+twSsvaVMX2E5/ollFK+Sa8APODvF45kSEx37n5vPYVl1e36rC8y9/HMku1clRLP9ZMTW/VeEWFcQk+uPSkRf73xSynVhCYAD+gW5M9z14ynoqaeu+avp8HWtn6WLfvL+P2CDYxPiOQfl4zUaRuVUm6lCcBDBseE848Zo1i1o5gbX1/Duj2HWvX+Q5W1/OqNNMJDAnjxugk6a5dSyu20D8CDZqbEcbCqlheW7eDS51cxaWAvbj19EKcM7t3it/n6Bhu3vb2WgtIa5v96En166Nh9pZT76RWAB4kIt5x2Aqv+fCZ/u2A4OQequH7uj1z07Ao+y9jXbNPQQ59vYdWOYv556SjGJfT0ctRKqa5CE4AXhAUHcNMpA/n2ntN59PLRVNU0cNvba5n2xDLe+XHPMTV9FqXnMXflLmZPSWJmSryFUSulOju9EcwCDTbD15v28/yyHWTml9InPJibThnAqP4RzJ63hgkJPXnjxoluvZFMKdX1OLsRTPsALODvJ5yX3I9zR/Vl5fZiXvh2Ow85CsnF9ezGc9eO15O/UsrjNAFYSEQ4eXBvTh7cmw25JSxMz+MXkxPpFRZkdWhKqS5AE0AHMSY+kjHxkVaHoZTqQixrZxARfxFZJyKfWhWDUkp1ZVY2NP8W2Gzh9pVSqkuzJAGISBxwAfCKFdtXSill3RXAU8A9gK25FUTkZhFJE5G0oqIirwWmlFJdhdcTgIhcCBQaY9JbWs8Y85IxJsUYkxId3f6SykoppY5lxRXAVGCGiOQA7wJnisj/LIhDKaW6NK8nAGPMX4wxccaYJGAWsMQYc52341BKqa5ObzdVSqkuyidqAYlIEbC70aLewAGLwvG0zrpvul++p7PuW1far0RjTLOdqD6RAJoSkbSWChz5ss66b7pfvqez7pvu10+0CUgppbooTQBKKdVF+WoCeMnqADyos+6b7pfv6az7pvvl4JN9AEoppdrPV68AlFJKtZMmAKWU6qJ8LgGIyLkislVEtovIn62Ox11EJEdEMkVkvYj49ATIIjJXRApFZGOjZb1EJFVEtjl+9rQyxrZoZr/uF5F8x3FbLyLnWxljW4hIvIgsFZHNIrJJRH7rWO7Tx6yF/eoMxyxERH4UkQ2OfXvAsbxVx8yn+gBExB/IBqYDecAa4GpjTJalgbmBozZSijHG529QEZFTgQrgDWPMKMeyR4GDxpiHHYm7pzHmT1bG2VrN7Nf9QIUx5nErY2sPEekH9DPGrBWRcCAduASYjQ8fsxb260p8/5gJEGaMqRCRQGAF9jlWLqMVx8zXrgAmAtuNMTuNMbXYi8ldbHFMqgljzHLgYJPFFwOvOx6/jv0P0ac0s18+zxizzxiz1vG4HPtETbH4+DFrYb98nrGrcDwNdPwztPKY+VoCiAVyGz3Po5McUOwH72sRSReRm60OxgNijDH7wP6HCfSxOB53ul1EMhxNRD7VTNKUiCQB44Af6ETHrMl+QSc4Zo5pddcDhUCqMabVx8zXEoAcZ5nvtGG1bKoxZjxwHnCbo7lBdXwvACcAY4F9wBOWRtMOItIdWATcZYwpszoedznOfnWKY2aMaTDGjAXigIkiMqq1n+FrCSAPiG/0PA7Ya1EsbmWM2ev4WQh8gL25qzMpcLTJHmmbLbQ4HrcwxhQ4/hBtwMv46HFztCMvAt4yxrzvWOzzx+x4+9VZjtkRxpgSYBlwLq08Zr6WANYAg0VkgIgEYZ9P4GOLY2o3EQlzdFIhImHA2cDGlt/lcz4GbnA8vgH4yMJY3ObIH5vDpfjgcXN0KL4KbDbG/LvRSz59zJrbr05yzKJFJNLxuBtwFrCFVh4znxoFBOAYsvUU4A/MNcb809qI2k9EBmL/1g8QALzty/slIu8Ap2MvT1sA3Ad8CLwHJAB7gJnGGJ/qUG1mv07H3pRggBzg10faYH2FiJwMfAdk8tM83X/F3l7us8eshf26Gt8/ZqOxd/L6Y/8i/54x5h8iEkUrjpnPJQCllFLu4WtNQEoppdxEE4BSSnVRmgCUUqqL0gSglFJdlCYApZTqojQBqA5DRBoc1Rk3isgCEQltYd3ZIvKsN+NrtO1/iMhZTtaZJyJXOFknqXFlUaW8TROA6kgOG2PGOipt1gK3WB3Q8Rhj/m6MWWx1HI05KuUq1SqaAFRH9R0wyFHf/ENH4a7vHTfAHCUi4SKyy3HLPyLSQ+xzKwSKyDIRecRRNz1bRE5xrBMiIq+Jff6FdSJyhmP5bMe2PnF85u0icrdjne9FpJdjvaPf7kXk7yKyxnHV8pLj7tNmicgERw331cBtjZb7i8hjjs/KEJFfO5b7icjzYq/5/qmIfN5o2zmO7a8AZorI2SKyWkTWOq6gujfa5reOQoNfNbkTVnVhmgBUhyMiAdiL4mUCDwDrjDGjsd/F+UbjdR1lfpcBFzgWzQIWGWPqHM8DjDETgbuw37kLjhOvMSYZ+12hr4tIiOO1UcA12OvD/BOoMsaMA1YD1x8n3GeNMSc6rlq6ARc62b3XgDuNMZObLL8RKDXGnAicCPxKRAZgr++eBCQDNwFN31dtjDkZWAz8DTjLUVQwDbjbkRifAa4wxkwA5jr2SykCrA5AqUa6Ocrbgv0K4FXs5QguBzDGLBGRKBGJaPK+V4B7sJebmAP8qtFrRwqbpWM/kQKcjP2kiDFmi4jsBoY4XlvqSCrlIlIKfOJYngkcc/XhcIaI3AOEAr2ATY3ecwxH3JHGmG8di97EnujAXv9pdKN+gwhgsCPWBY7CZftFZGmTj53v+DkJGAGsdFyEBGFPWkOxJ7VUx3J/7BUwldIEoDqUw47ytkc106RyTP0SY8xKR4fqaYC/MaZxx2qN42cDP/1/b6mZpqbRY1uj5zaa/L04rhqexz6TW67YZwcLoXnSNPYmr91hjPmqyTYuaGb9IyobvT/VGHN1k/cnA5uOc8WhlDYBqQ5vOXAtgIicDhxoplb9G8A72JtYWvOZQ7AXztrahtiOnOwPONrbWxz14yjbW+ooUsaRGBy+An7TqC9jiNgrw64ALnf0BcRgLz53PN8DU0VkkOP9oY592wpEi8hkx/JAERnZyv1UnZReAaiO7n7gNRHJAKr4qdRtU28B/4c9CTjzPPCiiGQC9cBsY0yNk/7bnzHGlIjIy9ibh3Kwlyt3Zg4wV0SqsJ/0j3gFexPVWsdVTxH26fwWAdOwlyzOxt4kVnqcWIpEZDbwjogEOxb/zRiT7WhWetrRBBWAvZruptbsq+qctBqo6hQcJ7mLjTG/sDoWdxOR7o7Jv6OAH7HPHrff6riU79MrAOXzROQZ7J2p51sdi4d8KvbJP4KAB/Xkr9xFrwCUUqqL0k5gpZTqojQBKKVUF6UJQCmluihNAEop1UVpAlBKqS7q/wOSyeLBFSEwrQAAAABJRU5ErkJggg==\n",
|
||
"text/plain": [
|
||
"<Figure size 432x288 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"filenames": {
|
||
"image/png": "/Users/MortenImac/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.0041136346174431284\n",
|
||
"MSE with intercept column from SKL\n",
|
||
"0.004113634617443141\n",
|
||
"Manual intercept: 2.0837663229239016\n",
|
||
"Fitted beta (wiothout intercept): [0.19569961 3.97898392]\n",
|
||
"Sklearn intercept: 2.0837663229239025\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.004113634617443135\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 432x288 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"filenames": {
|
||
"image/png": "/Users/MortenImac/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.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.01831130e-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.01831200e-05 -2.15098090e-02]\n",
|
||
"MSE values for own Ridge implementation\n",
|
||
"4.3632959170548605e-07\n",
|
||
"MSE values for Scikit-Learn Ridge implementation\n",
|
||
"4.363295916414895e-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.194042826653172e-06\n",
|
||
"MSE values for Scikit-Learn Ridge implementation\n",
|
||
"5.194042826815498e-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.0940821989673748e-05\n",
|
||
"MSE values for Scikit-Learn Ridge implementation\n",
|
||
"2.0940821989624095e-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.0003153514830958126\n",
|
||
"MSE values for Scikit-Learn Ridge implementation\n",
|
||
"0.0003153514830958081\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.015072388895177109\n",
|
||
"MSE values for Scikit-Learn Ridge implementation\n",
|
||
"0.015072388895177088\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.2640931530791005\n",
|
||
"MSE values for Scikit-Learn Ridge implementation\n",
|
||
"0.2640931530791003\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 432x288 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"filenames": {
|
||
"image/png": "/Users/MortenImac/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.25617657e-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.0330308045180234\n",
|
||
"Intercept from Scikit-Learn Ridge implementation\n",
|
||
"1.0330308045183163\n",
|
||
"MSE values for own Ridge implementation\n",
|
||
"3.1392559581788775e-06\n",
|
||
"MSE values for Scikit-Learn Ridge implementation\n",
|
||
"3.1392559584983597e-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.0411487294305746\n",
|
||
"Intercept from Scikit-Learn Ridge implementation\n",
|
||
"1.0411487294305246\n",
|
||
"MSE values for own Ridge implementation\n",
|
||
"1.9601304850213484e-05\n",
|
||
"MSE values for Scikit-Learn Ridge implementation\n",
|
||
"1.960130485007934e-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.0495569966278315\n",
|
||
"Intercept from Scikit-Learn Ridge implementation\n",
|
||
"1.0495569966278269\n",
|
||
"MSE values for own Ridge implementation\n",
|
||
"5.495916150938325e-05\n",
|
||
"MSE values for Scikit-Learn Ridge implementation\n",
|
||
"5.495916150936654e-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.571105947979439e-05\n",
|
||
"MSE values for Scikit-Learn Ridge implementation\n",
|
||
"7.571105947979395e-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.0007698473260556339\n",
|
||
"MSE values for Scikit-Learn Ridge implementation\n",
|
||
"0.0007698473260556334\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.002381316302584885\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/MortenImac/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": [
|
||
"/var/folders/jy/g42mrgv128v34gnnhxwk9nrc0000gp/T/ipykernel_42456/4162706317.py: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": "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xti+fXvceeedcdVVV8X7778fZ555ZrtDHBeq1WpUq0P/fcZ1MLZGyn+Ea6EVent74+tf/3pERHz5y1/W71voj3Mfoc+3wu9///v+GQhTpkyJa6+9NiZNmqTvt8BQuY/Q9xn/OqYQbDQaI7YZ6QscB27FihXRaDRi5cqV/a8tXbo0li1bFt/97nfjjDPO6J9GxNhxHbSfa2Fsvfvuu3HZZZfF+vXr4ytf+Up0dXXFr3/96xH/nX5/8PaX+wh9vhUqlUrcdNNNsWfPnrjrrrvi4osvju9///sxa9asEf+tvn9whsr96aefru8z7nXM3WPfM1127949aNu+1/7wuS+kdcEFFwy4EUZETJ48OZYvXx5vv/12/w+qGVuug/ZzLYyd7du3x6pVq+Kpp56Ks88+O6688sqI0O9bYajcR+jzrfCRj3wklixZEmeeeWZ0d3fHoYceGn/3d3+n77fAULmP0PcZ/zqmENz3w9233npr0LY333wzDjnkED/gbYN9D7PdtWtXmyMpB9dBvlwLB+d3v/tdXHjhhfHMM8/EeeedF9/5zneiUqlEhH4/1obL/XD0+bExefLkOOWUU6Knpyc+/vGPR4S+3yp/mPt33nlnyHb6PuNFxxSChxxySMybNy+ef/75QdteeOGFOPbYY9sQVTm88cYbsXTp0rjlllsGbdu0aVNERMybN6/VYZWS66C9XAtjY+fOnfGlL30p1q1bFxdddFFcd911AwoR/X7sjJR7fX7sbNy4MU499dTo7u4etK23tzcqlUpMnDhR3x8DRXL/7rvv6vuMex1TCEZELF68OJ588snYuHFj/2tPPPFEbNq0adhV/jg4s2fPjh07dsSaNWti586d/a/39PTE/fffHyeeeGKh3zGQhuugfVwLY+O6666LdevWxYUXXhjf+MY39ttGvx8bI+Venx87hx9+eOzYsSPuu+++2LNnT//rW7ZsiUcffTROOOGEmD59ur4/Borkfu7cufo+416l2Ww22x1EUe+8804sW7YsarVarFq1Knbv3h2rV6+Oww47LO67776YOHFiu0Mct372s5/F5ZdfHsccc0yce+650dvbG93d3fH+++/Hvffe62GrY+TUU0+NuXPnxl133dX/muugdfaXf9dCWhs3bowlS5bEjBkz4pvf/OZ+F15Yvny5fj8GiuZenx87Dz74YFx99dVx/PHHx+c///nYunVrf27vueeemD9/vr4/RorkXt9nvOuoQjAi4uWXX47rr78+fvWrX8XkyZPj5JNPjquvvrp/vjZj52c/+1ncdtttsX79+pg8eXJ0dXXFVVdd5UY4hvZXiES4DlplqPy7FtK5995746/+6q+GbfPiiy9GhH6f2mhyr8+PnYcffjhWr14dv/3tb2Pq1KnxqU99Kq688so48sgj+9vo+2OjSO71fcazjisEAQAAODgd9RtBAAAADp5CEAAAoGQUggAAACWjEAQAACgZhSAAAEDJKAQBAABKRiEIAABQMgpBAACAklEIAgAAlMz/H48PFhamBTDjAAAAAElFTkSuQmCC\n",
|
||
"text/plain": [
|
||
"<Figure size 1440x1008 with 2 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"filenames": {
|
||
"image/png": "/Users/MortenImac/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": [
|
||
"/var/folders/jy/g42mrgv128v34gnnhxwk9nrc0000gp/T/ipykernel_42456/3777801602.py: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": "iVBORw0KGgoAAAANSUhEUgAAA4IAAAM2CAYAAACjUj0CAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAB7UElEQVR4nO3de3xU1bn/8W+GECZhGGMaSAhpCAEjAuXiwWCpRYsRFNRgq3hBUPHSerAesR6qHo62HCtgPdoi/qwtVguiVo5U2+KvtdZa7/KzHoqIQbkECCGBGEIyhBCTmd8fkEjMZW+cJ8kO83m/Xrx8OfvJM8/s2ZdZs9asFReJRCICAAAAAMQMX1cXAAAAAADoXDQEAQAAACDG0BAEAAAAgBhDQxAAAAAAYgwNQQAAAACIMTQEAQAAACDG0BAE0GFuv/12nXzyySouLnYV51WrV6/WySef3OLf8OHD9fWvf1033HCDPvjgg64us1O8++67Ovnkk7V69epOfd5du3Zp5syZGjlypMaNG6eKiopOfX63PvjgA9188836xje+oREjRuiMM87Q3Llzv9TxUVxcrJNPPlkPPfRQ02Mnn3yybr/99nb/buLEiZo5c2azxz799FPV1NQ4PqfXz0UAgJ34ri4AAC699FJ9/etf7+oyHF166aX6l3/5l6b/r6ur06ZNm/TMM8/o//2//6cXXnhBWVlZXVhhxxs8eLDuu+8+nXrqqZ36vIsXL9Z7772nm266SX379lVKSkqnPr8br732mr73ve9pyJAhmjVrllJSUrR7924999xz+tOf/qSHHnpI+fn5rvOlpKTovvvuO+aG2Z133qnExMSm///73/+u2267Tb/73e+UlJR0TLkAAMcvGoIAutyYMWM0ZsyYri7D0ejRo1VQUNDi8VNPPVVz587Vr3/9a/3oRz/q/MI6UWpqaqv7oKNt2rRJp5xyiubMmdPpz+3WT37yEw0dOlS//e1v1bNnz6bHZ82apYKCAi1YsEBnnXWW4uPd3XqTkpK+1L7+YmNz/fr1qqqqOuY8AIDjG0NDASBK5513nhITE/XPf/6zq0s5bn322Wfq3bt3V5fRpoqKChUVFWncuHHNGoGSlJycrGnTpqm8vNxxmDQAAJ2FhiCALvfF3yXdfvvtOvfcc7V+/XpdeeWVGjVqlMaPH6977rlHtbW1zf62tLRU8+bN0+mnn66vfe1rmjZtmn7/+9+3eI63335b1113ncaNG6fhw4frm9/8pu66665mPSWNz7ty5UqddtppOu200/Taa6851h8XF6devXopEok0e3zz5s2aM2eOxo4dq1GjRumyyy7T66+/3uLv//nPf2rWrFkaM2aMvvnNb+qhhx7S0qVLW90nrdXmZh9EIhEtXbpUkydP1te+9jWNHz9e//7v/67du3c3i3v66ad1wQUXaNSoURo3bpzmzJmjTz75pGl7a78RbGho0LJlyzR58uSm38XdfffdzX7H1/h3b775pn784x/r61//ukaNGqWrrrpKhYWFbe7bxr/btWuX1q5d2/SbucbHf/e73+mCCy7Q1772Nd1xxx3HXM9bb72l//iP/9Bpp52mf/mXf9Edd9yhmpoa/f3vf1dBQYFGjRqlgoICvf32223WKEmJiYnq0aOH/vrXv2rv3r0ttn//+9/Xhx9+qOzs7GbvyfLly3X++edr5MiRmjhxou6//34dPHhQUuu/EfyiLVu2aNy4cZo8ebLKy8slNf+N4O23366lS5dKks4+++wWvx10ozPOsWM55wEANhgaCsCTKioqdO211+q8887ThRdeqNdee00rVqxQQkKC5s2bJ0kqKyvTJZdcokgkopkzZ+qEE07QX//6V/37v/+79uzZo+uuu06S9MYbb+j666/XqaeeqptvvllxcXF688039dvf/lafffaZFi5c2PS8u3fv1sMPP6ybbrpJe/bs0ahRo/TXv/613Vo/+OADVVZWauLEiU2Pbdq0SVdccYVSU1P13e9+Vz179tQf//hH3XDDDfrv//5vTZkyRZK0YcMGzZo1S6mpqZozZ44OHjyo5cuXy+dr+T1da7W53Qe/+MUv9PDDD2vGjBlNE/gsX75cGzZs0B//+Ef16NFDv//97/WjH/1I06ZN08yZM1VRUaHf/OY3mjlzpv7yl7+oT58+rb7+uXPn6s9//rMmTZqkWbNmadu2bXr66af1zjvvaNWqVQoGg02x8+fPV79+/fSv//qv2r9/v5YtW6brr79ef/vb31odMtn4m8SFCxfqxBNP1Pe+9z2dfPLJ2r9/vyRpwYIFKigo0CWXXKKMjIxjruf222/XkCFD9IMf/EBr167V6tWrVVpaqo0bN2rmzJnq06ePfvnLX+rf/u3f9PLLLzf726MlJiZqypQp+sMf/qD8/HxNnDhRZ5xxhk4//XQNGDCg1df24x//WE8//bS+9a1v6fLLL9e2bdv061//WkVFRU2Nt/aUlJRo9uzZCgQC+s1vfqPU1NQWMZdeeqlCoZD+8pe/6I477tBJJ53kmPdonXWOvfjii67OeQCAoQgAdJAf/vCHkdzc3MjOnTtdxX3x/5cvX94s7rzzzoucccYZzeLy8vIiZWVlzeJuvfXWyIgRIyLl5eWRSCQSufbaayPf+ta3IocOHWoWN3369MiYMWNaPO9zzz3XLO65556L5ObmRlasWBH59NNPm/6VlJRE/vKXv0Ty8/MjI0eOjGzdurXpb6688spIfn5+5MCBA02PffbZZ5ErrrgiMn78+KZaZs2aFRk7dmzk008/bYr78MMPI0OHDm11n3yxNrf74LzzzovccMMNzWKefvrpyIUXXhjZvn17JBKJRK677rrI1KlTm8W8+uqrkSlTpkTee++9SCQSibzzzjvN6vj73/8eyc3Njdxzzz3N/u7FF1+M5ObmRu67775mf/ed73wnUl9f3xT36KOPRnJzcyNvvPFGpD3f+ta3IldeeWXT/zfmO/qxL1tPQ0NDJBKJRBoaGiLf+MY3Irm5uZG///3vTX/77LPPuqoxFApFbrnllkhubm6zf1OnTo08+eSTTc8TiUQin3zySeTkk0+OzJ8/v1mOBx54IJKbmxv55JNPIjt37ozk5uZGlixZ0rQ9Nzc38sMf/jDy6aefRiZNmhSZMGFCi/Pri/tqyZIlrs7DSKT1c7EzzjG35zwAwA5DQwF41nnnndfs/4cOHapPP/1UkhQOh/Xyyy9r7Nixio+PV0VFRdO/SZMmqa6uTm+++aYk6dFHH9Vzzz2nhISEplz79u1TIBBodUr9M844o9V6/uu//ktf//rXm/6dddZZ+v73v69+/frpmWee0aBBg5pyr127VmeeeaZqa2ub6qqqqtI555yj8vJyffDBB9q/f7/Wrl2rgoKCZrNgDhs2TN/4xjdareHo2o5lH6Snp+vdd9/Vb37zm6YhhJdddlmzmU7T09O1detWLV26tOm3bGeeeabWrFnTbLbUo73yyiuSpO9+97vNHj/vvPM0aNAgvfzyy80enzRpknr06NH0/6eccooktTqc0o0vvlfHWs/ZZ5/d1Pvq8/n01a9+VX6/XxMmTGiKyczMdFVj79699eCDD+rFF1/U97//fY0ZM0bx8fH65JNPtGDBAv3rv/6rGhoaJEmvvvpqUy/b0a699lr9/ve/b3f22QMHDui6667Trl279MQTTzTVZ60rzrH2znkAgC2GhgLwrC8uEZCQkND0QXrfvn2qrq7Wyy+/3OLDfaPG37/16NFDO3fu1M9//nNt3rxZO3bsUFlZWZvP+5WvfKXVx6+99lqdccYZCofDKiws1C9/+UsNHDhQP/3pT5uGJUrSzp07JUkrVqzQihUr2qytV69eCofDGjhwYIvtOTk5rf6e8OjajmUfzJs3TzfeeKPuvfdeLVy4UMOHD9fEiRM1ffp09e3bV5I0Z84crVu3Tg899JAeeughDRkyRBMnTtQll1zSZsOkuLhYwWCw1WGJgwcPbvEby9beU+lwo+PL+GK+Y63ni3Hx8fEtcjY2FN3WOHjwYN1000266aabVF1drT/96U/6+c9/rr/97W/685//rClTpmjXrl2S1Ow3g5IUDAbbHH7a6KWXXpLP51M4HNaGDRuavoBwq66urmlobSO/399i6G9XnGPtnfMAAFs0BAF4Vmu/k2vU+OFw8uTJuuyyy1qN+epXvypJeuaZZ3T33Xdr0KBBGjt2rCZNmqRRo0ZpxYoV+sMf/tDi747usTrakCFDNH78eEmHezTGjRunK664QjNnztSqVauaPsQ21jZjxow2140bMmSISkpKJKlZL0qjXr16tfp3R9d2LPtg6NCh+vOf/6zXX39df/vb3/T6669ryZIleuKJJ/TMM89o8ODBSk9P1wsvvKB3331Xf/3rX/X666/rl7/8pR5//HH9+te/Vl5eXov8kS9MkHO0cDjcYgbN9t7TL+OL79Wx1tPaex0XF3fMdbz66qt688039e///u/N3s8+ffrokksuUW5urqZPn65//OMfmjJlSlSNmz59+ugXv/iF7rzzTi1atEgTJkzQCSec4Prv//d//1ezZs1q9thFF12kRYsWNXusK84x6+MDANA2GoIAuqWUlBQlJiaqvr6+qXHWqKSkRBs3blRiYqIOHTqkRYsWady4cfr1r3/dbNKOn//851HV8LWvfU0/+MEPtHDhQs2fP1//5//8H0nSgAEDJB3+sPvF2jZv3qzi4mIlJiY2fYguKipqkXv79u2Oz+92HzQ0NKiwsFCBQEBnn322zj77bEnSiy++qLlz52rVqlW6/fbbtWnTJklqGvoqSf/4xz901VVXacWKFa02BAcMGKA33nhD5eXlLXrXtm3bpv79+zu+DktdVc+HH36o5cuX65xzzml1PzVO0uL3+yWpqQd5586dGjx4cFNcWVmZFi5cqCuvvFLp6emtPld+fr7Gjh2r+fPn6/rrr9d///d/a8GCBa5rHTp0qB5//PFmj/Xr169FnBfOMQBAx+GrNwDdUnx8vCZMmKC///3vLZYfWLRokebMmaN9+/aptrZWBw8eVHZ2drMPqB999JHWrl0rSaqvr//SdVx11VU69dRT9de//lUvvviipMMfqkeMGKHf/e53zYbHffbZZ7rzzjt18803q76+Xl/5ylc0ZswY/fGPf2w2VG/nzp2ulq1wuw8aGho0a9Ys3Xvvvc1iRo0aJenzXph/+7d/07x585r1Vg0bNkw9e/Zss6emcabURx99tNnjL7/8srZt26azzjrL8XVY6qp6pk6dKp/Pp8WLF7e6ePtvf/tbSWpqhJ955pmSDi/XcbTVq1fr//7f/6tAIOD4nBMmTNA555yjZ599Vu+//36bcY3vXWNv6QknnKDx48c3+zdkyJAWf+eVcwwA0DHoEQTQ4R588MFWFwM/77zzmnqevozbbrtN7777rmbMmKEZM2YoIyNDr776qv72t7/p0ksvbeqFGTVqlFavXq1AIKBBgwbpk08+0apVq5o+IB84cOCYhtYdLS4uTgsWLNBFF12kn/zkJ/rGN76hE044QfPnz9dVV12l73znO7r88suVnJysNWvW6J///Kd+8IMf6MQTT5Qk/fCHP9TMmTN18cUX67LLLlNdXZ1WrFjR7hDHL7MPZs6cqUceeURz5szRN7/5TdXW1uq3v/2tEhMT9Z3vfEfS4d9Azp8/X1dffbXOPfdcRSIRvfDCCzp06JCuuOKKVp//zDPP1Nlnn63ly5errKxM48aNU1FRkZ5++ml99atfbTFpS0frqnqys7N1xx136N57721a/iAnJ0e1tbV688039be//U0zZ87UqaeeKunwJDmXXHKJVqxYoT179ujrX/+6Nm/erGeeeUbTpk3T0KFDXS0+f+edd+qNN97Q3XffrdWrV7cY+ip9/ru7ZcuWacKECU2NUTe8cI4BADoGDUEAHe6Pf/xjq4/n5ORE1RDMysrSs88+qyVLlujZZ59VTU2NvvrVr+qOO+5oNhvjz3/+cy1cuFDPPfec6urqNGDAAN1www0aPHiwvv/97+udd97R5MmTv3QdJ510kq699lr94he/0KJFi7Rw4UKNGTNGTz/9tB566CE9/vjjqq+v16BBg7Ro0SJddNFFTX87ZswYLVu2TA8++KB+9rOfKTk5WTNnztSWLVv05z//2Wwf3HzzzUpOTtZzzz2nxYsXq0ePHjr11FP105/+tGlo4iWXXKKePXtq+fLleuCBBxQOhzVixAj96le/0rhx41p9/ri4OP385z/Xr371Kz3//PN65ZVX9JWvfEWXXnqpvv/97ztOfGKtK+uZNWuWhg0bppUrVzati+f3+zV06FA98MADmjp1arP4BQsWKDs7W6tWrdIrr7yijIwMzZkzp2ltPjcyMjJ044036oEHHtDjjz+uG264oUXM1KlT9dJLL2n16tVau3btMTUEvXKOAQDsxUXcfu0MADC3d+/eplk7j/a9731PhYWFevXVVzu/KAAAcNzjN4IA0IWmT5+ua6+9ttlj5eXlevfddzVy5MguqgoAABzvGBoKAF3owgsv1C9+8Qv94Ac/0Lhx41RVVaVnn31W4XBYc+bM6eryAADAcYqhoQDQhcLhsFauXKlnn31WO3fuVK9evXTqqafq3/7t3zR06NCuLg8AABynaAgCAAAAwHGqqqqq1aWNaAgCAAAAQJQOVlQo8ciSPV5SW1urCRMmNFuzWPJyQ7C2VmqvtMRE6eBBxzT/dX+iWUn/eWO5Wa69kVSzXOGwWSpVVDjHnHKK9NFHLuIG10VfUKN4u5+zlu21myMprX6XWS4dtYh3m7KypB07HMO21mcZFPS5nF52r7Oy9wCzXMlBu4P/tTecj4sJEyQX67zr5JMNCjrC8hirDtrt+z4b3zXLVZbd+tIUR0tLk8rKnHOlBZ3vC25V19vdP1pZRvNL861fZ5br4MmjHWNc3m7Vq1f09TTyye7c3rXb7prf2Z/v3O77xArDe5Gkur5214qEfS5OXJcqe6WZ5UouWtd+wOjR0jqHmEaWE3vt3m2WyvJ9/J//iT5H795SQUH0ebzu12ecoSoX68B2lmBmpma/8YZ2796thi981vTuZDGRSPsNwcYYB/v2GdUjmba4wobNbzftB7c++8w2zoss95dpsvp6szi3qVyLt3udll9cWKqttYvz6jFm+rXfoUNmqdy+RFdxhi/So1+TSnV2X7K5fY2e3RcuWJ6PXbEfXD2n6UXHmGFtpvcPN+eR4bnmmkffy1CoqyvoPqqKi7V/+/auLqOF/v37t3jMuw1BAAAAAOhGfPLW+nzt1WJe586dO3XTTTcpLy9PeXl5mjdvnircjDcEAAAAAHQK0x7Bffv26aqrrlJdXZ2uu+46NTQ06LHHHtOmTZu0atUqJSQkWD4dAAAAAOBLMG0IPvHEEyotLdUf/vAHDR48WJI0atQoXXPNNXr++ec1ffp0y6cDAAAAAM+I2aGha9asUV5eXlMjUJLGjx+vQYMGac2aNZZPBQAAAAD4kswagvv379fOnTs1fPjwFtuGDx+uDRs2WD0VAAAAACAKZkNDy44s8JSW1nKNl759+yoUCqm6ulp9+vSxekoAAAAA8IzuNDTUrCF44MABSVJiYssFeHsdWWW2pqbGfUOwlTwtJCU5hjzwgLunc6efWSa7JVFtZWS4i3O3dqo3Jwdy+xrdsV243ZWcHMeQXPMntXudtusx211qJ02yjbNjt++DZpkkTZhglsrtKenu3HW+L7hlur8s5eWZpXK7t1zcbo3ZndtZXXCZtuRq3xu/SNO7t+FN1/T+4eY8MjzXXDN8Ly3fxxtuMEwGzzBrCIZdrPLp8x3Dhf3gwfZXUU1KkmpqHNPcOt/u7vXA7XvMcpVF7BqVlmuPlpc7x4wcKa1f7yJuqOFCrPF28xqVlNp9wMio32GWy9Uq8Dk50tatjmEf1zs3Fo9Frt/udVYEDBuVyXarC7/0svNxMWmS9NJLzrlGjDAo6AjLY6wq2bBRue41s1wlQ5wblRkZUkmJc66MZOf7gltV9Xb3j0DALJV87601y1UzwvmDrsvbrfx+g4KO8Mnu3N5RbHfNT001S+WK232fVG54L5JUl27YGCl3ceK6VOE3bFRudjiP8vKktS7PtbFjoy+oUXGxWSrL9/GJJ6LPEQhIV1wRfR7YMft03bt3b0nSoUOHWmxrfKwxBgAAAACON3Hy1tDQuHa2mdWZcaTrf+/evS227dmzR8FgUEmdP7YEAAAAAPAFZg3BYDCozMxMffjhhy22bdy4USMsx0oBAAAAAL40057LSZMm6e2339aWLVuaHnvrrbe0bds2TZkyxfKpAAAAAMBTfB781xa7GTgkXX/99XrhhRd09dVXa/bs2Tp06JCWLVum4cOHq6CgwPKpAAAAAABfkmmPYEpKip588kkNHTpUS5Ys0W9+8xvl5+dr2bJlSkjw5lICAAAAABBrTHsEJSknJ0e/+tWvos6z8GeJ2rev7e333SfN+5Hz5DP33x91KU3m3W635MMPfmCWytRIuVgXQiNdxVXVulps0JXKSrNUyip+yy7Z6aebpaqrd/5eJkFSXaaLdQRDFQYVfa7GbzcFdbLhFPOW08K7nf3bTVxRUVSlNJMxOtMsVzBUZZZra6bdOoI5cjO9fIYy3MT506Oup1Fw88dmuVRaapfL8Df377zjHDNxosu40YbXHcO1KLI2uyjepY9rJ5rlyh3iZokMn5L8znE7jNe0zSq1W47CcgmDSruVFZTiZlkql0tXbS2yuxdlZ9vtr8INZql0w3VWS7p4aT7NjtGdFpT3Up0AAAAAgE5AQxAAAAAAYoz50FAAAAAAiEUMDQUAAAAAeBYNQQAAAACIMQwNBQAAAAADcfJWT1tcO9u8VCcAAAAAoBPQEAQAAACAGMPQUAAAAAAwwKyhAAAAAADPoiEIAAAAADGGoaEAAAAAYCBO7c/U2dmYNRQAAAAA0ISGIAAAAADEGIaGAgAAAICBHkf+eUV7tdAjCAAAAAAxhoYgAAAAAMQYhoYCAAAAgIE4eaunrb1ZQ+MikUik0yo5BuFw+9t9PucYSZo/36YeSbrnHrtct9xil+tHP7LLlZzsHON23/tKS6Kup0llpVmqmuxhZrmS/C52hEthF5cNt/u+uNigoKNkhTaa5Vpfb7f/R4beMsul9HTnmJwcaetWx7Cn3skxKOiwK6bVmOWqi08yy1Vba5ZKwc3vOwedeqr0vou4zMzoC2pUX2+WqiqQYZYrEDBLJV+oyjkoGJSqnOPWFwUNKjos3vBr6iFD7HIlxNtd8xUKOce43PfmF32/3yzVW6V218OxY81SKaFyT/sB/fpJexxiGlkesG6OC5fKemWZ5erTJ/occXFSYmL0ebxuZXa2Qtu3d3UZTQIDB2pGUVGr27zUYAUAAAAAdAKGhgIAAACAAZ+81dPWXi1eqhMAAAAA0AloCAIAAABAjGFoKAAAAAAYYGgoAAAAAMCzaAgCAAAAQIxhaCgAAAAAGGBoKAAAAADAs2gIAgAAAECMYWgoAAAAABiIk7d62uLa2ealOgEAAAAAnYCGIAAAAADEGIaGAgAAAIABZg0FAAAAAHgWDUEAAAAAiDEMDQUAAAAAA3Fqf6bOzsasoQAAAACAJnGRSCTS1UW0pq6u/e0JCc4xkhQK2dQjSbffbpfrl78Im+W6d5Fde/7O71U4B6WkSBXOcW8VphhUdNj40TVmufSnP5mlWj/k22a5RtaudQ7Ky5PWOseFx+YZVPQ5X9FWs1x1mTlmuRIq95jlWl/azzFm5Ehp/XrnXCNGGBR0hE9214q6ertrRbzheJLiYueYrCxpxw4Xcal214qq+iSzXEFVmeUKB4Jmudzw+aSwi8PQV+/ipuzSxs0JZrmGDbGrS/X1drncnEQuP+xY7i9JGpZcYpesttYsVUWy3f0jJdnhoHZ74FszPMZ2lNodF1mhjdEn6dlTOumk6PN43O+ys3Vg+/auLqNJ74EDdVFRUavbGBoKAAAAAAZ6HPnnFe3VwtBQAAAAAIgxNAQBAAAAIMYwNBQAAAAADMTJWz1tzBoKAAAAAGhCQxAAAAAAYgxDQwEAAADAgE/e6mlrrxYv1QkAAAAA6AQ0BAEAAAAgxjA0FAAAAAAMMDQUAAAAAOBZNAQBAAAAIMYwNBQAAAAADDA0FAAAAADgWTQEAQAAACDGMDQUAAAAAAzEyVs9bXHtbPNSnQAAAACATkBDEAAAAABijGeHhpaWSvX1bW/PyZGKi53zxBu+wkWL7HLdu8iuDX777WapdMWVKY4xTz0lXXGTi7if7bEoSZJUUtnPLFf5kG+b5TI1YoRZnC9UFWUxX9DeyXiMEt55zSxXzdgJZrlGJu9wEZXlKi6srOgLOqKi0u5a8dlnZqmU1qfGLFdqapLLOLOndCUow/OostIs1Rvrgma5zjjDLJXpdaK+PsEsl+UHgdfesatryBDnmIwMqaTc+TmH+bcaVPS5qkCOWa5gst21otzF5z63UgrfaT9g/HjpHYeYI8Knjzeo6LDKkN0xZnjZkZKHRZ2iRw9pgEEpXsesoQAAAAAAz6IhCAAAAAAxxrNDQwEAAACgO4lT+zN1djZmDQUAAAAANKEhCAAAAAAxhqGhAAAAAGCgx5F/XtFeLfQIAgAAAECMoUcQAAAAAAzEyVs9bUwWAwAAAABoQkMQAAAAAGIMQ0MBAAAAwIBP3uppa68WL9UJAAAAAOgENAQBAAAAIMYwNBQAAAAADDA0FAAAAADgWTQEAQAAACDGMDQUAAAAAAwwNBQAAAAA4Fme7RE8cED67LP2Y0Ih5zwj4zfaFCSpLn2YWa47v1dhluuKK1PMcj35pF3czbf0i66Yo/zHf5il0sgRYbtkbg5Cl7aWBh1jcnKkraVJjnHFxRYVfW7C0FqzXDWZuWa5qqvNUqkyPssxJkNSiZu48j0GFR0WSLY7j0yPiz52qdzUlZvrMi7Z7pysCdjt+3I5n99uxRveudetc4459VR3campztcmtzIzzVKpotLuO+9AwCyVevQwjEtOjqaUFixfp4rLzVKdcILz9detitTx7W5PkVQxtP2Yptg3XjOo6EiuESPMcgWG2n0+LC01S4Uusnv3bjU0NDR7zLMNQQAAAADoTuLkrSGXcUf+O2PGDO3atavZNhqCAAAAAHAcW7lyJT2CAAAAABBL+vfv3+IxGoIAAAAAYKA7zRpq3hC8+OKL9cEHH7R4fPLkyVqyZIn10wEAAAAAjpFpQzASiWjLli3Kz8/XpEmTmm0bMGCA5VMBAAAAAL4k04ZgcXGxampqdPbZZ6ugoMAyNQAAAAB4Wpw+n6nTC9qrxXQI6+bNmyVJgwcPtkwLAAAAADBk2hD85JNPJH3eEKypqbFMDwAAAAAwYN4Q7N27txYuXKgxY8ZozJgxys/P15o1ayyfBgAAAAA8p4cH/7UlLhKJRExetaSLLrpIGzdu1OTJk3XBBReoqqpKy5cvV2FhoRYvXqxp06ZZPRUAAAAAeMr72dk6tH17V5fRpNfAgTq1qKjVbaYNwaefflrhcFgzZsxoeqy2tlbnn3++Dh48qNdee009erTXLv3cRx9Jn33W9vaRI6X1653zjIzf6Or53KgbMswsV0KowizXFTelmOV68knnGJ9PCoed4265JepymvzHf9jlSuvroni3QiGzVFvLg44xOTnS1q3OuYqLDQo6yoShe8xy1QT6meWqrjZLpYYG55iMDKmkxEVcvN3+qku221+Wx0VOut3Q/4+LkxxjcnOljz92zpWb7M1jtbzcLJXp++j3O8eceqr0/vvOcamp0dfTKBCwy2Wpjc9SX4qbydTT0qSyMhdxPe0+U0hSONnuc4WveIdZrrJeWWa5evZsf3tKilThcrembHgt+oIajRhhlqouYPc+lpZGn6NHD3fHfXfXnRqCpkNDL7/88maNQEny+/0qKChQeXl502QyAAAAAHC8idPni8p74V+nzRralpSUw99IMHkMAAAAAHQ9s4ZgWVmZpk6dqqVLl7bYtm3bNklSZmam1dMBAAAAAL4ks4ZgWlqaqqurtWrVKoWO+t3U7t27tXr1ao0bN059+/a1ejoAAAAA8JSuHgra2r+2xJu84iPuuusuzZkzR5dddpkuueQSHThwQCtXrlR8fLzuvvtuy6cCAAAAAHxJpr8RzM/P18MPP6zExETdf//9evzxxzV69Gg9/fTTTYvMAwAAAAC6lunyEabq6trfnpDgHCOppj7BqCApqdLFvPEuvVWUYZZrfLZdXTcvcq5ryRLp5pudcy35md0yDbfeZvedxQ9/aJbKVNoBF+tCuFw/4uP6HIOKPpeebpcr6Hc+b7uEm/n93a4fUVgYfT1HVIyeaJYrpdLFMeaW4W++6+R8nXZ5yVeCDI+v2lq7XJWVZqnCmXZT6LvhdskgX73dvndzTLhluMqPUuKrzHKFA85LBrnd95avUbJd7sRyegiLJQwaZb23uv2Ab39bWu0Q0+iss6Kup0l9vV0uw3uRybIWPp+UnBx9Ho/7IDtbdR5aPiJh4EB9rTOWjwAAAAAAeB8NQQAAAACIMaaTxQAAAABArHKaqbOztVeLl+oEAAAAAHQCGoIAAAAAEGMYGgoAAAAABuLkrZ62uHa2ealOAAAAAEAnoCEIAAAAADGGoaEAAAAAYIBZQwEAAAAAnkVDEAAAAABiDENDAQAAAMBAnNqfqbOzMWsoAAAAAKAJDUEAAAAAiDEMDQUAAAAAAz0khbu6iKP0aGcbPYIAAAAAEGNoCAIAAABAjGFoKAAAAAAYiJO3etramzU0LhKJRDqtkmNx8KDUXmlJSVJNjWOaHeVJZiVl1X5slkvZ2WapdpQmmOXq1cs5Ji1NKitzjvvv/46+nkaLFtnluuUWu1yXXWaXKzPTOSYrS9qxwybXsaistMuVUr/HLpnfb5cr3sX3Yi6vO+s32113LN/LlPgqs1w7KoNmubIyXfyawueTwi7i3nkn+oIaDRlilysQMEtVVm13fL37rnPMhRdKv/+9i7iz7I4v1debpdoRSjHLlZVs9xpLQs7nUEaGVFLinCs93aCgo/iKtprlKuudY5YrMdEslYIBh+uJ22uOJBUVRV1Po5p0u/1VXm6WyubYj4uT+vSJPo/HbcnOVv327V1dRpP4gQM1uI1j1EsNVgAAAABAJ2BoKAAAAAAY8MlbPW3t1eKlOgEAAAAAnYCGIAAAAADEGIaGAgAAAIABhoYCAAAAADyLhiAAAAAAxBiGhgIAAACAAYaGAgAAAAA8i4YgAAAAAMQYhoYCAAAAgIE4eaunLa6dbV6qEwAAAADQCWgIAgAAAECMYWgoAAAAABjwSYp0dRFHYdZQAAAAAEATGoIAAAAAEGMYGgoAAAAABuLU/kydnY1ZQwEAAAAATeIikYiXfs/YpKxMamhoe3tGhlRS4pwnY/NrZjXVjJ1glivp5d+b5do45EKzXMOGhp2DfD4p7BxXttfue4bFi81S6YH7XbxGl759sd1rXP0/dvve2o5iu9fZq5dZKqX1qbFLVl7uHJOVJe3Y4RyXmRl9PUdUhbz5fV3QX2eWa0dpgmOM211veXz17WuXKxSyyxWsr7BLFgg4xyQkSHXO73dNvfP76FZSaI9Zrq2hfma5cvwuPnhYcvlhZ2tthunT5qTbXVtfey/JLNcZZ5ilcjwng0GpqspdruB7r0RfUKOhQ+1yFRXZ5Yo3GESYkCCNHh19Ho/bnZ2thu3bu7qMJj0GDlT/No4FhoYCAAAAgIEeXV3AF7RXjze/agYAAAAAdBgaggAAAAAQYxgaCgAAAAAG4uStnjZmDQUAAAAANKEhCAAAAAAxhqGhAAAAAGDAa71s7dXjtVoBAAAAAB2MhiAAAAAAxBiGhgIAAACAAa/1sjE0FAAAAADQhIYgAAAAAMQYhoYCAAAAgAGv9bIxNBQAAAAA0ISGIAAAAADEGIaGAgAAAICBOHmrpy2unW1eqhMAAAAA0AloCAIAAABAjPHs0NA0lUlqaCciQxkqcU50+ulWJSkpPmyW6/3MC81yxdebpZJqa51jkpJcxfXsmWRQ0GEXX2yWSt++2O77j9X/Y3dMLP6pc10//KG7uO9/36Kiz2Vm2uXyFW60S9Yz3SxVXXqWY0yCy7h9ew0KOiIx0S5XebldrmDRG2a5QukT3cWFnGOy/HuirOYotQGzVIGA3fVQIcNbd72LG0hCgqu42toEg4IOS6qsNMuVk2n3Pqqo0ixVSfIwx5gMSSXKcIzLCRge95L0zgazVCNGuzu/3fC9t9YsV3DsWKdnUzDg7h7/Wrzda5xQu9Usl+VnYJMbiC82+p98kiJdXcRRGBoKAAAAAGhCQxAAAAAAYoxnh4YCAAAAQHfC0FAAAAAAgGfREAQAAACAGMPQUAAAAAAwwNBQAAAAAIBn0RAEAAAAgBjD0FAAAAAAMBCn9odjegk9ggAAAAAQY2gIAgAAAECMYWgoAAAAABjoTr1s3alWAAAAAIABGoIAAAAAEGMYGgoAAAAABrpTL1t3qhUAAAAAYICGIAAAAADEGIaGAgAAAICB7tTLFheJRCJdXUSrduyQ6uvb3p6TI23d6pimJj3HrCS/3yyVfO+ttUs2YoRZqq2lSY4xLne9cuQiyKWtsnsfc7LDZrnuXWR3ut95u4u6fD4p7BxnWZfksjaXamrtakuqrTDL5eoET0qSampscrlUttduf514olkqlZfb5XIjI0MqKXERF6iye9LSUrNUZSfkmuWyfB8Tyt3sVJc739CO+gyzXIGAWSqlVNrd15Sa6hwTDEpVLo7peOPv9S3z1dZ6MleVv1+7293uesn0UqHcVLv72o5QilmurNqPo08SH3/4Q+RxLpKdLW3f3tVlfG7gQMUVFbW6iR5BAAAAADiO7d69Ww0NDc0eoyEIAAAAAAbi4uKkuLiuLuNzR2qZMWOGdu3a1WwTDUEAAAAAOI6tXLmSHkEAAAAA6BDx8fa/243GkVr69+/fYtOXmoVg/vz5mjlzZovHd+7cqZtuukl5eXnKy8vTvHnzVFFhOJkDAAAAACBqx9xcXbVqlVatWqW8vLxmj+/bt09XXXWV6urqdN1116mhoUGPPfaYNm3apFWrVikhIcGsaAAAAADAl+e6IdjQ0KBHHnlES5cubXX7E088odLSUv3hD3/Q4MGDJUmjRo3SNddco+eff17Tp0+3qRgAAAAAvKhHD28NDe3Ro81NroaGHjp0SBdddJEeeughFRQUKC0trUXMmjVrlJeX19QIlKTx48dr0KBBWrNmzZeoGgAAAADQEVw3BEOhkB588EEtXrxY8V9o5e7fv187d+7U8OHDW/zt8OHDtWHDBptqAQAAAABRc9VvGQgE9NJLL7VoADYqKyuTpFZ7Cvv27atQKKTq6mr16dMnilIBAAAAwMM8Omtoq5vc/L3P55PP13bn4YEDByRJiYmJLbb16tVLklRTU3NsDcGsLOeYnBzHkCT3z9i5vjDZjle42KXHEOcyWadmkr7kZLmtuvNOs1RyXVc752Ij27oky32WZHlSJqUYJnP7nJ17VWnl+zVPyMjw6nMG7Z4waJfLo2+j+zeyk99wF58AukaK7d3IFcPjsEtYThZouC/cZHL7dLZvkd19Lcv0FplrmQweYdJcDYfDjjHtNSRbtWOHVF/f9vacHGnrVsc0Nel2F22/3yyVfO+ttUs2YoRZqq2lzh9yXe565chFkEtbLRuV2c7Hq1v3LjJsVN7uoi6fT3JxvlnWJbmszaWaWsNGZa3h8jRuTvCkJKmmxiaXS2V77fbXiSeapVJ5uV0uNzIypJISF3GBKrsnLS01S1V2gt2HKMv3MaHczU51ufMN7ai3a3gGAmaplFJpd19TaqpzTDAoVbk4pq17Hyzz1dZ6MleVv1+7293uesn0UqHcVLv72o6QYaOy9uPok8THu+9xQKcwOdN79+4t6fBvCb+o8bHGGAAAAAA4Lh1vs4Y6yTgyZGTv3r0ttu3Zs0fBYFBJnTycCgAAAADQOpOGYDAYVGZmpj788MMW2zZu3KgRhkMXAQAAAADRMfvxyaRJk/T2229ry5YtTY+99dZb2rZtm6ZMmWL1NAAAAADgTY2zhnrpX1ulWr3m66+/Xi+88IKuvvpqzZ49W4cOHdKyZcs0fPhwFRQUWD0NAAAAACBKZj2CKSkpevLJJzV06FAtWbJEv/nNb5Sfn69ly5YpwXLqYAAAAABAVL5Uj+Arr7zS6uM5OTn61a9+FVVBAAAAANAtdaNZQz1UZXNb67PaXUYwV9LH9c5rkeSG9pjV9HFx+2vOHIshY+0WlPdV2q05U1zsbh3B4mLnXPWGazgOGWKWytQtt9jlcrP23513uowzXPdPkm6cY7eW3Y03mqXSkCF2ayS1d71pFJRUVe98jgRlt//TTqwzy+XqRbqUUb7ZLFdV9khXca7WgwuFoivmaIbrQaY12K3DF443XNw9Odksri7ebnbw8g1mqSwPe6UYHl9u1jlOklQT77xaeVL5DoOKjuJmjUO3LBfZy842SxUMOX12SlGw3t3nq4Mn2N2LwsmG97VKs1Qma6H6fFJfg1pgx3bVaQAAAACA53m2RxAAAAAAuhWHmTo7XTu10CMIAAAAADGGhiAAAAAAxBgP9VsCAAAAQDfWjWYNpUcQAAAAAGIMDUEAAAAAiDEe6rcEAAAAgG6MWUMBAAAAAF5FQxAAAAAAYoyH+i0BAAAAoBtj1lAAAAAAgFfREAQAAACAGOOhfksAAAAA6MaYNRQAAAAA4FU0BAEAAAAgxnio3xIAAAAAujFmDQUAAAAAeFVcJBKJdHURrSorkxoa2t6ekSGVlDimqUnOMCspqfhjs1ymLL91SE52jklJkSoqHMOq4lOir+eI+nqzVKqstMuVnW2Xy6ewiyCfFHaOu3GO7Xc8jzzsojaX7pxvV9s995ilkq+2xjkoKUmqcRFXWxt9QY3Ky+1yuTm/XaoJ9DPLlVTpfC13e82X3x99QR2Qa2tpklkuy5eYkWx43K9bF3U9jUqyx5vlyqjdapbL8n4bzsxyjHF5ydeGDQYFHWXk0DqzXFW1CWa5gn67uhw/WLg97iWt32x3fo9M32OWa32p3XV66FCbPAl2h4N3TZ0q7d7d1VV8rn9/ac2aVjd5qN8SAAAAALoxZg0FAAAAAHgVDUEAAAAAiDEe6rcEAAAAgG6MWUMBAAAAAF5FQxAAAAAAYoyH+i0BAAAAoBtj1lAAAAAAgFfREAQAAACAGOOhfksAAAAA6MaYNRQAAAAA4FU0BAEAAAAgxnio3xIAAAAAujFmDQUAAAAAeBUNQQAAAACIMR7qtwQAAACAboxZQwEAAAAAXkVDEAAAAABijIf6LZur7JWmcLjt7SmSKvwZjnlS/O0kOUbra3PNcg0ZYpZKSeveMstVl5njGJMgqS6Q4hgXVJ1BRUdUVpqlqvX3M8vl2/yxWa6aTOfjKylJqql1/v7mxhstKvrcnfPtvjO69x67c3L6ZXZ1PfuM312g30Wcmxi3AgG7XJs3m6VKMjwnlZ3tLi411TmmtjaqUo62sSjJLNewwA6zXOH0LLtccn6NPklhv4u45OToCzoiI93uOqENIbNUNUNGmuWSi0M1KcndIT0ysyL6eo5Wb3cNCxpeDitCCWa5UkKl7QdkZUnl5a5yjcw0vE6H7K5hI0fYnUdbi6K/38bHH96txz1mDQUAAAAAeBUNQQAAAACIMR7qtwQAAACAboxZQwEAAAAAXkVDEAAAAABijIf6LQEAAACgG2PWUAAAAACAV9EQBAAAAIAY46F+SwAAAADoxpg1FAAAAADgVTQEAQAAACDGeKjfEgAAAAC6MWYNBQAAAAB4FQ1BAAAAAIgxHuq3BAAAAIBujFlDAQAAAABeRUMQAAAAAGKMh/otAQAAAKAb60azhnqoyuaSk+ocIhKUEnCKkUpKE2wKkjSydq1ZLoWyzVLVjB5vlqt6n3NMWpq0z03cidHX08TvN0uVoSqzXPKnmqVKqq1wEZTiKm7IkBSDij53zz12uaZfZjcQ4dlnwma5fv2Ec12zZ7uLO+MMi4oOy8y0u4YlWd6YUu2Ofb36qnPMpEmu4urOmhR1OR0hnJlllsu37n2zXFVDTnWMCQalUMg5V9CgniabN9vlCgTMUiXFO3/ucOu1d5zP7QkTpPfec841YYRBQUcpq04yy5XW1+46nVJkd+zXDG3/2E+SVJPq7ry1vLQmJCfbJXNz4rqUk211HjEY0Ut4NwAAAAAgxni2RxAAAAAAuhVmDQUAAAAAeBUNQQAAAACIMR7qtwQAAACAbqwbzRpKjyAAAAAAxBgaggAAAAAQYzzUbwkAAAAA3RizhgIAAAAAvIqGIAAAAADEGA/1WwIAAABAN8asoQAAAAAAr6IhCAAAAAAxxkP9lgAAAADQjTFrKAAAAADAq2gIAgAAAECM8VC/JQAAAAB0Y8waCgAAAADwqrhIJBLp6iJa87e/SQcPtr19yhTpxRed85xxhl1NwfKtZrk21uaY5RoW2GGWqyQ+yzEmI0MqKXHOlRG/x6CiI5KT7XKVlpqlqkt33l9uJdTXOAclJUk1znFV9UkGFX0uGO+iNrf8frNUv37C7rus2VeHnYN8PinsHHfrbXZ13X+/WSpTlZV2uVJq3VxQXF54LKWnd+7zuRUKmaXaWBx0jBk2TNq40TlXdnb09TSyPL7amSfhmKX98yW7ZKef7hwTDEpVVc5x1r0Phm9AhT/DLFdKveHnCqd7kdt9L2l9kfN55NZI/8dmuTbW55rlysyMPkdcnNSnT/R5PO+BB2wvYtFKTpZuvVW7d+9WQ0NDs00e6rcEAAAAgG7Mo7OGzpgxQ7t27Wq2yUNVAgAAAACsrVy5kh5BAAAAAIgl/fv3b/HYl2oIzp8/X9u3b9eKFSuaPX7xxRfrgw8+aBE/efJkLVmy5Ms8FQAAAAB0D91o1tBjrnLVqlVatWqV8vLymj0eiUS0ZcsW5efna9KkSc22DRgw4FifBgAAAADQQVw3BBsaGvTII49o6dKlrW4vLi5WTU2Nzj77bBUUFJgVCAAAAACw5aoheOjQIV1yySXatGmTpk2bprfffrtFzObNmyVJgwcPtq0QAAAAALoDj84a2hpXi10dOnRIoVBIDz74oBYvXqz4Vl7cJ598IunzhmCNi7XOAAAAAACdz1VzNRAI6KWXXmq1Adjok08+Ue/evbVw4UK9+OKLqqmp0Ve/+lXNnTtXU6dONSsYAAAAABCduEgkEjnWP5o4caIGDBjQbNbQiy66SBs3btTkyZN1wQUXqKqqSsuXL1dhYaEWL16sadOmWdYNAAAAAN6ybJlUVdXVVXwuGJSuu67VTWYDWKdPn65wOKwZM2Y0PTZ16lSdf/75+ulPf6oLLrhAPdoZo/pFf/ubdPBg29unTJFefNE5zxlnuH5KR8HyrWa5NtbmmOUaFthhlqskPssxJiNDKilxzpURv8egoiOSk+1ylZaapapLd95fbiXUuxhOnZQkuRh2XVWfZFDR54LxhkO9/X6zVL9+wtXodldmXx12DvL5pLBz3K232dV1//1mqUxVVtrlSql1c0FxeeGxlJ7euc/nVihklmpjcdAxZtgwaeNG51zZ2dHX08jy+DqGjx6O0v75kl2y0093jgkG3X2gtP49kuEbUOHPMMuVUm/4ucLpXuR230taX+R8Hrk10v+xWa6N9blmuTIzo88RFyf16RN9Htgx+7Ry+eWXN2sESpLf71dBQYHKy8ubJpMBAAAAAHStDp/SJiUlRRKTxwAAAAA4zh1vs4Y6KSsr09SpU1tdY3Dbtm2SpEyLPmUAAAAAQNRMGoJpaWmqrq7WqlWrFDrqtwu7d+/W6tWrNW7cOPXt29fiqQAAAAAAUTLrt7zrrrs0Z84cXXbZZbrkkkt04MABrVy5UvHx8br77rutngYAAAAAvCk+3ltDQ9upxWyymPz8fD388MNKTEzU/fffr8cff1yjR4/W008/3bTIPAAAAACg632p5uorr7zS6uP5+fnKz8+PqiAAAAAA6Ja60WQxHqqyudxcqaGh/ZgRI5zzFBWZlCNJ2rDBbu2/yy4zS6Ww7Nayyyh3s0ZPP3drBG7YEHU9jdanTjTLNWKE3f7at9csldL6ulxfz8U6fEG5WBPvWFTW2uUyXEfQcp1QN2v/PfCAy7j77fb/zbfYrUm4aJFZKgUCdrkU7zKZiycNB+zW87K8f+Rk1tklM/yAMWSIXVxCud06j0m13rzmuFr7zy03rzEYdBdn+Rolqb7eLJVpabV2x37ZwfavFWlB55hGIzMrLEo6LGS3w4bV261/XVEf/Wdgn93tDEZ4SwAAAAAgxni2RxAAAAAAupVYnCwGAAAAANA90BAEAAAAgBjjoX5LAAAAAOjGutGsofQIAgAAAECMoSEIAAAAADHGQ/2WAAAAANCNMWsoAAAAAMCraAgCAAAAQIzxUL8lAAAAAHRjzBoKAAAAAPAqGoIAAAAAEGM81G8JAAAAAN0Ys4YCAAAAALyKhiAAAAAAxBgP9VsCAAAAQDfGrKEAAAAAAK+Ki0Qika4uolU7dkj19W1vz8mRtm51zpOdbVaSamvNUoX9SWa5QiGzVAoEnGN8Pikcdo6rrIy6nCaWX6y0d1gdK8u6Dh50jklLk8rKXMSdWBd9QUcrKrLLZXhO1tQnmOXy+51j3B77t9wSdTlNlvzMxRO6dOE0u+/+/ud/zFIpoehj56DcXOlj57iyE3INKjosrWeFWa5wcopZriefNEulWefucQ7q10/a4xy3NdTPoKLDiovNUik52S7XyHQX+8ulKr/z/goGpaoq51zBWru6JLm7ILplef8YMsQsVVV9+5/D3O57yfZzWIZKzHKF0zPMcvnWvR99koQEacSI6PN43V/+4u5DXWdJTJTOOafVTR7qtwQAAACAboxZQwEAAAAAXkVDEAAAAABijIf6LQEAAACgG2PWUAAAAACAV9EQBAAAAIAY46F+SwAAAADoxpg1FAAAAADgVTQEAQAAACDGeKjfEgAAAAC6MWYNBQAAAAB4FQ1BAAAAAIgxHuq3BAAAAIBuLD5eamjo6io+x6yhAAAAAIBGNAQBAAAAIMYwNBQAAAAALDBrKAAAAADAq2gIAgAAAECMiYtEIpGuLqI11dVSe5UFg1JVlXOeoL/OrKY6JZjlqq83S6XqartcBw44x+TkSFu3uoiL3xF9QY1SU81S1SjJLFd5uVkqpac7xyQkSHUuDumE+proCzpaKGSXy3KnGQ69CA/JdYzx+aRw2DlXba1BQUdcdpldrt8/76J4l556xu57xCvy9zgH9esn7XERV1gYfUFHbEydYJZrWMDuelgRyDLLlRJyUVdWlrTD8HruhuE13/KELPssxSzXp586xwwbJm3c6ByXnR11Oc1YfkYJBuyuO6+8anfdmTjW4UOk2w+akul9rSI5xyxXiirMcq0vjv7Y79lTOuUUg2K8bsMGdx/WOktCgjRiRKub6BEEAAAAgBhDQxAAAAAAYoyHprQBAAAAgG6MWUMBAAAAAF5FQxAAAAAAYoyH+i0BAAAAoBuLj29/6YPO1s4wVXoEAQAAACDG0BAEAAAAgBjD0FAAAAAAsNCjh7eGhjJrKAAAAACgEQ1BAAAAAIgxDA0FAAAAAAteWkxeYtZQAAAAAMDnaAgCAAAAQIzxWN8lAAAAAHRT7czS2SWYNRQAAAAA0IiGIAAAAADEGIaGAgAAAICF+HgpLq6rq/hcO0NDPdsQ7PPBW1JtbdsBEycq+N4rjnl2DJloVlNqqlkq+f12uZJUY5esj7tnzEl38Zzx6dFW02RHaYJZrqzMsF2uza+a5SqJdz5WMzKk8nLnXBnlmw0q+lzNkJFmuZIqK81yWZ6UbspKSXEXFwhEW83n/ud/7HI99YzdIJArLrM7j+6c388x5t57pTt/5hx32WXOMW7Vt3MLOmZD7K6HoVKzVFq3OcsxZmKW9IqbuOT3LUqSJFUEnJ/PvSSzTGk9K+xypda7iOqnYal7nMP8hh9QJG0stLtWDEu2O2BHj84wy6V6F/vfTYykst45URbzubTSjWa5wkOHmeVKDkWfw2s/nQNDQwEAAAAg5ni2RxAAAAAAupUePbw1NNTXdr8fPYIAAAAAEGNoCAIAAABAjGFoKAAAAABYiI+XwnYTqkWNoaEAAAAAgEY0BAEAAAAgxjA0FAAAAAAs9OjR7nDMTtfODKYeqhIAAAAA0BloCAIAAABAjGFoKAAAAABYiI+XIpGuruJzDA0FAAAAADSiIQgAAAAAMYahoQAAAABgoUePrq7ANXoEAQAAACDG0BAEAAAAgBjD0FAAAAAAsBDffZpX9AgCAAAAQIyJi0S8tNDF5/bulcLhtrenpUllZc550g7tsCuqstIs1Y7kkWa5UlPNUqm42DkmN1f6+GPnuOzsqMtpkhDfzsFwjHYU233/YXhIuHofMzKkkhLnuEAg+nqOFgy5eFK3LA/YV1+1yzVihHNMV7wBpaV2uZKTzVLd+bN+ZrnuvcfF+e3ztX9TOGLBPXbn911XbjXLZbnvFQrZ5XJTVzAoVVU5hoUDwejrOcJXW2OWq6w6ySxX2ol1Zrm0bp1zTF6etHatY9iL5XnR13OUM86wyxWstPscVhHIMsvldJlOSJDqXL7dCeWG98jycrNUZWl2nzXNjv2EBJs8XubiXtXpfD7t3r1bDQ0NzR7uPn2XAAAAAOBhYQ8OuPRJmjFjhnbt2tXscRqCAAAAAHAcW7lyJT2CAAAAABBL+vfv3+Ix1w3B119/XY888og+/PBD+Xw+jRo1SrfccotGjx7dFLNz504tXrxYa4+MZz/rrLN0++23KyUlJfrqAQAAAMDD6uu7uoKW2vpppquG4Nq1a3X99dfrpJNO0ty5c1VfX6+nnnpKV155pZ566imNHDlS+/bt01VXXaW6ujpdd911amho0GOPPaZNmzZp1apVSoiFH4cCAAAAQDfgqiF47733qn///nr22WeVmJgoSZo2bZqmTJmiBx98UI8//rieeOIJlZaW6g9/+IMGDx4sSRo1apSuueYaPf/885o+fXrHvQoAAAAAgGuO09rs379fhYWFOvfcc5sagZKUmpqq0047Tf/7v/8rSVqzZo3y8vKaGoGSNH78eA0aNEhr1qzpgNIBAAAAwDsaGg4PD/XKvy/MD9OMY49gIBDQn/70p2aNwEb79u1Tjx49tH//fu3cuVOTJ09uETN8+HC9arnWFwAAAAAgKo49gj169FB2drbS0tKaPV5YWKj3339fY8aMUdmRld2/GCNJffv2VSgUUnV1tVHJAAAAAIBoxEUikcix/tGBAwd0xRVXaNOmTVq+fLl69uypyy67TPfcc48uueSSZrEPPvigfvGLX+i1115rtaEIAAAAAMeD6mrp2FtXHScuTurTp/Vtx7yO4MGDB3XjjTeqsLBQ3/3ud5WXl6d//OMfjn/n8zl2Pjazd68UDre9PS1NOtIR2a60QzuO6XnbVVlplmpH8kizXKmpZqlUXOwck5srffyxc1x2dtTlNEmIb+dgOEY7io/tWGyP4SHh6n3MyJBKSpzjAoHo6zlaMOTiSd2yPGAth52PGOEc0xVvQGmpXa7kZLNUd/6sn1mue+9xcX77fO3fFI5YcI/d+X3XlVvNclnue4VCdrnc1BUMSlVVjmHhQDD6eo7w1daY5SqrTjLLlXZinVkurVvnHJOXJx1Zkqs9L5bnRV/PUc44wy5XsNLuc1hFIMssl9NlOiFBqnP5dieUG94jy8vNUpWl2X3WNDv2WUXAU47pjllVVaXZs2fr3Xff1Xe+8x3NnTtXktS7d29J0qFDh1r8TeNjjTEAAAAAgK7lukfw008/1bXXXquPPvpIl156qX784x8rLi5OkpSRkSFJ2rt3b4u/27Nnj4LBoJKS7L6RAwAAAACvaWhwNYCl07Q3KNNVQzAUCjU1Aq+++mrdcccdzbYHg0FlZmbqww8/bPG3Gzdu1Ag3Q64AAAAAAJ3C1dDQBQsW6KOPPtKsWbNaNAIbTZo0SW+//ba2bNnS9Nhbb72lbdu2acqUKTbVAgAAAACi5tgjuGXLFr3wwgvq06ePTjnlFL3wwgstYgoKCnT99dfrhRde0NVXX63Zs2fr0KFDWrZsmYYPH66CgoIOKR4AAAAAvKK+/jgaGrr2yGxV1dXVbfYGFhQUKCUlRU8++aQWLlyoJUuWyO/3Kz8/X/PmzVMCMwQBAAAAgGc4NgQvv/xyXX755a6S5eTk6Fe/+lXURQEAAAAAOs6XWlC+Uzgt3nIsC7xYsVw0znqhNyu1tc4xKSlSRYVznOVrfO89s1Rlg8eb5Urr6WI/uBXvYu4ml+t5ma4zJkl+v10uN6/TpTq/3bplrtaBcrmOYDg9w6Ciw1qZjPlLS9v0mlmu9ckTzHI9/7xzzF13SQsWuIibbzce59bb7NYkvP9+s1S2x0TZeuegkSOl9S7iDBeP/bjU7tzOLfy9WS5X6426VJWa4xjj9pIfLN5oUNFRMjPNUpm+l8l7zHI5ft7JypJ2uFwD0aP3SNPPAhZrAMfFSYmJ0efxuLKywzOHekWPHofXX2+N3V0OAAAAANAt0BAEAAAAgBhj2P8MAAAAALGrvt5bQ0Pb+xEgPYIAAAAAEGNoCAIAAABAjGFoKAAAAAAYaGg4PDy0O6BHEAAAAABiDA1BAAAAAIgxDA0FAAAAAAP19QwNBQAAAAB4FA1BAAAAAIgxDA0FAAAAAANemzU0Lq7tbfQIAgAAAECMoUcQAAAAAAx4bbIYegQBAAAAAE1oCAIAAABAjGFoKAAAAAAY8NpkMb52uv3oEQQAAACAGBMXiUQiXV1Ea6qrpfYqCwalqirnPMHyrXZF+f1mqaoCGWa5gnKxI1yqUtD5+dzue8O6LL9aCSenmOXy1deZ5VJRkXNMbq708cfOcYbHqiQpNdUs1caiJLNcloYNDTsH+XxS2Dlua5Hdd2w5yRVmuTaW2h37tbVmqXRqsovrdE6OtNU57talOQYVHfbA/S6OCZdunGN3TNxxh1kqZWY6x7g87FVZGXU5TeINxysF/XbX6XB8glkuV/ePhASpzkXchg3RF9RRRowwS/XWe3b7f/xYh/3qdt9Ltgd/aalZqrqhI81yJdTXRJ8kLk5KTIw+j8dt2OD+0OkMCQltn4YMDQUAAAAAA16bNZShoQAAAACAJjQEAQAAACDGMDQUAAAAAAx4bdbQHj3a3kaPIAAAAADEGBqCAAAAABBjGBoKAAAAAAa8NmsoQ0MBAAAAAE1oCAIAAABAjGFoKAAAAAAY8NqsofHttPboEQQAAACAGENDEAAAAABiDENDAQAAAMCA12YNba8WegQBAAAAIMbQEAQAAACAGMPQUAAAAAAw4LVZQxsa2t5GjyAAAAAAxBgaggAAAAAQYzw7NLRXL+cYv99FouLiqGtpVDV6glmuoKrMcqmy0i6Vgo4xwaC7pwzKRZBb6elmqUIhs1QKBBLMcu09IdcxJk1SmZu4hhKDij63tTTJLNewwA6zXOHMLLNclnIy68xyheNTzHINC9ntew2xOycVSnYXl+wcd//9UVXSzI1z7L4rfeThsFmuC6fZ1bV0qXNMVpa7W2lWut1xb3mhrgjZnUOlpWaplJzsfP/IyJBKyl3EuTg3jsVrxTlmuSbU15jlGjzY7p5rqSbQzyyXf4RdroRSw88CtbXR54iPP3xBOc4xaygAAAAAwLNoCAIAAABAjPHs0FAAAAAA6E6YNRQAAAAA4Fk0BAEAAAAgxjA0FAAAAAAMMGsoAAAAAMCzaAgCAAAAQIxhaCgAAAAAGGDWUAAAAACAZ9EQBAAAAIAYw9BQAAAAADDArKEAAAAAAM+iIQgAAAAAMYahoQAAAABggFlDAQAAAACeRUMQAAAAAGIMQ0MBAAAAwEB3mjXUsw3BhI3rpLq6tgPy8pSwbq1zotGjrUpSIGCWSmEFzXK9sc4uV7yLIyIrSyoudo7LPD0r+oKOKC01S6WM+D12yeQ3y3Tiie7exxNPdI4Jx2dEWU1zfsP9H063Oy586943y6UhQ5xjgkEpFHKOc3MiufTkMwlmuc4/327fhwyPiSy52KcpKa72/d7PUgwqOuyOO8xS6cJpdgNwfv982CzXvNud67rvPmnpUudcixbZHau+5GSzXP5as1QaNtRu31dUujsm/C5uM+H0nCiraW50ql2usuoks1x9+pilcr6euLzmSFJ8wO664ystMcu1vtzus8DIdIPPTj4GInoN7wgAAAAAxBjP9ggCAAAAQHfCrKEAAAAAAM+iIQgAAAAAMYahoQAAAABgoDvNGkqPIAAAAADEGBqCAAAAABBjGBoKAAAAAAaYNRQAAAAA4Fk0BAEAAAAgxjA0FAAAAAAMMGsoAAAAAMCzaAgCAAAAQIxhaCgAAAAAGGDWUAAAAACAZ9EQBAAAAIAYw9BQAAAAADDArKEAAAAAAM/ybI/gwZNHKxJpe3uSpJoReY553nvPrqYJo6vMctX5g2a5zjjDLJXWrXMX5/c7x/gUjqqWo733nt13Fheen2qWS7W1ZqkSykucgzIy3MUlJ0ddT7OnNUwXVpJZrqohp5rlKi52jhk2TNpY7HzuDhliUNARs87dY5csZHe8rtucZZYra2yyu0AXx3Va0fqoajlaeMRIs1xLl5ql0rzb7a6H9y1yc532uYpb/bxdXfn5drlsv5m3qysl3s1niqC7uA1F0ZbT/FnT0+2SJfYzS5VU6eL+51a8i4/ALg8eV/dllzZWZpjlCgTMUkmlpdHn6NlTSjX8DIZjsnv3bjV8YeYYzzYEAQAAAKA78eqsoTNmzNCuXbuabaMhCAAAAADHsZUrV9IjCAAAAACxpH///i0ec90QfP311/XII4/oww8/lM/n06hRo3TLLbdo9OjRTTEXX3yxPvjggxZ/O3nyZC1ZsuTLVQ0AAAAA3UB3mjXUVUNw7dq1uv7663XSSSdp7ty5qq+v11NPPaUrr7xSTz31lEaOHKlIJKItW7YoPz9fkyZNavb3AwYMiOoFAAAAAADsuGoI3nvvverfv7+effZZJSYmSpKmTZumKVOm6MEHH9Tjjz+u4uJi1dTU6Oyzz1ZBQUGHFg0AAAAA+PIcG4L79+9XYWGhrrnmmqZGoCSlpqbqtNNO05tvvilJ2rx5syRp8ODBHVQqAAAAAHiXV2cNbY1jQzAQCOhPf/pTs0Zgo3379qlHjx6SpE8++UTS5w3BmpoaJSXZrRcGAAAAALDhuDJqjx49lJ2drbS0tGaPFxYW6v3339eYMWMkHW4I9u7dWwsXLtSYMWM0ZswY5efna82aNR1TOQAAAADgS4mLRCKRY/2jAwcO6IorrtCmTZu0fPly5eXl6aKLLtLGjRs1efJkXXDBBaqqqtLy5ctVWFioxYsXa9q0aR1QPgAAAAB4w3/9l7RvX1dX8bkTT5T+8z9b33bM6wgePHhQN954owoLC/Xd735XeXl5kqTp06crHA5rxowZTbFTp07V+eefr5/+9Ke64IILmoaRunseqb0malKSVFPjnOe991w/paMJo6vMctX5g2a54g1Xg1y3zjnm1FOl9993ETc6HHU9jX7/R8fOa9cuPN+uLtXW2uWqrHSOyciQSkqc45KTo62mw4T9dkPGQyGzVCoudo4ZNkzauNE5bsiQ6OtplFC5xy6Z4fH6yuYss1wTx7q4tgaDUpWLuKKiqOtpFB4x0iyXm+PLraVL7XLdt8jF9dDnk8LOcauft7tO5+ebpTL9rY7fb5crqd6bx70kKT3dLFWVv59ZrmDIxf3PLacPT/36SXtcXn8ND7KNlRlmuSyP15zQ+uiT9OwpnXJK9Hlg5piu2lVVVZo9e7beffddfec739HcuXObtl1++eXNGoGS5Pf7VVBQoPLy8qbJZAAAAAAAXct1X9Knn36qa6+9Vh999JEuvfRS/fjHP1ZcXJzj36WkpEg6PHkMAAAAAByvutOsoa56BEOhUFMj8Oqrr9aCBQuaNQLLyso0depULW1lvMq2bdskSZmZmcdYNgAAAACgI7hqCC5YsEAfffSRZs2apTvuuKPF9rS0NFVXV2vVqlUKHfWjnd27d2v16tUaN26c+vbta1c1AAAAAOBLcxwaumXLFr3wwgvq06ePTjnlFL3wwgstYgoKCnTXXXdpzpw5uuyyy3TJJZfowIEDWrlypeLj43X33Xd3SPEAAAAA4BX19d4aGtpeLY4NwbVr10qSqqurW+0NlA43BPPz8/Xwww/r0Ucf1f333y+/36+8vDzdeuutTYvMAwAAAAC6nmND8PLLL9fll1/uKll+fr7yLed8BgAAAACYM1yBzlZiL6c1i3xK8juvazRhaLlNQZI2FtuthTMs23AWVcPu59RUd2u8paa6CDLsF7/wLLv1z2pq7dZwrK21WxMvRZVmueri7eqSpIT33jLL5TNc49DunZSys4e5jHOOSSi3W+tqa63dmlI58TvMck1MdrGYqEvhwKmOMT5J4YDzO+5z8wa55GZpT7ey0uvMci1alGCWy83af9/+tsu4aXZrtN67yG5NwjunuVj806WKdHfXCTeSal0shBoMulswdejQ6As6ytZiu2OsdztrQh+rynq762GWXFyn3X6OMVyjtbraLJWGZdqtf/1KUfTrqvr90niDWrzuuJs1FAAAAABw/KAhCAAAAAAxxrNDQwEAAACgO+lOs4bSIwgAAAAAMYaGIAAAAADEGIaGAgAAAIABZg0FAAAAAHgWDUEAAAAAiDEMDQUAAAAAA8waCgAAAADwLBqCAAAAABBjGBoKAAAAAAaYNRQAAAAA4Fk0BAEAAAAgxjA0FAAAAAAMMGsoAAAAAMCzaAgCAAAAQIxhaCgAAAAAGOhOs4Z6tiEYduis9LmIkSRfIGBUkaRyu1Qbi5LMclkebJmZ7uLc7NY6JURXzFES6kNmuZJq99jlKrc7KHYEhjnGZEnaUZ/hGFe+waCgo6RnjzfLlZEeNsulzZvNUlVWOsckJbmMq62NtpwmxcVmqZQzNtUsV0UgyyxXSm2Nc1BSknwu4j4uDRpUdFh6ulkqKWR3DfMlJ5vlys93NzAoP9855t5FdoOM7rzd7jox/gzna6tbb/2xwiyX3L6PLuKqau3ut5KUanepULDecJ9tt7vma+xY5xiXF4GyvXbH/jh/iVmukpDz5wW3Ro+OPoePcYiew1sCAAAAADHGsz2CAAAAANCdMGsoAAAAAMCzaAgCAAAAQIxhaCgAAAAAGOhOs4bSIwgAAAAAMYaGIAAAAADEGIaGAgAAAIABZg0FAAAAAHgWPYIAAAAAYIDJYgAAAAAAnkVDEAAAAABiDENDAQAAAMAAk8UAAAAAADyLhiAAAAAAxBiGhgIAAACAAWYNBQAAAAB4Fg1BAAAAAIgxnh0aunt3+12ZWVlScbFznqzN75jVNPSsiWa5fAqb5bJUFXL33UC8iyNn374oiznKoUMpZrksu+tzMv1muQIu6woEnGOshyRk1G61S7YhZJfLzc5wqUcPwzi/3XGRnGyWSqqtNUyWZJaprNo5V1qSu7jcwt9blHRY9rlmqSpCdtcwv+Hb6PZa4SbuzmkboyvmKOPPGGaW66037O63q5+3ex+/Pc1lXS6uJwf3RlnMF5x4ol2uqlq7fRYYm2eWq7Ky/e0pKVJFpbvPRPv3R19Po7R0u/taRu0es1wltf2izuH2PtvdMWsoAAAAAMCzaAgCAAAAQIzx7NBQAAAAAOhOmDUUAAAAAOBZNAQBAAAAIMYwNBQAAAAADDBrKAAAAADAs2gIAgAAAECMYWgoAAAAABhg1lAAAAAAgGfREAQAAACAGMPQUAAAAAAwwKyhAAAAAADPoiEIAAAAADGGoaEAAAAAYIBZQwEAAAAAnkVDEAAAAABiDENDAQAAAMBAd5o1NC4SiUQ6rxT36ura356Q4BwjSZs329QjScOGhu2S1daapXrtvSSzXIGAc8ypp0rvv+8ibmhN9AU1sjyjDPe9ysvtcvn9zjE5OdLWrc5xoVD09RwtOdksVU1qllmupHgXFwG3Xn3VOWbSJOmll5zjTj896nKaGB6vZZF+ZrnSelaY5XJ14XF70S8ujr6eI8LZOWa5CgvNUpnei2pqnQcGJSVJNS4u55aX1hTZHV+rX00xy/XtaXb7/uZbnPf9kiXSzTc757r9doOCjuLmlHSrstIuV1btx2a5ajJz293u9riXpKTKEoOKjkhPN0sVNhz455PRse87/gcj5uWZ3oqilpkprV3b+rbj/90AAAAAADTD0FAAAAAAMMCsoQAAAAAAz6IhCAAAAAAxhqGhAAAAAGCgO80aSo8gAAAAAMQYGoIAAAAAEGMYGgoAAAAABpg1FAAAAADgWTQEAQAAACDGMDQUAAAAAAwwaygAAAAAwLNoCAIAAABAjGFoKAAAAAAYYNZQAAAAAIBn0RAEAAAAgBjD0FAAAAAAMMCsoQAAAAAAz4qLRCKRri6iNXV17W9PSHCOkaSE+LBNQZJUW2uXy+83S1W2t3Pb82lpUlmZc1zfvnbPWVpqlytDJWa5SpRhlisjUOUcFAxKVc5xNfFBg4o+Z3i4mp5G771nl2vCaLv9b/kiq/z9zHIVF5ul0rDUPXbJioqcY/LypLVrHcOqhuZFX88RQb+Lm4xLJeUJZrksz8eUeMPjPhSKvqBGycl2uQx32M232N1vl/zMxecTn08KO8ddcaXt54ClS+1ypdTbXSsq4u2uh/EOY+LcHvaSVF4efT2N0tPtciWVbjXLVZGcE3UOn8/21PaqQYOk7du7uorPDRwobdsm7d69Ww1fmDmGoaEAAAAAYCASCctL3WyHa/FpxowZ2rVrV7NtNAQBAAAA4Di2cuVKegQBAAAAIJb079+/xWOuB5W//fbbuvzyyzVmzBh985vf1E9+8hMdOHCgWczOnTt10003KS8vT3l5eZo3b54qKiqirxwAAAAAPK/Bg/9a56pH8J133tHs2bM1fPhw3Xbbbdq9e7eWL1+uDRs2aOXKlfL5fNq3b5+uuuoq1dXV6brrrlNDQ4Mee+wxbdq0SatWrVJCgt0P5QEAAAAAX56rhuB9992n/v3768knn5T/yOxb/fv314IFC/T666/rzDPP1BNPPKHS0lL94Q9/0ODBgyVJo0aN0jXXXKPnn39e06dP77hXAQAAAABwzXFo6KFDh3TiiSdq+vTpTY1AScrLOzxF96ZNmyRJa9asUV5eXlMjUJLGjx+vQYMGac2aNdZ1AwAAAIDHhNX1Q0GP/tf2EjSOPYK9evXSY4891uLxjz76SJKUkZGh/fv3a+fOnZo8eXKLuOHDh+vVV191ehoAAAAAQCc55llDd+3apXfffVeLFy9Wbm6uzjnnHG0/smpiWlpai/i+ffsqFAqpurpaffr0ib5iAAAAAEBUjqkhWFlZqYkTJ0qSEhMTNX/+fPXq1atp9tDExMQWf9OrVy9JUk1NDQ1BAAAAAMexBkkeWlFecW1uOaaGYFxcnB588EHV1dVpxYoVuuaaa/TAAw+ob9++jn/r87leqUKS5GaSUXcTkR7b87YrKckul6FWOmKPu+fMyDDN5sFMkhR0GeYc580j9TDL02jCBLtclvvfVYxLdpmkYcMMk6mfYSqXuY78Nr09lvtLspvt2vYaZsmbx71XLVlimc3l5xMXn5+eeirKUjqU3bUixSyTO24Pac8e+jk5Zqk6e9+jcxxTQ/CEE07QlClTJEnnnnuuzj//fC1atEi/+MUvJB2eWOaLGh/r3bv3MRVWV9f+9oQE5xhJSohv+weSx6y21i7XURPvRKtsr2Fj14W0NKmszDnOxfcDrpWW2uXKUIlZrhLLRmWgyjkoGJSqnONq4m3vSoaHq+lp9N57drkmjLbb/5Yvsspv9yGquNgslYal7rFLVlTkHJOXJ61d6xhWNdS5sehW0O/iJuNSSbldo9LyfEyJNzzuQ6HoC2qUnGyXy3CH3XyL3f12yc9cfD7x+aSwc9wVV9p+Dli61C5XSr3dtaIi3u56GO/wCdjtYS9J5eXR19MoPd0uV1LpVrNcFcnRNyp9PttTG9H70lcOv9+vs846S7t371a/I9/m7t27t0Xcnj17FAwGleTR3jQAAAAAsBH24L/WOTYEt2zZookTJ2rlypUtth04cEBxcXFKSEhQZmamPvzwwxYxGzdu1IgRI5yeBgAAAADQSRwbggMHDlR1dbWeeeYZ1R01FnPXrl166aWXdNpppykQCGjSpEl6++23tWXLlqaYt956S9u2bWsaTgoAAAAA6HqOvxGMj4/X/PnzNW/ePM2cOVMXXnih9u3bp5UrVyouLk7/+Z//KUm6/vrr9cILL+jqq6/W7NmzdejQIS1btkzDhw9XQUFBh78QAAAAAOha7Q/H7Hxt9/u5miymoKBAPXv21LJly7Rw4UIlJSXp9NNP19y5czVo0CBJUkpKip588kktXLhQS5Yskd/vV35+vubNm6cEd9N7AgAAAAA6getZQ6dMmeI4xDMnJ0e/+tWvoi4KAAAAANBxjmn5CAAAAABAWxrkraGhbS9uHxeJRNre2pV27ZIaGtrenpUl7djhmKYkPsuspIzQx2a5NtbnmuUa5rdbJ0apqc4xXbCWneW6WW6WLHMrJ2C4llog4ByTlCTV1DjHWS5qJGl9pd15NDKzwiyXKTcHmdv9X18ffT2NDNckrAnYrcGV5Le7yb34J+eVjKZMkV580TnXlOyNBhUdYbnopeHiWeFsu0WifRvWOweNHCmtdxE3dGj0BR1RVWv3k5KDB81Stfux5FjddptzzFNPSVdc4SLuSdsPnfNut1uX8LrrzFIpM9MuV1Klw5rCGRlSid26w26F0+3WJ/YVO39Ods1iQeeEBGn06OjzeFx29j5t3+6dhuDAgT4VFZ3Y6rbOXYkcAAAAANDlGBoKAAAAACa6z9BQegQBAAAAIMbQEAQAAACAGMPQUAAAAAAwEdbh4aHeR48gAAAAAMQYGoIAAAAAEGMYGgoAAAAAJsLy1qyhcW1uoUcQAAAAAGIMDUEAAAAAiDEMDQUAAAAAEw1i1lAAAAAAgCfREAQAAACAGMPQUAAAAAAw4bUF5Zk1FAAAAABwBA1BAAAAAIgxDA0FAAAAABNemzWUoaEAAAAAgCPiIpFIpKuLaE043P52n885RpJ8RVttCpKkeMMOVMNcVYEMs1yBgHOM232/eXP09TTKjTd8H9PT7XK9845drjPOcI5JSJDq6pzj6uujr+dolse+YW1l1UlmudIaSpyDMjKkEhdxlvs/OdksVZWCZrmKi81SKTPTOSYYlKqqXMTJRZBbhhex10KnmuUaPdoslYK1e5yD+vWT9jjHbQ31M6josNRUs1Ty++1y1dba5XJzmUhJkSoqnOMWLYq+nqPdt8jFTd6lm2+x63NY8iMXO8Otdeva3z5xovTKK65SVY2dGH09R5SXm6VSTqrd9XBrefT3j/h4KSvLoBiPy84u0vbtxp/DojBwYLyKirJb3cbQUAAAAAAwwdBQAAAAAIBH0RAEAAAAgBjD0FAAAAAAMBHR4UXlvaLt6WDoEQQAAACAGENDEAAAAABiDENDAQAAAMCE12YNbbvfjx5BAAAAAIgxNAQBAAAAIMYwNBQAAAAATDA0FAAAAADgUTQEAQAAACDGMDQUAAAAAEyE5a2hoT3a3EKPIAAAAADEGBqCAAAAABBjGBoKAAAAACa8Nmto27XQIwgAAAAAMYaGIAAAAADEmLhIJBLp6iJaVVYmNbTTrZqRIZWUOKapS80wK+m998xSaXz6Vrtk6el2uSornWNc7vuaZLt9X11tlkqbNtnlGjHCLldKfJVzUDAoVbmIKy2NvqCjVKXnmuUK+uvMcinebnR7RaXz92IpKVJFhXMuv9+goCOSNq+3S2Z5wFoeY/X1zjFZWdKOHY5hH9dmGRR0WG624bHq5jW6VFadZJYrMdE5xu1l5+DB6OtplNbTxYnmUlV8ilkuN7dIt7L8e5yD+vWT9jjHfVzZz6Cizy1dapdryc/CZrke+Jld/8XFF7e/3eUlR5KUnBx1OU0s75EfFyWY5cotfyv6JL16Sf/yL9Hn8bjs7P/V9u2G948oDRyYoKKiMa1uo0cQAAAAAGIMk8UAAAAAgAmvrSPYdq88PYIAAAAAEGNoCAIAAABAjGFoKAAAAACYYB1BAAAAAIBH0RAEAAAAgBjD0FAAAAAAMMGsoQAAAAAAj6IhCAAAAAAxhqGhAAAAAGCCWUMBAAAAAB5FQxAAAAAAYgxDQwEAAADARFjtzdTZ+Zg1FAAAAABwBA1BAAAAAIgxDA0FAAAAABMsKA8AAAAA8Ki4SCQS6eoiWlNZKYXb+Z1lSopUUeEuj5XMTLtcoZBdLsvX2Lu3c0xamlRW5hx36FD09TRKTrbLFQjY5fK9t9YuWXa2c0y/ftKePc5xljvMWEUowSxXStH7ZrlcneBu93+84WALv98s1SvvJJnlGj3aLJUrbq/5KfUu3h+X3trczyzX4MFmqdSnj12upMoS56CMDKnEOW5HfYZBRYdlldpdW8Nj88xy+TZ/bJarIjXXMcbtcW94mZAkJdW6eFKXHngixSzXrbfYTcAx6+r2+0KWL5dmzXKX6557DAo6orDQLteksXbvo2pro8/Ro8fhD5HHuezsv2v79oNdXUaTgQMTVVR0ZqvbGBoKAAAAACZYUB4AAAAA4FE0BAEAAAAgxjA0FAAAAABMMDQUAAAAAOBRNAQBAAAAIMYwNBQAAAAATETU3iLuna/tlQLpEQQAAACAGENDEAAAAABiDENDAQAAAMAEs4YCAAAAADyKhiAAAAAAxBiGhgIAAACACYaGAgAAAAA8ioYgAAAAAMQYhoYCAAAAgImwvDU0tO3F7ekRBAAAAIAYQ48gAAAAABzHdu/erYaG5j2VcZFIJNJF9bRv3Tqprq7t7Xl50tq1znn8frOSlJ5ulys52S7XunVmqSqG5DnGpKRIFRXOuVJeftagoiMuvtgsVVXIriM8GGi7u/1YuakrGJSqqpxzBetdvEHHwvI8Ki83S1WTmmWWK6nezY519waUHQwaVHRYYqJZKgXl4jW6VV9vlqoukOIYk5DQ/i2hKa50h0FFR1he8y2FQna53LyP/fpJe/bY5HLLcN9XVNpd8y0vhW52l+trfqgk+oKOVlholmrHkIlmuebPN0ul5U843L99Pins7h6fd7rdMbb2ebv3siY5wyxXdXX0OXw+qW/f6PN4XXb277R9+4GuLqPJwIG9VVR0kSZOnKhdu3Y120aPIAAAAAAcx1auXNmiR5CGIAAAAAAcx/r379/iMRqCAAAAAGAirPZm6ux8bdfiuiH49ttva8mSJSosLFQgENC5556rW265Rb17926Kufjii/XBBx+0+NvJkydryZIlx1g0AAAAAKAjuGoIvvPOO5o9e7aGDx+u2267Tbt379by5cu1YcMGrVy5Uj6fT5FIRFu2bFF+fr4mTZrU7O8HDBjQIcUDAAAAAI6dq4bgfffdp/79++vJJ5+U/8iUWf3799eCBQv0+uuv68wzz1RxcbFqamp09tlnq6CgoEOLBgAAAADvOY4WlD906JBOPPFETZ8+vakRKEl5eYeXGdi0aZMkafPmzZKkwYMHR1UqAAAAAKBjOfYI9urVS4899liLxz/66CNJUkbG4TVKPvnkE0mfNwRramqUlJRkVigAAAAAwMYxzxq6a9cuvfvuu1q8eLFyc3N1zjnnSDrcEOzdu7cWLlyoF198UTU1NfrqV7+quXPnaurUqeaFAwAAAIC3NMhbQ0PbriUuEolE3KaprKzUuHHjJEmJiYl69NFHm/7/oosu0saNGzV58mRdcMEFqqqq0vLly1VYWKjFixdr2rRp0b0GAAAAAPCw7OxntH17qKvLaDJwYEBFRZe1uu2YGoL79+/Xm2++qbq6Oq1YsUIfffSRHnjgAZ177rl6+umnFQ6HNWPGjKb42tpanX/++Tp48KBee+019ejRw33V69ZJdXVtb8/Lk9audc5z1O8ao5aebpcrOdku17p1ZqkqhuQ5xqSkSBUVzrlSXn7WoKIjLr7YLFVVyPGnsa4FA3brxLipKxiUqqqccwXrXbxBx8LyPCovN0tVk5plliup3s2OdfcGlB0MGlR0WGKiWSoF5eI1ulVfb5aqLpDiGJOQ0P4toSmudIdBRUdYXvMthQw/YLh5H/v1k/bsscnlluG+r6i0u+ZbXgrd7C7X1/xQSfQFHa2w0CzVjiETzXLNn2+WSsufcLh/+3xS2N09Pu90u2Ns7fN272VNcoZZrurq6HP4fFLfvtHn8bru1BA8piP3hBNO0JQpUzRt2jStXLlSGRkZWrRokSTp8ssvb9YIlCS/36+CggKVl5c3TSYDAAAAAMenBg/+a92X/grD7/frrLPO0u7du1XRTvdQSsrhb3pramq+7FMBAAAAAAw5NgS3bNmiiRMnauXKlS22HThwQHFxcTp48KCmTp2qpUuXtojZtm2bJCkzM9OgXAAAAABAtBwbggMHDlR1dbWeeeYZ1R31A41du3bppZde0mmnnaYBAwaourpaq1atUuio3y7s3r1bq1ev1rhx49Q3FgYFAwAAAIhhjQvKe+Vf2791dVw+Ij4+XvPnz9e8efM0c+ZMXXjhhdq3b59WrlypuLg4/ed//qck6a677tKcOXN02WWX6ZJLLtGBAwe0cuVKxcfH6+6773a33wAAAAAAHc7VOoIFBQXq2bOnli1bpoULFyopKUmnn3665s6dq0GDBkmS8vPz9fDDD+vRRx/V/fffL7/fr7y8PN16661Ni8wDAAAAALqe6wXlp0yZoilTprQbk5+fr/z8/KiLAgAAAIDuJ6z2hmN2viiGhnaZkSOdY8aOdQzZWmS3tkuO324NrnB8glkujXVe+8+tlDdecw6aMEEpG1zEnXVW1PU0KSoySxUsLjbL9ZommOVys2xWMCiVljrHHTzBeV22Y1Fmt8s0MjNglive8Aq2frPz2n8jR0rri1zEZdqt41gSsnsvg7V2aziW9c4xy5VW7mLdrIwMJbiJs1zorbLSLFVNoJ9ZrngX6y665WqfSu4Wvautja6Yo5Tttbt3799vlkq5Abs13rbWOq/xFgy6W3o1aHjYS1LVWLu1/5LNMkn33GOXy2ntv7Vr3a8PuPYduw/9y5+0W/vPsm8mI9XFQq6uGH7+RdTsrrQAAAAAgG7Buz2CAAAAANCttL+Ie+frgAXlAQAAAADdEw1BAAAAAIgxDA0FAAAAABONC8p7RduTGdEjCAAAAAAxhoYgAAAAAMQYhoYCAAAAgAlmDQUAAAAAeBQNQQAAAACIMQwNBQAAAAATzBoKAAAAAPAoGoIAAAAAEGMYGgoAAAAAJpg1FAAAAADgUTQEAQAAACDGMDQUAAAAAEyE1d5MnZ2PWUMBAAAAAEd4t0dw926poZ0fWmZlScXFjmmys7PsaiquNEvlCwTMclVU2rXnU0aPdhfoJi4UiqaUZuoyc8xyJfj9Zrkm1O8wyyVXx0SKclMrHKPCySnR13OUtLg9dslCtWapEpKTzXKN9G92EZWrkf6PncNCdsdYRrzd/qpItjuP0ko3muVSfb1zTEaGVF7uHJeZGX09jVzcY9zyj+hnlstXWmKWa2NlhmPMsAx3cdXVFhUdNs5v9xrT0u3utwqkm6VKd3lqp7t4yrDf+f05FuVFdrlyMuvMcr1TmGCWa+3zTsdYhouYw5Y/abf/Z11p15M0+zq7z4e/vr0o+iTx8VKO3X0I0fNuQxAAAAAAuhUWlAcAAAAAeBQNQQAAAACIMQwNBQAAAAATLCgPAAAAAPAoGoIAAAAAEGMYGgoAAAAAJhgaCgAAAADwKBqCAAAAABBjGBoKAAAAACYiam8R984XaXMLPYIAAAAAEGNoCAIAAABAjGFoKAAAAACYYNZQAAAAAIBH0RAEAAAAgBjD0FAAAAAAMMHQUAAAAACAR9EQBAAAAIAY49mhoXV9B7S7PUFSXXqWY57CDUYFScrMdH4+t0LFZqlUWWmXKzA06BiTIKnO7yJu3broCzqiuDbDLFdOaZFZLp1+ulmqHcXO38tkpUg7QimOcfWVBgUdJRTqZ5Zr5AjDRVZDIbNUG+tzHWOGuY2r32pQ0WFhw+tOSmWFWa7w0GFmufbudY5Jk1SWNtI5LrQj+oKOqBvq/HxuJZSWmOVaX253PQwE3MX5/c4xwzKroivmKCUhu9eYUbvHLFc44Hzvcyup1MV1IifHXVy87ce5nNRks1wfF9nts0lj7a5hNf72j7EkSTXJ7o7D/HyDgo6YfZ1dH82vl9ndb+9d5Hzvc3LCCdKcOQbFeF5Y3hoa2vZxQI8gAAAAAMQYGoIAAAAAEGM8OzQUAAAAALoXZg0FAAAAAHgUDUEAAAAAiDEMDQUAAAAAE2G1N1Nn52PWUAAAAADAETQEAQAAACDGMDQUAAAAAEywoDwAAAAAwKNoCAIAAABAjGFoKAAAAACYYEF5AAAAAIBH0RAEAAAAgBjD0FAAAAAAMMHQUAAAAACAR9EjCAAAAAAmWEcQAAAAAOBRnu0RfP55KRRqe/vs2dKTTzrnmX1lnVlNNfUJZrlSSjea5aoPDDPLVVrqHJOV5TJuxIjoCzoiJ77KLJfKDQ/78nKzVFm1lS6icpVV+7FjVNkJuVHXc7TMTLtcW4vsvn/KyQ6Y5XL7Gt3EVdTnRFfMUVLWvW+Wa338qWa5ktu5Ph+rrHQ31+kEpZ3oIq4+Nep6mp6xvsYsl2przVKNTN9jlsvVxVwjlRNa7xj1StHI6Os5YvRos1Qqqe1nliujnW/Wj1VFsvN1IsVt3Oa1BhV9bmt9llmu3PK3zHIpkG2Wqvqz9rcnJUnV1e5yZaTafdb89e1FZrkW3GP3WeCu+VbHPn1QXuLZhiAAAAAAdC9MFgMAAAAA8CgaggAAAAAQYxgaCgAAAAAmwmpvps7Ox6yhAAAAAIAjaAgCAAAAQIxhaCgAAAAAmGBBeQAAAACAR9EQBAAAAIAYw9BQAAAAADDBgvIAAAAAAI+iIQgAAAAAMYahoQAAAABggllDAQAAAAAeRUMQAAAAAGIMQ0MBAAAAwERY7Q3H7HwMDQUAAAAAHOHZHsGkJOeYQKDj6zhaXJxhsp49zVLFG76LPXoYxvkMv2ew3PkJCXa5LF+j2zfSRZxlWdYsj1dLbg8xN3Gm+9/weO3p8vx2w+21otOZXqgNWR74lgeY23uRizi/P8pajmL5Er16rLp9ja7iLO9rMr5O9+pll8vwzXSzX7vkXmq48084wSwVjkFm5le6uoRmGuvZvXu3GhqaT2ITF4lEIl1RFAAAAACgY9XW1mrChAnav39/s8dpCAIAAADAcaqqqkpVVVUtHqchCAAAAAAxxsO/JAIAAAAAdAQaggAAAAAQY2gIAgAAAECMoSEIAAAAADGGhiAAAAAAxBgaggAAAAAQY2gIAgAAAECMoSEIAAAAADEmvqsLOFY7d+7U4sWLtXbtWknSWWedpdtvv10pKSldXNnx7+KLL9YHH3zQ4vHJkydryZIlXVDR8W/+/Pnavn27VqxY0exxzoPO0db+51yw9/rrr+uRRx7Rhx9+KJ/Pp1GjRumWW27R6NGjm2I47juGm33PMd9x3n77bS1ZskSFhYUKBAI699xzdcstt6h3795NMRz7HcPNvufYx/GsWzUE9+3bp6uuukp1dXW67rrr1NDQoMcee0ybNm3SqlWrlJCQ0NUlHrcikYi2bNmi/Px8TZo0qdm2AQMGdFFVx7dVq1Zp1apVysvLa/Y450HnaGv/cy7YW7t2ra6//nqddNJJmjt3rurr6/XUU0/pyiuv1FNPPaWRI0dy3HcQN/ueY77jvPPOO5o9e7aGDx+u2267Tbt379by5cu1YcMGrVy5Uj6fj2O/g7jZ9xz7OO5FupEHHnggcsopp0Q2b97c9Nibb74Zyc3Njfz2t7/twsqOfzt27Ijk5uZGnnvuua4u5bhXX18feeihhyInn3xyJDc3N3LllVc228550LGc9j/ngr2CgoLIWWedFampqWl6bO/evZHTTjstcvXVV0ciEY77juJm33PMd5yLLroo8q1vfSty8ODBpseefPLJSG5ubuTVV1+NRCIc+x3Fzb7n2Mfxrlv9RnDNmjXKy8vT4MGDmx4bP368Bg0apDVr1nRhZce/zZs3S1KzfQ97hw4d0kUXXaSHHnpIBQUFSktLaxHDedBx3Ox/zgVb+/fvV2Fhoc4991wlJiY2PZ6amqrTTjtN//u//yuJ474juN33HPMd49ChQzrxxBM1ffp0+f3+pscbRyFs2rRJEsd+R3C77zn2cbzrNkND9+/fr507d2ry5Mkttg0fPlyvvvpq5xcVQz755BNJn18Ma2pqlJSU1JUlHZcOHTqkUCikBx98UFOmTNHEiRObbec86FhO+1/iXLAWCAT0pz/9qVlDpNG+ffvUo0cPjvsO4mbfSxzzHaVXr1567LHHWjz+0UcfSZIyMjI49juIm30vcezj+NdtegTLysokqdVv6Pv27atQKKTq6urOLitmfPLJJ+rdu7cWLlyoMWPGaMyYMcrPz+fbSGOBQEAvvfSSpkyZ0up2zoOO5bT/Jc4Faz169FB2dnaLY7qwsFDvv/++xowZw3HfQdzse4ljvrPs2rVLq1ev1k9+8hPl5ubqnHPO4djvJK3te4ljH8e/btMjeODAAUlq9ZvLXr16STr8TU2fPn06ta5YsXnzZh04cEDV1dW67777VFVVpeXLl+vWW2/VZ599pmnTpnV1iccFn88nn6/t72c4DzqW0/6XOBc6w4EDB/TDH/5QknTDDTdw3HeiL+57iWO+M1RWVjaNQEhMTNT8+fPVq1cvjv1O0Na+lzj2cfzrNg3BcDjsGOP0AQ5f3vTp0xUOhzVjxoymx6ZOnarzzz9fP/3pT3XBBRc0DSNCx+E86HqcCx3r4MGDuvHGG1VYWKjvfve7ysvL0z/+8Q/Hv+O4j15r+17imO8McXFxevDBB1VXV6cVK1bommuu0QMPPKC+ffs6/i3HfnTa2vfnnnsuxz6Oe93m6tG4psuhQ4dabGt87Oh1X2Dr8ssvb3YhlCS/36+CggKVl5c3/aAaHYvzoOtxLnScqqoqzZ49W++++66+853vaO7cuZI47jtDW/te4pjvDCeccIKmTJmiadOmaeXKlcrIyNCiRYs49jtBW/te4tjH8a/bNAQbf7i7d+/eFtv27NmjYDDID3i7QONitjU1NV1cSWzgPPAuzoXofPrpp5o1a5bef/99XXrppfrJT36iuLg4SRz3Ha29fd8ejvmO4ff7ddZZZ2n37t3q16+fJI79znL0vq+oqGgzjmMfx4tu0xAMBoPKzMzUhx9+2GLbxo0bNWLEiC6oKjaUlZVp6tSpWrp0aYtt27ZtkyRlZmZ2dlkxifOga3EudIxQKKRrr71WH330ka6++motWLCgWUOE477jOO17jvmOs2XLFk2cOFErV65sse3AgQOKi4tTQkICx34HcLPvDx48yLGP4163aQhK0qRJk/T2229ry5YtTY+99dZb2rZtW7uz/CE6aWlpqq6u1qpVqxQKhZoe3717t1avXq1x48a5+h0DbHAedB3OhY6xYMECffTRR5o1a5buuOOOVmM47juG077nmO84AwcOVHV1tZ555hnV1dU1Pb5r1y699NJLOu200xQIBDj2O4CbfT9gwACOfRz34iKRSKSri3CroqJC559/vnr06KHZs2fr0KFDWrZsmbKysvTMM88oISGhq0s8br388suaM2eOTjrpJF1yySU6cOCAVq5cqc8++0xPP/00i612kIkTJ2rAgAFasWJF02OcB52ntf3PuWBry5YtmjJlivr06aM777yz1YkXCgoKOO47gNt9zzHfcV544QXNmzdPo0eP1oUXXqh9+/Y17dunnnpKubm5HPsdxM2+59jH8a5bNQQlaevWrVq4cKHee+89+f1+nXnmmZo3b17TeG10nJdfflmPPvqoCgsL5ff7lZeXp1tvvZULYQdqrSEicR50lrb2P+eCnaefflo/+tGP2o3ZtGmTJI57a8ey7znmO86LL76oZcuW6eOPP1ZSUpJOP/10zZ07V4MGDWqK4djvGG72Pcc+jmfdriEIAAAAAIhOt/qNIAAAAAAgejQEAQAAACDG0BAEAAAAgBhDQxAAAAAAYgwNQQAAAACIMTQEAQAAACDG0BAEAAAAgBhDQxAAAAAAYgwNQQAAAACIMf8fGtSTvKcG+dUAAAAASUVORK5CYII=\n",
|
||
"text/plain": [
|
||
"<Figure size 1440x1008 with 2 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"filenames": {
|
||
"image/png": "/Users/MortenImac/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": [
|
||
"/var/folders/jy/g42mrgv128v34gnnhxwk9nrc0000gp/T/ipykernel_42456/438060758.py: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": "iVBORw0KGgoAAAANSUhEUgAAA4IAAAM2CAYAAACjUj0CAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAB4rUlEQVR4nO3de3yU5Zn/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//3fY3l5ec1xsVgsVlhYGJs4cWJsz549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cIOmT5+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/MortenImac/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": [
|
||
"/var/folders/jy/g42mrgv128v34gnnhxwk9nrc0000gp/T/ipykernel_42456/3544313922.py: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": "iVBORw0KGgoAAAANSUhEUgAAA4IAAAM2CAYAAACjUj0CAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAABNwklEQVR4nO3de5xWdbko8GdmiDtUHAkRvBAnsANeyA2W7bwgAgEGpqKGV7TcZafEirJDlu6SJBU3appJGjhe4khZwmlbu03b43V32adUIEQlpMkbCMOAIO+s84fy6jjMzAusmXfNrO/385lPtdbv/a3fPKyXeN7f8z6rIkmSJAAAAMiNynIvAAAAgLYlEQQAAMgZiSAAAEDOSAQBAAByRiIIAACQMxJBAACAnJEIArzD1772tRg6dGg8//zz5V5Kqh5++OH4+Mc/HsOHD49PfepT5V5Ok5YuXRpnnXVWjBw5Mg499NAYO3ZsfPvb344XX3xxt+davHhxDB06NB577LGIiHjsscdi6NChsXjx4iZf8/zzz8fQoUPj+uuvb3B87dq1JV1z9OjRcdZZZ+32WgGgLXUq9wIAaH319fXxpS99KaqqquLSSy+Nfffdt9xL2qW5c+fGzTffHMcee2xcdNFF0bVr11i1alX87//9v2PJkiVxzz33xAEHHFDyfCNHjow5c+bE4MGDS35Nnz59Ys6cOTF06NDise9///vx05/+NH71q1/t1u8DAFklEQTIgZdeeinWr18f5513XkybNq3cy9mlmpqa+OEPfxhnnXVWzJo1q8G5SZMmxbRp0+Laa6+N6667ruQ5999//9h///13ax3du3ePyZMnNzj2yCOPRKFQ2K15ACDLlIYC5MDrr78eERE9evQo80qa9v/+3/+LQqEQH/3oRxudGzFiRBx66KHxX//1X22/MADogCSCAHvhl7/8ZZx55plxxBFHxPDhw2P06NExZ86c2L59e3HM9u3b4zvf+U4cf/zxMXz48DjmmGPi8ssvj40bNxbHJEkSN9xwQ4wbNy4OOeSQOOqoo+IrX/lK1NTUNLjehg0b4lvf+lZ87GMfi+HDh8e4cePilltuaXa36vrrr4/jjz8+IiJuuOGG4nfmrr/++jjkkEPiV7/6VXz0ox+NESNGxKJFi0q+zvXXXx8jRoyIp59+Os4777w4/PDD42Mf+1j88Ic/jCRJYv78+XHcccfFhz70oTj//PNb/M7lziT1pz/9aYP47bRgwYJYtmxZg2ObN2+OK6+8Mo499tg47LDD4sQTTyz+DhGNvyO4K0uWLIkPfvCD8YUvfCEKhUKj7wiOHj06Hn/88Vi3bt0uvztYij/+8Y9x3nnnxYgRI2LEiBExffr0+NOf/tRgTJIkcdddd8Upp5wSI0aMiEMOOSTGjx8ft9xySyRJUhw3evTomDVrVnz961+PQw45JI4++uhYv359jB49Oi677LK47777YuLEiXHIIYfE2LFjo7q6erfXC0DHpzQUYA8tWrQoZs2aFaNHj44vf/nL8frrr8evfvWrmD9/fnTv3j0+//nPR0TEFVdcEffff3+cffbZsf/++8eqVauiuro61qxZEz/60Y8iIuLmm2+OG2+8MaZNm1ZsVLNgwYJ44okn4v7774+qqqrYuHFjnH766bFu3bo4/fTTY9CgQfHQQw/FNddcE0899VSTJZMnnHBC9OrVK2bPnh0nnHBCnHDCCTF48OB4/PHHY8eOHTFr1qw4//zzY/v27XHEEUfs1nVef/31OOecc2LMmDExduzYuPfee+Pqq6+ORx99NNatWxfnnHNObNiwIW699da49NJLY+HChU3G88gjj4yBAwfGv/7rv8bvf//7GDt2bHz0ox+NkSNHxrvf/e7o3Llzg/Hbt2+PadOmxapVq2Lq1Klx8MEHx29/+9uYNWtWbN26Nc4+++wW/wwffPDB+OpXvxpHH310XHPNNVFVVdVozNe//vW45pprYsOGDXHppZc2+O5gKR566KG48MIL4+CDD44vfvGLsX379li8eHFMmzYtbrvttviHf/iHiIi47rrr4uabb46TTjoppk6dGnV1dfGzn/0srrnmmujbt2+cdNJJxTmXLFkSgwYNiv/1v/5XvPzyy9GnT5/i77Pzw4l99tkn7rnnnrjiiiti4MCBccwxx+zWugHo4BIAGvjqV7+aDBkyJFm7dm2z48aPH5+cdtppSX19ffHY66+/nhx99NHJpEmTiscOPfTQ5PLLL2/w2rlz5yaf/OQnk82bNydJkiQf//jHk8985jMNxtx1113JJz7xiWTNmjVJkiTJ9773vWTIkCHJr371qwbjvvWtbyVDhgxJli1b1uRa165dmwwZMiSZN29e8di8efMaHdud6+x8/Xe/+93imFWrViVDhgxJRowYkbzyyivF41/60peSoUOHJtu2bWtyjUmSJM8880wyZcqUZMiQIcWfD37wg8lZZ52VPPjggw3GVldXJ0OGDEl+/vOfF4/V19cnn/rUp5KPfvSjyY4dO5J77703GTJkSPLoo48mSZIkjz76aDJkyJDk3nvvTf7whz8khx12WHLOOeckr732WrOxOvPMM5Pjjjuu2bXvdNxxxyVnnnlmkiRJUigUkuOPPz45/fTTkx07dhTH1NXVJSeccEIyefLkJEmSZPv27cmHPvShZMaMGQ3mqq2tTYYPH55ceOGFDeY/+OCDi/fF248PHTo0Wb58efHYiy++mAwdOjS55JJLSlo7APmhNBRgD/385z+PW265JSoqKorHXnnllejdu3ds2bKleGzfffeNpUuXxuLFi2PTpk0REXHxxRfHvffeWyyH3HfffeOxxx6LH//4x/Hyyy9HRMTpp58e9913X7FL5m9+85sYPHhwjBkzpsE6Pve5z0VExL/927/t0e/xj//4jw3+9+5e5+3jDjrooIiI+NCHPlTcpYqIGDhwYCRJUvzdmjJo0KBYvHhxLFiwIM4+++wYPHhwFAqFeOyxx+L888+PW265pTh22bJl0adPn5g0aVLxWEVFRcyZMyeqq6ujsrLp/4tbtWpVXHjhhTFgwIC46aabokuXLs2ua0899dRTsXbt2hgzZkxs3Lgx1q9fH+vXr4/XXnstjjvuuFi+fHn8/e9/j3e9613x8MMPxxVXXNHg9Rs2bIiePXs2uJ8iIg444IBddk8dNGhQHHzwwcX/3bdv39hnn31ajDsA+aM0FGAPvetd74r//M//jPvvvz+eeeaZ+Otf/xqvvPJKREQMGDCgOO5b3/pWXHzxxXHppZfGN77xjTj88MPjhBNOiJNPPjl69eoVEREzZ86Mz372s3HllVfG7NmzY9iwYTF69OiYOnVq9O3bNyLeeL7dxz72sUbr6Nu3b/Tu3TvWrVu3R7/Hf/tv/63B/97d6+yzzz7F/96pU6ddzrmz5LK+vr7F9VRUVMSRRx4ZRx55ZERE/O1vf4t77703fvCDH8S//Mu/xOTJk6Nfv36xbt26OOCAAxok4hENY9+UH/3oR1FZWRmvvfZavPTSS7v1SIqIiLq6ukbJWa9evaJr164Njv31r3+NiIg5c+bEnDlzdjlXTU1N7LvvvvGud70rli1bFv/2b/8Wzz77bKxZs6b4PdLkbd8RjGgc353ennzv1Llz55LiDkC+SAQB9tA111wTt9xyS/yP//E/4vDDD4/JkyfHiBEj4p//+Z8bNHn5yEc+Ev/+7/9e/HnooYdi9uzZcfvtt8fixYujT58+cfDBB8e//uu/xoMPPhj//u//Hg8++GDMmzcvbr/99rj77rtj8ODBjZKBt6uvr493vetde/R7vHPnbHevs6vv1b0zOSvFwoULY9u2bXHBBRc0OL7ffvvF//yf/zO6dOkS11xzTfzXf/1XjBs3LgqFwh5dJyJi6NChcdlll8W5554bl19+ecyfP3+3Xv+jH/0obrjhhgbHZs+eHZ/85CcbHNuZgH3xi1+Mww8/fJdzvf/9748kSeIrX/lK3H///XHEEUfEiBEj4rTTTouRI0fGOeec0+g1u4p5ROM/SwBoikQQYA+sW7cubrnllpg8eXKjnZ63l+Ft3749li9fHvvuu29MnDgxJk6cGPX19XHbbbfFnDlzYsmSJfGpT30qVqxYET179ozjjz++2OFz6dKlMWPGjFi0aFF87WtfiwEDBsQzzzzTaC0vvfRSbN68Ofr375/K79ZW13mnX//61/GnP/0pPvWpT0X37t0bnR8yZEhERHHXbb/99ouVK1c2Gvfb3/42li5dGl/5yleavNa5554b//AP/xDnnntu/PCHP4z777+/QYlpS6ZMmRJHHHFEg2P//b//90bjdu5Odu/ePY466qgG5/70pz/Fxo0bo2vXrvG73/0u7r///vjc5z4XX/ziF4tjduzYEa+++upuPwsRAFrio0OAPbCzZO+d//j/7W9/G88991zs2LEjIiJeffXVOO200+IHP/hBcUxlZWUccsghxf9eKBTi7LPPjiuvvLLBXIcddlhxTETEcccdF88880z8+te/bjBu5/fmjj322FR+t7a6zjudeOKJsWXLlvjud7/bqJSxvr4+Fi1aFL17946RI0dGRMTRRx8dL7/8cvzqV79qMPbHP/5xLFu2LN773ve2eM3Pfe5z0b9//5g9e3bx+5u7UllZ2WBN+++/fxx11FENft73vvc1et3w4cOjb9++sXDhwqirqyse37x5c7FcuKqqKl599dWIaHw//eQnP4mtW7cW7ycASIsdQYAmzJ07d5cPYP/4xz8eRxxxROy3335x8803x7Zt22LfffeNP/3pT/HTn/40unTpUvxH//ve97448cQT484774ytW7fGiBEj4tVXX4077rgj9tlnn/j4xz8enTt3jrPOOituuummuOiii+JjH/tYvPbaa3HPPfdEt27d4uSTT46IiAsvvDAeeOCBuPjii+OMM86Igw46KB599NF44IEHYuzYsak9HqCtrvNOn/zkJ+PBBx+Me+65J/74xz/G+PHjY999941XXnkl/s//+T+xcuXKuOaaa4q7haeffnrce++9MWPGjJg2bVoMGjQoli1bFg899FBceeWVTZZPvl337t3ja1/7Wnzxi1+Mq6++ulGzlp369OkT//mf/xm33XZbfOhDHyom6S1517veFd/4xjfi4osvjk9+8pNxyimnRJcuXWLRokXxt7/9La6++uro1KlTjBgxInr27BmzZ8+Ov/3tb9G7d+947LHHYunSpQ3uJwBIi0QQoAn333//Lo+///3vj4985CNxyy23xHe/+91YsGBBJEkSBxxwQHz961+PHTt2xHe+85144oknYvjw4fHP//zPsf/++8eSJUtiyZIl0a1bt/jIRz4SM2bMKDb3+MIXvhDvec974t57742rrroqqqqq4kMf+lB873vfi8GDB0dExHve856455574rrrroulS5fGpk2bYv/994+ZM2fGueeem9rv3VbXeafKysq47rrr4r777ov77rsv7rjjjqitrY13v/vdccQRR8Tll18ehx56aHF8165dY+HChXHdddfFkiVLora2NgYPHhzXXXddfPzjHy/5uuPHj49//Md/jJ/85Cdx0kknFZvzvN0FF1xQTEQ/+clPlpwIRkSMGzcufvSjH8VNN90U3//+96OysjI+8IEPxE033RTHHXdcRLzRcOeWW26Jq6++Or7//e9H586dY9CgQXHttdfGn/70p1iwYEG8/PLLDRrzAMDeqEia6woAAABAh+M7ggAAADkjEQQAAMgZiSAAAEDOaBYDAADQQW3atGmXj0jSLAYAAGAvbV2/Prq92Q08S1577bU4+uiji89A3im7ieA7HibcSGVly2Mi4qD3/6DFMaV67pkLU5urXSsx9rQCsS8v8S8fsS8fsS8fsS8fsW/goPf/cK/nGDiwZ/zf/zsthdVk24/+8R9j0/PPl3sZRb0HDozp//f/Rk1NTRQKhQbnOnxp6Jo1G1seBAAA7NKaNY3LCtm1Tc8/HxvXrCn3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AHJGaSgAAEAKsrbLpjQUAACAIokgAABAzigNBQAASEFFZGunraKZc1laJwAAAG1AIggAAJAzSkNpF/r1rU9trvoUP/9ICjenNldF1Zdavl4yt7RxhWvSWBIAALuhMiKSci/ibZSGAgAAUCQRBAAAyBmloQAAAClQGgoAAEBmSQQBAAByRmkoAABACpSGAgAAkFkSQQAAgJxRGgoAAJCCimi+HDNL7AgCAADkjEQQAAAgZ5SGAgAApKA97bK1p7UCAACQAokgAABAzigNBQAASEF72mVrT2sFAAAgBRJBAACAnFEaCgAAkIL2tMsmESR3KqM+tbm270jv7Z4UrkltXEXVjL1dzjuuOTfV+QAAKC+JIAAAQAdWU1MThUKhwTGJIAAAQAoqKioiKirKvYy3vLmWadOmxbp16xqckggCAAB0YNXV1XYEAQAAWkWnTm/8ZMWba+nfv3+jU3vU6WLWrFlx1llnNTq+du3a+PznPx+jRo2KUaNGxcyZM2P9+vV7cgkAAABayW6nq4sWLYpFixbFqFGjGhzfsGFDnHPOObF9+/a44IILolAoxPz582PlypWxaNGi6Ny5c2qLBgAAYM+VnAgWCoW46aab4oYbbtjl+dtvvz3+/ve/xy9+8YsYPHhwREQcdthhcd5558XPfvazmDp1ajorBgAAyKKqqmyVhlZVNXmqpNLQbdu2xUknnRTXX399TJ48Ofr169dozJIlS2LUqFHFJDAi4qijjopBgwbFkiVL9mDVAAAAtIaSE8HNmzfH3Llz46qrropO78hyN27cGGvXro1hw4Y1eu2wYcPiiSeeSGe1AAAA7LWS9i179uwZDzzwQKMEcKcXXnghImKXO4V9+/aNzZs3R21tbfTq1WsvlgoAAJBhGe0austTpby+srIyKiub3jysq6uLiIhu3bo1OtelS5eIiNiyZcvuJYLNXG+3xtA6xD4iItLtgVRiTEuIfZL8y16uhSa598tH7MtH7MtH7MtH7OngUklX6+vrWxzTXCLZxKQtTdjyGFqH2Bdt35He/0l07lRCTEuMfUXVjBRW9JakMDfV+dot9375iH35iH35iH35iH3rkFxnSiqJYI8ePSLije8SvtPOYzvHAAAAdEgdrWtoS/bbb7+IiHjppZcanXvxxRejd+/e0b179zQuBQAAwF5KJRHs3bt3DBw4MJ588slG5556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Y/Lkya26aAAAAPZci4ngxo0bY8WKFXHeeecVk8CIiH322SdGjhwZDz30UEREPP300xERMXjw4FZaKgAAQHZltWvorrSYCPbs2TN++ctfNkgCd9qwYUNUVVVFRMSqVasi4q1EcMuWLdG9e/c9WS8AAACtqLKlAVVVVXHQQQdFv379GhxfsWJF/OEPf4gRI0ZExBuJYI8ePWL27NkxYsSIGDFiRIwZMyaWLFnSOisHAABgj+zR4yPq6uriq1/9akREfOYzn4mIN0pD6+rqora2NubMmRObNm2KBQsWxCWXXBKvv/56TJkyZfcuUtlijlraGFqH2JeP2JeX+JeP2JdPCbFPksvaYCE55L4vH7FnD3S4rqFvt3Xr1vjsZz8bK1asiAsvvDBGjRoVERFTp06N+vr6mDZtWnHsxIkTY9KkSfG9730vTjzxxGIZaUnq65s/X1nZ8hhah9iXj9iXl/iXj9iXT4mxr6j6dmqXTAqzUpurXXPfl4/Ytw7Jdabs1p/Gpk2bYvr06fHYY4/FySefHDNmzCieO+OMMxokgRERXbt2jcmTJ8fLL79cbCYDAABAeZW8I/jKK6/E+eefH8uXL4/TTjstLr/88qioqGjxdX369ImIN5rHAAAAdFTtqWtoSTuCmzdvLiaB5557blxxxRUNksAXXnghJk6cGDfccEOj1z777LMRETFw4MDdXDYAAACtoaRE8Iorrojly5fH2WefHZdeemmj8/369Yva2tpYtGhRbN68uXi8pqYmFi9eHEceeWT07ds3vVUDAACwx1osDV29enXcd9990atXr/jgBz8Y9913X6MxkydPjssuuywuuuiiOP300+PUU0+Nurq6qK6ujk6dOsU3v/nNVlk8AABAVnSorqGPP/54RETU1tbucjcw4o1EcMyYMXHjjTfGD37wg7j66quja9euMWrUqLjkkkuKD5kHAACg/CqSJEnKvYhd8viI7BL78hH78hL/8hH78vH4iPJx35eP2LeOHDw+YtasiPXry72Kt/TpE/HtJv563qMHygMA7d/2HS3/o6xz59LGpZm8VVR9IbW5ksK81OYCaEmH6xoKAABAxyERBAAAyBmloQAAACloT11D7QgCAADkjEQQAAAgZ5SGAgAApEDXUAAAADJLIggAAJAzSkMBAABSoGsoAAAAmSURBAAAyBmloQAAACnQNRQAAIDMkggCAADkjNJQAACAFOgaCgAAQGZJBAEAAHJGaSgAAEAK2lPXUIkgAORU5071JYyqLGlcfYpFRklhXmpzVVSdn9pcSWF+anMBlJvSUAAAgJyxIwgAAJACXUMBAADILIkgAABAzigNBQAASEF76hpqRxAAACBnJIIAAAA5ozQUAAAgBbqGAgAAkFl2BAEAAFKgWQwAAACZJREEAADIGaWhAAAAKdAsBgAAgMySCAIAAOSM0lAAAIAU6BoKAABAZkkEAQAAckZpKACw1yqjPrW56lP8nDopzE9troqqa1KbKyl8KbW5gOzQNRQAAIDMkggCAADkjNJQAACAFOgaCgAAQGZJBAEAAHJGaSgAAEAKdA0FAAAgsySCAAAAOaM0FAAAIAW6hgIAAJBZEkEAAICcURoKAACQAl1DAQAAyCyJIAAAQM4oDQUAAEiBrqEAAABklkQQAAAgZ5SGAgAApKA9dQ2VCAIAmVIZ9anNteW19IqfksKXUpurouqilq+X3FTauMKNaSwJyBmloQAAADljRxAAACAFuoYCAACQWRJBAACAnFEaCgAAkIL21DXUjiAAAEDOSAQBAAByRmkoAABACnQNBQAAILMkggAAADmjNBQAACAFuoYCAACQWRJBAACAnFEaCgAAkAJdQwEAAMgsiSAAAEDOKA0FAABIga6hAAAAZJYdQQCgw+retT61uepT/Pw8KdyY2riKqn/a2+W845o3pzofUH41NTVReEfnGIkgAABACpKkPpKk3Kt4yxtrqYxp06bFunXrGpyTCAIAAHRg1dXVdgQBAADypH///o2OlVzs/sgjj8QZZ5wRI0aMiI997GPxne98J+rq6hqMWbt2bXz+85+PUaNGxahRo2LmzJmxfv36vV85AABA5hUy+LNrJe0IPvroozF9+vQYNmxYfPnLX46amppYsGBBPPHEE1FdXR2VlZWxYcOGOOecc2L79u1xwQUXRKFQiPnz58fKlStj0aJF0blz55JCBwAAQOsqKRGcM2dO9O/fP+64447o2rVrRLyxvXjFFVfEgw8+GMccc0zcfvvt8fe//z1+8YtfxODBgyMi4rDDDovzzjsvfvazn8XUqVNb77cAAACgZC2Whm7bti3e+973xtSpU4tJYETEqFGjIiJi5cqVERGxZMmSGDVqVDEJjIg46qijYtCgQbFkyZK01w0AAJAx9VH+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4pJLLonXX389pkyZUu4ldgiVlZVRWdn05zPeB62rpfhHeC+0hbq6uvjqV78aERGf+cxn3Pdt6J2xj3DPt4VXX321WIHQrVu3mDVrVnTp0sW93waain2Ee5+Or90kgvX19S2OaekfcOy5qVOnRn19fUybNq14bOLEiTFp0qT43ve+FyeeeGKxjIjW431Qft4LrWvr1q3x2c9+NlasWBEXXnhhjBo1Kn7/+9+3+Dr3/d7bVewj3PNtoaKiIubOnRvbt2+PhQsXxnnnnRfXXntt9O3bt8XXuvf3TlOxHz9+vHufDq/d/O2x85ku27Zta3Ru57G3P/eFdJ1xxhkN/iKMiOjatWtMnjw5Xn755eIXqmld3gfl573QejZt2hTTp0+Pxx57LE4++eSYMWNGRLjv20JTsY9wz7eFd7/73TFhwoSYMmVKVFdXx3777Rff/e533fttoKnYR7j36fjaTSK484u7L730UqNzL774YvTu3dsXeMtg58Nst2zZUuaV5IP3QXZ5L+ydV155Jc4+++z4wx/+EKeddlp85zvfiYqKiohw37e25mLfHPd86+jatWsce+yxUVNTE+973/siwr3fVt4e+/Xr1zc5zr1PR9FuEsHevXvHwIED48knn2x07qmnnorhw4eXYVX58MILL8TEiRPjhhtuaHTu2WefjYiIgQMHtvWycsn7oLy8F1rH5s2b4/zzz4/ly5fHueeeG1dccUWDRMR933pair17vvWsXr06Ro8eHdXV1Y3O1dXVRUVFRXTu3Nm93wpKif3WrVvd+3R47SYRjIgYO3ZsPPLII7F69erisYcffjieffbZZrv8sXf69esXtbW1sWjRoti8eXPxeE1NTSxevDiOPPLIkr7HQDq8D8rHe6F1XHHFFbF8+fI4++yz49JLL93lGPd962gp9u751nPggQdGbW1t3H333bF9+/bi8XXr1sUDDzwQI0eOjJ49e7r3W0EpsR8wYIB7nw6vIkmSpNyLKNX69etj0qRJUVVVFdOnT49t27bFrbfeGgcccEDcfffd0blz53IvscP69a9/HRdddFF84AMfiFNPPTXq6uqiuro6Xn/99bjrrrs8bLWVjB49OgYMGBALFy4sHvM+aDu7ir/3QrpWr14dEyZMiF69esXXv/71XTZemDx5svu+FZQae/d867nvvvti5syZcfjhh8cnPvGJ2LBhQzG2d955ZwwZMsS930pKib17n46uXSWCERHPPPNMzJ49O373u99F165d45hjjomZM2cW67VpPb/+9a/jBz/4QaxYsSK6du0ao0aNiksuucRfhK1oV4lIhPdBW2kq/t4L6bnrrrviW9/6VrNjVq5cGRHu+7TtTuzd861n6dKlceutt8Zf/vKX6N69e3z4wx+OGTNmxKBBg4pj3Puto5TYu/fpyNpdIggAAMDeaVffEQQAAGDvSQQBAAByRiIIAACQMxJBAACAnJEIAgAA5IxEEAAAIGckggAAADkjEQQAAMgZiSAAAEDO/H9hfQV66bOjCgAAAABJRU5ErkJggg==\n",
|
||
"text/plain": [
|
||
"<Figure size 1440x1008 with 2 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"filenames": {
|
||
"image/png": "/Users/MortenImac/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/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/linear_model/_coordinate_descent.py:645: 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:04, 1.95it/s]"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\r",
|
||
" 20%|██████████████████████████▊ | 2/10 [00:00<00:03, 2.63it/s]"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\r",
|
||
" 30%|████████████████████████████████████████▏ | 3/10 [00:00<00:01, 3.57it/s]"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\r",
|
||
" 40%|█████████████████████████████████████████████████████▌ | 4/10 [00:01<00:01, 4.54it/s]"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\r",
|
||
" 50%|███████████████████████████████████████████████████████████████████ | 5/10 [00:01<00:00, 5.36it/s]"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\r",
|
||
" 60%|████████████████████████████████████████████████████████████████████████████████▍ | 6/10 [00:01<00:00, 6.04it/s]"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\r",
|
||
" 70%|█████████████████████████████████████████████████████████████████████████████████████████████▊ | 7/10 [00:01<00:00, 5.69it/s]"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\r",
|
||
" 80%|███████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 8/10 [00:01<00:00, 6.18it/s]"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\r",
|
||
" 90%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 9/10 [00:01<00:00, 6.57it/s]"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\r",
|
||
"100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [00:01<00:00, 6.75it/s]"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\r",
|
||
"100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [00:01<00:00, 5.15it/s]"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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OS99siST+Zeze7cZ7n/xmWa8admgXU58xo/Ia2ul4eHcVx45v1o4oawJY1X2FUnuFTuSMs32LyCyLtKbpulnO834njr7j4e7757++sMfnrqV2Yevt5PaB662k8BNN9nr5K2rJDX177FnOJfsHeizt+Gq/ff4lThXxw03TN0O4vjulqTann12Oa2tea2TJK2qO2TP8I71PI8pSf4xal1FWFEhnXyyXxYWVWg5XJKOHJGCYPzWI6MTVz16x1GOqwPd/Osdq97xOI88PrjazuP1Kedzlb1O2R/qMs/jd945Nf2xj02/Bc7HPmrn8WuutfP49u32Os0rj69caYYP9NhX20Y6j+fT/6mokJYv98vCogotj0d9QEWKTNszM66fz252THb7Kypfb8aD9LcKum6LKiL7WxIDKkUk1L541MdUItQXzx5TyR5PkaIzppK9u6US7IvPdUxllvGUWW9Nef311+v66683591zT44dAABYcuRwAChd5HAAKG3kcQAoXeRwAIXEZRYAAAAAAAAAAABACDgRBwAAAAAAAAAAAISAE3EAAAAAAAAAAABACDgRBwAAAAAAAAAAAISgIgiCYCkqzmTG/4/FpqajhHbPT2XlFjOeTt87/0IXSZT2eYxT/GXv2WelIJBqa6Xh4fFY7UCnvXBVlVvOcE2LGa/VsL28avNaXpKUSpnhTF29GY+lxuxyurqmv161SjpwIGf71NBghvd1VfvvMaxZ7SePzi77A9dRN2jX3We3O5m0yz+tbsZ+7eiQOsdjH/h8h/meT99kr+97L7fX9brr7LolqbXVjg8N2fF43I7XVjn7VVImnjDj046FREIam3i9d69blmntWnfWrt123WducNbXa3hfn1vH2Op1ZjyRGj0xWFEhnXyyWxbKR9Hl8bhxPB43MmKGMw2NZnxOefx4Dpdy5/HmZjO876D92fWsWennoANddlmrGuw8vqfHzuPO1930PJ6VwyXpmi/ZefxT2/PL43/5l3bdktTebscPH7bjXgoqaB7fv98ty5Qrjz9qb5MzNzrf3fPJ4yvXmHHyeIRFfUBFim7bs9qdca6tj8neLhWVf2TGg/S/FmbdwhSl/c2ASiQUXV98scdU5toXL7cxlRl98ciMqWT3w6XyHVOZpR9OdgcAAAAAAAAAAABCwIk4AAAAAAAAAAAAIASciAMAAAAAAAAAAABC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X3yx+vv71dPT49Zf7HlcWrxcTh4HsFBeHv7Vr341uUyuvOspZK4OI0/nI8w+NXkaQD4YTymsMPvZ5HcAFsZTCivMfjh5fGE4EVcEvCursn++WllZOTkdj8fdeZlMRmeccYa+9a1vTf6744479JKXvMSt/9RTT9V3v/tdvetd79LIyIj+9E//dPK2DJWVlfra176mb37zm3rqqadmbcvRo0e1bds2/fVf/7Xq6uq0evVq7d+//4Tl3vnOd+rlL3+5+e+d73zntGXb29uVTqfV1dU1Gdu/f79Wrlw56/rMNFtZC50PIJoefvhhvfvd75Yk/a//9b/0lre8ZXKel2O9eCaTOaH8IAiUSqXc+os9j0uLl8vJ4wAWai55OFfe9RQqV881T0v55+q5CrNPTZ4GkA/GUwqX26Vw+9nkdwAWxlMWL4/PNp88Hi5OxBWpTZs26YEHHtDw8LAymcy0hx6effbZevDBB/Xss89Kku68887JeWeccYZ+9KMf6Re/+IWk8au9Xve61ymZTLp1ff3rX9d1112ns846S3/5l3+ps846S/v27ZMkrVixQqeddpo++MEP6pprrtGRI0dyrvfnPvc5rV+/Xq961askjd8n1now5Ve/+lX99Kc/Nf999atfnbZsdXW1zj33XO3YsUOjo6N64okn9P3vf1+vf/3r3fVIpVI6evSoMpmM0um0jh49qlQqNWtZC50PIJp+9KMf6VWvepUuueQSrV27Vt/73veUTqcl+TnWi//hH/6h7r//fg0ODkqSvvGNb5jPtshW7Hlcyj9/enl8trLI4wAWysvDbW1tk8vkyrueQuXqueZpKf9cnSv3ZguzT02eBrBQjKdMN9fcLoXbzya/A7AwnjJ7HpcWp59OHg9ZgCX16KOPBhdccMEJ00EQBF/+8peDV7/61cHFF18cbNu2LXjrW986Oe9rX/ta8NrXvjZ4wxveEFxzzTXB+eefPznv/vvvD173utcFW7ZsCd7whjcE//Ef/5FzHZ577rngz//8z4PzzjsveMMb3hD82Z/9WTA0NHTC+rz73e8OPvzhDwdBEATvfOc7g+9973vTynnqqaeCV73qVcHw8PBk7Bvf+EawdevWeWyZ6Z555pngve99b/Cyl70sOPvss4N77rln2vz//b//f3hT7wABAABJREFUd/DFL35x8vWOHTuCVatWTfu3Y8eO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v/zlomwkAODkkMMBoHSRwwGgtJHHAaB0kcMBFMK4vxEnSc8995yuu+46bd68WevXr9cvf/lLtbW16Z3vfKckKZVKKeh8B77nyBENf6d5RBoc+ZrnyXynedL5TnOPV8eK5f7HiB940PtO87j9Au/Lr/v60o/r66XO8X+XwpMM299pPjBgr5/rdym87zQP9Djfle387sbjznean7e8N/2kulrqzXjubJj3neZeO+68045Lk/lOc7ucXN9pHg7b8YgyvtM882Q/aH+nuZzvNO8P+987XRnL7zvNvYbk+k5zr32NfcZ30s+dK73xjfltE4qqGDlcx796IRBIPy435dr2GdLuKf+NuBnS7ikRGPcLEzCFipLDZffFC/kbcd4mFbQvfpHzGqevOlP74t5vxIX6CtQXX5lx/Corpf6M521t5mvy7Yt7vzskTeY34uxyJtUXTzhtd9o9qb74QH6/Eec1JNdvxHntax6gL14KGE8pwniKlM7j5TSeImWPqTCeko3xFBRBsfriZT+mQrvLSzm1O8d4yrgjLS+99JKuvvpq3XrrrVq/fr2k4SSzbds2vfLKKzp27Ji++93v6vzzzy/cBgMACoIcDgClixwOAKWNPA4ApYscDqCQxv1qyq1bt+p73/ueGhvTd+ds3LhRyWRS3/72t5VIJLRu3TrdcMMN+dVszfyPvcNpxL6uareYJYvyu4uqvce+86mxzilHcu9YGgzad495N+FWxzLulsy4Czde4985E9q1016Q511fg01L3GWRPvsuztaYvV3NwXa7oJ4eM5xcvmL08dgJ8EBs0HiF1P2qfZxqT7OPUzIYsrdJ0v332/H3XGLPxN+y1Z6fvvnSfW4dvXX2/vWOuWpqzPXbu+x2RKNu1e5de41h584u5wXPHG5263jrG+27KB/fdeI1EA5Lq1e7RWGKTWkOLzfl2vYpbnc8YefkUNDehoo515nx1NCOk9uQcjrefCJuxihaDpfsPO705fb1+HeSL2my+3Ie+uInmta++IDdx+tN2Pu2Olr8vvi27XYO2nxJ8fvirR12O0491a1aR4/a8cag80k55wSlLz47MZ6i4uRwafSaLqccLmUfcsZTsjGegkKb8r54OaHdM9aBg3YeX7zoJLa7BNpdMDnGU8b97OyWLVu0ZYv9NU8f+MAHJr9RAICiI4cDQOkihwNAaSOPA0DpIocD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AAAAAABAETARBwAAAAAAAAAAABQBE3EAAAAAAAAAAABAETARBwAAAAAAAAAAABQBE3EAAAAAAAAAAABAETARBwAAAAAAAAAAABQBE3EAAAAAAAAAAABAETARBwAAAAAAAAAAABQBE3EAAAAAAAAAAABAETARBwAAAAAAAAAAABQBE3EAAAAAAAAAAABAETARBwAAAAAAAAAAABQBE3HIy7ve9S6tWbNGL774YsHKvPvuu/We97xHS5cu1aZNm05Y3tfXp6uvvlrLly/X29/+dv3whz90yxpv3VzLT+a1AFDKCp3bZ0peH285eR3AbDHVffR882cx++DkcgAz1UwbPyF3A0BhzLQxFMbOSwMTcTPcM888o4suumjGlPvggw+qqalJ//Zv/1awbVm4cKH+8i//Uu9973vN5bfccovmzp2rn/70p/rCF76gT3/6026iG2/dXMtP5rUAys9//dd/6brrrjOXPfLII/rzP//zKd2ek3m/KHRunyl5fbzl5HWgvBSrX10oMymPS7lzeb75s5h9cHI5gOMYPyls35fcDaCQGEPxnewYCmPnpYGJOORlzpw5estb3qJf/vKXBStz3bp1esc73qGqqqoTlg0ODurRRx/VX/3VX+nUU0/VypUrdd555+lf/uVf8l431/KTeS2A8vS///f/1o4dO6Z7Mwqi0Ll9JuT18ZaT1wHMJlPZR883fxazD04uBzCTzaTxE3I3gOnGGIrvZMZQGDsvHcHp3gCkffe739U///M/KxAIqKamRp/85Cezlr/22mu66aab9Jvf/EaBQEB/+Id/qFtuuUWBgD+f6r0m065du3TDDTfotttu04oVK3JuYywW00MPPaRUKuWuc+WVV+q5554zl73lLW/RP/zDP+SsI1NbW5sCgYD+4A/+YDTW0tKi//zP/8x73VzLT+a1AMrHM888o89+9rOKRCJ67bXXlEgk9PDDD0uSvvSlL+mHP/yhqqqq9IY3vCHrdV/72td03333jXZGfvzjH+vxxx+XJD3++OP66le/qmPHjikcDusTn/iE3vzmN7vbUOi8Lo2f20sxr4+3nLwOlK9kMqlt27bphRde0GuvvaZUKqWtW7fqLW95i5tjjxw54vbDrT58Zm4Zq5zy+HjrFzPPA5jdGD85USH7vuRuAIXAGMqJCt33Zuy8dDARN0P87Gc/09e//nV997vfVXV1tb7//e/r6quv1s033zy6zmOPPabXXntN//Iv/6KhoSF96lOf0v/8z/+ckKwyea857umnn9YnP/lJ3XnnnWppaRl3O7/4xS9q4cKF+s///E+99tprOvXUU09YJ59kMp7BwUHNnz8/KzZ//ny99tprea+ba/nJvBZAeXnxxRf1ox/9SB0dHfrMZz4jSfrRj36kRx99VPfff7/C4bCuvvrq0fX/4z/+Q9///vd13333af78+fqbv/mb0WVtbW364he/qG9961s67bTT9OKLL+ov/uIv9OijjyoSiZj1FzqvS+Pn9lLM6+MtJ68D5euFF17QoUOH9N3vfleBQEBf+9rX9I//+I96y1ve4ubYn//852a8s7PT7MP/67/+qyoqKsz6yymPj7d+MfM8gNmL8RNbIfu+5G4AhcIYyskpZE5l7Hx68dWUM8R//Md/6MILL1R1dbUk6T3veY+6u7v129/+dnSdt7zlLTp48KD+/M//XF/72tf0f/7P/8nZiRzvNV1dXbrqqqv0jne8Y0KJ5uc//7kefvhh/f3f/73mz58/Jd/xGolENDAwkBUbGBgwO7DjrZtr+cm8FkB5+f3f/329/vWvz4r97Gc/0/nnn69oNKpgMJj1vd4/+clPdMEFF6iyslIVFRX6wAc+MLrspz/9qQ4dOqQPfehD+pM/+RPdcMMNqqioUHt7u1t/IfO6NPW5fary+njLyetA+Xrzm9+s66+/Xvfcc4/+7u/+To888sjoH4hejvXiXh++o6PDrb+c8vh46xczzwOYvRg/sRWy70vuBlAojKGcnELmVMbOpxcTcTNEMpk8IZZKpZRIJEafn3766Xrsscf04Q9/WAMDA/qLv/iL0Y/lenK9Zs6cObrrrrv0gx/8QC+88ELOco4eParNmzfrb//2b1VVVaWWlhbt37/fXPeKK67Qm9/8ZvPfFVdcMd6uyNLU1KShoSG1tbWNxvbv369FixblvW6u5SfzWgDlxbvLKvMrCebMmTP6OBgMusuSyaTOPvts/cu//Mvov3vvvVdnnnmmW3+h8ro08dxeinl9vOXkdaB8PfHEE7ryyislSX/8x3+s973vfaPLvBzrxSfShx+rnPL4eOsXM88DmL0YP7EVsu9L7gZQKIyhFLfvzdh56WAiboZ429vepoceeki9vb2SpO9973uqqqpSY2Pj6Drf+c53dNNN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2+M7yy+V8quIdi61q540S45PSizl1P3MM2b4qqsuceu++l32enjXl4pmfM0F9vhP3u9Mk6RstMOMHz56ciwUkha5JWEu1CqPL9CIpJKkmGLKSpJix1L2yBn/T4Z01K6/o9Brj68uM54Y2OfWke+2t9GIt99pt/c7+cL49hORlG8Z3TYilfK4k59iA3Yed6e1kHWrSBdiZjzuNG9lt5PH7ZSshQsTk76XfbFTv7q77bizq6jYvmLy5P2IJLX12etIcdlyuyCnfZJUjNv7woWTVt0TbXcaEunrM+OrVi126/76/XZefsuVdh7//Bfs8d/7Ln/fmc5FzHihcHI8FJKSC9yiMMvoTwGA+lXLHB70PpXj/SmSAtencqI/RQpUn0r5ZDRqn8pU/SlTPppyzZo1uuuuuxQOh/WrX/1Kx44dUzQaVX9/v7Zs2aJNmzZp69atKhbtxgEA5g45HADqG3kcAOoXORwA6hc5HMBMmtY74ubPn6+tW7dq48aNuvDCC1UoFHTBBRfotttu07333qudO3fqvvvuq/W0AgBOATkcAOobeRwA6hc5HADqFzkcwExpKpVKpemOPDIyove9733asGGD3vrWt56If+c739H999+vz372szWZSADA6SOHA0B9I48DQP0ihwNA/SKHAzhdU74j7mc/+5ny+bxe9apXacGCBVq/fr0eeughJZNJvfGNb5QklUolhZ3njbqO37YbCo1/DhLaHTxBantoWjfbYhbULIfv2nXieeZ6cvR55t6zu7139UiSnOeZa9cuMzy8xH6eefMjM/g887i9nZ70jriElE5LiUL1zzPX0JAZzrbY7046peeZO++HSej0nmceiYwuekmKDNjv96m4zC2VnmfuvZDIizt1D6f8vOQtpvIqji9vSUpkqnueee8S/3nmt9xix2f0eeZJ53nmh0+OhULSIl4Sd0apWR4fGZFKJSkWk7Jj7/fyHvxfoWzvHXGJlPOOuOQMviMuXN1x1YR3xJXnskrvpfDaPhvviIubYYUy/j7Bkg2P7yfKF7fk71+8d66d0jvionb7Qt474jrtdSRX4R1xXh4v/01522Nh570bzjvi0i3+O+IeecSOz8474k6OhUL+4RVmH/0pNRTUttPuxkd/yhmjZjlcCnyfyoS/rwPUp1L+N4gUnD6V8uUtNW6fylT9KVNm976+Pt1yyy3K5/PK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c9tPcg6f7vO4ubOe/16Qx4H5y8u9P//5zyeWicq1nlrm59nOzdLc5URyN4AoXD+Zmbm8fjJb11fI7cD8xjWUmZnLcTjXyecOE3E14v2lVfh21gULFky8TqfT7melUknnnXee/vEf/3Hiv7vvvluvfOUr3fbPPvtsPfzww/r93/99jY6O6vd+7/cmfqZhwYIF+uxnP6uvfOUrevLJJ6eN5dixY9q5c6f+9E//VO3t7Vq9erWeeeaZ05Z75zvfqde85jXmf+985zunbSds+fLlOnHihHp7eyfKnnnmGa1cuXLaz2eybi37MdN+Apg73/rWt3TVVVdJkv7jf/yPestb3jLxmZdfvfJSqXRa/UEQqFgsuu0nOYdP93nc3FnPfy/I48D8VUnujcq1nlrl50pzszR7+ZncTe4G5grXTxr3+slsXV8htwPzG9dQGvcaCtfJ5w4TcXW0adMmPfjggxoZGVGpVJr0sMHNmzfroYce0gsvvCBJuueeeyY+O++88/Td735XP/nJTySN//XXG9/4RuXzebetz3/+87rpppt0wQUX6H/8j/+hCy64QE8//bQkacmSJTr33HP13ve+VzfccIOOHj0a2e9PfOITWrdunS688EJJ47/Paj2o8jOf+Yx++MMfmv995jOfOW35YrGoY8eOqVQq6cSJEzp27NhEUs3lcrr44ou1a9cujY2N6fHHH9c3vvENvelNb5r285msO9VM65pJPwHMne9+97u68MIL9da3vlVr1qzR17/+dZ04cUKSn1+98t/8zd/U/fffr6GhIUnSl770JfM5F2GNkMMlP4/Pp9xZz38vyOPA/OXl3p6enollonKtp1b5udLcLM3eGJvcTe4G5hOun0w2X6+fzNb1FXI7ML9xDaVxr6FwnXwOBZixRx99NNi2bdtpr4MgCP76r/86eN3rXhe8+c1vDnbu3Bm87W1vm/jss5/9bPCGN7whuPzyy4Mbbrgh2Lp168Rn999/f/DGN74x2L59e3D55ZcHP/jBDyL78OKLLwZ/+Id/GFxyySXB5ZdfHvz3//7fg+Hh4dP6c9VVVwXvf//7gyAIgne+853B17/+9Un1PPnkk8GFF14YjIyMTJR96UtfCnbs2FHFlpls165dwapVqyb9t2vXronPn3/++eAP/uAPgle/+tXB5s2bg69+9auT1o/6fCbrBkEQ/Nf/+l+D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Xve6+Ocz3g+9dKTDx25b+f1TvebybV1ddvWL/O9abrjf/iBtj6AnHYchTw93u220tjofHDp0etnChf5JE2ZdvfL4qXPqqefXccW9njKTtiqty72eclp5atr+e5/HvZ5STRtx2/ZMXT68z+dy/9VS3H7VMu64+6lW+xWNgespAGpp2n8plixZohtvvFGZTEYLFy7UK17xCvX396u/v187d+7U9u3btWvXLpVK8f4hBADUHzkcABoXORwAGht5HAAaFzkcQC1NOxH3yle+UuvWrZMk9fb26oEHHtBv/uZvauPGjbr11lt19913a8+ePbrnnnvq3VcAQEzkcABoXORwAGhs5HEAaFzkcAC11BIEQVDJgs8++6yuuuoqXXPNNbr88ssnffbwww/r3nvv1Sc/+cm6dBIAMDPkcABoXORwAGhs5HEAaFzkcAC1MO0z4iTp8ccf17XXXqudO3dq27Zt+vGPf6ze3l69/vWvlyQFQaC08xv4nqNHNf5cipw05jwu65TZeUacX4+3jtcvt0/h51WEA48K0BH396ereUact5L37LHRUbua8DMNUikpfMd2qhjv+WZeHN7z6aRqnhFn1xP9jDj/s1PCsc/lM+Jq+ZvmZhw8I27eqUcOLx/MU77USZLU2Im7+aV4xsV8UpccLnssXstnxHld8p4Rd+46//v11fu8Z8RVMOYOGx4uv+7ulvqnf0acp5S1nxHnjYereUZcZth5RpwT3zedZ8RdtD60/9rapJHQ+95ecx3vGXFeHN6z46RqnhFn1xM1FvdOp3JFJ3YnbjnPiBvJ+s+AaRuN94w4L5CoZ8R58a0YNZ7xt3Ch9KpXuXVh9tUjj9dqKF6rZ21F1VO353/NIPhaPs9rtp/TNum6wjx8Rly9nqFWr7jn8hlxbhyMxeeVeo3FE39NhbiTJUlxR+TwabP7c889p6uvvlq33367tm3bJmk8ydx666365S9/qePHj+uLX/yiLr744tp1GABQE+RwAGhc5HAAaGzkcQBoXORwALU07U9T3nLLLfrSl76knp7yX1ju2LFDpVJJ//AP/6BisagtW7boPe95T7yWCyfv4slkyq+dvyCIuhvI+6MD706rguy7hKLE/cMG7681J925FI67msriquKuO/fuwXQF/Q4J35lV6QR4Lf/KyPvLZO9OuaFhu42OVj9u9+6zor3P497xF3UM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\n",
|
||
"text/plain": [
|
||
"<Figure size 2304x3888 with 30 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"filenames": {
|
||
"image/png": "/Users/MortenImac/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": "iVBORw0KGgoAAAANSUhEUgAABKUAAANBCAYAAAAxzw1RAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOz9e5ycd33f/b+v65rzYWeP2tVqDzpYkkEmEAMCO8cSDglJcJMa2oSCbWLcNuWmvZNHnOTRJL82d9s0vdM7jZOW1NjBJCQlAQqEGEoOlBxqQk0IENtYkiXt7qykXa32POfDdf3+WGl2r2tmJa20O9ccXs9HiHR9r5nxx56dmb3e8/1+vobjOI4AAAAAAACAJjL9LgAAAAAAAADdh1AKAAAAAAAATUcoBQAAAAAAgKYjlAIAAAAAAEDTEUoBAAAAAACg6QilAAAAAAAA0HSEUgAAAAAAAGi6gN8FtJLl5axs2/G7DHS5gYGEFhczfpcBdDVeh4C/eA0C/uN1CPirU16Dpmmory++7XlCqS1s2yGUQkvg5xDwH69DwF+8BgH/8ToE/NUNr0GW7wEAAAAAAKDpCKUAAAAAAADQdIRSAAAAAAAAaDpCKQAAAAAAADQdoRQAAAAAAACajlAKAAAAAAAATUcoBQAAAAAAgKYjlAIAAAAAAEDTEUoBAAAAAACg6QilAAAAAAAA0HSEUgAAAAAAAGg6QikAAAAAAAA0HaEUAAAAAAAAmo5QCgAAAAAAAE1HKAUAAAAAAICmI5QCAAAAAABA0xFKAQAAAAAAoOkIpQAAAAAAANB0hFIAAAAAAABoOkIpAAAAAAAANB2hFAAAAAAAAJqOUAoAAAAAAABNRygFAAAAAACApiOUAgAAAAAAQNMRSgEAAAAAAKDpWjKU+rmf+zm9613vuqnbptNpve9979PJkyd18uRJPfroo1paWtrjCgEAAAAAAHA7An4X4PWxj31MH/vYx3Ty5Mkb3nZ5eVkPPPCASqWSHn74YVWrVT355JM6deqUPvaxjykUCjWhYgAAAAAAAOxUy4RS1WpVH/jAB/Qbv/EbN32fp556SnNzc/rMZz6jI0eOSJJe+cpX6qGHHtKnPvUpveMd79ircgEAAAAAAHAbWmL5XrFY1A/90A/p13/913XfffdpeHj4pu739NNP6+TJk7VASpLuvfdeHTp0SE8//fRelQsAAAAAAIDb1BIzpYrFojKZjH71V39Vb33rW/WGN7zhhvdZXV1VOp3WW97ylrpzJ06c0Be/+MU9qLS1XVq9rOcuX1TZrvpdCm5D8FxA5XJFkmQ70mxpZ8tQjat/hg1Hw6Fyw9tcKgVVdoy68fqR+vPj4VLDc0vlgLL2reXc+0NlhUynbny9amq5YjWs40b6AxUlLLtuvGgbulwO3vD+jf4ZCauqvkD968t2pAtbnqeA4Shi2oqajqJmVXHLVty0lbCqipm2wqYj42b+JeCb8lpYuWzR7zKw13b1hdiaj2W05L/jjR/HzkWVzVZkmJYMIyDDDMgwNv4u11hg8zZbz/EmCwBAW2iJUCqRSOiP//iPFQjcfDnz8/OS1HBW1dDQkDKZjNbX15VMJnetzlY2t7agD5y+oorifpeCFnK6EN31xzxfjLTFY57d9UfcbY4MOQqoopQyChllBVVWUBWFrv5ZUEimbEVUVEQlxVRQ1MgrrJLCxsZtgirLkk3ItctW/S4A6HIrt3l/p+pI1/5XceTYm39X1XGfr3rGtrlN3X0qN3Gb+u9GgLZx2u8CgC6XHjuggX/0jxW782V+l7KnWiKUMk1TprmzGRbZbFaSFI3WX3SHw2FJUi6X65pQ6tzSvCoK+10GgJtmyJGhskK6on6pfqJYYw1v58iULVO2LNkKqKJerbmCq6AqChllmY6tkEqKGKWNc0ZZoS23Caoi07jZYgCgNRmWIVmbab1fuX0tDLtOcOVsCcKuG4bV3UZS1ZaqknP1T1WuHtvu26vK+zoAtJv87AXN/85TOvTvftnvUvZUS4RSt8K2b/zV006DroGBxK2W47tv1aT+58KsKu37lAK4ZcbVOMpSRVJRYWUVrw+wnG3+3vDRqrJUrQVVIZUVV05ho7wxk8uoeGZ2lRWqG6vIUpVZXAC6lmEakmlIW1aN+xaQNZo9dp0w7GZmmHkfc+uYs1LeGAMA3DLLMjU01NkTbdo2wYjHN5apFYv1PT+ujV27zc1aXMzIttvzwzOqpB6KZvT16bMqV5kr3m7KZkC2YSpULbl+WXVk6FJidHNgB7/JBqslDeavuB7rmoXYPlXMnbz8r93X0f7MpbqzjiGthPuUD263XHD7wh1Jg7nLCtqVunPZYFxr4dQNH6vRq7a3uKxoJV83XjJDWowNbVvP9cTKWaWKq3X/PFuG5rc8T1XTUsUMqGIEZJuWqoYpxzA3noM2SGgcmarIVEVB1b3DOp4/b/hgtiy7ooBdVdAuKWiXFaqUFLKLCleKCtklBatlBe2ygtWSQlf/DLr+LG/ct1qWedP/YGCXtGJLppt9oOa1gNr9xzKuznSyjM1ZT4Grx+bm313nLUOyJCPQEvv4tJxmzx5zSrYqf7Os6ldZEA0AtyI6NqaBf/ROLSys+13KbTFN47oTgNo2lBod3bgAXFhYqDt3+fJl9fT0KBaLNbssXx2667U6dNdr/S4Dt+Av55b1ufQVJQKW7hhI6BU9Mb2st31n7mF7FdtRvlLVWrmi9XJVcqR40FLRtlWq2ipWbRXtjT+/emVNpaqjsmOrYjuqOk77rcAwTFWtkKqWVNTt9zizDClkmgpbpiKW+8+wZSpsmgptGb92241zhsLW1fOmqaBpbNsMeWgo2fa/AADt7HZeg47jSE5VjlORY1/7syLn6pjsiufc1T+v/l212187t/UxKpLn9lv/1JZ/jmNXdPMJfucxQqaC9wwo+ZbXaWDy78sKdNfv5Z2Az0LAX93yGmzbUKqnp0djY2N6/vnn68698MILuuuuu3yoCrg16UxBkpSpVPW1+VWNhXe24x7aR8A0lAwFlAzd+O33u/b3Nxwv27YKVVuFysaf2cpGwJUrV5WtbOwOeKQn1iDocvT1xTWtldt3h86qI+WrtvK7MCPUkBS6GlRFLOtqeGUobFm6O1/U8UhIZhvMbAPgZhiGZARkKCDVb+DaVI5jbwZcTrVBILb1nGesQfhVdxun2iAsq9Y9hhz/3vcLay9p7sXHNXjwHyicGPetDgBAa2rbUEqS3vzmN+u3f/u3dfbsWR05ckSS9Mwzz+j8+fP6sR/7MZ+rA27etVDqmon47u9Gh84RNE0FTVPJ4I1v6/V944NyHEdl29kItqq2CtVq7e/5ykawlS1XlatsHBeqtkq2re8Y6dsSdDm18bNrOa2U6pdftjpHUtF2VLSrdUHd88sZff/4oL5tpM+f4gB0BMMwZVghSf5+2bT97LHNEEvbzh7bCLXqw7JGgdjG7cvFRTnVzQXg1fKa5s98WL2jb1By3z3bzlIFAHSftgml0um0vvrVr+ruu+/W+PjGtyzvfe979elPf1oPPvig3vOe96hYLOqJJ57QiRMndN999/lcMXBzVktlrZY3L+iDpqGRGDspYu8YhqGQZShkmerZhcdbLpa1VqpcJ+Ta+DN/bdbW1TCrbDv67pE+BSxzc/zqrK75fFFLRX+Drr+cWyaUAtARmj17rFJa1ZWpT6iUnd0yamvl4p+qmJ3RwMR9MgO3v6QbAND+2iaUevbZZ/WzP/uz+qVf+qVaKNXf36+PfOQj+qVf+iU99thjikQieuMb36hHH31UoRDLn9AeZjyzpCZTMQVMvkFE++gLB9UX3vm0LdvZaL/f6BvzdKags2s5d9BVsa8u3dv4e/FqsOV1ojehVDjgCsCKVVtrpYqWdzCja61cVbFqK2zRNBkAdiIQSmn46ANaufhnWr/8165z+dXTunTqcQ0evF/h+AGfKgQAtArDcZzu7cDo0c6776F9fXZmQX81v1I7fvOhffruQe+OcwAasR1HxVpwtfG/oUhQiWD9dy7pTEF/emGxbkZXo2DrmnfdMaKX9XX2NrxAK+qW5q7dILd6SovTn5ZTdX8JJ8NU3+iblBg6yXK+FsXrEPBXp7wGO3b3PaBTpLPuX9IO98Z9qgRoP6ZhKBqwFA3ceD3KeCKih47XfytftR0V7Y3G8b/+/LSKW0Kq55ezhFIAcBtiqeMKHX9EV6Y+rlLu4uYJx9byhc+rkJ3RwMQPyrTopwkA3Yg1CYCPKrajC9mia+wQoRTQVJZpKBaw1B8Jajjq7uc2lcn7VBUAdI5AuFfDRx9SYuhk3bn8yjc19+IHVcpd8qEyAIDfCKUAH83li6psWUHbEwyoP0o/NMAvR3rcjXdXShVVWdYNALfNMC31j32vBg+9XYbp/gKgUlrW3Onf0vrCs6KzCAB0F0IpwEfeJufjCaauA356zVCPolsam9uOdClXvM49AAA7Eet9mUbufK+C0RH3Caeq5dnPaXHqf8iu8r4LAN2CUArwUdoTSk0QSgG+6guHdKQn5hpjCR8A7K5guF8jx96jxOBr6s7lVp7X3KkPqpSb86EyAECzEUoBPvI2OZ+IE0oBfpv0hMPThFIAsOsMM6D+8bdq4OAPyzDdrQsqxSXNn/4tZa58leV8ANDhCKUAn2TKFS0Vy7Vj05BG4+Hr3ANAMxxMuvtKTa0XuCgCgD0S77tLI8ffq2Bk2DXuOBUtpf9Ii9Ofkl0t+VQdAGCvEUoBPvHOktofDSto8pIE/DYSCyu8pa9UtlLV4pYAGQCwu4KRAQ0ff4/iA99ady63/HeaO/WESvnLPlQGANhrXAEDPhmLR3T/oWGdHEppfyysSc/sDAD+sAxDR/rirrGptZxP1QBAdzDNoAYmflADk39fhhl0nasUr2j+1BPKLH7dp+oAAHsl4HcBQLdKBgO6e7BHdw/2SBLLg4AWEglYruNvrub0mn29/hQDAF0k3v8tCkX368rUx1UuLNTGHaeipZlPq5iZVt/498n0BFcAgPbETCmgRRiG4XcJAK5aKbiX6814dsoEAOydYHRIw8d+TPH+V9adyy59TfOnnlS5cMWHygAAu41QCgAAj5cPJl3H2UpV6+WKT9UAQPcxrZAGJu9T/8TbZBjuxR3lwmXNnfqgskt/51N1AIDdQigFAIDH0f5E3dj0OrOlAKDZEgOv0vDxH1MgPOAad+yyFqc/qaWZP5Jj86UBALQrQikAADwOpuJ1Y2dpdg4AvghFhzVy/GHF+u6qO5dZ/KrmTv+WysUlHyoDANwuQinAB381t6xvrmSUYTkQ0JJiQUs9QfdykbPrhFIA4BfTCmtg8ofUN/79kuHejKKcn9Pci48rt/yCT9UBAG4Vu+8BTZavVPXZ9GZzzoFwUP/yrklZJo3OgVZyMBnRN5YytePFQlmlqq2Qxfc5AOAHwzCUHHy1wrFRXZn6hCpbZkc5dklXpj6uROa16jvwJhkmlzkA0A74zRposnTW3ZcmaBoEUkALOpSMuY4d1b9+AQDNF4rt18jx9yrW+/K6c5krz2r+9IdUKS77UBkAYKcIpYAmS3u2lh9PRHyqBMD1NHptnqevFAC0BNMKa+DgP1Df2PfVLecr5S/p0qnHlVt50afqAAA3i1AKaDLvTIuJOKEU0IqGoyFZnkmMZ9fz/hQDAKhjGIaSQ6/V8LGHZIV6XeecalFXzv+Blmc/L8eu+lMgAOCGCKWAJrIdp8FMqahP1QC4HsswNBILu8ZmswVVHcenigAAjYRjo9p//BFFU8frzq0vfFnzZ55SpbTS/MIAADdEKAU00WKhrHzVrh1HLFODkaCPFQG4nsOe0LjqSHO5ok/VAAC2YwYiGjz0DvUeeLO8lzil3AXNvfi48qun/SkOALAtQimgibxL98bjEZkGTc6BVtWor9R0hmbnANCKDMNQz77Xa/jYg7KCKdc5u1rQwrmPavnCn8hxWM4HAK2CUApoohmanANtpdHy2nM0OweAlhaOj2nkzkcU6Tlad2798pd0+cxvq1Ja86EyAIAXoRTQRI1mSgFoXalQQPGAe1enmUxeDn2lAKClWYGohg7/I/WOfo8k96z0YjatuVOPK7/2kj/FAQBqCKWAJilV7bpeNMyUAlrfvzgxoaC5eUGTqdhaLlZ8rAgAcDMMw1DP8Ldp39EHZAWTrnN2JaeFs7+nlYtfkOPY2zwCAGCvEUoBTTKbLWjr3IrBSFAxzwwMAK0nEQrUzWqcyuR9qgYAsFORxIRGjj+iSPJI3bm1+b/S5Zd+R9Xyug+VAQAIpYAmYeke0L4mk+7eUtOEUgDQVqxgXENHflSp/X9Pdcv5MtO69OLjKqyf86c4AOhihFJAk3ibnE+wdA9oGwc9r9epdXbgA4B2YxiGUiPfoX13vEtmIOE6Z1eyuvzSR7Ry6Yss5wOAJiKUAppkLu/tJ1W/qxeA1jSRiLq+V18olJQts6U4ALSjSPKg9t/5iMKJQ3Xn1ub+Qpdf+l1VyxkfKgOA7kMoBTTJT9x1UP/85eN62+SQ7h5Majga8rskADcpbJnaHwu7xljCBwDtywomtO+Odyo18l1154qZ81eX8001vzAA6DKEUkCTWKahA/GIXr+vV/cfGpFlGDe+E4CWkM4UtFZy77hHKAUA7c0wTKX2f5f2HfnHMgNx1zm7ktHll35Hq3N/KcdxtnkEAMDtIpQCAOAGQpahTMW9XO/8GqEUAHSCSM9hjdz5iMKJSc8ZR6uX/pcWzv6eqpWcL7UBQKcjlAIA4AaGIiGFTffsxou5okpVmuECQCcIBJPad8e71DP87XXnCutnNffif1MxM+NDZQDQ2QilAAC4AdMwNO7Zgc+WNJtlFz4A6BSGYap39A0aOvKjMi33hjTV8rrmz3xYa/PPsJwPAHYRoRQAADdhLB6pG5vOEEoBQKeJ9tyhkTsfUSg+5jnjaOXin2rh3EdVrbCEGwB2A6EUsMe+srCq3zlzUV+8uKSzazkVWe4DtKWJRKNQiosSAOhEgVBKw0cfUHLfPXXnCmtnNPfi4ypmZ32oDAA6C6EUsMfOrOb0zZWs/vjCop48dUFfWVj1uyQAt6DRTKmp9bxslnEAQEcyDEt9B96kwcP/UKbl/gyollc1f+YprV3+a5bzAcBtIJQC9lja03NmIhHd5pYAWlkiGFBfKOAaK9mO5vMlnyoCADRDLHV8YzlfbNR9wrG1cuGPdeX8x2RXWM4NALeCUArYQ2ulilZKldqxZRjaHwv5WBGA2+Ftdi5tzJYCAHS2QKhXw0cfUnLodXXn8qsv6tKpx1XMXfShMgBob4RSwB6a8TRBHo2FFTB52QHtarxhs3NCKQDoBoZpqW/sLRo89A4ZVth1rlpa0fzpD2l94VmW8wHADnB1DOyh+qV79Re0ANpH45lSBS5AAKCLxHrv1P7jjygU3e8+4VS1PPs5LU59Qna16E9xANBmCKWAPZT2zKBoNMsCQPvYHwvLMtxja2X3Ml0AQOcLhPs0fOwhJQZfW3cut/KC5k59UKXcnA+VAUB7IZQC9kjVdnQh5/6WjJlSQHsLmqb2x8J14yzhA4DuY5gB9Y9/nwYO/gMZprtnaKW4pLnTTypz5W+YTQsA10EoBeyRuXxRZXvzl5Bk0FLKs3MXgPbTaMbj1Dq7LgFAt4r3ndDI8fcqGB12n3CqWko/rcXpT8quslMrADRCKAXsEW8/qfF4RIZhbHNrAO3icE9MBzyzpZgpBQDdLRgZ0PCx9ygxcHfdudzyc5o79YRK+cs+VAYArY1QCtgj3p33WLoHdIYTfQm95/gBbY2Y5/Ml5StV32oCAPjPNIPqn/gBDUz+kAwz6DpXKV7R/KknlFn8mj/FAUCLIpQC9kjaE0qNJ6I+VQJgt0UDlkai7v4h0xmW8AEApHj/KzaW80WGXOOOU9HSzB9qcfrTsu2yT9UBQGshlAL2QLZc1WJx85cNU6pb7gOgvU0m3UHz9DpL+AAAG4KRQQ0ff1jx/lfVncsufV3zp55QubDQ/MIAoMUQSgF7wNtPaiQWVsji5QZ0kknP7Mcp+koBALYwzaAGJt+m/om3yTDcm92UCwuaO/WEskvf8Kk6AGgNXCUDe8CRo9FYuPYCG6efFNBxDibdr+vZbFFl2/apGgBAq0oMvErDxx9WIDzoGnfsshanP6XFmT9iOR+ArsX+9MAeeFlvQi/rTahUtXUhV1SUWVJAx0kGA0oGLK1fbXBedRxdyBZ1MEn/OACAWyi6TyPHH9ZS+mnllv/OdS67+FWVshc0eOh+BSMDPlUIAP7gShnYQyHL1KFkVCP0kwI6zn99IV0LpK6ZZgkfAGAbphXSwOTfV//4D0iG5TpXLsxr7tQHlV1+3qfqAMAfhFIAANwC7+57kjRFs3MAwHUYhqHE4N0aOfZjCoT7Xeccu6TFqU9oKf1ZOXbFpwoBoLkIpQAAuAVjDXrFTWcKsh3Hh2oAAO0kFBvRyPH3KtZ7ou5c5spXNHf6QyoXl3yoDACai1AKAIBbMB6vD6UKVVuX8yUfqgEAtBvTCmvg4A+rb+z76pfz5S9p7sUPKrfyTZ+qA4DmIJQCdlnO02MGQGcaiYYVNI26cfpKAQBulmEYSg69ViPHHlIg1Oc659hFXTn/MS3Pfl6Oze+XADoToRSwiwqVqv7d357Tr3xjSr9/dk5fml+Rw1IeoCNZpqHRBpsYTK8XfKgGANDOQrFRjRx/r6KpO+vOrS98WfNnPqRKcaX5hQHAHiOUAnbRbLYoR9JSsayvL63rywurMoz6mRQAOkOjJXxTzJQCANwCMxDR4KG3q/fAWyTDfZlWyl3UpVOPK7d6yqfqAGBvEEoBu2gm654hMdHgghVA5xhv0Ox8pVTRSrHsQzUAgHZnGIZ69r1Ow0cfkhVKuc451YKunPt9LV/4EzkOy/kAdAZCKWAXpT0zJBpdsALoHI1mSkkbu/ABAHCrwvEDGjn+iKI9x+rOrV/+kubPfFiV0qoPlQHA7iKUAnaJ4zhKe2ZKbXfBCqAzpEIBJYNW3TjNzgEAt8sKRDV4+B+qd/RNktztIErZWc29+Ljyq2f8KQ4AdgmhFLBLFotl5Sp27ThsmtoXDflYEYC9ZhhGw/B5ep1QCgBw+wzDUM/wPRo++qCsYI/rnF3Na+Hcf9fKxT+T49jbPAIAtDZCKWCXpD3LdcYTYZk0OQc6XqNlunP5kgoV+n0AAHZHODGukTsfUaTnjrpza/P/W5df+m1Vyus+VAYAt4dQCtgl3ibn4/GoT5UAaKZGM6Uc1b8nAABwO6xATEOHf0Sp/W+QdzlfMTOjuRf/m/JrZ/0pDgBuEaEUsEvqZ0rRTwroBgfiETWaEznFEj4AwC4zDEOpkW/XvqPvlhVIuM7ZlZwWzv6uVi59keV8ANoGoRSwC0pVW3O5omuMJudAdwhbpr53fFD3Dru37mYHPgDAXokkJjVy5z9RJHmo7tza3F/o8ksfUbWc8aEyANgZQilgF1zIFbX1+6iBcFDxBjtyAehM3zHSp28b7nONpTMFVWzHp4oAAJ3OCsY1dOSdSo18V925YmZKl158XIX18z5UBgA3j1AK2AUs3QPQGwooFQzUjiuOo4s5ZksBAPaOYZhK7f8u7bvjH8sMxF3n7EpGl1/6iFbn/kKOw5ckAFoToRSwC9JZd+8Ylu4B3ccwDE0m3a/9qXVCKQDA3oskD2v/nY8onJj0nHG0eumLWjj7u6qWs77UBgDXQygF3CbHcTTjmSk1wUwpoCtNJty7bk5naHYOAGgOK5jUvjvepZ7h76g7V1g/p7lTj6uQmfGhMgDYHqEUcJscSX9vtF/fOpDUYCSooGloJBr2uywAPjiYrA+lbJZMAACaxDBM9Y7+PQ0d+VGZgZjrXLW8rstnPqy1+f/Ncj4ALSNw45sAuB7TMPT6fb16/b6N42LVlmU22iAeQCfLlCuayxVlGVL16u/6uYqtK4Wy9kVD/hYHAOgq0Z47NHL8ES1OfULFbHrLGUcrF/9MhcyMBibvk+UJrgCg2ZgpBeyysMXLCuhG6UxBHzs/XwukrmEJHwDAD4FQj/YdfUA9++6tO1dYO6O5Fx9XMTvrQ2UAsImrZwAAdsHYNr3kptYJpQAA/jAMU70H3qihw/9IpuVeYl4tr2n+9FNau/wllvMB8A2hFAAAuyAZDKg3VL8qfjrDDnwAAH9FU8c0cucjCsUOeM7YWrnwJ7py/g9kV/gSBUDzEUoBALBLxuP1s6WWimWtlSo+VAMAwKZAKKXhow8qOfT6unP51VO6dOqDKmYv+FAZgG5GKAXchtlMQWfXcipWbb9LAdACxrdZwkdfKQBAKzBMS31jb9bgoXfIsNy7RVdLK5o/8yGtL/wflvMBaBp23wNuw1/NL+sbSxkZkoajIX3f+KCOpuJ+lwXAJ41mSknS1HpBr+hPNrkaAAAai/XeqVB0WFemPqFS7uLmCcfW8uz/VCEzrYG+H/GvQABdg5lSwG1IX+0V40iay5fYeQ/ocqPxsEyjfpyZUgCAVhMI92n46INKDJ2sO5df+aa++eVfl12hLyKAvcUVNHCL1ssVLW/pE2MZ0v5Y+Dr3ANDpgqap/dH694FLuSLLfAEALccwA+of+14NHrxfhhlynSvmFrQ69+c+VQagWxBKAbco7dlRa38srKDJSwrodo36SjmSZpgtBQBoUbG+l2vkzkcUjI64xnMrL9JfCsCe4goauEXeUGo8HvWpEgCtZLu+UtMZlkAAAFpXMNyv4aMPyjA22w5Xy6sq5+d9rApApyOUAm7RTNZ9gTmxza5bALrLdjvwTa0zUwoA0NpMK6RI8rBrLL922qdqAHQDQingFlQdR7OeUGq7C1EA3WUgHFS0waYH6WxBVZslEACA1hZNHXMd51cJpQDsHUIp4BbM50sqb7m4TAQs9YUC17kHgG5hGEbDkLpsO7qUK/pQEQAAN88bSpVyF1Upr/tUDYBORygF3IK0p2HxeCIiw2iwDzyArjR2ta+U5XlbmKLZOQCgxVnBhEKxUddYYfWMT9UA6HSEUsAt8DY5p58UgK1eO5TST7xiUt87Nugap68UAKAdRFPHXce51VM+VQKg0xFKAbfA2+R8u922AHSnVCigwUhIB5PuXTmnMwW21gYAtDzvEr7i+nnZdtmnagB0MkIpYIdylaquFDY/lA1JBwilADQwEgsrZG6u4ctWqlos8ks9AKC1BSP7FIr01Y4dp6LC+jkfKwLQqQilgB3yLt0biYYUbrDTFgBYhqGJhHu2FEv4AACtzjAMpfa93DXGLnwA9gJX0sAOpb1L9zwXnACw1aSn59y0J9gGAKAV9Q7Vh1IsQQew29jDHtih7xzp05GemNKZgtLZvO7oIZQCsD1vXylmSgEA2kGi77AMMyzHLkqS7EpWpdwFheNjPlcGoJMQSgE7FLJMHUpGdSgZldR3w9sD6F5/dmFRZ9dyrrHFYlnr5YqSQT6CAQCtyzQDivYcUW7lhdpYfvU0oRSAXcXyPQAA9siZ1ZymGizXm15nCR8AoPVFU8ddx/SVArDbCKUAANgj44nGO3NOZ1jCBwBofZGeO7Sx1/SGcuGyKsVl/woC0HEIpQAA2CPjcUIpAED7sgJRhRMTrjFmSwHYTYRSAADske1mSl3MFlWq2k2uBgCAnYumjrmOc4RSAHYRoRRwk4pVWx89e0n/e25Z6UxBFZsLSgDX1xsKKB6w6sZtSeksfaUAAK0v2uMOpYqZadlVPsMA7A5CKeAmzWYL+sZSRk+nr+gD30zrv76Q9rskAC3OMAxNbDNbamqdJXwAgNYXjAwoEB7cMmIrv3bWt3oAdBZCKeAmpT07aI3Gwz5VAqCdbN9Xim+ZAQDtwbuEL796yqdKAHQaQingJs14ltqMx6M+VQKgnYxtM1NqJpNX1XGaXA0AADtXF0qtvSTHqfpUDYBOQigF3ATHcepmSm23JAcAthqLh7dspr2pZDuayxWbXg8AADsVjo/JtDa/kHWqBRUztLIAcPsIpYCbsFysKFvZ/DYoZBraFw35WBGAdhGxLA1t837BEj4AQDswDJMlfAD2BKEUcBNmsu6GxGPxiCyj0dwHAKi3XV8pmp0DANpFfSh1Wg7L0AHcJkIp4CZ4l+6Ns3QPwA5st9x3OpPnF3oAQFuIJA9LhlU7rpSWVSle8bEiAJ2AUAq4CTPeflLbzHoAgEbGtnnPWC9XtVQsN7kaAAB2zrTCiiQOusbyq6f9KQZAxyCUAm6gbNu6lHc3I95uNy0AaGQ4GlIiYOlgMqpUKOA6R18pAEC7aLSEDwBuB6EUcAMXs0XZW1bX9IUDSgYD298BADxMw9DPvOqQHrlzTK8e7HGdo68UAKBdeEOpYjatajnrUzUAOgGhFHADM1lPPymW7gG4BebVzREmPTMtpzOEUgCA9hAIpRSMjrjG8msv+VQNgE5AKAXcgLfJ+UQi6lMlADrBRCKqrXt3LhTKypQrvtUDAMBO1C/hO+VTJQA6AaEUcAN1oRQzpQDchrBlan8s7BrzbqYAAECrinlCqcL6WTk2X64AuDWEUsB1FKpVBa3NOQ0Bw9CI52ISAHZq0jPjkiV8AIB2EYzulxVM1o4du6xCZsq/ggC0Nbo1A9cRsSz9xCsOKlepajZb0GqpooBp3PiOALANx3E0GHF//E6tM1MKANAeDMNQtOeYMot/UxvLr55WtOcOH6sC0K4IpYCbEAtYOpaK+10GgDb33FJGn56+rGyl6hq/mCuoVLUVspjADABofdFUfSjljH2fDIMvbwHsDL/9AgDQJPGgVRdISVLVkWazzJYCALSHSPKQDDNYO66W11TOz/lYEYB2RSgFAECTHIiFt/3gnabZOQCgTRhmQJHkYddYfvW0T9UAaGeEUgAANEnIMrfdLIFm5wCAdhJNHXcd5wilANwCQilgG7bj+F0CgA40Fo80HJ/OFHjfAQC0jWjPUddxOX9JldKaT9UAaFeEUsA2PnF+Xr/23LT+x/l5fWVhVZlyxe+SAHSAiUTjUKpYtTWfLzW5GgAAbo0VjCsUH3ON5deYLQVgZwilgG1MZwqaz5f0lStr+h9Tl3WlUPa7JAAdYLuZUpI0tc4SPgBA+4j2HHMd01cKwE4RSgENZMoVLRU3QyjTkEa36QMDADsxGAkqYjX++KWvFACgnURT7lCqsH5edpVZvwBuHqEU0EDaszX7/mhYoW0uIgFgJ0zD0Pg2s6Wm1gty6CsFAGgTwciQAqG+zQGnqsL6Of8KAtB2WuYqO51O633ve59OnjypkydP6tFHH9XS0tIN7/fcc8/poYce0qte9Srdfffd+qf/9J/q3DneCHF70p6t2ce36QEDALdibJv3lLVyRSsl+tcBANqDYRh1s6Xyq6d8qgZAOwr4XYAkLS8v64EHHlCpVNLDDz+sarWqJ598UqdOndLHPvYxhUKhhvc7d+6c3vWudykajerHf/zHJUkf+tCH9KM/+qP69Kc/reHh4Wb+a6CDzHhDqev0gAGAnbree8rUel594WATqwEA4NZFU8e0vvDl2nF+7Ywcx5ZhtMz8BwAtrCVCqaeeekpzc3P6zGc+oyNHjkiSXvnKV+qhhx7Spz71Kb3jHe9oeL8Pf/jDyuVy+t3f/V29/OUvlyS9/vWv19vf/nY99dRT+umf/umm/Tugc9iOo1nP8r3tdssCgFtxvVBqOpPXtw72NLEaAABuXTgxIcMKy6kWJUl2JadS9oLCiXGfKwPQDloivn766ad18uTJWiAlSffee68OHTqkp59+etv7zc7Oqq+vrxZISdK3fMu3qLe3V6dPs/MDbs3lfEkle7OnSyxgqZ9ZCwB2UTy4/fvKlGemJgAArcwwLEV7jrrGWMIH4Gb5Hkqtrq4qnU7rxIkTdedOnDih5557btv7Tk5OanV11dV7amVlRevr69q3b9+e1IvO5126NxGPyDAMn6oB0Km2my11OV9SrlJtcjUAANy6aI+nr9TaGZ8qAdBufA+l5ufnJalh/6ehoSFlMhmtr683vO/DDz+skZER/cRP/IRefPFFnTp1Sj/5kz+pYDCod73rXXtaNzqXd+c9mpwD2Asv74vr9ftSevuhYQ15Zk3NZPI+VQUAwM5Fe45o66VlubCgcvHGm1YBgO89pbLZrCQpGo3WnQuHw5KkXC6nZDJZd350dFT/5J/8E/0//8//o/vuu0+SZFmWHnvsMdeSPmAn6pqcE0oB2AOv6E/qFf0bn23pbEELl1dr56bWC7qzN+FXaQAA7IgZiCqcmFAxM1Uby6+eVnDf6/0rCkBb8D2Usm37hrcxzcYTuv7zf/7P+sAHPqCTJ0/qHe94h6rVqj760Y/qX/7Lf6nHHntMb3jDG3ZUy8AAFwDdLleuaKFQqh0bkl41Maho0GpqHUND9SEsgOZq5uvwFeWy/npLKHWxWOJ9AF2P1wDgv528Du3ct2j21FTtuJo7q6GhN+1BVUD36IbPQt9DqXg8LkkqFot1566NXbvNVmtra3ryySd111136amnnpJlbYQG3//936/7779fP//zP69v//ZvVygUuulaFhczsrc0uEb3ObOadR3vi4aUWckp08QahoaSWlhovGQVQHM0+3XY7/noOb+S08X5VQW3+VIG6HR8FgL+2+nrsGpNuI7Xl89p/tJlmYH6FTEAbqxTPgtN07juBCDff9sdHR2VJC0sLNSdu3z5snp6ehSLxerOTU1NqVQq6Qd+4AdqgZQkBYNB/eAP/qCuXLmic+fO7V3h6Eh1S/eus207AOyWVCio3tDm90RVx9GFbP2XNQAAtKpguF/ByNCWEUf5tbO+1QOgPfgeSvX09GhsbEzPP/983bkXXnhBd911V8P7XZsBVa3W71B0bUngzSwNBLYajoZ1oi+hnqvL9SboJwWgSQ4m3N8kT9PsHADQZqIpzy58q6d8qgRAu/A9lJKkN7/5zfrSl76ks2c3k/RnnnlG58+f11vf+taG9zl69Kj27dunT37yk66lf8ViUZ/61KfU19eno0eP7nnt6Cx39Sf0zjv262dedVg//cqDOtFHnzEAe2u9XNELyxllKxXX+NQ6oRQAoL3UhVLrL8lx6icRAMA1vveUkqT3vve9+vSnP60HH3xQ73nPe1QsFvXEE0/oxIkTtV310um0vvrVr+ruu+/W+Pi4LMvSL/zCL+j973+/7r//ft1///2ybVuf+MQndO7cOf3H//gfFQwGb/BPBraXCvHzA2BvOY6jx56bUbZS/wv7dKYg23FkGoYPlQEAsHOh2AGZgZjsSk6S5FSLKmZmFEke8rkyAK2qJWZK9ff36yMf+YjuvPNOPfbYY/rwhz+sN77xjXriiSdqy/SeffZZPfroo3r22Wdr93vTm96k3/qt31Jvb69+9Vd/Vb/2a7+mnp4ePf7443rb297m178OAAA3xTCMbXvXFaq2LudLDc8BANCKDMNUtMe7hO+0T9UAaAeG4zhsN3cVu++hFXTKLgtAO2vm6/ALF5f0pxcWG567b3JIr9vX25Q6gFbCZyHgv1t9HeZWXtSV839QO7ZCvRp9+f8lg5m/wI50ymdhy+++BwBANxuPh7c9N71e2PYcAACtKJI8LBmbu6NXSysqF+p3WgcAiVAKkCSVbVvpTEEVdmwE0GRj2yzfk6QpduADALQZ0wrV9ZBiCR+A7bREo3PAb+lMQU+cuiDLMDQaC+vlfXF91/5+v8sC0AWiAUtDkZAWCvX9o1ZKFa0Uy+oNs/ECAKB9RFPHVVh7qXacXz2l1Mi3+1gRgFbFTClAUjq7sUSm6jhKZws0FwbQVOOJ6yzhy7CEDwDQXqI9R13HpdwFVcsZn6oB0MoIpQBJM56LvvHE9stpAGC3bbcDnyRNs4QPANBmAqEehaL7XWP5tTM+VQOglRFKoes5jqO0J5SauM4FIgDstuuFUlPrhFIAgPYTTR1zHdNXCkAjhFLoeiulijKVau04aBoajm2/lAYAdttwLKyg2Xir7Pl8Sfkt71EAALQDbyhVWD8n2y77VA2AVkUoha7nXbp3IB6RZTS+OASAvWAZhg5sE4Y7qn+fAgCg1QWjI7KCPbVjxy6ruH7ex4oAtCJCKXS9a03Or2HpHgA/XK+XHX2lAADtxjAMlvABuCFCKXQ9bz8pmpwD8MPY9fpKMVMKANCG6kKptTNyHMenagC0IkIpdLWKbetirugau17DYQDYKxNbAvGgZwnxbKagim03uyQAAG5LJHFQhhmqHVfL6yrlL/lYEYBWQyiFrnYxV1R1y7c1vaGAekIBHysC0K1SoaD+wcF9et+JCf383YeVCm6+F1Ucpy5ABwCg1RlmQJHkYddYfvWUT9UAaEWEUuhq3ubBLN0D4KdXD6U0GgsrYJqaTLrfj6bWWcIHAGg/0dRx13F+9YxPlQBoRYRS6GreflI0OQfQKiYTUdcxzc4BAO0o2nOHpM1l6eX8nCqlVf8KAtBSCKXQ1bw77zFTCkCrOJisD6VsmsMCANqMFYwrHB9zjbELH4BrCKXQtdZKFa2UKrVjyzA0Ggv7WBEAbBqOhhS2Nj+mcxVbVwplHysCAODW1O3CRygF4CpCKXStaMDUg8dG9T2j/TqWiulIT1QBk5cEgNZgGoYm4u6gnCV8AIB25O0rVcicl11lAw8AEtuMoWsFTVPHUnEdS8X9LgUAaubzRT2/nNVspqApT9+7qfW8XjuU8qkyAABuTSA8oEC4X5Xi0saAY6uwdlaxvpf7WxgA3zEtBACAFpLOFPSnFxb14mpWZdvdQ2o6ww58AID2YxiGoj2eJXxrLOEDQCgFAEBLud6GC0vFsta29MIDAKBd1PeVOiPHsX2qBkCrIJQCAKCFDEVCCl+nvx19pQAA7SicmJBpbX7xYlfzKmZnfawIQCsglAIAoIWYhqGxxPY7gU6ts4QPANB+DMNUpOeoayy/esqnagC0CkIpdKWvLKzq2YVVzeWKsh3nxncAgCYaj2+/hI+ZUgCAdlW/hI++UkC3Y/c9dKU/v7SsxWJZkhQ2TT3ysjHtj20/MwEAmul6odSlXFHFqq2wxfdKAID2Eu05oo15ERu9pCrFRZULiwpGBnytC4B/+I0WXSdXqdYCKUkq27YGwkEfKwIAt7HrNDt3JM0wWwoA0IZMK6JIctI1xmwpoLsRSqHrpD1bqo/Ewgox4wBAC0kGA+oLbT+ZeSpDXykAQHuKpo67jvNr9JUCuhlX4ug6M1n3xdz1lskAgF+uN1tqep2ZUgCA9hTtcfeVKmbSqlZyPlUDwG+EUug6ac+yl/HrXPgBgF8mrhOYp7MFVW02aQAAtJ9AuFfByL4tI44Kay/5Vg8AfxFKoavYjqN0pugamyCUAtCCvIG5seXvZdvRxZz7vQwAgHbBLnwAriGUQldZKJRUtO3acdQyaXIOoCXtj4VlbUmivPOipml2DgBoU3Wh1NpLcuyqT9UA8BOhFLqKt8n5eCIiwzC2uTUA+CdomtofC297foq+UgCANhWKHZAZiNeOHbukQmbKv4IA+IZQCl1lxhNKsXQPQCsbi0dkGtKBWFh39SVc56YzBTkOfaUAAO3HMAyW8AGQJG2/3zTQgdLsvAegjbzxwIC+b3xQQdNU1XF0+qtnVbra4DxbqWqxWNZgJORzlQAA7Fw0dUzZxb+tHefXTstxvpdVDECXYaYUukahUtXlfKl2bIhQCkBriwUsBc2Nj2rLMDSRiLrOs4QPANCuIsnDMozNORLV0qrKhcs+VgTAD4RS6Bqz2aKrUfBQJKRIwPKtHgDYqUnPkuNpz5JkAADahWkGFU4eco3lV0/5VA0AvxBKoWvMeJfu0U8KQJs5mGSmFACgc8RSx13H9JUCug+hFLrGYqHkOqbJOYB2Mx6PuD64F4tlrZcrvtUDAMDtiKaOuo5LuYuqltd9qgaAH2h0jq7x9sMjevPYgNKZgtLZgg55ZhwAQKsr2rb6I0FdKZRrY9PrBd3Vn7jOvQAAaE1WMKlQbFSl3MXaWH71jBKDd/tYFYBmIpRCV0mFgkr1B3VXf9LvUgDgptiOo98/N6d0pqCVUv2sqOlMnlAKANC2oqljnlDqNKEU0EVYvgcAQAszDUOXcsWGgZS0EUoBANCuop6+UoX1c7Lt8ja3BtBpCKUAAGhx4/Hte+BdzBZVqtpNrAYAgN0TjOyTFUzVjh2nosL6OR8rAtBMhFIAALQ4726hIdOo/d2WlPbsLgoAQLswDEPR1DHXGLvwAd2DUAoAgBbnnSnleM5PrbOEDwDQvhqFUo7j/bQD0IlodI6ON72e12fTVzSeiGg8HtFkIqLecNDvsgDgpo1EwwoYhipXf0Ev2+5f1OkrBQBoZ5HEQRlmSI5dkiTZlaxKuQsKx8d8rgzAXmOmFDredKagdLagZ+ZX9Pvn5vTHs4t+lwQAO2KZhg7Ew9uen8kUVOUbZQBAmzJMS9GeO1xjLOEDugOhFDpeOuueQeDtzQIA7cC7hC9obPaVKtmO5nLFZpcEAMCuoa8U0J0IpdDRHMfRTMbdAHiCUApAGxrzvHcFLcN1TF8pAEA7i/TcIWnzs61cuKxKccW3egA0B6EUOtpqqaL1crV2HDAMjUS3XwIDAK1qwjNTqlC1XcfTGXbgAwC0LysQUzgx7hrLrzFbCuh0hFLoaDOebdIPxMOyTGObWwNA60qFAkoGrdqxp9e5pjN5dioCALS1aM9x13F+9ZRPlQBoFkIpdLQ0S/cAdAjDMDTmmS21NWNfL1e1VCw3uSoAAHaPt69UITMtu8pMYKCTEUqho3lDKW+jYABoJ95gPWZZrmOW8AEA2lkwMqBAeGBzwLGVXzvrX0EA9hyhFDpWxbZ10bMb1Xgi6lM1AHD7vDOlbLmX69HsHADQ7tiFD+guAb8LAPbKpVxJlS39VVKhgFIhfuQBtK+xeET7IiGNJcIaj0fkONIfzizUzk9nCKUAAO0tmjqm9ctfqh0X1s7IcWwZBvMpgE7EFTo6VjrL0j0AnSVsmfqXr5isHRertj4zs1CbL7VQKCtTrigR5OMdANCewvFxmVZUdnXjixa7WlAxM6NI8qC/hQHYE8TN6FgznhkDNDkH0GnClqn9sbBrbIa+UgCANmYYpqKpo64xlvABnYtQCh2LmVIAusGkp1ceS/gAAO0u2uPpK7V2Wo7jbHNrAO2MUAodab1c0XKxUju2DGk0Hr7OPQCgPR1MugP3qXVmSgEA2luk54hkbO4wWykuqVJc9LEiAHuFUAodqVi1dSwVU9Ta+BHfHwsraPLjDqDzeGdKXcwVVKraPlUDAMDtM62wIolJ11h+9ZRP1QDYS3RCRUcajIT04LEDchxHi8Wy8hUu0AB0lkKlqtlsUTPZgpJBS+vlqiSp6kiz2YIO98R8rhAAgFsXTR1XYf1c7Ti/elo9w9/mY0UA9gKhFDqaYRgajIT8LgMAdtVfzi3rf6av1HbdG4oEa6GUJE1nCKUAAO0tmjqm5dnP1Y6L2VlVy1lZwbiPVQHYbaxnAgCgzQyEg9ra7rViu5u/0uwcANDuAqGUgtHhLSOO8msv+VYPgL1BKAUAQJsZT7ibm6+VK67j6UxBNrsUAQDaXDRVvwsfgM5CKAUAQJtJBgPqDW2uwK86UtgyasfFqq25fMmP0gAA2DXR1HHXcWHtJTl2ZZtbA2hHhFLoOKulCjMEAHS8sbh7tlRvKOg6nl5nCR8AoL2FovtlBRK1Y8cuq5CZ8q8gALuOUAod58lTs/rFr57VEy/O6o9nryhXqd74TgDQZrxL+EwZruMp+koBANqcYRj1S/hWWcIHdBJCKXSUXKWqK4WySrajc+t5/fmlZVmGceM7AkCbmfDMlMpWPH2l1vNymDUKAGhzjUIpPt+AzkEohY4ymy24jkeiIYUtfswBdJ7ReFjmlsx9rVyVJffxSom+GwCA9hZOHpJhbOmjWF5TOT/nY0UAdhNX6+goMxl3KOVd3gIAnSJomhqJhl1jg9GQ63iKvlIAgDZnmkFFeo64xljCB3QOQil0lHRdKBX1qRIA2HvjniV8Ec/M0Gn6SgEAOgB9pYDORSiFjmE7jtKe5XveCzYA6CTe2aBl291jY8oT1AMA0I6iPUddx6X8JVVKaz5VA2A3EUqhY1wplFWo2rXjiGVqMBK8zj0AoL15g/fFYtl1fDlfYgdSAEDbs4IJhWIHXGP5tTM+VQNgNxFKoWOkPctUxuMRmey8B6CDDUSCriV7xaqtobA7jJ9hCR8AoANEU8ddx/nVUz5VAmA3EUqhY8x4l+7R5BxAhzMNwzVbyjSkPs8M0al1lvABANqft69UYf287GrJp2oA7JbAjW8CtAdvk/MJQikAXeA1Qz06moppPB7RaDysF5azOr2aq52n2TkAoBMEI0OyQr2qllY2BpyqCuvnFOu909e6ANweZkqhIxSrtubz7m9KaHIOoBu8oj+pbx/p02QyqqBp6mDS/d43my2qbNvb3BsAgPZgGIZidUv42IUPaHeEUugIs9mCtu45NRQJKhqwfKsHAPySCgXVG9qcCF11HF3IFn2sCACA3RFNuXfhy6+dluPwxQvQzgil0BG8S/foJwWgmx1MRl3HLOEDAHSCcGJShhWuHduVnEq5Cz5WBOB2EUqhI9Q1OY9Ht7klAHS+yYT7PXBqnVAKAND+DMNSNHmHa4wlfEB7I5RCR3j9vpS+Y6RPBxMRBU2DJucAupq3r9R0piDbcba5NQAA7cO7Cx+hFNDe2H0PHeFYKq5jqbgkqWo7MgyfCwKAJrIdR+lMQensxv9WixVFLVP56kafjULV1uV8SSOx8A0eCQCA1hbtuUOSIV3tKFsuLKhcXFIw3O9rXQBuDTOl0HEs05BJKgWgi9iO9OSpC/ps+or+bimjmWxBo54Aaoq+UgCADmAGogonJlxjzJYC2hehFAAAbS5gGtrvCaGSIfcOpNPr7t57AAC0q2jquOuYUApoX4RSAAB0AO+uo94WUuzABwDoFN6+UsXMtOwKn3NAOyKUAgCgA4zH3aHUaqmiwJalzCulilaK5WaXBQDArguG+xWIDG4ZcZRfO+tbPQBuHaEU2tpioaSvL65rqViWw85SALqYd6bUxVxRo7GQa2w6wxI+AEBniPV4duFbYwkf0I7YfQ9t7YWVrD6XviJJigcsfef+Pn3HSJ/PVQFA8/WFAooHLGUrVUlSyXY0FAlpJlus3WYqk9crB5J+lQgAwK6Jpo5r7fIzteP82hk5TlWGYV3nXgBaDTOl0NbSW771z1aqsth1D0CXMgyjbrZU0HJ/zE+v028DANAZQvEDMgOx2rFTLaqYmfGxIgC3glAKbS3tWYri7akCAN3E+x5YqNiu4/l8SfmrM6kAAGhnhmEq2nPUNcYufED7IZRC21otlbVartSOA0b9lugA0E28odTFfFHD0c2+Uo6kGfpKAQA6RDR13HWcWz1Fn1mgzRBKoW15Z0mNxsIKmCzfA9C9xuJhbX0XXMiXNBZzB1XTGZbwAQA6QyR5WNrSQ6paWlG5sOBjRQB2ilAKbSuddYdSEwmW7gHobpGApaGIe2ZUIuT+qJ9iphQAoEOYVkiR5CHXGEv4gPZCKIW25V2C4m3wCwDdyPteaHtWMcxmCqrY7l5TAAC0q2jqmOs4v0YoBbQTQim0pYrt6MKWbc4lmpwDgCSNed4LF/IlpYKB2nHFcXQxV/TeDQCAthTtcYdSpeysquWsT9UA2ClCKbSluXxRlS1NDHuCllKhwHXuAQDdYetS5qFIUIORkCaT7qBqap0lfACAzhAI9SgY3e8ay6+d8akaADvFVTzakrfJ+XgiIsOgyTkA7IuG9NCxUY3FI4oGNpq//vXlFX1jKVO7zUaz8z6fKgQAYHfFUse0mr9UO86vnlJi4FX+FQTgpjFTCm2pLpSKR32qBABai2UYOpqK1wIpSZpMuN8jpzN52WyZDQDoEN6+UoX1c3Lsik/VANgJQim0pRl23gOAmzYcDSlibX7k5yq2rhTKPlYEAMDuCUZHZAWTtWPHLquwft7HigDcLEIptJ1MuaKl4ubFlGlIo7GwjxUBQGszDaMuvN9YwgcAQPszDEPR1HHXWH6VXfiAdkAohbYz69l1b380rJDFjzIAXM9BzxK+qXVCKQBA54j2HHUd59dOy2GpOtDyaHSOtnM8FdNPvGJS6UxBM5mC+sJBv0sCgJZWqFS13zOjdIqZUgCADhJJHpJhBuXYGysqquV1lfOXFIqN+lwZgOshlELbMQxDg5GQBiMhfetgj9/lAEBLOrOa1TeWMkpnCloolPR944OyDKl69Uvj5WJFq6WKUiF+FQAAtD/DDCiSPKL86ou1sdzqaUIpoMWx5gkAgA50KVfS31xZ0+VCSY6ki7miDsToKwUA6FzeXfjoKwW0PkIpAAA60LinsXk6U9Bk0t1Xapq+UgCADuLtK1XOz6lSWvWpGgA3g1AKAIAOdCAWdn3ILxbL2h8NuW4znSk0tygAAPaQFYwrFB9zjTFbCmhthFIAAHSgkGVq2NPc3DAM1/GlXFGFarWZZQEAsKdiqeOuY0IpoLURSqGtfPz8nD4/e0XfXMkoU674XQ4AtLTxuDuUWiiUNBTZnC3laGNZHwAAncLbV6qQmZJdLfpUDYAbIZRC28hXqvrqlXX9+aVl/c6ZS/qlr51XsWr7XRYAtKzxhLuHVDpT0MGku9fUFKEUAKCDBMKDCoT6Ngecqgrr5/wrCMB1EUqhbcxm3RdO+6IhhS1+hAFgO+NxdwA1my1owjNGs3MAQCcxDINd+IA2whU92saM59t878UWAMBtMBJUZEt4n6/aSoWCrtukswVVbafZpQEAsGeiDfpKOQ4rLIBWRCiFtpH2zJSaSBBKAcD1mIahMU9fqbVSWcmgVTsu244u5ui1AQDoHOHEuAxr81rBruZVzM76WBGA7RBKoS04jlPXjHecUAoAbmg87ukrlStq0tNrajrDEj4AQOcwDEvRnjtcYyzhA1oToRTawmKxrPyWpuZhy3TtIAUAaGw84Z4ptdHs3B1KTdFXCgDQYRot4QPQegil0BYa9ZMyDcOnagCgfYx5+u/N5Ys6EHOH+tOZghyHvlIAgM4R7TmirZe7leIVlQuL/hUEoCFCKbSFulCKpXsAcFMSwYD6w5vNzW1HqjpS2Nz8FSBbqWqxWPajPAAA9oRpRRROTLrG8mvMlgJaDaEU2kJdk3N23gOAmzYWD6s3FNBdfQm9dXxQA5Fg3WYRLOEDAHSaWOqY65glfEDrCfhdAHAjpaqtOc/OUMyUAoCbd/+hYQVM9/dQk8mIzqzlasfTmYJeM5RqdmkAAOyZaOqYli98vnZczMyoWsnLCkSvcy8AzcRMKbS82WxBWzudDISDigWsbW8PAHDzBlKS6nbgY6YUAKDTBMJ9Ckb2bRlxVFh7ybd6ANQjlELLq1u6xywpALhtGxtGbB4vFstaL1f8KwgAgD0QrVvCd8qnSgA0QiiFlpemyTkA7LqQZWo0FnaNTTNbCgDQYepCqbWX5NhVn6oB4EUohZZnGoaCW77OH6fJOQDsioOeJXzTni8BAABod6HYAZmBeO3YsUsqZqZ9rAjAVjQ6R8v70Tv2q2o7ms8XNZMtaCQavvGdAAANlW1bl3JFrZYqmkxG9VfzK7Vz9JUCAHQawzAU7Tmq7NLXamO5tdOK9Bz2rygANYRSaAuWaWg0HtEos6QA4JbkK1X91qkLmssXVXWkkGnoJ14x6brNpVxRxaqtsMVEagBA54imjrtCqfzqaTkH3iLDMLa/E4CmaJnfOtPptN73vvfp5MmTOnnypB599FEtLS3d8H5LS0v6uZ/7Od177726++679a53vUtf+9rX9r5gAADaSMQytVyqqHp1O9OS7ShXsTUYCdZuY6t+cwkAANpdJHlIhrE5H6NaWlG5cNnHigBc0xKh1PLysh544AF97Wtf08MPP6yHHnpIX/jCF/TQQw+pVCpte79MJqN3vvOd+tznPqcf+ZEf0b/4F/9C8/PzeuCBB3T69Okm/hsAANDaDMPQeNy9/DmdLWjS21eKJXwAgA5jWiGFk4dcY/lVrheBVtASy/eeeuopzc3N6TOf+YyOHDkiSXrlK1+phx56SJ/61Kf0jne8o+H9PvjBD+r8+fP6nd/5Hb32ta+VJL31rW/VG9/4Rj3xxBP6j//xPzbt3wEAgFY3nojo1GqudpzOFHQwEdHfXFmrjU1nCKUAAJ0nljqmwtqZ2nF+9bRSI9/hY0UApBaZKfX000/r5MmTtUBKku69914dOnRITz/9dMP7OI6jT37yk/ru7/7uWiAlSUNDQ3r00Uf1mte8Zs/rxt6q2o4cx/G7DADoGN7dS2ezBU0m3TOlZjIFVXnvBQB0mEjqmOu4lLugajnjUzUArvE9lFpdXVU6ndaJEyfqzp04cULPPfdcw/vNzs5qfn5e9957r6SNkCqbzUqS3vnOd247uwrt468vr+jff+28fvvMRX3x4pLmckW/SwKAtjbmCaXm8yUlApbiAas2VrId3m8BAB0nEEwqFBt1jbGED/Cf76HU/Py8JGl4eLju3NDQkDKZjNbX1+vOTU9PS5IGBgb0y7/8y3rNa16ju+++W29605v0hS98YW+LRlPMZAvKVqp6cSWrP76wqLNruRvfCQCwrWjA0tCWxuaOpAu5og4m3WHVFH2lAAAdKOqZLZVfI5QC/OZ7KHVtdlM0Gq07Fw5vNGTN5erDiLW1jf4Xv/Zrv6Y///M/17/6V/9Kv/zLv6xIJKJ//s//uZ555pk9rBrNkM64d4AaT0S2uSUA4GY1XMLnbXaeYQc+AEDnifa4Q6nC2jnZdtmnagBILdDo3LbtG97GNOuzs2u78q2trenzn/+8UqmUJOkNb3iD3vSmN+k//af/VFvad7MGBhI7uj32zkqhrJVSpXYcMA19y8SggpbvOWpTDA0l/S4B6Hqd+jp8Wa6gry5uzkCeL1f01iMj+mz6Sm0snStocDAhwzD8KBGQ1LmvQaCddNrr0HESWpzuVbmwcvW4orAxp96hl/tbGLCNTnsNNuJ7KBWPxyVJxWJ9/4prY9dus1UsFpMkvfnNb64FUpLU09OjN7zhDfrkJz+pbDbb8L7bWVzMyLZp7toKXlh2Nx3cHw1rZSnrUzXNNTSU1MJC/ZJVAM3Tya/DXs/H3NmljCIHKgqahspXPwNXixWdml3SQCTkQ4VAZ78GgXbRqa/DcOKoyoVna8dz6a+rbIz7WBHQWKe8Bk3TuO4EIN+nnYyObjSbW1hYqDt3+fJl9fT01AKora71oOrv768719/fL8dxGi77Q3uYYekeAOyJkWhYgS0zoNbLVWUq1bplfSzhAwB0orq+Uqun2fEb8JHvoVRPT4/Gxsb0/PPP15174YUXdNdddzW839GjRxUKhfTSSy/VnZudnVU4HG4YWKE9zGQ9oVScUAoAdoNlGjoQD7vG0tmCDibdfaVodg4A6ESRxKQMc3MmsF3JqJS76GNFQHfzPZSSNpbgfelLX9LZs2drY88884zOnz+vt771rQ3vE4vF9IY3vEFf/OIXdebMmdp4Op3WF77wBX3P93yPLMtqeF+0tqrj6IInlJpgphQA7Bpv0J/OFHSwrtk5oRQAoPMYZkCRniOusfwqu/ABfmmJUOq9732vUqmUHnzwQX3oQx/Sb/7mb+r973+/Tpw4ofvuu0/SRtj06U9/Wul0una/n/qpn1IymdS73/1ufeADH9ATTzyhd77znYpEIvqJn/gJv/51cJvmc8VaXxNJSgYt9YZ8b38GAB3DuyQ6nS1oPBFx/VKwUCgrU64IAIBOE0sddx0TSgH+aYlQqr+/Xx/5yEd055136rHHHtOHP/xhvfGNb9QTTzyhUGhjauWzzz6rRx99VM8+u9mUbmxsTH/wB3+g1772tXryySf1gQ98QC972cv00Y9+VOPjNKtrV42W7rEDFADsnolERMdTMb3xQL8eOjaqdx8dVdgytT/mXtbn7e8HAEAniPTcIWnz+qJcmFeltOJbPUA3Mxy6utWw+15r+Ni5Of3tlu3K3zI2oO/a3z39wTpllwWgnXXr6/CPZhb0zPxK7fg7Rnr1feND/hWErtWtr0GglXT663D+9FMqZmdqx31j36vk0EkfKwLcOuU12PK77wFedTvv0eQcAJpi0rOsb2qdmVIAgM7UaBc+AM1HKIWWkqtUtVgs145NSWOEUgDQFJOeZucXcgWVqrZP1QAAsHe8oVQhMyW7WvSpGqB7EUqhpaQ9s6RGYmGFLH5MAaAZekIB9YeDtWPbkWazzJYCAHSeYGRQgfDA5oBjq7B2dvs7ANgTXO2jpSRDAb1+X0oHYmGZYukeADTbQe8SPpqdAwA6lHe2VG71lE+VAN0r4HcBwFajsbDeNrlPklSq2irZLBsBgL1SdRxdzpeUzhSUzhb0msEeTSaj+uqWzSam1/M+VggAwN6Jpo5p/fKXaseFtTNyHFuGwdwNoFkIpdCyQpbJ0j0A2EOfmV7Q/1lYrR33hgJ6RX/SdZuZTEG248g0DO/dAQBoa+H4uEwrKru68QWMXS2omE0rkpj0uTKge3DFDwBAlxqLh13Hs9mChiJBxQKbvx4UbVtz+VKzSwMAYM8ZhqlIzx2usTxL+ICmIpQCAKBLeXc3TV9tau7dhY8lfACAThVLHXcd51dP+1QJ0J0IpQAA6FL7oiGFzM1lebmKraViWQc9odRUhlAKANCZIj1HpC09pCrFJZULV3ysCOguhFJoGS+t5rRervhdBgB0DdMwGs6Wmky6x6bX83Icp5mlAQDQFKYVViRx0DXGbCmgeWh0jpZQqFb1odMX5EjqCwc0EY/q7YeHaawLAHtsPBHRuS3L89KZgu7qSypgGKpcDaLWylWtlCrqCwf9KhMAgD0TTR1TYf1c7Ti/elo9w/f6WBHQPZgphZYwmy3q2nfwy8WKLuWKBFIA0ATjDWZKBUxD4wn3+BR9pQAAHSqaOuY6LmbTqlZyPlUDdBdCKbSEdKbgOvZeDAEA9ob3/fZSrqiybWvSMz5NXykAQIcKhHoVjAxvGXGUXz3jWz1ANyGUQkvwhlIThFIA0BTJYEC9oc3V/FVnI5g6mPQ2Oy947woAQMfwzpbKr9FXCmgGQin4znEczWQ9M6XihFIA0Cx1S/gyBU0kItq6iPpyvqRcpdrcwgAAaBJvKFVYOyvHZhMmYK8RSsF3S8Wy60InZBraFw35WBEAdBfvEr50tqCIZWkkFnaNz7CEDwDQoUKxUZmBRO3YsUsqZKb8KwjoEoRS8N2MZ0nIWDxCk3MAaKJGzc4l1fWVmlpnCR8AoDMZhlG/hI++UsCeI5SC79JZ+kkBgJ9G42GZW74LWC5WlClXdDDh7itFs3MAQCeL1YVSp+Q4zja3BrAbCKXgO5qcA4C/gqap/dHNpXq9oYBWSxVNJt3vx7PZjZ35AADoROHkIRnGls0/ymsq5+d9rAjofIEb3wTYO6WqrUv5omtsjCbnANB0f2+0X9LGe3DPlt34+kIBLZc2Gr1WHUez2aIOeXbmAwCgE5hmUJGew8qvbu68l187rVBsxMeqgM7GTCn46mKuKHvLjNj+cFCJIFkpADTby/sSenlfwhVISdKkJ4CaXmcJHwCgc0VTx13HWwMqALuPUAq+qlu6xywpAGgpk/SVAgB0kWjPUddxKXdRlfK6T9UAnY9QCr6a8TQ5925LDgDw10FPX6npTEE2TV8BAB3KCiYUih1wjRWYLQXsGUIp+Mo7U4pQCgBay1AkpKi1+etCoWrrcr7kY0UAAOytqGcXvhyhFLBnCKXgG8dx9MCxUd03OaS7B5IaiYY0smX3JwCAv2zHkWkYdUv4pljCBwDoYN5QqrB+TnaVL2SAvUBHafjGMAztj4W1PxbW6/b5XQ0AoFi19c2VjGYyBc1eXV794y+f0GQyohdXs7XbTa8X9HretwEAHSoY2Scr1KtqaWVjwKmqsH5esd7j170fgJ0jlAIAAJKkquPoD87N144NSaWqrYM0OwcAdBHDMBRNHVNm4f/UxvKrpwilgD1gOA7dSq9ZXMzIttv7P8f6wrNafOEPb+m+xjdNTf7Tf1M3XshMa/7rT8mpVHb8mNXn1nTkn/9a3bhdyWv2b/4/2YVCg3tdn3OpoP2v/+eKHDxYd+7Cs/9Z5dzijh9TRVu94Tep97u+u+7UwgsfVXbh+Z0/pqTIxQmN/Mh768Z5nnieeJ52rpnPUySwoFNf/K+39jw9f53n6Su38Tzds93z9GsqZ6/s+DFVtNUbqX+e/tM3prRYLNeOfzD3P7XfvnzTDxu5NKGRH23wPF35ihb/7lM7r1OS8aKlyX/W6PU0o/m//ZCccrnBvbZw6v9efWFNR97/WN1N7WpBF778q6pmMpv3a/SrkuP5U5J9uajR7/6/Gj5PF//PB1Scn/E8hrNtfTUlW33Db234elp88Y+09vxfNqjJ8yANHj9aOaaRdz5c95j51dOa++wHa7er3XXrY3prvHpsLcU1+S/qn6dy4YouPv0bqmbWG/x3a/C4jiTbkVO05SwUdce/+c26x5Sk+d/+kFb/4s8bnruRiZ/71w2fp5U//6Iu/85Tt/SY+971YMPnqTA1pZl/+69v6TFT3/ldGn73Qw3PnX74wVt6zPDEpCZ/of55kqTpX/z/qTgzfUuPe+yJpxqO8zw9eEuPyfPE89QIz9ODt/SY7fo8DQ0ltbDQ/js/mqahgYHEtueZKdVh7GpRZk/wlu7rWNXG43ZFRsyQoZ0/rh1u3LbMkSOFqjJDO3/M6sr2Fx+2eWv//k6hKm2zTNy2C7f831QXt3lMnieeJ56nnWvm81Qty4jvwfMUrsoM38LztHq956kgM7V7z9N4IuIKpS4nRnTAXL75B55rPGxXCjJ7QzuscoMT2O71VJaRMGRo549rx6zGj+nYcqJlmbfQ49Cp2Nueq1prssai257f9jGv83qqVK7IOhzf8WNKkl5s/CVcKT8v687kLT2k85XGz1OltCrjsKmAUjt+zMpza43/WY6j4ssuKDQxLhWqckq2VLTlFG2pYMspVjePi57j0vbPEwAAaC5CKQAAUDMej+hri5vfyl12Bnysps2092TrPXQb/2GK2wWSRSlgbwSyOwxl7Uvbz1YshmZlvbp3I+gq2vXBVsmWyLQAANg1hFLwxanVvE7ZL9ewFrXPWFTI2PkSGQDA7htPRFzHhFI+6/Kgyyk2ToDsys6XwdYe8zozpUqhCwq+vv/G9/fMvnKy2/8eU7VzUtTaCNgItAAAcKGn1Bad0FPKrhRkV2+tAa0ZiMu06pdA2HZZdjlzS49pWBFZgfrlCr9/9pK+vrTxmIak+8YSurs/Une7ho9pBmUFG69JrZRWJecWfuMzDAVCvQ1PVcsZOfYN+pVswwr1yDDql4hc73nq709oaWn7/97NfJ4cx1a1tHprj9nhz9ON8Dz1NjzVLs/TQH9Y85e2WYd2A9d7nirXdvHZ6WOaQQWCjZdUVYorcm7hSteQoUC4r/7xbEe/+NWXVNnycfgTd/YqbEr/9YW067Y//vJxRSz3csVAuLfh81St5GVXcjuuU5KsYEKmVb+czq6WVC03Xt61ybn6f+7GSlYg3vBn33FslfPzqt3DadCQacvjXvu7I8m0IgpFG29LWMyk5TiVzcdoUJMa/fMMS9GeI40fMzurau39pP7+dY/vbN4umjre8Ge/lJ9XKXepvi7XYzvu/3+tT1XPkcY/U6UV5VdOue7VqKatjx2NWsqsrSqaOq5I8mB9nblLmjv1wbrxmxHru0uDB3+44bn01/+DHHvn275bwaQO3PV/Nzx3+ex/V2HtjCTJMAIyA1GZVuTq/6IyAxEZW4+tiMzAxt/DsQMyzMZLTYG91in9bG5HtZLXhb/7FW19nxp9+f/V8L0O2G2d8hqkp1SXMQMbv8js6mOaQZm7/MY7k938htORNJzoVSC8814bXoHQzvtV3Mh2F+y343rPUziWVCC78/4we/E8GYa5Jx+6nfA83fJj8jzt+mPuyfNkhXb9v6lhmAqGrz8D41YEwr27+3imodF4RDOZzffpuXJEd/UnFY3mNJffvGC/WI7pePzmehpZgWjDsO52mFZIpjW4q49pGKZCsf27+piSFE6M7/5jxsd2/TFD0WGFosO7+piBUK+S+163o/vc6BfxYHRYB+76SdnVvOxqQXbl6p+1/+WvBtaFLbfZODatxj+HjmPfUiAladvHlCSnuuV3Hqeianld1fLNXWQceMVPyTLrHztz5W+UWz3lCbG2hFpWZEv4FZVhBmUYxs7/xYAuZwWiCicmVMxsNsLOrZ5Wzw7f0wBsj1AKTbdermi5uDnN3TKk0fjOG8oCAPbGuCeUSmeLuqs/qclE1BVKTWfyOt57i422gdtgGKasYFxWcOc/f9suEnBspfa/4brB1taAaSvT2j4Yt7e5z81oNENQ2pjRVlh7aSePVAuuBg/+sEKx0bpbVIrLKuXn6mdxmWECLXS1aOqYK5TKr54ilAJ2EaEUmm424/7lbH8srKDZeLcqAEDzjcfdF9jpzMbyyMlkRF9e2FwqOpW59YttwC/bBSyGGVBq5Nuve1/HceRUi5uzr64GV8Y24ZGkWsCzEU7dfJsIwwrLMBr/fmRXdrpk2ZZdyV1dQtv4MfPrZ7Wc/myjSmRa4bqlhVtnZEV6jm67dBVod9GeY1q58Ce142JmZmNH2V2epQ10K0IpNN3WpXtS/cUPAMBf3mbnF3JFVR1HBxPuZUSzmYIqtq0AXyygSxiGIWOHS4aHjz0k6WqgZZcaLDfM13rj2VsCL8PY/tf025p9tc0y2u2bxzu1WrczEEwSSqFjBSMDCoQHVSleuTpiK7/+kuJ9d/laF9ApCKXQdGnPN+veix8AgL96QwElApYylaokqWw7ms+XNBoLKxUKaLW0sQS74ji6mCtqIrG7vaKATmQYhgwrvLEk7zZ79vWOfo8q5ddsCbMKrrDL8R47m20TtltqeHvLDLf/XS679HfbNtYH2kU0dUzrl6/UjvOrpwmlgF1CKIWmqjqOZj0zpSbiXMwAQCsxDEPjiYi+uZKtjaUzeY3GwppMRPSNLTuETq3nCaWAJgvFRhTSyE3f3rErmzOwzMbhUDAyqGjqmKspvF3N39SOqduFUrmVb2px+pMKhAc1eOh+ZlOhbcVSx7R++ZnacX7tJTlOteFuswB2hlAKTXU5X1LJ3uynEA9Y6gvzYwgArWY87gmlsgW9TtLBZNQdSmUK+k4f6gNw8wwzIMtMygomt71NYuBVSgy8qm7csavuXQxrodVmXy0r1Ft3v3JxSYvTfyhJqhSvaP7UE+ob/34lBl65W/9aQNOE4mMyA7Grfdk2dtUsZmYUSR7yuTKg/ZEGoKlmPEv3JhIRdnQBgBZ0bWl1LGBqPB6pzWqd9MyKml7Py3YcmbyXAx3JMC1Z5s53Oly99EU5drF27DgVLc18WsXMtPrGv0+mGdztUoE9Yximoj1HlV36em0sv3qaUArYBYRSaKp01r1bDE3OAaA1TSQi+slXTKo/HHR9eTAcDSlimSpUbUlSvmproVDScHT73ccAdJ/+8R+QYViui3hJyi59TaXcRQ0eul/ByKBP1QE7F00dqwuleg+8mS/YgdvEdjloKpqcA0B7CJqmBiKhul+2TcPQhOe9e3r91hskA+hMphXSwOR96p94W91OguXCZc2d+qCyS3/nU3XAzkWSR6QtPaQqpWVVCleucw8AN4NQCk2Tr1S1UNhslmlIGmOmFAC0nYPeJXyZ/Da3BNDtEgOv0vDxH1MgPOAad+yyFqc/qaWZp+XYlW3uDbQO0wopkjjoGsuvnfanGKCDEEqhadKeXfeGoyGFLX4EAaDdTCbdodQUoRSA6whFhzVy/GHF+u6qO5dZ/BvNnf4tlYtLPlQG7Ew0ddx1nFs95VMlQOcgEUDTLBfLMresAmHpHgC0p7F4WNaW9/PlYkWrJWY6ANieaYU1MPlD6hv/ftcSKEkq5+c09+Ljyi2/4FN1wM2Jpo66jkvZWVXL2W1uDeBm0OgcTfO6fb26e7BHF7JFpTMFjcZpigsA7cJ2HM3nS+oNBRQNWDoQi2hmywzY6Uxe39K//XbzAGAYhpKDr1Y4NqorU59QZcvsKMcu6cr0/9Bo/IACoZSPVQLbC4RSCkZHVM7P1cbya2eUGHiVf0UBbY5QCk0VNE0dTEZ10LP0AwDQmp5dWNXXFtd1IVtQyXb0Dw+P6JUDSU0mo+5Qap1QCsDNCcX2a+T4w1qc+YzyK9+sjfeNvolACi0vmjrmDqVWTxNKAbeB5XsAAGBbi4Wyzq/nVbIdSZv9AQ96d+DLsAMfgJtnWhENHrxffWPfKxmmor0vU2LopN9lATcUSx1zHRfWz9KsH7gNzJQCAADb8vb/S18NnyY8O/BdyhVVqFYVsdy9YgBgO4ZhKDl0UuH4mALhfhmGceM7AT4LRvfLCiZVLa9L2thJsrB+vq7fFICbw0wpAACwrfG4O5S6mCuqYtuKBy0NRUK1cUebgRUA7EQoNirTarwBjmNXtDTztCql1SZXBTRmGIaiPe7ZUvm10z5VA7Q/QikAALCtnlBAqdDmxOqq4+hSriRJOph0X0ROEUoB2GXLF/5EmcW/0dyLjyu/esbvcgBJG32ltsqvnpbjOD5VA7Q3QinsuWLV1q98Y0ofPXtJ/3tumW/SAaDNeGdLbfaVci/hm17PN60mAJ0vt/yCMleelSTZ1bwWzv13rVz8MzmO7XNl6HaR5CEZZrB2XC2vu5qfA7h5hFLYc7PZgpaKZX1jKaOn01f08fO8YQNAO6kLpa5+uTDp2Uk1nS2oavNNMYDdkduyM981a/P/W5df+m1VrvbzAfxgmAFFkoddY7nVUz5VA7Q3QinsOe/MKG/TXABAaxvzNju/OlOqLxRQT3CzsXnZdnQxV2xqbQA618DBH1Zq/xskuRugFzMzmnvxv6mwds6fwgBJ0dRx13F+lb5SwK0glMKeu3bxcs14PLrNLQEArehALOz6hWGpWFa2XJVhGJr0LuHLsIQPwO4wDEOpkW/XvqPvlhVIuM7ZlZwun/2IVi59keV88EW0x73bXjk/p0ppzadqgPa1bSj1uc99Tv/u3/07feITn1ClUnGde+SRR/a8MHQGx3E045kpNcFMKQBoKyHL1Egs7BqbzTZewjdFXykAuyySmNTInf9EkeShunNrc3+hyy/9rqrljA+VoZtZwbhC8THXGLOlgJ1rGEp9+MMf1r/9t/9W2WxWjz/+uH7kR35EKysrtfNf+cpXmlUf2txyqaJspVo7DpmG9kVD17kHAKAVjXn6Ss3Ump27x6czBXYgArDrrGBcQ0feqdTId9WdK2bO69KLj6uwPtX8wtDVoj3eXfjoKwXsVMNQ6vd+7/f05JNP6t//+3+vz372szpx4oQeeOCBWjDFL5u4Wd5+UgfiEVmGsc2tAQCtytsPcPbq+/twLKywufnrRLZS1ZVCuam1AegOhmEqtf+7tO+OfywzEHedsysZXX7pd7Q695dcq6BpYp6+UoXMlOxqyadqgPbUMJRaWFjQnXfeKUmyLEv/+l//a91zzz1697vfreXlZRmECrhJdUv34izdA4B2VLcDX7Yg23FkGUbdsmz6SgHYS5HkYe2/8xGFE5OeM44yi38rx2bDBTRHIDKoQKhvc8CpqrB+1r+CgDbUMJTq7+9XOp12jf3Mz/yMXve61+nd7363qtVqo7sBddJZ94UJO+8BQHsajAQVsTZ/bShUbS1enRE1mXS/t08RSgHYY1YwqX13vEs9w9+xOWhYGjx0v0yL3zfRHIZhKJryLuGjrxSwEw1DqXvuuUef/OQn68b/1b/6V3rd616nYpFvH3BjZdvWJc/W4IRSANCeTMPQkZ6oDiWj+s6RPr3zjv3qCQUkqX4HvvVCo4cAgF1lGKZ6R/+eho78qMxATH0H3qRwbNTvstBl6kKptTPsCAnsQKDR4M///M9vOxvq537u5/Se97xnT4tCZ7iYLaq6ZUl/XzigZLDhjxwAoA28847GF3vj8YhMQ7KvvucvFstaL1d4zwfQFNGeO7T/zn8mMxDb9jaO49CCBHsinJiQYYXlVDe+jLcrOZWyswonJnyuDGgPDWdKhUIhRaPRRqckSaOjfAOBG0tn3d+Ue/uRAAA6Q8gyNRoLu8am11nCB6B5rGB829CpUlzW3KnHVczONrkqdAPDsBTtOeoaYwkfcPMahlLAbqhrcp7YPugEALS3g94lfBmW8AHwn2NXtHD+4yrn5zV/5imtXf4yu/Nh13mX8OXWCKWAm3VTodSf/umf6v3vf7/e85736Dd+4zeUyWTqbuM4jr7yla/oP/yH/7DrRaI9MVMKALrHZNIdSk0xUwpAC1i+8Mcq5y9tHDi2Vi58XlfOf0x2heAcuyeavENbL60rhSsqF5f8KwhoIzds9vDZz35WP/mTP1n7RuGZZ57R5z73OX30ox9VMpnUX//1X+vpp5/WF77wBS0tbbzwfuZnfmZvq0bLq9iOjvRElc4UtFAoK2AY2u9Z2gEA6ByTno0sLuWKKlZthS0mZQPwx0YfKatuPL/6ouZOzWvw0P0Kxfb7UBk6jRmIKJyYUDEzVRvLr55WcN/r/SsKaBM3DKU+9KEPaXBwUL/yK7+iiYkJfeELX9D/+//+v3r88cf1ta99TV/5ylfkOI6Gh4f19re/Xd/93d/dhLLR6gKmofsPjUiS8pWqFgolBUyaSwJAJ3AcR0vFstLZgiq2o9cMpZQIBjQYCepKoSxJsrUxY/aOnu0bDwPAXjIMQ31jb1E4MaHFmT+sNaKWpEppWXOnf0t9B96ixOCraYKO2xZNHfeEUqfUQygF3NANQ6nz58/rkUce0ete9zpJ0jvf+U5ls1k99thjsm1bb3/72/WOd7xDd911154Xi/YUDVj0kwKADnGlUNJvfjOtXGVju+tUKKDXDKUkSZOJaC2UkjaanRNKAfBbrPdlCkVHrvaWurR5wqlqefazKmam1T/xAzItZvXj1sVSx7Ry4fO142JmRnYlLzPAdRBwPTecU5/JZDQyMuIa+57v+R5VKhU9/PDD+sVf/EUCKQAAukRvKKBidbNJ8GqporVSRZJ00LOEbzpDXykArSEQ7tPIsYeUGHxN3bncyvOaO/WESvl5HypDpwiE+xSMDG0ZcZRfe8m3eoB2cVONHrzTWfv7+yVJr371q3e/IgAA0LICpqlRT4/A2asbWxz0NDufyRRUZZcrAC3CMAPqH3+rBg7+AxlmyHWuUlzU/KknlbnyVXbnwy3z7sKXX2UXPuBGbiqU+uIXv6j/9b/+l+bn3d8ehEKhbe4BAAA61ZhnN9WZzEYo1R8OKhHYbCpcsh3N5YoCgFYS7zuhkePvVTAy7Bp3nIqW0n+kxelPy7ErPlWHdlYXSq29JMeu+lQN0B5u2FNKkp5++ml99rOflbQxS+rIkSMyDEMvvPCCDh8+rOHh4Rs8ArrJaqmisGkoEqjf7QQA0P7GE2F96fLmcfrqTCnDMDSZjOr55Uzt3NR6Xgc8IRYA+C0YGdDw8fdoefZ/Krv4t65zjl2SGuzaB9xIKHZAZiAuu5KVJDl2UcXstCLJwz5XBrSuG4ZSX/nKV/TCCy/ohRde0HPPPacXXnihtuPer/zKr+hXfuVX1Nvbq5e97GW688479fKXv1w/8AM/0Iza0aI+P3tFX19c11A0pIl4RPcM92p/jMaRANApJuLuZXoXsgXZjiPTMHQwEXGFUtOZgr6t2QUCwE0wzaAGJn5QkcSkltJPy7HLskK9Gph4G7vx4ZYYhqloz1Fll75WG8utniaUAq7jhqFUIpHQyZMndfLkydpYLpfTN7/5TT3//PN64YUX9Pzzz+vLX/6ynnnmGRmGQSjV5dKZghxJl/MlXc6X9K2DPX6XBADYRX3hgGIBS7nKxpKEku1oPl/S/lhYk56+UtOZvBzH4QIPQMuK93+LQtH9ujL9KQ1MfL/MALM7ceuiqWOuUCq/elrOgbfwOQhs46aW73nFYjG9+tWvdjU6LxaLtaAK3StbrmqxuLkduCnpALOkAKCjGIah8XhYp1ZztbHZbEH7Y2Htj4UVMg2V7I1GwevlqpaKZQ1E6EMJoHUFo0MaOf7wdYODaiUnKxBrYlVoR5Hk4Y3ln87GFzfV0orKhQWFovt8rgxoTTfV6PxmhMNhvepVr9I73/nO3XpItKF01r3990gsrJC1az9mAIAWMZ5wz4hKX212bhmGxhPuWQZTV88BQCu7XiCVW/mmLj7/mLLLzzWxIrQj0wopkjzkGsuvnvKpGqD1kRZgV814LjwmEkx/BoBONB53z4K91uxckiY9gdX0uvsLCwBoJ+Xikhan/1COXdLi1P/QUvqz7M6H64qmjruO86unfaoEaH2EUthVWy9KJGmcHZcAoCONed7fL+dLKlQ3lioc9IRSUxlCKQDtybGrunL+43LsYm0sc+Urmjv9WyoXl3ysDK0s2nPUdVzKXVC1nNnm1kB3I5TCrrEdR7OZomuMmVIA0JmiAUtDW/pEOZIuZDc+A8YTEdcvGFcKZWXKzCoA0IYMU4nBuzd6BG1Rzs9p7sUPKrfyTZ8KQysLhHoUiu53jeXXzvhUDdDaCKWway7nSyradu04FjDVHw76WBEAYC+NJzxL+K4u4Q5bpvZ7NrnwLu8GgHZgGIaSg6/RyLH3KBDqc51z7KKunP+Ylmc/L8eu+lQhWlU0dcx1TF8poDFCKeyaRkv32PoUADqXd4n2XH5ztuxk0rOEj75SANpYKLZfI3e+V9Hel9WdW1/4subPfEiV4krzC0PL8vaVKqydk22Xt7k10L0IpbBrvN+Ce3dmAgB0lkPJmO7Zl9I7Dg/rJ18xqX94eKR2btKzfHuamVIA2pxpRTR48H71jX2vZLgvo0q5i7p06nHlmA2Dq4LRYVnBntqx41RUXD/vY0VAayKUwq5Js/MeAHSVfdGQfnByn1410KOBSMg1O9a7A9+FXEGlqu19CABoK4ZhKDl0UsNHH5IVSrnOOdWCrpz7fS1f+BM5Dsv5up1hGHVL+HLswgfUIZTCrshXqrpcKNWODUljnu3CAQDdoycUcPUVtB1pNstsKQCdIRw/oJHjjyjac6zu3PrlL+nySx+R4zg+VIZW4g2lCqun+bkAPAilsCu8Fxr7oiFFLGubWwMAusFBz4zZKZbwAeggViCqwcP/UL2jb9LGV7KbYqk76a0KRRIHZZibO9VWKxmVchd9rAhoPYRS2BWNmpwDALqbt9n5NM3OAXQYwzDUM3yPho8+WOsfFO19mRJDJ32uDK3AMAOK9BxxjeXXWMIHbEUohV1xoi+ht44P6q6+hFLBAP2kAAB1faVmMgXZLFsA0IHCiXGN3PmIEgN3a2DiB5klhRrvEs88faUAl4DfBaAzDEfDGo5u9pDiogMAusd6uaJ0pqCZTEHpbEHfPzGk0VhYQ5GgYgFLucpGw9+ibWsuX9JojJ6DADqPFYipf+IHtj3v2BWVchcVTkw0sSr4LZo6qo3lnRvXR+X8vCqlFQVCvX6WBbQMZkphT5h8OwQAXeMPpy/rIy9d0l/MLev8er62TM8wjLq+UizhA9Ctli/8iebPPKXVS38ux2E30m5hBWIKx8dcY/nVMz5VA7QeQikAAHBbvH0Et25+4e0rNZUhlALQfXLLLyhz5VlJ0urcn2vh7O+qWs74XBWaJZo67jrOr57yqRKg9RBKAQCA2zLmCaVmtuyydzBR3+yc7bABdBO7WtBi+o9cY4X185p78XEV1qf8KQpNFU25+0oVMlOyq0WfqgFaC6EUAAC4LQfiEddm6IvFcq2P1P5YWEFz8+xauaqVUqXJFQKAf0wroqGD98sMxF3j1UpGl1/6Ha3O/SVhfYcLhAcUCPdvDji2Cmtn/SsIaCGEUrgtpaqtv5pb1kwmr4rN2ngA6EZhy9RINOQau7aEL2AadTOppugrBaDLRHoOa+TORxROTHrOOFq99L+0cPb3VK3kfKkNe88wjLrZUjl24QMkEUrhNl3IFfXZ9BX95jdn9W++ek7//ewlv0sCAPhgLLGDJXz0lQLQhQLBpPbd8S71DH973bnC+lnNvfi4ipm0D5WhGaI9niV8a2doeA+IUAq3aWbLhUXVcRRg1z0A6ErXb3bunSlVEAB0I8Mw1Tv6Bg0d+VGZljuwr5bXNH/mw1qbf4blfB0onJiQaW1+HtrVvIpZQkiAUAq3JZ1xX1iMe74pBwB0B+/7fzpTqF1UTSTcPacuF0q1nlMA0I2iPXdo5M5HFIqPec7YWrn4p7py/vdlV5hV2kkMw1Sk56hrLM8SPoBQCrfOcRyls+5QaiJOKAUA3WgoElLY2vy1Il+1tVgsS5IilqWRWNh1e5bwAeh2gVBKw0cfUHLfPXXn8quntXD+Yz5Uhb3k7StFKAUQSuE2rJQqWi9vftMdNA0Ney46AADdwTQMjcXdnwFbZ9NOemZSTbOEDwBkGJb6DrxJg4f/oWtplwxTvaPf419h2BPRniOSsXkJXikuqly44mNFgP8IpXDLvEv3DsQjsugpBQBdy9tXautsWm+z8ylmSgFATSx1XCPHH1EoNipJ6jvwZoXjB3yuCrvNtCKKeHZgZLYUuh2hFG4ZS/cAAFs16it1jbfZ+YVsQWWbXYcA4JpAuFfDRx9S/8TblBh8rd/lYI9EU8ddx4RS6HaEUrhlMzQ5BwBs4Z0pdSlfrAVPqVBQfaFA7VzVkWazxabWBwCtzjAtJQZeJWOb1QeV4rIyV/6G3fnaWLTH3VeqmE2rWsn5VA3gP0Ip3JKKbetizn0x4b0YAQB0l0QwoL7wRvAUMg1NJqLKbuk9OJl0L+GbXmcJHwDcLMeu6Mr5j2sp/bQWpz8pu0qw344C4V4FI/u2jDgqrL3kWz2A3wI3vglQ71KupOqWb2h6QwH1hPhxAoBu90MHhxUPWNoXDdX1GZxMRPW1xfXaMTvwAcDNW77wJyrlL0mScsvPqZS7pMFD9ysUHfa5MuxUNHVM5cLl2nFu9ZTi/d/iY0WAf5gphVsy47mQYJYUAECS7uiJaX8s3HDji4OevlLTmYJslqAAwA1VSmvKLn3dPVZc1PypJ5VZ/FuW87UZb1+pwtpZOXbFp2oAfxFK4ZbMZOknBQDYmaFISFFr81ePQtXW5XzJx4oAoD0EQj0aOf6wZ9mX5DgVLc18Rkszn5Zd5f20XYRiozIDidqxY5dUyEz7WBHgH0Ip3JK0p8n5BKEUAOAGTGOjz9RWUyzhA4CbEowMavj4jyk+8K1157JL39D86SdVzi/4UBl2yjAMRVNHXWPswoduRSiFHcuUK1opbU4vtQxDo7GwjxUBANpF3RK+9cI2twQAeJlmUAMTP6j+iftkmEHXuXJhQXOnn1B26Rs+VYediKbcu/DlV0+zDBNdic7U2LFEMKCf/9bDms0WNJMpqFC1FTDJNwEA9RzHUbFqKxKwJKluphTNzgFg5xIDr1Qotl9Xpj6uSuFKbdyxy1qc/pQKmWn1jX2vTE9whdYRSR6WYQTkOBtf9lfLqyrn5xWKjfhcGdBchFK4JdGApaOpuI6m4n6XAgBoMWulip5dWNVstqB0tqCRaFgP3zkmSToQDytgGKpc/TZ4pVTRSrGs3jAXTgCwE6HoPo0ce1hL6c8qt+yeHZVd/FuVshc1eOh+BSMDPlWI6zHNoCLJw8qvbS7by6+dJpRC12F6CwAA2FVl29afXVzSqdWcchVbF7LF2i57AdPUWNy95Hs6wxI+ALgVphXSwOR96h//ARmGe75BuTCv1bm/8Kky3IxGS/iAbkMoBQAAdlV/OKhYYPNXjKLt3mVvMkmzcwDYLYZhKDF4t4aP/5gC4f7auBXqVf/Y9/lYGW7E2+y8lLuoSnndp2oAfxBKAQCAXWUYhsbi7obms9nN2VAHvX2l1gmlAOB2haLDGjn+XsV6T0iGpaFD98sMsEN2K7OCSYVio66xwuoZn6oB/EEoBQAAdt24J5RKbwmlJhIRGVvOzedLyleqTaoMADqXaYU1cPCHNXL8vXVhB1pTNHXcdZxbPeVTJYA/CKWwI38yu6hPnJ/Xswurmstt9ggBAGCr8YQnlNrSNyoasDQcDdWOHUkz9JUCgF1hGIZC0X3bns+tfFPLs5+XY/NlQCvw9pUqrp+XbZd9qgZoPkIp7MjfLa/rb66s6ZNTl/XY8zOaYskFAKAB70yp+XxJxapdO55M0FcKAJqtXFzS4vQfan3hy5o/85QqpRW/S+p6wcg+WaFU7dhxKiqsn/OxIqC5CKVw03KVqq4UNlN7Q6rrGQIAgLQxG2owEqwdO5IubFnCN5l0f37QVwoA9pZjV3Tl/Mfl2EVJUil3QXMvPs6Obz4zDEPRHnbhQ/cilMJNS3uWVozEwgpZ/AgBABq7Xl8pb7Pz2WxRFdsWAGBvVMprsqvuLwDsakEL5z6q5Qt/IsdhOZ9fvEv48qun5dAmBV2CRAE3bSbrDqW8FxsAAGx1vb5SveGgUqFA7bjiOLqQLTatNgDoNsFwv0aOP6JIz9G6c+uXv6TLZ35bldKaD5Uhkjgow9zstWhXsirlLvhYEdA8hFK4ad6ZUhMJQikAwPYazZTa+s3vpOdzZJq+UgCwp6xAVEOH/5F6R98oufZBlYrZtOZOPa782kv+FNfFDNNStOcO1xhL+NAtCKVwU2zHcS27kJgpBQC4vpFoWAFj86JnvVzVaqlSOz6Y9DY7Zwc+ANhrhmGoZ/heDR99QFYw6TpnV3JaOPt7Wrn4v+Q4LKlupkZL+IBuQCiFm7JQcO+aFLVMVwNbAAC8LNPQaDzsGtv6BYd3B77p9bxsemgAQFOEExMby/mSR+rOrc3/pc585XHZ1ZIPlXWnjWWVm1/klAuXVSku+1cQ0CSEUrgp3qV744mIDMPY5tYAAGyY8Myqnd0SSg1HQ4ps2TAjX7W1UOACCACaxQrGNXTkR5Xa//fkXc63vnxWKxf/xJ/CupAViCqcGHeNMVsK3aBlQql0Oq33ve99OnnypE6ePKlHH31US0tLO3qMF198UXfddZd+/dd/fY+q7F4s3QMA3IqxRESWIY3Fw3r9vpTu6InVzpmGUdefcHqdJXwA0EyGYSg18h3ad8e7ZAYSrnOZK19VKT/vU2XdJ9pz3HWcI5RCFwjc+CZ7b3l5WQ888IBKpZIefvhhVatVPfnkkzp16pQ+9rGPKRQK3fAxKpWKfvZnf1blcrkJFXefGZqcAwBuwct64/qFu48oaDb+HuxgIqrTq7na8XQmr5P7Us0qDwBwVSR5UPvvfETzpz+kSmlj2Vgg3Ce7ys6ozRJNHXPNTitmpmVXCzItrr3QuVoilHrqqac0Nzenz3zmMzpyZGNN8ytf+Uo99NBD+tSnPqV3vOMdN3yM//bf/pvOnDmz16V2pUK1qst593KKMWZKAQBuwnZh1DWTdc3O2YEPAPxiBRPqHXuzFqc+qdEjb5IZe6UMsyUuGbtCMDKgQHhAleLi1RFb+bWzived8LUuYC+1xPK9p59+WidPnqwFUpJ077336tChQ3r66adveP9Tp07pAx/4gH78x398L8vsWrPZora2nR2KhBQNWL7VAwDoHGPxsKwtPQqXixXXDn0AgOaK9hzT6Il/oZFD300g5YP6XfhO+VQJ0By+h1Krq6tKp9M6caI+/T1x4oSee+65697/2rK9e++9V29729v2qsyu5m1yztI9AMBuCZqmDnh26JtmthQA+MYwDFmB6I1viD0RTbn7SuXXXpLjVH2qBth7vodS8/MbjfOGh4frzg0NDSmTyWh9fX3b+3/wgx/U9PS0fvEXf3HPaux2liGlQpvfkhBKAQB208GE++Jnep1QCgDQncLxMZnW5ueiUy2omEn7WBGwt3yfj5nNZiVJ0Wh9Gh8Ob3xzmsvllEwm686fOXNG/+W//Bf9wi/8gkZGRjQ7O7u3xXap79zfr+/c36/VUkXpTEHjifCN7wQAQANrpYpmswUd6YkpbG18NzaZjEhzm7eZzrADHwC0IrtalGlxLbCXDMNUNHVU2aVv1Mbyq6cUSR70ryhgD/keStm2fcPbmA2apFarVf3sz/6sXv3qV99UI/SbMTCQuPGNutiQpDv8LqJLDA3Vh7AAmovX4e76+IuzevbispYKG7vk/t+vvUMvv/rfOJqK6nfOXKrd9lKuqERvTNEg/Qu7Ga9BwH/XXoe2XdHl6b/UpfNf0LFXP6J4atznyjpbwH6lzm0JpUqZlzQ4+A9kbOnBiO7QDZ+FvodS8XhcklQs1m81em3s2m22evLJJ/Xiiy/q937v97S0tCRJWltbkyTl83ktLS2pt7e3YaC1ncXFjGzbufENgT00NJTUwsL2S1YB7D1eh7tvca1QC6Qk6e8uLmlIm79c74uEdLmwsdOrI+lvpxd0NFX/+Y/uwGsQ8N+112Fh/ZyWZp5WpbQsSTr/3Ce17+iDBCR7yHZGJcOSrvaSKuYXdWn2vIKRIZ8rQzN1ymehaRrXnQDke0+p0dFRSdLCwkLducuXL6unp0exWKzu3F/+5V+qXC7r7W9/u+655x7dc889+qEf+iFJG4HVPffco4sXL+5t8QAA4KaMe/oRejfRmEy6z0+ts4QPAFqB4zi1QEqSitm0civP+1hR5zOtsCKJg66x/Oppf4oB9pjvM6V6eno0Njam55+vf2N74YUXdNdddzW830//9E/XZkZdc+XKFf3UT/2U7rvvPv39v//3NTREkgwAQCsYj3tCqWxRjuPUvmk/mIjq2YXNz/UpduADgJYQ7TmiaM8x5dc2Q5GVC3+qaOq4TDPoY2WdLZo6psL62dpxfvW0eoa/zceKgL3heyglSW9+85v127/92zp79qyOHDkiSXrmmWd0/vx5/diP/VjD+zQKq641Oh8fH9e99967dwV3iarjyHYcBXewBBIAgEb2RUMKmYZKV5fJ5ypVLRXLGoiEJEmTSfeGJ7PZgiq2o4DJ8hAA8FvvgTcpv/6S5Gz0A66W17Q+/4xS+7/L58o6VzR1TMuzn6sdF7NpVctZWUGWtqOztETa8N73vlepVEoPPvigPvShD+k3f/M39f73v18nTpzQfffdJ0lKp9P69Kc/rXSa7TCbJZ0p6Be/elb/9YUZfWZ6QS+uZP0uCQDQpkzD0FjdbKnNJXp9oYB6tjQ2L9uOLuXq+00CAJovGBlQcuh1rrG1+f+tSmnVp4o6XyCUUjA64hrLr53xqRpg77REKNXf36+PfOQjuvPOO/XYY4/pwx/+sN74xjfqiSeeUCi08Q3qs88+q0cffVTPPvusz9V2j3SmoKojzWaL+tLlFX19sf2brAEA/FO3hC+zGToZhqHJhHu2FEv4AKB1pEa+Q2Zgs9ev41S0cvHPfKyo80VTx1zH9JVCJ2qJ5XuSdPjwYX3wgx/c9vwP//AP64d/+Iev+xhjY2M6derUbpfWtWay7iaz3ia1AADsRF2z86w7dJpMRvV3y5na8fR6Xt8x0teU2gAA12daEfXuf4OW0n9UG8stP6fi4GsUTkz4WFnniqaOaW3uL2rHhfWzcuyKDLNlLuOB29YSM6XQmrw7I03ECaUAALfOu3zvUq6kim3Xjg96QqupTEGO4zSlNgDAjcUHXlW3pGx59vO8V++RUHS/rGCyduzYZRUyU/4VBOwBQik0tFoqa61cqR0HDEMjsbCPFQEA2l1PKKDe0Oa3u1XH0aVcqXY8HAsrvGVzjVylqiuFclNrBABszzBM9Y29xTVWyl9SdunrPlXU2QzDULTnqGuMJXzoNIRSaGjGM0vqQDzMDkgAgNt2vWbnlmFowjNbapq+UgDQUiKJScV6X+4aW7n4BdlVNqfYC436SjEzDZ2EUAoNeZfueZvTAgBwK7x9pWYy3r5S3iV8hFIA0Gp6R98ow9ic+WpXMlqb/ysfK+pc4eQhGWawdlwtr6mcn/OxImB3EUqhIZqcAwD2grc/4WzW/c26dwe+6XX35xEAwH+BcK+S++5xjWUWvybbZsn1bjPNoCLJw64xlvChkxBKoU7FdnTRc5HgXU4BAMCtGI2HtXU1+FKxrMyWHobj8Yjr/GKxrPUt5wEAraFn+NuuNuE2lBh8jfa/7J/J3DKjB7vHu4QvRyiFDsJekqgzlyuqsmWdck8woFSIDxgAwO0LmqZO9CYUskyNxSOaSEQUC1i18yHL1IFYxNVrano9r7v6k40eDgDgE9MKaWDiPpnBuELRYb/L6WjeZufl/CVVSmsKhHp8qgjYPYRSqONduscsKQDAbvqRO/Zf9/xkwhNKZQqEUgDQgiI9h298I9w2K5hQKHZApdyF2lh+7bSSg6/xsSpgd7B8D3XqmpwTSgEAmuhg0t1XamqdZucAgO4WTR13HdNXCp2CUAp10t6ZUuy8BwBoIu8M3Uu5oopV26dqAADwn7evVGH9vOxqyadqgN1DKAWXTLmipeLmrhmmsdGUFgCAZkkEAxqMbPYytFX/hQkAoDU5jqPc8gtanfsrv0vpKMHIkKxQ7+aAU1Vh/Zxv9QC7hVAKdd54oF/HUzFFLVP7o2EFTX5MAADNdTDhXsI3zRI+AGh5pdwlXT7zYV2Z+rhWL31R5cKC3yV1DMMwFKtbwnfKp2qA3UOjc7gkggG9YXRA0sa3HHmWSwAA9ki+UtVstqB0tqBYwNLr9/XWzk0mo/rKlbXa8XSGUAoAWpnj2Lpy/uOqlJavjthanv1j7bvjnb7W1UmiqWNaX/hy7Ti/dkaOY8swmESA9kUohW0ZhuHaphsAgN1ydi2nJ09t7iK0PxZ2hVIHPX2lZjIFVR1HlmE0q0QAwA4Yhqne0e/RlamP18YK62eVXz2jaOqoj5V1jnBiQoYVllMtSpLsSk6l7AWFE+M+VwbcOiJVAADQdPtj7n6F87miSltm5/aHg0ps+WKkZDu6lCs2rT4AwM5Fe1+mcGLSNbZ84Y/l2FWfKuoshmEpmrzDNcYSPrQ7QikAANB0sYClgbC7mfmFLaGTYRiaTNJXCgDaiWEY6jvwFtdYpbio9SvP+lRR54l6+0qtnfGpEmB3EEoBAABfjMfdS/TSGfcOe94lfFMZduADgFYXio0oMXC3a2z1/8/efYc5VaZ/A/+e9GSSTDK9wlClCaI0AQHpKMqK3bV3xXVV1ra6rq4/LC9rxV5WFF1WQWmKgKKASAdBQIbO9ExNMsmkl/eP0QxnCsww5Uxmvp/r8vI692k3GUIy93me+7GsR9BfJVFGHYvW2ANAzVR2v6cUfm+FdAkRNROLUhRxrNKFIpcXoXBY6lSIiKgTyKxVdMqrEhed6hspFeZnFBFRuxebeiEEWc007XDQC3vROukS6kBkCm2dKZJu+yGJsiFqPhalKGJZTgnm7c/Fv3YdxQfZ+ajw+qVOiYiIOrDaI6Xya42EStWpoZLVPA12BoL8bCIiigJyZQxiU8aIYs7yXfC5LBJl1LFoY3uLtlmUomjGohQBqF6Wu9RT/UXfFwrjuMONGK68R0RErShFp4bipNX07P4A7L5AZFsuCHVGU3EKHxFRdDAkDoNCHXdSJAxrwWqOeG0BtYtSXmcOQgH2XaToxKIUAag7ZSJZq4Jazr8eRETUehQyoc4qfLX7SnXVs9k5EVE0EmRymNMni2JeZw7c9myJMuo4lOo4KDWJJ0XCcFcekSwfouZg1YEA1P0loPaTaSIiotbQpdbnTX5V7Wbn4qLUCSeLUkRE0UJj7AWNoYcoZi34DuFQoIEzqLE4hY86ChalCEDdkVJdYliUIiKi1pdR6/Mmt6ruQ5KTv6yUefxw+vnLDBFRNBAE4ffRUjVTtYM+GypLNkuXVAehNdYqSjmOIBwKSpQN0ZljUYoQCofrGSmlbeBoIiKillN7ZG5BlQfBk/qNqOWyOlP8ctlXiogoaii1idAnDo1saww9oDP1kTCjjkEVkw6ZQhfZDge98FblSJgR0ZlhUYpQ5vHDHQxFtjVyGRI0SgkzIiKizsKsUogW1vCHwihx+0THdDXUmsLHvlJERFElNmUsVDEZSOx+DRJ7XFerHxKdCUGQQWvsJYq57YclyobozLEoRXWm7mXGaCA7aTUkIiKi1iLUs8Je7dG7WbX253CkFBFRVJErtEjpfSu0sb0h8PeMFqONPUu07bIf5OqGFHVYlCLk1WoayybnRETUljJP6islFwBHrZ5RtUdKFbg88J00wpeIiKgz0hi6A0LNaOOgzwa/p1TCjIiaTiF1AiS9Ov2k2OSciIjaUB9TDJQyAV30GqTq1FDKxM/MDEoF4tVKlHv9AIBQuHqVvu5GXX2XIyIi6hRkchU0hm7wVB6JxNz2Q1BpkyTMiqhpOFKqk/MGQ7DU6t3BkVJERNSWUnVqjE4xo4teW6cg9YeuBvFn0wlO4SMi6hC8VQUIBX2nP5DqpY2ttQqf/aBEmRCdGRalOrmCKg9OnnWcoFFCd1LDWSIiovYgq9aqsDlsdk5EFNUCfgfKc5ai+NCHqCzZJHU6UUtrFBelfK4CBP1OibIhajoWpTq52stqd+HUPSIiaoe61ipK5To9CLGZKxFRVPI4jqPotzdQVfErAMBRvAkBn03apKKUQmWEUpsqirkruQofRQ8WpTq5OivvceoeERG1Q7VH8npDdaefExFRdFDp0iDIVJHtcDgAW8FaCTOKbro6U/gOSZQJUdOxKNXJzeiahD/3TMWYFDOyDFp0qfUkmoiIqD0QBAFZtR6cnOAUPiKiqCSTq2FKGy+KuWz74XHmSJRRdKvdV8rjOIZQyC9RNkRNw6JUJ2dUKdDfrMfUzATc2ScDqTq11CkREVEnlef0YKPFiv8eKcL/23McFV7xF+quBvaVIiLqKGLiBkGpTRHFrPmrEQ6HJMooeim1KZArjZHtcMgPr+O4hBkRNR6LUkRERNQurMovw8q8MuyzOmHzBZBXq+9hnWbnTjfC7CtFRBSVBEEGc8YUUczvtqCqYo9EGUUvQRDqWYWPU/goOrAoRURERO1CZq3FNvJr9T1M1amhlAmR7Up/EFZfoE1yIyKilqfRd4XO1E8UsxX+gFDQK1FG0atOUaryMB/cUFRgUYqIiIjahYxaRanaK8QqZEKdYziFj4goupnSJ0IQFJHtUKAKdssGCTOKThp9FgSZMrId9DvgcxdJmBFR47AoRURERO1Cl1qNzItcXgRC4qe8tafwnXCyKEVEFM0UKhMMyeeLYo7SrfB7yiXKKDoJMgU0hh6imNt+UKJsiBqPRalOqsjlxfKcEuwur0SFx8+hnUREJDmjSoFYZc3T8kA4DItLPIWjq6H2SCnxaCoiIoo+xqRRkCsNNYFwCLbC76RLKEppY88SbbvthyXKhKjxWJTqpI5WurClxI4vjhXj33tPYMmJEqlTIiIiQkat0VJ5tfpKddFrIJy0XeLxwRUItkFmRETUWmRyFUxpE0Uxt/0QPJXHJMooOmmNPUXbfrcFAa9NmmSIGolFqU6qdp+OZK1KokyIiIhqdKnVM6r2CnwauRwpOrUolsMpfEREUU9nHgBVTIYoZi1YjXA4JFFG0UeujIE6JlMUs1vWS5QNUeOwKNVJ1X3yrG3gSCIiorZzupFSANBVzyl8REQdjSAIMKdPqRMP+islyCZ6xcQNFG1XVeyBt6pAomyITo9FqU7I7gvAftIS2nJBQKqOI6WIiEh66Tq16MtJuddfZ3oem50TEXVM6ph0xMQNgkyuhTljGlL63AWFyiR1WlElJn4wlJpEUcyav4o9hKndYlGqE6o9FSJNp4ZCxr8KREQkPZVchuRa0/Nqf251NYiLUgVVHvhDnN5BRNQRmNImIrXffTAkDoUg8HeUphIEWZ0RZz5XAVzWfRJlRHRqfJd3QvU1jSUiImovMmv3lar1uRWrUsCsrlmlLxgG8qvEq/QREVF0kitjIFewtUhzaIzd66zEZyv8HqGgT6KMiBrGolQnlFtrmkMmi1JERNSO1P5cqj1SCqg7hS/HwSl8REREfzClTwIEeWQ76HegsuRnCTMiqh+LUp1MMBRGQa2nybVXOiIiIpJS7ZFS+VWeOr0wutYuSrGvFBFRh8eV+BpPqY6DMXG4KOYo3oyA1yZNQkQNYFGqk7G4vQic9MXeoJQjVqU4xRlERERtK0GjhEYugwAgSaNCP7MevlCtopSh1gp8Tg9CbOJKRNQhhUJ+2IrWwXLwA4RDwdOfQAAAY8oFkCn0ke1wOABb4fcSZkRUF6sRnUxurSkQmTEaCIIgUTZERER1yQQBt52Vjni1EhqFvN5jEjUqaOUyuIPVT809wRBK3D6k1GqSTkRE0a3Kuh+2gu8Q9FcCABxl22BMOl/irKKDTK6GKW08KnKXR2Iu22/wOE5AY8iSLjGik3CkVCfDJudERBQN0mM0DRakgOrCVe1V+E5wCh8RUYfjdZyIFKQAwF60AUF/lYQZRZeYuEFQ6dJEMWvBak6FpHaDRalOpnaz2Ew9V7YgIqLolFXrwUqOo25DdCIiim6xqeMgyGtGwYZDXtiLfpQwo+giCALM6VNEMb+7GFXlv0iUEZEYi1KdSJU/iHKvP7ItA5DOaQ5ERBSlajc750gpIqKOR66MQWzKWFHMWb4LPpdFooyij1qfCZ15gChmK/oRoQAf5pD0WJTqRCq8fugUNT/yFJ0aKjn/ChARUXRKj1FDcVJfRLsvANtJD1+IiKhjMCQMhUIdL4pVT0HjAheNZUqbCEGmjGyHAi7YLeslzIioGisSnUimXoMnzumO2Wd3xZXdkjEmxSx1SkRERI3iDgTrFJwUMhkyYsQjfjlaioio4xFkcpjTJ4tiXmcO3PZsiTKKPgqVEcbkUaKYo3Q7/J4yiTIiqsaiVCcjCALiNSoMTjBiYLxB6nSIiIgaZHF5sfi4Ba/sPYFnfzmGb/PqfnGu3eycfaWIiDombWwvaAw9RDFrwXcIhwISZRR9DEnnQ66MPSkSgrVgjWT5EAEsShEREVE75QuFsKvMgVJP9Qip2ivIAkBWrb5SORwpRUTUYZkzJuPkX2GDPhsqSzZLl1CUkcmUMKdPEsU8lUfgth+WKCMiFqWIiIionUrVqSGvaRkFmy8Ah1/8RLyLXoOTDkGx2wd3INg2CRIRUZtSahJhSBwqilUWb0TA75Aoo+ijNfWFWt9FFLMWrEE4xM9OkgaLUkRERNQuKWUypNZaJTbPKR4tpVXIkaxVRbbDAHKdnMJHRNRRxaaMgUxeM0o2HPLDXrhWwoyiiyAIMKdPFcUC3nI4yrZLlBF1dixKdRJcmYKIiKJRZoxGtF3fFL6utabwsdk5EVHHJVNoEZt6oShWVfErvFX5EmUUfVS6FOjjzxXF7Jb1CPqrJMqIOjMWpTqJdw7k4/3sfKzOK8NvVif8oZDUKREREZ1Wpr5WUaqeUVBdDeJjchwsShERdWT6hHOh1CSJYnbLTxJlE51iUy+EIKsZjRwOemEv+lHCjKizYlGqE/AEgsiv8uC4w431Fis+O1KEYIgjp4iIqP2rPVIqv8qDUK3Rv7WbnedXeRHgwxciog5LEGS/Nz0HABkMSSOQkHWZpDlFG7kyBrGpY0QxZ/ku+FwWiTKizopFqU4gr8qDk7++J2pV0CjkkuVDRETUWHFqJXQnfWb5QmGUuH2iY0xqJWJVish2IBxGQZW3zXIkIqK2pzF0R2zqeKT2vRvm9MmQyTWnP4lEDAnDoFDHi2LWglVs/UJtikWpTqB2/40uMfwHm4iIooMgCMiMqdXsvJ6+UrVHS+WwrxQRUYcXmzIaSk2C1GlELUEmhzl9sijmdebCbTsgUUbUGbEo1QnU7r9Ruz8HERFRe3YmfaVOcAU+IiKi09LG9oLG2FMUsxZ8h1DIL1FG1NmwKNXBhcPhOktj1+7PQURE1J7V11eqtjojpRzuOr2niIiIqK7q0VI1pYGg3w5HyWbpEqJOhUWpDq7c64c7WNPsVS2XIUmrkjAjIiKipsmoVZQqdvvgDYobmSdpVdDIa77WuIMhlHrEvaeIiKjjC4fDcJbvgdeZJ3UqUUOpSYAhcagoVln8MwK+Sokyos6ERakOrs7UvRg1ZIIgUTZERERNp1XIkahRRrbDqDtaSiYI6Fprmt/uckdbpEdERO2EtyoPxYc+REXuMlTkf4twmCuxNlZsyljIFLrIdjjkh61wrYQZUWfBolQHV3fqnraBI4mIiNqvxkzh62nUibZ/tthg9bInBhFRZ+D3lKP40EfwuQqrt90WVJXvljapKCJTaGBKvVAUc1n3csQZtToWpTq42isUsck5ERFFowy9BmaVAmfH6XFRZgL6mGLqHDMkMRYGpTyyHQiHsTq/rC3TJCIiiSg18dCZ+otitqIfEQpy4YvGiokfDKU2WRSzFqxGmD0aqRWxKNWB+YIhWFxeUYxNzomIKBoNS4zFw4O64doeqRidYkayVl3nGLVchsnp8aLYrxVO5DrdbZUmERFJyJQ+EYKgiGyHAlWwW36SMKPoIggymNOniGI+VyGqKvZIlBF1BixKdWAFLi9OnkUdr1Yi5qQnyERERNGisf0QBycYkaoTF6y+yS3jU14iok5AoYqFIXmkKOYo3Qq/p1yijKKPxpAFramvKGYrXItQ0NvAGUTNw6JUB5ZX68kwp+4REVFHJxMEXJyZIIrlVXnwa4VTooyIiKgtGZNGQq401gTCIdgKvpMuoShkTpsECDWDGUKBKlRyxBm1EhalOrC6Tc5ZlCIioo6vu1GHfrV6Tq3OL4M/xFWYiIg6OplcBVPaBFHMXXkI7sqjEmUUfRRqE4xJ4hFnlaVb4fdWSJQRdWQsSnVgXfQadDNooZQJkW0iIqLOYGpmAuQnzfiz+QL42WKTLB8iImo7OvMAqGIyRDFbwRqEw3w40VjG5FGQKw01gXCQI86oVbAo1YGNSY3DHX0y8NS5PXBf/y5IqacpLBERUbTxh0LIcbix0WJFMFR/r6gEjQojkkyi2LqiCjj8gTbIkIiIpCQIQp2G3X5PKZxlOyTKKPpUjzibKIq57QfhqTwmUUbUUbEo1QnIBQFpOjXkssY1iSUiImqvPjlUiGd2HcW72flYmVcGi7vhxqvj0+Kgldd81fGFwvi+gM1uiYg6A3VMOmLiBoli9qJ1CAZcEmUUfeobcWYtWM0RZ9SiWJQiIiKiqCETgJMHR+VVeRo8VquQY0J6vCi2o7QSRS6uIERE1BmY0sZDkKki26GgB/ai9RJmFF0aHnG2U6KMqCNiUYqIiIiiRu2VZPOcDRelAGB4YiwSNMrIdhjAyrxShMP1T/sjIqKOQ640wJg8WhRzlu2Az10iUUbRp/4RZz9yxBm1GBaliIiIKGrUXkn2VCOlAEAuE3BRZoIodrTSjYP2qhbPjYiI2h9j0gjIVabItjb2LMjkqoZPoDo44oxaE4tSHZDTH0C5x8enwERE1OGkx2hwcofEMo8f7kDwlOecFRuDHkatKLYyr6zBJulERNRxCDIFzOmTodQkIannDUjsfhUUJxWp6PQ44oxaE4tSHdCecgde2puDObuP45NDhdhvdUqdEhERUYtQy2VI1oqfcJ9utJQgCLgoM7FOMWtrqb0VMiQiovZGG3sWUvrcCY2hm9SpRC1j0ggoVOaTImFY81dzIAQ1G4tSHVDu71/OXYEgsu1VsHr9EmdERETUcpraVwoAUnVqDEk0imJrC8pPO8qKiIiinyAIEAT+6tscgkwBU/okUczrPA63/ZBEGVFHwXdmB1T7y3mXWl/eiYiIollT+0r9YWJ6PFSymvFS7mAIPxRWtGhuREREHZU29iyo9eLRZraCNQiHAhJlRB0Bi1IdTKUvAJuv5h8FuVD9dJiIiKijqD1SKr/K06jpAwalAuNS40SxLSU2lHl8LZofERFFD7+XDycaSxAEmDOmACdNiA/4rHCUbpUuKYp6LEp1MPm1nhan6tRQyvhjJiKijiNRo4L6pM82VyCEikZOVR+VYoJJpYhsB8PAqryyFs+RiIjat4DXhrLji1H025vwuYqkTidqqLRJ0CcMEcXslp8Q9LOPMZ0ZVis6mNxaU/cyY7QNHElERBSdZIKA9BjxKODan38NUcpkmJKRIIr9ZqvC0UpXi+VHRETtm6N0OwoPvAmX7TcAYVgL2LC7KWJTx0Imrxm1HA75YCv8QcKMKJqxKNXB1O6rwX5SRETUEdX+fGtsXykAGBinr9OXamVeGUL8hYSIqFNQqExAuGahC68zF27bAekSijJyhQ6xqeNEsaqK3fBWFUiTEEU1FqU6kGA4XGf6HotSRETUEdUuKtX+/DsVQRBwcRfxaKkilxe/lFW2SG5ERNS+aWN7QWPsKYpZC79DKMRVyxtLn3AelJpEUYwjzuhMsCjVgRS7ffCHav4R0Cvkor4ZREREHUVGrYcuFpcPgVDjvwh30WsxME4viq0pKIc3GGqR/IiIqH0zp0/Gyb8OB312OEo2S5dQlBEEOUzpk0UxX1U+XNZ9EmVE0YpFqQ4kz+kWbWfqNRAEoYGjiYiIopdBqcB5CUZMSo/Hrb3T8fdzukEha9pn3pSMBChO+px0+IPYYLG2dKpERNQOKTUJMCQOFcUqi39GwMdRs42lNfaANra3KGYr/B6hIFe1pcZjUaoDyXNy6h4REXUel3dLxoVpcegZq4NGIW/y+Wa1EqNSTKLYRosVtkau5EdERNEtNmUMZApdZDsc8rNhdxOZ0icDwkkjzvwOVJb8LGFGFG1YlOpAcqtqr7zHohQREdGpjEuNg/6kgpY/FMaagnIJMyIiorYiU2jrNOx2WX+FtypfmoSikFIdB0PiCFHMUbwZAa9NmoQo6rAo1UG4AkGUeWqe7AoA0lmUIiIiOiW1XIZJGfGi2O5yR53Rx0RE1DHp48+FUpMsilnz2bC7KWJTLoBMERPZDocDsBV+L2FGFE1YlOogan95TtGpoZbzx0tERHQ65yUYkaJViWIr80r5CwkRUScgCDKYM2o17HYVwGXdK1FG0UcmV8OUNkEUc9l+g8eZI1FGFE1Ytegg0mPUuKp7MkYkxSJdp0YW+0kRERE1ikwQcFGmeFnrHKcH+6xOiTIiIqK2pDF0gza2jyhmK1zLht1NEBM3CCptqihWPeKMq9rSqbEo1UHolQqcE2/EpV2TMKt/F0zvknj6k4iIiKJcMBxGocuLrSV2LD5uweZi2xldp2esDn1iY0SxVfll8If4ZZqIqDMwp08ChJoeg0G/A5XFGyXMKLoIggBzxlRRzO+2oKp8tzQJUdRgUaqDEoSmLYtNREQUjX4td+CN/blYllOCXWUO/GY789FN0zITIDvp49PqDZxxkYuIiKKLQm2GMUncsNvjPMGp3E2g1mdCZx4gitmKfkAowD6N1DAWpYiIiChqZdaarp5f5UXoDH+BSNSqMDwxVhT7scgKpz9wxvkREVH0MCaPhkyhh0wRg7gulyC518182N9EprQJEARFZDsUcMFu2SBhRtTesShFREREUSterYT2pIU9vMEQSj1n3gNkQno8NLWu931BRbNyJCKi6CCTq5HY/Wqk9bsP+vjBEAT+utxUClUsjMmjRDFH6Tb4PWUSZUTtHd9lREREFLUEQagzWqr2irRNoVPIMT4tThTbXmpHsdt7xtckIqLooY5Jh0yuljqNqGZIHgm58uSRxyFYC9ZIlg+1byxKERERUVTLiKlVlKpqXu+KEUkmxKuVke0wgJW5fMJLRETUGDKZEqb0iaKYp/II3PbDEmVE7RmLUkRERBTVutTuK9WMkVIAoJAJmJaZIIodrnThoK2qWdclIiLqLHSmflDHdBHFrAVrEA4FJcqI2isWpYiIiCiq1R4pZXH74AuGmnXNvqYYdDNoRbGVeWUIchUmIqJOJxT0wlrwPWyFP0idStQQBAHmjCmiWMBbDkfZdokyovaKRSkiIiKKajqFvM50u/xmTuETBAEXZybg5DWXSj0+bC+1N+u6REQUPcLhMJzlv6DwtzfgKNmEypJN8HvKpU4raqh0qYiJP1cUs1vWI+jnyGOqwaIUERERRb3azc6bW5QCgLQYDc5NMIpi3xdUwB3g1AMios4gHA7AXrQeocDvRZQwG3Y3lSn1Qgiymsbx4aAX9qJ10iVE7Q6LUkRERBT1Mlu42fkfJqXHQyWrGS/lCgSxrqiiRa5NRETtW/0Nuw/DXXlEooyij1wZg9iUMaKYs3wnfC6LRBlRe8OiFBEREUW92iOl8pzeFrmuUaXAmFSzKLap2I5yj69Frk9ERO2bztQf6phMUcxasAbhMEfNNpYhcRgU6jhRzFqwGmH2aSSwKEVEREQdQIpWDYVQM6Kp0h+A3edvkWuPTjYjVqmIbAfDYazKZ08RIqLOoN6G3Z4yOMt2SpRR9BFkcpjTJ4tiXmcO3LYDEmVE7QmLUkRERBT1FDIBaTq1KHbI7mqRa6vkMkzOiBfF9ludOO5wt8j1iYiofVPp0hATd44oZi9ah2CgZT5nOgONsRc0hh6imLXwO4RCLfMAiaIXi1JERETUIXQ1VE/hEwCMSTFjcLyhxa49KN6AjBhx0WtlbilCnHpARNQpmNLGQ5CpItuhoAf2ovUSZhRdqkecTcbJJYigzw5HyWbpkqJ2gUUpIiIi6hCGJcYiSaPCHX0yMDUzAQpZy33NkQkCLspMFMUKXF7sLne02D2IiKj9kiv1iE25QBRzlu2Az10iUUbRR6lJhCFxqChWWfwzAr5KiTKi9oBFKSIiIuoQ4jUq3D+gC7IM2la5fpZBiwFmvSi2Jr8cvmCoVe5HRETtiyFxOBSqkxe/CMOaz4bdTRGbMgYyhS6yHQ75YStcK2FGJDUWpYiIiKjDkJ3U7Lw1TM1MgLxWQ/WfLNZWvScREbUPgkwBU/okUczrPA63/ZBEGUUfmUKL2NQLRTGXdS+8VXkSZURSY1GKiIiIqJHi1EqMSjaJYhssVth9AWkSIiKiNqWNPQtqfZYoZitYg3CInwONpY8fDKUmWRTjiLPOi0UpIiIi6tBC4TB+KrLih8KKFrneuFQzYhTyyLY/FMZ3+WUtcm0iImrfqht2T0H1shrVAj4rHGU7pUsqygiC7PfXsIbPVYiqil8lyoikxKIUERERdVhWrx8fHCzAt/ll+KGgHHlOT7OvqVHIMTE9ThTbVe5AQVXzr01ERO2fSpsMfcJ51RuCHMbk0dDHD5Y2qSijMWRBa+oritkK1yIU9EqUEUmFRSkiIiLqkELhMD46VIATDnf1NoAvjllapDH5kMRYJGlVotg3eWWcekBE1EnEpo5DTNwgpPWdBVPaeMjkqtOfRCLmtImAUDPyOBRworJ4o4QZkRRYlCIiIqIOSSYIuDgzURQr9/rxbQtMtZMLAi7KTBDFTjjc+M1W1exrExFR+ydX6BDfdQYUapPUqUQthdoMY9L5olhlyRb4vS0z3Z6iA4tSRERE1GGdZYrBsMRYUWxriR2H7M0vHvWOjUHvWJ0o9m1eGQKh5o/EIiIi6gyMyaMhVxpqAuEgbAXfSZcQtTkWpYiIiKhDuygzAXFqpSj25fFiuALBZl97WmaC6MtUhdePzSX2Zl+XiIioM5DJVTClTRDF3PaD8FQekygjamssShEREVGHppLLcFX35JPWSQIc/iCW5ZQ0+9rJWjWGJolHYv1YWIEqf/MLXkREFH3C4RCc5bsRCvmlTiVq6MxnQ6VLF8WsBasRDnPkcWfAohQRERF1eF30WoxNNYtieyuc2FPuaPa1J6TFQSOv+UrlCYawtrC82dclIqLo4nEchyX7PVTkLoejZLPU6UQNQRBgzpgqivk9pXCW7ZQoI2pLLEoRERFRpzA+LR5pOrUotiynBHZf855m65UKXJgaJ4ptK7GjxO1r1nWJiCh6OMt3o+TIAvg91aNwK4t/RsBXKXFW0UMdk46YuEGimL1oHYIBt0QZUVtpN0WpvLw83HfffRg2bBiGDRuGRx55BBUVp++6/9NPP+G6667DoEGDMHjwYNx8883YvXt36ydMREREUUUhE3Bl92QohJqJfJ5gCF8eL0EoHG7Wtc9PjhX1rQoB+DavtFnXJCKi6KGL7QOZombxi3DID1vhWgkzij6mtPEQZKrIdijoht2yXsKMqC20i6KU1WrFTTfdhN27d+P222/HLbfcgh9++AG33HILfL6GnzJu27YNd9xxBxwOBx588EHMmjULubm5uP766/Hrr7+24Z+AiIiIokGyVo3JGfGi2JFKF7Y2szm5QibD1FrXPWh34XALrPJHRETtn0yhQWzqhaKYy7oX3qo8iTKKPnKlAcbk0aKYs3Q7fO7m94Ck9qtdFKXmz58Pi8WCjz/+GHfeeSfuuecevP7668jOzsbSpUsbPO+5555DamoqvvjiC9x88824/fbb8cUXX0Cn0+GVV15puz8AERERRY2RySZ0M2hFsVX5ZSht5nS7/mY9svQaUWxlXhmCzRyFRURE0UEfPxhKTbIoZs1fjTA/BxrNmDQCcpXppEgYtoI1fA07sHZRlPrmm28wbNgw9OjRIxIbOXIkunXrhm+++abec+x2O7KzszF16lRotTVfLBMSEjB06FD88ssvrZ43ERERRR+ZIOCKbslQy2q+BillAuz+QLOuKwgCLuqSKIoVu33YWcqeIkREnYEgyGDOmCKK+VyFqKrgLJ7GEmQKmNMni2IexzG4Kw9JlBG1NsmLUna7HXl5eejfv3+dff3798e+ffvqPU+v12PVqlW4+eab6+yzWq2Qy+UtnSoRERF1EGa1EtO7VheQ+sTG4K8DuqKnUXeas04vI0aDwfEGUey7gnJ4gsFmX5uIiNo/jSELWlNfUcxeuBahIBe/aCxt7FlQ67NEMVv+GoRDzXt4RO2T5EWp4uJiAEBycnKdfYmJiXA6nXA46i7XLJfLkZWVVee87Oxs7Nq1C4MHD26dhImIiKhDODfegJt7p+GGXqkwKBUtdt3JGfFQymqaqVcFglhfaG2x6xMRUftmTpsICDWDJIIBJyqLN0qYUXQRBOH3EWc1n6UBnxWO0q3SJUWtpuW+gZ2hqqrqBqAnT8H7g1pdvWyzy+WCwWCos7++az366KMAgDvvvLPJucTH6097jM1mQ2lp2SkbsBM1R0kr9/GTy+UwGg2Ij4+PvMeIqK7ExNN/7lD0S0oytvg1EwFMrfJgxRFLJPZziQ1T+6QhQcd/dxuL70Ei6fF9eKYMCLnHwnL8h0jEUboFXXpdALUuTsK8ookBwaoRKM3bHIlUFm9El14joVS3/Gd3e9UZ3oOSF6VCodBpj5HJTj+gy+1245577kF2djbuuusuDBs2rMm5lJc7EQo13EDN7/fBai2ByZSA2Fg1hJOWlCZqKQqFDIHA6d8XZyIcDiMYDMLjqcKRI8cQF5cMhUJ5+hOJOpnERANKS+uO0iVqrPOMMVivlKPSXz1tLxAK4797cnBtz1SJM4sOfA8SSY/vw+ZRGIZBrtiGYMAJAAiHAji6bykSu10pcWbRQ2UaBVnhLwgFPQCAUNCLo3tXIL7rpRJn1jY6yntQJhNOOQBI8ul7MTExAACv11tn3x+xP45pSGVlJW699VZs3boVl19+OR588MGWTxSAw2GDXh8LlUrDghRFJUEQoFAooNfHQqczoKqKzXeJiOrjCgRRWOU54/NVchkmZySIYnutTuQ43M1NjYiIooBMrkJs2gRRzG07AI/jhDQJRSG5QofY1HGiWFXFbnhdhdIkRK1C8qJUWloaAKC0tLTOvpKSEhiNRuh0DTceLS8vx4033ohdu3bh6quvxpw5c1qtYBQI+KBW151mSBSNNJoYeL385YiIqLaDtiq8ti8HCw4XwR048wbl58QbkFZrut43eaUIcVlrIqJOISZuIFS6NFHMWrAa4XDrzIroiPQJ50GpEa9sa81fhTA/SzsMyYtSRqMRGRkZ2L9/f519v/32GwYMGNDguU6nE7fddhsOHDiAm2++Gf/6179adQRTKBSETMZV/ahjkMvlCIW4GhQR0R/C4TCWnSjBx4cL4fAHYfcHsCK37kOzxpIJAi7uIv4inV/lxa8V0T8Un4iITq+mYXcNpSYR4ZBfooyijyDIYUqfLIr5qvLhstatH1B0krwoBQCTJ0/G5s2bcfTo0Uhs06ZNOH78OC666KIGz/vXv/6FAwcO4MYbb8Tjjz/eFqly2h51GPy7TEQkJggC1HLxV6Pd5Q7sbUYRqZtBi/5mcRuC1fnl8AX5lJyIqDNQx2RCZz4bKl0aknvfgoSsmZDJuehFU2iNPaA19hbFbIXfIxTk4mMdgeSNzgHgjjvuwLJly3DzzTfj1ltvhdfrxQcffID+/ftjxowZAIC8vDzs2rUL5557LjIzM3H06FEsW7YMBoMBffv2xbJly+pc949ziYiIiBpjYnocDtmrYHHXfNFdeqIEXfVaGFVn9rVpakYCsm1VCP4+08DuC+DnYhsuTOMKTEREnUFc5kUQZCo+FG4GU/okuB1HgN+nPgb9lags2QRTrZ5TFH3aRVEqLi4On376KZ5//nm8/vrr0Gg0mDhxIh555BGoVCoAwPbt2/H444/j+eefR2ZmJrZt2wYAcDgcDY6SYlGKiIiImkIhk+HK7il467c8BH/vV+EOhvDViWLc1CvtjH6hiNeocH6SCRuLbZHY+qIKnJdgPONCFxERRQ+OjGo+pSYehsThcJRsjsQcxZugjz8HCpVJusSo2YQwO4RFlJc7EQo1/HJYLDlISenahhm1vTlznsa333592uOmTZuOJ554uln3WrlyBZ577hm8/vo7OPfcIc26Vnu+Z21XXHEJUlJS8cYb79W7X6GQIRBom2kdneHvNNGZ6ChL8NKZ21BUgVX55aLYjK5JGJ4Ue0bXcweCeGnvCbhO+vd9SIIRM7slNyvPjorvQSLp8X1I7U0o6EXhb28gFKiKxHSmfkjodoWEWbWejvIelMkExMfrG9zPx3MkMmPGTAwZMiyyvWfPL1i+fAkuvfQyDBo0OBJPT89o9r0GDRqMf/zjX8jK6tbsaxEREbWk0SlmHLBVIcfpicRW5pWip1GLeI2qydfTKuSYkBYvapy+s6wSI5JNdVboIyKiziMUcEOm4ArvjSGTq2FKG4+K3BWRmMv2GzzOHGj0fNAerViUIpEBAwZiwICBke1gMIjly5dgwICBmDKl4abzZyI9PaNFiltEREQtTSYIuLJbCl7fnwPf76Oo/aEwFh0rxh19MyA/g2l8wxJjsaXEhlJP9apLYQArc0tx21np7DNCRNTJ+D3lsBasQcBrRWrfuyAIXOW9MWLizoGzdAd87qJIzJq/Giln3Q5BaBfruFET8adGREREVI84jRIXd0kUxXKrPPipyHpG15PLBFyUKb7eMYcb2baqBs4gIqKOJhwOw1rwHYqy34an8jAC3jI4SndInVbUEAQB5owpopjfbUFV+W5pEqJmY1GKztiHH76L8eNHYv36H3HppVMwadIYfP31UgDAwYPZeOKJh3HJJZMxduxwTJ8+CU8//QRKSooj569cuQKjRw/Brl07RNuHDx/C008/galTL8SkSWPw+ON/Q1FR4Wnz8Xg8eOedN3DFFZdg3LgRuOKKS/D22/Pg8XhOed66dWtx++03YtKkMZgyZSweeOBe/Prr7jN6TY4ePYKHHroP06dPxIQJo3DrrX/G11/XXRnyZOXlZbjqqhm45JLJyM09cUb3JSKi1jEkwYg+phhRbG1hOQpd3jO6Xu9YHXoZdaLYyrwyBE7R05KIiDoOQRAQCnoiq8gBgN2yHsGAS8Ksoota3wU68wBRzFb0Q/XrSlGH0/eayZV9ACWffgKfpej0B7chVUoqkq6/Ebo+fVv1PoFAAC+++H+47rob4PP5MHDgOTh69Ajuvfc2ZGR0wQ033Ay1WoO9e/dg9eqVKC8vw7x5757ymo899hCysrrjrrtmoaAgH4sWLURZWQnef/+TBs/x+/148MF7sW/fXlx00SXo06cffvttHz777GP8+utuzJv3LhSKun/df/llJ/75z79jxIiRmD59BjweN778chEeeGAWFiz4vEnTC202Gx56aBZiY0248cbboFKp8P33q/HCC89CpVJj8uSpdc5xOBx46KG/wOl0Yt68d9GlS1aj70dERK1PEARclpWE1/blwhUIAgCCYeCLYxbM6pcJpaxpz/cEQcC0zAQc2Z+LP8pQ5V4/tpbYMCrF3MLZExFRe2RKvRAu636EQz4AQDjogb1oHeIyW7ZdSkdmSpsAty0b4XAAABAKuGC3bIA5fbLEmVFTsSjVTMUL5sNfXHz6A9uYz1KE4gXz0W3Oi616n1AohMsvvwrXX39zJPbvfz8PQRAwb947MBqrVymaMWMm/H4/1q5dg8pKeyRenz59+mLOnLmRbY/HjaVLv0ReXi4yM7vUe8433yzD3r2/4v77H8JVV10HALjssivQrVt3vPXW61ixYikuu6zuqgxr134HtVqDF154OdLPY+jQEXjyyUdw6FB2k4pSO3duR3l5OV588RX06dMPAHDxxZfirrtuwbFjR+oc7/V68MgjD6C4uAivvvo2evTo2eh7ERFR2zEoFbgsKwmfHal5AFXi9mFbif2MCkkpOjWGJhqxrbQyEvuhsAKDE4zQKdhThIioo5Mr9YhNGQNb4feRmLNsJ/QJ50Gl5aqsjaFQxcKYPAp2y/pIzFGyDfr4c6HUJEiYGTUVp+9Rsw0ffr5oe/bsx7Bo0QpR4amqygm1unp1IZfLfcrrjR8/SbTds2dvAEBFRXl9hwMANm7cgJiYGMyceZUofuWV1yImJgY//bSu3vOSkpLgclXh1Vfn4sSJ4wCAHj16YuHCr3DhhRNPmWd91wKAt99+A3v2/IJgMAilUon//OdT3H33faJjg8EAnnzyUezduwfPP/8S+rTyiDYiImqe/mY9zo03AABkAjAxPQ4jkk1nfL0J6fFQnzTKyh0M4YfCiuamSUREUcKQOAwK1ckPNsKw5q9GOMzp3I1lSB4JudJ4UiQEa8F3kuVDZ4YjpZop+YabUfLZAvga0fOoLalS05D05xva5F5mc5xoWxAEVFba8emnH+HIkSMoLMyHxVIU+Qc2fNL86fqYTOKnzipV9dLbwWCwwXOKigqRlpZeZ4qeUqlEWlo6LA1Mr7z88quwbdsWfPnlF/jyyy+QmpqOUaNG4+KLZ6BXr96nzLO2s88ehCuuuAZffvk5du7cBqMxFsOGjcDkydMwcuRo0bF79/4K2e+/jOzduweDB5/XpHsREVHbm94lEc5AEBPT45ERo2nWtQxKBcalmbE6v+aBy5YSG4YnxiJRq2puqkRE1M4JMgVMGZNRduzzSMzrPAG3/SB0pj4SZhY9ZDIlTOmTUH7iy0jMU3kYbvthaGN7SZgZNQWLUs2k69MXWc8+J3UakpLV6qexadNGPP74bMTHJ+C884ZixIiR6NOnL7Zt24IFCz467fXOZFnsUz1RCIXCUCqV9e6LidHjjTfew759e/HTT+uwZcsmLF78Ob76ahGefPJf9faBOpUHHvgbrrzyGqxbtxZbtmzCunVr8f33qzFjxkw8/PDfI8cplUo8++yL+N//PsXHH3+ICRMmN2mqIBERtT2NQo6be6e32PVGJpuwrcQOq+/3fhhhYFV+GW7oldZi9yAiovZLa+wNjaEbPI7jkZit4DtojT0hyPiremPoTP3gjNkGb1VeJGYtWAONsTsEgVPiowGn71GLe+WVucjIyMRnny3GE088jWuvvR6DB58Hm83WavdMSUlDYWEBAoGAKO73+1FUVIikpPrnZufm5uDAgf0YMOBs3HPPX/DxxwuxYMEXMBgM+N//Pm1SDhUV5di5czvS0zPw5z/fhHnz3sWyZaswcOA5WL58CZxOZ+TY/v3PxujRY/DQQ48gEAjgpZdeaPofmoiIoppSJsOUTHHfiwO2Khyt5ApMRESdgSAIMKVPAVDzUD7gs8JRulW6pKKMIAgwZ4gHEgS85XCUbpcoI2oqFqWoxVVW2pCcnAqtVhuJFRdbsGHDDwBOPQ3vTI0adQGqqqrw1VdfiOJLliyCy1WFkSMvqPe8V1/9Nx577CG4XDW/AHTtmgW93gC5vGlvj2++WYG//vUeZGf/FonFxpqQkZEJQRDqjCgDgO7de+KKK67Gtm1b8N13q5p0PyIial/OpA/I2WY9uujFUwG/yS1FiD1FiIg6BZU2CfqEIaKY3fITgn5nA2dQbSpdKmLiB4tidst6BP1VEmVETcExgdTiRowYibVrv8Pcuc+hb99+KCgowIoVS+F2ewAALlfL/+NwySV/wqpVX2PevFdw9OgR9OnTD9nZv2HlyhXo128ALrnkT/Wed801f8bf/nY/Zs26HdOmTYdKpcKGDetRUJCPW255pkk5TJs2HZ9//hkeeeRBXHbZFUhISMTBgwewatU3mDZtOnQ6Xb3n3XbbXfj++zWYN+8VjBgxCmZzwysTEhFR+xMMhfFjUQWK3V5c1yO1SdPQBUHAxZmJePtAzbQDi9uHXWWVGJLIzwMios4gNnUsXNa9CAWrf18Kh3ywFf6A+K6XSpxZ9DClXgiX9TeEQ14AQDjohb1oHeK6XCxxZnQ6HClFLW727McxffoMbNy4Hq+8Mhfr1q3F1KkX47XX3gIA7Ny5o8XvqVKp8Nprb+Pqq/+M7du34vXXX8Ivv+zEDTfcgnnz3qnTAP0Pw4aNwAsvvAyNRouPPvoA8+a9AofDjqefnoOpU5v2D1hCQgJef/0dnH32QCxd+iVefvlF7NixHbfeeif+9rfHGzxPp4vBffc9gIqKcrzzzrwm3ZOIiKRV4vbhnQN5+KGwAvutVdhZVtnka2TqNRgUZxDF1uSXwxs89cIgRETUMcgVOsSmjhPFqip2w+tqX4tptWdypR6xKWNEMWf5LvhcFokyosYSwlxzMqK83IlQqOGXw2LJQUpK1zbMiDojhUKGQKBtfhHh32mi+iUmGlBa6pA6DYoCH2Tn45jDHdlWyQTc378r4jT1L7DREJvXj5f35iBw0teycalmTM5IOMVZHRffg0TS4/uwbYXDQViy34PfUxqJ6ROGIi5zmoRZRZdwKIii7LcR8FZEYmp9VyT1vPGMFtOSWkd5D8pkAuLj9Q3vb8NciIiIiDqUy7KSoJTVfNH1hcJYdNzS5J5QJrUSF6SYRbGNFhtsXn+L5ElERO2bIMhhSp8MAJArjYjvOrNOA286NUEmh/n31/APXmcO3PZsiTKixmBPKaJTcDqd8Ho9pz1OJpPDbDaf9jgiIupY4jUqXJSZgGU5NU+2c5webLRYMSY1rknXGpNqxo4yOxz+6gVBAuEwVueX4+oeKS2aMxERtU9aYw/Ed/0TtLF9IJOrpE4nKmmMvaAx9IDHcTQSsxZ8B42xJ2Sypo1iprbBohTRKbz22r/x7bdfn/a4lJRULF68og0yIiKi9mZYYiwO2KpwyF6zkut3BRXoFRuDVJ260ddRy2WYlB6Pr06URGJ7KhwYmWxCZq0V+oiIqGOKiRsodQpRTRAEmDMmo+jAOwCqRy0HfTY4SrYgNqX+FdlJWixKEZ3CddfdiMmTTz+PW61u/C8dRETUsQiCgJlZyXhtXw7cvzcnD4bDWHTMgnv7ZUIha3y3hHMTjNhcYkeRyxuJfZNbirv6ZkRlPwwiIqK2ptQkwpA4DI7SrZFYZfFGxMQNgkJllDAzqg+LUkSn0K1bd3Tr1l3qNIiIqJ0zqhSYkZWE/x2tWeXH4vbh+4IKTM1sfLNymSDgoswEfHiwIBLLrfJgb4UTA+MNpziTiIiI/hCbMgZVFb8iFKxejCQc8sNWuBYJWZdJnBnVxkbnRERERC1gYJwBg+LEhaOfLFacOGl1vsboYdShrylGFFuVXwZ/qG1WZiUiovYlGHCjIn8VvM5cqVOJGjKFFrFpF4piLuteeKvyJMqIGsKiFBEREVELubRrIozKmoHoYQCLjlvgDTatoDQtMwEnLeoHmy+ATcW2lkmSiIiiQjgcgqN0O4p+ewPO0m2w5q9GuImru3Zm+vhzodQki2J8DdsfFqWIiIiIWohWIccV3Wp9AfYG8E1uaQNn1C9Bo8KIJJMotq7QCoc/0NwUiYgoSviqCmDN/zYyBc3nLkJVxR6Js4oegiCDOWOyKOZzFaKq4leJMqL6sChFRERE1IJ6xupwflKsKLajrBIHbM4mXWd8Why08pqvat5QCN8XlLdIjkRE1P6p9ZnQmvqKYrbCHxAKehs4g2rTGLrV8xqu5WvYjrAoRURERNTCpmQkIEGjjGwblHIohaZ97dIp5JiQHi+K7SithMXFL9JERJ2FOW0SIMgj26GAE5XFGyXMKPqY0ybyNWzHWJQiIiIiamEquQxXdUuBDMDZZj3+OqAresbqmnyd4YmxouJWGMDKvFL2wyAi6iQUahOMSeeLYpUlW+D3VkiUUfRRqM31voYBr1WijOhkLEoRERERtYIMvQZ/GdAF1/ZMhU4hP/0J9ZDLBEzLTBDFjlS6cdDuaokUiYgoChiTR0Ou0NcEwkHYCr6XLqEoVN9raC34TrqEKIJFKRKZM+dpjB495LT/zZnzdLPvtXLlCowePQS7du1ofuIN2LVrB0aPHoKVK1e0yHHtxX333YkrrrhE6jSIiOg0krXqZl+jT2wMuhu0oti3eaUIhjhaioioM5DJVTClTxTF3PZseBzHJcoo+jT8Gh6TKCP6g+L0h1BnMmPGTAwZMiyyvWfPL1i+fAkuvfQyDBo0OBJPT89o9r0GDRqMf/zjX8jK6tbsazUkK6sb/vGPf2HAgIGtdg8iIqLWJAgCLu6SiDf25+KPMlSpx49tpXacn2ySMjUiImojOvPZcJRug89VGIlZ81cjpc+dEJrYs7Czqn4Nt8PnKojErPlr+BpKjEUpEhkwYKCogBMMBrF8+RIMGDAQU6Zc1KL3Sk/PaJHi1qnExcW3eN5ERETNVekLIL/Kg35m/ekPBpCqU+O8BCN2lFVGYmsLy3FOvAHaM5waSERE0UMQBJgzpqL40H8iMb+nBM7yXTAkDJEws+hR/RpOqfsalu2EIXGohJl1biwHEhEREbWhvRUOvLYvB/87akGxu/Er6U3KiIdKJkS2XYEQfixko1sios5CHZMBnflsUcxe+CNCAbdEGUUfdUwGYuLEs2jsResQ5GsoGRal6Ix9+OG7GD9+JNav/xGXXjoFkyaNwddfLwUAHDyYjSeeeBiXXDIZY8cOx/Tpk/D000+gpKQ4cn7tnlJ/bB8+fAhPP/0Epk69EJMmjcHjj/8NRUWF9aVQ51rr1q3FlVdeigkTRuHDD9+tt1eU2+3Ga6+9hBkzpmLixNF48slH4HQ661wzEAjg/fffxsyZF2PChFG47747cfjwIYwdOxwffvhunfvfcst1GD9+JKZPn4g5c55GWVnZGb2uFksRnnjiYcyYMQXjx4/E9ddfic8++xihUKjBc1wuF+644yZMmnQBfv119xndl4iIWt/ynBIsPGqBOxhCIBzGomPFCDSyN5RBqcDY1DhRbHOJDWUeX2ukSkRE7ZApbQIEWc2qrKGgG3bLBgkzij6x9b6G6yXMqHPj9L1m8jiOoyLvWwS8Z1aAaC0KdQLiMqdBY2i9fk1AdeHmxRf/D9dddwN8Ph8GDjwHR48ewb333oaMjC644YaboVZrsHfvHqxevRLl5WWYN+/dU17zscceQlZWd9x11ywUFORj0aKFKCsrwfvvf3LafJ577l+44oqrodfr0b//QASDAdH+cDiMRx99ELt378Kll16Gbt2648cf1+K5556uc61nnnkSP/74PaZNm44+ffph06aNuP/+u+sUh/7zn/fwn/+8h3HjJuDSS2eipKQYX331BX75ZSc++GABTCbTafP+QyAQwAMP3AePx4Orr/4z9HoDNm/+GW+/PQ/BYBA33nhrnXP8fj/+/ve/4ejRI5g791UMHHhOo+9HRERtq6teiy0l9sh2ocuLHwrLMTkj4RRn1RidYsK2UjvsvurPt2AYWJVXhut7pbVKvkRE1L4oVEYYk0fBXrQuEnOUboc+4TwoNY37LOnsFEoDjMkXwF70QyTmLN0Offy5UGmTJMysc2JRqpkq8r5BwNv+hs4HvGWoyPsGaf3ua9X7hEIhXH75Vbj++psjsX//+3kIgoB5896B0RgLoLqBut/vx9q1a1BZaY/E69OnT1/MmTM3su3xuLF06ZfIy8tFZmaXU+YzduyFuPPOeyPbtVf227RpI3bt2oH7738IV1113e+5XY7Zs+/Hzp3bIsft2fMLfvzxe9x4462R682ceSWeeOIRbNjwY+S4goJ8zJ//Aa6//mbcfXfNaz1p0hTceuv1+OSTD3H//bNPmfPJDh3KxokTx/Hssy/gwgurV4e45JI/Yfbs+5Gbm1Pn+FAohGeeeRJ79vyC556bi/PO41xoIqL2bGCcHr9Z9dhrrRmhu77Iij6mGHTRa09xZjWlTIYpGfH44ljNyOPfbFU4VulCd6OuVXImIqL2xZB0PpzlvyDos0OQKWFMHg2FyiR1WlHFmDQCzvJdCPpsv0fCsBWsQWKPP0MQhFOdSi2M0/eo2YYPP1+0PXv2Y1i0aIWo8FRV5YRaXb0stst16vm648dPEm337NkbAFBRUX7aXIYNG3HK/Vu2bIJMJsP06X+KxBQKBWbOvFJ03B+Fp2uu+XMkJggC/vznm2odtw6hUAijR4+BzWaL/BcXl4Bevc7Cpk0bT5vzyRISEiEIAhYs+Ahbt26G3++HIAh4+eV5ePLJZ+ocP3fu81i3bi0eeeQJnH/+6Cbdi4iI2p4gCJiRlQSDsqY5eRjAomPF8AUbnqZ9skFxBmTGaESxlXllCIUbNw2QiIiim0ymhDltEmLiBiK1332ITbkAgozjTZpCkClgThf/3ulxHIO78pBEGXVe/JvbTHGZF6Mi/1sEPO1s+p4mAXEZ09rkXmazuL+FIAiorLTj008/wpEjR1BYmA+LpQjh378sh8On/tJtMplF2yqVCkD1SoBNzaU2i6UQZnMcdDrx0+SuXbNE23l5eTAaY+uM6Kp9XEFBPgDg7rvrTqsDAKVSWW+8IUlJybjvvr/irbfmYfbsv0Cr1WHIkKEYP34Sxo+fBLm85pcYi6Uo0sPr11/3YNq06U26FxERSUOnkOPybsmYf6imX2K5149v88owI+v00wYEQcDFXRLwzoH8SKzQ5cUv5Q6cl2BslZyJiKh90Zn7QWfuJ3UaUU0b2wdqfRa8zhORmK3gO2gNPVjka0N8pZtJY+iGtL73nv7ADkwmEw+427RpIx5/fDbi4xNw3nlDMWLESPTp0xfbtm3BggUfnfZ6zRkuWTuX+q7t89VtCFu7T1QgEKi3oPRHgazmvOpC2QsvvBwZCdZcf/7zjZgwYQrWr/8Bmzf/jG3btuCnn9Zj1aqVeOml1yPHCYKA2bMfw969e/D110sxbdrF7CdFRBQlesfGYHhiLLaW1vSX2lpqR19zDHrHxpz2/C56Lc6O02NvRc00wDX5ZTjbrIdKzoHwREREpyMIAswZU2DJfg/V45aBgLcCjtJtMCaPlDa5ToTfWqjFvfLKXGRkZOKzzxbjiSeexrXXXo/Bg8+DzWaTOjWkpaXD4aisk0thYUGd46zWClRViVfly8/PFW2nplY3lk1OTsbQocNF/wUC/iYXqior7di5czuMxlhcfvnV+Pe/X8fXX3+PceMmYOvWTTh69Ejk2OTkFPzpT5dj1qy/IiYmBnPnPodAIHCKqxMRUXsyLTMB8WrxA5AvjxfDFTj9yGAAmJqRAMVJD3Ic/iA2WKwtmiMREVFHptImQ59wnihmt2xA0F93dXZqHSxKUYurrLQhOTkVWm1Nw9biYgs2bKhe3aAx0/Bay5gxFwIAFi5cEImFw2EsWbJYdNzYseMQCoXqxL/6apFoe9SoCwAACxbMj0xPBIDDhw/iscdm44svFjYpv23btmDWrLvw8881y7pqtVp0794DQP0jweLi4nHbbXfj+PFjoj8XERG1byq5DFd2T8bJ44Md/iCWnSgRfaY0xKxWYlSySRT7yWKF3edv2USJiChqhENBeBzHpE4jqsSmjoMgr+nVGA75YCv84RRnUEvi9D1qcSNGjMTatd9h7tzn0LdvPxQUFGDFiqVwuz0AAJerSrLczj13CMaPn4TPPvsY5eVl6NdvADZu3IBDhw6Ijhs6dARGjboA77zzBnJzc9C3b39s374VW7duAlAzxbB795644oprsHjx/2C32zFmzFhUVlbiyy8/h1arwx133NOk/EaNGoOuXbPwwgvP4uDBbGRkZCAnJwdffvkFzjtvKLp1617veTNnXolvvlmO+fM/wIQJk5GWln4Grw4REbW1Lnotxqaasa6oZoTTXqsTfSscOCf+9P2hxqaZsaOsElW/j67yh8JYk1+OK7untFrORETUPrnth2EtWIOAtwIpfe6ESpssdUpRQa7QwZQyFtaC1ZFYVcVu6BOHQK1LkzCzzoEjpajFzZ79OKZPn4GNG9fjlVfmYt26tZg69WK89tpbAICdO3dImt9TTz2Lm2++Hbt27cAbb7yKcDiEf/5zTp3jnnnmeVx11bXYsmUT5s17GU6nA8888xwAQKms6S3117/OxuzZj8Fms+LNN1/DV18twsCBg/HWWx/UaYx+OlqtFq+99ibGjLkQa9Z8i5deehE//PAdLrvsCjz33NwGz5PL5Zg9+1H4fD689NKLTbonERFJa3xaPNJ04uney3NKGzXiSSOXY1J6vCj2S7kD+U5Pi+ZIRETtW0XeSpQeW4iAtxxAGNb81Y0adUvV9IlDoNAkiGLW/FV8DduAEOarHFFe7kQo1PDLYbHkICWlaxtmRFJxOp1QKpV1ekJlZx/A7bffgMce+wemT5/RKvdWKGQIBBq3LHhz8e80Uf0SEw0oLXVInQZ1IsVuL97cn4fASV/LxqSYMTUz4RRnVQuFw3hjfy4s7pqFPLrqNbizT0azFg+REt+DRNLj+zC6uOwHUXbsc1EsodtV0Jn6SJRR9HFXHkHp0f+KYvFdZyImboAk+XSU96BMJiA+Xt/w/jbMhShqrF//AyZNugB79+4RxdeuXQMA6NevvxRpERFRB5WsVWNyRvWIJ4Ug4KLMhMj26cgEAdNqFa9ynB7ss7JJKxFRZ6E19obGIG71Yc1fDb+nTKKMoo/W2BMaYy9RzFb4PULBuqu3U8thTymieowceQFiYvT45z//jssuuxKxsbHYv38vVq5cgSlTpqF7956NvpbL5YLb7WrUsfHxp38iTkREHdPIZBMqvH4MT4pFsrZpq7f2io3BWbE6HLTXfN6syi9DX1MMFPUskkFERB2LIAgwp09BUfY7AKpH3Qb9dliy34MpYzL08edF7ejZtmROn4wix1EgXD1zJeivRGXJJphSx0mbWAfGohRRPcxmM95++0P85z/vYfHi/8HhcCA1NRV33TUL1157Q5OutXDhAnz00fuNOnbjRmn7bRERkXRkgoBLuyad8fnTMhNx2J6DPyaAW70BbCq2Y0yquWUSJCKidk2pTYQ+cSicpdsisXA4AGveSnjsRxDX5RLIlTESZtj+KTXxMCQOh6NkcyTmKN4EffxgKFSxEmbWcbEoRdSArKxu+Ne/nm/2daZOvRgDB57T/ISIiIhOIUmrwrCkWGwpsUdiPxZV4NwEA/RKfuUjIuoMzGkTEfI74bL9Joq7Kw+hKPsdxHe5FNrYXg2cTQAQm3IBqip+RShQvWp8OByAreB7JHS7XOLMOiZ+QyFqZenpGUhPz5A6DSIiinL+UAjK00zFm5gej93lDniC1eOlvMEQ1hZUYEbWmY/AIiKi6CHIFIjPuhyaip7Vq8eFavohhQJVKD22EPqEITClT4JMppQw0/ZLJtfAlDYeFbkrIjGXbT88ziHQ6LlIVEtjkwEiIiKidswfCmFlbine2J8HX/DUq7PqFHKMT4sTxbaV2lHs9rZmikRE1I4IggB9/DlI6XMnVDF1H447y3bAcvB9+NwlEmQXHWLiBkGpTRXFrPmrEQ63zSrpnQmLUkRERETtVKHLi7d+y8PGYhtKPT6szj/9KkojkkyIV9c8/Q4D+DaPqy8REXU2SnUcknvdjNiUsQDETc6DPgdkMpU0iUUBQZDBnDFFFPO7Lagq3y1NQh0Yi1JERERE7dS2EhuK3TVTLzaX2HHYXnXKcxQyAVMzxau5HrK7cOg05xERUccjCDLEpo5Fcu9boFDVLHwRlzkNCrVJusSigEbfBTpTf1HMVvQDQkGPRBl1TCxKEREREbVT0zITYVaLW4B+ebwE7kDwlOf1M8Wgm0Eriq3MLUMwHG7xHImIqP1Tx2Qgpc+diIk7BzpTf+jMZ0udUlQwpU+EINR8DocCLtgtGyTMqONhUYqIiIionVLLZbiyW4po0kWlP4AVOaWnPE8QBFyUmSA6r8Tjw/ZSe4PnEBFRxyaTqxHf9VLEZ10GQRDqPcbnLuFIoJMoVLEwJI8UxRwl2+D3cFp8S2FRioiIiKgdyzJocUGKWRTbXeHA3grHKc9Lj9FgcIJBFPu+oAKe04yyIiKijk0Q6i8DhIIelB5biKLsd+Fx5rZxVu2XMXkU5ErjSZEQrAXfSZZPR8OiFBEREVE7NzE9DilacUPapSdKUOkLnPK8yekJUMpqnoa7AkH8WGRtlRyJiCi6VeR9i6DPjqDPjpLDH8NW+APCYT7IkMmUMKVPFMU8lYfhrjwiUUYdC4tSJDJnztMYPXrIaf+bM+fpZt9r5coVGD16CHbt2tGurhVN7rvvTlxxxSVSp0FERK1MIZPhqu4pkJ803cIdDOGrE8UIn6JPlFGlwJhao6w2FdtQ4fG3Wq5ERBR9XPaDcFn3nhQJo7J4I4oPfQS/p1yyvNoLnak/1DGZopg1fw2Ldi1AcfpDqDOZMWMmhgwZFtnes+cXLF++BJdeehkGDRociaenZzT7XoMGDcY//vEvZGV1a/a1iIiIOroUnRqT0uOxKr+mj8UhuwvbSu0YnmRq8LwLUszYXlqJSn/1qKpgOIxV+WW4rmdqa6dMRERRQmvoAUPicDhKt4riPlchLAffgzl9CmLiBzfYi6qjEwQB5owpsBz8IBILeMvgKN0BY9JwCTOLfixKkciAAQMxYMDAyHYwGMTy5UswYMBATJlyUYveKz09o0WKW0RERJ3F6BQTsm1OnHDWNKFdmVeGHkYdEjSqes9RyWWYkhGPRceLI7F9VidOONzIqrVCHxERdU6CTAFzxhRojD1RnrMMoYAzsi8c8qMi72u4Kw8jrsslkCt0EmYqHZUuDTHxg1FV/kskZresQ4x5AOTKGAkzi26cvkdEREQUJWSCgCu6p0B1Up8ofyiMRceKETzFNL5B8Qak69Si2De5pQid4hwiIup8tMYeSO17N7SxZ9XZ57YfRNGBdzp1LyVT6oUQZDUPgcJBL+yWddIl1AGwKEVn7MMP38X48SOxfv2PuPTSKZg0aQy+/nopAODgwWw88cTDuOSSyRg7djimT5+Ep59+AiUlNU9pa/eB+mP78OFDePrpJzB16oWYNGkMHn/8bygqKmxyfvn5efi///snLrvsIowbNwLTpo3HI488iGPHjoqOW7duLW6//UZMmjQGU6aMxQMP3Itff90tOuaXX3Zi1qw7MHXqOEyadAHuuedWbNy4oc49v/56KW6++TqMHz8S06dPxDPPPHlGuQOAxWLBE088jBkzpmD8+JG4/vor8dlnHyMUCjV4jsvlwh133IRJky6o82cgIqKOIU6txPQuiaJYXpUHG07RwFwmCLio1jkFLi/2lJ96BT8iIup85AodErpdhbgul0CQKUX7QgEnSo/+FxX5qxAKdb7+hHKlHrEpY0QxZ9ku+FwWiTKKfpy+10xHK11YnlOC0nbWMDRRo8SlXZPQw9i6QysDgQBefPH/cN11N8Dn82HgwHNw9OgR3HvvbcjI6IIbbrgZarUGe/fuwerVK1FeXoZ589495TUfe+whZGV1x113zUJBQT4WLVqIsrISvP/+J43Oq6KiHHfddTN0Oj0uv/wqxMaacPjwQaxYsRQ5OcexcOFXkMlk+OWXnfjnP/+OESNGYvr0GfB43Pjyy0V44IFZWLDgc6SnZyA39wQeeeQB9Op1Fu68cxbC4TBWrFiKxx+fjTfeeB+DBp0DAHjzzdewcOECnHfeMNx77/0oKyvDl19+ju3bt+L99z9Gampak17Xv/3tL/B4PLj66j9Drzdg8+af8fbb8xAMBnHjjbfWOcfv9+Pvf/8bjh49grlzX8XAgec0+n5ERBRdzksw4oCtCgdsVQAAs0px2ql43QxaDDDrsc9aMyVjTX45+pv1UMn5nJKIiGoIggB9/GCoY7qgPGcJfC7xg3Zn6TZ4HccRnzUTKm2yRFlKw5A4HM7yXQh4K36PhGEtWI2knjd22p5bzcGiVDMtPVGCcm/7KkgBQKnHj6UnSjB7YFar3icUCuHyy6/C9dffHIn9+9/PQxAEzJv3DozGWADVDdT9fj/Wrl2Dykp7JF6fPn36Ys6cuZFtj8eNpUu/RF5eLjIzuzQqr5UrV8But+Ottz5E165ZkbhOF4NPP52Pw4cP4ayz+mDt2u+gVmvwwgsvR/4BGTp0BJ588hEcOpSN9PQM/PTTerjdbjz33L9hMpkAABMnTsbdd9+Kw4ezMWjQOThx4jj+979PMWbMhZgz5/9FrnXBBeNw99234O235+Ff/3q+UbkDwKFD2Thx4jieffYFXHhh9fKjl1zyJ8yefT9yc3PqHB8KhfDMM09iz55f8Nxzc3HeeUMbfS8iIoo+giDgsqwk5O7LRV9TDC7qkgCNXH7a86ZmJOCArSoy1c/uD+AnixUT0uNbO2UiIopCSk08knvfArtlAyotGwHUTPv2e0pRVbEXqvTOVZQSZHKY0yej9Nj/IjGvMwduezZ0pr4SZhad+FiMmm348PNF27NnP4ZFi1aICk9VVU6o1dW9LFwu9ymvN378JNF2z569AVSPfmqs66+/GStWrBEVpLxeD2Sy6r/ybrcLAJCUlASXqwqvvjoXJ04cBwD06NETCxd+FSkGJSZW/yP7yisvIjv7AAAgNtaEhQu/whVXXAMA+PnnDQiHw7j++ptE1fH+/Qdg6NAR2LTpJwQCgUbnn5CQCEEQsGDBR9i6dTP8fj8EQcDLL8/Dk08+U+f4uXOfx7p1a/HII0/g/PNHN/o+REQUvfRKBf46oAtmdktuVEEKAOI0SoxMNoliGyxWVPoa/xlFRESdiyDIYUq9EMm9boJcZYrEldoUmFLHSZaXlDTGXtAYuoti1oLvOuWUxubiSKlm+lNWEpbnlKLU45M6FZFEjQqXdk08/YEtwGyOE20LgoDKSjs+/fQjHDlyBIWF+bBYihD+/alsONxwTyQAMJnMom2VqrqRXDAYbFJefr8f7733Fg4ezEZBQR6Kigoj1/ijL9Pll1+Fbdu24Msvv8CXX36B1NR0jBo1GhdfPAO9elUXw8aPn4gNG37E2rXfYe3a7xAfn4Dzzx+FadOmY9CgwQAQ6RvVpUtWnTyysrKwbdtm2O02xMcnNCr3pKRk3HPP/Xj33Tcwe/ZfoNXqMGTIUIwfPwnjx0+C/KRfPiyWokgvr19/3YNp06Y36XUiIqLopVc2/avchalm7CyrhCtQ/ZnoD4WxpqAMV3RLaen0iIioA1HruyC1z12w5n8Ll/U3JHS9DIKsc5YUBEGAOX0KirLfwR+jx4I+GxwlWxCbcoG0yUWZzvk3qAX1MOrw4NldpU5DUn+MPvrDpk0b8fjjsxEfn4DzzhuKESNGok+fvti2bQsWLPjotNdriXm42dkH8Je/3Am1WoMhQ4bh4osvRe/efVBQkI+XX34xclxMjB5vvPEe9u3bi59+WoctWzZh8eLP8dVXi/Dkk//C5MlToVAo8H//9yKOHj2C9et/wJYtm7By5Qp8/fUy3HXXfbjhhpsjBbf6hELV+5RKZYPH1Oe6627A5MlTsX79D9i8+Wds27YFP/20HqtWrcRLL70eOU4QBMye/Rj27t2Dr79eimnTLmY/KSIiapBGIcfE9DgszymNxH4pc+D8JBPSYzQSZkZERO2dTK5GfNc/ITZlLBRqc73HhMNhhEN+yOSqevd3FEptIvSJQ+Es3RaJVRZvREzcIChURgkziy6cvkct7pVX5iIjIxOffbYYTzzxNK699noMHnwebDZbm+Xw1luvQalUYcGCL/D003Nwww23YPjw8+F0ilcZys3NwYED+zFgwNm4556/4OOPF2LBgi9gMBjwv/99CqB6Fbw9e3ajR4+euPXWO/Hee/OxePEKZGR0wcKFCwAAKSnVTcxzck7UySU3NwdarRYGQ+P/YaqstGPXrh0wGmNx+eVX49//fh1ff/09xo2bgK1bN+Ho0ZplWJOTU/CnP12OWbP+ipiYGMyd+1yTpgoSEVHHY/X68dMpVuMbmhiLJM1JS1oDWJlXdsqHLERERH9oqCAFAI6SzbBkvwuvM68NM5KGKWUsZPKahUbCIT9shT9ImFH0YVGKWlxlpQ3JyanQamvenMXFFmzYUP3mbOo0vDNht9thNpthNtf8Y+l0OrFy5deiHF599d947LGH4HK5Isd17ZoFvd4A+e8rES1Y8B888MA9KC0tiRyTlJSMpKSkyCixUaOqh2h+9tnHoi/0Bw9mY8eOrTj//NFNGgG2bdsW3H//3fj55w2RmFarRffuPQDUHZ0GAHFx8bjttrtx/PixSLGMiIg6l3A4jJ1llXh9Xy6+zS/DvgpnvcfJBQEXdRFPKT/ucEdW8yMiIjoTPpcFtqIfEPBZUXx4PmxF607bviWayRRaxKZeKIq5rL/CW5UvUUbRh9P3qMWNGDESa9d+h7lzn0Pfvv1QUFCAFSuWwu32AABcrtb/wjtixEh89tnH+Mc/HsOwYSNQXl6Gr79ehoqKit9zqC5CXXPNn/G3v92PWbNux7Rp06FSqbBhw3oUFOTjlluqG4rPnHkVVq36BrNm3YEZM2bCYDBi587t2LVrB26//W4AQPfuPXDFFddg8eL/4YEHZmHMmLEoKyvDl19Wj7q6++77mpT/qFFj0KVLV7zwwrM4eDAbGRkZyMnJwZdffoHzzhuKbt2613vezJlX4ptvlmP+/A8wYcJkpKWln+lLSEREUWhVfhl+stgi20tzStDVoIGhnt5TvWNj0DtWh0P2mgcz3+aVoXdsDBQyLmlNRERNEwr5UZbzFRApQoVRadkAT+VRxGddBqU67pTnRyt9wrlwlu2A31MziMGavwrJvW9rkdY0HR1HSlGLmz37cUyfPgMbN67HK6/Mxbp1azF16sV47bW3AAA7d+5o9RxuvfVOXHvtDdi/fy9eeWUuVq5cgaFDh2P+/M8gk8mwa9d2AMCwYSPwwgsvQ6PR4qOPPsC8ea/A4bDj6afnYOrUiwFUr8b36qtvISMjEwsXfvr7Sn3H8OCDD+Omm26L3POvf52Nhx56FFZrOd5441V8881yjBkzDh9++GmTi0NarRYvv/wmxoy5EGvWfIuXXnoRP/zwHS677Ao899zcBs+Ty+WYPftR+Hw+vPTSiw0eR0REHdOgOAPkJ33/dQWCWHK8pMFpedMyE0RfBsu9fmwpsbVqjkRE1DEJEOqsSAcAPlcBLNnvwln+S4ecJi4IMpgzpohiPlchqip+lSij6CKEO+LfijNUXu6MNKWuj8WSg5SUzt3UnFqfQiFDINA2Q1z5d5qofomJBpSWOk5/IFE7tK6wAmsKykWxy7KSMDQxtt7jl50owdZSe2RbI5fhbwOzoFPI6z2+LfA9SCQ9vg/pTLnth1GeuxyhQN0ZMtrYPojrMh1yhU6CzFpX6bEv4LZnR7blCj1S+82CTK4+o+t1lPegTCYgPl7f8P42zIWIiIiIWtkFqWZ0qbWK3je5pajw+Os9fkJ6HNTymq+EnmAI39cqahERETWWNrYXUvvcDW1s7zr73PZsWA68A3flUQkya13m9EmAUPNAJxhworJ4o4QZRQcWpYjaiMvlQnl5WaP+IyIiOlNyQcCV3ZOhOqkvlC8UxqLjFoTqGSCvVypwYaq4z8e2EjtK3L5Wz5WIiDomuTIGCd2uRlzmxRBkStG+YMCJ0qOfwZq/GuFQx1k1XKE2w5g0QhSrLNmCgLfh1XCJjc6J2szChQvw0UfvN+rYjRtbv+8WERF1XPEaFaZlJmJZTk3T1RynBxstVoxJrdtodmRyLLaW2mD1Vv9yEALwbV4pburNBTOIiOjMCIIAfcJ5UOuzUJ6zBD5XoWi/o3QrPI7jiM+6DCptskRZtixj8mhUle9BMPD76rfhIKwF3yGx+1XSJtaOsShF1EamTr0YAweec9rj5HIOYCQiouYblmhEts2JgyetrvddQQV6xcYgVSfub6GQyTA1IwELj1oisYN2Fw7bq9ArNqbNciYioo5HqYlHcu9bYC9aj8rinwHUjNr1e0pQevS/SOv3Fwiy6C9PyORqxKZNQEXuskjMbc+Gx3EcGkM3CTNrv6L/p04UJdLTM5CennHa49qy0TkREXVcgiDgsqxkvL4/B67fP1eC4TAWHbPg3n6ZUMjED0EGmPXoqtcgx+mJxL7NK0MPow4yLmlNRETNIAhymNLGQ2PsgfKcpQj6ahbYMGdM6xAFqT/ExA2Es2y7aGSYNX81UvrcCUHgAITa+IoQERERdVBGlQIzuiaJYha3D98XVNQ5VhAEXJyZWOfYnWWVrZojERF1Hhp9V6T2uQs689kAgJj4wdCZ+kicVcsSBAHmjKmimN9TAmfZLokyat9YlCIiIiLqwM6OM+CceIMo9pPFiuMOd51jM/QaDK517Jr8cniCwVbNkYiIOg+ZXIOErMuQ0O1KmNOnSJ1Oq1DHZEBnHiiK2Yt+RDBQ97O3s2NRioiIiKiDu6RLImKVNVMjwgD2lDvqPXZyRjyUJ63cVxUIYn0RVw4iIqKWpTP1hUyuqndfMOBC8eH58Fblt3FWLceUNl608mAo6Ibdsl7CjNonFqWIiIiIOjitQo7Lu1evbKSSCfhT1yTM6JpY77GxKiUuSDGLYj9bbLB6/a2eJxERUTgcRkXu1/A6c1F86CPYi9YjHI6+nrsKlRHG5NGimLN0O/zuUokyap9YlCIiIiLqBHoadbikSyL+0r8LhiXFQjhF8/ILUswwKOWR7UA4jNX5ZW2RJhERdXJVFbvhtmf/vhWG3bIexYfnI+CNvlG7xqTzIVeZToqEYS1YjXA43NApnQ6LUkRERESdxPnJJsRr6p8qcTK1XIbJGQmi2K8VTuQ62QuDiIhal99T9yGIryofRdnvwlm+J6oKOoJMAXP6JFHM4zgGd+UhiTJqf1iUIiIiIqI6BscbkKZTi2Lf5JYhFEW/DBARUfQxp09CYvdrIFPEiOLhkA8VuctQdmJxVDUM18b2gVrfVRSzFXyHcCggUUbtC4tSRERERASHX/zlWCYIuChTPFoqr8qDvRXOtkyLiIg6IW1sb6T2uRsaY686+9y2A7BkvwOP47gEmTWdIAi/rzJYM20+4K2Ao3SbdEm1IyxKkcicOU9j9Oghp/1vzpynW/S+LlcVrNaWmSP8x59BKkVFhRg9egg+/PBdyXIgIiJqLG8whKUnivHy3pw6zcy7G3XoZxI/qV6VXwZ/KPoazhIRUXSRK2OQ2P0amDMugiAoRPuCfgdKjiyAtWBNVIw4UulSoE84VxSzWzYg6OeDHsXpD6HOZMaMmRgyZFhke8+eX7B8+RJceullGDRocCSenp7RYvfMzj6Axx57CE899SzMZumKSURERJ1NrtONL44Vo+L3YtTi48W47ax0yE5qgj4tMwEH7VUI/j5rz+4L4GeLDePS4qRImYiIOhFBEGBIHAKNIQtlJ5bA7y4S7XeUbIHHcRzxXS+DSpskUZaNE5syDlXW/QgHPQCqpyPain5EfJdLJM5MWixKkciAAQMxYMDAyHYwGMTy5UswYMBATJlyUavc89ixIygr47KYREREba2gyhspSAHAcYcbPxfbcEGKORKL16hwfpIJG4ttkdi6ogqcl2iEQcmvkkRE1PqUmgSk9L4Vdss6VBb/LNrndxej+OAHSOp1I9QxLTd4oqXJlTGITRkLW8HqSKyq/BcYEs6DSpcmYWbS4vQ9IiIiok5qeFIsehp1otia/HJYXF5R7MK0OOgUNV8bfaEwvssvb5MciYiIAECQyWFKm4CknjdCrjSK9im1yVFR2DEkDoFCLe7XaM1fHVUrCrY0FqXojO3b9yseeOBeTJo0BpMmjcGDD87Cb7/tEx1TWVmJOXOexsyZF+PCC8/HVVfNwDvvvAGvt/rL7ocfvovnnnsGAHD//XfjiitOPXTRYinCs8/+A9OnT8T48SNx003XYvnyJac8JxwO46OP3se1187E+PEjccklk/Hss/9AcbHljP7c69atxe2334hJk8ZgypSxeOCBe/Hrr7tPec7u3bswfvwo3HPPrXC7o2elCCIi6thkgoDLuyVDI6/5ShgMh7HomAWBUM0XZK1Cjglp8aJzd5ZVoqhW8YqIiKi1aQxZSO1zN3TmAQAAQaZCfNZlEIT2X94QBDnMGZNFMW9VHly2/RJlJD2OuW4hh26/+YzOU3fpiq5PPVPvvpx//RPe3Jwzum7vD+af0XmNtX37Fjz88APo1as37rjjbvh8PqxcuQL33XcnXnnlzUj/qaeeegyHDx/ElVdei/j4BOzb9ys+/XQ+7HY7Hn30CYwdOx7l5WVYvnwJbrjhFvTt27/BexYWFuDOO2+Gz+fD5Zdfhfj4eKxf/yP+3/+bg/z8XNx771/rPe+TT/6Djz56HzNnXoWePXuisLAQixb9D9nZB/DJJ59DLpc3+s/9yy878c9//h0jRozE9Okz4PG48eWXi/DAA7OwYMHn9fbaOnQoG48++iC6d++Bf//7dWi12kbfj4iIqLXFqhSY0TUJnx+reVhT5PZhbWE5pmTUPM0dlhiLLSU2lHqqp/uFAXyTW4rbzkqHcFIPKiIiotYmU2iQkDUTVb+vzqdUR0+fQ62xJzTGXvBUHo7EbAXfQxt7FmQypYSZSYNFKWqyUCiEuXOfR9++/fHGG+9FijqXX341brnlOrz66lx89NF/YbVWYMeObbj33r/iuutuAABccsmfEA6HUVhYAADo2bMXBgwYiOXLl2Do0OE499yGG52/++4bqKy04/33P8FZZ/UBAMyceRUee2w2Fi78FFOnTkf37j3qnPfdd6swYsRIPPDA3yKxpKRkLF36JSyWoiY1bV+79juo1Rq88MLLkS/gQ4eOwJNPPoJDh7LrXCsvLxezZ9+PlJQ0vPzyPMTE6Bt9LyIiorYyKN6A32xO7K2oWQVoQ5EVfWJj0NVQ/TBFLhMwLTMRnxwujBxzzOFGtr0KfU38fCMiorYXE3f2Kfc7ynZApU2FOia9jTJqHHP6ZBQ5jgLh6tVsg/5KVBb/DFPqOGkTk0D7H99G7c6hQwdRWFiACy4YB4fDAZvNBpvNBq/Xi1GjLsDhw4dQUlKMmBg9tFodlixZjHXr1kamrf397//Ea6+91aR7BoNBbNr0M4YNGxEpSAGATCbDjTfeinA4jJ9/3lDvuYmJSdi1awe++GIhKiqq+1/86U+XY/78/zZ5FcGkpCS4XFV49dW5OHHiOACgR4+eWLjwK1x44UTRsWVlpXjoofsAAK+++iaMxtgm3YuIiKgtzeiaBKOyZvRwGMCi48XwBkOR2FmxOvQ0ikf8fptXJprqR0RE1B54q/JhzfsWxYc+gt3yE8Lh0OlPaiNKTTwMicNEMUfxJgR8dokykg6LUtRkBQX5AIC33noN06dPFP33+ef/BQCUlBRDpVLh4Yf/Dqu1HE8++SguvngCHnroPixb9lWkp1Rj2e02uN0udOnStc6+rKxuAKr7TdVn1qwHEBtrwuuvv4QZM6bi9ttvxPz5H6C8vKxJOQDA5ZdfhXPOORdffvkFrr/+Slx55Qy8+upcHD58qM6xK1YsRXGxBTabFXl5uU2+FxERUVvSKeSY2S1ZFKvw+rEyr2aFXEEQcFFmIk6erFfm8WNbaef7Ek1ERO1XKOhD+YklqH7EEoK96EeUHP4YAa9V6tQiYlPGQKaoWWwkHA7AVvC9hBlJg9P3Wkhr9HBqqNeU1EKhIADg9tvvRv/+9Q+X7NIlCwAwefJUjBhxPjZsWIfNmzdix45t2LZtC5YsWYz33psPlUrVqHueajWCUKi64q1U1j//tmfPXvjf/5Zg69ZN+Pnnn7B162Z88ME7+N//PsO7736Erl2zGpUDAMTE6PHGG+9h3769+OmnddiyZRMWL/4cX321CE8++S9Mnjw1cmxSUjKeffZFPPzwXzF37nP46KP/QqHgW46IiNqv3rExGJ4Ui60lNUWm7aWV6GfS4yxTDAAgRafGkEQjtpdWRo5ZW1COc+IN0Cka36eRiIiotbjtBxHwiQtQ3qo8FGW/i7jMi6Azny15P0SZXANT6nhU5H0dibls++FxDoFGX3cwRkfFkVLUZKmp1Utt6nQ6DB06XPSfXq9HKBSCWq2Gy+XCnj27AQiYPn0G5syZi6+//h5XXnktjhw5hG3btjT6niaTGVqtFjk5dRu/5/7eDD4pKbnOvmAwiIMHs1FcbMHo0WPx6KNP4quvvsEzzzwPp9Nx2pX76rvXgQP7MWDA2bjnnr/g448XYsGCL2AwGPC//30qOvbiiy9F//4DcOed9+D48WNYuHBBk+5FREQkhWkZCYhXix/0fHWiGFX+YGR7Yno8VLKaL/PuYAg/Fla0WY5ERESnEhN3NhK6Xy0aiQQA4ZAP5TlLUX7iK4QC0q+KHhN/DpTaFFHMmr+6XU01bG0sSlGT9enTD/HxCVi06HO4XK5IvKrKiaeeehzPPfcM5HI5jh07ilmzbsfXXy+LHKNUKtG791kAAPnvy0/LZNX/P9VoKLlcjuHDR2L79i04eDA7Eg+Hw/jss48hCALOP390nfNCoRDuv/8uvP76S6J4//4DRDk01quv/huPPfaQ6M/dtWsW9HpDg9e69NKZ6NOnH+bP/yAy9ZGIiKi9UslluLJ7smiKnsMfxPLcksi2QanAuFTxSkebS2wo8/jaKEsiIqJT08WehdQ+d0Nj7Flnn8u2H0XZ78LjONH2iZ1EEGQwZ0wRxfxuC6oq9kiUUdvjXCJqMoVCgQcffBhPPfU4br31elxyyQyoVGqsWLEEFksRnnrqWSgUCvTvPwCDBg3G+++/hZISC3r06IWSkmIsXvw5unbNwpAhwwFUj4ICgCVLFqO8vFw0Be5k99zzF+zatQN/+ctduPzyq5CQkIANG9Zh587tuPrqP6Nbt+51zlEqlbjiimvw8ccf4vHH/4bhw8+H1+vB8uVLoNFocPHFM5r0Z7/mmj/jb3+7H7Nm3Y5p06ZDpVJhw4b1KCjIxy231D/dUiaTYfbsR3HXXbfgpZdexMsvz2vSPYmIiNpaF70W41Lj8GNR9einRI0SF6SYRceMSjFhW6kdNl8AABAKVzc9v6FXWpvnS0REVB+5Uo/E7tfCWbYDtoLvEA4HIvuC/kqUHPkEhqSRMKVeCEEmzRR0jb4rdKb+cNn2R2K2wh8Q7DFUknzaGotSdEbGjZuAl19+A5988h/Mn/8hZDIB3bv3wAsvvIxRoy4AUN0M9fnn/43//Od9/PzzT1i+fAkMBgPGjRuP22+/O9IDasiQYRg/fhJ+/nkDdu7cjrFjL4Rara5zz/T0DLz33ny8//5bvzdL96Br12547LF/YPr0hotLt912F4xGI775ZjnefHMr5HI5zj57EP7xj2eb1E8KAIYNG4EXXngZCxZ8hI8++gA+nxfdu/fA00/PwcSJUxo8r2/f/pg+fQaWL1+C779ffcpjiYiI2oPxaXE4ZK9CF70WUzPjoZSJRwQrZTJMzUjA/45ZIrEDtiocrXShh1FX+3JERESSEAQBhsSh0OizUJazBH63RbTfUbIJHscxJGRdBqUmUZIcTekT4bYfjBTNQoEqFB1bC3XcWEnyaUtC+FRzpjqZ8nInQqdY0thiyUFKSudpOEbSUChkCATaZg4x/04T1S8x0YDSUofUaRBJzh8K1SlGnSwcDuPdA/nIrfJEYqk6NWb1y4SsGQ1k+R4kkh7fh9QRhUMB2Ip+hKNkc519gqCAOfNi6OMHSZAZYCtah0rLhpPykSOlz91QauIlyaelyGQC4uP1De9vw1yIiIiIKIqcqiAFVD99vqhLgihW5PJiV1llA2cQERFJR5ApYE6fhKSeN0CuNIr2hcMByJUxEmUGGJNHiXIKh4OwFX4vWT5thdP3qNOzWq0IhYKnPU6t1kCvb7jCS0RE1Bl10WsxME6PXyuckdh3BeU4O84AdRMXFCEiImoLGkM3pPa5CxV538Bl+w0AoE8cBm09TdHbikymhCltIspzvorEPJVHEQ6HIAgd9/OURSnq9O6440ZYLEWnPW7atOl44omnWz8hIiKidq7E7cNGixUzuiZBLhMwNSMBv1mrEPi9K4TDH8SGIismZUT3lAMiIuq4ZAot4rMuh9baG46yHTClTZA6JejM/eEs3wWv8wQAQKlNAnDm0+GjAYtS1Ok99dSz8Hq9pz0uIUGapndERETtRSgcxpYSO1bllSEQDsOoUmBiejxMaiVGp5iwrsgaOfYnixVDE40wqZUSZkxERNQwQRAQEzcQOvPZEBrohRj0OxH0V0Kla/3VZQVBQGL3a1BZ8jM0agEKw3kN5tVRsChFnd7AgedInQIREVFU2FBkxZqC8sj2usIKnBUbg0y9BmNT47CjtBLOQPWU+EA4jDX55biqR4pU6RIRETVKQ4WfcDiM8pxl8DiOIzZ1HIzJI1t9Kp1MroIp9cJOs9hAx52YSEREREQtalhSLAxKeWQ7BGDRcQt8wRDUclmd6Xq7KxzIc3pAREQUjZxl2+FxHAUQgr3oB5Qc+QQBn03qtDoUFqWIiIiIqFF0CjlmZiWLYmUeP1bllwEAzkswIkWrEu3/Jq8U4d97TREREUWLoN8BW4F49TuvMxdF2e+iqmKvRFl1PCxKEREREVGjnWWKwbBE8TLaW0rsOGyvgkwQcFEXcQ/GXKcHe61OEBERRRO50oD4rJmQybWieDjoRXnOEpSd+AqhAEcDNxeLUkRERETUJNMyExFXq4H5l8eL4QoE0dOoQx9TjGjf6rwy+EOhtkyRiIio2XSmPkjtezc0hh519rms+1CU/S48zhwJMus4WJQiIiIioiZRy2W4sluyaJHqSn8Qy3NKAADTMhIgO2mn1RfApmJbm+ZIRETUEuRKAxJ7XAdz+hRAkIv2Bf12lBz+GLbCtQiHghJlGN1YlCIiIiKiJutq0GJMqlkU+7XCiT3lDiRqVRieaBLtW1dohdMfaMMMiYiIWoYgCDAkDUfKWXdAqUmus7+y+GcUH/oP/J4yCbKLbixKEREREdEZmZAWj1SdWhRbnlMCuy+ACelx0Mprvmp6QyF8X1De1ikSERG1GJU2CSln3QZD0og6+3zuIliy34OjbAcX+GgCFqVIZM6cpzF69JDT/jdnztMtel+XqwpWq/WMzv3ww3cxevQQFBUVtshx7UVrvM5EREQtSSETcGW3ZMiFmrl67mAIXx0vhlYuw/i0ONHx20srYXF52zpNIiKiFiPIFDCnT0ZSz+shVxpE+8LhAFzW/RJlFp0UUidA7cuMGTMxZMiwyPaePb9g+fIluPTSyzBo0OBIPD09o8XumZ19AI899hCeeupZmM1Dmnz+2LHjkZGRCZPJfPqDiYiIqEWl6NSYnBGPb/NqpiwcrnRha6kdw5NM2FJiR7nXDwAIA1iZV4ZbeqdBEIQGrkhERNT+aQzdkdLnbljzvoHL9hsAQJBrEN/1T/yMawIWpUhkwICBGDBgYGQ7GAxi+fIlGDBgIKZMuahV7nns2BGUlZWe8fk9e/ZCz569WjAjIiIiaopRySZk26pw3OGOxAqqvBiRJGBaZgI+PVIUiR+pdOGQ3YWzaq3QR0REFG3kCi3isy6HpqIXrPnfIi7zYihUsVKnFVU4fY+IiIiImkUmCLiiWzLUMhk0chmu7p6Cy7tVN4Lta4pBd4NWdPzKvFIEQ+y3QURE0U8QBOjjByGt318QY+7f4HFBv7MNs4oeHClFZ2zfvl/xwQfvYP/+fQCAAQPOxh133IN+/QZEjqmsrMS8eS9j587tsForkJiYhPHjJ+GWW+6AWq3Ghx++i48+eh8AcP/9dyMlJRWLF6+o935z5jyN/fv34oorrsF7770FAHj66TnYv38vPvrofSxatBypqWkAgIKCfLz11mvYuXMH5HIZLr10JhSKun/dy8pK8fbbr2Pr1s3w+/0YPXoMxo2bgMcf/xtef/0dnHtu9XRCr9eLjz/+EN99twqlpSVITEzGlCnTcNNNt0GpVDb5tfvll5344IN3cPToYQSDQfTs2Qt//vPNGD16TIPnnDhxHLNm3Q6jMRZvvvk+4uLim3xfIiKi1mJWK3FtzxQka1WIVdV8NgqCgIu6JOLN/bn4owxV6vFjW6kd5yebJMmViIiopcmVDY8A9jhOoOToZzCljoMh6XwIAscH/YFFqRaS+8u/zug8pTYVqX3uqHdfUfb78LuL6t13Ol0GP3VG5zXW9u1b8PDDD6BXr96444674fP5sHLlCtx335145ZU3I/2nnnrqMRw+fBBXXnkt4uMTsG/fr/j00/mw2+149NEnMHbseJSXl2H58iW44YZb0Ldvw5VlACgutuCjj97HrbfeibKyUvTrNwD79+8VHVNRUY67774Vfr8fV199HdRqNZYsWQyHo1J0nMtVhVmz7kB5eRmuvPJamEwmrFixDJs3bxIdFwwG8cgjD2Lv3j249NLLkJWVhezsA/jkk//g0KGDePHFl5s0Zzg39wQeeeQB9Op1Fu68cxbC4TBWrFiKxx+fjTfeeB/nnXdunXMsFgseeug+6HR6vPba2yxIERFRu9Q7tv4v5Gk6Nc5NMGJnWc1n8drCcpwTb4BWIW+r9IiIiNpcKOBGec5SIByErXAt3JVHEN/1T5zm9zsWpajJQqEQ5s59Hn379scbb7wHubz6y+Tll1+NW265Dq++OhcfffRfWK0V2LFjG+6996+47robAACXXPInhMNhFBYWAKjuBzVgwEAsX74EQ4cOj4xMaojX68Xs2Y/hoosuafCY//53AWw2Kz74YAHOOqsPAGDatOm44YarRcd98cVCFBTk45VX3sTQocMj+d1ww9WorLRHjlu9eiV27tyGl16ah+HDz4/E+/btj7lzn8PGjetxwQXjGvnqAT/9tB5utxvPPfdvmEwmAMDEiZNx99234vDh7DpFKavVigcfvBcA8PrrbyMpKbnR9yIiImovJqXHY2+FA77fp+25AiH8WFiBi7okSpwZERFR66nI/xZBf81DGa8zB0XZ7yIu8+JTTvfrLDhmjJrs0KGDKCwswAUXjIPD4YDNZoPNZoPX68WoURfg8OFDKCkpRkyMHlqtDkuWLMa6dWvhdlc3P/373/+J115764zvP2zY+afcv2XLJvTp0y9SkAIAszkOEydOER23YcOP6NGjZ6QgBQA6XQwuu+wK0XHr1v0Ak8mMs87qG/mz2mw2nH/+KMjlcmzatLFJ+ScmVheVXnnlRWRnHwAAxMaasHDhV7jiimtEx7pcVfjb3+6HxVKEV199KzI9kYiIKNpUBYIYkxonim0usaHc45MoIyIiotanM/WFTC7urRgOelB+4kuUnViKUNAjUWbtA0dKUZMVFOQDAN566zW89dZr9R5TUlKMpKRkPPzw3/H//t//4cknH4VKpcI555yLsWPHY+rUi6FWq8/o/maz+ZT7LZZCjB49tk68a9cs0XZeXh6GDRt+2uMKC/Nhs1kxffrEeu9XXGw5dcK1jB8/ERs2/Ii1a7/D2rXfIT4+AeefPwrTpk2PTHv8w/r1P0ImkyEUCiE7+wC6dOnapHsRERFJzR0IYkVOKXZXOHBTr1TEqhSw+wIAgGAYWJVfhj/35EMXIiLqmHSmvlDp0lGRuwwex3HRPpf1V3irchDf9TJo9F0kylBaLEq1kNbo4dRQrymphUJBAMDtt9+N/v3PrveYLl2yAACTJ0/FiBHnY8OGddi8eSN27NiGbdu2YMmSxXjvvflQqVRNvv8f0wUbIggCfL66T11DoZBoOxgMQKmse3+VSl3ruCAyMrpg9uxH672fwWA8XcoiCoUC//d/L+Lo0SNYv/4HbNmyCStXrsDXXy/DXXfdh1tuuTVyrF6vx4svvornn38Gb7zxCkaMGAmjsWn3IyIikspxhxtfHLXA7q8uQi09UYoL08xYmlMaOWa/tQrHKl3obtRJlSYREVGrUqiMSOxxPRylW2ErXAuEg5F9QZ8dJYc/hjF5FGJTx0IQOlevRU7foyb7YwqZTqfD0KHDRf/p9XqEQiGo1Wq4XC7s2bMbgIDp02dgzpy5+Prr73HlldfiyJFD2LZtS6vkl5aWjry8nDrxP/pYiY/LrXNcfr44lpqahspKO847b6jozzp48HmorLRDp9PWucapWCwW7NmzGz169MStt96J996bj8WLVyAjowsWLlwgOvaCC8Zh0KBz8MADD6OiohzvvDOvSfciIiKSWuXvBSkAsPsDOO7wICNG/ABoZV4ZQuFw7VOJiIg6DEEQYEwagZSzbodSk1RrbxiVxRtRfOgj+D3lkuQnFRalqMn69OmH+PgELFr0OVwuVyReVeXEU089jueeewZyuRzHjh3FrFm34+uvl0WOUSqV6N37LACAXF79108mq/5/uIW+jI4ZcyGOHz+GLVtqVtFzOp1YvXql6LgLLhiHQ4eysW9fzep9Pp9PlC8AjBo1BpWVdixZslgUX7p0Mf75z79j+/ZtTcpvwYL/4IEH7kFpaUkklpSUjKSkpMhrUduIESMxZsyFWLFiKfbu3dOk+xEREUmlm0GL0Sniafd7KhzoW2uVvkKXF7vLHW2ZGhERkSRU2mSknHU7DIl1W8n4XIWwHHwPzrJdLfb7cXvH6XvUZAqFAg8++DCeeupx3Hrr9bjkkhlQqdRYsWIJLJYiPPXUs1AoFOjffwAGDRqM999/CyUlFvTo0QslJcVYvPhzdO2ahSFDqt+EJlP1l9UlSxajvLwckydPbVZ+1157Pdas+RZPPPEwrrrqOpjNZixb9hWAcK3jbsDq1Svx4IOzcOWV18BkMmPVqm+Qm1s9ykoQBADVK/KtWvU1Xn11Lg4dykbfvv1x7NgRLFv2FXr37oOLL760SfnNnHkVVq36BrNm3YEZM2bCYDBi587t2LVrB26//e4Gz7v//tnYtm0z5s59Dv/5z2dQKPj2JSKi9m9SehwO2atQ7K6ZWv9ziQ19YnXIttc83FqTX4YBZj1Ucj4zJSKijk2QKWDOmAKNsScqcpYhGHBG9oVDflTkfY3kjF4ADNIl2Ub4qU9nZNy4CXj55TeQlJSE+fM/xAcfvI2YmBi88MLLmDSpuqgkCAKef/7fmDHjcvz880a88sr/w/LlX2HcuPF4/fV3oFQqAQBDhgzD+PGTsHlz9TFer7dZuel0MXjrrQ8wbtwELFv2Ff7zn/cwaNBg3Hzz7aLjjEYj3nzzfQwdOhyLF3+ODz98Bz179sLtt98DAJF+UyqVCq+99jauueZ67Ny5Ha+99m9s2rQRl112BV555Q1oNJom5dejR0+8+upbyMjIxMKFn+LVV+fiS1ettAAAHH1JREFUxIljePDBh3HTTbc1eF5KSgpuuuk2HDt2FAsXftrEV4WIiEgaCpkMV3VPgVyoibkCIXhDYdEX0Up/EBss1jbPj4iISCpaYw+k9L0b2tg+orgxeRR0hs6xCIgQbidjwvLy8vDiiy9i27bqqVDjxo3DY489hri4uFY5rz7l5U6EQg2/HBZLDlJSuPpZR2Gz2WAwGOo0Tl+48FO8+ear+PzzpUhPz2jzvBQKGQKB0OkPbAH8O01Uv8REA0pLOZWIqCWtL6rA6nxxn4xeRh0OV9aMllLKBDx0dhZ6ppv5HiSSGD8LidpOOBxGVcVuWPNXQaFOQErvW5GUbOoQ70GZTEB8vL7B/e1i/o/VasVNN90En8+H22+/HcFgEB9++CEOHjyIRYsWNbhC25meRwQAb7zxCn7++ScsXboSanX1aKdgMIgff/weJpM50tCdiIiImu+CFDOybVXIcXoisRNON7RyGdzB6ocx/lAYa/LL0DPd3NBliIiIOhxBEKCPHwy1visQDkOQdZ4V+NpFUWr+/PmwWCxYsWIFevToAQAYNGgQbrnlFixduhRXXXVVi55HBABTpkzD6tUr8Ze/3I0pU6YBELB+/Q/47bd9ePTRJxtsOl6fyko7/H7/aY9TKpUwGmObkTUREVF0kgkCruiWjHn7c+H7fWS6PxSGQa2IFKUA4JdyB07YqhDT0IWIiIg6KKW66TO+ol27mL43ceJEZGRkYP78+aL41KlTkZycjI8//rhFz2sIp+91Plu2bMKnn87H0aNHEAgE0KNHT1x77fUYO3Z8k65z3313YvfuXac97pxzzsUbb7x3ymM4fY9IepyyQNR6tpfaseREiSimV8jhDAQj273MetzcIyWy6AgRtT1+FhJJq6O8B9v99D273Y68vDxMmTKlzr7+/ftj3bp1LXoe0clGjBiJESNGNvs69933IByOytMeZzAYm30vIiKiaDYkwYgD1ipk26siMddJBSkAOGx1YnluKQxKyb+qEnVaMXYnqqp8pz+QiFpFlt+PDJm8w69KK/knfXFxMQAgOTm5zr7ExEQ4nU44HA4YDIYWOY+oNfTp01fqFIiIiKKCIAi4rFsSXtuXA9fvI4NDADRyGTwnTePbWmKXKEMiIqJ2oKAcfU0xuKFXx+51LHnJraqq+imZVquts0+tVgMAXC5XnX1neh4RERERScugVOBPXWseLKbp1LiyW7L0X0yJiIjakUMnjSruqCQfKRUKnb53Tn0Np8/0vFM51TxHACgpkUGh4Nclan1t9fdMJpMhMZGjCYnqw/cGUeu6MNGAHK8PsWolLumVAoVMhrJQCN8eK5Y6NSIionahX4Kxw38nlbwoFRNTvbaK1+uts++P2B/HtMR5p3K6RuehUKjNGlBT59WWjc5DoVCHaJ5H1NI6SmNJovbuohQzBEGAtbz6SfDoOANMggA7AJer7nc8Imo7Op2a70MiCWUlGtFVoYj676TtvtF5Wlr1/MjS0tI6+0pKSmA0GqHT6VrsPCIiIiJqH2qvricIAs6OM7AwTNQO8H1IJK3O8h6UvChlNBqRkZGB/fv319n322+/YcCAAS16HhERERG1b3mVLnx7ohj+U4xgr0+yVoWxqXH17vsmtxRVtVb5awyVTMCfsuourAMAm4ptyK/yNPmaAHBRZgL09awueMDqxF6r84yueX6SCZl6TZ24xeXFBov1jK7ZxxSDgXF1p454gyEsyyk5o2vy5xQdP6fulVUYYqx/5gl/Tu3n58T3U8f9Od1m7hyDbCQvSgHA5MmT8cknn+Do0aPo0aMHAGDTpk04fvw4brvtthY/j4iIiIjarzCAY5VulHv9TTqvp1GHsan17/vN6oTVF2hyLlq5rMFfzo473Nh/hr9ITUyPrzde7PZhd/mZPRnva4pBJur+cubwB874mrFKRb2/nAXD4TO+Jn9O0fFz8glosCjFn1P7+Tnx/dRxf06BJj6YiVbtoih1xx13YNmyZbj55ptx6623wuv14oMPPkD//v0xY8YMAEBeXh527dqFc889F5mZmY0+j4iIiIiiQygcxoYiK9YWViAY7hxfxomIiDqzdlGUiouLw6effornn38er7/+OjQaDSZOnIhHHnkEKpUKALB9+3Y8/vjjeP755yNFqcacR00zZ87T+Pbbr0973LRp0/HEE0+32H1drip4vT6YzebT5rZx444Wu280GD16SIu/3kRERO3RfqsTawrKpU6DiIiI2ki7KEoBQPfu3fH+++83uH/mzJmYOXNmk8+jppkxYyaGDBkW2d6z5xcsX74El156GQYNGhyJp6dntNg9s7MP4LHHHsJTTz0Ls3lIi12XiIiIosvZcQYkaFSoUghwVDa9Z4mhnl4lf5iWmQh/qOmr28prNWM/2flJsehnatpqz3+IUcjrjfcxxSBWdWZf0TNi6k5hAYBkrRpXdqt/Ks7pJGnrf9CrkglnfE3+nKLj55SRaKieS1sP/pzaz8+J76eO+3NSy2Vwn9Hdoku7KUpR+zBgwEAMGDAwsh0MBrF8+RIMGDAQU6Zc1Cr3PHbsCMrK6q6iSERERJ1Pqk5dveKQqmVXHBoQ1/By1Gequ7Hlm9Cm6NRI0alb9JpGlQKDE4wtek2FTNbi1wT4c2pPP6fEhIZX/uLPqf38nE6FP6fo/jkp5bIWv1d71Dn+lERERERERERE1K5wpBSdsX37fsUHH7yD/fv3AQAGDDgbd9xxD/r1GxA5prKyEvPmvYydO7fDaq1AYmISxo+fhFtuuQNqtRoffvguPvqoevrl/fffjZSUVCxevKLROezcuR3//e8CHDiwH1VVTpjNcRg5cjTuued+GAzVKyaEw2HMn/8B1qz5FsXFFsTE6DFs2HDceecsJCenRK61dOliLFmyGPn5eVCrNRg0aDDuuOMedO/eI3KMx+PB/Pkf4PvvV6OsrBQJCYmYMGEybrnlDmg09Q8dPZVfftmJDz54B0ePHkYwGETPnr1w44234PzzL2jwnBMnjmPWrNthNMbizTffR1xc/atYEBEREREREbVnLEq1kL9vP3xG56X9//buPSrqOv/j+IuZAdIB1s1AVxPvgkJ5+Sma5npZ9XQsjxeSbT25hZlWuiRuarnqb10rsxRviCaIpJTXREHUo9l6qbykpqZGmrhbiaA/VBJRYJj5/eGJPSxmgjjfgXk+zpljznyGecvh5fn66vv9fGt7a2xI4G1fiz35vbIKCiv1dd/u1LJS77tbX365XxMmjFPLlq304osvqaioSFu2pGns2FGaO3dR6f5T06a9rjNnvtXQoX9S3boP6cSJ40pOTlJeXp4mTfqbevTordzc/1NqaoqGD49U69Yhdz3DwYP79dprUXrkkbZ64YXRMplMOnhwv1JTU2Sz2TR58v9KklasSNTy5fEaMiRCLVq0UFZWltatW62MjG+0YsUamc1mbd++VbNnv6MnnnhS4eF/1NWrV7R27SpFRY3W6tUb5ePjo+LiYkVHv6ITJ75W//4DFBzcRqdOndCHH36g48ePauHC92Wx3H2kvv/+X5o4cZxatgzSqFFj5HA4lJa2URMnjldsbLzatm1X7j3Z2dkaP36satf20fz5iymkAAAAAADVFqUUKsxut+u992aqdesQxcYuldl8a8O68PA/KjJymObNe0/Ll3+kK1cu69Chg3rllVc1bNhwSdKAAYPkcDiUlXVektSiRUuFhj6q1NQUderUWR063P1G52vWfKSAgHqaNy9Onp6ekqTBg5/W6NGR2rXr09JSaseOberSpavGjXut9L0BAfW0cePHys6+oIYNH9b27VvVtGkzTZkyvXRNy5attGjRAmVmfqdHH22n9PRN+vrr44qKGq+IiGGln9e0aTPFxS1QWtpGDR789F3Pv3fvbt24cUNvvz1bderUkST16dNPL7/8gs6cyShXSl25ckXR0a9IkhYsWKyAgMptsgcAAAAAgCtgTylU2OnT3yor67y6d++pa9eu6erVq7p69aoKCwvVrVt3nTlzWhcv5shq9VGtWrWVkrJeu3bt1I0bt+4dMHny/2r+/Lh7nuPdd+dq2bKVpYWUJOXlXZXVatWNGwWlz/n7B+jIkUNau3aVLl++dZvpQYPClZT0UeldBP396+n77/+txMSlunAhS5L02GOPKzl5rR59tJ0k6bPP9shqtWrIkIgycwwd+idZrVbt3burQvP7+98qlebOnaWMjG8kSb/5TR2tXZuip59+pszagoLreu21KGVnX9C8eXH63e8aVOizAAAAAABwNZwphQo7f/5HSVJc3HzFxc2/7ZqLF3MUEFBPEyZM1rvvvqkpUybJy8tL7dp1UI8evfXEE0/K2/ve7rBgNpuVlXVe8fFL9K9/Zer8+R916dLFcuvGjBmnSZOitWDBHC1cGKOgoNZ6/PHfa8CAQapb9yFJUmTkSJ08eVyJiUuVmLhUTZo0K13zc3F14UKWGjRoWO4SPU9PTzVo0FDZ2RcqNH/v3n20Z88/tXPnDu3cuUN16z6kxx7rpqeeGqDQ0HZl1u7e/U+ZTCbZ7XZlZHyjwMDGFfosAAAAAABcDaVUFbkfezj90l5TRrPbSyRJI0e+pJCQR267JjCwiSSpX78n1KXLY9qzZ5f27ftMhw4d1MGD+5WSsl5LlybJy8ur0nNs3PixZs+eqcDAxmrbtr169OitNm1C9fHHa7R9+9bSdS1atNTq1Sk6cOALff75Xh04sE8JCUu0evWHev/95WrcuIkCAuopKWmVjhw5pM8+2639+/cpOTlJa9Z8qJiYWLVv/z9yOBx3+J44ypyxdTcsFovefHOWzp79Trt3f6r9+7/Qli1p2rx5k0aPHqvhw58vXevj46NZs+Zp5szpio2dqy5dusrPr+pvRwoAAAAAgLNw+R4q7OdLx2rXrq1OnTqXefj4+Mhut8vb21sFBQU6duyoJA899dRAvfXWe9q8+RMNHfonfffdaR08uL/SMxQWFio2dq46dOioFSvWaNKkKRo69BmFhITqypXLpetKSkr07bcZysnJ1uOP99CkSVO0YUO6pk+fqfz8a0pNTZEknT37nc6dy1THjmEaN26CVq/eoLi4BDkcDq1fv1qSVL9+A2VlnZfNZiszS3FxsS5cyKrwHk/Z2dk6duyomjdvoREjRmnp0iStX5+mRo0CtWrVyjJru3fvqbZt22ncuAm6fDlXS5YsrMy3DQAAAAAAl0EphQoLDm6junUf0rp1a1RQ8J+9m65fz9e0aW/o7beny2w2KzPzrMaMGanNmzeVrvH09FSrVkGSJLP51o+fyXTr1zudifTfCgsLdfPmTTVqFFjmcrozZ77V0aNHJEk2m012u11RUaO1YMGcMu8PCQktM8PUqZM0Y8Y0lZSUlK5p1SpYnp6eMplubeTerVt3Xb9+XRs2rC3ztVJS1qmg4Lq6du1+1/NL0sqViRo37uUylxwGBNRTQEBA6ffkv3Xp0lW//30vpaVt1NdfH6vQ5wEAAAAA4Eq4fA8VZrFYFB09QdOmvaERI57VgAED5eXlrbS0FGVnX9C0aTNksVgUEhKqtm3bKz4+ThcvZqt585a6eDFH69evUePGTdSxY2dJUp06v5UkpaSsV25urvr1e+JXZ/Dz81ObNqFKT0+V1WpVYGBjZWaeVVraJnl43Cp0CgoK5Ofnp6effkYffLBMb7zxmjp3fkyFhTeVmpqiBx54QE8+OVCSNGzYcL3zzpt69dWX1atXH0kObdu2RUVFRaV31BswYJC2bdushQvn6uzZ7xQc3EYZGae0ZUua2rQJ1YABgyr0fRwyJELbtqVrzJgXNXDgEPn6+unw4S91+PAhjRz50i++Lyrqrzp4cJ/ee+9tJSZ+WG6PKwAAAAAAqgP+NYtK6dnzD4qJidWKFYlKSlomk8lDzZo11zvvxKhbt1tnDHl4eGjmzNlKTIzX55/vVWpqinx9fdWzZ2+NHPlS6R5MHTuGqXfvvvr88z06fPhL9ejR6642QZ8x4x0tXDhX6empKioqVv369fXss8+pSZOm+tvfJurIkS/Vs+cf9MILo+Xn56f09FQtWnRAZrNZjzzSVlOnzlDjxk0kSU89NUhms0Xr16/R0qWLZLfbFRTUWrNnz1eHDh0lSV5eXpo/f7ESE+P16ac7tH37Vvn7B2j48Eg999yICpdDzZu30Lx5cVq+PF6rViWroOC6GjUK1F//OlGDBg39xffVr19fzz33gt5/f5FWrUous/cUAAAAAADVhYejItdM1XC5ufmy23/525Gd/W/Vr89dz3B/WSwm2Wx2p3wWP9PA7fn7++rSpWtGjwG4LTIIGI8cAsaqKRk0mTxUt67PL7/uxFkAAAAAAAAASVy+B1Spn37KU3Fx8a+u8/T0lJ/fb5wwEQAAAAAArolSCqhCkydPKL373520a9dBsbFLnTARAAAAAACuiVIKqEJjx0br2rWffnWdr6+fE6YBAAAAAMB1UUoBVSg4uLXRIwAAAAAAUC2w0TkAAAAAAACcjlKqghwOh9EjAFWCn2UAAAAAgJEopSrAZDLLbi8xegygSpSUlMhkMhs9BgAAAADATVFKVYDF4qXCwhtGjwFUiZs3r8vbu5bRYwAAAAAA3BSlVAX4+tZRfn6eiopucukTqiWHwyGbzab8/DwVFFyT1cpdAAEAAAAAxuDuexXg6eklX9/f6qefLstmKzZ6HNRQJpNJdrv9Pn59s7y9a+nBB+vJYvG8b58DAAAAAMCdUEpVUK1aVtWqZTV6DNRg/v6+unTpmtFjAAAAAABwX3H5HgAAAAAAAJyOUgoAAAAAAABORykFAAAAAAAAp6OUAgAAAAAAgNNRSgEAAAAAAMDpKKUAAAAAAADgdBajB3AlJpOH0SMAkvhZBFwBOQSMRQYB45FDwFg1IYO/9mfwcDgcDifNAgAAAAAAAEji8j0AAAAAAAAYgFIKAAAAAAAATkcpBQAAAAAAAKejlAIAAAAAAIDTUUoBAAAAAADA6SilAAAAAAAA4HSUUgAAAAAAAHA6SikAAAAAAAA4HaUUUI2lpqaqX79+at++vcLDw3X48GGjRwLc1tatWzVs2DCjxwDcDtkDnI9jUMB4y5YtU2hoqNq3b1/6yMnJMXqsCqOUAqqpzMxM/f3vf1dMTIy++uorRURE6NVXXzV6LMDtlJSUKDExURMmTJDD4TB6HMBtkD3AGByDAq7hm2++0aRJk/TVV1+VPurVq2f0WBVGKQVUU82aNdPevXsVGhqqoqIi5eXlqU6dOkaPBbid2bNna+fOnRo1apTRowBuhewBxuAYFHANGRkZCg4ONnqMe2YxegAAlWe1WnXq1CmFh4fLbDZryZIlRo8EuJ3IyEgFBARow4YNRo8CuBWyBxiHY1DAWIWFhTp37pwSEhIUFRUlf39/jR8/Xj179jR6tArjTCnAhW3btk1BQUHlHq+//nrpmpYtW+r48eOaPn26oqKilJuba+DEQM3zazkMCAgweELAPZE9wFgcgwLGyc3NVfv27fXss89q9+7dio6OVnR0tM6ePWv0aBXGmVKAC+vbt6+OHDlS7nlPT89y/x0eHq6kpCQdOHBA/fv3d9qMQE13NzkEAMDdcAwKGKdBgwZKTk4u/X2vXr3UuXNn7dmzR82bNzdwsorjTCnAhZnNZlmt1nIPLy8v7dq1q9w+GkVFRfL19TVoWqBmulMOAQBwNxyDAsbLyMhQfHx8meeKioqq5fEppRRQTYWEhOjIkSPatm2bbDabkpOTZbPZ1KlTJ6NHAwAAQA3FMShgPKvVqkWLFmnnzp2y2+3aunWrjh49qr59+xo9WoVRSgH32ZQpUzR8+PDbvvbDDz9o7NixCgsLU1hYmCZOnKjLly/f1df19/dXbGys4uLi1LlzZ+3YsUPx8fF64IEHqnJ8oEa4XzkEUHnkEjDOveSPY1CgatxLDhs1aqQ5c+YoJiZGHTp00JIlS7R48eJqud+ih8PhcBg9BFBTrVu3TlOmTFFYWJhWrlxZ5rUrV64oPDxcRUVF+vOf/6ySkhItW7ZMDRs21Lp166rlqZeAKyKHgOshl4BxyB9gPHL4H2x0DtwHJSUlWrx4sWJjY39xTVJSkrKzs5WWlla6GV3btm0VGRmpjRs3KiIiwlnjAjUSOQRcD7kEjEP+AOORw/K4fA+oYoWFhRo8eLAWLlyogQMHql69erddl56errCwsDJ3R+jatauaNm2q9PR0Z40L1EjkEHA95BIwDvkDjEcOb49SCqhihYWFys/P19y5czVr1ixZLOVPSMzLy9MPP/ygkJCQcq+FhIToxIkTzhgVqLHIIeB6yCVgHPIHGI8c3h6X7wFVzMfHR9u3b7/tXzI/y8nJkaTbtuP+/v7Kz8/XtWvXuLUuUEnkEHA95BIwDvkDjEcOb48zpYAqZjKZ7vgXjSRdv35dklSrVq1yr3l7e0uSCgoKqn44wE2QQ8D1kEvAOOQPMB45vD1KKcAAdrv9V9eYTMQTuJ/IIeB6yCVgHPIHGM8dc1iz/jRANWG1WiXduq74v/383M9rANwf5BBwPeQSMA75A4znjjmklAIM0KBBA0nSpUuXyr128eJF+fn5qXbt2s4eC3Ar5BBwPeQSMA75A4znjjmklAIM4Ofnp4cfflgnT54s99qpU6cUGhpqwFSAeyGHgOshl4BxyB9gPHfMIaUUYJB+/fpp3759Onv2bOlzX3zxhc6dO6f+/fsbOBngPsgh4HrIJWAc8gcYz91yeOet3wHcNy+++KI2bdqk559/XiNGjFBhYaESEhIUEhKigQMHGj0e4BbIIeB6yCVgHPIHGM/dcsiZUoBBHnzwQSUnJys4OFgLFizQBx98oD59+ighIUFeXl5Gjwe4BXIIuB5yCRiH/AHGc7ccejgcDofRQwAAAAAAAMC9cKYUAAAAAAAAnI5SCgAAAAAAAE5HKQUAAAAAAACno5QCAAAAAACA01FKAQAAAAAAwOkopQAAAAAAAOB0lFIAAAAAAABwOkopAAAAAAAAOB2lFAAAQDXxzDPPKDQ0VBEREfrxxx+NHgcAAOCeUEoBAABUE5GRkRo0aJCOHTumxMREo8cBAAC4Jx4Oh8Nh9BAAAAC4OzabTZ06dVKrVq20Zs0ao8cBAACoNM6UAgAAqEYsFotatWql06dPi/+3CAAAqjNKKQAAgGrE4XCouLhYBQUF7CsFAACqNUopAACAauSjjz7SyZMnJUmnT582eBoAAIDKo5QCAACoJnJychQTEyN/f39JlFIAAKB6o5QCAACoJmbMmCGbzaYFCxZIopQCAADVG6UUAABANfDJJ59ox44d+stf/qIOHTqobt26OnPmjNFjAQAAVBqlFAAAgIvLz8/XP/7xD4WEhCgyMlKSFBQUpHPnzqmoqMjg6QAAACqHUgoAAMDFzZkzR7m5uXrrrbdkNpsl3SqlbDabMjMzDZ4OAACgciilAAAAXNjRo0e1evVqjRgxQq1bty59PigoSBL7SgEAgOqLUgoAAMBFFRcXa+rUqQoMDNTYsWPLvEYpBQAAqjuL0QMAAADg9hISEnTmzBmtWLFC3t7eZV5r0aKFLBYLpRQAAKi2PBwOh8PoIQAAAAAAAOBeuHwPAAAAAAAATkcpBQAAAAAAAKejlAIAAAAAAIDTUUoBAAAAAADA6SilAAAAAAAA4HSUUgAAAAAAAHA6SikAAAAAAAA4HaUUAAAAAAAAnI5SCgAAAAAAAE5HKQUAAAAAAACn+3/ov5EOAvuUaQAAAABJRU5ErkJggg==\n",
|
||
"text/plain": [
|
||
"<Figure size 1440x1008 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"filenames": {
|
||
"image/png": "/Users/MortenImac/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": [
|
||
"/var/folders/jy/g42mrgv128v34gnnhxwk9nrc0000gp/T/ipykernel_42456/3980313467.py: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"
|
||
]
|
||
},
|
||
{
|
||
"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/O73Tk8x0r7gTgrtgxIALSSbZ6pN1BAEXUeLTGC8SvFOScRd50UK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\n",
|
||
"text/plain": [
|
||
"<Figure size 432x288 with 2 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"filenames": {
|
||
"image/png": "/Users/MortenImac/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/var/folders/jy/g42mrgv128v34gnnhxwk9nrc0000gp/T/ipykernel_42456/1950915150.py\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.8.12"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 4
|
||
} |