From 931bced261b61f07e707e04878bc07bb1ab16c65 Mon Sep 17 00:00:00 2001 From: mhjensen Date: Wed, 21 Aug 2019 21:45:24 +0200 Subject: [PATCH] small typo in bias-variance code --- doc/LectureNotes/fig/pandas.jpg | Bin 0 -> 103233 bytes doc/pub/How2ReadData/ipynb/How2ReadData.ipynb | 98 +++++-- .../Regression/html/._Regression-bs000.html | 2 +- .../Regression/html/._Regression-bs092.html | 2 +- doc/pub/Regression/html/Regression-bs.html | 2 +- .../Regression/html/Regression-reveal.html | 4 +- .../Regression/html/Regression-solarized.html | 4 +- doc/pub/Regression/html/Regression.html | 4 +- doc/pub/Regression/ipynb/Regression.ipynb | 4 +- .../ipynb/ipynb-Regression-src.tar.gz | Bin 211 -> 211 bytes doc/pub/Regression/pdf/Regression-minted.pdf | Bin 460998 -> 460998 bytes doc/src/Projects/2019/Exercises/clean.sh | 3 + doc/src/Projects/2019/Exercises/hw1.do.txt | 157 ++++++++++ doc/src/Projects/2019/Exercises/hw2.do.txt | 65 +++++ doc/src/Projects/2019/Exercises/make.sh | 79 ++++++ .../Projects/2019/Project1/Project1.do.txt | 267 ++++++++++++++++++ doc/src/Projects/2019/Project1/clean.sh | 3 + doc/src/Projects/2019/Project1/make.sh | 79 ++++++ doc/src/Regression/Regression.do.txt | 2 +- 19 files changed, 744 insertions(+), 31 deletions(-) create mode 100644 doc/LectureNotes/fig/pandas.jpg create mode 100755 doc/src/Projects/2019/Exercises/clean.sh create mode 100644 doc/src/Projects/2019/Exercises/hw1.do.txt create mode 100644 doc/src/Projects/2019/Exercises/hw2.do.txt create mode 100755 doc/src/Projects/2019/Exercises/make.sh create mode 100644 doc/src/Projects/2019/Project1/Project1.do.txt create mode 100755 doc/src/Projects/2019/Project1/clean.sh create mode 100755 doc/src/Projects/2019/Project1/make.sh diff --git a/doc/LectureNotes/fig/pandas.jpg b/doc/LectureNotes/fig/pandas.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4236914f8e0a657e3a4bf0e80f23f270988d440f GIT binary patch literal 103233 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 literal 0 HcmV?d00001 diff --git a/doc/pub/How2ReadData/ipynb/How2ReadData.ipynb b/doc/pub/How2ReadData/ipynb/How2ReadData.ipynb index ef16f5fc9..8e59aafb4 100644 --- a/doc/pub/How2ReadData/ipynb/How2ReadData.ipynb +++ b/doc/pub/How2ReadData/ipynb/How2ReadData.ipynb @@ -2325,21 +2325,9 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 12, "metadata": {}, - "outputs": [ - { - "ename": "FileNotFoundError", - "evalue": "[Errno 2] No such file or directory: 'DataFiles/MassEval2016.dat'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 31\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msavefig\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mimage_path\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfig_id\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;34m\".png\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mformat\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'png'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 32\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 33\u001b[0;31m \u001b[0minfile\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata_path\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"MassEval2016.dat\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'r'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'DataFiles/MassEval2016.dat'" - ] - } - ], + "outputs": [], "source": [ "# Common imports\n", "import numpy as np\n", @@ -2385,7 +2373,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -2446,7 +2434,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -2488,9 +2476,81 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 15, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " N Z A Element Ebinding\n", + "A \n", + "1 0 0 1 1 H 0.000000\n", + "2 1 1 1 2 H 1.112283\n", + "3 2 2 1 3 H 2.827265\n", + "4 6 2 2 4 He 7.073915\n", + "5 9 3 2 5 He 5.512132\n", + "6 14 3 3 6 Li 5.332331\n", + "7 19 4 3 7 Li 5.606439\n", + "8 24 4 4 8 Be 7.062435\n", + "9 29 5 4 9 Be 6.462668\n", + "10 34 6 4 10 Be 6.497630\n", + "11 40 6 5 11 B 6.927732\n", + "12 46 6 6 12 C 7.680144\n", + "13 52 7 6 13 C 7.469849\n", + "14 57 8 6 14 C 7.520319\n", + "15 64 8 7 15 N 7.699460\n", + "16 72 8 8 16 O 7.976206\n", + "17 78 9 8 17 O 7.750728\n", + "18 85 10 8 18 O 7.767097\n", + "19 93 10 9 19 F 7.779018\n", + "20 102 10 10 20 Ne 8.032240\n", + "21 110 11 10 21 Ne 7.971713\n", + "22 118 12 10 22 Ne 8.080465\n", + "23 128 12 11 23 Na 8.111493\n", + "24 137 12 12 24 Mg 8.260709\n", + "25 146 13 12 25 Mg 8.223502\n", + "26 154 14 12 26 Mg 8.333870\n", + "27 164 14 13 27 Al 8.331553\n", + "28 174 14 14 28 Si 8.447744\n", + "29 183 15 14 29 Si 8.448635\n", + "30 192 16 14 30 Si 8.520654\n", + "... ... ... ... ... ...\n", + "238 3089 146 92 238 U 7.570125\n", + "239 3099 146 93 239 Np 7.560567\n", + "240 3109 146 94 240 Pu 7.556042\n", + "241 3118 147 94 241 Pu 7.546439\n", + "242 3127 148 94 242 Pu 7.541327\n", + "243 3136 149 94 243 Pu 7.531008\n", + "244 3144 150 94 244 Pu 7.524815\n", + "245 3154 149 96 245 Cm 7.515767\n", + "246 3162 150 96 246 Cm 7.511471\n", + "247 3170 151 96 247 Cm 7.501931\n", + "248 3177 152 96 248 Cm 7.496728\n", + "249 3186 152 97 249 Bk 7.486040\n", + "250 3194 152 98 250 Cf 7.479956\n", + "251 3201 153 98 251 Cf 7.470500\n", + "252 3209 154 98 252 Cf 7.465347\n", + "253 3216 155 98 253 Cf 7.454829\n", + "254 3224 156 98 254 Cf 7.449225\n", + "255 3232 156 99 255 Es 7.437821\n", + "256 3241 156 100 256 Fm 7.431780\n", + "257 3248 157 100 257 Fm 7.422194\n", + "258 3256 157 101 258 Md 7.409675\n", + "259 3264 157 102 259 No 7.399974\n", + "260 3275 154 106 260 Sg 7.342562\n", + "261 3280 157 104 261 Rf 7.371384\n", + "262 3289 156 106 262 Sg 7.341185\n", + "264 3304 156 108 264 Hs 7.298375\n", + "265 3310 157 108 265 Hs 7.296247\n", + "266 3317 158 108 266 Hs 7.298273\n", + "269 3338 159 110 269 Ds 7.250154\n", + "270 3344 160 110 270 Ds 7.253775\n", + "\n", + "[267 rows x 5 columns]\n" + ] + } + ], "source": [ "A = Masses['A']\n", "Z = Masses['Z']\n", @@ -2510,7 +2570,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ diff --git a/doc/pub/Regression/html/._Regression-bs000.html b/doc/pub/Regression/html/._Regression-bs000.html index 34ea38ffc..39762274c 100644 --- a/doc/pub/Regression/html/._Regression-bs000.html +++ b/doc/pub/Regression/html/._Regression-bs000.html @@ -405,7 +405,7 @@ MathJax.Hub.Config({
[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University

-

Aug 19, 2019

+

Aug 21, 2019


diff --git a/doc/pub/Regression/html/._Regression-bs092.html b/doc/pub/Regression/html/._Regression-bs092.html index 1b0db8aa0..dbf917102 100644 --- a/doc/pub/Regression/html/._Regression-bs092.html +++ b/doc/pub/Regression/html/._Regression-bs092.html @@ -431,7 +431,7 @@ x_train, x_test, y_train, y_test = train_tes print('Var:', variance[degree]) print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree])) -plt.plot(polydegree, np.log10(error), label='Error') +plt.plot(polydegree, error, label='Error') plt.plot(polydegree, bias, label='bias') plt.plot(polydegree, variance, label='Variance') plt.legend() diff --git a/doc/pub/Regression/html/Regression-bs.html b/doc/pub/Regression/html/Regression-bs.html index 34ea38ffc..39762274c 100644 --- a/doc/pub/Regression/html/Regression-bs.html +++ b/doc/pub/Regression/html/Regression-bs.html @@ -405,7 +405,7 @@ MathJax.Hub.Config({

[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University

-

Aug 19, 2019

+

Aug 21, 2019


diff --git a/doc/pub/Regression/html/Regression-reveal.html b/doc/pub/Regression/html/Regression-reveal.html index 71f039969..2647c3c1d 100644 --- a/doc/pub/Regression/html/Regression-reveal.html +++ b/doc/pub/Regression/html/Regression-reveal.html @@ -148,7 +148,7 @@ MathJax.Hub.Config({

[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University

 
-

Aug 19, 2019

+

Aug 21, 2019


@@ -3747,7 +3747,7 @@ x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=print('Var:', variance[degree]) print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree])) -plt.plot(polydegree, np.log10(error), label='Error') +plt.plot(polydegree, error, label='Error') plt.plot(polydegree, bias, label='bias') plt.plot(polydegree, variance, label='Variance') plt.legend() diff --git a/doc/pub/Regression/html/Regression-solarized.html b/doc/pub/Regression/html/Regression-solarized.html index de85446df..ba9ade769 100644 --- a/doc/pub/Regression/html/Regression-solarized.html +++ b/doc/pub/Regression/html/Regression-solarized.html @@ -291,7 +291,7 @@ MathJax.Hub.Config({

[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University

-

Aug 19, 2019

+

Aug 21, 2019












@@ -3636,7 +3636,7 @@ x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=print('Var:', variance[degree]) print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree])) -plt.plot(polydegree, np.log10(error), label='Error') +plt.plot(polydegree, error, label='Error') plt.plot(polydegree, bias, label='bias') plt.plot(polydegree, variance, label='Variance') plt.legend() diff --git a/doc/pub/Regression/html/Regression.html b/doc/pub/Regression/html/Regression.html index 7874e1d4c..17c2601d3 100644 --- a/doc/pub/Regression/html/Regression.html +++ b/doc/pub/Regression/html/Regression.html @@ -296,7 +296,7 @@ MathJax.Hub.Config({

[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University

-

Aug 19, 2019

+

Aug 21, 2019












@@ -3641,7 +3641,7 @@ x_train, x_test, y_train, y_test = train_tes print('Var:', variance[degree]) print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree])) -plt.plot(polydegree, np.log10(error), label='Error') +plt.plot(polydegree, error, label='Error') plt.plot(polydegree, bias, label='bias') plt.plot(polydegree, variance, label='Variance') plt.legend() diff --git a/doc/pub/Regression/ipynb/Regression.ipynb b/doc/pub/Regression/ipynb/Regression.ipynb index 908fff4a4..0116e8535 100644 --- a/doc/pub/Regression/ipynb/Regression.ipynb +++ b/doc/pub/Regression/ipynb/Regression.ipynb @@ -10,7 +10,7 @@ " \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: **Aug 19, 2019**\n", + "Date: **Aug 21, 2019**\n", "\n", "Copyright 1999-2019, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license\n", "\n", @@ -4926,7 +4926,7 @@ " print('Var:', variance[degree])\n", " print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree]))\n", "\n", - "plt.plot(polydegree, np.log10(error), label='Error')\n", + "plt.plot(polydegree, error, label='Error')\n", "plt.plot(polydegree, bias, label='bias')\n", "plt.plot(polydegree, variance, label='Variance')\n", "plt.legend()\n", diff --git a/doc/pub/Regression/ipynb/ipynb-Regression-src.tar.gz b/doc/pub/Regression/ipynb/ipynb-Regression-src.tar.gz index 40757a89de3e553f292da17260ab414281f2e259..d919eb94b82b29997eeea08885d59d318e99cae0 100644 GIT binary patch literal 211 zcmb2|=3r2p9~;ZS{Pz6WEG9#dw#4gkM|U5coxARN?dQ{+ZL!v9PvrbH|2Lao-FCbF-_AKo_Lb^!?9-oAnm$vk_^5c>m*f4W zZM!pqiw=tC+5hVOa&Xz@h(&*`c4Qp=5$JP&w@vAp<2CY!^=6$9Ig?*2z<>;FI`TDF LU7E_E!N33jVp3ya literal 211 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 diff --git a/doc/src/Projects/2019/Exercises/clean.sh b/doc/src/Projects/2019/Exercises/clean.sh new file mode 100755 index 000000000..2e5da2c72 --- /dev/null +++ b/doc/src/Projects/2019/Exercises/clean.sh @@ -0,0 +1,3 @@ +#!/bin/sh +doconce clean +rm -rf *.pdf *.tex ipynb*.tar.gz *.html ._*.html *~ reveal.js Trash README.txt diff --git a/doc/src/Projects/2019/Exercises/hw1.do.txt b/doc/src/Projects/2019/Exercises/hw1.do.txt new file mode 100644 index 000000000..66ec64db7 --- /dev/null +++ b/doc/src/Projects/2019/Exercises/hw1.do.txt @@ -0,0 +1,157 @@ +TITLE: Homework 1 Fall Semester 2019 +AUTHOR: "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html" {copyright, 1999-present|CC BY-NC} at Department of Physics, University of Oslo, Norway +DATE:Today + + +===== Exercise 1 ===== + +The first exercise here is of a mere technical art. We want you to have +* git as a version control software and to establish a user account on a provider like GitHub. Other providers like GitLab etc are equally fine. You can also use the University of Oslo "GitHub facilities":"https://www.uio.no/tjenester/it/maskin/filer/versjonskontroll/github.html". +* Install various Python packages + +We will make extensive use of Python as programming language and its +myriad of available libraries. You will find +IPython/Jupyter notebooks invaluable in your work. You can run _R_ +codes in the Jupyter/IPython notebooks, with the immediate benefit of +visualizing your data. You can also use compiled languages like C++, +Rust, Fortran etc if you prefer. The focus in these lectures will be +on Python. + +If you have Python installed (we recommend Python3) and you feel +pretty familiar with installing different packages, we recommend that +you install the following Python packages via _pip_ as + +o pip install numpy scipy matplotlib ipython scikit-learn sympy pandas pillow + +For _Tensorflow_, we recommend following the instructions in the text of +"Aurelien Geron, Hands‑On Machine Learning with Scikit‑Learn and TensorFlow, O'Reilly":"http://shop.oreilly.com/product/0636920052289.do" + +We will come back to _tensorflow_ later. + +For Python3, replace _pip_ with _pip3_. + +For OSX users we recommend, after having installed Xcode, to +install _brew_. Brew allows for a seamless installation of additional +software via for example + +o brew install python3 + +For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution, +you can use _pip_ as well and simply install Python as + +o sudo apt-get install python3 (or python for pyhton2.7) + +If you don't want to perform these operations separately and venture +into the hassle of exploring how to set up dependencies and paths, we +recommend two widely used distrubutions which set up all relevant +dependencies for Python, namely + +* "Anaconda":"https://docs.anaconda.com/", + +which is an open source +distribution of the Python and R programming languages for large-scale +data processing, predictive analytics, and scientific computing, that +aims to simplify package management and deployment. Package versions +are managed by the package management system _conda_. + +* "Enthought canopy":"https://www.enthought.com/product/canopy/" + +is a Python +distribution for scientific and analytic computing distribution and +analysis environment, available for free and under a commercial +license. + +We recommend using _Anaconda_. + +===== Exercise 2 ===== + +We will generate our own dataset for a function $y(x)$ where $x \in [0,1]$ and defined by random numbers computed with the uniform distribution. The function $y$ is a quadratic polynomial in $x$ with added stochastic noise according to the normal distribution $\cal {N}(0,1)$. +The following simple Python instructions define our $x$ and $y$ values (with 100 data points). +!bc pycod +x = np.random.rand(100,1) +y = 5*x*x+0.1*np.random.randn(100,1) +!ec + +o Write your own code (following the examples under the "regression slides":"https://compphysics.github.io/MachineLearning/doc/pub/Regression/html/Regression-bs.html") for computing the parametrization of the data set fitting a second-order polynomial. +o Use thereafter _scikit-learn_ (see again the examples in the regression slides) and compare with your own code. +o Using scikit-learn, compute also the mean square error, a risk metric corresponding to the expected value of the squared (quadratic) error defined as +!bt +\[ MSE(\hat{y},\hat{\tilde{y}}) = \frac{1}{n} +\sum_{i=0}^{n-1}(y_i-\tilde{y}_i)^2, +\] +!et +and the $R^2$ score function. +If $\tilde{\hat{y}}_i$ is the predicted value of the $i-th$ sample and $y_i$ is the corresponding true value, then the score $R^2$ is defined as +!bt +\[ +R^2(\hat{y}, \tilde{\hat{y}}) = 1 - \frac{\sum_{i=0}^{n - 1} (y_i - \tilde{y}_i)^2}{\sum_{i=0}^{n - 1} (y_i - \bar{y})^2}, +\] +!et +where we have defined the mean value of $\hat{y}$ as +!bt +\[ +\bar{y} = \frac{1}{n} \sum_{i=0}^{n - 1} y_i. +\] +!et +You can use the functionality included in scikit-learn. If you feel for it, you can use your own program and define functions which compute the above two functions. +Discuss the meaning of these results. Try also to vary the coefficient in front of the added stochastic noise term and discuss the quality of the fits. + + + + +===== Exercise 3, mean values and variances in linear regression ===== + + +This exercise deals with various mean values ad variances in linear regression method (here it may be useful to look up chapter 3, equation (3.8) of "Trevor Hastie, Robert Tibshirani, Jerome H. Friedman, The Elements of Statistical Learning, Springer":"https://www.springer.com/gp/book/9780387848570"). + +The assumption we have made is +that there exists a function $f(\bm{x})$ and a normal distributed error $\bm{\varepsilon}\sim \mathcal{N}(0, \sigma^2)$ +which describes our data +!bt +\[ +\bm{y} = f(\bm{x})+\bm{\varepsilon} +\] +!et + +We then approximate this function with our model from the solution of the linear regression equations (ordinary least squares OLS), that is our +function $f$ is approximated by $\bm{\tilde{y}}$ where we minimized $(\bm{y}-\bm{\tilde{y}})^2$, with +!bt +\[ +\bm{\tilde{y}} = \bm{X}\bm{\beta}. +\] +!et +The matrix $\bm{X}$ is the so-called design matrix. + + +Show that the expectation value of $\bm{y}$ for a given element $i$ +!bt +\begin{align*} +\mathbb{E}(y_i) & =\mathbf{X}_{i, \ast} \, \beta, +\end{align*} +!et +and that +its variance is +!bt +\begin{align*} \mbox{Var}(y_i) & = \sigma^2. +\end{align*} +!et +Hence, $y_i \sim \mathcal{N}( \mathbf{X}_{i, \ast} \, \bm{\beta}, \sigma^2)$, that is $\bm{y}$ follows a normal distribution with +mean value $\bm{X}\bm{\beta}$ and variance $\sigma^2$. + + +With the OLS expressions for the parameters $\bm{\beta}$ show that +!bt +\[ +\mathbb{E}(\bm{\beta}) = \bm{\beta}. +\] +!et +This means that the estimator of the regression parameters is unbiased. + +Show finally that the variance of $\bm{\beta}$ is +!bt +\begin{eqnarray*} +\mbox{Var}(\bm{\beta}) & = & \sigma^2 \, (\mathbf{X}^{T} \mathbf{X})^{-1}. +\end{eqnarray*} +!et + + diff --git a/doc/src/Projects/2019/Exercises/hw2.do.txt b/doc/src/Projects/2019/Exercises/hw2.do.txt new file mode 100644 index 000000000..987cef3ec --- /dev/null +++ b/doc/src/Projects/2019/Exercises/hw2.do.txt @@ -0,0 +1,65 @@ +TITLE: Homework 2 +AUTHOR: "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html" {copyright, 1999-present|CC BY-NC} at Department of Physics, University of Oslo, Norway +DATE:Today + + +===== Exercise 4 ===== + +This exercise is a continuation of exercise 2 from homework 1. We will +use the same function to generate our data set, still staying with a +simple function $y(x)$ which we want to fit using linear regression, +but now extending the analysis to include the Ridge and the Lasso +regression methods. You can use the code under the Regression as an example on how to use the Ridge and the Lasso methods, see the "regression slides":"https://compphysics.github.io/MachineLearning/doc/pub/Regression/html/Regression-bs.html"). + +We will thus again generate our own dataset for a function $y(x)$ where +$x \in [0,1]$ and defined by random numbers computed with the uniform +distribution. The function $y$ is a quadratic polynomial in $x$ with +added stochastic noise according to the normal distribution $\cal{N}(0,1)$. + +The following simple Python instructions define our $x$ and $y$ values (with 100 data points). +!bc pycod +x = np.random.rand(100,1) +y = 5*x*x+0.1*np.random.randn(100,1) +!ec + +o Write your own code for the Ridge method (see chapter 3.4 of Hastie *et al.*, equations (3.43) and (3.44)) and compute the parametrization for different values of $\lambda$. Compare and analyze your results with those from exercise 2. Study the dependence on $\lambda$ while also varying the strength of the noise in your expression for $y(x)$. + +o Repeat the above but using the functionality of _scikit-learn_. Compare your code with the results from _scikit-learn_. Remember to run with the same random numbers for generating $x$ and $y$. + +o Our next step is to study the variance of the parameters $\beta_1$ and $\beta_2$ (assuming that we are parametrizing our function with a second-order polynomial. We will use standard linear regression and the Ridge regression. You can now opt for either writing your own function that calculates the variance of these paramaters (recall that this is equal to the diagonal elements of the matrix $(\hat{X}^T\hat{X})+\lambda\hat{I})^{-1}$) or use the functionality of _scikit-learn_ and compute their variances. Discuss the results of these variances as functions of $\lambda$. In particular, try to link your discussion with the discussion in Hastie *et al.* and their figure 3.11. + +o Repeat the previous step but add now the Lasso method, see equation (3.53) of Hastie *et al.*. Discuss your results and compare with standard regression and the Ridge regression results. You can write your own code or use the functionality of _scikit-learn_. + +o Finally, using _scikit-learn_ or your own code, compute also the mean square error, a risk metric corresponding to the expected value of the squared (quadratic) error defined as +!bt +\[ MSE(\hat{y},\hat{\tilde{y}}) = \frac{1}{n} +\sum_{i=0}^{n-1}(y_i-\tilde{y}_i)^2, +\] +!et +and the $R^2$ score function. +If $\tilde{\hat{y}}_i$ is the predicted value of the $i-th$ sample and $y_i$ is the corresponding true value, then the score $R^2$ is defined as +!bt +\[ +R^2(\hat{y}, \tilde{\hat{y}}) = 1 - \frac{\sum_{i=0}^{n - 1} (y_i - \tilde{y}_i)^2}{\sum_{i=0}^{n - 1} (y_i - \bar{y})^2}, +\] +!et +where we have defined the mean value of $\hat{y}$ as +!bt +\[ +\bar{y} = \frac{1}{n} \sum_{i=0}^{n - 1} y_i. +\] +!et +Discuss these quantities as functions of the variable $\lambda$ in the Ridge and Lasso regression methods. + +===== Exercise 5 ===== + +Using the singular value decomposition, show that the variance of the direction vector +$\hat{z}_i=\hat{X}\hat{v}_i=\hat{u}_1d_1$ is equal to (equation (3.49) of Hastie *et al.*) +!bt +\[ +\mathrm{Var}(\hat{z}_i)=\frac{d_i^2}{N}, +\] +!et +where $d_i$ are the singular values of the matrix $\hat{X}$. In Hastie *et al*, the matrix elements of $X$ are centered. The consequence is that the mean values of for example $\hat{u}_i$ are zero. + +Give an interpretation of these results, in particular in connection with the variance of the coefficients you obtained in the previous exercise. diff --git a/doc/src/Projects/2019/Exercises/make.sh b/doc/src/Projects/2019/Exercises/make.sh new file mode 100755 index 000000000..e1fc0d6fa --- /dev/null +++ b/doc/src/Projects/2019/Exercises/make.sh @@ -0,0 +1,79 @@ +#!/bin/sh +set -x + +function system { + "$@" + if [ $? -ne 0 ]; then + echo "make.sh: unsuccessful command $@" + echo "abort!" + exit 1 + fi +} + +if [ $# -eq 0 ]; then +echo 'bash make.sh slides1|slides2' +exit 1 +fi + +name=$1 +rm -f *.tar.gz + +opt="--encoding=utf-8" +opt= + +rm -f *.aux + + + +# Plain HTML documents +html=${name} +system doconce format html $name --pygments_html_style=default --html_style=bloodish --html_links_in_new_window --html_output=$html $opt +system doconce split_html $html.html --method=space10 + +# Bootstrap style +html=${name}-bs +system doconce format html $name --html_style=bootstrap --pygments_html_style=default --html_admon=bootstrap_panel --html_output=$html $opt +system doconce split_html $html.html --method=split --pagination --nav_button=bottom + + +# Ordinary plain LaTeX document +system doconce format pdflatex $name --print_latex_style=trac --latex_admon=paragraph $opt +system doconce ptex2tex $name envir=print +# Add special packages +doconce subst "% Add user's preamble" "\g<1>\n\\usepackage{simplewick}" $name.tex +doconce replace 'section{' 'section*{' $name.tex +pdflatex -shell-escape $name +pdflatex -shell-escape $name +mv -f $name.pdf ${name}.pdf +cp $name.tex ${name}.tex + +# Publish +dest=../../../../Projects/2019 +if [ ! -d $dest/$name ]; then +mkdir $dest/$name +mkdir $dest/$name/pdf +mkdir $dest/$name/html +mkdir $dest/$name/ipynb +fi +cp ${name}*.tex $dest/$name/pdf +cp ${name}*.pdf $dest/$name/pdf +cp -r ${name}*.html ._${name}*.html $dest/$name/html + +# Figures: cannot just copy link, need to physically copy the files +if [ -d fig-${name} ]; then +if [ ! -d $dest/$name/html/fig-$name ]; then +mkdir $dest/$name/html/fig-$name +fi +cp -r fig-${name}/* $dest/$name/html/fig-$name +fi + +cp ${name}.ipynb $dest/$name/ipynb +ipynb_tarfile=ipynb-${name}-src.tar.gz +if [ ! -f ${ipynb_tarfile} ]; then +cat > README.txt <\n\\usepackage{simplewick}" $name.tex +doconce replace 'section{' 'section*{' $name.tex +pdflatex -shell-escape $name +pdflatex -shell-escape $name +mv -f $name.pdf ${name}.pdf +cp $name.tex ${name}.tex + +# Publish +dest=../../../../Projects/2018 +if [ ! -d $dest/$name ]; then +mkdir $dest/$name +mkdir $dest/$name/pdf +mkdir $dest/$name/html +mkdir $dest/$name/ipynb +fi +cp ${name}*.tex $dest/$name/pdf +cp ${name}*.pdf $dest/$name/pdf +cp -r ${name}*.html ._${name}*.html $dest/$name/html + +# Figures: cannot just copy link, need to physically copy the files +if [ -d fig-${name} ]; then +if [ ! -d $dest/$name/html/fig-$name ]; then +mkdir $dest/$name/html/fig-$name +fi +cp -r fig-${name}/* $dest/$name/html/fig-$name +fi + +cp ${name}.ipynb $dest/$name/ipynb +ipynb_tarfile=ipynb-${name}-src.tar.gz +if [ ! -f ${ipynb_tarfile} ]; then +cat > README.txt <= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree])) -plt.plot(polydegree, np.log10(error), label='Error') +plt.plot(polydegree, error, label='Error') plt.plot(polydegree, bias, label='bias') plt.plot(polydegree, variance, label='Variance') plt.legend()