Files
FYS-STK4155/doc/pub/week38/ipynb/week38.ipynb
T
Morten Hjorth-Jensen ec963b76e0 update
2021-11-01 16:50:26 +01:00

3765 lines
622 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- dom:TITLE: Data Analysis and Machine Learning: Logistic Regression -->\n",
"# Data Analysis and Machine Learning: Logistic Regression\n",
"<!-- dom:AUTHOR: Morten Hjorth-Jensen at Department of Physics, University of Oslo & Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University -->\n",
"<!-- Author: --> \n",
"**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n",
"\n",
"Date: **Oct 26, 2021**\n",
"\n",
"Copyright 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"## Plans for week 38\n",
"\n",
"* Thursday: Summary of regression methods and discussion of project 1. Start Logistic Regression\n",
"\n",
"* [Video of Lecture September 23](https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureSeptember23.mp4?vrtx=view-as-webpage)\n",
"\n",
"* Friday: Logistic Regression and Optimization methods\n",
"\n",
"* [Video of Lecture September 24](https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureSeptember24.mp4?vrtx=view-as-webpage)\n",
"\n",
"## Thursday September 23\n",
"\n",
"\n",
"## Ridge and LASSO Regression, reminder\n",
"\n",
"The expression for the standard Mean Squared Error (MSE) which we used to define our cost function and the equations for the ordinary least squares (OLS) method, that is \n",
"our optimization problem is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in {\\mathbb{R}}^{p}}}\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)\\right\\}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"or we can state it as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in\n",
"{\\mathbb{R}}^{p}}}\\frac{1}{n}\\sum_{i=0}^{n-1}\\left(y_i-\\tilde{y}_i\\right)^2=\\frac{1}{n}\\vert\\vert \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\vert\\vert_2^2,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where we have used the definition of a norm-2 vector, that is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\vert\\vert \\boldsymbol{x}\\vert\\vert_2 = \\sqrt{\\sum_i x_i^2}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"By minimizing the above equation with respect to the parameters\n",
"$\\boldsymbol{\\beta}$ we could then obtain an analytical expression for the\n",
"parameters $\\boldsymbol{\\beta}$. We can add a regularization parameter $\\lambda$ by\n",
"defining a new cost function to be optimized, that is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in\n",
"{\\mathbb{R}}^{p}}}\\frac{1}{n}\\vert\\vert \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\vert\\vert_2^2+\\lambda\\vert\\vert \\boldsymbol{\\beta}\\vert\\vert_2^2\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which leads to the Ridge regression minimization problem where we\n",
"require that $\\vert\\vert \\boldsymbol{\\beta}\\vert\\vert_2^2\\le t$, where $t$ is\n",
"a finite number larger than zero. By defining"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"C(\\boldsymbol{X},\\boldsymbol{\\beta})=\\frac{1}{n}\\vert\\vert \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\vert\\vert_2^2+\\lambda\\vert\\vert \\boldsymbol{\\beta}\\vert\\vert_1,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we have a new optimization equation"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in\n",
"{\\mathbb{R}}^{p}}}\\frac{1}{n}\\vert\\vert \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\vert\\vert_2^2+\\lambda\\vert\\vert \\boldsymbol{\\beta}\\vert\\vert_1\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which leads to Lasso regression. Lasso stands for least absolute shrinkage and selection operator. \n",
"\n",
"Here we have defined the norm-1 as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\vert\\vert \\boldsymbol{x}\\vert\\vert_1 = \\sum_i \\vert x_i\\vert.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- !split -->\n",
"## Various steps in 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",
"<!-- !split -->\n",
"## How to set up the cross-validation for Ridge and/or Lasso\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 $C[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. \n",
"\n",
"## Cross-validation in brief\n",
"\n",
"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",
"## Code Example for Cross-validation and $k$-fold Cross-validation\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": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAEGCAYAAABvtY4XAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA3pklEQVR4nO3dd3hU1dbH8e9KIwkJhBRqQAIEIUBCBwEpgiCIiuIFRBTQKyoq9mu7dq9iuRa8iqIiiihFURFQQDpKCy303kNJKIE0Uma/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": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"\n",
"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": [
"## To think about, first part\n",
"\n",
"When you are comparing your own code with for example **Scikit-Learn**'s\n",
"library, there are some technicalities to keep in mind. The examples\n",
"here demonstrate some of these aspects with potential pitfalls.\n",
"\n",
"The discussion here focuses on the role of the intercept, how we can\n",
"set up the design matrix, what scaling we should use and other topics\n",
"which tend confuse us.\n",
"\n",
"\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",
"## More thinking\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",
"[Standadscaler](https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html)\n",
"function in **Scikit-Learn** does this for us. For the data sets we\n",
"have been studying in our various examples, the data are in many cases\n",
"already scaled and there is no need to scale them. You as a user of different machine learning algorithms, should always perform a\n",
"survey of your data, with a critical assessment of them in case you need to scale the data.\n",
"\n",
"If you need to scale the data, not doing so will give an *unfair*\n",
"penalization of the parameters since their magnitude depends on the\n",
"scale of their corresponding predictor.\n",
"\n",
"Suppose as an example that you \n",
"you have an input variable given by the heights of different persons.\n",
"Human height might be measured in inches or meters or\n",
"kilometers. If measured in kilometers, a standard linear regression\n",
"model with this predictor would probably give a much bigger\n",
"coefficient term, than if measured in millimeters.\n",
"This can clearly lead to problems in evaluating the cost/loss functions.\n",
"\n",
"\n",
"## Still thinking\n",
"\n",
"Keep in mind that when you transform your data set before training a model, the same transformation needs to be done\n",
"on your eventual new data set before making a prediction. If we translate this into a Python code, it would could be implemented as follows"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'y_train' is not defined",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-2-0eaecb4595ac>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m#Model training, we compute the mean value of y and X\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0my_train_mean\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my_train\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mX_train_mean\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_train\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mX_train\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mX_train\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mX_train_mean\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0my_train\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0my_train\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0my_train_mean\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mNameError\u001b[0m: name 'y_train' is not defined"
]
}
],
"source": [
"#Model training, we compute the mean value of y and X\n",
"y_train_mean = np.mean(y_train)\n",
"X_train_mean = np.mean(X_train,axis=0)\n",
"X_train = X_train - X_train_mean\n",
"y_train = y_train - y_train_mean\n",
"\n",
"# The we fit our model with the training data\n",
"trained_model = some_model.fit(X_train,y_train)\n",
"\n",
"\n",
"#Model prediction, we need also to transform our data set used for the prediction.\n",
"X_test = X_test - X_train_mean #Use mean from training data\n",
"y_pred = trained_model(X_test)\n",
"y_pred = y_pred + y_train_mean"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## What does centering (subtracting the mean values) mean mathematically?\n",
"\n",
"\n",
"Let us try to understand what this may imply mathematically when we\n",
"subtract the mean values, also known as *zero centering*. For\n",
"simplicity, we will focus on ordinary regression, as done in the above example.\n",
"\n",
"The cost/loss function for regression is"
]
},
{
"cell_type": "markdown",
"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 since this leads to an increase of the penalty for higher differences between predicted and output/target values.\n",
"\n",
"What we have done is to single out the $\\beta_0$ term in the definition of the mean squared error (MSE).\n",
"The design matrix\n",
"$X$ does in this case not contain any intercept column.\n",
"When we take the derivative with respect to $\\beta_0$, we want the derivative to obey"
]
},
{
"cell_type": "markdown",
"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": [
"## Further Manipulations\n",
"\n",
"\n",
"Let us special first to the case where we have only two parameters $\\beta_0$ and $\\beta_1$.\n",
"Our result for $\\beta_0$ simplifies then to"
]
},
{
"cell_type": "markdown",
"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_1=\\frac{1}{n}\\sum_{i=0}^{n-1} (X_{i1},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and if we define 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_{1}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the general case, that is we have 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": [
"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": [
"## Wrapping it up\n",
"\n",
"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",
"\n",
"## Linear Regression code, Intercept handling first\n",
"\n",
"This code shows a simple first-order fit to a data set using the above transformed data, where we consider the role of the intercept first, by either excluding it or including it (*code example thanks to Øyvind Sigmundson Schøyen*). Here our scaling of the data is done by subtracting the mean values only.\n",
"Note also that we do not split the data into training and test."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"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.004113634617443131\n",
"MSE with intercept column from SKL\n",
"0.0041136346174431284\n",
"Manual intercept: 2.083766322923905\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.004113634617443137\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": {
"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, by subtracting the mean values, we have an optimization problem which is not penalized by the intercept. The MSE value can then be smaller since it focuses only on the remaining quantities. If we however bring back the intercept, we will get a MSE which then contains the intercept. \n",
"\n",
"## Code Examples\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": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Beta values for own Ridge implementation\n",
"[ 1.03032441e+00 6.28336218e-02 -6.24175744e-01 5.21169160e-02\n",
" 2.80847477e-01 2.12552073e-01 8.13220609e-02 -1.69634577e-02\n",
" -6.50846112e-02 -7.38962193e-02 -5.94226022e-02 -3.50227564e-02\n",
" -9.80609616e-03 1.08299273e-02 2.41882037e-02 2.93492130e-02\n",
" 2.64742912e-02 1.63249532e-02 -5.01831271e-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.13220609e-02 -1.69634577e-02\n",
" -6.50846112e-02 -7.38962192e-02 -5.94226022e-02 -3.50227564e-02\n",
" -9.80609616e-03 1.08299273e-02 2.41882037e-02 2.93492130e-02\n",
" 2.64742912e-02 1.63249532e-02 -5.01831188e-05 -2.15098090e-02]\n",
"MSE values for own Ridge implementation\n",
"4.3632959224230663e-07\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"4.3632959170578395e-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.194042826527663e-06\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"5.194042826866047e-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.094082198965824e-05\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"2.094082198964181e-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.00031535148309585413\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"0.0003153514830958115\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.015072388895177091\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"0.015072388895177109\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.2640931530791004\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"0.2640931530791002\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEGCAYAAAB/+QKOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAArZUlEQVR4nO3deXhU5f338fc3ISGBICCgbCKooCIkLAFEBUTZjYAkVtyVeqGt1FrFqj+fy+rP9pHWPnWrldKq3dzaBBRlEVQoKiIJAhFEBJFqBAVRdgJJ5n7+mEk6hAkJISdnZvJ5eeXKnP1zYsh37vucuY855xAREakswe8AIiISnVQgREQkIhUIERGJSAVCREQiUoEQEZGIGvkdoC61bt3ade7c2e8YIiIxY8WKFd8659pEWhZXBaJz584UFBT4HUNEJGaY2X+qWqYuJhERiUgFQkREIlKBEBGRiOLqGkQkJSUlFBUVUVxc7HcUiSIpKSl07NiRpKQkv6OIRK24LxBFRUU0a9aMzp07Y2Z+x5Eo4Jxjx44dFBUV0aVLF7/jiEStuO9iKi4uplWrVioOUsHMaNWqlVqVItWI+wIBqDjIEfQ7IVK9BlEgRETi1ZznH+CxX19GSfH+Ot+3CkQ9MDOuvfbaiunS0lLatGlDVlYWAN988w1ZWVlkZGTQvXt3xowZA8DmzZtJTU2lV69eFV9/+9vf6jV7eIbu3btz3XXXUVJSAkBBQQG33XZbxO06d+7Mt99+e1zHfu655yrOOzk5mZ49e9KrVy/uueeeGu/jscceY//+uv+HIxItniz4Pb/f9jqNklPqfN9xf5E6GjRt2pQ1a9Zw4MABUlNTWbhwIR06dKhYfv/99zN8+HB++tOfAlBYWFix7PTTT2fVqlX1Hfkw5RnKysoYPnw4//znP7n66qvJzMwkMzPTs+PeeOON3HjjjUCw4CxatIjWrVsf0z4ee+wxrrnmGpo0aeJFRBFffb/1c95qtoM7AwOwhLp/v68WRD0ZPXo0c+bMAeDFF1/kyiuvrFi2detWOnbsWDGdnp5+TPt+66236N27Nz179mTSpEkcPHiQ5cuXM2HCBABeffVVUlNTOXToEMXFxZx22mkAXHjhhdx9993079+fbt268c477xz1OImJifTv35+vvvoKgMWLF1e0gnbs2MGIESPo3bs3N998M+FPKnzooYc466yzGD58OFdeeSW//e1vAfjss88YNWoUffv2ZdCgQXzyySc1Ot9HHnmEfv36kZ6ezi9+8QsA9u3bxyWXXEJGRgY9evTg5Zdf5oknnmDLli0MHTqUoUOHHsNPVCQ2zJ75fylNhOwhP/Jk/w2rBXH77VDX78Z79YLHHqt2tYkTJ/K///u/ZGVlUVhYyKRJkyr+IN96661cccUV/P73v2fYsGHceOONtG/fHgj+Ee3Vq1fFfp588kkGDRpUMV1cXMwNN9zAW2+9Rbdu3bjuuut4+umnmTJlCitXrgTgnXfeoUePHuTn51NaWsqAAQMqti8tLWX58uXMnTuXBx98kDfffLPKcyguLuaDDz7g8ccfP2LZgw8+yAUXXMD999/PnDlzmDFjBhDshsrLy2PlypWUlpbSp08f+vbtC8DkyZOZPn06Xbt25YMPPuDHP/4xb7/99lF/jgsWLGDDhg0sX74c5xxjx45lyZIlbN++nfbt21cU4V27dtG8eXN+97vf1arlIRILcjfOplOjRDIvvrb6lWuhYRUIH6Wnp7N582ZefPHFimsM5UaOHMmmTZuYP38+8+bNo3fv3qxZswaovotp/fr1dOnShW7dugFw/fXX89RTT3H77bdzxhlnsG7dOpYvX84dd9zBkiVLKCsrO6zAlLcy+vbty+bNmyMeo7xIbdiwgZycnIgtnCVLljBz5kwALrnkElq2bAnAu+++y7hx40hNTQXg0ksvBWDv3r0sXbqUyy+/vGIfBw8erPI8yy1YsIAFCxbQu3fviv1s2LCBQYMGMXXqVO6++26ysrIOO0eReLR7exEL0rZxa1kfT7qXoKEViBq80/fS2LFjmTp1KosXL2bHjh2HLTvxxBO56qqruOqqq8jKymLJkiUV77SPJrwrp7JBgwYxb948kpKSGDZsGDfccANlZWUVXTwAjRs3BoLdR6WlpRH3U16ktm7dyoUXXsjs2bMZO3bsEetFunW0qnyBQIAWLVoc8/UV5xz33nsvN9988xHLVqxYwdy5c7n33nsZMWIE999//zHtWySWvJ73MIcaQc7AyZ4dQ9cg6tGkSZO4//776dmz52Hz33777Yo7bfbs2cNnn31Gp06darTPs846i82bN7Nx40YA/v73vzNkyBAABg8ezGOPPcbAgQNp06YNO3bs4JNPPuGcc86pVf527doxbdo0Hn744SOWDR48mOeffx6AefPm8f333wNwwQUX8Nprr1FcXMzevXsruoBOOOEEunTpwr/+9S8g+Id/9erV1WYYOXIkzz77LHv37gXgq6++Ytu2bWzZsoUmTZpwzTXXMHXqVD788EMAmjVrxp49e2p1viLRLHf9LNrvS+DckT/07BgNqwXhs44dO1bcqRRuxYoVTJkyhUaNGhEIBLjpppvo168fmzdvPuIaxKRJkw67tTQlJYXnnnuOyy+/nNLSUvr168ctt9wCwIABA/jmm28YPHgwEOzmOumkk47rQ2Ljx4/ngQceOOKC9i9+8QuuvPJK+vTpw5AhQyoKXL9+/Rg7diwZGRmceuqpZGZm0rx5cwCef/55fvSjH/HLX/6SkpISJk6cSEZGxlGPP2LECNatW8fAgQMBSEtL4x//+AcbN27krrvuIiEhgaSkJJ5++mkgeJ1j9OjRtGvXjkWLFtX6vEWiyd7vvmZe063cVNqThETv/ozb0boojnvnZqOAx4FE4M/OuWmVll8N3B2a3Av8yDm3OrRsM7AHKANKnXPV3k+ZmZnpKj8waN26dZx99tnHeSZyPPbu3UtaWhr79+9n8ODBzJgxgz59+vgdS78bErP+9cwd/KDoURb3eowh445803kszGxFVX9fPSs9ZpYIPAUMB4qAfDOb7Zz7OGy1z4EhzrnvzWw0MAMYELZ8qHPu+D5tJb6bPHkyH3/8McXFxVx//fVRURxEYlnu2lxOSjIuGOPN7a3lvOxi6g9sdM5tAjCzl4BxQEWBcM4tDVt/GdARiTsvvPCC3xFE4saB3d8xJ/VLrik5m8SkZE+P5eVF6g7Al2HTRaF5VfkhMC9s2gELzGyFmVV5md7MJptZgZkVbN++/bgCi4hEuzdmPcK+ZMjpf4Pnx/KyBRHpSmjECx5mNpRggbggbPb5zrktZnYSsNDMPnHOLTlih87NINg1RWZmpncXVEREokBu4UucmGQMyZri+bG8bEEUAaeETXcEtlReyczSgT8D45xzFR8OcM5tCX3fBswi2GUlItJgHdy3m9cab2Z82RkkpXg/vpiXBSIf6GpmXcwsGZgIzA5fwcw6ATOBa51zn4bNb2pmzcpfAyOANR5mFRGJem++8jt2N4acPtfUy/E8KxDOuVJgCvAGsA74p3NurZndYma3hFa7H2gF/MHMVplZ+T2qJwPvmtlqYDkwxzk336usXvN6uO8LL7yQM888k4yMDPr163fYp5PHjBnDzp07j9jmgQceOOwT1bWxY8eOilxt27alQ4cOFdOHDh2q0T4WL17M0qVLq19RRMhb9QLNi+Hi8XfUy/E8/aCcc24uMLfSvOlhr28Cboqw3Sbg6J+YiiH1Mdz3888/T2ZmJs899xx33XUXCxcuBGDu3LnVbFl7rVq1qsj2wAMPkJaWxtSpU49pH4sXLyYtLY3zzjvPg4Qi8aOkeD+vNNrI2JLTSE5Nq5djaqiNeuLlcN/hBg4cWDEcNxz+4J5f/epXnHnmmQwbNoz169dXrJOfn096ejoDBw7krrvuokePHgCUlZVx1113VQyt/cc//rFGGVasWMGQIUPo27cvI0eOZOvWrQA88cQTdO/enfT0dCZOnMjmzZuZPn06jz76KL169ap2uHGRhmzR7Mf5PsWRnX5FvR2zQQ21cfv821n19ao63Wevtr14bNRj1a7n1XDflc2fP5/x48cfMX/FihW89NJLEYfdvvHGG5kxYwbnnXfeYU9re+aZZ2jevDn5+fkcPHiQ888/nxEjRtClS5cqj19SUsJPfvITXn31Vdq0acPLL7/Mfffdx7PPPsu0adP4/PPPady4MTt37qRFixbccssttWp5iDQ0eQV/Iy0JRoyvv38rDapA+Mmr4b7LXX311ezbt4+ysrKKgerCvfPOO1x22WUVT1YrH411586d7Nmzp6KL56qrruL1118HgkNrFxYWkpubCwSfsbBhw4ajFoj169ezZs0ahg8fDgRbIe3atav4GVx99dWMHz8+YhETkcjKSg4xy9aTVdyJ1BNOrLfjNqgCUZN3+l7yYrjvcs8//zwZGRncc8893HrrrRXPZgh3LMNxly978sknGTlyZI1zOOc455xzeP/9949YNmfOHJYsWcLs2bN56KGHWLt2bY33K9KQvTPnD2xv4sjumFOvx9U1iHrkxXDf4ZKSkvjlL3/JsmXLWLdu3WHLBg8ezKxZszhw4AB79uzhtddeA6Bly5Y0a9aMZcuWAfDSSy9VbDNy5EiefvppSkpKAPj000/Zt2/fUTOceeaZbN++vaJAlJSUsHbtWgKBAF9++SVDhw7lN7/5DTt37mTv3r0ajlukBnKXPUtqCYyecHf1K9chFYh6dLThvjMzMysuFJcP9w3/vQZR/vXEE08c9RipqanceeedR9zC2qdPH6644gp69epFdnb2YdcxnnnmGSZPnszAgQNxzlUMx33TTTfRvXt3+vTpQ48ePbj55purfKhQueTkZHJzc7n77rvJyMigV69eLF26lLKyMq655hp69uxJ7969+dnPfkaLFi249NJLmTVrli5Si1QhUFbKzMBaRu9vT9OWJ9XrsT0d7ru+abjv2ikfjhtg2rRpbN26NeJzp+ONfjckFrw352kuKPgxL7SdwpU3P1nn+/dluG+JHXPmzOHhhx+mtLSUU089lb/85S9+RxKRkNx3/0TjRnBJPXcvgQqEAFdccQVXXFF/91aLSM24QIC80kJGFJ/MCW3q/2kIDeIaRDx1o0nd0O+ExIL8N//Kl2ll5Jwx1pfjx32BSElJYceOHfqDIBWcc+zYsYOUlBS/o4gcVe6/n6ZRGVw64V5fjh/3XUwdO3akqKgIPUxIwqWkpBw2vIlItHGBAHkHVzKsrDUt21X94VQvxX2BSEpKOuonf0VEotGqJS+zqVkp/9PyEt8yxH2BEBGJRXlvP0WiwbjL/OleAhUIEZGo4wIB/rVvOReWtaT1KWf6liPuL1KLiMSate+/yqcnlJB9Ss3HQfOCCoSISJTJe/MJzMFlPnYvgbqYRESiTu6u9xkUaE7b02r/8LC6oBaEiEgUWZ8/jzXND5Ld/mK/o6hAiIhEk7z5jwIwYdw91azpPXUxiYhEkdzv3uVc0uh4Zj+/o6gFISISLTatXszKFgfIOelCv6MAKhAiIlEjb84jAGRfWv9De0eiLiYRkSiRt/3f9KUJnXtc4HcUQC0IEZGo8MXH7/NBi33ktBpU/cr1RAVCRCQKzHztNwBkj77T5yT/pS4mEZEokLf1bdItha59h/sdpYJaECIiPtv62Srea7GbnJbn+R3lMJ4WCDMbZWbrzWyjmR3xqQ8zu9rMCkNfS80so6bbiojEi1mvTMMZZI/4qd9RDuNZgTCzROApYDTQHbjSzLpXWu1zYIhzLh14CJhxDNuKiMSF3C/f4OxdyXQ/159nT1fFyxZEf2Cjc26Tc+4Q8BIwLnwF59xS59z3ocllQMeabisiEg+2f7GOfzffSXaz/n5HOYKXBaID8GXYdFFoXlV+CMw71m3NbLKZFZhZgZ47LSKx5pWZDxNIgJyLf+J3lCN4WSAswjwXcUWzoQQLRPnHB2u8rXNuhnMu0zmX2aZNm1oFFRHxS+7muZyxO4n0C3L8jnIELwtEEXBK2HRHYEvllcwsHfgzMM45t+NYthURiWXfbfmMt0/YQXZqHywh+m4q9TJRPtDVzLqYWTIwEZgdvoKZdQJmAtc65z49lm1FRGLd7JkPU5oIORf+2O8oEXn2QTnnXKmZTQHeABKBZ51za83sltDy6cD9QCvgD2YGUBrqLoq4rVdZRUT8kPvZa5yamEjfi67xO0pEnn6S2jk3F5hbad70sNc3ATfVdFsRkXixa9sXLEzbxpSyvlHZvQQaakNExBevz5zGoUaQc95kv6NUSQVCRMQHeetfoX1SAgNGTPI7SpWis10jIhLH9n73NfOabiU7oQcJidH7Pj16k4mIxKm5M39NcRLk9I94CTZqqECIiNSzvI/zOCnJOH/0zX5HOSp1MYmI1KMDu79jTuqXTOBsEpOS/Y5zVGpBiIjUozdmPcK+ZMjufb3fUaqlAiEiUo9yC1+iVZIxJGuK31GqpS4mEZF6cnDfbl5rvJnxZV1JSmnid5xqqQUhIlJP3nzld+xuDNk9r/Y7So2oQIiI1JPclc/TPAkuHn+H31FqRF1MIiL1oKR4P68mfcbYktNITk3zO06NqAUhIlIPFs1+nO9THDndJ/odpcZUIERE6kFuwd9IS4IRl93ld5QaUxeTiIjHSg8V84qtJ6u4EylpLfyOU2NqQYiIeOydOX9gexNHzik/8DvKMVELQkTEY7nLniO1BEbFUPcSqECIiHgqUFbKTPcxY/Z3oGnLk/yOc0zUxSQi4qGl82bwddMAOe0m+B3lmKkFISLiobz3/kzjUrgk+x6/oxwztSBERDwSKCslt7SQkcVtadaqvd9xjplaECIiHsl/868UpZWRfcalfkepFRUIERGP5C35I0llcOmEe/2OUivqYhIR8YALBMg9uJJhZW1o2a6L33FqRS0IEREPrFryMp83KyW7yxi/o9SaWhAiIh7Iffv3JBqMuyw2u5dABUJEpM65QIDcfflcWNaS1qec6XecWlMXk4hIHVv7/qt8ekIJOZ1G+R3luHhaIMxslJmtN7ONZnbEp0TM7Cwze9/MDprZ1ErLNpvZR2a2yswKvMwpIlKXchc+jjm47LL/8TvKcfGsi8nMEoGngOFAEZBvZrOdcx+HrfYdcBswvordDHXOfetVRhERL+TtXsagQHNO7tLD7yjHxcsWRH9go3Nuk3PuEPASMC58BefcNudcPlDiYQ4RkXrzyfK5rGl+kJwOw/yOcty8LBAdgC/DpotC82rKAQvMbIWZTa7TZCIiHsl741EAJoyLvbGXKvPyLiaLMM8dw/bnO+e2mNlJwEIz+8Q5t+SIgwSLx2SATp061S6piEgdyfvuPQa6NDp0y/Q7ynHzsgVRBJwSNt0R2FLTjZ1zW0LftwGzCHZZRVpvhnMu0zmX2aZNm+OIKyJyfDatXszKFgfIaXuR31HqhJcFIh/oamZdzCwZmAjMrsmGZtbUzJqVvwZGAGs8SyoiUgfy5jwCwISs2HpyXFU862JyzpWa2RTgDSAReNY5t9bMbgktn25mbYEC4AQgYGa3A92B1sAsMyvP+IJzbr5XWUVE6kLu9n+TSRM697jA7yh1wtNPUjvn5gJzK82bHvb6a4JdT5XtBjK8zCYiUpe++Ph9lrfYx8OJI/2OUmeO2sVkZteEvT6/0rIpXoUSEYk1M1/7DQDZo+/0OUndqe4axB1hr5+stGxSHWcREYlZuVvfImNnCl37Dvc7Sp2prkBYFa8jTYuINEhbNnzI0hZ7yG55nt9R6lR1BcJV8TrStIhIgzTr1Wk4g5yRP/M7Sp2q7iL1WWZWSLC1cHroNaHp0zxNJiISI3KLFtI9oTFnD8jyO0qdqq5AnF0vKUREYtS2zWtZ0nwn9zHI7yh17qgFwjn3n/BpM2sFDAa+cM6t8DKYiEgseOWVhwkkQM5Ft/kdpc5Vd5vr62bWI/S6HcFPM08C/h76UJuISIOWt3k+Z+xOouf5E/yOUuequ0jdxTlXPsTFjcBC59ylwAB0m6uINHA7ijbwVvMd5DTpiyXE3wM6qzuj8Oc0XEzoU9HOuT1AwKtQIiKxYPashylLgJwLb/U7iiequ0j9pZn9hODIrH2A+QBmlgokeZxNRCSq5W2aQ+fERvQZepXfUTxRXQvih8A5wA3AFc65naH55wLPeRdLRCS67dr2BQuabSO7cUZcdi9B9XcxbQNuiTB/EbDIq1AiItHu9ZnTKEmE7IHx+8DLoxYIMzvq8xucc2PrNo6ISGzIXf8KHRolMGBE/N6vU901iIEEnyv9IvABGn9JRIS9333N/KZbmVyWQUKip09N8FV1Z9YWGA5cCVwFzAFedM6t9TqYiEi0mjvz1xQnQXb/H/odxVNHvbLinCtzzs13zl1P8ML0RmBx6M4mEZEGKffjXE7en8D5o2/2O4qnqm0bmVlj4BKCrYjOwBPATG9jiYhEp/27vmVuahHXlnYnMSnZ7ziequ4i9V+BHsA84MGwT1WLiDRIb8x6hH3JkNPnBr+jeK66FsS1wD6gG3CbWcU1agOcc+4ED7OJiESd3I9eplWSMeTS+O9pr+5zEPH56Q8RkVo4uG83rzX+Dz8o6Uaj5BS/43gufu/PEhGpYwtn/ZY9jSEn/Vq/o9QLFQgRkRrKW/UizZPgonG3+x2lXqgLSUSkBg4d2MsrSZ8xruQ0klPT/I5TL9SCEBGpgUWzH2dniiOne3yO3BqJCoSISA3krfgHaUkw/LI7/Y5Sb9TFJCJSjdJDxcxKWM+lxaeSktbC7zj1Ri0IEZFqvDPnD3yb6sjudrnfUeqVCoSISDVylz1Hk0YwOvtuv6PUK0+7mMxslJmtN7ONZnZPhOVnmdn7ZnbQzKYey7YiIvUhUFbKTPcxYw50oEnz1n7HqVeeFQgzSwSeAkYD3YErzax7pdW+A24DfluLbUVEPLd03gy+bhog+6wJfkepd162IPoDG51zm5xzh4CXgHHhKzjntjnn8oGSY91WRKQ+5L73JxqXwiXZDa8jw8sC0YHg0+jKFYXm1em2ZjbZzArMrGD79u21CioiEkmgrJS80o8YubctzVq19ztOvfOyQER6PKmr622dczOcc5nOucw2bdrUOJyISHXy3/wrRWll5HRtmB0YXhaIIuCUsOmOwJZ62FZEpE7kLplOUhlcmn2v31F84WWByAe6mlkXM0sGJgKz62FbEZHj5gIB8g6uYtieNrQ4+VS/4/jCs89BOOdKzWwK8AaQCDzrnFtrZreElk83s7ZAAXACEDCz24Huzrndkbb1KquISGUrF7/I581K+T8tL/E7im88/aCcc24uMLfSvOlhr78m2H1Uo21FROpL3uI/kGgwbsL/+B3FN/oktYhIJS4Q4F/78hladiKtOnb1O45vNFifiEgla5bOYsMJJeScOsrvKL5SC0JEpJK8N5/EgPHjG+bdS+VUIEREKsndvYzBgeac3KWH31F8pS4mEZEwnyyfy9rmB8npMNzvKL5TgRARCZP3xqMAXDauYQ3tHYm6mEREwuR+9x7nuWZ06JbpdxTfqQUhIhLy2aq3WdXiANlth/odJSqoQIiIhOTNCT6aJvvSn/ucJDqoi0lEJCT32yX0oymnnnO+31GigloQIiLAf9a+R36LfWS3HuR3lKihAiEiAsx87REAssdM9TlJ9FAXk4gIkPf122RYCmf0vtjvKFFDLQgRafC++rSA91ruIaelrj2EU4EQkQZv1qu/BiBn1B0+J4ku6mISkQYv76s36Z7QmLP6j/E7SlRRC0JEGrRtm9eypPlOck4Y4HeUqKMWhIg0aK+88jCBBMi+6Cd+R4k6KhAi0qDlbp5H18Qkep4/we8oUUddTCLSYO0o2sDbzb8jp0kmlqA/h5WpBSEiDdbsWQ9TlgDZg3/sd5SopAIhIg1W7qbX6ZzYiD5Dr/I7SlRSm0pEGqRd275gYbPtZDfOUPdSFdSCEJEG6bW8hylJhJzzbvE7StRSgRCRBin301fo2CiR/sNv8DtK1FK7SkQanD07tjA/7WsmNOpBQqLeJ1dFPxkRaXDmzvw1BxtBTv+b/I4S1VQgRKTByVs3k5OTEjhv1GS/o0Q1T7uYzGyUma03s41mdk+E5WZmT4SWF5pZn7Blm83sIzNbZWYFXuYUkYZj/65vmZNaxATOJjEp2e84Uc2zFoSZJQJPAcOBIiDfzGY75z4OW2000DX0NQB4OvS93FDn3LdeZRSRhmf+zN+wPxly+t7od5So52ULoj+w0Tm3yTl3CHgJGFdpnXHA31zQMqCFmbXzMJOINHB5a/5JqwPG4Kxb/Y4S9bwsEB2AL8Omi0LzarqOAxaY2Qozq7Kj0Mwmm1mBmRVs3769DmKLSLw6uG83rzX+D5eVdaNRcorfcaKelwXCIsxzx7DO+c65PgS7oW41s8GRDuKcm+Gcy3TOZbZp06b2aUUk7i2c9Vv2NIbsvtf4HSUmeFkgioBTwqY7Altquo5zrvz7NmAWwS4rEZFay131Ai2KjYvG3e53lJjgZYHIB7qaWRczSwYmArMrrTMbuC50N9O5wC7n3FYza2pmzQDMrCkwAljjYVYRiXOHDuzl1aRNjCs5jeTUNL/jxATP7mJyzpWa2RTgDSAReNY5t9bMbgktnw7MBcYAG4H9QPltBScDs8ysPOMLzrn5XmUVkfi3aPbj7ExxZHe/0u8oMcPTD8o55+YSLALh86aHvXbAEbcSOOc2ARleZhORhiW34O80S4Lhl93pd5SYobGYRCTulR4q5pXET8k6eCopaS38jhMzNNSGiMS9Ja8/xbepjpwzf+B3lJiiAiEicS/3g+do0ghGTfi531FiirqYRCSulZUcYpZbx5gDHWjSvLXfcWKKWhAiEteWzp/B100D5LTP9jtKzFGBEJG4lrf0GVISYcyEu/2OEnNUIEQkbgXKSskr/YiRxW1p1qq933Fijq5BiEjcWr7wLxSllZHTbbzfUWKSCoSIxK28d/5IUhlkTTjieWVSA+piEpG45AIBcg+uYnhZG1qcfKrfcWKSWhAiEpdWLn6Rzc1KyTkty+8oMUsFQkTiUu6ip0gMwNjL7vU7SsxSF5OIxB0XCJC7v4CLyk6kVceufseJWWpBiEjcWbN0FhtOKCH71FF+R4lpakGISNzJffMJEhyMH6/upeOhAiEicSdv9wcMDrTg5C49/I4S09TFJCJxZd0Hr7O2+UGyOwzzO0rMU4EQkbiS98ZjAExQ99JxUxeTiMSVvO+Xcp5rRvuuffyOEvPUghCRuLFx5VusanGAnLYX+R0lLqgFISIxafsX6yjMf53VG96l8Nu1rC7bwsdpB7BEmHDpXX7HiwsqECIS1UqK97N+xRus/mghhUUrWL3vMwqTvmdr00DFOu0SEkgva8kI15PRva7k1HPO9zFx/FCBEJGosW3zWgoL5rB6wzsU7vg42CpoVkxJYnB5skF3UhkR6EJ643PI6HoB6f2yaNPpbH+DxykVCBGpd4cO7OWTgvkUrnkr1CrYRGHy93wd1ipon5BAetmJjApkkN6+LxnpI+jWZzhJKU18TN6wqECIiKe++XwNhQWvs3rjuxTuWMfqsi2sC2sVNE6AcyyVUYHTgq2CboNI75dF61PO9De4qECISN04dGAv6/LnUrjmbVZ/VUDhvs8pbLyTb5r8t1XQwRJIpxVjXC/S22aSkTGcbn1G0Cg5xcfkUhUVCBE5Zl9vKgxeKyhvFbitrEsrprRSq2BM4HTSU4Ktgp6Zl6hVEGNUIESkSgf37WZdwTwK17zF6q8+pHD/5xQ2/p5tTVzFOh0TEkkvPZEs15v0dplkZIyga+9hahXEARUIEcEFAnz9eXmr4D0Kvwu2Cj5JO1jRKkhJgHOsCVmBM0hP7UFGt8H0zLxEz1uIY54WCDMbBTwOJAJ/ds5Nq7TcQsvHAPuBG5xzH9ZkWxGpnYP7dvNx/hwK175d0SpYnbKTb1P/2yo4JSGR9NJWjOUM0ttnkp4+XK2CBsizAmFmicBTwHCgCMg3s9nOuY/DVhsNdA19DQCeBgbUcFuRuOQCAZwL1Py7Cxy+nXMVr/ft+pa1qxey+rPyVsHXfNLsIGWhQXZSEqCHNWFcWddgq+DMwfTsl8WJ7U/38Scg0cLLFkR/YKNzbhOAmb0EjAPC/8iPA/7mnHPAMjNrYWbtgM412LbO9P1ZEw5YmRe7jlqu+lWObX9WxzsEXB2ndBVfDmeHTwNHzDts2kLzKq9n//1ZHrZNhHWO9p2w717pFGoVjHNnkNGhf0WrIDEp2dsDS8zyskB0AL4Mmy4i2Eqobp0ONdwWADObDEwG6NSpU62Cnp1wModcaa22jWVGHf5FctTl3ioEeyHrcH+hszYXfGUWmsZC5xA2L3yd8GVVzCd8m/L/LMK8Kv7DETq2Hdv38mNjmCUcNr9xoxS6nzGQnv2yaNmuS53+LCX+eVkgIv3LrvyWsKp1arJtcKZzM4AZAJmZmbV6y/mP//d5bTYTEYlrXhaIIuCUsOmOwJYarpNcg21FRMRDXj4PIh/oamZdzCwZmAjMrrTObOA6CzoX2OWc21rDbUVExEOetSCcc6VmNgV4g+Ctqs8659aa2S2h5dOBuQRvcd1I8DbXG4+2rVdZRUTkSBa8gSg+ZGZmuoKCAr9jiIjEDDNb4ZzLjLRMjxwVEZGIVCBERCQiFQgREYlIBUJERCKKq4vUZrYd+E8tN28NfFuHcfwUL+cSL+cBOpdoFC/nAcd3Lqc659pEWhBXBeJ4mFlBVVfyY028nEu8nAfoXKJRvJwHeHcu6mISEZGIVCBERCQiFYj/muF3gDoUL+cSL+cBOpdoFC/nAR6di65BiIhIRGpBiIhIRCoQIiISkQpEBGY21cycmbX2O0ttmNlDZlZoZqvMbIGZtfc7U22Z2SNm9knofGaZWQu/M9WWmV1uZmvNLGBmMXd7pZmNMrP1ZrbRzO7xO09tmdmzZrbNzNb4neV4mdkpZrbIzNaFfrd+Wpf7V4GoxMxOAYYDX/id5Tg84pxLd871Al4H7vc5z/FYCPRwzqUDnwL3+pzneKwBJgBL/A5yrMwsEXgKGA10B640s+7+pqq1vwCj/A5RR0qBO51zZwPnArfW5f8XFYgjPQr8nCoecRoLnHO7wyabEtvnssC5igeGLyP4dMGY5Jxb55xb73eOWuoPbHTObXLOHQJeAsb5nKlWnHNLgO/8zlEXnHNbnXMfhl7vAdYBHepq/14+cjTmmNlY4Cvn3OryB8HHKjP7FXAdsAsY6nOcujIJeNnvEA1UB+DLsOkiYIBPWSQCM+sM9AY+qKt9NrgCYWZvAm0jLLoP+B9gRP0mqp2jnYdz7lXn3H3AfWZ2LzAF+EW9BjwG1Z1LaJ37CDann6/PbMeqJucSoyK9Y4rZlmm8MbM0IA+4vVIPwnFpcAXCOTcs0nwz6wl0AcpbDx2BD82sv3Pu63qMWCNVnUcELwBziOICUd25mNn1QBZwsYvyD+4cw/+XWFMEnBI23RHY4lMWCWNmSQSLw/POuZl1ue8GVyCq4pz7CDipfNrMNgOZzrmYG+3RzLo65zaEJscCn/iZ53iY2SjgbmCIc26/33kasHygq5l1Ab4CJgJX+RtJLPhu9hlgnXPud3W9f12kjk/TzGyNmRUS7DKr01vf6tnvgWbAwtBtu9P9DlRbZnaZmRUBA4E5ZvaG35lqKnSjwBTgDYIXQv/pnFvrb6raMbMXgfeBM82syMx+6Hem43A+cC1wUejfxyozG1NXO9dQGyIiEpFaECIiEpEKhIiIRKQCISIiEalAiIhIRCoQIiISkQqExCUz23sc204JjVh62Ii+FvREaFmhmfUJW5ZqZv82s0Qz61xXI4Wa2V/MLKcG6y2uboRYM3vJzLrWRS5pGFQgRI70HjAM+E+l+aOBrqGvycDTYcsmATOdc2X1krB2niY4EKVIjahASFwLvet/JPTBwY/M7IrQ/AQz+0NoDP3XzWxu+Tt159xK59zmCLsbB/zNBS0DWphZu9Cyq4EjxloKtSbeMbMPQ1/nheZfGGpx/NPMPjWzaWZ2tZktD+U8PWw3w0L7+NTMskLbp4ZaBIVm9jKQGnbMp82sIHRuD4bt553QvjSCgtSIflEk3k0AegEZQGsg38yWEPwEamegJ8EhVtYBz1azr0gjmnYwsx3AaVUUlW3AcOdccah750WgvCsoAzib4NDTm4A/O+f6hx768hPg9tB6nYEhwOnAIjM7A/gRsN85l25m6cCHYce8zzn3XegZDm+ZWbpzrtA5FzCzjaHjrqjmXEXUgpC4dwHwonOuzDn3DfBvoF9o/r+cc4HQYIyLarCvqkY0bQ3srGKbJOBPZvYR8C+CD9splx8az/8g8BmwIDT/I4JFodw/Qzk3ECwkZwGDgX8AOOcKgcKw9X9gZh8CK4FzKh1zGxCzTxiU+qUWhMS7qh7sUZsHflQ1omkxkFLFNj8DviH4rj0htG65g2GvA2HTAQ7/t1l5PBxXxXxCg+lNBfo55743s79UypYCHKgiq8hh1IKQeLcEuCJ0d1Ebgu+8lwPvAtmhaxEnAxfWYF+zgetC1zXOBXaFWgDfA4lmFqlINAe2OucCBAdVS6zFOVweynk6cBqwPnReVwOYWQ8gPbTuCcA+YFfovEZX2lc3ICYH2ZP6pwIh8W4Wwe6X1cDbwM9DXUp5BFsEa4A/EnwK1y4AM7stNOpqR6DQzP4c2tdcgl08G4E/AT8OO84Cgt1Wlf0BuN7MlhH847yvFuewnmDX2DzgFudcMcE7ktJCI/b+nGDRwzm3mmDX0lqC11TeK99JqGAccM5trUUGaYA0mqs0WGaW5pzba2atCP6BPb+2D4cys97AHc65a+s0ZB0ys58Bu51zz/idRWKDrkFIQ/a6mbUAkoGHjufJgc65lWa2yMwSo/izEDuBv/sdQmKHWhAiIhKRrkGIiEhEKhAiIhKRCoSIiESkAiEiIhGpQIiISET/H1GSr6ffdQ3uAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"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 (thanks to Stian Bilek for inpouts here).\n",
"\n",
"## Taking out the mean"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"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.25617655e-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.25617648e-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.0330308045187284\n",
"Intercept from Scikit-Learn Ridge implementation\n",
"1.0330308045183763\n",
"MSE values for own Ridge implementation\n",
"3.1392559589438813e-06\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"3.1392559585649594e-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.041148729430573\n",
"Intercept from Scikit-Learn Ridge implementation\n",
"1.041148729430526\n",
"MSE values for own Ridge implementation\n",
"1.9601304850211e-05\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"1.960130485008338e-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.0495569966278246\n",
"Intercept from Scikit-Learn Ridge implementation\n",
"1.049556996627827\n",
"MSE values for own Ridge implementation\n",
"5.495916150935996e-05\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"5.495916150936773e-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.0399676689527966\n",
"Intercept from Scikit-Learn Ridge implementation\n",
"1.0399676689527975\n",
"MSE values for own Ridge implementation\n",
"7.571105947979362e-05\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"7.57110594797938e-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.999955585168597\n",
"Intercept from Scikit-Learn Ridge implementation\n",
"0.999955585168597\n",
"MSE values for own Ridge implementation\n",
"0.0007698473260556343\n",
"MSE values for Scikit-Learn Ridge implementation\n",
"0.0007698473260556316\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": {
"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",
"\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": null,
"metadata": {},
"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",
"## Reformulating the problem to suit regression\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": null,
"metadata": {},
"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": [
"## Linear regression\n",
"\n",
"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": null,
"metadata": {},
"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": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"def ols_inv(x: np.ndarray, y: np.ndarray) -> np.ndarray:\n",
" return scl.inv(x.T @ x) @ (x.T @ y)\n",
"beta = ols_inv(X_train_own, y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Singular Value decomposition\n",
"\n",
"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": null,
"metadata": {},
"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": null,
"metadata": {},
"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": null,
"metadata": {},
"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": null,
"metadata": {},
"outputs": [],
"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",
"## The one-dimensional Ising model\n",
"\n",
"Let us bring back the Ising model again, but now with an additional\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": null,
"metadata": {},
"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": null,
"metadata": {},
"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": null,
"metadata": {},
"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": null,
"metadata": {},
"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": null,
"metadata": {},
"outputs": [],
"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 perfectly with our previous discussion where we used our own code.\n",
"\n",
"## Ridge regression\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": [
"3\n",
"7\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": null,
"metadata": {},
"outputs": [],
"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": [
"## LASSO regression\n",
"\n",
"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": null,
"metadata": {},
"outputs": [],
"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",
"## Performance as function of the regularization parameter\n",
"\n",
"We see how the different models perform for a different set of values for $\\lambda$."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"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",
"## Finding the optimal value of $\\lambda$\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": null,
"metadata": {},
"outputs": [],
"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",
"\n",
"<!-- !split -->\n",
"## Logistic Regression\n",
"\n",
"In linear regression our main interest was centered on learning the\n",
"coefficients of a functional fit (say a polynomial) in order to be\n",
"able to predict the response of a continuous variable on some unseen\n",
"data. The fit to the continuous variable $y_i$ is based on some\n",
"independent variables $\\boldsymbol{x}_i$. Linear regression resulted in\n",
"analytical expressions for standard ordinary Least Squares or Ridge\n",
"regression (in terms of matrices to invert) for several quantities,\n",
"ranging from the variance and thereby the confidence intervals of the\n",
"parameters $\\boldsymbol{\\beta}$ to the mean squared error. If we can invert\n",
"the product of the design matrices, linear regression gives then a\n",
"simple recipe for fitting our data.\n",
"\n",
"<!-- !split -->\n",
"## Classification problems\n",
"\n",
"\n",
"Classification problems, however, are concerned with outcomes taking\n",
"the form of discrete variables (i.e. categories). We may for example,\n",
"on the basis of DNA sequencing for a number of patients, like to find\n",
"out which mutations are important for a certain disease; or based on\n",
"scans of various patients' brains, figure out if there is a tumor or\n",
"not; or given a specific physical system, we'd like to identify its\n",
"state, say whether it is an ordered or disordered system (typical\n",
"situation in solid state physics); or classify the status of a\n",
"patient, whether she/he has a stroke or not and many other similar\n",
"situations.\n",
"\n",
"The most common situation we encounter when we apply logistic\n",
"regression is that of two possible outcomes, normally denoted as a\n",
"binary outcome, true or false, positive or negative, success or\n",
"failure etc.\n",
"\n",
"## Optimization and Deep learning\n",
"\n",
"Logistic regression will also serve as our stepping stone towards\n",
"neural network algorithms and supervised deep learning. For logistic\n",
"learning, the minimization of the cost function leads to a non-linear\n",
"equation in the parameters $\\boldsymbol{\\beta}$. The optimization of the\n",
"problem calls therefore for minimization algorithms. This forms the\n",
"bottle neck of all machine learning algorithms, namely how to find\n",
"reliable minima of a multi-variable function. This leads us to the\n",
"family of gradient descent methods. The latter are the working horses\n",
"of basically all modern machine learning algorithms.\n",
"\n",
"We note also that many of the topics discussed here on logistic \n",
"regression are also commonly used in modern supervised Deep Learning\n",
"models, as we will see later.\n",
"\n",
"\n",
"<!-- !split -->\n",
"## Basics\n",
"\n",
"We consider the case where the dependent variables, also called the\n",
"responses or the outcomes, $y_i$ are discrete and only take values\n",
"from $k=0,\\dots,K-1$ (i.e. $K$ classes).\n",
"\n",
"The goal is to predict the\n",
"output classes from the design matrix $\\boldsymbol{X}\\in\\mathbb{R}^{n\\times p}$\n",
"made of $n$ samples, each of which carries $p$ features or predictors. The\n",
"primary goal is to identify the classes to which new unseen samples\n",
"belong.\n",
"\n",
"Let us specialize to the case of two classes only, with outputs\n",
"$y_i=0$ and $y_i=1$. Our outcomes could represent the status of a\n",
"credit card user that could default or not on her/his credit card\n",
"debt. That is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"y_i = \\begin{bmatrix} 0 & \\mathrm{no}\\\\ 1 & \\mathrm{yes} \\end{bmatrix}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Linear classifier\n",
"\n",
"Before moving to the logistic model, let us try to use our linear\n",
"regression model to classify these two outcomes. We could for example\n",
"fit a linear model to the default case if $y_i > 0.5$ and the no\n",
"default case $y_i \\leq 0.5$.\n",
"\n",
"We would then have our \n",
"weighted linear combination, namely"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto13\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
"\\boldsymbol{y} = \\boldsymbol{X}^T\\boldsymbol{\\beta} + \\boldsymbol{\\epsilon},\n",
"\\label{_auto13} \\tag{13}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $\\boldsymbol{y}$ is a vector representing the possible outcomes, $\\boldsymbol{X}$ is our\n",
"$n\\times p$ design matrix and $\\boldsymbol{\\beta}$ represents our estimators/predictors.\n",
"\n",
"## Some selected properties\n",
"\n",
"The main problem with our function is that it takes values on the\n",
"entire real axis. In the case of logistic regression, however, the\n",
"labels $y_i$ are discrete variables. A typical example is the credit\n",
"card data discussed below here, where we can set the state of\n",
"defaulting the debt to $y_i=1$ and not to $y_i=0$ for one the persons\n",
"in the data set (see the full example below).\n",
"\n",
"One simple way to get a discrete output is to have sign\n",
"functions that map the output of a linear regressor to values $\\{0,1\\}$,\n",
"$f(s_i)=sign(s_i)=1$ if $s_i\\ge 0$ and 0 if otherwise. \n",
"We will encounter this model in our first demonstration of neural networks. Historically it is called the ``perceptron\" model in the machine learning\n",
"literature. This model is extremely simple. However, in many cases it is more\n",
"favorable to use a ``soft\" classifier that outputs\n",
"the probability of a given category. This leads us to the logistic function.\n",
"\n",
"## Simple example\n",
"\n",
"The following example on data for coronary heart disease (CHD) as function of age may serve as an illustration. In the code here we read and plot whether a person has had CHD (output = 1) or not (output = 0). This ouput is plotted the person's against age. Clearly, the figure shows that attempting to make a standard linear regression fit may not be very meaningful."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ID</th>\n",
" <th>Age</th>\n",
" <th>Agegroup</th>\n",
" <th>CHD</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>21</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>23</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>25</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>29</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>21</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>95</th>\n",
" <td>96</td>\n",
" <td>61</td>\n",
" <td>8</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>96</th>\n",
" <td>97</td>\n",
" <td>69</td>\n",
" <td>8</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>97</th>\n",
" <td>98</td>\n",
" <td>65</td>\n",
" <td>8</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>98</th>\n",
" <td>99</td>\n",
" <td>64</td>\n",
" <td>8</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>99</th>\n",
" <td>100</td>\n",
" <td>63</td>\n",
" <td>8</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>100 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" ID Age Agegroup CHD\n",
"0 1 21 1 0\n",
"1 2 23 1 0\n",
"2 3 25 1 1\n",
"3 4 29 1 0\n",
"4 5 21 1 0\n",
".. ... ... ... ...\n",
"95 96 61 8 1\n",
"96 97 69 8 1\n",
"97 98 65 8 1\n",
"98 99 64 8 1\n",
"99 100 63 8 0\n",
"\n",
"[100 rows x 4 columns]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAfgAAAFnCAYAAABKGFvpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA0RElEQVR4nO3deWATdf7/8Vd6pJSm0JJWoLIqcokiFOTL14oroKyi4n2sIP6+4lEv8EAoIqcsoICg1mO14notuLqLXKKAuFZdEVFulbPIWcCSnumVHvP7gy/5Umib0EzaOjwff5HM5DPvec9MXsmn02IzDMMQAACwlJCGLgAAAJiPgAcAwIIIeAAALIiABwDAggh4AAAsiIAHAMCCCHjUatGiRerZs6c8Hk/Qt5Wenq4BAwborrvu8j43YcIELVy40LRt/Pjjj7rnnnskSV988cVJ2zNz/MbqL3/5i3r27KmPP/64xnUqKir0xhtv6I477tBdd92l22+/XWPHjtWmTZvqsdL6sWnTJt1www26/PLLG7qUah0+fFi33367OnXq5H1uyZIlGjt2bANWhd8FA6jFo48+anTr1s344osv6mV78+fPN4YMGeJ97Ha7jbKyMp+vGzJkiDF//nyf61VWVhr5+fk1bu9UdezY0di3b1+N4zdWvvo1cuRI48knnzRKS0sNwzCM0tJS46mnnjKuv/76+iqxXq1evdro169fvW3P3/P1mH379hkdO3b0Pi4vLzfcbncwSoOF8A0eNXK73QoNDVW/fv302WefNUgNUVFRCgsLM208m82m6Oho08ar7/Hrw/fff68VK1Zo4sSJstvtkiS73a6xY8d6H6NhhYaGKioqqqHLQCNn3jsnLGflypW68sorFRYWppSUFJWWlioiIkKS9Prrr2vJkiVq2bKlLr74Ys2aNUu9evXSW2+9JZvNptmzZ2v9+vWy2Wzq3bu3HnnkEdlstpO2UVRUpPHjxysjI0OtWrWqMg25cOFCpaamqlevXnruuedUXFysp556Si6XSxUVFeratavGjBmjWbNmacuWLcrKytKCBQt07733Kj09XZ988omGDBminTt3au3atRowYIB+/vlnbdy4Udu2bfNuxzAMTZkyRT///LNKS0v1l7/8RRdccIFmzJihjz76SE8//bRuvvlmTZgwQQsWLNCcOXP03//937rvvvskSSNGjFBERISee+45PfHEE1XGd7vdmjZtmn799VdVVlaqf//+uu+++1RWVqZ7771Xa9as0YQJE5Senq5ff/1Vo0eP1p/+9Kdqj8eHH36oBQsWyG63y2azafz48Wrfvr02bdqk8ePHq6CgQIMHD1Z6erry8vKUmpqqtm3bSpI2b96siRMnKiIiQhdeeKGMWv6A5fLly9W1a9eTPqg4HA69/fbb3sdff/21XnvtNYWGhqpJkyaaMGGCzj77bH344Yd644031K1bN0VFRWnt2rWKi4vT+++/79droqOjtXnzZsXFxemVV15RRESECgsLNWnSJO3fv182m00dOnTQ+PHjFRYWpldeeUUffPCBBgwYoNzcXK1fv155eXkKDw9X06ZNlZKSogEDBmjw4MHau3evpk+frt69e1e773PmzKm2f3v37tWkSZPk8XhUWVmpkSNHqkePHqd0XFauXKn169crOTn5pPO1b9++J9Vy7Bpr1aqV+vTp431+27ZtSklJUUFBgf79739Lkl555RV98803stvtcjqdevrpp3XGGWeosLBQU6ZM0e7du2UYhm644QYNGjRI0tEfJ6WmpsowDJWVlem+++5T//79JUnr1q3TzJkzFR4eLsMwdM8996hfv36Sjl6X8+bNk91uV8uWLfXMM8/I4XDUeD6hATXo/AEatREjRhglJSVGaWmp0bNnT+Pzzz83DMMw0tPTjd69exs5OTmGYRjGs88+W2X68LXXXjPuuusuo7y83PB4PMaf//xnY+HChdVuY/r06ca9995rVFRUGKWlpcagQYOqTJmnpqYao0ePNgzDMP7+978bEyZMMAzj6BTlzTff7F2vuinPIUOGGEOHDjXKy8uNnTt3Gh999NFJU53z5883unTpYmzdutUwDMNYvHix0a9fP8Pj8VQ7br9+/YzVq1d7H584RX/i+GPGjPHWX1xcbAwcONBYsGBBldenpaUZhmEYS5cuNa688spq+2QYhvHBBx94p8xXr15tDBo0yLts9erVxgUXXGD88MMPhmEYxsSJE43x48cbhnF0ev2yyy4zlixZYhiGYfzyyy9Gly5dapwivvfee40RI0bUWIdhGMbevXuNxMREY9euXYZhGMbChQuNq666yvvjlNTUVOOSSy4xXC6XUV5ebsyYMcOv11x66aVGbm6uUVFRYVx77bXemnNycqqcQ6NHjzY++uijKo8HDhxoFBUVGfn5+carr75q/O1vfzOGDh3qXWfZsmXGv/71r2r3p7b+lZeXGwMGDDD++c9/GoZhGFu2bDF69eplFBQUGIbh33H59ttvDcMwjOeee84wDN9T9CdeYzNmzKhyXh3/I4UdO3YYV199tVFZWWkYhmFMnTrVe46OHTvWGDVqlGEYhlFQUGBcfvnl3n1MT083du/e7V126aWXen+8dMsttxgbNmzw7u+xc/jHH380evXqZbhcLu/+PP300zXuBxoWU/SoVn5+vqKiohQRESG73a4rr7xSn376qSRp2bJluuyyyxQTEyNJuu6666q8dsGCBbrpppsUGhqq8PBwDRgwQIsXL652O8uWLdPAgQMVEhIiu91e47dXSYqJidHatWu1YcMGhYaG6u9//7vP/ejTp49CQ0PVrl073XbbbdWu07ZtW+/MwTXXXKPffvtNGzZs8Dm2L5WVlVqyZIluueUWSVKTJk10zTXXnHRz2x//+EdJUqdOnXTgwIEax2vfvr0efPBBDR48WLNmzdLPP/9cZXnTpk3Vs2dP71j79++XJG3YsEEul0tXX321JKlz584655xzAtq3Tz75RBdeeKH3G+7AgQOVmZmp9evXe9dJTExUixYtFBoaqlGjRvn1mm7duql58+YKCQlRhw4dvPvQvHlzZWZmatCgQbrrrru0Zs2ak/Y/KSlJkZGRio6O1sMPP6zrrrtOa9as0eHDhyUdPdeuuuqqGvfp+P6dd955Vfq3b98+3XDDDd5lLVu2VHp6uiTfxyUyMlKXXHKJJGn06NF+9ffEa+yaa66pcd2oqCgdOXJEK1asUFlZmUaOHKmLLrpIlZWVWrRokW699VZJR2dg+vXr570WO3TooJdeekl33HGHHnroIeXm5urXX3+VdLTfixYt0pEjR3Teeedp4sSJko5e25dffrlatGgh6ei1v2TJklpnhNBwmKJHtY5NJx67wzwvL0/79u1TSUmJfvvtN5133nnedZs3b17ltYcOHdLbb7/tDbLCwkI1a9as2u1kZWUpNja2xrGOd+2116q8vFzTpk1Tbm6u7r77bg0ePLjW/fDn5+HHbzM0NFTR0dHKysry+TpfsrOz5fF4vG+GktSiRQtv4BxzbHozIiJCZWVl1Y5VUFCgBx54QFOnTtWAAQO0f/9+XXHFFdWOc+JYWVlZatasmUJDQ73LjwVHdc4++2xt37691n07dOhQlf0KDQ1Vs2bNdOjQIe9zJ/ben9fUtA8LFizQhx9+qIULFyomJkYvv/zySR+GTtxeXFyckpKStHjxYt1yyy0KDw+vdSr5+GV2u9277WPH6/jfjvB4PCooKPDruNTlngxf19jxWrdurTfeeENvvvmmJk+erOuuu06PPfaYCgsL5fF4NHPmTDVp0kTS0Q/unTt3lnT0w0bHjh01e/ZsSdLll1+u4uJiSdKsWbOUlpamm266SR07dtTIkSPVuXNnHTp0SBkZGd73hfLycsXFxSknJ6fKsUXjQMCjWv/5z3/08ccfKzw8XJJUVlampKQkpaen64wzzlB2drZ33dzc3Cqvbd26tR566CHvN8bKykrl5+dXu534+Hjl5OTUONbxsrOzdc011+iGG27QL7/8oqFDh+rcc8/VxRdfXMe9PHmb5eXlKigoUHx8vCQpPDy8yq8I1rQf1WnRooXsdruys7PVrl077z60bNnylGv89ddf5Xa7vd/2y8vL/X5tfHy88vPzVV5e7r1hsbY+X3311frXv/6lgoKCKuG0b98+zZw5U6mpqWrdurX325509Nfq8vPz1apVqxrHrctrjtm0aZO6du3q/WDi7/7feOON+utf/+qdPamLVq1aKTw8XO+//773uaKiIoWEhGj79u11Pi618XWNHa+4uFjt27fXa6+9pqysLA0fPlxvvvmmhg0bJrvdrvHjx6tr166Sjl7HJSUlko729PgPLcd/uPR4PEpJSdGIESM0Z84cPfzww/ryyy/VunVr/eEPf/B+o5eOntOEe+PEFD1OkpeX551ePyY8PFyXXXaZPvvsMw0YMEBff/21N5hPvMP+pptu0ieffKKKigpJR799vf7669Vu6+qrr9aSJUtUWVkpj8ej5cuX11jX3Llz9dVXX0mSOnbsqObNm6uyslLS0WnK4uJi7d69W9OnTz+l/c3IyPDeFLd06VKdccYZSkxMlCS1adNGO3bskCStWbPG++Z4TNOmTVVSUqJFixZp2bJlVZaFhIToxhtv9M5klJSU6LPPPtPNN998SvVJUkJCgsLCwry/h/7NN9/4/drExEQ5nU7vj1i2bNmijIyMGtfv2bOnrr/+ek2ePNn7pl9UVKTJkyfrv/7rvyQdnU356aeftGfPHknSp59+qoSEBHXv3r3GcevymmPOPvtsbd26VR6PR+Xl5fruu+/82vf+/fvr0KFD+uc//6lLL73Ur9ecqFu3bmrdurVWrFgh6WiIP/LII9q9e3edj4uv8/XEa+yTTz6pcaxNmzYpNTVV0tEPc23btlVFRYX3/Dv+x2N//etfvX9X4qyzztLGjRslSVu3bq0ya/Xoo4+quLhYYWFh6tGjh/davummm/TVV18pLy9PkrRr1y499NBDfu0z6p/N4IcnOE5BQYGGDBkit9ut8ePHe+/uTU9P15QpU3T48GHdcsstatWqlRYvXqzWrVurT58+mjp1qjcky8rK9NJLL2nNmjWKiIhQq1atNHnyZEVGRp60vWN30e/cuVPx8fFq166d5s+fr4EDByoxMVGpqakqLS3VkCFDlJSUpBdeeEGGYcjtdqt379568sknJUmff/65nn/+eUVHR2vkyJH6+uuv9dFHHykuLk5//vOfNXToUGVnZ+vBBx/Uxo0b1atXL/3P//yPnn/+ecXGxqp9+/basWOHPB6PJk+erC5dukg6Gv6PP/64mjdvrn79+mnu3LmKjo7W1KlT1aVLFz3//PP66quv5HA4NHv2bD322GPe8d955x2VlJRo2rRp2rVrlyoqKtS/f3/df//9stlsuueee/Ttt9+qW7dueuutt3Tvvfdq48aN6t27t/72t7+d1KsPPvhAb775pjp06KCzzz5b7777rnr37q2nn35aTz75pHbt2qWbbrpJt956q1JSUnTkyBHdfvvtSklJ0aZNmzRp0iTZ7XZ16NBBO3fuVE5OjkaNGnXSlLJ0dNblzTff1MqVK9WkSROVlZVVuQNbOjrL88orr3jviB8/frzOOeccLVmyRC+88IJKS0vVu3dvzZgx45Re88gjjyg0NFSpqamKiIjQE088oSuuuEKjRo3Srl271KFDB1VUVGjDhg3e32SYM2eOIiIiNGDAAKWkpFTZl7FjxyoyMlLjxo2r9pzfuXOnz/7t3btXzzzzjEpLS1VZWambb77Z+7Ntf45LYmKiXn75Ze8MxInna3WzUK+//roWL17s/U2V2bNnq1evXho7dqxGjx6tXbt2qV+/fho/frymTJkil8vlnTKfNm2amjVrpsLCQk2bNk0ZGRkKCwtT586d9dRTTyk0NFRr167VuHHjFBcXp06dOmnZsmVyOp2aNWuWvvzyS33xxRcKDw9XSUmJRowYoaSkJElH//jV3Llz1aRJE4WHh2vcuHHe+yrQuBDwOGXl5eUqKSnx/sxy06ZNevDBB7Vq1aoGrgw42cyZM3XVVVd5p6mB0wVT9DhlBw4c0IQJE7yPFy9eXOfpTyBYFi5cqLKyMm3ZsoVwx2mJm+xwymJjY+XxeHTHHXfIMAy1atWqyk03QGPw0ksv6b333tOwYcMauhSgQQRtij4rK0svvviitm7dqvnz55+0PC0tTUeOHFFcXJx+/vlnPfroo947jQEAQGCCNkW/du1aXXHFFTX+AYSioiKNGTNGycnJuuqqqzRz5sxglQIAwGknaAE/YMCAWv8zhMcff9z7t8krKyvVtGnTYJUCAMBpp8FvsvN4PFqwYIEef/xxv9YvL68IbkEAAFhAg95k5/F4NGnSJD3xxBM666yz/HpNTk5RwNuNj49WVlZBwOOgKvoaHPQ1OOhrcNBX88XH1+2/oK7Xb/C5ublyu92Sjv5Vr4kTJ2ro0KHq0qVLrX/BDAAAnJqgfYNfs2aNFi1apKysLL322mu65557lJaWppiYGCUnJ2vkyJHasWOH939sKioqqvV/egIAAP773f0lOzOmfphCCg76Ghz0NTjoa3DQV/P9LqboAQBA/SDgAQCwIAIeAAALIuABALAgAh4AAAsi4AEAsCACHgAACyLgAQCwIAIeAAALIuABALAgAh4AAAsi4AEAsCACHgAACyLgAQCwIAIeAAALIuABALAgAh4AAAsi4AEAsCACHgAACyLgAQCwIAIeAAALIuABALAgAh4AAAsi4AEAsCACHgAACyLgAQCwIAIeAAALIuABALAgAh4AAAsi4AEAsCACHgAACyLgAQCwIAIeAAALIuABALAgAh4AAAsi4AEAsCACHgAACyLgG7HSsgr9llOk0rKKhi7FFAVFHm3Zna2CIk9Dl+KTr977c2zMOH6lZRU6eKSw1jHM6Gt97K9ZPfO1jj/98NXX+qrVnzFcecVatfmgXHnF1S4/eMStZav36OARd41j+OqJGXUcGyfQvvpi1rGpj+umvsaoSZjpI/6vrKwsvfjii9q6davmz59/0vLS0lJNnz5dLVu21O7du5WcnKy2bdsGq5zflYrKSn34751avz1L2fmlatEsQt07xuvPl7dXaMjv7zOZp7xcU99bpwNZblUaUohNOjPeobH/r4fsYUE7BevEV+/9OTZmHL8qYxSUqkX0yWOY0df62F+zeuZrHX/64auv9VWrP2MUe8o0+q/fyV1c7j1ejsgwTX8oSZH2cLlLPBrx8rcqrzAkSR+lZygs1KbZw3vL0cTu1zliRh1m9TXQc9XfderjuqmvMXyxGYZhmDLSCZYtWya73a5XXnlFH3/88UnL09LSZLPZdP/992vbtm165plnNG/ePJ/jZmUVBFxbfHy0KeMEy7yV27Xyx/0nPd+/ZxsN7t+xASryT019nfi3Ndr328nfLv5whkPP3NOrPkrzm6/e+3NszDh+/oxhRl/rY3/N6pmvdfzpR2Op1Z8xHn3p6yqheowjMkypj12m5JlfesP9eGGhNqWN6ifJ9zliRh1m7a8vZh2b+rhuzB4jPj7arzFPFLSvgwMGDFBUVFSNy9PT09W9e3dJUqdOnbR161a53TVPMZ0uSssqtH57VrXL1m8/8rubri8o8uhAVvXH9UCWu1FN1/vqfUGRx+exMeP4+TOGGX2tj/01q2e+1nHlFfvsR2Op1Z/tuPKKqw1VSXIXl2vLble14S5J5RWGDh5x+zxHXHnFAdfhyis2ZX99MaPv9XXdmLU/Zmiw+VGXy1XlA4DD4ZDL5ZLD4aj1dbGxTRUWFhrw9uv6iSjYDh4pVHZBabXLcgpKFGoPV3xczR+cGtqJfc3ckaXKGuaIKg2pwFOpc89uHMfCV+8LPJU+j42kgI+fP+dAQWFZwH2tj/01q2e+1snMLfXZjzOimjSKWv3ZTmZm7TOMq7dWHw7H7DxUqHZtwmrtSWZuacB1ZOaWqnNMVMD7a8Y1Ifk+NvVx3Zi1P2a8zzdYwDudThUWFnofu91uOZ1On6/LySkKeNuNeYq+oqxCLaIj5Mo/+eDHRjdRhaes0dZeXV+j7SEKsanaiyrEdnR5Y9kfX72Ptof4PDaSAj5+/pwDZvS1PvbXrJ75WichJsJnPyo8ZY2iVn+2kxATcfKOHOfi8+L1zYbMGpe3bxUlh49zJCEmIuA6EmIiTOmrGdeE5PvY1Md1Y9b+HD9Go5uir05ubq53Gr5v375av369JGnbtm0677zzfH57Px1EhIeqe8f4apd17xiniPDAZy/qU3RTu86Mr/64nhnvUHRTez1XVDNfvY9uavd5bMw4fv6MYUZf62N/zeqZr3WczSN99qOx1OrPdpzNI+WIrP77lyMyTJ3PcSos1Fbt8rBQm1rHOXyeI87mkQHX4Wweacr++mJG3+vrujFrf8wQtJvs1qxZo4ULF+qbb77RoEGDdM899yg1NVUxMTFKTk5WSUmJpk+frvj4eO3du1cPPPCAX3fRnw432f3f3ZVHlFNQotjoJureMa7R30VfU19/n3fRV997f46NGcfPnzHMvRs4ePtrVs98rXNqd9E3bK3+jHGqd9FLCuAu+rrXYdb+mnFNNJbrxuwx6voNPmgBHyynQ8AfU1pWoTx3qZo7In4X39x99bWgyKP9v7nV5ozG9c29Or5678+xMeP4lZZVKNQergpPWY1jmNHX+thfs3rmax1/+uGrr/VVqz9juPKKtW1vrjqdFSNn88iTlh884tbGnS51a+9U67jqv5366okZdRwbJ9C++mLWsamP68asMQj4U/B7CfjfG/oaHPQ1OOhrcNBX8/0ufgYPAADqBwEPAIAFEfAAAFgQAQ8AgAUR8AAAWBABDwCABRHwAABYEAEPAIAFEfAAAFgQAQ8AgAUR8AAAWBABDwCABRHwAABYEAEPAIAFEfAAAFgQAQ8AgAUR8AAAWBABDwCABRHwAABYEAEPAIAFEfAAAFgQAQ8AgAUR8AAAWBABDwCABRHwAABYEAEPAIAFEfAAAFgQAQ8AgAUR8AAAWBABDwCABRHwAABYEAEPAIAFEfAAAFgQAQ8AgAUR8AAAWBABDwCABRHwAABYUFgwB1+1apVWrFghp9Mpm82mYcOGVVm+b98+zZgxQxdeeKG2bNmigQMH6oorrghmSQAAnBaCFvDFxcWaOHGili5dKrvdruHDh+u7775TUlKSd505c+booosu0t13361ffvlFjz/+OAEPAIAJgjZFv2HDBiUkJMhut0uSevToofT09CrrxMXFKTs7W5KUnZ2tCy64IFjlAABwWgnaN3iXy6WoqCjvY4fDIZfLVWWdoUOH6pFHHtGzzz6rTZs26eGHH/Y5bmxsU4WFhQZcX3x8dMBj4GT0NTjoa3DQ1+Cgr41D0ALe6XSqsLDQ+9jtdsvpdFZZ56mnntJtt92mgQMHKjs7W1deeaVWrlypmJiYGsfNySkKuLb4+GhlZRUEPA6qoq/BQV+Dg74GB301X10/MAVtij4xMVGZmZnyeDySpHXr1qlv377Kzc2V2+2WJB08eFDx8fGSpGbNmikkJESVlZXBKgkAgNNG0L7BR0ZGatKkSZoyZYpiY2PVqVMnJSUlacaMGYqJiVFycrLGjBmj9957T+vXr9f+/fv1xBNPqEWLFsEqCQCA04bNMAyjoYs4FWZM/TCFFBz0NTjoa3DQ1+Cgr+ZrdFP0AACg4RDwAABYEAEPAIAFEfAAAFgQAQ8AgAUR8AAAWBABDwCABRHwAABYEAEPAIAFEfAAAFgQAQ8AgAUR8AAAWBABDwCABRHwAABYEAEPAIAFEfAAAFgQAQ8AgAUR8AAAWBABDwCABRHwAABYEAEPAIAFEfAAAFgQAQ8AgAUR8AAAWBABDwCABRHwAABYEAEPAIAFEfAAAFgQAQ8AgAUR8AAAWBABDwCABRHwAABYEAEPAIAFEfAAAFgQAQ8AgAUR8AAAWBABDwCABRHwAABYUFgwB1+1apVWrFghp9Mpm82mYcOGVVluGIbef/99SdKBAweUn5+vZ599NpglAQBwWghawBcXF2vixIlaunSp7Ha7hg8fru+++05JSUnedRYtWqRmzZrpxhtvlCRt3bo1WOUAAHBaCdoU/YYNG5SQkCC73S5J6tGjh9LT06uss2TJEuXm5uq9997T7NmzFRUVFaxyAAA4rfj1DT4zM1ObN2+WzWZTly5dlJCQ4PM1LperSmA7HA65XK6TxnW73Ro2bJh+/fVX3Xffffr0008VGhpa47ixsU0VFlbzcn/Fx0cHPAZORl+Dg74GB30NDvraOPgM+KlTp2ru3Llq2rSpDMNQcXGx7rzzTo0dO7bW1zmdThUWFnofu91uOZ3OKus4HA5169ZNktS2bVu53W4dPHhQbdq0qXHcnJwiXyX7FB8fraysgoDHQVX0NTjoa3DQ1+Cgr+ar6wemWqfoP/zwQ2VkZGjp0qX68ccftXbtWn3yySfKyMjQP/7xj1oHTkxMVGZmpjwejyRp3bp16tu3r3Jzc+V2uyVJSUlJ2rdvn6SjHwAqKioUHx9fpx0BAAD/x2YYhlHTwgceeECzZs2Sw+Go8rzb7daTTz6pN954o9bBv/32Wy1fvlyxsbEKDw/XsGHDNGPGDMXExCg5OVkFBQWaOXOmEhIStHfvXl111VXq06dPrWOa8cmQT5jBQV+Dg74GB30NDvpqvrp+g691it7hcJwU7seej4mJ8Tl479691bt37yrPpaSkeP8dHR2tyZMn+1kqAADwV61T9NHRNX9qqG0ZAABoWLV+g1+4cKFWrlxZ7bLCwkKNGzcuKEUBAIDA1BrwSUlJGjp06EnPH/8X6AAAQONTa8CPGjVK5557brXLzjjjjKAUBAAAAlfrz+D37NlT47K9e/eaXgwAADBHrd/gX331Vf3888/VLvv66699/kobAABoGLUGfH5+vnbt2iXp6N+WT0xMrLIMAAA0TrUGfHJysm699VZJ0ogRIzR79mzvso8//ji4lQEAgDqr9Wfwx8Jdkmw2W5VlN998c3AqAgAAAas14DMyMmpcdmzqHgAAND61TtHPnDlTd911lwzDUFZWlv7zn/94l82bN0+vvfZa0AsEAACnrtaAX7NmjbZv3+59PGHCBO+/uckOAIDGq9aAHzJkiEaMGFHtspdeeikoBQEAgMDV+jP4/v3769lnn9WaNWu8z+3Zs0f/+Mc/9NhjjwW9OAAAUDe1Bvx7772n6OhonX/++d7nnE6nNm7cqHfffTfoxQEAgLqpNeDLy8s1bNiwKv8nvMPh0LPPPquNGzcGvTgAAFA3tQZ8s2bNalwWGxtrejEAAMActQZ8YWFhjctKS0tNLwYAAJij1oDv1KmTXnjhBXk8Hu9zpaWlSk1NVefOnYNeHAAAqJtaA/7+++9Xbm6uLr74Yg0cOFADBw7UJZdcovz8fN155531VSMAADhFtf4evM1m0zPPPKPk5GRt3rxZktS1a1clJCTUS3EAAKBuag34Y84880ydeeaZwa4FAACYpNYpegAA8PtEwAMAYEEEPAAAFkTAAwBgQQQ8AAAWRMADAGBBBDwAABZEwAMAYEEEPAAAFkTAAwBgQQQ8AAAWRMADAGBBBDwAABZEwAMAYEEEPAAAFkTAAwBgQWHBHHzVqlVasWKFnE6nbDabhg0bVu16ixcv1qhRo7Ru3TpFRUUFsyQAAE4LQQv44uJiTZw4UUuXLpXdbtfw4cP13XffKSkpqcp6GRkZysjICFYZAACcloI2Rb9hwwYlJCTIbrdLknr06KH09PQq6xQXF2vOnDl65JFHglUGAACnpaB9g3e5XFWm2x0Oh1wuV5V1XnjhBT388MPeDwH+iI1tqrCw0IDri4+PDngMnIy+Bgd9DQ76Ghz0tXEIWsA7nU4VFhZ6H7vdbjmdTu/jgwcPKj8/X5999pn3ubffflt9+vTRhRdeWOO4OTlFAdcWHx+trKyCgMdBVfQ1OOhrcNDX4KCv5qvrB6agBXxiYqIyMzPl8Xhkt9u1bt06DR48WLm5uQoLC1Pr1q313HPPedefNWuWhg4dyk12AACYIGg/g4+MjNSkSZM0ZcoUvfDCC+rUqZOSkpKUlpamefPmedfLzs7Wa6+9JkmaM2eODh8+HKySAAA4bdgMwzAauohTYcbUD1NIwUFfg4O+Bgd9DQ76ar66TtHzh24AALAgAh4AAAsi4AEAsCACHgAACyLgAQCwIAIeAAALIuABALAgAh4AAAsi4AEAsCACHgAACyLgAQCwIAIeAAALIuABALAgAh4AAAsi4AEAsCACHgAACyLgAQCwIAIeAAALIuABALAgAh4AAAsi4AEAsCACHgAACyLgAQCwIAIeAAALIuABALAgAh4AAAsi4AEAsCACHgAACyLgAQCwIAIeAAALIuABALAgAh4AAAsi4AEAsCACHgAACyLgAQCwIAIeAAALIuABALAgAh4AAAsKC+bgq1at0ooVK+R0OmWz2TRs2LAqy9PS0nTkyBHFxcXp559/1qOPPqp27doFsyQAAE4LQQv44uJiTZw4UUuXLpXdbtfw4cP13XffKSkpybtOUVGRxowZI5vNpk8//VQzZ87U66+/HqySAAA4bQRtin7Dhg1KSEiQ3W6XJPXo0UPp6elV1nn88cdls9kkSZWVlWratGmwygEA4LQStG/wLpdLUVFR3scOh0Mul6vadT0ejxYsWKCJEyf6HDc2tqnCwkIDri8+PjrgMXAy+hoc9DU46Gtw0NfGIWgB73Q6VVhY6H3sdrvldDpPWs/j8WjSpEl64okndNZZZ/kcNyenKODa4uOjlZVVEPA4qIq+Bgd9DQ76Ghz01Xx1/cAUtCn6xMREZWZmyuPxSJLWrVunvn37Kjc3V263W5JUUlKiiRMnaujQoerSpYuWL18erHIAADitBO0bfGRkpCZNmqQpU6YoNjZWnTp1UlJSkmbMmKGYmBglJydr5MiR2rFjh/bv3y/p6E13V111VbBKAgDgtGEzDMNo6CJOhRlTP0whBQd9DQ76Ghz0NTjoq/ka3RQ9AABoOAQ8AAAWRMADAGBBBDwAABZEwAMAYEEEPAAAFkTAAwBgQQQ8AAAWRMADAGBBBDwAABZEwAMAYEEEPAAAFkTAAwBgQQQ8AAAWRMADAGBBBDwAABZEwAMAYEEEPAAAFkTAAwBgQQQ8AAAWRMADAGBBBDwAABZEwAMAYEEEPAAAFkTAAwBgQQQ8AAAWRMADAGBBBDwAABZEwAMAYEEEPAAAFkTAAwBgQQQ8AAAWRMADAGBBBDwAABZEwAMAYEEEPAAAFkTAAwBgQQR8NQqKPNqyO1sFRZ46j1FaVqHfcopUWlYR0DqBbsesOnz1pKDIo407smrtmSuvWKs2H5Qrr7hOy/2pw58x/FnHV0/8OUfMGuPgkcKAjt/BI24tW71HB4+46zyGGcfGjPPMn3HMuK7MeA/whxm1msGMa6K+1FcdjWV/AxEWzMFXrVqlFStWyOl0ymazadiwYVWWl5aWavr06WrZsqV2796t5ORktW3bNpgl1cpTXq6p763TgSy3Kg0pxCadGe/Q2P/XQ/Yw/1pVUVmpD/+9U+u3Zyk7v1QtmkWoe8d4/fny9goNCfF7nUC3Y1YdvnriT8+KPWUa/dfv5C4u99bviAzT9IeSFGkP97ncnzr8GcOfdXz1xJ/9NX2MglK1iD714+cu8WjEy9+qvMKQJH2UnqGwUJtmD+8tRxO7X2OYcWzMOM/MOud9MeM9wB9m1GoGM66J+lJfdTSW/TWDzTAMIxgDFxcX6/rrr9fSpUtlt9s1fPhwDR48WElJSd510tLSZLPZdP/992vbtm165plnNG/evFrHzcoqCLi2+PjoaseZ+Lc12vfbyd9y/nCGQ8/c08uvseet3K6VP+4/6fn+PdtocP+Ofq8T6HbMqsNXT/zp2aMvfV3lDeQYR2SYUh+7zOdyf+rwZwx/1vHVE3/2tz7G8Ged5JlfesP9eGGhNqWN6ufXGGYcGzPOM39qPdXrqrr3ATPeA/xhxnuAGcy4Jk5U0/troOqrZ43l2BwvPj66Tq8L2seRDRs2KCEhQXb70W8KPXr0UHp6epV10tPT1b17d0lSp06dtHXrVrndNU8jBlNBkUcHsqrf9oEst19TdaVlFVq/PavaZeu3H1FpWYVf6wS6nYIijyl1+OrJwSNunz1z5RVX+wYiSe7icu3cn1Prcldesc869hzK8zmGrzpcecU+e+LKK/a5v/Uxhj/Hb8+hvGrDXZLKKwwdPOL2OcbBI+6Aj40rrzjg88yfnvhzzvtixnuAP8x4DzCDGddEfdVaX3U0lv01S9Cm6F0ul6KioryPHQ6HXC6XX+s4HI4ax42NbaqwsNCA6zvxE1HmjixV1jCXUWlIBZ5KnXt27Z+iDh4pVHZBabXLcgpKFPq/U16+1omPi6p2ub/bKfBUmlJHQWFZrT3ZeajQZ89cedVv45i1O7NrXZ6ZWypn8ya1buenPfk+x/AlM7dUnWOiau1JZm6pz/09I6pJ0Mfw5/j56snOQ4VKim9W6xg7DxXWOoY/xyYztzTg88yfnvhzzld3XR3/PmDGe4A//Hmf8PUeYIbNe3JrXe7PNeFPX81QXz1rLMfGLEELeKfTqcLC/3uDcLvdcjqdp7zOiXJyigKurboppGh7iEJsqvYCD7EdXe5r2qmirEItoiPkyj/5BImNbqIKT5kk+Vwn0O1E20NMqcNXT9q3ivLZs4iYiFr35aL2LbR89Z4alyfERMgeXnsdXc5upvm1bCPBRw3H1qnwlNXak4SYCJ/7Wx9j+HP8fPWkfason9tp36r2NzJ/jk1CTETA55k/PfHnnD/xujrxfcCM9wB/+PM+EYwp7hP5ui78uSb86asZ6qtnjeXYnKjRTdEnJiYqMzNTHs/Raa1169apb9++ys3N9U7D9+3bV+vXr5ckbdu2Teedd16t396DKbqpXWfGV7/tM+Mdim5q9zlGRHiouneMr3ZZ945xiggP9WudQLcT3dRuSh2+etI6zuGzZ87mkXJEVv850hEZpvZtYmtd7mwe6bOOs1s19zmGrzqczSN99sTZPNLn/tbHGP4cv7NbNVdYqK3a5WGhNrWOc/gco3WcI+Bj42weGfB55k9P/DnnfTHjPcAfZrwHmMGMa6K+aq2vOhrL/polaDfZSdK3336r5cuXKzY2VuHh4Ro2bJhmzJihmJgYJScnq6SkRNOnT1d8fLz27t2rBx54wOdd9MG8yc7cu+iPKKegRLHRTdS9Y1wNdz/XvE6g2zGrjtP3Lvrqe3Jqd3sHbwx/1jnxLnpJtdxFX/0Y5t5FX/fzzKxz/njVvQ/U/130dX8PMIMZ18SJgnWTXX31rLEcm+PV9Rt8UAM+GIIZ8McUFHm0/ze32pxR90/tpWUVynOXqrkjosZPff6sE+h2zKrDV08Kijwq8FQq2h5SY89cecXatjdXnc6KkbN55Ckv96cOf8bwZx1fPfHnHDFrjFB7uCo8ZXU+fgePuLVxp0vd2jvVOq76b6i+xjDj2Jhxnvkzjr/XVW3vA2a8B/jDjPcAM5hxTRwTrIA/1Tp+L9vxBwF/CoJ9Ap6u6Gtw0NfgoK/BQV/N1+h+Bg8AABoOAQ8AgAUR8AAAWBABDwCABRHwAABYEAEPAIAFEfAAAFgQAQ8AgAUR8AAAWBABDwCABRHwAABYEAEPAIAFEfAAAFgQAQ8AgAUR8AAAWBABDwCABRHwAABYkM0wDKOhiwAAAObiGzwAABZEwAMAYEEEPAAAFkTAAwBgQQQ8AAAWRMADAGBBYQ1dQLDt3btXL774os4//3wdOnRIMTExGjZsmHJzczVr1iz94Q9/0O7duzVixAjFxcU1dLm/C5WVlXrwwQfVtWtXlZWVad++fZo2bZpKSkroqQlKSkp022236dJLL9Xo0aM5V01w++23KyIiQpIUEhKid999l76aYNeuXVq6dKkiIiL0ww8/aPjw4TrrrLPoawD279+vu+++W61bt5Ykud1uderUSU899dSp99WwuI0bNxqff/659/HVV19tbN682Rg/fryxdOlSwzAM44svvjBGjhzZUCX+7lRUVBivvvqq9/GDDz5oLFq0iJ6a5NlnnzVSUlKM5557zjAMg76aIDU19aTn6GtgysvLjfvvv9+oqKgwDMMwDh8+bLhcLvoaoOzsbOPbb7/1Pn7ppZeMH374oU59tfwUfdeuXdW/f3/v48rKSkVGRuqrr75S9+7dJUk9evTQV1991VAl/u6EhITo4YcfliSVl5fr8OHDatu2LT01wcKFC9WjRw+1adPG+xx9Ddz27duVlpaml19+Wenp6ZLoa6A2b94swzD0/vvv64033tCXX36p2NhY+hqg2NhYXXLJJZIkj8ejn376ST179qxTXy0/RX+8zz//XJdeeqnatWsnl8ulqKgoSZLD4VBeXp7Ky8sVFnZatSQg33zzjd555x317dtXF154IT0N0M6dO7Vr1y6NGDFC27Zt8z5PXwN3//33q2vXrqqoqNCdd96pqKgo+hqgzMxMbdiwQbNnz1Z0dLRGjhyp8PBw+mqiJUuW6Nprr5VUt/cBy3+DP2b16tX6/vvv9fTTT0uSnE6nCgsLJR39GUfz5s05AU/RH//4R7311lvav3+/5s6dS08D9Pnnn8tutystLU1r167Vpk2b9M4779BXE3Tt2lWSFBoaqp49e+r777+nrwGKiorSueeeq+joaEnSRRddpDVr1tBXEy1btkzXXHONpLpl1mnR9fT0dP34448aO3asfvvtN2VmZqpPnz5av369WrdurXXr1qlPnz4NXebvxs6dO7V//3717dtXktSmTRvt37+fngbooYce8v67tLRURUVFuvvuu7Vr1y76GoCMjAytW7dOt912myRpz549+tOf/sT5GqBu3bopNzdXFRUVCg0NVWZmps455xzZ7Xb6aoLVq1ere/fuCg8Pl6Q6na+W/89mfvrpJ911113q0qWLJKmoqEh33nmnLr/8cj3//PNKSEjQvn379OSTT3Knp5/27t2rGTNm6Pzzz1d5ebkyMjI0btw4hYeH01MTLF++XHPnzlVZWZnuvPNOXXrppfQ1AIcPH9bkyZN1/vnny+12q7y8XGPGjFF+fj59DdDnn3+u1atXKzY2VgcPHtT48eNVUlJCX00wYsQIjRs3Ti1atJAk5ebmnnJfLR/wAACcjk6bn8EDAHA6IeABALAgAh4AAAsi4AEAsCACHgAACyLgAXg9+OCDmjBhQkOXAcAEBDwASVJWVpYOHjyopUuXqri4uKHLARAgfg8egCQpLS1NPXr00KhRo/TYY4/pxhtvlCS9//77WrFihTp06CCbzaYVK1bo4Ycf1qBBg/Tpp59q1apViomJ0eHDh5WSkqL4+PiG3REAkvgGD+B/rV+/Xj179tSNN96o+fPnS5K2bdum119/XW+++aYmTJggh8Ohc845R4MGDdKuXbv06quvavLkyRo5cqR69eqlmTNnNvBeADjmtPhb9ABq9+OPPyoxMVGSdPPNN+v111/Xnj179P3336tLly5q0qSJJKlnz55at26dJGnVqlUqLS3VpEmTJEmFhYUqKytriPIBVIOAB6CFCxeqsrJSU6dOlSTFx8dr/vz5cjqdstls1b7GMAydc845mjx5sve5Y//bFYCGR8ADp7nCwkLvfxByTLdu3TR9+nS9+eabSktLU0lJiZo0aaK1a9d617nkkkv06quvyu12y+Fw6JdfftG8efM0ZcqUhtgNACcg4IHTWElJiZ588kkVFhbq8OHDatmypSRpx44d+u2335SWlqbk5GTdd9996ty5s0JCQrz/fWW7du00fvx4paSk6KyzzlJ+fr5GjRrVkLsD4DjcRQ+gVl999ZX3/56eO3euDhw4oJSUlAauCoAvfIMHUKuPPvpI33zzjWw2m/Ly8jRu3LiGLgmAH/gGDwCABfF78AAAWBABDwCABRHwAABYEAEPAIAFEfAAAFgQAQ8AgAX9fyatLz9NCo5PAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {},
"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",
"from IPython.display import display\n",
"from pylab import plt, mpl\n",
"plt.style.use('seaborn')\n",
"mpl.rcParams['font.family'] = 'serif'\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(\"chddata.csv\"),'r')\n",
"\n",
"# Read the chd data as csv file and organize the data into arrays with age group, age, and chd\n",
"chd = pd.read_csv(infile, names=('ID', 'Age', 'Agegroup', 'CHD'))\n",
"chd.columns = ['ID', 'Age', 'Agegroup', 'CHD']\n",
"output = chd['CHD']\n",
"age = chd['Age']\n",
"agegroup = chd['Agegroup']\n",
"numberID = chd['ID'] \n",
"display(chd)\n",
"\n",
"plt.scatter(age, output, marker='o')\n",
"plt.axis([18,70.0,-0.1, 1.2])\n",
"plt.xlabel(r'Age')\n",
"plt.ylabel(r'CHD')\n",
"plt.title(r'Age distribution and Coronary heart disease')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plotting the mean value for each group\n",
"\n",
"What we could attempt however is to plot the mean value for each group."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"agegroupmean = np.array([0.1, 0.133, 0.250, 0.333, 0.462, 0.625, 0.765, 0.800])\n",
"group = np.array([1, 2, 3, 4, 5, 6, 7, 8])\n",
"plt.plot(group, agegroupmean, \"r-\")\n",
"plt.axis([0,9,0, 1.0])\n",
"plt.xlabel(r'Age group')\n",
"plt.ylabel(r'CHD mean values')\n",
"plt.title(r'Mean values for each age group')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We are now trying to find a function $f(y\\vert x)$, that is a function which gives us an expected value for the output $y$ with a given input $x$.\n",
"In standard linear regression with a linear dependence on $x$, we would write this in terms of our model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"f(y_i\\vert x_i)=\\beta_0+\\beta_1 x_i.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This expression implies however that $f(y_i\\vert x_i)$ could take any\n",
"value from minus infinity to plus infinity. If we however let\n",
"$f(y\\vert y)$ be represented by the mean value, the above example\n",
"shows us that we can constrain the function to take values between\n",
"zero and one, that is we have $0 \\le f(y_i\\vert x_i) \\le 1$. Looking\n",
"at our last curve we see also that it has an S-shaped form. This leads\n",
"us to a very popular model for the function $f$, namely the so-called\n",
"Sigmoid function or logistic model. We will consider this function as\n",
"representing the probability for finding a value of $y_i$ with a given\n",
"$x_i$.\n",
"\n",
"## The logistic function\n",
"\n",
"Another widely studied model, is the so-called \n",
"perceptron model, which is an example of a \"hard classification\" model. We\n",
"will encounter this model when we discuss neural networks as\n",
"well. Each datapoint is deterministically assigned to a category (i.e\n",
"$y_i=0$ or $y_i=1$). In many cases, and the coronary heart disease data forms one of many such examples, it is favorable to have a \"soft\"\n",
"classifier that outputs the probability of a given category rather\n",
"than a single value. For example, given $x_i$, the classifier\n",
"outputs the probability of being in a category $k$. Logistic regression\n",
"is the most common example of a so-called soft classifier. In logistic\n",
"regression, the probability that a data point $x_i$\n",
"belongs to a category $y_i=\\{0,1\\}$ is given by the so-called logit function (or Sigmoid) which is meant to represent the likelihood for a given event,"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"p(t) = \\frac{1}{1+\\mathrm \\exp{-t}}=\\frac{\\exp{t}}{1+\\mathrm \\exp{t}}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that $1-p(t)= p(-t)$.\n",
"\n",
"## Examples of likelihood functions used in logistic regression and nueral networks\n",
"\n",
"\n",
"The following code plots the logistic function, the step function and other functions we will encounter from here and on."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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eWHp/+7gKF3fLoz4+7z77ru67bbbNGzYsFCXElb++te/6rPPPtP8+fNVWVkZ6nI6DUHeia62C95f/vIXRUZG6o033lBDQ4POnTunoqIife9739OQIUO6tkiHu9ZOg5J09uxZPfPMM1q2bJni4+O7pqgwd3kHx8vYhTG4/vznP2vv3r1asmRJqEsJO++++67cbreKioq0f/9+nT9/Xi+//LLuu+++UJcWEIK8C9x8883mzWFOnDiht956S7m5uSGuKvycPn1ay5Yt0xNPPKF+/fpp+/btmjZtWqjLcryRI0equrpara2tcrvd8nq9+slPfhLqssJSSUmJPvzwQz355JM6deqUqqurzRtTIXBz5841fz537pyampocH+ISG8J0qaqqKr3++ut67bXXlJubq/vuu4/ruJ0oJydHFy5cMEfisbGxWrduXWiLChPvv/++tm/froSEBPXs2ZPV1EFw8OBB3X333ebitqamJv30pz/VD3/4wxBXFn62b9+uV199VefPn9dPf/pT3XnnnaEuKSAEOQAADsaqdQAAHIwgBwDAwQhyAAAcjCAHAMDBCHIAAByMIAcAwMEIcgAAHIyd3QB0aMuWLdq5c6f69eunhoYGvfPOOyouLta3vvWtUJcGdHtsCAOgQ+Xl5YqPj9fQoUOVl5entLQ0/fM//3OoywIgghzAdXjzzTe1adMmvfHGG+ZtTQGEFlPrACw5evSoCgsL9eqrrxLigI2w2A1Ah86fP6/HH39ceXl5GjZsmD799FN9+OGHoS4LgBiRA7Dg5Zdf1qeffqpPP/1Uv/jFL/TFF19oypQpGjNmTKhLA7o9rpEDAOBgTK0DAOBgBDkAAA5GkAMA4GAEOQAADkaQAwDgYAQ5AAAORpADAOBgBDkAAA72/wEQhIODjFGlAAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAfIAAAFnCAYAAABdOssgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA3XElEQVR4nO3deXhU5d0//vesWWayTCaTQEI2tgCBCAhCWhAQlIor8NWi4vLIV6wtoKUUEBeoP+Upmz9aKVUoKo9itVaWIn0USsuihEUTtpCELQlZSEgmmSQzk8x6vn+EjEQYMmGSnFner+vyIjNzz8xnPiZ559znnPtIBEEQQERERH5JKnYBREREdOsY5ERERH6MQU5EROTHGORERER+jEFORETkxxjkREREfoxBThSg5syZgyFDhuDIkSMeP2f16tWYNm0aHnjgAezdu7cLq2vLYrFg3LhxaGpq6rb3JAoUDHIiH/Lkk09i69atnfJa69atg06n83j8pUuXsGXLFnz66ad45513EBYW1il13MiPP2dISAh27tzZpe9JFKjkYhdARL6hsrISGo0GSqUSqampSE1N7db3j4yM7Nb3IwoUDHIiH7FmzRrk5+ejuroa27Ztw6xZszBy5EgsW7YMZWVlkEgk6NevH1577TXI5XKsW7cOf/3rXzF58mQ0NDSgoKAAGRkZWLFiRZvXPXHiBDZv3oxz587hmWeewRNPPHHde588eRJvvfUWqqur8eSTT2LSpEnYv38/vv32W+zduxexsbF46qmncOLECRQWFsJqtWLWrFk4evQoXn/9dezbtw9FRUVYtGgR7r77bgCAyWTCf//3f+PChQsAgLS0NCxYsAAffPDBdZ9z586d2L17N/7yl79g1KhREAQBmzZtwu7duyGTyZCamopXXnkFarUay5Ytw5dffomZM2fi4sWLKCwsxOTJkzF//vyu/59E5IsEIvIZM2fOFL744gvX7bq6OmH79u2u24sWLRL+9re/tbn90EMPCRaLRWhubhbuuOMOIScnx/X4hAkThKVLlwqCIAgnTpwQhg4dKthsthu+9+HDh4UJEya0ua9///5CaWmpIAiCUFpaKvTv3/+6xzds2CAIgiDs2rVLuOeee1yPvfrqq8LixYsFQRAEh8MhPP/888Lhw4dv+Dlba219fNu2bcKUKVMEs9ksCIIgLFmyRHj55Zfb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\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\"\"\"The sigmoid function (or the logistic curve) is a\n",
"function that takes any real number, z, and outputs a number (0,1).\n",
"It is useful in neural networks for assigning weights on a relative scale.\n",
"The value z is the weighted sum of parameters involved in the learning algorithm.\"\"\"\n",
"\n",
"import numpy\n",
"import matplotlib.pyplot as plt\n",
"import math as mt\n",
"\n",
"z = numpy.arange(-5, 5, .1)\n",
"sigma_fn = numpy.vectorize(lambda z: 1/(1+numpy.exp(-z)))\n",
"sigma = sigma_fn(z)\n",
"\n",
"fig = plt.figure()\n",
"ax = fig.add_subplot(111)\n",
"ax.plot(z, sigma)\n",
"ax.set_ylim([-0.1, 1.1])\n",
"ax.set_xlim([-5,5])\n",
"ax.grid(True)\n",
"ax.set_xlabel('z')\n",
"ax.set_title('sigmoid function')\n",
"\n",
"plt.show()\n",
"\n",
"\"\"\"Step Function\"\"\"\n",
"z = numpy.arange(-5, 5, .02)\n",
"step_fn = numpy.vectorize(lambda z: 1.0 if z >= 0.0 else 0.0)\n",
"step = step_fn(z)\n",
"\n",
"fig = plt.figure()\n",
"ax = fig.add_subplot(111)\n",
"ax.plot(z, step)\n",
"ax.set_ylim([-0.5, 1.5])\n",
"ax.set_xlim([-5,5])\n",
"ax.grid(True)\n",
"ax.set_xlabel('z')\n",
"ax.set_title('step function')\n",
"\n",
"plt.show()\n",
"\n",
"\"\"\"tanh Function\"\"\"\n",
"z = numpy.arange(-2*mt.pi, 2*mt.pi, 0.1)\n",
"t = numpy.tanh(z)\n",
"\n",
"fig = plt.figure()\n",
"ax = fig.add_subplot(111)\n",
"ax.plot(z, t)\n",
"ax.set_ylim([-1.0, 1.0])\n",
"ax.set_xlim([-2*mt.pi,2*mt.pi])\n",
"ax.grid(True)\n",
"ax.set_xlabel('z')\n",
"ax.set_title('tanh function')\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Two parameters\n",
"\n",
"We assume now that we have two classes with $y_i$ either $0$ or $1$. Furthermore we assume also that we have only two parameters $\\beta$ in our fitting of the Sigmoid function, that is we define probabilities"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*}\n",
"p(y_i=1|x_i,\\boldsymbol{\\beta}) &= \\frac{\\exp{(\\beta_0+\\beta_1x_i)}}{1+\\exp{(\\beta_0+\\beta_1x_i)}},\\nonumber\\\\\n",
"p(y_i=0|x_i,\\boldsymbol{\\beta}) &= 1 - p(y_i=1|x_i,\\boldsymbol{\\beta}),\n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $\\boldsymbol{\\beta}$ are the weights we wish to extract from data, in our case $\\beta_0$ and $\\beta_1$. \n",
"\n",
"Note that we used"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"p(y_i=0\\vert x_i, \\boldsymbol{\\beta}) = 1-p(y_i=1\\vert x_i, \\boldsymbol{\\beta}).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- !split -->\n",
"## Maximum likelihood\n",
"\n",
"In order to define the total likelihood for all possible outcomes from a \n",
"dataset $\\mathcal{D}=\\{(y_i,x_i)\\}$, with the binary labels\n",
"$y_i\\in\\{0,1\\}$ and where the data points are drawn independently, we use the so-called [Maximum Likelihood Estimation](https://en.wikipedia.org/wiki/Maximum_likelihood_estimation) (MLE) principle. \n",
"We aim thus at maximizing \n",
"the probability of seeing the observed data. We can then approximate the \n",
"likelihood in terms of the product of the individual probabilities of a specific outcome $y_i$, that is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*}\n",
"P(\\mathcal{D}|\\boldsymbol{\\beta})& = \\prod_{i=1}^n \\left[p(y_i=1|x_i,\\boldsymbol{\\beta})\\right]^{y_i}\\left[1-p(y_i=1|x_i,\\boldsymbol{\\beta}))\\right]^{1-y_i}\\nonumber \\\\\n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"from which we obtain the log-likelihood and our **cost/loss** function"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathcal{C}(\\boldsymbol{\\beta}) = \\sum_{i=1}^n \\left( y_i\\log{p(y_i=1|x_i,\\boldsymbol{\\beta})} + (1-y_i)\\log\\left[1-p(y_i=1|x_i,\\boldsymbol{\\beta}))\\right]\\right).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The cost function rewritten\n",
"\n",
"Reordering the logarithms, we can rewrite the **cost/loss** function as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathcal{C}(\\boldsymbol{\\beta}) = \\sum_{i=1}^n \\left(y_i(\\beta_0+\\beta_1x_i) -\\log{(1+\\exp{(\\beta_0+\\beta_1x_i)})}\\right).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The maximum likelihood estimator is defined as the set of parameters that maximize the log-likelihood where we maximize with respect to $\\beta$.\n",
"Since the cost (error) function is just the negative log-likelihood, for logistic regression we have that"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathcal{C}(\\boldsymbol{\\beta})=-\\sum_{i=1}^n \\left(y_i(\\beta_0+\\beta_1x_i) -\\log{(1+\\exp{(\\beta_0+\\beta_1x_i)})}\\right).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This equation is known in statistics as the **cross entropy**. Finally, we note that just as in linear regression, \n",
"in practice we often supplement the cross-entropy with additional regularization terms, usually $L_1$ and $L_2$ regularization as we did for Ridge and Lasso regression.\n",
"\n",
"## Minimizing the cross entropy\n",
"\n",
"The cross entropy is a convex function of the weights $\\boldsymbol{\\beta}$ and,\n",
"therefore, any local minimizer is a global minimizer. \n",
"\n",
"\n",
"Minimizing this\n",
"cost function with respect to the two parameters $\\beta_0$ and $\\beta_1$ we obtain"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial \\mathcal{C}(\\boldsymbol{\\beta})}{\\partial \\beta_0} = -\\sum_{i=1}^n \\left(y_i -\\frac{\\exp{(\\beta_0+\\beta_1x_i)}}{1+\\exp{(\\beta_0+\\beta_1x_i)}}\\right),\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial \\mathcal{C}(\\boldsymbol{\\beta})}{\\partial \\beta_1} = -\\sum_{i=1}^n \\left(y_ix_i -x_i\\frac{\\exp{(\\beta_0+\\beta_1x_i)}}{1+\\exp{(\\beta_0+\\beta_1x_i)}}\\right).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## A more compact expression\n",
"\n",
"Let us now define a vector $\\boldsymbol{y}$ with $n$ elements $y_i$, an\n",
"$n\\times p$ matrix $\\boldsymbol{X}$ which contains the $x_i$ values and a\n",
"vector $\\boldsymbol{p}$ of fitted probabilities $p(y_i\\vert x_i,\\boldsymbol{\\beta})$. We can rewrite in a more compact form the first\n",
"derivative of cost function as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial \\mathcal{C}(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}} = -\\boldsymbol{X}^T\\left(\\boldsymbol{y}-\\boldsymbol{p}\\right).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If we in addition define a diagonal matrix $\\boldsymbol{W}$ with elements \n",
"$p(y_i\\vert x_i,\\boldsymbol{\\beta})(1-p(y_i\\vert x_i,\\boldsymbol{\\beta})$, we can obtain a compact expression of the second derivative as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial^2 \\mathcal{C}(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}\\partial \\boldsymbol{\\beta}^T} = \\boldsymbol{X}^T\\boldsymbol{W}\\boldsymbol{X}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Extending to more predictors\n",
"\n",
"Within a binary classification problem, we can easily expand our model to include multiple predictors. Our ratio between likelihoods is then with $p$ predictors"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\log{ \\frac{p(\\boldsymbol{\\beta}\\boldsymbol{x})}{1-p(\\boldsymbol{\\beta}\\boldsymbol{x})}} = \\beta_0+\\beta_1x_1+\\beta_2x_2+\\dots+\\beta_px_p.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here we defined $\\boldsymbol{x}=[1,x_1,x_2,\\dots,x_p]$ and $\\boldsymbol{\\beta}=[\\beta_0, \\beta_1, \\dots, \\beta_p]$ leading to"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"p(\\boldsymbol{\\beta}\\boldsymbol{x})=\\frac{ \\exp{(\\beta_0+\\beta_1x_1+\\beta_2x_2+\\dots+\\beta_px_p)}}{1+\\exp{(\\beta_0+\\beta_1x_1+\\beta_2x_2+\\dots+\\beta_px_p)}}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Including more classes\n",
"\n",
"Till now we have mainly focused on two classes, the so-called binary\n",
"system. Suppose we wish to extend to $K$ classes. Let us for the sake\n",
"of simplicity assume we have only two predictors. We have then following model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\log{\\frac{p(C=1\\vert x)}{p(K\\vert x)}} = \\beta_{10}+\\beta_{11}x_1,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\log{\\frac{p(C=2\\vert x)}{p(K\\vert x)}} = \\beta_{20}+\\beta_{21}x_1,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and so on till the class $C=K-1$ class"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\log{\\frac{p(C=K-1\\vert x)}{p(K\\vert x)}} = \\beta_{(K-1)0}+\\beta_{(K-1)1}x_1,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and the model is specified in term of $K-1$ so-called log-odds or\n",
"**logit** transformations.\n",
"\n",
"\n",
"## More classes\n",
"\n",
"In our discussion of neural networks we will encounter the above again\n",
"in terms of a slightly modified function, the so-called **Softmax** function.\n",
"\n",
"The softmax function is used in various multiclass classification\n",
"methods, such as multinomial logistic regression (also known as\n",
"softmax regression), multiclass linear discriminant analysis, naive\n",
"Bayes classifiers, and artificial neural networks. Specifically, in\n",
"multinomial logistic regression and linear discriminant analysis, the\n",
"input to the function is the result of $K$ distinct linear functions,\n",
"and the predicted probability for the $k$-th class given a sample\n",
"vector $\\boldsymbol{x}$ and a weighting vector $\\boldsymbol{\\beta}$ is (with two\n",
"predictors):"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"p(C=k\\vert \\mathbf {x} )=\\frac{\\exp{(\\beta_{k0}+\\beta_{k1}x_1)}}{1+\\sum_{l=1}^{K-1}\\exp{(\\beta_{l0}+\\beta_{l1}x_1)}}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It is easy to extend to more predictors. The final class is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"p(C=K\\vert \\mathbf {x} )=\\frac{1}{1+\\sum_{l=1}^{K-1}\\exp{(\\beta_{l0}+\\beta_{l1}x_1)}},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and they sum to one. Our earlier discussions were all specialized to\n",
"the case with two classes only. It is easy to see from the above that\n",
"what we derived earlier is compatible with these equations.\n",
"\n",
"To find the optimal parameters we would typically use a gradient\n",
"descent method. Newton's method and gradient descent methods are\n",
"discussed in the material on [optimization\n",
"methods](https://compphysics.github.io/MachineLearning/doc/pub/Splines/html/Splines-bs.html).\n",
"\n",
"\n",
"## Friday September 24\n",
"\n",
"\n",
"\n",
"\n",
"## Wisconsin Cancer Data\n",
"\n",
"We show here how we can use a simple regression case on the breast\n",
"cancer data using Logistic regression as our algorithm for\n",
"classification."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from sklearn.model_selection import train_test_split \n",
"from sklearn.datasets import load_breast_cancer\n",
"from sklearn.linear_model import LogisticRegression\n",
"\n",
"# Load the data\n",
"cancer = load_breast_cancer()\n",
"\n",
"X_train, X_test, y_train, y_test = train_test_split(cancer.data,cancer.target,random_state=0)\n",
"print(X_train.shape)\n",
"print(X_test.shape)\n",
"# Logistic Regression\n",
"logreg = LogisticRegression(solver='lbfgs')\n",
"logreg.fit(X_train, y_train)\n",
"print(\"Test set accuracy with Logistic Regression: {:.2f}\".format(logreg.score(X_test,y_test)))\n",
"#now scale the data\n",
"from sklearn.preprocessing import StandardScaler\n",
"scaler = StandardScaler()\n",
"scaler.fit(X_train)\n",
"X_train_scaled = scaler.transform(X_train)\n",
"X_test_scaled = scaler.transform(X_test)\n",
"# Logistic Regression\n",
"logreg.fit(X_train_scaled, y_train)\n",
"print(\"Test set accuracy Logistic Regression with scaled data: {:.2f}\".format(logreg.score(X_test_scaled,y_test)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Using the correlation matrix\n",
"\n",
"In addition to the above scores, we could also study the covariance (and the correlation matrix).\n",
"We use **Pandas** to compute the correlation matrix."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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KitLm/Q5X+ijsuQwANIZFXNzczRt2lQro2yGmqPKmoP0ua+zsrKwcOFCfPnll6hbty4Aw+jrouIG9LuvK1WqhBkzZmDlypX45JNPkJ2dbRB9XVTcgPr62iCLYzc3Nzx69AhZWVkAgMuXL6N79+5ISkqSTs91794dV65cAQDcvn0bTZo0gaWlJdq1a4eHDx9K23r06BHq1aun9TYUpSztiomJgb29vbQte3t7aTu6pEqblOnSpQuuX78OIQQA4MqVK+jatavGY1ZFWdoFAL///jvi4+MxceJE3L59GxEREZoOWSVladfcuXMxduxYjB07Fo0bN0anTp3wn//8RxthF6ssbdLnfKGPypLDzp8/X+jU7YMHD1CnTh29iFkZXeaossStz32dkZEBb29vjBo1Ci1atMCRI0cA6H9fK4tbn/t6y5YtUn86OjoiMTERmZmZet/XyuJWZ1/LRMEeDMzZs2dx5MgRVKtWDSYmJvD09MSKFStgbW2NsWPHIiMjAz4+PrC3t0dkZCTGjRsnXRG9c+dOPHz4ECYmJsjIyICXl5de3NUBKH270tLSsGDBAtSqVQtGRkaIjo7GokWL9GJ+5OvaJITApk2bsHv3brz55pvo378/unTpAiD/itmwsDDI5XLUq1dPr+5WUdp2HT9+HF5eXmjWrBkAICkpCfPmzUO7du103KJ8ZXm/AGD37t3YuXMnHBwcMHToUHTr1k2HrclXljbpc77QR6XNYbdv38b69evRvHlzPHnyBA4ODhg3bpxexKyvOaq0cetzX3t6euLOnTuoXr06ACAtLU06A6XPfa0sbn3u602bNiE2NhY1a9ZEeHg4WrdujcGDBwPQ775WFrc6+9pgi2MiIiIiInXj8AcRERERkQKLYyIiIiIiBRbHREREREQKLI6JiIiIiBRYHBMRERERKbA4JiIiIiJSYHFMRERERKTA4piIiIiISIHFMRERERGRAotjIiIiIiIFFsdERERERAosjomIiIiIFFgcExEREREpsDgmIiIiIlJgcUxEREREpMDimIiIiIhIgcUxEREREZECi2MiIiIiIgUWx0RERERECiyOiYiIiIgUWBwTERERESmwOCYiIiIiUmBxTERERESkwOKYiIiIiEiBxTERERERkQKLYyIiIiIiBRbHRBoWHR2N999/X9dhEBHRS5ifqSgyIYTQdRBE5V1y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6uDx48eYNWtWia/+Lm1cx48fh5eXlzTfKikpCfPmzUO7du0wa9Ys2NnZoVKlSoiIiMDs2bNhZ2en8Zhu376N9evXo3nz5njy5AkcHBwwbtw4nfdVgc8//xwbN26U5tAC0HhfeXp64s6dO6hevToAIC0tDXv27AGg2+NKWVy6PK6UxaTr46q49xDQzXG1adMmxMbGombNmggPD0fr1q0xePBgAJo9rrThdW3PyMiAj48P7O3tERkZiXHjxqF+/frFHieGorRtB/KnQT18+BAmJibIyMiAl5eXwdy5oCztBor+GzQUpW17WloaFixYgFq1asHIyAjR0dFYtGiRwcw1L227ExISMGXKFLRr1w45OTno2LEj2rVrp+vm6Fypi2MiIiIiovLGML4GExERERFpAYtjIiIiIiIFFsdERERERAosjomIiIiIFFgcExEREREpsDgmIiIiIlJgcUxEREREpMDimIiIiIhIgcUxEREREZECi2MiIiIiIgUWx0RERERECiyOiYiIiIgUWBwTERERESmwOCYiIiIiUmBxTERERESkwOKYiIiIiEiBxTERERERkQKLYyIiIiIiBRbHREREREQKLI6JiIiIiBRYHBMRERERKbA4JiIiIiJSYHFMRERERKTA4piIiIiISIHFMRERERGRAotjIiIiIiIFFsekd6ZMmYI33ngDwcHBAIDo6Gi8//77Oo6KiIiIKgIWx6R3fH19YW9vLz2uXbs2fv31Vx1GRESkfzw8PLB3794ybyc6OhouLi5qiIiofGBxTAahSpUqug6BiIiIKgBjXQdA5cuuXbvg5+eHli1bwsLCApcuXYKdnR02b96MhQsXIjo6GjKZDI0aNcL8+fNhbJx/CJ46dQorV66EtbU1OnXqVGibn376KYKCgnDixAlERUVh0aJFsLe3x/bt23Hs2DEsW7YMbdu2xfLlywEA69evx5kzZ2BqagpbW1vMmTMH1atXfyXW+Ph4eHt7IzExEbm5ufjss8/w9ttv4+rVq5g/fz6eP3+OYcOG4fjx47hy5QoWL15cZNu2b9+O06dPY+PGjZDL5ahUqRIWLFgAJycnpf2xfft2zb8ZRFRurVq1Cjdv3kRcXBwCAgIwZswYdO/eHWfOnMH69ethamoKCwsLLFq0CA4ODhg6dCguX76MDz74ANOmTcOoUaNgYmKClStXYsGCBQDy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6dOnkZeXV6ZxGoO5HaviMufjFRERgcjISMyfP/+558z5eBXVLnM9Xl27dsXWrVtx+/Zt7Nixo9Bz5nysSB6K+syUJ0V9zizdkSNHYGtri8DAQJw9exYxMTH45ptvTB2WSbi7uwMAFAoFXn31VURGRhpkuwYpjj08PHD37l3k5OQAAM6dOwdPT0+kpqZKpww9PT1x/vx5AMCVK1fQrFkzWY+WFKdNa9asgVqtBgDcvHkTderUgUKhMFnMpWHOx6oolnC8QkND8ccff2DBggW4f/8+zp8/bxHH60XtMrfjde3atUKn9erUqYPbt29bxLEiedD2mSlvdH3OypOpU6fC29sbkyZNQrt27eDu7o7333/f1GGVuevXr+Onn36SHt+6dQv16tUzyLathBDCEBs6ceIEDh06hKpVq0KpVMLb2xurV69GlSpVMGnSJGRlZcHPzw/VqlVDfHw8Jk+eLPt5Qi9q0/bt2/H333+jTp06uHr1KkaPHg0PDw9Th/1CUVFRCA4ORnh4OEaMGIFx48bB39/frI8V8OJ2mePxio2NxahRo9CyZUsAQGZmJkaOHIlr166Z9fEqTrvM7XjFx8dj9erVaN68OdRqNa5fv46FCxdi27ZtZn2s5EDbZ7u83Z1A12dm6NChJo6sbOn6nFWrVs3UoZW5Q4cOYceOHcjNzcXIkSPRv39/U4dUppKSkrB8+XI0b94c6enpUKvV8PX1hbV16cd9DVYcExERERGZO/4ICBERERGRBotjIiIiIiINFsdERERERBosjomIiIiINFgcExERERFpsDgmIiIiItJgcUxEREREpMHimIiIiIhIg8UxEREREZEGi2MiIiIiIg0Wx0REREREGiyOiYiIiIg0WBwTEREREWmwOCYiIiIi0mBxTERERESkweKYiIiIiEiDxTERERERkQaLYyIiIiIiDRbHREREREQaLI6JiIiIiDRYHBMRERERabA4JiIiIiLSYHFMRERERKTB4piIiIiISIPFMRERERGRBotjKnO3b99G3759TR0GERER0XNYHFOZq1OnDn788UejbLtnz56IjIw0yraJiIjI8rE4JpOoVKmSqUMgIiIieo6VEEKYOgiSr4CAAPzwww/w9PRESkoKkpKS4OLiglWrVsHZ2RkAEB4ejoCAANja2sLR0RHLli2Dm5ub9NrevXsjNTUV58+fR/v2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kJycbKow9VKc97g5ti88PBzffPMNPD090apVK4to27Vr13Djxg3Mnj0bV65ckZZbQtsKaKtbLKl9TzPqyLGLiwsyMjKkx+np6XBxcTHmLs2Gu7s7AEChUODVV19FZGSkiSOSj6ffN+np6ahcuTKLHAAvv/wyHBwcAAAdO3ZERESEiSMynYiICERGRmL+/PkA+J4pLkvOybreA87Ozs+12dnZ2VRhFltx3+Pm2L6uXbti69atuH37Nnbs2GERbTty5AhsbW0RGBiIs2fPIiYmBt98841FtK2AtrrFktr3NKMWxx4eHrh79y5ycnIAAOfOnYOnp6cxd2kWrl+/jp9++kl6fOvWLdSrV8+EEclL9+7dcf78eQBP3jPdu3c3cUTy4OfnJ/371q1bqF+/vgmjMZ3Q0FD88ccfWLBgAe7fv4/z58/zPVNMlpyTdb0HevTogQsXLgB4cir/+vXrsj9Lp8973Jzad+3atULTeOrUqYPbt29bRNumTp0Kb29vTJo0Ce3atYO7uzvef/99i2gboLtusZT2PctKCCGMuYMTJ07g0KFDqFq1KpRKpVleGW1oSUlJWL58OZo3b4709HSo1Wr4+vrC2rr83VkvKioKwcHBCA8Px4gRIzBu3DhkZWXh888/R61atZCQkICPPvqo3N15QFu/bNiwAY8fP4aLiwuuXr2KGTNmoGHDhqYOtUzFxsZi1KhRaNmyJQAgMzMTI0eORM+ePcv9e6a4LCEn65s3tmzZgrS0NDx8+BDdunWT9VXzJXmPm0v74uPjsXr1ajRv3lwqmBYuXAilUmn2bStw6NAh7NixA7m5uRg5ciS6dOliEW3TVbekpaVZRPueZfTimIiIiIjIXJS/oUoiIiIiIh1YHBMRERERabA4JiIiIiLSYHFMRERERKTB4piIiIiISIPFMRERERGRBotjIiIiIiINFsdERERERBosjomIiIiINFgcExERERFpsDgmIiIiItJgcUxEREREpMHimIiIiIhIg8UxEREREZEGi2MiIiIiIg0Wx0REREREGiyOiYiIiIg0WBwTEREREWmwOCYiIiIi0mBxTERERESkweKYiIiIiEiDxTERERERkQaLYyIiIiIiDRbHREREREQaLI6JiIiIiDRYHBMRERERabA4JllbunQpXn31Vezdu9fUoRAREVE5wOKYZGXUqFGFCuGlS5fi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abA4JiIiIiLSYHFMRERERKTB4piIiIiISIPFMRERERGRBotjIiIiIiINFsdERERERBosjomIiIiINFgcExERERFpsDgmIiIiItJgcUxEREREpMHimIiIiIhIg8UxEREREZEGi2MiIiIiIg0Wx0REREREGiyOiYiIiIg0WBwTEREREWmwOCYiIiIi0mBxTERERESkweKY6AVmzJiBVq1aITIyEgBw+/Zt9O3b18RRERERkTGwOCaztnfvXowaNcqo+/D390e1atWkx3Xq1MGPP/5o1H0SEclNcfLtqFGjsHfv3lLv6/bt22jatGmpt0NUEiyOiUqgUqVKpg6BiIiIjMDG1AGQZZg3bx6CgoLw6quv4ttvv0VCQgK8vLwQHh6Oe/fuYeLEicjJycHOnTtha2uLFStWIC4uDvn5+ejVqxcmTJiA3NxcjB8/HlFRUVi8eDGOHz+OyMhIbNmyBTdv3sSePXtQoUIF2NvbY+7cuVCpVAgMDMSDBw8watQoNGnSBIsWLSoU165du7Bp0ya0bt0ajo6OOHv2LFxdXfHVV19h6dKluH37NqysrPDyyy9j0aJFsLF58pEICwvD559/jipVqqBz586FtjlmzBhERETg2LFjSEhIwLJly1CtWjV89913OHLkCFauXIn27dtj1apVAICAgACEh4fD1tYWLi4umD9/PqpXr142B4aILI5c8+2aNWtw6dIl3L9/H0FBQRg/fjw8PT0RHh6OgIAA2NrawtHREcuWLYObmxtGjBiBc+fOoX///vjoo48wduxYKJVKfP7551i8eDEASCPV06ZNKzLXHjt2DJ999hlcXV3RqlUrnDp1Cmlpafjtt98QGxuLlStXwsrKCgqFAosXL0bjxo3L/LiRGRFEBtK9e3dx7tw5IYQQ27ZtE6+88oq4ePGiEEKIwMBA6d++vr7Cx8dHCCHE48ePRf/+/UVQUJC0nSZNmoj169cLIYTYt2+fiIqKEu3btxfZ2dlCCCG++eYbsWfPHiGEEHv27BFeXl5FxuXv7y9ef/11oVKphFqtFqtXrxYpKSkiODhYWsfHx0fs3r1bCCGESqUSHh4e4uzZs0IIIY4ePSqaN28uIiIiCsWYkJCgNQZ/f3+pfX///bfo06ePyM/PF0II8emnnxbaDhFRScg133p5eUnrCyFEfHy88PDwENevXxdCCPH999+LMWPG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sZK72NhYjBo1Ci1btgQAZGZmYuTIkejZs6fZHiddbYqLizPb4xQfH4/Vq1ejefPmUKvVuH79OhYuXAilUmmWx0lXe7799luzPUZyI+dcJee8I/f8IfdcYA6f7UOHDmHHjh3Izc3FyJEj0aVLF1n0nbbYrly5Iot+S0pKwvLly9G8eXOkp6dDrVbD19cXaWlpRu07iyyOiYiIiIhKotxMqyAiIiIiehEWx0REREREGiyOiYiIiIg0WBwTEREREWmwOCYiIiIi0mBxTERERESkweKYiIiIiEiDxTERERERkQaLYyIiIiIiDRbHREREREQaLI6JiIiIiDRYHBMRERERabA4JiIiIiLSYHFMRERERKTB4piIiIiISIPFMRERERGRBotjIiIiIiINFsdERERERBosjomIiIiINFgcExERERFpsDgmIiIiItJgcUxEREREpMHimIiIiIhIg8UxEREREZEGi2MiIiIiIg0Wx0REREREGiyOiQDcvn0bffv2NXUYREREZGIsjkl29u7di1GjRpXpPuvUqYMff/zRKNvu2bMnIiMjjbJtIiK5MEXuJjIGFsdEGpUqVTJ1CERERGRiVkIIYeogSJ7mzZuHoKAgvPrqq/j222+RkJAALy8vhIeH4969e5g4cSJycnKwc+dO2NraYsWKFYiLi0N+fj569eqFCRMmIDc3F+PHj0dUVBQWL16M48ePIzIyElu2bMHNmzexZ88eVKhQAfb29pg7dy5UKhUWL16MBw8e4JVXXkGTJk2waNGiQnEFBATghx9+gKenJ1JSUpCUlAQXFxesWrUKzs7OAIDw8HAEBATA1tYWjo6OWLZsGdzc3KTX9u7dG6mpqTh//jzat2+Pf/75BxERETh27Bisra0xc+ZMREdHY+XKlQgODoZKpcK6desQEhKCkydPwsXFBQEBAbCzsytyf76+vjhw4AAaNWqESpUqwcfHBy1btkRwcLDUb25ubli2bBmcnJywdOlSHDhwAF5eXrh27RrOnj2L9957D9OnTy/z409E5kmuuRsANmzYgN9//x12dnaoUKECli9fDjc3Nxw7dgyfffYZXF1d0apVK5w6dQppaWn47bffEBsbi5UrV8LKygoKhQKLFy9G48aNi9weUakIoiJ0795dnDt3TgghxLZt28Qrr7wiLl68KIQQIjAwUPq3r6+v8PHxEUII8fjx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\n",
"text/plain": [
"<Figure size 720x1440 with 30 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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UVF89NFHREREsHbtWubOncvkyZMpLS1l+fLl7NixA29vb06cOEFwcDDdu3fH19eX0aNHVzm2wWBg1KhRADz55JMADBo0iMLCQubNm8eDDz6IVqtl1KhRDBo0CJvNxrBhwxgxYgTJycl88MEHfP55WX/xL7/8EkmSGDduHCdPnqzQS0hIIDIyEn9/f/bv388HH3zAc889d8N4fPvtt6SmprJ582aAiq6mPj4+DBo0iPT0dACeffZZJk6cyFNPPYXZbKZv374cOXIErVbLwIEDeeqppyp83LdvHwqFgvnz5xMdHc2gQYPYv38/Pj4+PPTQQ2zevJn9+/czdepUdu7cSVRUFN27d+fEibKxIBMnTqzolrtr1y5KSkp44oknAHjggQfo2rUr06dPZ/v27fTo0YOHH36YiIgI4uLiaNu27e9/4k1hysrFyVC5LqLOoMOUdXPjmADMmSYc9U4V204GHflZt79OlijdmrhTsZByslFoK5/CKXR6pJycKjalGVcq/raeOonL0pWgVELpjRtMqSAPhboyFgqNFqkwr0ZbVUgHbCln6tVfAJsxB6W+MqZKgw6bsTKmDk08UbkacB7at+IzjymjyD94HMvZpD9c18OgpaDIWrGdX1SMh8Gpis3ind8xqlsrhnYKwWguZMSa3fxv/jhcdY431K2JO1XermfgPwbTbUgPLAWWMn29lgJTAVqDDnNOXp2TRGiY154onyVzLgrH656sO+nKxmFdj6UAW2pimf21S+CkQ+HuiWS8Wqu2qLJcnGlCdV3ZVRm0WGsYo1pqsZK8fDvaIG86f7yYI91nI5XYbqgrslyIirMonwszTaivK7cagxZLZnVdpVpFn1VTOP7STvIu1F4eRPorUlvUuRNZJze0NlVkWy3z56bWrqdKpZLw8HC++eYbYmNjmTNnDvv27WP//v0MHjwYKEu2/P39AQgICCA+vnLx0JCQEAC8vLzw9vYmKiqKqKgoJk6ciMVifzB9TfymGRoaikKhIDk5mddee413330Xo9EIQGJiIn5+fhX73HfffTjX8ArdycmJDz/8kLfffptDhw6RnZ1d67GTkpIICgqq2P7td9eEn58fSqUSFxcXGjVqhF6vR6lUolQqK3xUKpW88847bNq0CQcHB8xmc8X+vx3Hw8OD/PyyhdlXr17Njh07GDNmDLGxsdWOef25+M2HxMTE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\n",
"text/plain": [
"<Figure size 1080x576 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from sklearn.model_selection import train_test_split \n",
"from sklearn.datasets import load_breast_cancer\n",
"from sklearn.linear_model import LogisticRegression\n",
"cancer = load_breast_cancer()\n",
"import pandas as pd\n",
"# Making a data frame\n",
"cancerpd = pd.DataFrame(cancer.data, columns=cancer.feature_names)\n",
"\n",
"fig, axes = plt.subplots(15,2,figsize=(10,20))\n",
"malignant = cancer.data[cancer.target == 0]\n",
"benign = cancer.data[cancer.target == 1]\n",
"ax = axes.ravel()\n",
"\n",
"for i in range(30):\n",
" _, bins = np.histogram(cancer.data[:,i], bins =50)\n",
" ax[i].hist(malignant[:,i], bins = bins, alpha = 0.5)\n",
" ax[i].hist(benign[:,i], bins = bins, alpha = 0.5)\n",
" ax[i].set_title(cancer.feature_names[i])\n",
" ax[i].set_yticks(())\n",
"ax[0].set_xlabel(\"Feature magnitude\")\n",
"ax[0].set_ylabel(\"Frequency\")\n",
"ax[0].legend([\"Malignant\", \"Benign\"], loc =\"best\")\n",
"fig.tight_layout()\n",
"plt.show()\n",
"\n",
"import seaborn as sns\n",
"correlation_matrix = cancerpd.corr().round(1)\n",
"# use the heatmap function from seaborn to plot the correlation matrix\n",
"# annot = True to print the values inside the square\n",
"plt.figure(figsize=(15,8))\n",
"sns.heatmap(data=correlation_matrix, annot=True)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Discussing the correlation data\n",
"\n",
"In the above example we note two things. In the first plot we display\n",
"the overlap of benign and malignant tumors as functions of the various\n",
"features in the Wisconsing breast cancer data set. We see that for\n",
"some of the features we can distinguish clearly the benign and\n",
"malignant cases while for other features we cannot. This can point to\n",
"us which features may be of greater interest when we wish to classify\n",
"a benign or not benign tumour.\n",
"\n",
"In the second figure we have computed the so-called correlation\n",
"matrix, which in our case with thirty features becomes a $30\\times 30$\n",
"matrix.\n",
"\n",
"We constructed this matrix using **pandas** via the statements"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"cancerpd = pd.DataFrame(cancer.data, columns=cancer.feature_names)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and then"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"correlation_matrix = cancerpd.corr().round(1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Diagonalizing this matrix we can in turn say something about which\n",
"features are of relevance and which are not. This leads us to\n",
"the classical Principal Component Analysis (PCA) theorem with\n",
"applications. This will be discussed later this semester ([week 43](https://compphysics.github.io/MachineLearning/doc/pub/week43/html/week43-bs.html)).\n",
"\n",
"\n",
"\n",
"## Other measures in classification studies: Cancer Data again"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(426, 30)\n",
"(143, 30)\n",
"Test set accuracy with Logistic Regression: 0.94\n",
"Test set accuracy Logistic Regression with scaled data: 0.96\n",
"[1. 1. 1. 1. 1. 1.\n",
" 1. 1. 0.92857143 0.92857143]\n",
"Test set accuracy with Logistic Regression and scaled data: 0.96\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/mhjensen/Software/anaconda3/lib/python3.8/site-packages/sklearn/linear_model/_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n",
" n_iter_i = _check_optimize_result(\n"
]
},
{
"ename": "ModuleNotFoundError",
"evalue": "No module named 'scikitplot'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-10-12adb44b1c20>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 34\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 35\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 36\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mscikitplot\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mskplt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 37\u001b[0m \u001b[0my_pred\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlogreg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_test_scaled\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 38\u001b[0m \u001b[0mskplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmetrics\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot_confusion_matrix\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my_test\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_pred\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnormalize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'scikitplot'"
]
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from sklearn.model_selection import train_test_split \n",
"from sklearn.datasets import load_breast_cancer\n",
"from sklearn.linear_model import LogisticRegression\n",
"\n",
"# Load the data\n",
"cancer = load_breast_cancer()\n",
"\n",
"X_train, X_test, y_train, y_test = train_test_split(cancer.data,cancer.target,random_state=0)\n",
"print(X_train.shape)\n",
"print(X_test.shape)\n",
"# Logistic Regression\n",
"logreg = LogisticRegression(solver='lbfgs')\n",
"logreg.fit(X_train, y_train)\n",
"print(\"Test set accuracy with Logistic Regression: {:.2f}\".format(logreg.score(X_test,y_test)))\n",
"#now scale the data\n",
"from sklearn.preprocessing import StandardScaler\n",
"scaler = StandardScaler()\n",
"scaler.fit(X_train)\n",
"X_train_scaled = scaler.transform(X_train)\n",
"X_test_scaled = scaler.transform(X_test)\n",
"# Logistic Regression\n",
"logreg.fit(X_train_scaled, y_train)\n",
"print(\"Test set accuracy Logistic Regression with scaled data: {:.2f}\".format(logreg.score(X_test_scaled,y_test)))\n",
"\n",
"\n",
"from sklearn.preprocessing import LabelEncoder\n",
"from sklearn.model_selection import cross_validate\n",
"#Cross validation\n",
"accuracy = cross_validate(logreg,X_test_scaled,y_test,cv=10)['test_score']\n",
"print(accuracy)\n",
"print(\"Test set accuracy with Logistic Regression and scaled data: {:.2f}\".format(logreg.score(X_test_scaled,y_test)))\n",
"\n",
"\n",
"import scikitplot as skplt\n",
"y_pred = logreg.predict(X_test_scaled)\n",
"skplt.metrics.plot_confusion_matrix(y_test, y_pred, normalize=True)\n",
"plt.show()\n",
"y_probas = logreg.predict_proba(X_test_scaled)\n",
"skplt.metrics.plot_roc(y_test, y_probas)\n",
"plt.show()\n",
"skplt.metrics.plot_cumulative_gain(y_test, y_probas)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Friday September 25\n",
"\n",
"\n",
"\n",
"\n",
"## Optimization, the central part of any Machine Learning algortithm\n",
"\n",
"[Overview Video, why do we care about gradient methods?](https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h20/forelesningsvideoer/OverarchingAimsWeek39.mp4?vrtx=view-as-webpage)\n",
"\n",
"\n",
"\n",
"Almost every problem in machine learning and data science starts with\n",
"a dataset $X$, a model $g(\\beta)$, which is a function of the\n",
"parameters $\\beta$ and a cost function $C(X, g(\\beta))$ that allows\n",
"us to judge how well the model $g(\\beta)$ explains the observations\n",
"$X$. The model is fit by finding the values of $\\beta$ that minimize\n",
"the cost function. Ideally we would be able to solve for $\\beta$\n",
"analytically, however this is not possible in general and we must use\n",
"some approximative/numerical method to compute the minimum.\n",
"\n",
"\n",
"## Revisiting our Logistic Regression case\n",
"\n",
"In our discussion on Logistic Regression we studied the \n",
"case of\n",
"two classes, with $y_i$ either\n",
"$0$ or $1$. Furthermore we assumed also that we have only two\n",
"parameters $\\beta$ in our fitting, that is we\n",
"defined probabilities"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*}\n",
"p(y_i=1|x_i,\\boldsymbol{\\beta}) &= \\frac{\\exp{(\\beta_0+\\beta_1x_i)}}{1+\\exp{(\\beta_0+\\beta_1x_i)}},\\nonumber\\\\\n",
"p(y_i=0|x_i,\\boldsymbol{\\beta}) &= 1 - p(y_i=1|x_i,\\boldsymbol{\\beta}),\n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $\\boldsymbol{\\beta}$ are the weights we wish to extract from data, in our case $\\beta_0$ and $\\beta_1$. \n",
"\n",
"## The equations to solve\n",
"\n",
"Our compact equations used a definition of a vector $\\boldsymbol{y}$ with $n$\n",
"elements $y_i$, an $n\\times p$ matrix $\\boldsymbol{X}$ which contains the\n",
"$x_i$ values and a vector $\\boldsymbol{p}$ of fitted probabilities\n",
"$p(y_i\\vert x_i,\\boldsymbol{\\beta})$. We rewrote in a more compact form\n",
"the first derivative of the cost function as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial \\mathcal{C}(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}} = -\\boldsymbol{X}^T\\left(\\boldsymbol{y}-\\boldsymbol{p}\\right).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If we in addition define a diagonal matrix $\\boldsymbol{W}$ with elements \n",
"$p(y_i\\vert x_i,\\boldsymbol{\\beta})(1-p(y_i\\vert x_i,\\boldsymbol{\\beta})$, we can obtain a compact expression of the second derivative as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial^2 \\mathcal{C}(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}\\partial \\boldsymbol{\\beta}^T} = \\boldsymbol{X}^T\\boldsymbol{W}\\boldsymbol{X}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This defines what is called the Hessian matrix.\n",
"\n",
"## Solving using Newton-Raphson's method\n",
"\n",
"If we can set up these equations, Newton-Raphson's iterative method is normally the method of choice. It requires however that we can compute in an efficient way the matrices that define the first and second derivatives. \n",
"\n",
"Our iterative scheme is then given by"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\beta}^{\\mathrm{new}} = \\boldsymbol{\\beta}^{\\mathrm{old}}-\\left(\\frac{\\partial^2 \\mathcal{C}(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}\\partial \\boldsymbol{\\beta}^T}\\right)^{-1}_{\\boldsymbol{\\beta}^{\\mathrm{old}}}\\times \\left(\\frac{\\partial \\mathcal{C}(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}}\\right)_{\\boldsymbol{\\beta}^{\\mathrm{old}}},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"or in matrix form as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\beta}^{\\mathrm{new}} = \\boldsymbol{\\beta}^{\\mathrm{old}}-\\left(\\boldsymbol{X}^T\\boldsymbol{W}\\boldsymbol{X} \\right)^{-1}\\times \\left(-\\boldsymbol{X}^T(\\boldsymbol{y}-\\boldsymbol{p}) \\right)_{\\boldsymbol{\\beta}^{\\mathrm{old}}}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The right-hand side is computed with the old values of $\\beta$. \n",
"\n",
"If we can compute these matrices, in particular the Hessian, the above is often the easiest method to implement. \n",
"\n",
"\n",
"## Brief reminder on Newton-Raphson's method\n",
"\n",
"Let us quickly remind ourselves how we derive the above method.\n",
"\n",
"Perhaps the most celebrated of all one-dimensional root-finding\n",
"routines is Newton's method, also called the Newton-Raphson\n",
"method. This method requires the evaluation of both the\n",
"function $f$ and its derivative $f'$ at arbitrary points. \n",
"If you can only calculate the derivative\n",
"numerically and/or your function is not of the smooth type, we\n",
"normally discourage the use of this method.\n",
"\n",
"## The equations\n",
"\n",
"The Newton-Raphson formula consists geometrically of extending the\n",
"tangent line at a current point until it crosses zero, then setting\n",
"the next guess to the abscissa of that zero-crossing. The mathematics\n",
"behind this method is rather simple. Employing a Taylor expansion for\n",
"$x$ sufficiently close to the solution $s$, we have"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"eq:taylornr\"></div>\n",
"\n",
"$$\n",
"f(s)=0=f(x)+(s-x)f'(x)+\\frac{(s-x)^2}{2}f''(x) +\\dots.\n",
" \\label{eq:taylornr} \\tag{14}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For small enough values of the function and for well-behaved\n",
"functions, the terms beyond linear are unimportant, hence we obtain"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"f(x)+(s-x)f'(x)\\approx 0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"yielding"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"s\\approx x-\\frac{f(x)}{f'(x)}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Having in mind an iterative procedure, it is natural to start iterating with"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"x_{n+1}=x_n-\\frac{f(x_n)}{f'(x_n)}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Simple geometric interpretation\n",
"\n",
"The above is Newton-Raphson's method. It has a simple geometric\n",
"interpretation, namely $x_{n+1}$ is the point where the tangent from\n",
"$(x_n,f(x_n))$ crosses the $x$-axis. Close to the solution,\n",
"Newton-Raphson converges fast to the desired result. However, if we\n",
"are far from a root, where the higher-order terms in the series are\n",
"important, the Newton-Raphson formula can give grossly inaccurate\n",
"results. For instance, the initial guess for the root might be so far\n",
"from the true root as to let the search interval include a local\n",
"maximum or minimum of the function. If an iteration places a trial\n",
"guess near such a local extremum, so that the first derivative nearly\n",
"vanishes, then Newton-Raphson may fail totally\n",
"\n",
"\n",
"## Extending to more than one variable\n",
"\n",
"Newton's method can be generalized to systems of several non-linear equations\n",
"and variables. Consider the case with two equations"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{array}{cc} f_1(x_1,x_2) &=0\\\\\n",
" f_2(x_1,x_2) &=0,\\end{array}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which we Taylor expand to obtain"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{array}{cc} 0=f_1(x_1+h_1,x_2+h_2)=&f_1(x_1,x_2)+h_1\n",
" \\partial f_1/\\partial x_1+h_2\n",
" \\partial f_1/\\partial x_2+\\dots\\\\\n",
" 0=f_2(x_1+h_1,x_2+h_2)=&f_2(x_1,x_2)+h_1\n",
" \\partial f_2/\\partial x_1+h_2\n",
" \\partial f_2/\\partial x_2+\\dots\n",
" \\end{array}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Defining the Jacobian matrix ${\\bf \\boldsymbol{J}}$ we have"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"{\\bf \\boldsymbol{J}}=\\left( \\begin{array}{cc}\n",
" \\partial f_1/\\partial x_1 & \\partial f_1/\\partial x_2 \\\\\n",
" \\partial f_2/\\partial x_1 &\\partial f_2/\\partial x_2\n",
" \\end{array} \\right),\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we can rephrase Newton's method as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\left(\\begin{array}{c} x_1^{n+1} \\\\ x_2^{n+1} \\end{array} \\right)=\n",
"\\left(\\begin{array}{c} x_1^{n} \\\\ x_2^{n} \\end{array} \\right)+\n",
"\\left(\\begin{array}{c} h_1^{n} \\\\ h_2^{n} \\end{array} \\right),\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where we have defined"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\left(\\begin{array}{c} h_1^{n} \\\\ h_2^{n} \\end{array} \\right)=\n",
" -{\\bf \\boldsymbol{J}}^{-1}\n",
" \\left(\\begin{array}{c} f_1(x_1^{n},x_2^{n}) \\\\ f_2(x_1^{n},x_2^{n}) \\end{array} \\right).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We need thus to compute the inverse of the Jacobian matrix and it\n",
"is to understand that difficulties may\n",
"arise in case ${\\bf \\boldsymbol{J}}$ is nearly singular.\n",
"\n",
"It is rather straightforward to extend the above scheme to systems of\n",
"more than two non-linear equations. In our case, the Jacobian matrix is given by the Hessian that represents the second derivative of cost function. \n",
"\n",
"\n",
"\n",
"## Steepest descent\n",
"\n",
"The basic idea of gradient descent is\n",
"that a function $F(\\mathbf{x})$, \n",
"$\\mathbf{x} \\equiv (x_1,\\cdots,x_n)$, decreases fastest if one goes from $\\bf {x}$ in the\n",
"direction of the negative gradient $-\\nabla F(\\mathbf{x})$.\n",
"\n",
"It can be shown that if"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathbf{x}_{k+1} = \\mathbf{x}_k - \\gamma_k \\nabla F(\\mathbf{x}_k),\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"with $\\gamma_k > 0$.\n",
"\n",
"For $\\gamma_k$ small enough, then $F(\\mathbf{x}_{k+1}) \\leq\n",
"F(\\mathbf{x}_k)$. This means that for a sufficiently small $\\gamma_k$\n",
"we are always moving towards smaller function values, i.e a minimum.\n",
"\n",
"<!-- !split -->\n",
"## More on Steepest descent\n",
"\n",
"The previous observation is the basis of the method of steepest\n",
"descent, which is also referred to as just gradient descent (GD). One\n",
"starts with an initial guess $\\mathbf{x}_0$ for a minimum of $F$ and\n",
"computes new approximations according to"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathbf{x}_{k+1} = \\mathbf{x}_k - \\gamma_k \\nabla F(\\mathbf{x}_k), \\ \\ k \\geq 0.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The parameter $\\gamma_k$ is often referred to as the step length or\n",
"the learning rate within the context of Machine Learning.\n",
"\n",
"<!-- !split -->\n",
"## The ideal\n",
"\n",
"Ideally the sequence $\\{\\mathbf{x}_k \\}_{k=0}$ converges to a global\n",
"minimum of the function $F$. In general we do not know if we are in a\n",
"global or local minimum. In the special case when $F$ is a convex\n",
"function, all local minima are also global minima, so in this case\n",
"gradient descent can converge to the global solution. The advantage of\n",
"this scheme is that it is conceptually simple and straightforward to\n",
"implement. However the method in this form has some severe\n",
"limitations:\n",
"\n",
"In machine learing we are often faced with non-convex high dimensional\n",
"cost functions with many local minima. Since GD is deterministic we\n",
"will get stuck in a local minimum, if the method converges, unless we\n",
"have a very good intial guess. This also implies that the scheme is\n",
"sensitive to the chosen initial condition.\n",
"\n",
"Note that the gradient is a function of $\\mathbf{x} =\n",
"(x_1,\\cdots,x_n)$ which makes it expensive to compute numerically.\n",
"\n",
"\n",
"<!-- !split -->\n",
"## The sensitiveness of the gradient descent\n",
"\n",
"The gradient descent method \n",
"is sensitive to the choice of learning rate $\\gamma_k$. This is due\n",
"to the fact that we are only guaranteed that $F(\\mathbf{x}_{k+1}) \\leq\n",
"F(\\mathbf{x}_k)$ for sufficiently small $\\gamma_k$. The problem is to\n",
"determine an optimal learning rate. If the learning rate is chosen too\n",
"small the method will take a long time to converge and if it is too\n",
"large we can experience erratic behavior.\n",
"\n",
"Many of these shortcomings can be alleviated by introducing\n",
"randomness. One such method is that of Stochastic Gradient Descent\n",
"(SGD), see below."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.8"
}
},
"nbformat": 4,
"nbformat_minor": 4
}