diff --git a/doc/LectureNotes/.ipynb_checkpoints/E1-checkpoint.ipynb b/doc/LectureNotes/.ipynb_checkpoints/E1-checkpoint.ipynb new file mode 100644 index 000000000..1fa343a6e --- /dev/null +++ b/doc/LectureNotes/.ipynb_checkpoints/E1-checkpoint.ipynb @@ -0,0 +1,313 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "232d1306", + "metadata": {}, + "source": [ + "# Exercises week 34\n", + "\n", + "## Coding Setup and Linear Regression" + ] + }, + { + "cell_type": "markdown", + "id": "9b66a351", + "metadata": {}, + "source": [ + "Welcome to FYS-STK3155/4155!\n", + "\n", + "In this first week will focus on getting you set up with the programs you are going to be using throughout this course. We expect that many of you will encounter some trouble with setting these programs up, as they can be extremely finnicky and prone to not working the same on all machines, so we strongly encourage you to not get discouraged, and to show up to the group-sessions where we can help you along. The group sessions are also the best place to find group partners for the projects and to be challenged on your understanding of the material, which are both essential to doing well in this course. We strongly encourage you to form groups of 2-3 participants. \n", + "\n", + "If you are unable to complete this weekss exercises, don't worry, this will likely be the most frustrating week for many of you. You have time to get back on track next week, especially if you come to the group-sessions! Note also that this week's set of exercises does not count for the additional score. The deadline for the weekly exercises is set to Fridays, at midnight." + ] + }, + { + "cell_type": "markdown", + "id": "36d8750b", + "metadata": {}, + "source": [ + "### Learning goals\n", + "\n", + "After completing these exercises, you will know how to\n", + "\n", + "- Create and use a Github repository\n", + "- Set up and use a virtual environment in Python\n", + "- Fit an OLS model to data using scikit-learn\n", + "- Fit a model on training data and evaluate it on test data\n", + "\n", + "### Deliverables\n", + "\n", + "Complete the following exercises while working in a jupyter notebook. Exercises 1,2 and 3 require no writing in the notebook. Then, in canvas, include\n", + "- The jupyter notebook with the exercises completed\n", + "- An exported PDF of the notebook (https://code.visualstudio.com/docs/datascience/jupyter-notebooks#_export-your-jupyter-notebook)\n", + "- Optional: A link to your github repository, which must be set to public, include the notebook file, a README file, requirements file and gitignore file.\n", + "\n", + "We require you to deliver a jupyter notebook so that we can evaluate the results of your code without needing to download and run the code of every student, as well as to teach you to use this useful tool." + ] + }, + { + "cell_type": "markdown", + "id": "2a9c7ef8", + "metadata": {}, + "source": [ + "## Exercise 1 - Github Setup\n" + ] + }, + { + "cell_type": "markdown", + "id": "1498aed1", + "metadata": {}, + "source": [ + "In this course, we require you to pay extra mind to the reproducibility of your results and the shareability of your code. The first step toward these goals is using a version control system like git and online repository like Github.\n", + "\n", + "**a)** Download git if you don't already have it on your machine, check with the terminal command ´git --version´ (https://git-scm.com/downloads).\n", + "\n", + "**b)** Create a Github account(https://github.com/), or log in to github with your UiO account (https://github.uio.no/login).\n", + "\n", + "**c)** Learn the basics of opening the terminal and navigating folders on your operating system. Things to learn: Opening a terminal, opening a terminal in a specific folder, listing the contents of the current folder, navigating into a folder, navigating out of a folder.\n", + "\n", + "**d)** Download the Github CLI tool and run ´gh auth login´ in your terminal to authenticate your local machine for some of the later steps. (https://github.com/cli/cli#installation). You might need to change file permissions to make it work, ask us or ChatGPT for help with these issues." + ] + }, + { + "cell_type": "markdown", + "id": "c56fbefa", + "metadata": {}, + "source": [ + "## Exercise 2 - Setting up a Github repository\n" + ] + }, + { + "cell_type": "markdown", + "id": "fb9b8acd", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "source": [ + "**a)** Create an empty repository for your coursework in this course in your browser at github.com (or uio github).\n", + "\n", + "**b)** Open a terminal in the location you want to create your local folder for this repository, like your desktop.\n", + "\n", + "**c)** Clone the repository to your laptop using the terminal command ´gh repo clone username/repository-name´. This creates a folder with the same name as the repository. Moving it or renaming it might require some extra steps.\n", + "\n", + "**d)** Download this jupyter notebook. Add the notebook to the local folder.\n", + "\n", + "**e)** Run the ´git add .´ command command in a terminal opened in the local folder to stage the current changes in the folder to be commited to the version control history. Run ´git status´ to see the staged files.\n", + "\n", + "**f)** Run the ´git commit -m \"Adding first weekly assignment file\"´ command to commit the staged changes to the version control history. Run ´git status´ to see that no files are staged.\n", + "\n", + "**g)** Run the ´git push\" command to upload the commited changes to the remote repository on Github.\n", + "\n", + "**h)** Add a file called README.txt to the repository at Github.com. Don't do this in your local folder. Add a suitable title for your repository and some inforomation to the file.\n", + "\n", + "**i)** Run the ´git fetch origin´ command to fetch the latest remote changes to your repository.\n", + "\n", + "**j)** Run the ´git pull´ command to download and update files to match the remote changes.\n" + ] + }, + { + "cell_type": "markdown", + "id": "f84d0db6", + "metadata": {}, + "source": [ + "## Exercise 3 - Setting up a Python virtual environment\n" + ] + }, + { + "cell_type": "markdown", + "id": "b5a4818a", + "metadata": {}, + "source": [ + "Following the themes from the previous exercises, another way of improving the reproducibility of your results and shareability of your code is having a good handle on which python packages you are using.\n", + "\n", + "There are many ways to manage your packages in Python, and you are free to use any approach you want, but in this course we encourage you to use something called a virtual environment. A virtual environemnt is a folder in your project which contains a Python runtime executable as well as all the packages you are using in the current project. In this way, each of your projects has its required set of packages installed in the same folder, so that if anything goes wrong while managing your packages it only affects the one project, and if multiple projects require different versions of the same package, you don't need to worry about messing up old projects. Also, it's easy to just delete the folder and start over if anything goes wrong.\n", + "\n", + "Virtual environments are typically created, activated, managed and updated using terminal commands, but for now we recommend that you let for example VS Code (a popular cross-paltform package) handle it for you to make the coding experience much easier. If you are familiar with another approach for virtual environments that works for you, feel free to keep doing it that way.\n" + ] + }, + { + "cell_type": "markdown", + "id": "0f6de364", + "metadata": {}, + "source": [ + "**a)** Open this notebook in VS Code (https://code.visualstudio.com/Download). Download the Python and Jupyter extensions.\n", + "\n", + "**b)** Press ´Cmd + Shift + P´, then search and run ´Python: Create Environment...´\n", + "\n", + "**c)** Select ´Venv´\n", + "\n", + "**d)** Choose the most up-to-date version of Python your have installed.\n", + "\n", + "**e)** Press ´Cmd + Shift + P´, then search and run ´Python: Select Interpreter´\n", + "\n", + "**f)** Selevet the (.venv) option you just created.\n", + "\n", + "**g)** Open a terminal in VS Code, the venv name should be visible at the beginning of the line. Run `pip list` to see that there are no packages install in the environment.\n", + "\n", + "**h)** In this terminal, run `pip install matplotlib numpy scikit-learn`. This will install the listed packages.\n", + "\n", + "**i)** To make these installations reproducible, which is important for reproducing results and sharing your code, run ´pip freeze > requirements.txt´ to create the file requirements.txt with all your dependencies.\n", + "\n", + "Now, anyone who wants to recreate your package setup can download your requirements.txt file and run ´pip install -r requirements.txt´ to install the correct packages and versions. To keep the requirements.txt file up to date with your environment, you will need to re-run the freeze command whenever you install a new package.\n", + "\n", + "**j)** Create a .gitignore file at the root of your project folder, and add the line ´.venv´ to it. This way, you won't try to upload a copy of all your python packages when you regularly push your changes to Github. Ignored files should not show up when you run ´git status´, and are not staged when running ´git add .´, try it!" + ] + }, + { + "cell_type": "markdown", + "id": "5d184ab1", + "metadata": {}, + "source": [ + "## Exercise 3 - Fitting an OLS model to data\n" + ] + }, + { + "cell_type": "markdown", + "id": "d19ebd67", + "metadata": {}, + "source": [ + "Great job on getting through all of that! Now it is time to do some actual machine learning!\n", + "\n", + "**a)** Complete the code below so that you fit a second order polynomial to the data. You will need to look up some scikit-learn documentation online (look at the imported functions for hints).\n", + "\n", + "**b)** Compute the mean square error for the line model and for the second degree polynomial model." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "b58fb9bf", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.preprocessing import PolynomialFeatures # use the fit_transform method of the created object!\n", + "from sklearn.linear_model import LinearRegression\n", + "from sklearn.metrics import mean_squared_error" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "0208e9ca", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "n = 100\n", + "x = np.random.rand(n, 1)\n", + "y = 2.0 + 5 * x**2 + 0.1 * np.random.randn(n, 1)\n", + "\n", + "line_model = LinearRegression().fit(x, y)\n", + "line_predict = line_model.predict(x)\n", + "#line_mse = ...\n", + "\n", + "#poly_features = ...\n", + "#poly_model = LinearRegression().fit(..., y)\n", + "#poly_predict = ...\n", + "#poly_mse = ...\n", + "\n", + "plt.scatter(x, y, label = \"Data\")\n", + "plt.scatter(x, line_predict, label = \"Line model\")\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "248d8931", + "metadata": {}, + "source": [ + "## Exercise 4 - The train-test split\n" + ] + }, + { + "cell_type": "markdown", + "id": "1efd3376", + "metadata": {}, + "source": [ + "Hopefully your model fit the data quite well, but to know how well the model actually generalizes to unseen data, which is most often what we care about, we need to split our data into training and testing data. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0f8d75fb", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.model_selection import train_test_split" + ] + }, + { + "cell_type": "markdown", + "id": "edb213fc", + "metadata": {}, + "source": [ + "**a)** Complete the code below so that the polynomial features and the targets y get split into training and test data.\n", + "\n", + "**b)** What is the shape of X_test?\n", + "\n", + "**c)** Fit your model to X_train\n", + "\n", + "**d)** Compute the MSE when your model predicts on the training data and on the testing data, using y_train and y_test as targets for the two cases.\n", + "\n", + "**e)** Why do we not fit the model to X_test?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a03e0388", + "metadata": {}, + "outputs": [], + "source": [ + "polynomial_features = ...\n", + "\n", + "#X_train, X_test, y_train, y_test = train_test_split(polynomial_features, y, test_size=0.2)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "22e7536e", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.15" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/doc/LectureNotes/E1.ipynb b/doc/LectureNotes/E1.ipynb index 8fb96d5b1..1fa343a6e 100644 --- a/doc/LectureNotes/E1.ipynb +++ b/doc/LectureNotes/E1.ipynb @@ -17,9 +17,9 @@ "source": [ "Welcome to FYS-STK3155/4155!\n", "\n", - "In this first week will focus on getting you set up with the programs you are going to be using throughout this course. We expect that many of you will encounter some trouble with setting these programs up, as they can be extremely finnicky and prone to not working the same on all machines, so we strongly encourage you to not get discouraged, and to show up to the group-sessions where we can help you along. The group sessions are also the best place to find group partners for the projects and to be challenged on your understanding of the material, which are both essential to doing well in this course.\n", + "In this first week will focus on getting you set up with the programs you are going to be using throughout this course. We expect that many of you will encounter some trouble with setting these programs up, as they can be extremely finnicky and prone to not working the same on all machines, so we strongly encourage you to not get discouraged, and to show up to the group-sessions where we can help you along. The group sessions are also the best place to find group partners for the projects and to be challenged on your understanding of the material, which are both essential to doing well in this course. We strongly encourage you to form groups of 2-3 participants. \n", "\n", - "If you are unable to complete this weeks exercises, don't worry, this will likely be the most frustrating week for many of you. You have time to get back on track next week, especially if you come to the group-sessions!" + "If you are unable to complete this weekss exercises, don't worry, this will likely be the most frustrating week for many of you. You have time to get back on track next week, especially if you come to the group-sessions! Note also that this week's set of exercises does not count for the additional score. The deadline for the weekly exercises is set to Fridays, at midnight." ] }, { @@ -121,11 +121,11 @@ "id": "b5a4818a", "metadata": {}, "source": [ - "Following the theme of the previous exercises, another way of improving the reproducibility of your results and shareability of your code is having a good handle on which python packages you are using.\n", + "Following the themes from the previous exercises, another way of improving the reproducibility of your results and shareability of your code is having a good handle on which python packages you are using.\n", "\n", "There are many ways to manage your packages in Python, and you are free to use any approach you want, but in this course we encourage you to use something called a virtual environment. A virtual environemnt is a folder in your project which contains a Python runtime executable as well as all the packages you are using in the current project. In this way, each of your projects has its required set of packages installed in the same folder, so that if anything goes wrong while managing your packages it only affects the one project, and if multiple projects require different versions of the same package, you don't need to worry about messing up old projects. Also, it's easy to just delete the folder and start over if anything goes wrong.\n", "\n", - "Virtual environments are typically created, activated, managed and updated using terminal commands, but for now we recommend that you let VS Code handle it for you to make the coding experience much easier. If you are familiar with another approach for virtual environments that works for you, feel free to keep doing it that way.\n" + "Virtual environments are typically created, activated, managed and updated using terminal commands, but for now we recommend that you let for example VS Code (a popular cross-paltform package) handle it for you to make the coding experience much easier. If you are familiar with another approach for virtual environments that works for you, feel free to keep doing it that way.\n" ] }, { @@ -169,9 +169,9 @@ "id": "d19ebd67", "metadata": {}, "source": [ - "Great job on getting through all of that! Now it's time to do some actual machine learning!\n", + "Great job on getting through all of that! Now it is time to do some actual machine learning!\n", "\n", - "**a)** Complete the code below so that you fit a second order polynomial to the data. You will need to look up some skelarn documentation online (look at the imported functions for hints).\n", + "**a)** Complete the code below so that you fit a second order polynomial to the data. You will need to look up some scikit-learn documentation online (look at the imported functions for hints).\n", "\n", "**b)** Compute the mean square error for the line model and for the second degree polynomial model." ] @@ -291,7 +291,7 @@ ], "metadata": { "kernelspec": { - "display_name": ".venv", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -305,7 +305,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.0" + "version": "3.9.15" } }, "nbformat": 4, diff --git a/doc/LectureNotes/_build/.doctrees/E1.doctree b/doc/LectureNotes/_build/.doctrees/E1.doctree index f5fd3f1e5..59453c2ae 100644 Binary files a/doc/LectureNotes/_build/.doctrees/E1.doctree and b/doc/LectureNotes/_build/.doctrees/E1.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/E2.doctree b/doc/LectureNotes/_build/.doctrees/E2.doctree index 5360976aa..531a6f79d 100644 Binary files a/doc/LectureNotes/_build/.doctrees/E2.doctree and b/doc/LectureNotes/_build/.doctrees/E2.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/chapter1.doctree b/doc/LectureNotes/_build/.doctrees/chapter1.doctree index 869d495d0..58bc87dbe 100644 Binary files a/doc/LectureNotes/_build/.doctrees/chapter1.doctree and b/doc/LectureNotes/_build/.doctrees/chapter1.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/chapter10.doctree b/doc/LectureNotes/_build/.doctrees/chapter10.doctree index 16d645706..f8d0e5616 100644 Binary files a/doc/LectureNotes/_build/.doctrees/chapter10.doctree and b/doc/LectureNotes/_build/.doctrees/chapter10.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/chapter11.doctree b/doc/LectureNotes/_build/.doctrees/chapter11.doctree index 93cfb0545..f71b9287b 100644 Binary files a/doc/LectureNotes/_build/.doctrees/chapter11.doctree and b/doc/LectureNotes/_build/.doctrees/chapter11.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/chapter12.doctree b/doc/LectureNotes/_build/.doctrees/chapter12.doctree index 7734d88f4..1436f7a9a 100644 Binary files a/doc/LectureNotes/_build/.doctrees/chapter12.doctree and b/doc/LectureNotes/_build/.doctrees/chapter12.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/chapter13.doctree b/doc/LectureNotes/_build/.doctrees/chapter13.doctree index d4c6bd2d1..f5369aedf 100644 Binary files a/doc/LectureNotes/_build/.doctrees/chapter13.doctree and b/doc/LectureNotes/_build/.doctrees/chapter13.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/chapter2.doctree b/doc/LectureNotes/_build/.doctrees/chapter2.doctree index 0e8178cbd..d7703ba96 100644 Binary files a/doc/LectureNotes/_build/.doctrees/chapter2.doctree and b/doc/LectureNotes/_build/.doctrees/chapter2.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/chapter3.doctree b/doc/LectureNotes/_build/.doctrees/chapter3.doctree index f989f8c4d..0ec044610 100644 Binary files a/doc/LectureNotes/_build/.doctrees/chapter3.doctree and b/doc/LectureNotes/_build/.doctrees/chapter3.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/chapter4.doctree b/doc/LectureNotes/_build/.doctrees/chapter4.doctree index c526d3575..88ef0d88e 100644 Binary files a/doc/LectureNotes/_build/.doctrees/chapter4.doctree and b/doc/LectureNotes/_build/.doctrees/chapter4.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/chapter5.doctree b/doc/LectureNotes/_build/.doctrees/chapter5.doctree index ed00de71e..3d8e98bc9 100644 Binary files a/doc/LectureNotes/_build/.doctrees/chapter5.doctree and b/doc/LectureNotes/_build/.doctrees/chapter5.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/chapter6.doctree b/doc/LectureNotes/_build/.doctrees/chapter6.doctree index 926b2d9c9..aaef2ed8c 100644 Binary files a/doc/LectureNotes/_build/.doctrees/chapter6.doctree and b/doc/LectureNotes/_build/.doctrees/chapter6.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/chapter7.doctree b/doc/LectureNotes/_build/.doctrees/chapter7.doctree index c27ff1e92..a350e223a 100644 Binary files a/doc/LectureNotes/_build/.doctrees/chapter7.doctree and b/doc/LectureNotes/_build/.doctrees/chapter7.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/chapter8.doctree b/doc/LectureNotes/_build/.doctrees/chapter8.doctree index 9b344d827..49ce8728c 100644 Binary files a/doc/LectureNotes/_build/.doctrees/chapter8.doctree and b/doc/LectureNotes/_build/.doctrees/chapter8.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/chapter9.doctree b/doc/LectureNotes/_build/.doctrees/chapter9.doctree index 09102cf80..bbb6e1ea3 100644 Binary files a/doc/LectureNotes/_build/.doctrees/chapter9.doctree and b/doc/LectureNotes/_build/.doctrees/chapter9.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/chapteroptimization.doctree b/doc/LectureNotes/_build/.doctrees/chapteroptimization.doctree index 639d50447..98ee6b3cb 100644 Binary files a/doc/LectureNotes/_build/.doctrees/chapteroptimization.doctree and b/doc/LectureNotes/_build/.doctrees/chapteroptimization.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/clustering.doctree b/doc/LectureNotes/_build/.doctrees/clustering.doctree index e2f6b1576..2286e96aa 100644 Binary files a/doc/LectureNotes/_build/.doctrees/clustering.doctree and b/doc/LectureNotes/_build/.doctrees/clustering.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/environment.pickle b/doc/LectureNotes/_build/.doctrees/environment.pickle index 366514268..ba536df2f 100644 Binary files a/doc/LectureNotes/_build/.doctrees/environment.pickle and b/doc/LectureNotes/_build/.doctrees/environment.pickle differ diff --git a/doc/LectureNotes/_build/.doctrees/intro.doctree b/doc/LectureNotes/_build/.doctrees/intro.doctree index 12542d32e..23676e4df 100644 Binary files a/doc/LectureNotes/_build/.doctrees/intro.doctree and b/doc/LectureNotes/_build/.doctrees/intro.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/linalg.doctree b/doc/LectureNotes/_build/.doctrees/linalg.doctree index 5af7c7c51..f6cea3ffb 100644 Binary files a/doc/LectureNotes/_build/.doctrees/linalg.doctree and b/doc/LectureNotes/_build/.doctrees/linalg.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/schedule.doctree b/doc/LectureNotes/_build/.doctrees/schedule.doctree index 6b4eb208a..631523e8a 100644 Binary files a/doc/LectureNotes/_build/.doctrees/schedule.doctree and b/doc/LectureNotes/_build/.doctrees/schedule.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/statistics.doctree b/doc/LectureNotes/_build/.doctrees/statistics.doctree index 69fad5cca..7280a9ac4 100644 Binary files a/doc/LectureNotes/_build/.doctrees/statistics.doctree and b/doc/LectureNotes/_build/.doctrees/statistics.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/teachers.doctree b/doc/LectureNotes/_build/.doctrees/teachers.doctree index 480062f27..6897fc9e0 100644 Binary files a/doc/LectureNotes/_build/.doctrees/teachers.doctree and b/doc/LectureNotes/_build/.doctrees/teachers.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/textbooks.doctree b/doc/LectureNotes/_build/.doctrees/textbooks.doctree index b31b7ac49..ba0cbe33c 100644 Binary files a/doc/LectureNotes/_build/.doctrees/textbooks.doctree and b/doc/LectureNotes/_build/.doctrees/textbooks.doctree differ diff --git a/doc/LectureNotes/_build/.doctrees/week34.doctree b/doc/LectureNotes/_build/.doctrees/week34.doctree index bf03a330f..158bcbbe2 100644 Binary files a/doc/LectureNotes/_build/.doctrees/week34.doctree and b/doc/LectureNotes/_build/.doctrees/week34.doctree differ diff --git a/doc/LectureNotes/_build/html/.buildinfo b/doc/LectureNotes/_build/html/.buildinfo index de0f04b1b..64aa33a7e 100644 --- a/doc/LectureNotes/_build/html/.buildinfo +++ b/doc/LectureNotes/_build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: df0f44224508e73349e3c83eb15891ee +config: 73ce6691cda151d4aabc9466268ebbb7 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/doc/LectureNotes/_build/html/E1.html b/doc/LectureNotes/_build/html/E1.html index a48d143a7..bc489613c 100644 --- a/doc/LectureNotes/_build/html/E1.html +++ b/doc/LectureNotes/_build/html/E1.html @@ -28,7 +28,7 @@ - + @@ -398,8 +398,8 @@ document.write(`

Coding Setup and Linear Regression#

Welcome to FYS-STK3155/4155!

-

In this first week will focus on getting you set up with the programs you are going to be using throughout this course. We expect that many of you will encounter some trouble with setting these programs up, as they can be extremely finnicky and prone to not working the same on all machines, so we strongly encourage you to not get discouraged, and to show up to the group-sessions where we can help you along. The group sessions are also the best place to find group partners for the projects and to be challenged on your understanding of the material, which are both essential to doing well in this course.

-

If you are unable to complete this weeks exercises, don’t worry, this will likely be the most frustrating week for many of you. You have time to get back on track next week, especially if you come to the group-sessions!

+

In this first week will focus on getting you set up with the programs you are going to be using throughout this course. We expect that many of you will encounter some trouble with setting these programs up, as they can be extremely finnicky and prone to not working the same on all machines, so we strongly encourage you to not get discouraged, and to show up to the group-sessions where we can help you along. The group sessions are also the best place to find group partners for the projects and to be challenged on your understanding of the material, which are both essential to doing well in this course. We strongly encourage you to form groups of 2-3 participants.

+

If you are unable to complete this weekss exercises, don’t worry, this will likely be the most frustrating week for many of you. You have time to get back on track next week, especially if you come to the group-sessions! Note also that this week’s set of exercises does not count for the additional score. The deadline for the weekly exercises is set to Fridays, at midnight.

Learning goals#

After completing these exercises, you will know how to

@@ -444,9 +444,9 @@ document.write(`

Exercise 3 - Setting up a Python virtual environment#

-

Following the theme of the previous exercises, another way of improving the reproducibility of your results and shareability of your code is having a good handle on which python packages you are using.

+

Following the themes from the previous exercises, another way of improving the reproducibility of your results and shareability of your code is having a good handle on which python packages you are using.

There are many ways to manage your packages in Python, and you are free to use any approach you want, but in this course we encourage you to use something called a virtual environment. A virtual environemnt is a folder in your project which contains a Python runtime executable as well as all the packages you are using in the current project. In this way, each of your projects has its required set of packages installed in the same folder, so that if anything goes wrong while managing your packages it only affects the one project, and if multiple projects require different versions of the same package, you don’t need to worry about messing up old projects. Also, it’s easy to just delete the folder and start over if anything goes wrong.

-

Virtual environments are typically created, activated, managed and updated using terminal commands, but for now we recommend that you let VS Code handle it for you to make the coding experience much easier. If you are familiar with another approach for virtual environments that works for you, feel free to keep doing it that way.

+

Virtual environments are typically created, activated, managed and updated using terminal commands, but for now we recommend that you let for example VS Code (a popular cross-paltform package) handle it for you to make the coding experience much easier. If you are familiar with another approach for virtual environments that works for you, feel free to keep doing it that way.

a) Open this notebook in VS Code (https://code.visualstudio.com/Download). Download the Python and Jupyter extensions.

b) Press ´Cmd + Shift + P´, then search and run ´Python: Create Environment…´

c) Select ´Venv´

@@ -461,16 +461,16 @@ document.write(`

Exercise 3 - Fitting an OLS model to data#

-

Great job on getting through all of that! Now it’s time to do some actual machine learning!

-

a) Complete the code below so that you fit a second order polynomial to the data. You will need to look up some skelarn documentation online (look at the imported functions for hints).

+

Great job on getting through all of that! Now it is time to do some actual machine learning!

+

a) Complete the code below so that you fit a second order polynomial to the data. You will need to look up some scikit-learn documentation online (look at the imported functions for hints).

b) Compute the mean square error for the line model and for the second degree polynomial model.

-
import numpy as np
-import matplotlib.pyplot as plt
-from sklearn.preprocessing import PolynomialFeatures # use the fit_transform method of the created object!
-from sklearn.linear_model import LinearRegression
-from sklearn.metrics import mean_squared_error
+
import numpy as np
+import matplotlib.pyplot as plt
+from sklearn.preprocessing import PolynomialFeatures # use the fit_transform method of the created object!
+from sklearn.linear_model import LinearRegression
+from sklearn.metrics import mean_squared_error
 
@@ -507,7 +507,7 @@ document.write(`

Hopefully your model fit the data quite well, but to know how well the model actually generalizes to unseen data, which is most often what we care about, we need to split our data into training and testing data.

-
from sklearn.model_selection import train_test_split
+
from sklearn.model_selection import train_test_split
 
diff --git a/doc/LectureNotes/_build/html/E2.html b/doc/LectureNotes/_build/html/E2.html index 378605a2f..2779ea6ca 100644 --- a/doc/LectureNotes/_build/html/E2.html +++ b/doc/LectureNotes/_build/html/E2.html @@ -28,7 +28,7 @@ - + @@ -502,7 +502,7 @@ f_i =\sum_{j=0}^{n-1}a_{ij}x_j,

We calculate the optimal intercept by including a feature with the constant value of 1 in our model, which is then multplied by some parameter \(\beta_0\) from the OLS method into the optimal intercept value (which will be \(\beta_0\)). In practice, we include the intercept in our model by adding a column of ones to the start of our feature matrix.

-
import numpy as np
+
import numpy as np
 
@@ -531,7 +531,7 @@ f_i =\sum_{j=0}^{n-1}a_{ij}x_j,

b) Use the expression from 3d) to find the optimal parameters \(\boldsymbol{\hat{\beta}_{OLS}}\) for predicting spending based on these features. Create a function for this operation, as you are going to need to use it a lot.

-
def OLS_parameters(X, y):
+
def OLS_parameters(X, y):
     return ...
 
 #beta = OLS_parameters(X, y)
@@ -556,7 +556,7 @@ f_i =\sum_{j=0}^{n-1}a_{ij}x_j,
 

a) Create a feature matrix \(\boldsymbol{X}\) for the features \(x, x^2, x^3, x^4, x^5\), including an intercept column of ones at the start. Make this into a function, as you will do this a lot over the next weeks.

-
def polynomial_features(x, p):
+
def polynomial_features(x, p):
     n = len(x)
     X = np.zeros((n, p + 1))
     #X[:, 0] = ...
@@ -580,7 +580,7 @@ f_i =\sum_{j=0}^{n-1}a_{ij}x_j,
 

c) Like in exercise 4 last week, split your feature matrix and target data into a training split and test split.

-
from sklearn.model_selection import train_test_split
+
from sklearn.model_selection import train_test_split
 
 #X_train, X_test, y_train, y_test = ...
 
diff --git a/doc/LectureNotes/_build/html/_images/1b1c59fe24a1c61677966d3734d014c13848c51a6e194c77783efd4db527d26b.png b/doc/LectureNotes/_build/html/_images/1b1c59fe24a1c61677966d3734d014c13848c51a6e194c77783efd4db527d26b.png new file mode 100644 index 000000000..9d514d820 Binary files /dev/null and b/doc/LectureNotes/_build/html/_images/1b1c59fe24a1c61677966d3734d014c13848c51a6e194c77783efd4db527d26b.png differ diff --git a/doc/LectureNotes/_build/html/_images/df7b764b543c6e41eeaa5ee2d1d6e85e9f6c059c7cab9b3fc7a2f38d7dfb90ec.png b/doc/LectureNotes/_build/html/_images/df7b764b543c6e41eeaa5ee2d1d6e85e9f6c059c7cab9b3fc7a2f38d7dfb90ec.png new file mode 100644 index 000000000..534c3ffd4 Binary files /dev/null and b/doc/LectureNotes/_build/html/_images/df7b764b543c6e41eeaa5ee2d1d6e85e9f6c059c7cab9b3fc7a2f38d7dfb90ec.png differ diff --git a/doc/LectureNotes/_build/html/_sources/E1.ipynb b/doc/LectureNotes/_build/html/_sources/E1.ipynb index 8fb96d5b1..1fa343a6e 100644 --- a/doc/LectureNotes/_build/html/_sources/E1.ipynb +++ b/doc/LectureNotes/_build/html/_sources/E1.ipynb @@ -17,9 +17,9 @@ "source": [ "Welcome to FYS-STK3155/4155!\n", "\n", - "In this first week will focus on getting you set up with the programs you are going to be using throughout this course. We expect that many of you will encounter some trouble with setting these programs up, as they can be extremely finnicky and prone to not working the same on all machines, so we strongly encourage you to not get discouraged, and to show up to the group-sessions where we can help you along. The group sessions are also the best place to find group partners for the projects and to be challenged on your understanding of the material, which are both essential to doing well in this course.\n", + "In this first week will focus on getting you set up with the programs you are going to be using throughout this course. We expect that many of you will encounter some trouble with setting these programs up, as they can be extremely finnicky and prone to not working the same on all machines, so we strongly encourage you to not get discouraged, and to show up to the group-sessions where we can help you along. The group sessions are also the best place to find group partners for the projects and to be challenged on your understanding of the material, which are both essential to doing well in this course. We strongly encourage you to form groups of 2-3 participants. \n", "\n", - "If you are unable to complete this weeks exercises, don't worry, this will likely be the most frustrating week for many of you. You have time to get back on track next week, especially if you come to the group-sessions!" + "If you are unable to complete this weekss exercises, don't worry, this will likely be the most frustrating week for many of you. You have time to get back on track next week, especially if you come to the group-sessions! Note also that this week's set of exercises does not count for the additional score. The deadline for the weekly exercises is set to Fridays, at midnight." ] }, { @@ -121,11 +121,11 @@ "id": "b5a4818a", "metadata": {}, "source": [ - "Following the theme of the previous exercises, another way of improving the reproducibility of your results and shareability of your code is having a good handle on which python packages you are using.\n", + "Following the themes from the previous exercises, another way of improving the reproducibility of your results and shareability of your code is having a good handle on which python packages you are using.\n", "\n", "There are many ways to manage your packages in Python, and you are free to use any approach you want, but in this course we encourage you to use something called a virtual environment. A virtual environemnt is a folder in your project which contains a Python runtime executable as well as all the packages you are using in the current project. In this way, each of your projects has its required set of packages installed in the same folder, so that if anything goes wrong while managing your packages it only affects the one project, and if multiple projects require different versions of the same package, you don't need to worry about messing up old projects. Also, it's easy to just delete the folder and start over if anything goes wrong.\n", "\n", - "Virtual environments are typically created, activated, managed and updated using terminal commands, but for now we recommend that you let VS Code handle it for you to make the coding experience much easier. If you are familiar with another approach for virtual environments that works for you, feel free to keep doing it that way.\n" + "Virtual environments are typically created, activated, managed and updated using terminal commands, but for now we recommend that you let for example VS Code (a popular cross-paltform package) handle it for you to make the coding experience much easier. If you are familiar with another approach for virtual environments that works for you, feel free to keep doing it that way.\n" ] }, { @@ -169,9 +169,9 @@ "id": "d19ebd67", "metadata": {}, "source": [ - "Great job on getting through all of that! Now it's time to do some actual machine learning!\n", + "Great job on getting through all of that! Now it is time to do some actual machine learning!\n", "\n", - "**a)** Complete the code below so that you fit a second order polynomial to the data. You will need to look up some skelarn documentation online (look at the imported functions for hints).\n", + "**a)** Complete the code below so that you fit a second order polynomial to the data. You will need to look up some scikit-learn documentation online (look at the imported functions for hints).\n", "\n", "**b)** Compute the mean square error for the line model and for the second degree polynomial model." ] @@ -291,7 +291,7 @@ ], "metadata": { "kernelspec": { - "display_name": ".venv", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -305,7 +305,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.0" + "version": "3.9.15" } }, "nbformat": 4, diff --git a/doc/LectureNotes/_build/html/_sources/week34.ipynb b/doc/LectureNotes/_build/html/_sources/week34.ipynb index 3cfce8227..95856e1b9 100644 --- a/doc/LectureNotes/_build/html/_sources/week34.ipynb +++ b/doc/LectureNotes/_build/html/_sources/week34.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "979adae7", + "id": "3b47d5e6", "metadata": { "editable": true }, @@ -14,20 +14,20 @@ }, { "cell_type": "markdown", - "id": "8633fe77", + "id": "5f010738", "metadata": { "editable": true }, "source": [ "# Week 34: Introduction to the course, Logistics and Practicalities\n", - "**Morten Hjorth-Jensen**, Department of Physics and Center for Computing in Science Education, University of Oslo, Norway and Department of Physics and Astronomy and Facility for Rare Isotope Beams, Michigan State University, USA\n", + "**Morten Hjorth-Jensen**, Department of Physics and Center for Computing in Science Education, University of Oslo, Norway\n", "\n", "Date: **Week 34, August 18-22, 2025**" ] }, { "cell_type": "markdown", - "id": "f5aedced", + "id": "9821466c", "metadata": { "editable": true }, @@ -47,12 +47,12 @@ "4. On Mondays we have a regular lecture which will be organized as a mix of active learning sessions and regular lectures. These lectures/active learning sessions start at 215pm and end at 4pm and serve the aims of giving an overview over various topics as well as solving specific problems. These lectures will also be recorded. Lectures can be attended in person or via zoom at \n", "\n", "\n", - "The labs are also available till 6pm Tuesdays and Wednesdays. Videos and learning material with reading suggestions will be made available before each week starts." + "Videos and learning material with reading suggestions will be made available before each week starts." ] }, { "cell_type": "markdown", - "id": "65687a0a", + "id": "d635526f", "metadata": { "editable": true }, @@ -68,7 +68,7 @@ }, { "cell_type": "markdown", - "id": "8158a8bd", + "id": "46d1ebd2", "metadata": { "editable": true }, @@ -92,7 +92,7 @@ }, { "cell_type": "markdown", - "id": "eaf742bd", + "id": "722a1812", "metadata": { "editable": true }, @@ -100,13 +100,12 @@ "## Communication channels\n", "\n", "* Communications (email and more) via \n", - "\n", - "* **Discord** channel at " + "" ] }, { "cell_type": "markdown", - "id": "45a6ff43", + "id": "8724a41b", "metadata": { "editable": true }, @@ -128,7 +127,7 @@ }, { "cell_type": "markdown", - "id": "c300d482", + "id": "a74065a9", "metadata": { "editable": true }, @@ -145,7 +144,7 @@ "\n", "* Ida Torkjellsdatter Storehaug, i.t.storehaug@fys.uio.no\n", "\n", - "* Eivind Støland, eivinsto@fys.uio.no\n", + "* Oskar Leinonen, oskarlei@fys.uio.no\n", "\n", "* Mia-Katrin Ose Kvalsund, m.k.o.kvalsund@fys.uio.no\n", "\n", @@ -158,7 +157,7 @@ }, { "cell_type": "markdown", - "id": "fd3a6260", + "id": "cb3519d1", "metadata": { "editable": true }, @@ -176,7 +175,7 @@ }, { "cell_type": "markdown", - "id": "e80af7f8", + "id": "f46e4ab5", "metadata": { "editable": true }, @@ -204,7 +203,7 @@ }, { "cell_type": "markdown", - "id": "e22092c9", + "id": "18134f7b", "metadata": { "editable": true }, @@ -212,7 +211,6 @@ "## Reading material\n", "\n", "The lecture notes are collected as a jupyter-book at .\n", - "The lecture notes can also be retrieved as a standard PDF file at .\n", "\n", "In addition to the lecture notes, we recommend the books of Rasckha et\n", "al and Goodfellow et al. We will follow these texts closely and the\n", @@ -222,7 +220,7 @@ }, { "cell_type": "markdown", - "id": "fa3c5061", + "id": "6e4b2cb4", "metadata": { "editable": true }, @@ -239,7 +237,7 @@ }, { "cell_type": "markdown", - "id": "181a2397", + "id": "2dc04ba4", "metadata": { "editable": true }, @@ -263,7 +261,7 @@ }, { "cell_type": "markdown", - "id": "a3372402", + "id": "b9d7446a", "metadata": { "editable": true }, @@ -275,7 +273,7 @@ }, { "cell_type": "markdown", - "id": "b503163b", + "id": "0ac913df", "metadata": { "editable": true }, @@ -295,7 +293,7 @@ }, { "cell_type": "markdown", - "id": "b0ffa258", + "id": "fe4f142d", "metadata": { "editable": true }, @@ -313,7 +311,7 @@ }, { "cell_type": "markdown", - "id": "453acc2e", + "id": "82a26310", "metadata": { "editable": true }, @@ -338,7 +336,7 @@ }, { "cell_type": "markdown", - "id": "06077096", + "id": "5d97a91f", "metadata": { "editable": true }, @@ -360,7 +358,7 @@ }, { "cell_type": "markdown", - "id": "95da0c2e", + "id": "0af85fa1", "metadata": { "editable": true }, @@ -384,7 +382,7 @@ }, { "cell_type": "markdown", - "id": "f2e0c08c", + "id": "ca1c0d4b", "metadata": { "editable": true }, @@ -400,7 +398,7 @@ }, { "cell_type": "markdown", - "id": "4bf74b73", + "id": "5e3a4194", "metadata": { "editable": true }, @@ -422,7 +420,7 @@ }, { "cell_type": "markdown", - "id": "3b01a974", + "id": "44fe97f3", "metadata": { "editable": true }, @@ -440,7 +438,7 @@ }, { "cell_type": "markdown", - "id": "a3c95fad", + "id": "3fd61872", "metadata": { "editable": true }, @@ -470,7 +468,7 @@ }, { "cell_type": "markdown", - "id": "e3187f17", + "id": "50148149", "metadata": { "editable": true }, @@ -499,7 +497,7 @@ }, { "cell_type": "markdown", - "id": "4b457259", + "id": "12bc5144", "metadata": { "editable": true }, @@ -517,7 +515,7 @@ }, { "cell_type": "markdown", - "id": "45929c28", + "id": "25428d4e", "metadata": { "editable": true }, @@ -529,7 +527,120 @@ }, { "cell_type": "markdown", - "id": "1d7ebfe3", + "id": "2efac50e", + "metadata": { + "editable": true + }, + "source": [ + "## The plethora of machine learning algorithms/methods\n", + "\n", + "1. Deep learning: Neural Networks (NNs), Convolutional NNs, Recurrent NNs, Transformers, Boltzmann machines, autoencoders and variational autoencoders and generative adversarial networks and other generative models \n", + "\n", + "2. Bayesian statistics and Bayesian Machine Learning, Bayesian experimental design, Bayesian Regression models, Bayesian neural networks, Gaussian processes and much more\n", + "\n", + "3. Dimensionality reduction (Principal component analysis), Clustering Methods and more\n", + "\n", + "4. Ensemble Methods, Random forests, bagging and voting methods, gradient boosting approaches \n", + "\n", + "5. Linear and logistic regression, Kernel methods, support vector machines and more\n", + "\n", + "6. Reinforcement Learning; Transfer Learning and more" + ] + }, + { + "cell_type": "markdown", + "id": "dfd0c6a0", + "metadata": { + "editable": true + }, + "source": [ + "## What Is Generative Modeling?\n", + "\n", + "Generative modeling can be broadly defined as follows:\n", + "\n", + "Generative modeling is a branch of machine learning that involves\n", + "training a model to produce new data that is similar to a given\n", + "dataset.\n", + "\n", + "What does this mean in practice? Suppose we have a dataset containing\n", + "photos of horses. We can train a generative model on this dataset to\n", + "capture the rules that govern the complex relationships between pixels\n", + "in images of horses. Then we can sample from this model to create\n", + "novel, realistic images of horses that did not exist in the original\n", + "dataset." + ] + }, + { + "cell_type": "markdown", + "id": "f92f8d35", + "metadata": { + "editable": true + }, + "source": [ + "## Example of generative modeling, [taken from Generative Deep Learning by David Foster](https://www.oreilly.com/library/view/generative-deep-learning/9781098134174/ch01.html)\n", + "\n", + "\n", + "\n", + "\n", + "

Figure 1:

\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "174d6e96", + "metadata": { + "editable": true + }, + "source": [ + "## Generative Versus Discriminative Modeling\n", + "\n", + "In order to truly understand what generative modeling aims to achieve\n", + "and why this is important, it is useful to compare it to its\n", + "counterpart, discriminative modeling. If you have studied machine\n", + "learning, most problems you will have faced will have most likely been\n", + "discriminative in nature." + ] + }, + { + "cell_type": "markdown", + "id": "0fcac42b", + "metadata": { + "editable": true + }, + "source": [ + "## Example of discriminative modeling, [taken from Generative Deeep Learning by David Foster](https://www.oreilly.com/library/view/generative-deep-learning/9781098134174/ch01.html)\n", + "\n", + "\n", + "\n", + "\n", + "

Figure 1:

\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "a8942d9a", + "metadata": { + "editable": true + }, + "source": [ + "## Discriminative Modeling\n", + "\n", + "When performing discriminative modeling, each observation in the\n", + "training data has a label. For a binary classification problem such as\n", + "our data could be labeled as ones and zeros. Our model then learns how to\n", + "discriminate between these two groups and outputs the probability that\n", + "a new observation has label 1 or 0\n", + "\n", + "In contrast, generative modeling doesn’t require the dataset to be\n", + "labeled because it concerns itself with generating entirely new\n", + "data (for example an image), rather than trying to predict a label for say a given image." + ] + }, + { + "cell_type": "markdown", + "id": "a28ea0e4", "metadata": { "editable": true }, @@ -564,7 +675,7 @@ }, { "cell_type": "markdown", - "id": "19b3d103", + "id": "d3260f00", "metadata": { "editable": true }, @@ -594,7 +705,7 @@ }, { "cell_type": "markdown", - "id": "b99a3a54", + "id": "4ac16500", "metadata": { "editable": true }, @@ -625,7 +736,7 @@ }, { "cell_type": "markdown", - "id": "818b50d1", + "id": "825ca09e", "metadata": { "editable": true }, @@ -664,7 +775,7 @@ }, { "cell_type": "markdown", - "id": "0175e19e", + "id": "40bd0bf2", "metadata": { "editable": true }, @@ -697,7 +808,7 @@ }, { "cell_type": "markdown", - "id": "3d00802d", + "id": "a356fdf0", "metadata": { "editable": true }, @@ -734,7 +845,7 @@ }, { "cell_type": "markdown", - "id": "f6055722", + "id": "a9730b8a", "metadata": { "editable": true }, @@ -758,7 +869,7 @@ }, { "cell_type": "markdown", - "id": "a7dda28a", + "id": "8f967a6a", "metadata": { "editable": true }, @@ -785,7 +896,7 @@ }, { "cell_type": "markdown", - "id": "3edc4759", + "id": "76e167a3", "metadata": { "editable": true }, @@ -795,7 +906,7 @@ }, { "cell_type": "markdown", - "id": "6aaf2651", + "id": "94a3c420", "metadata": { "editable": true }, @@ -807,7 +918,7 @@ }, { "cell_type": "markdown", - "id": "9a808554", + "id": "c6ff6b6b", "metadata": { "editable": true }, @@ -828,7 +939,7 @@ }, { "cell_type": "markdown", - "id": "3aaff803", + "id": "55dbb002", "metadata": { "editable": true }, @@ -840,10 +951,13 @@ { "cell_type": "code", "execution_count": 1, - "id": "2b744797", + "id": "655878bd", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -852,7 +966,7 @@ }, { "cell_type": "markdown", - "id": "d16df40b", + "id": "914fa12c", "metadata": { "editable": true }, @@ -863,10 +977,13 @@ { "cell_type": "code", "execution_count": 2, - "id": "ca7e19a0", + "id": "a0cfca17", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -877,7 +994,7 @@ }, { "cell_type": "markdown", - "id": "a4ffa173", + "id": "342c0109", "metadata": { "editable": true }, @@ -889,10 +1006,13 @@ { "cell_type": "code", "execution_count": 3, - "id": "392e8374", + "id": "d09ad51a", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -903,7 +1023,7 @@ }, { "cell_type": "markdown", - "id": "d67ee9d4", + "id": "be9009bc", "metadata": { "editable": true }, @@ -915,10 +1035,13 @@ { "cell_type": "code", "execution_count": 4, - "id": "82b17f43", + "id": "19dfe7ab", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -929,7 +1052,7 @@ }, { "cell_type": "markdown", - "id": "d1cddef1", + "id": "5c78e90e", "metadata": { "editable": true }, @@ -946,10 +1069,13 @@ { "cell_type": "code", "execution_count": 5, - "id": "9fd9561b", + "id": "48603a4c", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -963,7 +1089,7 @@ }, { "cell_type": "markdown", - "id": "e65981a4", + "id": "db5cfa34", "metadata": { "editable": true }, @@ -975,10 +1101,13 @@ { "cell_type": "code", "execution_count": 6, - "id": "e45344f8", + "id": "1c252e6c", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -989,7 +1118,7 @@ }, { "cell_type": "markdown", - "id": "83b6fb19", + "id": "375afb81", "metadata": { "editable": true }, @@ -1000,10 +1129,13 @@ { "cell_type": "code", "execution_count": 7, - "id": "7c46aafb", + "id": "4c87de99", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1014,7 +1146,7 @@ }, { "cell_type": "markdown", - "id": "1d4bacf7", + "id": "afff17c8", "metadata": { "editable": true }, @@ -1025,10 +1157,13 @@ { "cell_type": "code", "execution_count": 8, - "id": "ecdd2257", + "id": "d5827065", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1039,7 +1174,7 @@ }, { "cell_type": "markdown", - "id": "8921dc43", + "id": "83e054e8", "metadata": { "editable": true }, @@ -1054,10 +1189,13 @@ { "cell_type": "code", "execution_count": 9, - "id": "e5e9ed25", + "id": "0cd4400a", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1068,7 +1206,7 @@ }, { "cell_type": "markdown", - "id": "b0b8f0f3", + "id": "c2868228", "metadata": { "editable": true }, @@ -1079,10 +1217,13 @@ { "cell_type": "code", "execution_count": 10, - "id": "5b19dd20", + "id": "6e7ef557", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1094,7 +1235,7 @@ }, { "cell_type": "markdown", - "id": "52ab0ad2", + "id": "47391e12", "metadata": { "editable": true }, @@ -1105,10 +1246,13 @@ { "cell_type": "code", "execution_count": 11, - "id": "1da55c7d", + "id": "a9457054", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1120,7 +1264,7 @@ }, { "cell_type": "markdown", - "id": "e5fd5313", + "id": "a04c51eb", "metadata": { "editable": true }, @@ -1131,10 +1275,13 @@ { "cell_type": "code", "execution_count": 12, - "id": "275bd5d9", + "id": "43e1f145", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1147,7 +1294,7 @@ }, { "cell_type": "markdown", - "id": "097ce17d", + "id": "e11ea608", "metadata": { "editable": true }, @@ -1158,10 +1305,13 @@ { "cell_type": "code", "execution_count": 13, - "id": "11e3a8bc", + "id": "ed021bcf", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1174,7 +1324,7 @@ }, { "cell_type": "markdown", - "id": "7ea6636c", + "id": "7cf97a5d", "metadata": { "editable": true }, @@ -1185,10 +1335,13 @@ { "cell_type": "code", "execution_count": 14, - "id": "66d75bf2", + "id": "0dd77598", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1201,7 +1354,7 @@ }, { "cell_type": "markdown", - "id": "4b3e8313", + "id": "a27628a3", "metadata": { "editable": true }, @@ -1213,7 +1366,7 @@ }, { "cell_type": "markdown", - "id": "dc018790", + "id": "80585c1d", "metadata": { "editable": true }, @@ -1228,7 +1381,7 @@ }, { "cell_type": "markdown", - "id": "dc5d3a5b", + "id": "74725f56", "metadata": { "editable": true }, @@ -1238,7 +1391,7 @@ }, { "cell_type": "markdown", - "id": "fe7b9f8a", + "id": "fd223a73", "metadata": { "editable": true }, @@ -1250,7 +1403,7 @@ }, { "cell_type": "markdown", - "id": "15509c45", + "id": "40dfa247", "metadata": { "editable": true }, @@ -1261,7 +1414,7 @@ }, { "cell_type": "markdown", - "id": "9cdca3f8", + "id": "56e47db3", "metadata": { "editable": true }, @@ -1276,7 +1429,7 @@ }, { "cell_type": "markdown", - "id": "40b90d33", + "id": "26251aec", "metadata": { "editable": true }, @@ -1291,10 +1444,13 @@ { "cell_type": "code", "execution_count": 15, - "id": "64281b2f", + "id": "dab44ca5", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1318,10 +1474,13 @@ { "cell_type": "code", "execution_count": 16, - "id": "d4d6a1b0", + "id": "58c875cb", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1342,7 +1501,7 @@ }, { "cell_type": "markdown", - "id": "50f21569", + "id": "8d735077", "metadata": { "editable": true }, @@ -1368,10 +1527,13 @@ { "cell_type": "code", "execution_count": 17, - "id": "10103884", + "id": "d60ac131", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1388,7 +1550,7 @@ }, { "cell_type": "markdown", - "id": "3990cca7", + "id": "06e4b620", "metadata": { "editable": true }, @@ -1402,10 +1564,13 @@ { "cell_type": "code", "execution_count": 18, - "id": "47ebeef5", + "id": "2174392e", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1415,7 +1580,7 @@ }, { "cell_type": "markdown", - "id": "299cc2c4", + "id": "72c17dd0", "metadata": { "editable": true }, @@ -1426,10 +1591,13 @@ { "cell_type": "code", "execution_count": 19, - "id": "51baa9c8", + "id": "7612f9de", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1438,7 +1606,7 @@ }, { "cell_type": "markdown", - "id": "655bcb98", + "id": "242d4c4b", "metadata": { "editable": true }, @@ -1449,10 +1617,13 @@ { "cell_type": "code", "execution_count": 20, - "id": "d8fdd044", + "id": "0171d1ad", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1467,7 +1638,7 @@ }, { "cell_type": "markdown", - "id": "71020408", + "id": "e5232bfb", "metadata": { "editable": true }, @@ -1479,10 +1650,13 @@ { "cell_type": "code", "execution_count": 21, - "id": "40e85898", + "id": "cb2ab622", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1503,7 +1677,7 @@ }, { "cell_type": "markdown", - "id": "17916732", + "id": "1998bc9c", "metadata": { "editable": true }, @@ -1514,10 +1688,13 @@ { "cell_type": "code", "execution_count": 22, - "id": "6777a5ca", + "id": "e0ec9915", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1543,7 +1720,7 @@ }, { "cell_type": "markdown", - "id": "5a287b2f", + "id": "ebe44ad1", "metadata": { "editable": true }, @@ -1554,10 +1731,13 @@ { "cell_type": "code", "execution_count": 23, - "id": "1ddaa65f", + "id": "6f6d21e6", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1569,7 +1749,7 @@ }, { "cell_type": "markdown", - "id": "168e89c6", + "id": "2f97c531", "metadata": { "editable": true }, @@ -1586,7 +1766,7 @@ }, { "cell_type": "markdown", - "id": "55c409ea", + "id": "36a57ec4", "metadata": { "editable": true }, @@ -1598,7 +1778,7 @@ }, { "cell_type": "markdown", - "id": "d76cbf09", + "id": "ca69e9e9", "metadata": { "editable": true }, @@ -1629,7 +1809,7 @@ }, { "cell_type": "markdown", - "id": "b93b0623", + "id": "b4bc6d8a", "metadata": { "editable": true }, @@ -1641,7 +1821,7 @@ }, { "cell_type": "markdown", - "id": "e17a71b0", + "id": "dd9f61d0", "metadata": { "editable": true }, @@ -1669,10 +1849,13 @@ { "cell_type": "code", "execution_count": 24, - "id": "dfe41150", + "id": "81d8ecc3", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1699,7 +1882,7 @@ }, { "cell_type": "markdown", - "id": "b52f5d8d", + "id": "b9f8b0e5", "metadata": { "editable": true }, @@ -1716,7 +1899,7 @@ }, { "cell_type": "markdown", - "id": "a9156630", + "id": "37a6973d", "metadata": { "editable": true }, @@ -1728,7 +1911,7 @@ }, { "cell_type": "markdown", - "id": "62e417e1", + "id": "3b1616dd", "metadata": { "editable": true }, @@ -1749,7 +1932,7 @@ }, { "cell_type": "markdown", - "id": "ccec5178", + "id": "02f59dce", "metadata": { "editable": true }, @@ -1762,7 +1945,7 @@ }, { "cell_type": "markdown", - "id": "425070dc", + "id": "37a3928f", "metadata": { "editable": true }, @@ -1793,7 +1976,7 @@ }, { "cell_type": "markdown", - "id": "2edf45e9", + "id": "8ced1c75", "metadata": { "editable": true }, @@ -1805,7 +1988,7 @@ }, { "cell_type": "markdown", - "id": "612ca706", + "id": "2b2c7527", "metadata": { "editable": true }, @@ -1823,10 +2006,13 @@ { "cell_type": "code", "execution_count": 25, - "id": "dd986ace", + "id": "dcc4e935", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1850,7 +2036,7 @@ }, { "cell_type": "markdown", - "id": "89d85e64", + "id": "ef0a62d7", "metadata": { "editable": true }, @@ -1872,10 +2058,13 @@ { "cell_type": "code", "execution_count": 26, - "id": "8081e936", + "id": "e2a9bb21", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1910,7 +2099,7 @@ }, { "cell_type": "markdown", - "id": "f1e3c321", + "id": "a6eca083", "metadata": { "editable": true }, @@ -1921,7 +2110,7 @@ }, { "cell_type": "markdown", - "id": "792c1ee4", + "id": "c940fd70", "metadata": { "editable": true }, @@ -1934,7 +2123,7 @@ }, { "cell_type": "markdown", - "id": "5c1e37f0", + "id": "7b1317ef", "metadata": { "editable": true }, @@ -1955,7 +2144,7 @@ }, { "cell_type": "markdown", - "id": "6123cd00", + "id": "3895d32d", "metadata": { "editable": true }, @@ -1967,7 +2156,7 @@ }, { "cell_type": "markdown", - "id": "32bcc180", + "id": "b88937a4", "metadata": { "editable": true }, @@ -1977,7 +2166,7 @@ }, { "cell_type": "markdown", - "id": "8762842f", + "id": "7d62abca", "metadata": { "editable": true }, @@ -1989,7 +2178,7 @@ }, { "cell_type": "markdown", - "id": "3ef8f1ba", + "id": "903ee760", "metadata": { "editable": true }, @@ -2001,7 +2190,7 @@ }, { "cell_type": "markdown", - "id": "80687bf2", + "id": "ef89ae2c", "metadata": { "editable": true }, @@ -2013,7 +2202,7 @@ }, { "cell_type": "markdown", - "id": "5178986a", + "id": "924ac782", "metadata": { "editable": true }, @@ -2024,7 +2213,7 @@ }, { "cell_type": "markdown", - "id": "a606b344", + "id": "50053e83", "metadata": { "editable": true }, @@ -2036,7 +2225,7 @@ }, { "cell_type": "markdown", - "id": "f1245534", + "id": "dc7df77b", "metadata": { "editable": true }, @@ -2058,7 +2247,7 @@ }, { "cell_type": "markdown", - "id": "6756ee38", + "id": "7fe669ae", "metadata": { "editable": true }, @@ -2070,7 +2259,7 @@ }, { "cell_type": "markdown", - "id": "ad39c050", + "id": "28ceb188", "metadata": { "editable": true }, @@ -2083,7 +2272,7 @@ }, { "cell_type": "markdown", - "id": "f6054ddf", + "id": "d89d075b", "metadata": { "editable": true }, @@ -2100,7 +2289,7 @@ }, { "cell_type": "markdown", - "id": "d03f667c", + "id": "b3816234", "metadata": { "editable": true }, @@ -2112,7 +2301,7 @@ }, { "cell_type": "markdown", - "id": "518bcb08", + "id": "ddf946bd", "metadata": { "editable": true }, @@ -2122,7 +2311,7 @@ }, { "cell_type": "markdown", - "id": "0635d5cd", + "id": "ec48e2fd", "metadata": { "editable": true }, @@ -2134,7 +2323,7 @@ }, { "cell_type": "markdown", - "id": "c1d7a3cd", + "id": "462f1772", "metadata": { "editable": true }, @@ -2144,7 +2333,7 @@ }, { "cell_type": "markdown", - "id": "d2660c5e", + "id": "dabcb01d", "metadata": { "editable": true }, @@ -2156,7 +2345,7 @@ }, { "cell_type": "markdown", - "id": "182265a8", + "id": "be2a6bd1", "metadata": { "editable": true }, @@ -2166,7 +2355,7 @@ }, { "cell_type": "markdown", - "id": "772a58af", + "id": "eb37d8f8", "metadata": { "editable": true }, @@ -2178,7 +2367,7 @@ }, { "cell_type": "markdown", - "id": "3508a834", + "id": "de325e18", "metadata": { "editable": true }, @@ -2194,7 +2383,7 @@ }, { "cell_type": "markdown", - "id": "96325fda", + "id": "2c68a0c1", "metadata": { "editable": true }, @@ -2206,7 +2395,7 @@ }, { "cell_type": "markdown", - "id": "96c82c1a", + "id": "f3492a4b", "metadata": { "editable": true }, @@ -2217,7 +2406,7 @@ }, { "cell_type": "markdown", - "id": "deb6168e", + "id": "207b9ead", "metadata": { "editable": true }, @@ -2229,7 +2418,7 @@ }, { "cell_type": "markdown", - "id": "5bb99d4a", + "id": "d74c7ddc", "metadata": { "editable": true }, @@ -2243,7 +2432,7 @@ }, { "cell_type": "markdown", - "id": "b39decf8", + "id": "a02ea08c", "metadata": { "editable": true }, @@ -2255,7 +2444,7 @@ }, { "cell_type": "markdown", - "id": "38d7d2b4", + "id": "b9863119", "metadata": { "editable": true }, @@ -2280,7 +2469,7 @@ }, { "cell_type": "markdown", - "id": "af19868f", + "id": "92ca8aa6", "metadata": { "editable": true }, @@ -2296,11 +2485,14 @@ }, { "cell_type": "code", - "execution_count": 27, - "id": "7fe422c5", + "execution_count": 37, + "id": "32b99126", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -2341,40 +2533,7 @@ }, { "cell_type": "markdown", - "id": "99df6e7e", - "metadata": { - "editable": true - }, - "source": [ - "Before we proceed, we define also a function for making our plots. You can obviously avoid this and simply set up various **matplotlib** commands every time you need them. You may however find it convenient to collect all such commands in one function and simply call this function." - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "108a6ae5", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], - "source": [ - "from pylab import plt, mpl\n", - "plt.style.use('seaborn')\n", - "mpl.rcParams['font.family'] = 'serif'\n", - "\n", - "def MakePlot(x,y, styles, labels, axlabels):\n", - " plt.figure(figsize=(10,6))\n", - " for i in range(len(x)):\n", - " plt.plot(x[i], y[i], styles[i], label = labels[i])\n", - " plt.xlabel(axlabels[0])\n", - " plt.ylabel(axlabels[1])\n", - " plt.legend(loc=0)" - ] - }, - { - "cell_type": "markdown", - "id": "aa8a4dc8", + "id": "185af862", "metadata": { "editable": true }, @@ -2390,11 +2549,14 @@ }, { "cell_type": "code", - "execution_count": 29, - "id": "edab8db3", + "execution_count": 28, + "id": "2ae9db3d", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -2412,7 +2574,7 @@ }, { "cell_type": "markdown", - "id": "21591a7e", + "id": "1ade787b", "metadata": { "editable": true }, @@ -2425,11 +2587,14 @@ }, { "cell_type": "code", - "execution_count": 30, - "id": "8aeadbc7", + "execution_count": 38, + "id": "e0d18716", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -2455,7 +2620,7 @@ }, { "cell_type": "markdown", - "id": "e1a37d0b", + "id": "bd819c63", "metadata": { "editable": true }, @@ -2474,13 +2639,38 @@ }, { "cell_type": "code", - "execution_count": 31, - "id": "49aee0ba", + "execution_count": 39, + "id": "fc0346bc", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " N Z A Element Ebinding\n", + "A \n", + "4 0 1 3 4 Li 1.153760\n", + "5 2 3 2 5 He 5.512132\n", + "6 7 3 3 6 Li 5.332331\n", + "7 12 4 3 7 Li 5.606439\n", + "8 17 4 4 8 Be 7.062435\n", + "... ... ... ... ... ...\n", + "264 3297 156 108 264 Hs 7.298375\n", + "265 3303 157 108 265 Hs 7.296247\n", + "266 3310 158 108 266 Hs 7.298273\n", + "269 3331 159 110 269 Ds 7.250154\n", + "270 3337 160 110 270 Ds 7.253775\n", + "\n", + "[264 rows x 5 columns]\n" + ] + } + ], "source": [ "A = Masses['A']\n", "Z = Masses['Z']\n", @@ -2492,7 +2682,7 @@ }, { "cell_type": "markdown", - "id": "657512ac", + "id": "4f70ca63", "metadata": { "editable": true }, @@ -2503,11 +2693,14 @@ }, { "cell_type": "code", - "execution_count": 32, - "id": "ad457deb", + "execution_count": 40, + "id": "d56956d6", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -2522,7 +2715,7 @@ }, { "cell_type": "markdown", - "id": "66f4ef44", + "id": "0b3df36c", "metadata": { "editable": true }, @@ -2532,11 +2725,14 @@ }, { "cell_type": "code", - "execution_count": 33, - "id": "095e7209", + "execution_count": 41, + "id": "d10ecf29", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -2546,7 +2742,7 @@ }, { "cell_type": "markdown", - "id": "fc0ede55", + "id": "2289c78e", "metadata": { "editable": true }, @@ -2557,13 +2753,38 @@ }, { "cell_type": "code", - "execution_count": 34, - "id": "3e6f4c32", + "execution_count": 42, + "id": "286afac2", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean squared error: 0.02\n", + "Variance score: 0.95\n", + "Mean absolute error: 0.05\n", + "[ 0.00000000e+00 -2.96611194e-02 2.01719003e-01 1.08078025e+01\n", + " -4.03097597e+01] 5.294399745619595\n" + ] + }, + { + "data": { + "image/png": "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lZX47W9/i8WLF+Piiy/GCy+8gGg0OljtzHk9e2IcDDFERESDrt9LrD0eDy644AI8++yzWLFiBS699FLs2LEDS5cuxUknnYRly5bhs88+G4y25jRT7+6JYYghIiIafAPaJ2bixIlYunQp3n77bTz44IM47rjjsHz5cnz9618/4BDHoc7oMZzkdDLEEBERDba0bHanqipOO+00/Pd//zcuuugiAMDWrVvTceu8Yek9hpMYYoiIiAbdgD9tTdPEm2++ieXLl2PVqlUwDAOTJ0/Geeedl4725Q3TjK/WkoqANsxPFSUiIsqElEPMli1bsHz5crz44otobW2Fx+PBeeedh/POOw8zZsxIZxvzgtV1AJcQUBWR3cYQERENA/0KMYFAAC+99BKWL1+OdevWAQDmzp2L8847D2eccQYcDsegNDIfWJ09MRCAwhBDREQ06PoVYk466STEYjGUl5fjiiuu4B4xnSxLQlqdPTEKe2KIiIgyoV8hZv78+TjvvPNwyimnQFE476OLaViQXaNJioAQDDFERESDrV8h5oEHHjjgWkdHB9asWYPW1lYsWLAARUVFaWtcvtBjBozOOTE8coCIiCgzBrQ66cEHH8Sjjz6KSCQCIQSee+45FBUVYcmSJTjppJNwxRVXpKudOS0Q1GF1niXlctqy3BoiIqLhIeUxoaeffhoPPvggzjvvPPz2t79NOhDyC1/4At566610tC+nbattx4cbG9DYFkpcK3AxxBAREWVCyj0xTz/9NC699FL8+Mc/hmmaSY+NGzcOu3btGnDjclkgrOPld3cCAGxmd4DzFNiz1CIiIqLhJeWemD179mD+/Pm9PlZQUAC/359yo/JBc3sk8XMj1h3iChliiIiIMiLlEFNYWIimpqZeH6upqUFpaWnKjcoHdluP0vUYSvMWDt+9coiIiDIp5RBzwgkn4LHHHkMo1D0fRAgBwzDwxz/+ESeffHJaGpireuQWwOr6hYDXw54YIiKiTEh5Tsw111yD8847D2effTa++MUvQgiBP/zhD9iwYQNqa2tx3333pbGZuadnhhGdv9BUAYeDhz8SERFlQso9MePGjcMf//hHTJgwAX/84x8hpcQLL7wAn8+HZ555BiNHjkxnO3NOz9VYXd0ymqZAs3GfGCIiokwYULfBpEmT8PjjjyMWi6G1tRVFRUVwOp3paltOSx5Oiv/PpirQNO5kTERElAlpGfuw2+2orKxMx63yRm89MTb2xBAREWUMuw3SQHQNJ7EnhoiIKGP61RNzySWX9Pm5Qgj87ne/63eD8sX+w0k2TYXLoUGzMcQQERFlQr9CzAcffACPx4OqqqrBak/esHqkmIpiFzyaAlVTeII1ERFRhvQrxIwZMwZ79uyBx+PBV7/6VZx11llwu92D1bb80blPDOfDEBERZU6/xj5ee+01/P73v8eYMWNw22234eSTT8bNN9+Mjz/+eLDal7N69sRYVnx5EoeSiIiIMqffn7rHHXccfvnLX2LVqlW4/vrrsXnzZlx44YU488wz8dhjjx30KIIhpyvDSAlpdq1OYk8MERFRpqTcdeDxeHDBBRfg2WefxYsvvogTTjgB9957L372s5+ls305K9ER02OCL3tiiIiIMmfAn7rbtm3DX//6V6xcuRJSSowfPz4d7cp5ieGkHsNKnBNDRESUOSltdhcMBrFixQosX74cn376KcaOHYuLL74Y55577rDb9K5nT4zKPWKIiIgypl8hZvXq1Xjuuefw6quvQkqJxYsX40c/+hGOO+64wWpfzkrs2GtJdC2qtnE4iYiIKGP6FWIuvvhieDwenHPOOTj77LPh8XgAAOvWrev1+dOnT+93g2pqarBw4cIDrt922204//zz+32/wdK5qjq+W29nitE4sZeIiChj+j2cFAgE8Oyzz+LZZ5896HOklBBCYMOGDf1u0KZNm+BwOPD6668nbRxXWFjY73sNqsScmO5LnNhLRESUOf0KMT//+c8Hqx0Jmzdvxvjx41FRUTHorzUQiexiSXTNj+bEXiIioszpV4jx+/1YtGjRoB47sGnTJkyaNGnQ7p8uPZdYi8RwEntiiIiIMqVfIea3v/0t7rzzTsyYMQOLFy/G4sWLMWbMmLQ2aPPmzSgvL8eFF16InTt3Yty4cbjqqqswf/78lO+ZarhQVSXp/z0JRcR/IB5ihCLgcGoMModwqHpSaljT9GNN0481TT/WNE5ImXQe8yFZloUPPvgAr776Kl577TU0NTWhuroaixcvxqJFiwbcgxKLxTBnzhxMnToVP/7xj+F2u/Hiiy/i97//PZ544gmccMIJ/b5n1/ycdPtoYz1WvLsDaIugUtPg9dhx2llTUFHlTftrERER0YH6FWL299FHH2HlypV4/fXXsW/fPhxxxBFY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5XYQERENZwwxKbASc2Ky2w4iIqLhjCEmFZzYS0RElHUMMSngcBIREVH2McSkwG5TAQAOu5rllhAREQ1fDDEpOGlmFUZXeHDSzKpsN4WIiGjY0rLdgEN56KGH8N577+Gpp57KdlOSTBjpxYSR3mw3g4iIaFjL2Z6YJ598Evfff3+2m0FEREQ5Kud6Yurr63HzzTfjo48+wvjx47PdHCIiIspROdcTs27dOhQVFeHFF1/E7Nmzs90cIiIiylE51xOzcOFCLFy4MK331LTUspqqKkn/p4FhPdOPNU0/1jT9WNP0Y03jci7EpJuiCPh8BQO6h9frSlNrCGA9BwNrmn6safqxpuk33Gs65EOMZUn4/aGUvlZVFXi9Lvj9YZimleaWDT+sZ/qxpunHmqYfa5p+Q72mXq+rT71MQz7EAIBhDOwP2DStAd+DurGe6ceaph9rmn6safoN95oO78E0IiIiylsMMURERJSXGGKIiIgoL+X0nJg777wz200gIiKiHMWeGCIiIspLDDFERESUl4SUUma7EYNJSgnLSv23qKrKkFyDny2sZ/qxpunHmqYfa5p+Q7mmiiIghDjs84Z8iCEiIqKhicNJRERElJcYYoiIiCgvMcQQERFRXmKIISIiorzEEENERER5iSGGiIiI8hJDDBEREeUlhhgiIiLKSwwxRERElJcYYoiIiCgvMcQQERFRXmKIISIiorzEEENERER5iSGmF5Zl4f7778f8+fMxe/ZsXHbZZdi1a1e2m5VXampqMHny5AN+PPvsswCADRs24KKLLsJRRx2FU089FY8//niWW5y7HnroIVx88cVJ1w5XP76HD623mt54440HvF9POeWUxOOsabK2tjb89Kc/xSmnnIKjjz4aF1xwAT788MPE43yP9t/hasr3aC8kHeDXv/61POGEE+Rbb70lN2zYIC+77DJ5+umny2g0mu2m5Y033nhDzpw5U9bX18uGhobEj3A4LFtaWuTxxx8vb775Zrl161b53HPPyZkzZ8rnnnsu283OOU888YScPHmyvOiiixLX+lI/vocPrreaSinlueeeK++5556k92tzc3PicdY02Te/+U355S9/Wa5evVpu27ZN3nrrrXLWrFly69atfI+m6FA1lZLv0d4wxOwnGo3KOXPmyGeeeSZxrb29Xc6aNUu+/PLLWWxZfvnNb34jv/zlL/f62MMPPyznz58vdV1PXLv77rvl4sWLM9W8nFdXVycvv/xyedRRR8kzzjgj6QP3cPXje7h3h6qpYRhy5syZ8rXXXuv1a1nTZDt37pTV1dXyo48+SlyzLEuefvrp8r777uN7NAWHqynfo73jcNJ+Nm7ciGAwiHnz5iWueb1eTJs2DatXr85iy/LLpk2bMGnSpF4f+/DDD3HsscdC07TEtXnz5mHHjh1obm7OVBNz2rp161BUVIQXX3wRs2fPTnrscPXje7h3h6rpzp07EY1GMXHixF6/ljVN5vP58Mgjj2DGjBmJa0IISCnR3t7O92gKDldTvkd7px3+KcNLXV0dAKCqqirpekVFBfbt25eNJuWlzZs3o7y8HBdeeCF27tyJcePG4aqrrsL8+fNRV1eH6urqpOdXVFQAAGpra1FaWpqNJueUhQsXYuHChb0+drj68T3cu0PVdPPmzRBC4He/+x3eeecdKIqCBQsW4Nprr0VhYSFruh+v14sFCxYkXXvllVewe/dunHzyybj33nv5Hu2nw9WU79HesSdmP+FwGABgt9uTrjscDkSj0Ww0Ke/EYjHs3LkTgUAA1157LR555BHMnDkT3/72t/Hee+8hEon0Wl8ArHEfHK5+fA/335YtW6AoCkaNGoWHH34YS5cuxdtvv42rrroKlmWxpofx0Ucf4aabbsJpp52GhQsX8j2aBvvXlO/R3rEnZj9OpxNA/IO46+dA/C+ey+XKVrPyit1ux+rVq6FpWuIv1IwZM7Bt2zY8/vjjcDqdiMViSV/T9ZfM7XZnvL355nD143u4/77//e/j0ksvhdfrBQBUV1ejvLwcX//61/H555+zpofw+uuv47rrrsPs2bNxzz33AOB7dKB6qynfo71jT8x+urriGhoakq43NDRgxIgR2WhSXnK73Qd8R1BdXY36+nqMGDGi1/oCQGVlZcbamK8OVz++h/tPCJH4cOjSNRxSV1fHmh7EH/7wB3z/+9/HKaecgkcffTTx4cn3aOoOVlO+R3vHELOfKVOmwOPx4P33309c8/v9WL9+PebOnZvFluWPjRs3Ys6cOUn7GwDA2rVrMWnSJBx77LH46KOPYJpm4rH33nsP48eP53yYPjhc/fge7r8f/ehHuPzyy5Ouff755wCASZMmsaa9eOaZZ3DrrbfiG9/4Bu67776kb1r4Hk3NoWrK9+hBZHt5VC6655575HHHHSdff/31xFr7RYsWDem19ulkmqY8//zz5Ze+9CW5evVquXXrVnnHHXfIGTNmyI0bN8qmpiZ57LHHyqVLl8otW7bI5cuXy5kzZ8q//OUv2W56Tlq6dGnScuC+1I/v4UPbv6ZvvvmmnDx5snzooYfkrl275FtvvSUXLlwof/jDHyaew5p22759u5w+fbr83ve+l7RnSUNDg/T7/XyPpuBwNeV7tHdCSimzHaRyjWmauOeee/CXv/wFkUgExx57LH76059i9OjR2W5a3mhpacFdd92Fd955B36/H9OmTcN1112X+I7gs88+w+23347169ejvLwcl112GS666KIstzo33XDDDaipqcFTTz2VuHa4+vE9fGi91XTlypV4+OGHsX37dhQWFuKcc87Btddem5iQypp2e/jhh3Hvvff2+ti5556LO++8k+/RfupLTfkePRBDDBEREeUlzokhIiKivMQQQ0RERHmJIYaIiIjyEkMMERER5SWGGCIiIspLDDFERESUlxhiiIiIKC8xxBAREVFeYoghon7bsmULpk+fjsmTJ6OpqSkjr/n2229j8uTJmDx5MtavX3/A41dffTVOOOGEQW3DvHnzEm042I8bb7xxUNtARN20bDeAiPLPbbfdBsMwAAAbNmzA/PnzB/01161bBwBwOBxYuXIlpk2blvT4+vXrD7iWTqZp4uGHH+71sdraWtx0002wLAtf+cpXBq0NRJSMPTFE1C9///vf8a9//QunnnoqgHiIyYT169ejuLgYZ555Jl599dWkx1pbW1FTU4MZM2b0+X4XX3wxbrjhhj4/X1VVHHXUUQf8qKysxN133w3TNPHggw/i2GOP7fM9iWhgGGKIqM8ikQh++ctfoqqqCnfeeSdUVcXGjRsz8trr1q3DjBkzcPrpp2P79u3YsmVL0mMABrUnpjf19fW45JJL0NDQgAceeCAjPVJE1I0hhoj67NFHH0VNTQ1+/OMfw+fzYdy4cYftiZFSwjCMPv04mNbWVtTW1mLatGmYP38+3G43Vq5cmXg8GyGmK8Ds27cP999/PxYsWJCx1yaiOM6JIaI+qa2txWOPPYbjjjsOZ511FgBg8uTJWLlyJcLhMFwuV69f98EHH+CSSy7p02u88cYbGD169AHXuybyTp8+HQ6HAwsWLMCrr76Kq6++GkA8xBQVFWHMmDG93ldKCdM0D7jWFbB60rTD/7PY2NiIJUuWoKamBr/61a/whS98oU+/PyJKL4YYIuqTO++8E7qu4+abb05cmzx5Ml555RVs3rwZs2fP7vXrpk+fjueee65Pr1FRUdHr9a6elunTpwMAFi1ahB/84AfYtWsXxo0bh7Vr1x6yF+ZgQWr16tV4/vnnk64dLEh1aWpqwpIlS7B3717cd999OO200w732yKiQcIQQ0SH9a9//QsrV67Eueeei5EjR8Lv9wNAoudjw4YNBw0xBQUFmDp1ap9e52C9IPv3tCxYsCCxSulrX/saampqcMYZZxz0vr0FqWXLlqGiogLf+973kq4fLEgBQEtLCy699FLs2rUL9957L774xS/26fdFRIODIYaIDsk0Tdx+++0AgL/+9a/461//esBzDjUvJl3DST17WgoKCnDSSSdh5cqVid6ZQ61M8ng8mDlzZtK1goICFBcXH3D9YFpaWrBkyRLs2LEDd911FxYtWtSnryOiwcMQQ0SH9PTTT2Pz5s34/ve/3+vy4WuuueaQK5QGOpzU0dGBPXv24PTTT0+6vmjRItxwww2J5daDOam3tbUV3/zmN7Ft2zbcddddOPPMMwfttYio7xhiiOigWlpa8MADD2DOnDn43ve+ByHEAc+ZPHkyPv/8c1iWBUU5cMFjb70g/bFu3TpIKQ/oaVm4cCFsNhuWL18Oj8eDcePGpfwahxIKhXDZZZdh48aNuPjiizFy5EisWbPmgOe53W5UV1cPShuIqHcMMUR0UPfddx+CwSD++7//u9cAAwBTpkzB+++/j507d2LChAlpb0PXyqT9e1qKiopw/PHHY9WqVTjqqKMO2r6BWrNmTaINTz31FJ566qlen3f22WfjnnvuGZQ2EFHvhJRSZrsRRERERP3Fze6IiIgoLzHEEBERUV5iiCEiIqK8xBBDREREeYkhhoiIiPISQwwRERHlJYYYIiIiyksMMURERJSXGGKIiIgoLzHEEBERUV5iiCEiIqK8xBBDREREeen/AzAgfTpVRFO9AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# The mean squared error \n", "print(\"Mean squared error: %.2f\" % mean_squared_error(Energies, fity))\n", @@ -2589,7 +2810,7 @@ }, { "cell_type": "markdown", - "id": "cca135da", + "id": "8fa56ca8", "metadata": { "editable": true }, @@ -2602,13 +2823,95 @@ }, { "cell_type": "code", - "execution_count": 35, - "id": "e11a56a0", + "execution_count": 43, + "id": "76f0ddd2", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.\n", + " warnings.warn(\n", + "/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.\n", + " warnings.warn(\n", + "/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean squared error: 1.73\n", + "Mean squared error: 19.48\n", + "Mean squared error: 12.11\n", + "Mean squared error: 23.42\n", + "Mean squared error: 0.23\n", + "Mean squared error: 0.18\n", + "Mean squared error: 0.29\n", + "Mean squared error: 0.20\n", + "Mean squared error: 0.26\n", + "Mean squared error: 4.07\n", + "Mean squared error: 2.12\n", + "Mean squared error: 7.54\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.\n", + " warnings.warn(\n", + "/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.\n", + " warnings.warn(\n", + "/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.\n", + " warnings.warn(\n", + "/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.\n", + " warnings.warn(\n", + "/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.\n", + " warnings.warn(\n", + "/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean squared error: 15.78\n", + "Mean squared error: 122.02\n", + "Mean squared error: 51.22\n", + "Mean squared error: 152.55\n" + ] + }, + { + "data": { + "image/png": "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/RUeHp5ie3h4uAICAlK9TXBwsA4cOKDXX39dDz30kNO+9evXa86cOdqzZ4+qV6+uXLlypXpdlN27d8vHx0e+vr6SkoLRze6NJB0/flyXL19OHolKTEx0uv3N8z9uJzo6Wl26dFGFChW0YsUKlSlTRm5ubtqwYYNWrVqVfFyuXLmclnG+acOGDapYsaL8/Pz01FNPafTo0Vq1apV2796tRx555JajdQCAjIOT2gFkORERETpx4oRatWqlatWqyd096buZjRs3Srp9t8MVateurY0bNyo2NjZ524EDB257ccUlS5bI09NTHTp00MMPP+z007lzZ2XLlk0LFy6UlHS+yOnTp3Xo0KHk28fFxal379765ptv9OCDD0qS1q5d6/QYkyZN0qhRoyRJPj4+unDhgtP+Xbt2/etzO378uK5cuaJXX31V5cqVk5tb0p+df77WtWrV0i+//KK4uLjk2x46dEjdunXTH3/8ISnp3JtnnnlGK1as0C+//EJ3BAAyCTokALKc/Pnzq2jRolqwYIH8/f3l6+urTZs2ae7cuZJufz6IK/To0UM//vijunTpok6dOikqKkpTpkyRzWZL9fyIuLg4/fDDD2rQoIFy5cqVYn+hQoX02GOP6ccff9Q777yjF154QfPmzVPPnj3Vt29f5cuXTwsWLFBMTIzatWunEiVK6KmnntL48eMVExOjypUra9OmTVqzZk3yeSSPP/641q9frzFjxqhJkybauXOnpRW4AgIC5OPjo88++0zu7u5yd3fXqlWrtGTJEkl/vda9evXSSy+9pK5du6p9+/aKi4vTlClTVLlyZdWvXz/5/lq1aqWXXnpJPj4+euKJJ+7i1QYApDd0SABkSdOnT5efn58GDRqkN954Q7///rs+/fRTlS5dWjt27LivtZQsWVKzZs1SbGys+vTpo0mTJqlr164qWLBg8kpZf7d27VpduXJFzz777C3vs0WLFoqJidG3334rHx8fzZ8/XzVr1tSYMWPUt29fxcbGat68eckn248bN06vvvqq5s2bp+7du2vTpk2aPHly8spkLVu2VNeuXfXjjz+qa9eu2rVrl6ZMmfKvzy1XrlyaPn26HA6H+vbtqwEDBujcuXOaP3++cubMmfxaBwYGat68ebLb7erXr59GjhypGjVqaMaMGU5XvK9Ro4by5s2rZs2aycvL645eZwBA+sSV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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 1.7304881 19.47958494 12.11340253 23.41589548]\n", + " [ 0.22948497 0.18392847 0.29364655 0.20072279]\n", + " [ 0.26303845 4.06730814 2.11590451 7.5411205 ]\n", + " [ 15.77893972 122.02334824 51.2167072 152.54894451]]\n" + ] + } + ], "source": [ "from sklearn.neural_network import MLPRegressor\n", "from sklearn.metrics import accuracy_score\n", @@ -2648,7 +2951,7 @@ }, { "cell_type": "markdown", - "id": "66d7b127", + "id": "19fec57c", "metadata": { "editable": true }, @@ -2668,19 +2971,19 @@ }, { "cell_type": "markdown", - "id": "63f5ed53", + "id": "1bcb8b34", "metadata": { "editable": true }, "source": [ "## Why Linear Regression (aka Ordinary Least Squares and family)\n", "\n", - "Fitting a continuous function with linear parameterization in terms of the parameters $\\boldsymbol{\\beta}$.\n", + "Fitting a continuous function with linear parameterization in terms of the parameters $\\boldsymbol{\\theta}$.\n", "* Method of choice for fitting a continuous function!\n", "\n", "* Gives an excellent introduction to central Machine Learning features with **understandable pedagogical** links to other methods like **Neural Networks**, **Support Vector Machines** etc\n", "\n", - "* Analytical expression for the fitting parameters $\\boldsymbol{\\beta}$\n", + "* Analytical expression for the fitting parameters $\\boldsymbol{\\theta}$\n", "\n", "* Analytical expressions for statistical propertiers like mean values, variances, confidence intervals and more\n", "\n", @@ -2700,7 +3003,7 @@ }, { "cell_type": "markdown", - "id": "500701b4", + "id": "2ebf620c", "metadata": { "editable": true }, @@ -2708,21 +3011,23 @@ "## Regression analysis, overarching aims\n", "\n", "Regression modeling deals with the description of the sampling distribution of a given random variable $y$ and how it varies as function of another variable or a set of such variables $\\boldsymbol{x} =[x_0, x_1,\\dots, x_{n-1}]^T$. \n", - "The first variable is called the **dependent**, the **outcome** or the **response** variable while the set of variables $\\boldsymbol{x}$ is called the independent variable, or the predictor variable or the explanatory variable, or simply just the **inputs**. \n", + "The first variable $y$ is called the the **outcome** or the **response** variable, or simply just the **outputs**.\n", + "\n", + "The set of variables $\\boldsymbol{x}$ is called the independent variable, or the predictor variable or the explanatory variable, or simply just the **inputs**. **We will throughout the course just use inputs and outputs as names**.\n", "\n", "A regression model aims at finding a likelihood function $p(\\boldsymbol{y}\\vert \\boldsymbol{x})$ or in the more traditional sense a function $\\boldsymbol{y}(\\boldsymbol{x})$, that is the conditional distribution for $\\boldsymbol{y}$ with a given $\\boldsymbol{x}$. The estimation of $p(\\boldsymbol{y}\\vert \\boldsymbol{x})$ is made using a data set with \n", "* $n$ cases $i = 0, 1, 2, \\dots, n-1$ \n", "\n", - "* Response (target, dependent or outcome) variable $y_i$ with $i = 0, 1, 2, \\dots, n-1$ \n", + "* Response (our output) variable $y_i$ with $i = 0, 1, 2, \\dots, n-1$ \n", "\n", - "* $p$ so-called explanatory (independent or predictor or feature) variables $\\boldsymbol{x}_i=[x_{i0}, x_{i1}, \\dots, x_{ip-1}]$ with $i = 0, 1, 2, \\dots, n-1$ and explanatory variables running from $0$ to $p-1$. See below for more explicit examples. \n", + "* $p$ so-called explanatory (independent or predictor or feature) variables $\\boldsymbol{x}_i=[x_{i0}, x_{i1}, \\dots, x_{ip-1}]$ with $i = 0, 1, 2, \\dots, n-1$ and explanatory variables running from $0$ to $p-1$. These are the inputs. See below for more explicit examples. \n", "\n", " The goal of the regression analysis is to extract/exploit relationship between $\\boldsymbol{y}$ and $\\boldsymbol{x}$ in order to infer specific dependencies, approximations to the likelihood functions, functional relationships and to make predictions, making fits and many other things." ] }, { "cell_type": "markdown", - "id": "b5918c07", + "id": "db27019b", "metadata": { "editable": true }, @@ -2742,15 +3047,15 @@ "f(\\mathbf{X}_{i,\\ast})$. When no prior knowledge on the form of\n", "$f(\\cdot)$ is available, it is common to assume a linear relationship\n", "between $\\boldsymbol{X}$ and $\\boldsymbol{y}$. This assumption gives rise to\n", - "the *linear regression model* where $\\boldsymbol{\\beta} = [\\beta_0, \\ldots,\n", - "\\beta_{p-1}]^{T}$ are the *regression parameters*. \n", + "the *linear regression model* where $\\boldsymbol{\\theta} = [\\theta_0, \\ldots,\n", + "\\theta_{p-1}]^{T}$ are the *regression parameters*. \n", "\n", - "Linear regression gives us a set of analytical equations for the parameters $\\beta_j$." + "Linear regression gives us a set of analytical equations for the parameters $\\theta_j$." ] }, { "cell_type": "markdown", - "id": "5e14801b", + "id": "3ab4acd0", "metadata": { "editable": true }, @@ -2765,7 +3070,7 @@ }, { "cell_type": "markdown", - "id": "0600df0e", + "id": "b60035b5", "metadata": { "editable": true }, @@ -2777,7 +3082,7 @@ }, { "cell_type": "markdown", - "id": "8be0d78a", + "id": "29af7e67", "metadata": { "editable": true }, @@ -2792,7 +3097,7 @@ }, { "cell_type": "markdown", - "id": "0cbad65d", + "id": "740b4af2", "metadata": { "editable": true }, @@ -2805,19 +3110,19 @@ }, { "cell_type": "markdown", - "id": "bda12c1e", + "id": "b4ad3976", "metadata": { "editable": true }, "source": [ "$$\n", - "y=y(x) \\rightarrow y(x_i)=\\tilde{y}_i+\\epsilon_i=\\sum_{j=0}^{n-1} \\beta_j x_i^j+\\epsilon_i,\n", + "y=y(x) \\rightarrow y(x_i)=\\tilde{y}_i+\\epsilon_i=\\sum_{j=0}^{n-1} \\theta_j x_i^j+\\epsilon_i,\n", "$$" ] }, { "cell_type": "markdown", - "id": "5b43bac0", + "id": "0051e649", "metadata": { "editable": true }, @@ -2827,7 +3132,7 @@ }, { "cell_type": "markdown", - "id": "2951ef82", + "id": "1a7712be", "metadata": { "editable": true }, @@ -2838,25 +3143,25 @@ }, { "cell_type": "markdown", - "id": "f4544e88", + "id": "27e08926", "metadata": { "editable": true }, "source": [ "$$\n", "\\begin{align*}\n", - "y_0&=\\beta_0+\\beta_1x_0^1+\\beta_2x_0^2+\\dots+\\beta_{n-1}x_0^{n-1}+\\epsilon_0\\\\\n", - "y_1&=\\beta_0+\\beta_1x_1^1+\\beta_2x_1^2+\\dots+\\beta_{n-1}x_1^{n-1}+\\epsilon_1\\\\\n", - "y_2&=\\beta_0+\\beta_1x_2^1+\\beta_2x_2^2+\\dots+\\beta_{n-1}x_2^{n-1}+\\epsilon_2\\\\\n", + "y_0&=\\theta_0+\\theta_1x_0^1+\\theta_2x_0^2+\\dots+\\theta_{n-1}x_0^{n-1}+\\epsilon_0\\\\\n", + "y_1&=\\theta_0+\\theta_1x_1^1+\\theta_2x_1^2+\\dots+\\theta_{n-1}x_1^{n-1}+\\epsilon_1\\\\\n", + "y_2&=\\theta_0+\\theta_1x_2^1+\\theta_2x_2^2+\\dots+\\theta_{n-1}x_2^{n-1}+\\epsilon_2\\\\\n", "\\dots & \\dots \\\\\n", - "y_{n-1}&=\\beta_0+\\beta_1x_{n-1}^1+\\beta_2x_{n-1}^2+\\dots+\\beta_{n-1}x_{n-1}^{n-1}+\\epsilon_{n-1}.\\\\\n", + "y_{n-1}&=\\theta_0+\\theta_1x_{n-1}^1+\\theta_2x_{n-1}^2+\\dots+\\theta_{n-1}x_{n-1}^{n-1}+\\epsilon_{n-1}.\\\\\n", "\\end{align*}\n", "$$" ] }, { "cell_type": "markdown", - "id": "9f1334f6", + "id": "2ec61954", "metadata": { "editable": true }, @@ -2867,7 +3172,7 @@ }, { "cell_type": "markdown", - "id": "ab558c67", + "id": "b7aab6da", "metadata": { "editable": true }, @@ -2879,7 +3184,7 @@ }, { "cell_type": "markdown", - "id": "0ede0cbe", + "id": "523fa0e8", "metadata": { "editable": true }, @@ -2889,19 +3194,19 @@ }, { "cell_type": "markdown", - "id": "19f03a13", + "id": "a4172710", "metadata": { "editable": true }, "source": [ "$$\n", - "\\boldsymbol{\\beta} = [\\beta_0,\\beta_1, \\beta_2,\\dots, \\beta_{n-1}]^T,\n", + "\\boldsymbol{\\theta} = [\\theta_0,\\theta_1, \\theta_2,\\dots, \\theta_{n-1}]^T,\n", "$$" ] }, { "cell_type": "markdown", - "id": "82856981", + "id": "3a21de62", "metadata": { "editable": true }, @@ -2911,7 +3216,7 @@ }, { "cell_type": "markdown", - "id": "98d8368b", + "id": "a68d2930", "metadata": { "editable": true }, @@ -2923,7 +3228,7 @@ }, { "cell_type": "markdown", - "id": "85f5a163", + "id": "519a6c63", "metadata": { "editable": true }, @@ -2933,7 +3238,7 @@ }, { "cell_type": "markdown", - "id": "df3a46e7", + "id": "2f28767d", "metadata": { "editable": true }, @@ -2952,7 +3257,7 @@ }, { "cell_type": "markdown", - "id": "434b7aaa", + "id": "60e193f4", "metadata": { "editable": true }, @@ -2962,19 +3267,19 @@ }, { "cell_type": "markdown", - "id": "2e58807a", + "id": "b76cff50", "metadata": { "editable": true }, "source": [ "$$\n", - "\\boldsymbol{y} = \\boldsymbol{X}\\boldsymbol{\\beta}+\\boldsymbol{\\epsilon}.\n", + "\\boldsymbol{y} = \\boldsymbol{X}\\boldsymbol{\\theta}+\\boldsymbol{\\epsilon}.\n", "$$" ] }, { "cell_type": "markdown", - "id": "79319818", + "id": "6c65fa96", "metadata": { "editable": true }, @@ -2984,7 +3289,7 @@ }, { "cell_type": "markdown", - "id": "d7c0298c", + "id": "554a1508", "metadata": { "editable": true }, @@ -3000,27 +3305,27 @@ }, { "cell_type": "markdown", - "id": "b4913ff3", + "id": "ec603f5c", "metadata": { "editable": true }, "source": [ "$$\n", "\\begin{align*}\n", - "y_0&=\\beta_0x_{00}+\\beta_1x_{01}+\\beta_2x_{02}+\\dots+\\beta_{n-1}x_{0n-1}+\\epsilon_0\\\\\n", - "y_1&=\\beta_0x_{10}+\\beta_1x_{11}+\\beta_2x_{12}+\\dots+\\beta_{n-1}x_{1n-1}+\\epsilon_1\\\\\n", - "y_2&=\\beta_0x_{20}+\\beta_1x_{21}+\\beta_2x_{22}+\\dots+\\beta_{n-1}x_{2n-1}+\\epsilon_2\\\\\n", + "y_0&=\\theta_0x_{00}+\\theta_1x_{01}+\\theta_2x_{02}+\\dots+\\theta_{n-1}x_{0n-1}+\\epsilon_0\\\\\n", + "y_1&=\\theta_0x_{10}+\\theta_1x_{11}+\\theta_2x_{12}+\\dots+\\theta_{n-1}x_{1n-1}+\\epsilon_1\\\\\n", + "y_2&=\\theta_0x_{20}+\\theta_1x_{21}+\\theta_2x_{22}+\\dots+\\theta_{n-1}x_{2n-1}+\\epsilon_2\\\\\n", "\\dots & \\dots \\\\\n", - "y_{i}&=\\beta_0x_{i0}+\\beta_1x_{i1}+\\beta_2x_{i2}+\\dots+\\beta_{n-1}x_{in-1}+\\epsilon_i\\\\\n", + "y_{i}&=\\theta_0x_{i0}+\\theta_1x_{i1}+\\theta_2x_{i2}+\\dots+\\theta_{n-1}x_{in-1}+\\epsilon_i\\\\\n", "\\dots & \\dots \\\\\n", - "y_{n-1}&=\\beta_0x_{n-1,0}+\\beta_1x_{n-1,2}+\\beta_2x_{n-1,2}+\\dots+\\beta_{n-1}x_{n-1,n-1}+\\epsilon_{n-1}.\\\\\n", + "y_{n-1}&=\\theta_0x_{n-1,0}+\\theta_1x_{n-1,2}+\\theta_2x_{n-1,2}+\\dots+\\theta_{n-1}x_{n-1,n-1}+\\epsilon_{n-1}.\\\\\n", "\\end{align*}\n", "$$" ] }, { "cell_type": "markdown", - "id": "95633cc9", + "id": "98c74b9b", "metadata": { "editable": true }, @@ -3030,7 +3335,7 @@ }, { "cell_type": "markdown", - "id": "420d0107", + "id": "7f4d2c5c", "metadata": { "editable": true }, @@ -3041,7 +3346,7 @@ }, { "cell_type": "markdown", - "id": "e112198b", + "id": "654bf9a6", "metadata": { "editable": true }, @@ -3060,7 +3365,7 @@ }, { "cell_type": "markdown", - "id": "02e0bd60", + "id": "f80909ca", "metadata": { "editable": true }, @@ -3070,29 +3375,29 @@ }, { "cell_type": "markdown", - "id": "aa98aa2b", + "id": "ee25c0f7", "metadata": { "editable": true }, "source": [ "$$\n", - "\\boldsymbol{y} = \\boldsymbol{X}\\boldsymbol{\\beta}+\\boldsymbol{\\epsilon}.\n", + "\\boldsymbol{y} = \\boldsymbol{X}\\boldsymbol{\\theta}+\\boldsymbol{\\epsilon}.\n", "$$" ] }, { "cell_type": "markdown", - "id": "7205faff", + "id": "c1947e0c", "metadata": { "editable": true }, "source": [ - "The left-hand side of this equation is kwown. Our error vector $\\boldsymbol{\\epsilon}$ and the parameter vector $\\boldsymbol{\\beta}$ are our unknow quantities. How can we obtain the optimal set of $\\beta_i$ values?" + "The left-hand side of this equation is kwown. Our error vector $\\boldsymbol{\\epsilon}$ and the parameter vector $\\boldsymbol{\\theta}$ are our unknow quantities. How can we obtain the optimal set of $\\theta_i$ values?" ] }, { "cell_type": "markdown", - "id": "f13dfb73", + "id": "05229723", "metadata": { "editable": true }, @@ -3103,27 +3408,27 @@ }, { "cell_type": "markdown", - "id": "7707c6fd", + "id": "bb0abff0", "metadata": { "editable": true }, "source": [ "$$\n", "\\begin{align*}\n", - "y_0&=\\beta_0x_{00}+\\beta_1x_{01}+\\beta_2x_{02}+\\dots+\\beta_{n-1}x_{0n-1}+\\epsilon_0\\\\\n", - "y_1&=\\beta_0x_{10}+\\beta_1x_{11}+\\beta_2x_{12}+\\dots+\\beta_{n-1}x_{1n-1}+\\epsilon_1\\\\\n", - "y_2&=\\beta_0x_{20}+\\beta_1x_{21}+\\beta_2x_{22}+\\dots+\\beta_{n-1}x_{2n-1}+\\epsilon_1\\\\\n", + "y_0&=\\theta_0x_{00}+\\theta_1x_{01}+\\theta_2x_{02}+\\dots+\\theta_{n-1}x_{0n-1}+\\epsilon_0\\\\\n", + "y_1&=\\theta_0x_{10}+\\theta_1x_{11}+\\theta_2x_{12}+\\dots+\\theta_{n-1}x_{1n-1}+\\epsilon_1\\\\\n", + "y_2&=\\theta_0x_{20}+\\theta_1x_{21}+\\theta_2x_{22}+\\dots+\\theta_{n-1}x_{2n-1}+\\epsilon_1\\\\\n", "\\dots & \\dots \\\\\n", - "y_{i}&=\\beta_0x_{i0}+\\beta_1x_{i1}+\\beta_2x_{i2}+\\dots+\\beta_{n-1}x_{in-1}+\\epsilon_1\\\\\n", + "y_{i}&=\\theta_0x_{i0}+\\theta_1x_{i1}+\\theta_2x_{i2}+\\dots+\\theta_{n-1}x_{in-1}+\\epsilon_1\\\\\n", "\\dots & \\dots \\\\\n", - "y_{n-1}&=\\beta_0x_{n-1,0}+\\beta_1x_{n-1,2}+\\beta_2x_{n-1,2}+\\dots+\\beta_{n-1}x_{n-1,n-1}+\\epsilon_{n-1}.\\\\\n", + "y_{n-1}&=\\theta_0x_{n-1,0}+\\theta_1x_{n-1,2}+\\theta_2x_{n-1,2}+\\dots+\\theta_{n-1}x_{n-1,n-1}+\\epsilon_{n-1}.\\\\\n", "\\end{align*}\n", "$$" ] }, { "cell_type": "markdown", - "id": "7c1e40c0", + "id": "bc16c9f8", "metadata": { "editable": true }, @@ -3135,7 +3440,7 @@ }, { "cell_type": "markdown", - "id": "e1157485", + "id": "d7f65472", "metadata": { "editable": true }, @@ -3149,11 +3454,14 @@ }, { "cell_type": "code", - "execution_count": 36, - "id": "cbb76678", + "execution_count": 35, + "id": "acf08e73", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -3230,29 +3538,29 @@ }, { "cell_type": "markdown", - "id": "251ab60f", + "id": "937591a1", "metadata": { "editable": true }, "source": [ - "With $\\boldsymbol{\\beta}\\in {\\mathbb{R}}^{p\\times 1}$, it means that we will hereafter write our equations for the approximation as" + "With $\\boldsymbol{\\theta}\\in {\\mathbb{R}}^{p\\times 1}$, it means that we will hereafter write our equations for the approximation as" ] }, { "cell_type": "markdown", - "id": "9ab58fc6", + "id": "132c386c", "metadata": { "editable": true }, "source": [ "$$\n", - "\\boldsymbol{\\tilde{y}}= \\boldsymbol{X}\\boldsymbol{\\beta},\n", + "\\boldsymbol{\\tilde{y}}= \\boldsymbol{X}\\boldsymbol{\\theta},\n", "$$" ] }, { "cell_type": "markdown", - "id": "66b9e106", + "id": "869bdef2", "metadata": { "editable": true }, @@ -3262,52 +3570,52 @@ }, { "cell_type": "markdown", - "id": "d80fd13c", + "id": "7781a1c4", "metadata": { "editable": true }, "source": [ "## Optimizing our parameters, more details\n", - "With the above we use the design matrix to define the approximation $\\boldsymbol{\\tilde{y}}$ via the unknown quantity $\\boldsymbol{\\beta}$ as" + "With the above we use the design matrix to define the approximation $\\boldsymbol{\\tilde{y}}$ via the unknown quantity $\\boldsymbol{\\theta}$ as" ] }, { "cell_type": "markdown", - "id": "ad05e0ee", + "id": "fd8e693c", "metadata": { "editable": true }, "source": [ "$$\n", - "\\boldsymbol{\\tilde{y}}= \\boldsymbol{X}\\boldsymbol{\\beta},\n", + "\\boldsymbol{\\tilde{y}}= \\boldsymbol{X}\\boldsymbol{\\theta},\n", "$$" ] }, { "cell_type": "markdown", - "id": "66fb7d5d", + "id": "f5c29ebf", "metadata": { "editable": true }, "source": [ - "and in order to find the optimal parameters $\\beta_i$ instead of solving the above linear algebra problem, we define a function which gives a measure of the spread between the values $y_i$ (which represent hopefully the exact values) and the parameterized values $\\tilde{y}_i$, namely" + "and in order to find the optimal parameters $\\theta_i$ instead of solving the above linear algebra problem, we define a function which gives a measure of the spread between the values $y_i$ (which represent hopefully the exact values) and the parameterized values $\\tilde{y}_i$, namely" ] }, { "cell_type": "markdown", - "id": "4071cf0d", + "id": "a798f40c", "metadata": { "editable": true }, "source": [ "$$\n", - "C(\\boldsymbol{\\beta})=\\frac{1}{n}\\sum_{i=0}^{n-1}\\left(y_i-\\tilde{y}_i\\right)^2=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)\\right\\},\n", + "C(\\boldsymbol{\\theta})=\\frac{1}{n}\\sum_{i=0}^{n-1}\\left(y_i-\\tilde{y}_i\\right)^2=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)\\right\\},\n", "$$" ] }, { "cell_type": "markdown", - "id": "40f676de", + "id": "bae820af", "metadata": { "editable": true }, @@ -3317,19 +3625,19 @@ }, { "cell_type": "markdown", - "id": "c8042deb", + "id": "06c75a81", "metadata": { "editable": true }, "source": [ "$$\n", - "C(\\boldsymbol{\\beta})=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)\\right\\}.\n", + "C(\\boldsymbol{\\theta})=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta}\\right)\\right\\}.\n", "$$" ] }, { "cell_type": "markdown", - "id": "afab4867", + "id": "59236913", "metadata": { "editable": true }, @@ -3342,29 +3650,29 @@ }, { "cell_type": "markdown", - "id": "3d434015", + "id": "81b5da1b", "metadata": { "editable": true }, "source": [ "$$\n", - "C(\\boldsymbol{\\beta})=\\frac{1}{2n}\\sum_{i=0}^{n-1}\\left(y_i-\\tilde{y}_i\\right)^2,\n", + "C(\\boldsymbol{\\theta})=\\frac{1}{2n}\\sum_{i=0}^{n-1}\\left(y_i-\\tilde{y}_i\\right)^2,\n", "$$" ] }, { "cell_type": "markdown", - "id": "e6830d69", + "id": "e74c517f", "metadata": { "editable": true }, "source": [ - "since when taking the first derivative with respect to the unknown parameters $\\beta$, the factor of $2$ cancels out." + "since when taking the first derivative with respect to the unknown parameters $\\theta$, the factor of $2$ cancels out." ] }, { "cell_type": "markdown", - "id": "21cc1af1", + "id": "648beb7f", "metadata": { "editable": true }, @@ -3376,19 +3684,19 @@ }, { "cell_type": "markdown", - "id": "89529132", + "id": "1d9326d3", "metadata": { "editable": true }, "source": [ "$$\n", - "C(\\boldsymbol{\\beta})=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)\\right\\},\n", + "C(\\boldsymbol{\\theta})=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta}\\right)\\right\\},\n", "$$" ] }, { "cell_type": "markdown", - "id": "189533cd", + "id": "f51ed614", "metadata": { "editable": true }, @@ -3399,19 +3707,19 @@ }, { "cell_type": "markdown", - "id": "985c8b9e", + "id": "ced37c54", "metadata": { "editable": true }, "source": [ "$$\n", - "y_{i}=\\langle y_i \\rangle = \\beta_0x_{i,0}+\\beta_1x_{i,1}+\\beta_2x_{i,2}+\\dots+\\beta_{n-1}x_{i,n-1}+\\epsilon_i,\n", + "y_{i}=\\langle y_i \\rangle = \\theta_0x_{i,0}+\\theta_1x_{i,1}+\\theta_2x_{i,2}+\\dots+\\theta_{n-1}x_{i,n-1}+\\epsilon_i,\n", "$$" ] }, { "cell_type": "markdown", - "id": "46a2485b", + "id": "ebbeea54", "metadata": { "editable": true }, @@ -3425,25 +3733,25 @@ "the standard deviation discussed earlier. In the discussion here we\n", "will treat $y_i$ as our exact value for the response variable.\n", "\n", - "In order to find the parameters $\\beta_i$ we will then minimize the spread of $C(\\boldsymbol{\\beta})$, that is we are going to solve the problem" + "In order to find the parameters $\\theta_i$ we will then minimize the spread of $C(\\boldsymbol{\\theta})$, that is we are going to solve the problem" ] }, { "cell_type": "markdown", - "id": "158b2d98", + "id": "1b5d06a0", "metadata": { "editable": true }, "source": [ "$$\n", - "{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in\n", - "{\\mathbb{R}}^{p}}}\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)\\right\\}.\n", + "{\\displaystyle \\min_{\\boldsymbol{\\theta}\\in\n", + "{\\mathbb{R}}^{p}}}\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta}\\right)\\right\\}.\n", "$$" ] }, { "cell_type": "markdown", - "id": "f1fc5234", + "id": "74890321", "metadata": { "editable": true }, @@ -3453,19 +3761,19 @@ }, { "cell_type": "markdown", - "id": "e664f769", + "id": "ad33aa43", "metadata": { "editable": true }, "source": [ "$$\n", - "\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\beta_j} = \\frac{\\partial }{\\partial \\beta_j}\\left[ \\frac{1}{n}\\sum_{i=0}^{n-1}\\left(y_i-\\beta_0x_{i,0}-\\beta_1x_{i,1}-\\beta_2x_{i,2}-\\dots-\\beta_{n-1}x_{i,n-1}\\right)^2\\right]=0,\n", + "\\frac{\\partial C(\\boldsymbol{\\theta})}{\\partial \\theta_j} = \\frac{\\partial }{\\partial \\theta_j}\\left[ \\frac{1}{n}\\sum_{i=0}^{n-1}\\left(y_i-\\theta_0x_{i,0}-\\theta_1x_{i,1}-\\theta_2x_{i,2}-\\dots-\\theta_{n-1}x_{i,n-1}\\right)^2\\right]=0,\n", "$$" ] }, { "cell_type": "markdown", - "id": "a4578402", + "id": "626df4e6", "metadata": { "editable": true }, @@ -3475,19 +3783,19 @@ }, { "cell_type": "markdown", - "id": "d202237f", + "id": "6594383b", "metadata": { "editable": true }, "source": [ "$$\n", - "\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\beta_j} = -\\frac{2}{n}\\left[ \\sum_{i=0}^{n-1}x_{ij}\\left(y_i-\\beta_0x_{i,0}-\\beta_1x_{i,1}-\\beta_2x_{i,2}-\\dots-\\beta_{n-1}x_{i,n-1}\\right)\\right]=0,\n", + "\\frac{\\partial C(\\boldsymbol{\\theta})}{\\partial \\theta_j} = -\\frac{2}{n}\\left[ \\sum_{i=0}^{n-1}x_{ij}\\left(y_i-\\theta_0x_{i,0}-\\theta_1x_{i,1}-\\theta_2x_{i,2}-\\dots-\\theta_{n-1}x_{i,n-1}\\right)\\right]=0,\n", "$$" ] }, { "cell_type": "markdown", - "id": "0a814eec", + "id": "ec04a0b3", "metadata": { "editable": true }, @@ -3497,19 +3805,19 @@ }, { "cell_type": "markdown", - "id": "4da0c761", + "id": "a82796e0", "metadata": { "editable": true }, "source": [ "$$\n", - "\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}} = 0 = \\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right).\n", + "\\frac{\\partial C(\\boldsymbol{\\theta})}{\\partial \\boldsymbol{\\theta}} = 0 = \\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta}\\right).\n", "$$" ] }, { "cell_type": "markdown", - "id": "9a064f38", + "id": "9607cc25", "metadata": { "editable": true }, @@ -3520,19 +3828,19 @@ }, { "cell_type": "markdown", - "id": "d233a20b", + "id": "f84698d3", "metadata": { "editable": true }, "source": [ "$$\n", - "\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}} = 0 = \\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right),\n", + "\\frac{\\partial C(\\boldsymbol{\\theta})}{\\partial \\boldsymbol{\\theta}} = 0 = \\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta}\\right),\n", "$$" ] }, { "cell_type": "markdown", - "id": "a7f82886", + "id": "1245df8a", "metadata": { "editable": true }, @@ -3542,19 +3850,19 @@ }, { "cell_type": "markdown", - "id": "498d3ced", + "id": "b6df8204", "metadata": { "editable": true }, "source": [ "$$\n", - "\\boldsymbol{X}^T\\boldsymbol{y} = \\boldsymbol{X}^T\\boldsymbol{X}\\boldsymbol{\\beta},\n", + "\\boldsymbol{X}^T\\boldsymbol{y} = \\boldsymbol{X}^T\\boldsymbol{X}\\boldsymbol{\\theta},\n", "$$" ] }, { "cell_type": "markdown", - "id": "4f1f2aff", + "id": "6250497e", "metadata": { "editable": true }, @@ -3564,19 +3872,19 @@ }, { "cell_type": "markdown", - "id": "1f34a3b8", + "id": "f788dc8f", "metadata": { "editable": true }, "source": [ "$$\n", - "\\boldsymbol{\\beta} =\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}.\n", + "\\boldsymbol{\\theta} =\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}.\n", "$$" ] }, { "cell_type": "markdown", - "id": "860d1203", + "id": "bdb72b3a", "metadata": { "editable": true }, @@ -3597,7 +3905,7 @@ }, { "cell_type": "markdown", - "id": "fe0d3b12", + "id": "d498ca67", "metadata": { "editable": true }, @@ -3608,19 +3916,19 @@ }, { "cell_type": "markdown", - "id": "4d1fff58", + "id": "786a3fef", "metadata": { "editable": true }, "source": [ "$$\n", - "\\boldsymbol{\\epsilon} = \\boldsymbol{y}-\\boldsymbol{\\tilde{y}} = \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta},\n", + "\\boldsymbol{\\epsilon} = \\boldsymbol{y}-\\boldsymbol{\\tilde{y}} = \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta},\n", "$$" ] }, { "cell_type": "markdown", - "id": "387c4cc3", + "id": "a0080ea0", "metadata": { "editable": true }, @@ -3630,19 +3938,19 @@ }, { "cell_type": "markdown", - "id": "8846de18", + "id": "27b8b857", "metadata": { "editable": true }, "source": [ "$$\n", - "\\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)= 0,\n", + "\\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta}\\right)= 0,\n", "$$" ] }, { "cell_type": "markdown", - "id": "1460d5c0", + "id": "3bf5241a", "metadata": { "editable": true }, @@ -3652,48 +3960,51 @@ }, { "cell_type": "markdown", - "id": "7a9b57a9", + "id": "6b578bc7", "metadata": { "editable": true }, "source": [ "$$\n", - "\\boldsymbol{X}^T\\boldsymbol{\\epsilon}=\\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)= 0,\n", + "\\boldsymbol{X}^T\\boldsymbol{\\epsilon}=\\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta}\\right)= 0,\n", "$$" ] }, { "cell_type": "markdown", - "id": "93d5d74e", + "id": "11220b8a", "metadata": { "editable": true }, "source": [ - "meaning that the solution for $\\boldsymbol{\\beta}$ is the one which minimizes the residuals. Later we will link this with the maximum likelihood approach.\n", + "meaning that the solution for $\\boldsymbol{\\theta}$ is the one which minimizes the residuals. Later we will link this with the maximum likelihood approach.\n", "\n", "Let us now return to our nuclear binding energies and simply code the above equations." ] }, { "cell_type": "markdown", - "id": "384e1f38", + "id": "a920365b", "metadata": { "editable": true }, "source": [ "## Own code for Ordinary Least Squares\n", "\n", - "It is rather straightforward to implement the matrix inversion and obtain the parameters $\\boldsymbol{\\beta}$. After having defined the matrix $\\boldsymbol{X}$ we simply need to \n", + "It is rather straightforward to implement the matrix inversion and obtain the parameters $\\boldsymbol{\\theta}$. After having defined the matrix $\\boldsymbol{X}$ we simply need to \n", "write" ] }, { "cell_type": "code", - "execution_count": 37, - "id": "fbefc951", + "execution_count": 36, + "id": "0b7b8c69", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -3705,7 +4016,7 @@ }, { "cell_type": "markdown", - "id": "6adad9b0", + "id": "c209e80c", "metadata": { "editable": true }, @@ -3715,11 +4026,14 @@ }, { "cell_type": "code", - "execution_count": 38, - "id": "17e0350c", + "execution_count": 37, + "id": "947eedad", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -3729,7 +4043,7 @@ }, { "cell_type": "markdown", - "id": "3cfa6c3e", + "id": "55e5aa0a", "metadata": { "editable": true }, @@ -3739,11 +4053,14 @@ }, { "cell_type": "code", - "execution_count": 39, - "id": "f5fb87c1", + "execution_count": 38, + "id": "3fb277ad", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -3763,7 +4080,7 @@ }, { "cell_type": "markdown", - "id": "2dbc69c2", + "id": "36c1d2bc", "metadata": { "editable": true }, @@ -3776,11 +4093,14 @@ }, { "cell_type": "code", - "execution_count": 40, - "id": "414d124d", + "execution_count": 39, + "id": "6db56b3d", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -3790,7 +4110,7 @@ }, { "cell_type": "markdown", - "id": "907f13bd", + "id": "e0ee98a4", "metadata": { "editable": true }, @@ -3800,11 +4120,14 @@ }, { "cell_type": "code", - "execution_count": 41, - "id": "6e47ca69", + "execution_count": 40, + "id": "8774bce4", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -3813,7 +4136,7 @@ }, { "cell_type": "markdown", - "id": "2b3b4b86", + "id": "1d29c10a", "metadata": { "editable": true }, @@ -3823,11 +4146,14 @@ }, { "cell_type": "code", - "execution_count": 42, - "id": "0c8ad265", + "execution_count": 41, + "id": "93c8b0c6", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -3840,7 +4166,7 @@ }, { "cell_type": "markdown", - "id": "27eb888f", + "id": "ff36a22e", "metadata": { "editable": true }, @@ -3850,11 +4176,14 @@ }, { "cell_type": "code", - "execution_count": 43, - "id": "0c020242", + "execution_count": 42, + "id": "35feafa3", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -3865,7 +4194,7 @@ }, { "cell_type": "markdown", - "id": "bb3fef33", + "id": "1c4ac2dc", "metadata": { "editable": true }, @@ -3887,19 +4216,19 @@ }, { "cell_type": "markdown", - "id": "d659638c", + "id": "dc2eacf3", "metadata": { "editable": true }, "source": [ "$$\n", - "\\chi^2(\\boldsymbol{\\beta})=\\frac{1}{n}\\sum_{i=0}^{n-1}\\frac{\\left(y_i-\\tilde{y}_i\\right)^2}{\\sigma_i^2}=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)^T\\frac{1}{\\boldsymbol{\\Sigma^2}}\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)\\right\\},\n", + "\\chi^2(\\boldsymbol{\\theta})=\\frac{1}{n}\\sum_{i=0}^{n-1}\\frac{\\left(y_i-\\tilde{y}_i\\right)^2}{\\sigma_i^2}=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)^T\\frac{1}{\\boldsymbol{\\Sigma^2}}\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)\\right\\},\n", "$$" ] }, { "cell_type": "markdown", - "id": "ef78560f", + "id": "48c5a8b6", "metadata": { "editable": true }, @@ -3909,31 +4238,31 @@ }, { "cell_type": "markdown", - "id": "3276dd35", + "id": "abc4699e", "metadata": { "editable": true }, "source": [ "## The $\\chi^2$ function\n", "\n", - "In order to find the parameters $\\beta_i$ we will then minimize the spread of $\\chi^2(\\boldsymbol{\\beta})$ by requiring" + "In order to find the parameters $\\theta_i$ we will then minimize the spread of $\\chi^2(\\boldsymbol{\\theta})$ by requiring" ] }, { "cell_type": "markdown", - "id": "55f7626e", + "id": "4db48e9d", "metadata": { "editable": true }, "source": [ "$$\n", - "\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\beta_j} = \\frac{\\partial }{\\partial \\beta_j}\\left[ \\frac{1}{n}\\sum_{i=0}^{n-1}\\left(\\frac{y_i-\\beta_0x_{i,0}-\\beta_1x_{i,1}-\\beta_2x_{i,2}-\\dots-\\beta_{n-1}x_{i,n-1}}{\\sigma_i}\\right)^2\\right]=0,\n", + "\\frac{\\partial \\chi^2(\\boldsymbol{\\theta})}{\\partial \\theta_j} = \\frac{\\partial }{\\partial \\theta_j}\\left[ \\frac{1}{n}\\sum_{i=0}^{n-1}\\left(\\frac{y_i-\\theta_0x_{i,0}-\\theta_1x_{i,1}-\\theta_2x_{i,2}-\\dots-\\theta_{n-1}x_{i,n-1}}{\\sigma_i}\\right)^2\\right]=0,\n", "$$" ] }, { "cell_type": "markdown", - "id": "d5b1de04", + "id": "350fec9b", "metadata": { "editable": true }, @@ -3943,19 +4272,19 @@ }, { "cell_type": "markdown", - "id": "0002baf4", + "id": "b474ddf5", "metadata": { "editable": true }, "source": [ "$$\n", - "\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\beta_j} = -\\frac{2}{n}\\left[ \\sum_{i=0}^{n-1}\\frac{x_{ij}}{\\sigma_i}\\left(\\frac{y_i-\\beta_0x_{i,0}-\\beta_1x_{i,1}-\\beta_2x_{i,2}-\\dots-\\beta_{n-1}x_{i,n-1}}{\\sigma_i}\\right)\\right]=0,\n", + "\\frac{\\partial \\chi^2(\\boldsymbol{\\theta})}{\\partial \\theta_j} = -\\frac{2}{n}\\left[ \\sum_{i=0}^{n-1}\\frac{x_{ij}}{\\sigma_i}\\left(\\frac{y_i-\\theta_0x_{i,0}-\\theta_1x_{i,1}-\\theta_2x_{i,2}-\\dots-\\theta_{n-1}x_{i,n-1}}{\\sigma_i}\\right)\\right]=0,\n", "$$" ] }, { "cell_type": "markdown", - "id": "cb2d79fc", + "id": "67fc1d79", "metadata": { "editable": true }, @@ -3965,19 +4294,19 @@ }, { "cell_type": "markdown", - "id": "5e5d8323", + "id": "6aa9f684", "metadata": { "editable": true }, "source": [ "$$\n", - "\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}} = 0 = \\boldsymbol{A}^T\\left( \\boldsymbol{b}-\\boldsymbol{A}\\boldsymbol{\\beta}\\right).\n", + "\\frac{\\partial \\chi^2(\\boldsymbol{\\theta})}{\\partial \\boldsymbol{\\theta}} = 0 = \\boldsymbol{A}^T\\left( \\boldsymbol{b}-\\boldsymbol{A}\\boldsymbol{\\theta}\\right).\n", "$$" ] }, { "cell_type": "markdown", - "id": "bbdb2187", + "id": "ce023be0", "metadata": { "editable": true }, @@ -3987,7 +4316,7 @@ }, { "cell_type": "markdown", - "id": "416423f0", + "id": "3754c848", "metadata": { "editable": true }, @@ -3999,19 +4328,19 @@ }, { "cell_type": "markdown", - "id": "44f7132a", + "id": "4d884286", "metadata": { "editable": true }, "source": [ "$$\n", - "\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}} = 0 = \\boldsymbol{A}^T\\left( \\boldsymbol{b}-\\boldsymbol{A}\\boldsymbol{\\beta}\\right),\n", + "\\frac{\\partial \\chi^2(\\boldsymbol{\\theta})}{\\partial \\boldsymbol{\\theta}} = 0 = \\boldsymbol{A}^T\\left( \\boldsymbol{b}-\\boldsymbol{A}\\boldsymbol{\\theta}\\right),\n", "$$" ] }, { "cell_type": "markdown", - "id": "15f77cf3", + "id": "f8446340", "metadata": { "editable": true }, @@ -4021,19 +4350,19 @@ }, { "cell_type": "markdown", - "id": "a74aad79", + "id": "a6830538", "metadata": { "editable": true }, "source": [ "$$\n", - "\\boldsymbol{A}^T\\boldsymbol{b} = \\boldsymbol{A}^T\\boldsymbol{A}\\boldsymbol{\\beta},\n", + "\\boldsymbol{A}^T\\boldsymbol{b} = \\boldsymbol{A}^T\\boldsymbol{A}\\boldsymbol{\\theta},\n", "$$" ] }, { "cell_type": "markdown", - "id": "d93142c1", + "id": "84f9e6b4", "metadata": { "editable": true }, @@ -4043,19 +4372,19 @@ }, { "cell_type": "markdown", - "id": "e6fdf1ea", + "id": "586509f5", "metadata": { "editable": true }, "source": [ "$$\n", - "\\boldsymbol{\\beta} =\\left(\\boldsymbol{A}^T\\boldsymbol{A}\\right)^{-1}\\boldsymbol{A}^T\\boldsymbol{b}.\n", + "\\boldsymbol{\\theta} =\\left(\\boldsymbol{A}^T\\boldsymbol{A}\\right)^{-1}\\boldsymbol{A}^T\\boldsymbol{b}.\n", "$$" ] }, { "cell_type": "markdown", - "id": "3617b5ab", + "id": "ff04787a", "metadata": { "editable": true }, @@ -4067,7 +4396,7 @@ }, { "cell_type": "markdown", - "id": "ddc7db97", + "id": "fab40e86", "metadata": { "editable": true }, @@ -4079,51 +4408,51 @@ }, { "cell_type": "markdown", - "id": "10c719b9", + "id": "175c9026", "metadata": { "editable": true }, "source": [ - "we have then the following expression for the parameters $\\beta_j$ (the matrix elements of $\\boldsymbol{H}$ are $h_{ij}$)" + "we have then the following expression for the parameters $\\theta_j$ (the matrix elements of $\\boldsymbol{H}$ are $h_{ij}$)" ] }, { "cell_type": "markdown", - "id": "72033602", + "id": "8b8d1d83", "metadata": { "editable": true }, "source": [ "$$\n", - "\\beta_j = \\sum_{k=0}^{p-1}h_{jk}\\sum_{i=0}^{n-1}\\frac{y_i}{\\sigma_i}\\frac{x_{ik}}{\\sigma_i} = \\sum_{k=0}^{p-1}h_{jk}\\sum_{i=0}^{n-1}b_ia_{ik}\n", + "\\theta_j = \\sum_{k=0}^{p-1}h_{jk}\\sum_{i=0}^{n-1}\\frac{y_i}{\\sigma_i}\\frac{x_{ik}}{\\sigma_i} = \\sum_{k=0}^{p-1}h_{jk}\\sum_{i=0}^{n-1}b_ia_{ik}\n", "$$" ] }, { "cell_type": "markdown", - "id": "78f38146", + "id": "0c64f049", "metadata": { "editable": true }, "source": [ - "We state without proof the expression for the uncertainty in the parameters $\\beta_j$ as (we leave this as an exercise)" + "We state without proof the expression for the uncertainty in the parameters $\\theta_j$ as (we leave this as an exercise)" ] }, { "cell_type": "markdown", - "id": "1ed84932", + "id": "2a591f8f", "metadata": { "editable": true }, "source": [ "$$\n", - "\\sigma^2(\\beta_j) = \\sum_{i=0}^{n-1}\\sigma_i^2\\left( \\frac{\\partial \\beta_j}{\\partial y_i}\\right)^2,\n", + "\\sigma^2(\\theta_j) = \\sum_{i=0}^{n-1}\\sigma_i^2\\left( \\frac{\\partial \\theta_j}{\\partial y_i}\\right)^2,\n", "$$" ] }, { "cell_type": "markdown", - "id": "3b77049d", + "id": "956b5691", "metadata": { "editable": true }, @@ -4133,19 +4462,19 @@ }, { "cell_type": "markdown", - "id": "603de59c", + "id": "85b1bd72", "metadata": { "editable": true }, "source": [ "$$\n", - "\\sigma^2(\\beta_j) = \\left(\\sum_{k=0}^{p-1}h_{jk}\\sum_{i=0}^{n-1}a_{ik}\\right)\\left(\\sum_{l=0}^{p-1}h_{jl}\\sum_{m=0}^{n-1}a_{ml}\\right) = h_{jj}!\n", + "\\sigma^2(\\theta_j) = \\left(\\sum_{k=0}^{p-1}h_{jk}\\sum_{i=0}^{n-1}a_{ik}\\right)\\left(\\sum_{l=0}^{p-1}h_{jl}\\sum_{m=0}^{n-1}a_{ml}\\right) = h_{jj}!\n", "$$" ] }, { "cell_type": "markdown", - "id": "3e6d5aed", + "id": "6950fb95", "metadata": { "editable": true }, @@ -4156,41 +4485,41 @@ }, { "cell_type": "markdown", - "id": "41f94dce", + "id": "e2d998e7", "metadata": { "editable": true }, "source": [ "$$\n", - "y=y(x) \\rightarrow y(x_i) \\approx \\beta_0+\\beta_1 x_i.\n", + "y=y(x) \\rightarrow y(x_i) \\approx \\theta_0+\\theta_1 x_i.\n", "$$" ] }, { "cell_type": "markdown", - "id": "98f8345b", + "id": "79e10d20", "metadata": { "editable": true }, "source": [ - "By computing the derivatives of $\\chi^2$ with respect to $\\beta_0$ and $\\beta_1$ show that these are given by" + "By computing the derivatives of $\\chi^2$ with respect to $\\theta_0$ and $\\theta_1$ show that these are given by" ] }, { "cell_type": "markdown", - "id": "f142d7f9", + "id": "6585dbe2", "metadata": { "editable": true }, "source": [ "$$\n", - "\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\beta_0} = -2\\left[ \\frac{1}{n}\\sum_{i=0}^{n-1}\\left(\\frac{y_i-\\beta_0-\\beta_1x_{i}}{\\sigma_i^2}\\right)\\right]=0,\n", + "\\frac{\\partial \\chi^2(\\boldsymbol{\\theta})}{\\partial \\theta_0} = -2\\left[ \\frac{1}{n}\\sum_{i=0}^{n-1}\\left(\\frac{y_i-\\theta_0-\\theta_1x_{i}}{\\sigma_i^2}\\right)\\right]=0,\n", "$$" ] }, { "cell_type": "markdown", - "id": "e4575d6c", + "id": "4291e4ad", "metadata": { "editable": true }, @@ -4200,19 +4529,19 @@ }, { "cell_type": "markdown", - "id": "dc2f8a7c", + "id": "6a50444a", "metadata": { "editable": true }, "source": [ "$$\n", - "\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\beta_1} = -\\frac{2}{n}\\left[ \\sum_{i=0}^{n-1}x_i\\left(\\frac{y_i-\\beta_0-\\beta_1x_{i}}{\\sigma_i^2}\\right)\\right]=0.\n", + "\\frac{\\partial \\chi^2(\\boldsymbol{\\theta})}{\\partial \\theta_1} = -\\frac{2}{n}\\left[ \\sum_{i=0}^{n-1}x_i\\left(\\frac{y_i-\\theta_0-\\theta_1x_{i}}{\\sigma_i^2}\\right)\\right]=0.\n", "$$" ] }, { "cell_type": "markdown", - "id": "25a1cd71", + "id": "58d08cf2", "metadata": { "editable": true }, @@ -4225,7 +4554,7 @@ }, { "cell_type": "markdown", - "id": "473304d0", + "id": "8215c3c6", "metadata": { "editable": true }, @@ -4237,7 +4566,7 @@ }, { "cell_type": "markdown", - "id": "4f4e9c4f", + "id": "09efd53b", "metadata": { "editable": true }, @@ -4249,7 +4578,7 @@ }, { "cell_type": "markdown", - "id": "13fff9bd", + "id": "6c694cf4", "metadata": { "editable": true }, @@ -4261,7 +4590,7 @@ }, { "cell_type": "markdown", - "id": "8261a0b8", + "id": "909419d5", "metadata": { "editable": true }, @@ -4273,7 +4602,7 @@ }, { "cell_type": "markdown", - "id": "7930c214", + "id": "2d35d3a4", "metadata": { "editable": true }, @@ -4285,7 +4614,7 @@ }, { "cell_type": "markdown", - "id": "f725ea54", + "id": "845b476b", "metadata": { "editable": true }, @@ -4295,559 +4624,61 @@ }, { "cell_type": "markdown", - "id": "5464e0a7", + "id": "644470d4", "metadata": { "editable": true }, "source": [ "$$\n", - "\\beta_0 = \\frac{\\gamma_{xx}\\gamma_y-\\gamma_x\\gamma_y}{\\gamma\\gamma_{xx}-\\gamma_x^2},\n", + "\\theta_0 = \\frac{\\gamma_{xx}\\gamma_y-\\gamma_x\\gamma_y}{\\gamma\\gamma_{xx}-\\gamma_x^2},\n", "$$" ] }, { "cell_type": "markdown", - "id": "b5467729", + "id": "6c4ad6c8", "metadata": { "editable": true }, "source": [ "$$\n", - "\\beta_1 = \\frac{\\gamma_{xy}\\gamma-\\gamma_x\\gamma_y}{\\gamma\\gamma_{xx}-\\gamma_x^2}.\n", + "\\theta_1 = \\frac{\\gamma_{xy}\\gamma-\\gamma_x\\gamma_y}{\\gamma\\gamma_{xx}-\\gamma_x^2}.\n", "$$" ] }, { "cell_type": "markdown", - "id": "235f08d7", + "id": "839e60fb", "metadata": { "editable": true }, "source": [ "This approach (different linear and non-linear regression) suffers\n", "often from both being underdetermined and overdetermined in the\n", - "unknown coefficients $\\beta_i$. A better approach is to use the\n", + "unknown coefficients $\\theta_i$. A better approach is to use the\n", "Singular Value Decomposition (SVD) method discussed next week." ] - }, - { - "cell_type": "markdown", - "id": "f3048d2a", - "metadata": { - "editable": true - }, - "source": [ - "## Fitting an Equation of State for Dense Nuclear Matter\n", - "\n", - "Before we continue, let us introduce yet another example. We are going to fit the\n", - "nuclear equation of state using results from many-body calculations.\n", - "The equation of state we have made available here, as function of\n", - "density, has been derived using modern nucleon-nucleon potentials with\n", - "[the addition of three-body\n", - "forces](https://www.sciencedirect.com/science/article/pii/S0370157399001106). This\n", - "time the file is presented as a standard **csv** file.\n", - "\n", - "The beginning of the Python code here is similar to what you have seen\n", - "before, with the same initializations and declarations. We use also\n", - "**pandas** again, rather extensively in order to organize our data.\n", - "\n", - "The difference now is that we use **Scikit-Learn's** regression tools\n", - "instead of our own matrix inversion implementation. Furthermore, we\n", - "sneak in **Ridge** regression (to be discussed below) which includes a\n", - "hyperparameter $\\lambda$, also to be explained below." - ] - }, - { - "cell_type": "markdown", - "id": "bb20fe34", - "metadata": { - "editable": true - }, - "source": [ - "## The code" - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "id": "35ee163e", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], - "source": [ - "# Common imports\n", - "import os\n", - "import numpy as np\n", - "import pandas as pd\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.pyplot as plt\n", - "import sklearn.linear_model as skl\n", - "from sklearn.metrics import mean_squared_error, r2_score, mean_absolute_error\n", - "\n", - "# Where to save the figures and data files\n", - "PROJECT_ROOT_DIR = \"Results\"\n", - "FIGURE_ID = \"Results/FigureFiles\"\n", - "DATA_ID = \"DataFiles/\"\n", - "\n", - "if not os.path.exists(PROJECT_ROOT_DIR):\n", - " os.mkdir(PROJECT_ROOT_DIR)\n", - "\n", - "if not os.path.exists(FIGURE_ID):\n", - " os.makedirs(FIGURE_ID)\n", - "\n", - "if not os.path.exists(DATA_ID):\n", - " os.makedirs(DATA_ID)\n", - "\n", - "def image_path(fig_id):\n", - " return os.path.join(FIGURE_ID, fig_id)\n", - "\n", - "def data_path(dat_id):\n", - " return os.path.join(DATA_ID, dat_id)\n", - "\n", - "def save_fig(fig_id):\n", - " plt.savefig(image_path(fig_id) + \".png\", format='png')\n", - "\n", - "infile = open(data_path(\"EoS.csv\"),'r')\n", - "\n", - "# Read the EoS data as csv file and organize the data into two arrays with density and energies\n", - "EoS = pd.read_csv(infile, names=('Density', 'Energy'))\n", - "EoS['Energy'] = pd.to_numeric(EoS['Energy'], errors='coerce')\n", - "EoS = EoS.dropna()\n", - "Energies = EoS['Energy']\n", - "Density = EoS['Density']\n", - "# The design matrix now as function of various polytrops\n", - "X = np.zeros((len(Density),4))\n", - "X[:,3] = Density**(4.0/3.0)\n", - "X[:,2] = Density\n", - "X[:,1] = Density**(2.0/3.0)\n", - "X[:,0] = 1\n", - "\n", - "# We use now Scikit-Learn's linear regressor and ridge regressor\n", - "# OLS part\n", - "clf = skl.LinearRegression().fit(X, Energies)\n", - "ytilde = clf.predict(X)\n", - "EoS['Eols'] = ytilde\n", - "# The mean squared error \n", - "print(\"Mean squared error: %.2f\" % mean_squared_error(Energies, ytilde))\n", - "# Explained variance score: 1 is perfect prediction \n", - "print('Variance score: %.2f' % r2_score(Energies, ytilde))\n", - "# Mean absolute error \n", - "print('Mean absolute error: %.2f' % mean_absolute_error(Energies, ytilde))\n", - "print(clf.coef_, clf.intercept_)\n", - "\n", - "# The Ridge regression with a hyperparameter lambda = 0.1\n", - "_lambda = 0.1\n", - "clf_ridge = skl.Ridge(alpha=_lambda).fit(X, Energies)\n", - "yridge = clf_ridge.predict(X)\n", - "EoS['Eridge'] = yridge\n", - "# The mean squared error \n", - "print(\"Mean squared error: %.2f\" % mean_squared_error(Energies, yridge))\n", - "# Explained variance score: 1 is perfect prediction \n", - "print('Variance score: %.2f' % r2_score(Energies, yridge))\n", - "# Mean absolute error \n", - "print('Mean absolute error: %.2f' % mean_absolute_error(Energies, yridge))\n", - "print(clf_ridge.coef_, clf_ridge.intercept_)\n", - "\n", - "fig, ax = plt.subplots()\n", - "ax.set_xlabel(r'$\\rho[\\mathrm{fm}^{-3}]$')\n", - "ax.set_ylabel(r'Energy per particle')\n", - "ax.plot(EoS['Density'], EoS['Energy'], alpha=0.7, lw=2,\n", - " label='Theoretical data')\n", - "ax.plot(EoS['Density'], EoS['Eols'], alpha=0.7, lw=2, c='m',\n", - " label='OLS')\n", - "ax.plot(EoS['Density'], EoS['Eridge'], alpha=0.7, lw=2, c='g',\n", - " label='Ridge $\\lambda = 0.1$')\n", - "ax.legend()\n", - "save_fig(\"EoSfitting\")\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "c5a4e5c0", - "metadata": { - "editable": true - }, - "source": [ - "The above simple polynomial in density $\\rho$ gives an excellent fit\n", - "to the data. \n", - "\n", - "We note also that there is a small deviation between the\n", - "standard OLS and the Ridge regression at higher densities. We discuss this in more detail\n", - "below." - ] - }, - { - "cell_type": "markdown", - "id": "8da3e108", - "metadata": { - "editable": true - }, - "source": [ - "## Splitting our Data in Training and Test data\n", - "\n", - "It is normal in essentially all Machine Learning studies to split the\n", - "data in a training set and a test set (sometimes also an additional\n", - "validation set). **Scikit-Learn** has an own function for this. There\n", - "is no explicit recipe for how much data should be included as training\n", - "data and say test data. An accepted rule of thumb is to use\n", - "approximately $2/3$ to $4/5$ of the data as training data. We will\n", - "postpone a discussion of this splitting to the end of these notes and\n", - "our discussion of the so-called **bias-variance** tradeoff. Here we\n", - "limit ourselves to repeat the above equation of state fitting example\n", - "but now splitting the data into a training set and a test set." - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "1aff0fd4", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], - "source": [ - "import os\n", - "import numpy as np\n", - "import pandas as pd\n", - "import matplotlib.pyplot as plt\n", - "from sklearn.model_selection import train_test_split\n", - "# 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", - "def R2(y_data, y_model):\n", - " return 1 - np.sum((y_data - y_model) ** 2) / np.sum((y_data - np.mean(y_data)) ** 2)\n", - "def MSE(y_data,y_model):\n", - " n = np.size(y_model)\n", - " return np.sum((y_data-y_model)**2)/n\n", - "\n", - "infile = open(data_path(\"EoS.csv\"),'r')\n", - "\n", - "# Read the EoS data as csv file and organized into two arrays with density and energies\n", - "EoS = pd.read_csv(infile, names=('Density', 'Energy'))\n", - "EoS['Energy'] = pd.to_numeric(EoS['Energy'], errors='coerce')\n", - "EoS = EoS.dropna()\n", - "Energies = EoS['Energy']\n", - "Density = EoS['Density']\n", - "# The design matrix now as function of various polytrops\n", - "X = np.zeros((len(Density),5))\n", - "X[:,0] = 1\n", - "X[:,1] = Density**(2.0/3.0)\n", - "X[:,2] = Density\n", - "X[:,3] = Density**(4.0/3.0)\n", - "X[:,4] = Density**(5.0/3.0)\n", - "# We split the data in test and training data\n", - "X_train, X_test, y_train, y_test = train_test_split(X, Energies, test_size=0.2)\n", - "# matrix inversion to find beta\n", - "beta = np.linalg.inv(X_train.T.dot(X_train)).dot(X_train.T).dot(y_train)\n", - "# and then make the prediction\n", - "ytilde = X_train @ beta\n", - "print(\"Training R2\")\n", - "print(R2(y_train,ytilde))\n", - "print(\"Training MSE\")\n", - "print(MSE(y_train,ytilde))\n", - "ypredict = X_test @ beta\n", - "print(\"Test R2\")\n", - "print(R2(y_test,ypredict))\n", - "print(\"Test MSE\")\n", - "print(MSE(y_test,ypredict))" - ] - }, - { - "cell_type": "markdown", - "id": "0fb0d3a7", - "metadata": { - "editable": true - }, - "source": [ - "## Exercises\n", - "\n", - "Here are three possible exercises for week 34" - ] - }, - { - "cell_type": "markdown", - "id": "f7702dde", - "metadata": { - "editable": true - }, - "source": [ - "## Exercise 1: Setting up various Python environments\n", - "\n", - "The first exercise here is of a mere technical art. We want you to have \n", - "* 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). \n", - "\n", - "* Install various Python packages\n", - "\n", - "We will make extensive use of Python as programming language and its\n", - "myriad of available libraries. You will find\n", - "IPython/Jupyter notebooks invaluable in your work. You can run **R**\n", - "codes in the Jupyter/IPython notebooks, with the immediate benefit of\n", - "visualizing your data. You can also use compiled languages like C++,\n", - "Rust, Fortran etc if you prefer. The focus in these lectures will be\n", - "on Python.\n", - "\n", - "If you have Python installed (we recommend Python3) and you feel\n", - "pretty familiar with installing different packages, we recommend that\n", - "you install the following Python packages via **pip** as \n", - "\n", - "1. pip install numpy scipy matplotlib ipython scikit-learn sympy pandas pillow \n", - "\n", - "For **Tensorflow**, we recommend following the instructions in the text of \n", - "[Aurelien Geron, Hands‑On Machine Learning with Scikit‑Learn and TensorFlow, O'Reilly](http://shop.oreilly.com/product/0636920052289.do)\n", - "\n", - "We will come back to **tensorflow** later. \n", - "\n", - "For Python3, replace **pip** with **pip3**.\n", - "\n", - "For OSX users we recommend, after having installed Xcode, to\n", - "install **brew**. Brew allows for a seamless installation of additional\n", - "software via for example \n", - "\n", - "1. brew install python3\n", - "\n", - "For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution,\n", - "you can use **pip** as well and simply install Python as \n", - "\n", - "1. sudo apt-get install python3 (or python for Python2.7)\n", - "\n", - "If you don't want to perform these operations separately and venture\n", - "into the hassle of exploring how to set up dependencies and paths, we\n", - "recommend two widely used distrubutions which set up all relevant\n", - "dependencies for Python, namely \n", - "\n", - "* [Anaconda](https://docs.anaconda.com/), \n", - "\n", - "which is an open source\n", - "distribution of the Python and R programming languages for large-scale\n", - "data processing, predictive analytics, and scientific computing, that\n", - "aims to simplify package management and deployment. Package versions\n", - "are managed by the package management system **conda**. \n", - "\n", - "* [Enthought canopy](https://www.enthought.com/product/canopy/) \n", - "\n", - "is a Python\n", - "distribution for scientific and analytic computing distribution and\n", - "analysis environment, available for free and under a commercial\n", - "license.\n", - "\n", - "We recommend using **Anaconda** if you are not too familiar with setting paths in a terminal environment." - ] - }, - { - "cell_type": "markdown", - "id": "935acb47", - "metadata": { - "editable": true - }, - "source": [ - "## Exercise 2: making your own data and exploring scikit-learn\n", - "\n", - "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)$.\n", - "The following simple Python instructions define our $x$ and $y$ values (with 100 data points)." - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "87535c63", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], - "source": [ - "x = np.random.rand(100,1)\n", - "y = 2.0+5*x*x+0.1*np.random.randn(100,1)" - ] - }, - { - "cell_type": "markdown", - "id": "7c311090", - "metadata": { - "editable": true - }, - "source": [ - "1. Write your own code (following the examples under the [regression notes](https://compphysics.github.io/MachineLearning/doc/LectureNotes/_build/html/chapter1.html)) for computing the parametrization of the data set fitting a second-order polynomial. \n", - "\n", - "2. Use thereafter **scikit-learn** (see again the examples in the regression slides) and compare with your own code. \n", - "\n", - "3. Using scikit-learn, compute also the mean square error, a risk metric corresponding to the expected value of the squared (quadratic) error defined as" - ] - }, - { - "cell_type": "markdown", - "id": "ad4db937", - "metadata": { - "editable": true - }, - "source": [ - "$$\n", - "MSE(\\boldsymbol{y},\\boldsymbol{\\tilde{y}}) = \\frac{1}{n}\n", - "\\sum_{i=0}^{n-1}(y_i-\\tilde{y}_i)^2,\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "id": "fccb3b16", - "metadata": { - "editable": true - }, - "source": [ - "and the $R^2$ score function.\n", - "If $\\tilde{\\boldsymbol{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" - ] - }, - { - "cell_type": "markdown", - "id": "f416d015", - "metadata": { - "editable": true - }, - "source": [ - "$$\n", - "R^2(\\boldsymbol{y}, \\tilde{\\boldsymbol{y}}) = 1 - \\frac{\\sum_{i=0}^{n - 1} (y_i - \\tilde{y}_i)^2}{\\sum_{i=0}^{n - 1} (y_i - \\bar{y})^2},\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "id": "cfaa7d99", - "metadata": { - "editable": true - }, - "source": [ - "where we have defined the mean value of $\\boldsymbol{y}$ as" - ] - }, - { - "cell_type": "markdown", - "id": "9c199743", - "metadata": { - "editable": true - }, - "source": [ - "$$\n", - "\\bar{y} = \\frac{1}{n} \\sum_{i=0}^{n - 1} y_i.\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "id": "a0541d84", - "metadata": { - "editable": true - }, - "source": [ - "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. \n", - "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." - ] - }, - { - "cell_type": "markdown", - "id": "8c39881f", - "metadata": { - "editable": true - }, - "source": [ - "## Exercise 3: Split data in test and training data\n", - "\n", - "In this exercise we want you to to compute the MSE for the training\n", - "data and the test data as function of the complexity of a polynomial,\n", - "that is the degree of a given polynomial.\n", - "\n", - "The aim is to reproduce Figure 2.11 of [Hastie et al](https://github.com/CompPhysics/MLErasmus/blob/master/doc/Textbooks/elementsstat.pdf).\n", - "\n", - "Our data is defined by $x\\in [-3,3]$ with a total of for example $n=100$ data points. You should try to vary the number of data points $n$ in your analysis." - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "id": "89affacb", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], - "source": [ - "np.random.seed()\n", - "n = 100\n", - "# Make data set.\n", - "x = np.linspace(-3, 3, n).reshape(-1, 1)\n", - "y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)" - ] - }, - { - "cell_type": "markdown", - "id": "36549394", - "metadata": { - "editable": true - }, - "source": [ - "where $y$ is the function we want to fit with a given polynomial." - ] - }, - { - "cell_type": "markdown", - "id": "16790d60", - "metadata": { - "editable": true - }, - "source": [ - "**a)**\n", - "Write a first code which sets up a design matrix $X$ defined by a fifth-order polynomial and split your data set in training and test data." - ] - }, - { - "cell_type": "markdown", - "id": "ed00ffa0", - "metadata": { - "editable": true - }, - "source": [ - "**b)**\n", - "Write thereafter (using either **scikit-learn** or your matrix inversion code using for example **numpy**)\n", - "and perform an ordinary least squares fitting and compute the mean squared error for the training data and the test data. These calculations should apply to a model given by a fifth-order polynomial." - ] - }, - { - "cell_type": "markdown", - "id": "8085b9fd", - "metadata": { - "editable": true - }, - "source": [ - "**c)**\n", - "Add now a model which allows you to make polynomials up to degree $15$. Perform a standard OLS fitting of the training data and compute the MSE for the training and test data and plot both test and training data MSE as functions of the polynomial degree. Compare what you see with Figure 2.11 of Hastie et al. Comment your results. For which polynomial degree do you find an optimal MSE (smallest value)?" - ] } ], - "metadata": {}, + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.15" + } + }, "nbformat": 4, "nbformat_minor": 5 } diff --git a/doc/LectureNotes/_build/html/_static/pygments.css b/doc/LectureNotes/_build/html/_static/pygments.css index d7dd57783..012e6a00a 100644 --- a/doc/LectureNotes/_build/html/_static/pygments.css +++ b/doc/LectureNotes/_build/html/_static/pygments.css @@ -6,11 +6,11 @@ html[data-theme="light"] .highlight span.linenos.special { color: #000000; backg html[data-theme="light"] .highlight .hll { background-color: #fae4c2 } html[data-theme="light"] .highlight { background: #fefefe; color: #080808 } html[data-theme="light"] .highlight .c { color: #515151 } /* Comment */ -html[data-theme="light"] .highlight .err { color: #A12236 } /* Error */ -html[data-theme="light"] .highlight .k { color: #6730C5 } /* Keyword */ -html[data-theme="light"] .highlight .l { color: #7F4707 } /* Literal */ +html[data-theme="light"] .highlight .err { color: #a12236 } /* Error */ +html[data-theme="light"] .highlight .k { color: #6730c5 } /* Keyword */ +html[data-theme="light"] .highlight .l { color: #7f4707 } /* Literal */ html[data-theme="light"] .highlight .n { color: #080808 } /* Name */ -html[data-theme="light"] .highlight .o { color: #00622F } /* Operator */ +html[data-theme="light"] .highlight .o { color: #00622f } /* Operator */ html[data-theme="light"] .highlight .p { color: #080808 } /* Punctuation */ html[data-theme="light"] .highlight .ch { color: #515151 } /* Comment.Hashbang */ html[data-theme="light"] .highlight .cm { color: #515151 } /* Comment.Multiline */ @@ -18,135 +18,135 @@ html[data-theme="light"] .highlight .cp { color: #515151 } /* Comment.Preproc */ html[data-theme="light"] .highlight .cpf { color: #515151 } /* Comment.PreprocFile */ html[data-theme="light"] .highlight .c1 { color: #515151 } /* Comment.Single */ html[data-theme="light"] .highlight .cs { color: #515151 } /* Comment.Special */ -html[data-theme="light"] .highlight .gd { color: #005B82 } /* Generic.Deleted */ +html[data-theme="light"] .highlight .gd { color: #005b82 } /* Generic.Deleted */ html[data-theme="light"] .highlight .ge { font-style: italic } /* Generic.Emph */ -html[data-theme="light"] .highlight .gh { color: #005B82 } /* Generic.Heading */ +html[data-theme="light"] .highlight .gh { color: #005b82 } /* Generic.Heading */ html[data-theme="light"] .highlight .gs { font-weight: bold } /* Generic.Strong */ -html[data-theme="light"] .highlight .gu { color: #005B82 } /* Generic.Subheading */ -html[data-theme="light"] .highlight .kc { color: #6730C5 } /* Keyword.Constant */ -html[data-theme="light"] .highlight .kd { color: #6730C5 } /* Keyword.Declaration */ -html[data-theme="light"] .highlight .kn { color: #6730C5 } /* Keyword.Namespace */ -html[data-theme="light"] .highlight .kp { color: #6730C5 } /* Keyword.Pseudo */ -html[data-theme="light"] .highlight .kr { color: #6730C5 } /* Keyword.Reserved */ -html[data-theme="light"] .highlight .kt { color: #7F4707 } /* Keyword.Type */ -html[data-theme="light"] .highlight .ld { color: #7F4707 } /* Literal.Date */ -html[data-theme="light"] .highlight .m { color: #7F4707 } /* Literal.Number */ -html[data-theme="light"] .highlight .s { color: #00622F } /* Literal.String */ +html[data-theme="light"] .highlight .gu { color: #005b82 } /* Generic.Subheading */ +html[data-theme="light"] .highlight .kc { color: #6730c5 } /* Keyword.Constant */ +html[data-theme="light"] .highlight .kd { color: #6730c5 } /* Keyword.Declaration */ +html[data-theme="light"] .highlight .kn { color: #6730c5 } /* Keyword.Namespace */ +html[data-theme="light"] .highlight .kp { color: #6730c5 } /* Keyword.Pseudo */ +html[data-theme="light"] .highlight .kr { color: #6730c5 } /* Keyword.Reserved */ +html[data-theme="light"] .highlight .kt { color: #7f4707 } /* Keyword.Type */ +html[data-theme="light"] .highlight .ld { color: #7f4707 } /* Literal.Date */ +html[data-theme="light"] .highlight .m { color: #7f4707 } /* Literal.Number */ +html[data-theme="light"] .highlight .s { color: #00622f } /* Literal.String */ html[data-theme="light"] .highlight .na { color: #912583 } /* Name.Attribute */ -html[data-theme="light"] .highlight .nb { color: #7F4707 } /* Name.Builtin */ -html[data-theme="light"] .highlight .nc { color: #005B82 } /* Name.Class */ -html[data-theme="light"] .highlight .no { color: #005B82 } /* Name.Constant */ -html[data-theme="light"] .highlight .nd { color: #7F4707 } /* Name.Decorator */ -html[data-theme="light"] .highlight .ni { color: #00622F } /* Name.Entity */ -html[data-theme="light"] .highlight .ne { color: #6730C5 } /* Name.Exception */ -html[data-theme="light"] .highlight .nf { color: #005B82 } /* Name.Function */ -html[data-theme="light"] .highlight .nl { color: #7F4707 } /* Name.Label */ +html[data-theme="light"] .highlight .nb { color: #7f4707 } /* Name.Builtin */ +html[data-theme="light"] .highlight .nc { color: #005b82 } /* Name.Class */ +html[data-theme="light"] .highlight .no { color: #005b82 } /* Name.Constant */ +html[data-theme="light"] .highlight .nd { color: #7f4707 } /* Name.Decorator */ +html[data-theme="light"] .highlight .ni { color: #00622f } /* Name.Entity */ +html[data-theme="light"] .highlight .ne { color: #6730c5 } /* Name.Exception */ +html[data-theme="light"] .highlight .nf { color: #005b82 } /* Name.Function */ +html[data-theme="light"] .highlight .nl { color: #7f4707 } /* Name.Label */ html[data-theme="light"] .highlight .nn { color: #080808 } /* Name.Namespace */ html[data-theme="light"] .highlight .nx { color: #080808 } /* Name.Other */ -html[data-theme="light"] .highlight .py { color: #005B82 } /* Name.Property */ -html[data-theme="light"] .highlight .nt { color: #005B82 } /* Name.Tag */ -html[data-theme="light"] .highlight .nv { color: #A12236 } /* Name.Variable */ -html[data-theme="light"] .highlight .ow { color: #6730C5 } /* Operator.Word */ +html[data-theme="light"] .highlight .py { color: #005b82 } /* Name.Property */ +html[data-theme="light"] .highlight .nt { color: #005b82 } /* Name.Tag */ +html[data-theme="light"] .highlight .nv { color: #a12236 } /* Name.Variable */ +html[data-theme="light"] .highlight .ow { color: #6730c5 } /* Operator.Word */ html[data-theme="light"] .highlight .pm { color: #080808 } /* Punctuation.Marker */ html[data-theme="light"] .highlight .w { color: #080808 } /* Text.Whitespace */ -html[data-theme="light"] .highlight .mb { color: #7F4707 } /* Literal.Number.Bin */ -html[data-theme="light"] .highlight .mf { color: #7F4707 } /* Literal.Number.Float */ -html[data-theme="light"] .highlight .mh { color: #7F4707 } /* Literal.Number.Hex */ -html[data-theme="light"] .highlight .mi { color: #7F4707 } /* Literal.Number.Integer */ -html[data-theme="light"] .highlight .mo { color: #7F4707 } /* Literal.Number.Oct */ -html[data-theme="light"] .highlight .sa { color: #00622F } /* Literal.String.Affix */ -html[data-theme="light"] .highlight .sb { color: #00622F } /* Literal.String.Backtick */ -html[data-theme="light"] .highlight .sc { color: #00622F } /* Literal.String.Char */ -html[data-theme="light"] .highlight .dl { color: #00622F } /* Literal.String.Delimiter */ -html[data-theme="light"] .highlight .sd { color: #00622F } /* Literal.String.Doc */ -html[data-theme="light"] .highlight .s2 { color: #00622F } /* Literal.String.Double */ -html[data-theme="light"] .highlight .se { color: #00622F } /* Literal.String.Escape */ -html[data-theme="light"] .highlight .sh { color: #00622F } /* Literal.String.Heredoc */ -html[data-theme="light"] .highlight .si { color: #00622F } /* Literal.String.Interpol */ -html[data-theme="light"] .highlight .sx { color: #00622F } /* Literal.String.Other */ -html[data-theme="light"] .highlight .sr { color: #A12236 } /* Literal.String.Regex */ -html[data-theme="light"] .highlight .s1 { color: #00622F } /* Literal.String.Single */ -html[data-theme="light"] .highlight .ss { color: #005B82 } /* Literal.String.Symbol */ -html[data-theme="light"] .highlight .bp { color: #7F4707 } /* Name.Builtin.Pseudo */ -html[data-theme="light"] .highlight .fm { color: #005B82 } /* Name.Function.Magic */ -html[data-theme="light"] .highlight .vc { color: #A12236 } /* Name.Variable.Class */ -html[data-theme="light"] .highlight .vg { color: #A12236 } /* Name.Variable.Global */ -html[data-theme="light"] .highlight .vi { color: #A12236 } /* Name.Variable.Instance */ -html[data-theme="light"] .highlight .vm { color: #7F4707 } /* Name.Variable.Magic */ -html[data-theme="light"] .highlight .il { color: #7F4707 } /* Literal.Number.Integer.Long */ +html[data-theme="light"] .highlight .mb { color: #7f4707 } /* Literal.Number.Bin */ +html[data-theme="light"] .highlight .mf { color: #7f4707 } /* Literal.Number.Float */ +html[data-theme="light"] .highlight .mh { color: #7f4707 } /* Literal.Number.Hex */ +html[data-theme="light"] .highlight .mi { color: #7f4707 } /* Literal.Number.Integer */ +html[data-theme="light"] .highlight .mo { color: #7f4707 } /* Literal.Number.Oct */ +html[data-theme="light"] .highlight .sa { color: #00622f } /* Literal.String.Affix */ +html[data-theme="light"] .highlight .sb { color: #00622f } /* Literal.String.Backtick */ +html[data-theme="light"] .highlight .sc { color: #00622f } /* Literal.String.Char */ +html[data-theme="light"] .highlight .dl { color: #00622f } /* Literal.String.Delimiter */ +html[data-theme="light"] .highlight .sd { color: #00622f } /* Literal.String.Doc */ +html[data-theme="light"] .highlight .s2 { color: #00622f } /* Literal.String.Double */ +html[data-theme="light"] .highlight .se { color: #00622f } /* Literal.String.Escape */ +html[data-theme="light"] .highlight .sh { color: #00622f } /* Literal.String.Heredoc */ +html[data-theme="light"] .highlight .si { color: #00622f } /* Literal.String.Interpol */ +html[data-theme="light"] .highlight .sx { color: #00622f } /* Literal.String.Other */ +html[data-theme="light"] .highlight .sr { color: #a12236 } /* Literal.String.Regex */ +html[data-theme="light"] .highlight .s1 { color: #00622f } /* Literal.String.Single */ +html[data-theme="light"] .highlight .ss { color: #005b82 } /* Literal.String.Symbol */ +html[data-theme="light"] .highlight .bp { color: #7f4707 } /* Name.Builtin.Pseudo */ +html[data-theme="light"] .highlight .fm { color: #005b82 } /* Name.Function.Magic */ +html[data-theme="light"] .highlight .vc { color: #a12236 } /* Name.Variable.Class */ +html[data-theme="light"] .highlight .vg { color: #a12236 } /* Name.Variable.Global */ +html[data-theme="light"] .highlight .vi { color: #a12236 } /* Name.Variable.Instance */ +html[data-theme="light"] .highlight .vm { color: #7f4707 } /* Name.Variable.Magic */ +html[data-theme="light"] .highlight .il { color: #7f4707 } /* Literal.Number.Integer.Long */ html[data-theme="dark"] .highlight pre { line-height: 125%; } html[data-theme="dark"] .highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } html[data-theme="dark"] .highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } html[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } html[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } html[data-theme="dark"] .highlight .hll { background-color: #ffd9002e } -html[data-theme="dark"] .highlight { background: #2b2b2b; color: #F8F8F2 } -html[data-theme="dark"] .highlight .c { color: #FFD900 } /* Comment */ -html[data-theme="dark"] .highlight .err { color: #FFA07A } /* Error */ -html[data-theme="dark"] .highlight .k { color: #DCC6E0 } /* Keyword */ -html[data-theme="dark"] .highlight .l { color: #FFD900 } /* Literal */ -html[data-theme="dark"] .highlight .n { color: #F8F8F2 } /* Name */ -html[data-theme="dark"] .highlight .o { color: #ABE338 } /* Operator */ -html[data-theme="dark"] .highlight .p { color: #F8F8F2 } /* Punctuation */ -html[data-theme="dark"] .highlight .ch { color: #FFD900 } /* Comment.Hashbang */ -html[data-theme="dark"] .highlight .cm { color: #FFD900 } /* Comment.Multiline */ -html[data-theme="dark"] .highlight .cp { color: #FFD900 } /* Comment.Preproc */ -html[data-theme="dark"] .highlight .cpf { color: #FFD900 } /* Comment.PreprocFile */ -html[data-theme="dark"] .highlight .c1 { color: #FFD900 } /* Comment.Single */ -html[data-theme="dark"] .highlight .cs { color: #FFD900 } /* Comment.Special */ -html[data-theme="dark"] .highlight .gd { color: #00E0E0 } /* Generic.Deleted */ +html[data-theme="dark"] .highlight { background: #2b2b2b; color: #f8f8f2 } +html[data-theme="dark"] .highlight .c { color: #ffd900 } /* Comment */ +html[data-theme="dark"] .highlight .err { color: #ffa07a } /* Error */ +html[data-theme="dark"] .highlight .k { color: #dcc6e0 } /* Keyword */ +html[data-theme="dark"] .highlight .l { color: #ffd900 } /* Literal */ +html[data-theme="dark"] .highlight .n { color: #f8f8f2 } /* Name */ +html[data-theme="dark"] .highlight .o { color: #abe338 } /* Operator */ +html[data-theme="dark"] .highlight .p { color: #f8f8f2 } /* Punctuation */ +html[data-theme="dark"] .highlight .ch { color: #ffd900 } /* Comment.Hashbang */ +html[data-theme="dark"] .highlight .cm { color: #ffd900 } /* Comment.Multiline */ +html[data-theme="dark"] .highlight .cp { color: #ffd900 } /* Comment.Preproc */ +html[data-theme="dark"] .highlight .cpf { color: #ffd900 } /* Comment.PreprocFile */ +html[data-theme="dark"] .highlight .c1 { color: #ffd900 } /* Comment.Single */ +html[data-theme="dark"] .highlight .cs { color: #ffd900 } /* Comment.Special */ +html[data-theme="dark"] .highlight .gd { color: #00e0e0 } /* Generic.Deleted */ html[data-theme="dark"] .highlight .ge { font-style: italic } /* Generic.Emph */ -html[data-theme="dark"] .highlight .gh { color: #00E0E0 } /* Generic.Heading */ +html[data-theme="dark"] .highlight .gh { color: #00e0e0 } /* Generic.Heading */ html[data-theme="dark"] .highlight .gs { font-weight: bold } /* Generic.Strong */ -html[data-theme="dark"] .highlight .gu { color: #00E0E0 } /* Generic.Subheading */ -html[data-theme="dark"] .highlight .kc { color: #DCC6E0 } /* Keyword.Constant */ -html[data-theme="dark"] .highlight .kd { color: #DCC6E0 } /* Keyword.Declaration */ -html[data-theme="dark"] .highlight .kn { color: #DCC6E0 } /* Keyword.Namespace */ -html[data-theme="dark"] .highlight .kp { color: #DCC6E0 } /* Keyword.Pseudo */ -html[data-theme="dark"] .highlight .kr { color: #DCC6E0 } /* Keyword.Reserved */ -html[data-theme="dark"] .highlight .kt { color: #FFD900 } /* Keyword.Type */ -html[data-theme="dark"] .highlight .ld { color: #FFD900 } /* Literal.Date */ -html[data-theme="dark"] .highlight .m { color: #FFD900 } /* Literal.Number */ -html[data-theme="dark"] .highlight .s { color: #ABE338 } /* Literal.String */ -html[data-theme="dark"] .highlight .na { color: #FFD900 } /* Name.Attribute */ -html[data-theme="dark"] .highlight .nb { color: #FFD900 } /* Name.Builtin */ -html[data-theme="dark"] .highlight .nc { color: #00E0E0 } /* Name.Class */ -html[data-theme="dark"] .highlight .no { color: #00E0E0 } /* Name.Constant */ -html[data-theme="dark"] .highlight .nd { color: #FFD900 } /* Name.Decorator */ -html[data-theme="dark"] .highlight .ni { color: #ABE338 } /* Name.Entity */ -html[data-theme="dark"] .highlight .ne { color: #DCC6E0 } /* Name.Exception */ -html[data-theme="dark"] .highlight .nf { color: #00E0E0 } /* Name.Function */ -html[data-theme="dark"] .highlight .nl { color: #FFD900 } /* Name.Label */ -html[data-theme="dark"] .highlight .nn { color: #F8F8F2 } /* Name.Namespace */ -html[data-theme="dark"] .highlight .nx { color: #F8F8F2 } /* Name.Other */ -html[data-theme="dark"] .highlight .py { color: #00E0E0 } /* Name.Property */ -html[data-theme="dark"] .highlight .nt { color: #00E0E0 } /* Name.Tag */ -html[data-theme="dark"] .highlight .nv { color: #FFA07A } /* Name.Variable */ -html[data-theme="dark"] .highlight .ow { color: #DCC6E0 } /* Operator.Word */ -html[data-theme="dark"] .highlight .pm { color: #F8F8F2 } /* Punctuation.Marker */ -html[data-theme="dark"] .highlight .w { color: #F8F8F2 } /* Text.Whitespace */ -html[data-theme="dark"] .highlight .mb { color: #FFD900 } /* Literal.Number.Bin */ -html[data-theme="dark"] .highlight .mf { color: #FFD900 } /* Literal.Number.Float */ -html[data-theme="dark"] .highlight .mh { color: #FFD900 } /* Literal.Number.Hex */ -html[data-theme="dark"] .highlight .mi { color: #FFD900 } /* Literal.Number.Integer */ -html[data-theme="dark"] .highlight .mo { color: #FFD900 } /* Literal.Number.Oct */ -html[data-theme="dark"] .highlight .sa { color: #ABE338 } /* Literal.String.Affix */ -html[data-theme="dark"] .highlight .sb { color: #ABE338 } /* Literal.String.Backtick */ -html[data-theme="dark"] .highlight .sc { color: #ABE338 } /* Literal.String.Char */ -html[data-theme="dark"] .highlight .dl { color: #ABE338 } /* Literal.String.Delimiter */ -html[data-theme="dark"] .highlight .sd { color: #ABE338 } /* Literal.String.Doc */ -html[data-theme="dark"] .highlight .s2 { color: #ABE338 } /* Literal.String.Double */ -html[data-theme="dark"] .highlight .se { color: #ABE338 } /* Literal.String.Escape */ -html[data-theme="dark"] .highlight .sh { color: #ABE338 } /* Literal.String.Heredoc */ -html[data-theme="dark"] .highlight .si { color: #ABE338 } /* Literal.String.Interpol */ -html[data-theme="dark"] .highlight .sx { color: #ABE338 } /* Literal.String.Other */ -html[data-theme="dark"] .highlight .sr { color: #FFA07A } /* Literal.String.Regex */ -html[data-theme="dark"] .highlight .s1 { color: #ABE338 } /* Literal.String.Single */ -html[data-theme="dark"] .highlight .ss { color: #00E0E0 } /* Literal.String.Symbol */ -html[data-theme="dark"] .highlight .bp { color: #FFD900 } /* Name.Builtin.Pseudo */ -html[data-theme="dark"] .highlight .fm { color: #00E0E0 } /* Name.Function.Magic */ -html[data-theme="dark"] .highlight .vc { color: #FFA07A } /* Name.Variable.Class */ -html[data-theme="dark"] .highlight .vg { color: #FFA07A } /* Name.Variable.Global */ -html[data-theme="dark"] .highlight .vi { color: #FFA07A } /* Name.Variable.Instance */ -html[data-theme="dark"] .highlight .vm { color: #FFD900 } /* Name.Variable.Magic */ -html[data-theme="dark"] .highlight .il { color: #FFD900 } /* Literal.Number.Integer.Long */ \ No newline at end of file +html[data-theme="dark"] .highlight .gu { color: #00e0e0 } /* Generic.Subheading */ +html[data-theme="dark"] .highlight .kc { color: #dcc6e0 } /* Keyword.Constant */ +html[data-theme="dark"] .highlight .kd { color: #dcc6e0 } /* Keyword.Declaration */ +html[data-theme="dark"] .highlight .kn { color: #dcc6e0 } /* Keyword.Namespace */ +html[data-theme="dark"] .highlight .kp { color: #dcc6e0 } /* Keyword.Pseudo */ +html[data-theme="dark"] .highlight .kr { color: #dcc6e0 } /* Keyword.Reserved */ +html[data-theme="dark"] .highlight .kt { color: #ffd900 } /* Keyword.Type */ +html[data-theme="dark"] .highlight .ld { color: #ffd900 } /* Literal.Date */ +html[data-theme="dark"] .highlight .m { color: #ffd900 } /* Literal.Number */ +html[data-theme="dark"] .highlight .s { color: #abe338 } /* Literal.String */ +html[data-theme="dark"] .highlight .na { color: #ffd900 } /* Name.Attribute */ +html[data-theme="dark"] .highlight .nb { color: #ffd900 } /* Name.Builtin */ +html[data-theme="dark"] .highlight .nc { color: #00e0e0 } /* Name.Class */ +html[data-theme="dark"] .highlight .no { color: #00e0e0 } /* Name.Constant */ +html[data-theme="dark"] .highlight .nd { color: #ffd900 } /* Name.Decorator */ +html[data-theme="dark"] .highlight .ni { color: #abe338 } /* Name.Entity */ +html[data-theme="dark"] .highlight .ne { color: #dcc6e0 } /* Name.Exception */ +html[data-theme="dark"] .highlight .nf { color: #00e0e0 } /* Name.Function */ +html[data-theme="dark"] .highlight .nl { color: #ffd900 } /* Name.Label */ +html[data-theme="dark"] .highlight .nn { color: #f8f8f2 } /* Name.Namespace */ +html[data-theme="dark"] .highlight .nx { color: #f8f8f2 } /* Name.Other */ +html[data-theme="dark"] .highlight .py { color: #00e0e0 } /* Name.Property */ +html[data-theme="dark"] .highlight .nt { color: #00e0e0 } /* Name.Tag */ +html[data-theme="dark"] .highlight .nv { color: #ffa07a } /* Name.Variable */ +html[data-theme="dark"] .highlight .ow { color: #dcc6e0 } /* Operator.Word */ +html[data-theme="dark"] .highlight .pm { color: #f8f8f2 } /* Punctuation.Marker */ +html[data-theme="dark"] .highlight .w { color: #f8f8f2 } /* Text.Whitespace */ +html[data-theme="dark"] .highlight .mb { color: #ffd900 } /* Literal.Number.Bin */ +html[data-theme="dark"] .highlight .mf { color: #ffd900 } /* Literal.Number.Float */ +html[data-theme="dark"] .highlight .mh { color: #ffd900 } /* Literal.Number.Hex */ +html[data-theme="dark"] .highlight .mi { color: #ffd900 } /* Literal.Number.Integer */ +html[data-theme="dark"] .highlight .mo { color: #ffd900 } /* Literal.Number.Oct */ +html[data-theme="dark"] .highlight .sa { color: #abe338 } /* Literal.String.Affix */ +html[data-theme="dark"] .highlight .sb { color: #abe338 } /* Literal.String.Backtick */ +html[data-theme="dark"] .highlight .sc { color: #abe338 } /* Literal.String.Char */ +html[data-theme="dark"] .highlight .dl { color: #abe338 } /* Literal.String.Delimiter */ +html[data-theme="dark"] .highlight .sd { color: #abe338 } /* Literal.String.Doc */ +html[data-theme="dark"] .highlight .s2 { color: #abe338 } /* Literal.String.Double */ +html[data-theme="dark"] .highlight .se { color: #abe338 } /* Literal.String.Escape */ +html[data-theme="dark"] .highlight .sh { color: #abe338 } /* Literal.String.Heredoc */ +html[data-theme="dark"] .highlight .si { color: #abe338 } /* Literal.String.Interpol */ +html[data-theme="dark"] .highlight .sx { color: #abe338 } /* Literal.String.Other */ +html[data-theme="dark"] .highlight .sr { color: #ffa07a } /* Literal.String.Regex */ +html[data-theme="dark"] .highlight .s1 { color: #abe338 } /* Literal.String.Single */ +html[data-theme="dark"] .highlight .ss { color: #00e0e0 } /* Literal.String.Symbol */ +html[data-theme="dark"] .highlight .bp { color: #ffd900 } /* Name.Builtin.Pseudo */ +html[data-theme="dark"] .highlight .fm { color: #00e0e0 } /* Name.Function.Magic */ +html[data-theme="dark"] .highlight .vc { color: #ffa07a } /* Name.Variable.Class */ +html[data-theme="dark"] .highlight .vg { color: #ffa07a } /* Name.Variable.Global */ +html[data-theme="dark"] .highlight .vi { color: #ffa07a } /* Name.Variable.Instance */ +html[data-theme="dark"] .highlight .vm { color: #ffd900 } /* Name.Variable.Magic */ +html[data-theme="dark"] .highlight .il { color: #ffd900 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/doc/LectureNotes/_build/html/_static/scripts/fontawesome.js b/doc/LectureNotes/_build/html/_static/scripts/fontawesome.js new file mode 100644 index 000000000..71955b429 --- /dev/null +++ b/doc/LectureNotes/_build/html/_static/scripts/fontawesome.js @@ -0,0 +1,3 @@ +/*! For license information please see fontawesome.js.LICENSE.txt */ +(()=>{var c={654:()=>{!function(){"use strict";var c={},l={};try{"undefined"!=typeof window&&(c=window),"undefined"!=typeof document&&(l=document)}catch(c){}var s=void 0===(v=(c.navigator||{}).userAgent)?"":v,a=c,z=l;function e(c,l){var s,a=Object.keys(c);return Object.getOwnPropertySymbols&&(s=Object.getOwnPropertySymbols(c),l&&(s=s.filter((function(l){return Object.getOwnPropertyDescriptor(c,l).enumerable}))),a.push.apply(a,s)),a}function H(c){for(var l=1;lc.length)&&(l=c.length);for(var s=0,a=new Array(l);sc.length)&&(l=c.length);for(var s=0,a=new Array(l);sc.length)&&(l=c.length);for(var s=0,a=new Array(l);sc.length)&&(l=c.length);for(var s=0,a=new Array(l);s>>0;s--;)l[s]=c[s];return l}function lc(c){return c.classList?cc(c.classList):(c.getAttribute("class")||"").split(" ").filter((function(c){return c}))}function sc(c){return"".concat(c).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function ac(c){return Object.keys(c||{}).reduce((function(l,s){return l+"".concat(s,": ").concat(c[s].trim(),";")}),"")}function zc(c){return c.size!==K.size||c.x!==K.x||c.y!==K.y||c.rotate!==K.rotate||c.flipX||c.flipY}function ec(){var c,l,s=d,a=B.cssPrefix,z=B.replacementClass,e=':host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Solid";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Regular";--fa-font-light:normal 300 1em/1 "Font Awesome 6 Light";--fa-font-thin:normal 100 1em/1 "Font Awesome 6 Thin";--fa-font-duotone:normal 900 1em/1 "Font Awesome 6 Duotone";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 6 Sharp";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}svg:not(:host).svg-inline--fa,svg:not(:root).svg-inline--fa{overflow:visible;box-sizing:content-box}.svg-inline--fa{display:var(--fa-display,inline-block);height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.0714285705em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left{margin-right:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-pull-right{margin-left:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);top:.25em}.svg-inline--fa.fa-fw{width:var(--fa-fw-width,1.25em)}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);overflow:hidden;padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);-webkit-transform:scale(var(--fa-counter-scale,.25));transform:scale(var(--fa-counter-scale,.25));-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);top:auto;-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);right:auto;top:auto;-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:top left;transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.0833333337em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.0714285718em;vertical-align:.0535714295em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.0416666682em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width,2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.08em);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}100%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}100%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,100%{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,100%{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}24%,8%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}100%,40%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}24%,8%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}100%,40%{-webkit-transform:rotate(0);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,0));transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;vertical-align:middle;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;z-index:var(--fa-stack-z-index,auto)}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-sr-only,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fa-sr-only-focusable:not(:focus),.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fa-duotone.fa-inverse,.fad.fa-inverse{color:var(--fa-inverse,#fff)}';return"fa"===a&&z===s||(c=new RegExp("\\.".concat("fa","\\-"),"g"),l=new RegExp("\\--".concat("fa","\\-"),"g"),s=new RegExp("\\.".concat(s),"g"),e=e.replace(c,".".concat(a,"-")).replace(l,"--".concat(a,"-")).replace(s,".".concat(z))),e}var Hc=!1;function tc(){B.autoAddCss&&!Hc&&(function(c){if(c&&L){var l=o.createElement("style");l.setAttribute("type","text/css"),l.innerHTML=c;for(var s=o.head.childNodes,a=null,z=s.length-1;-1").concat(z.map(nc).join(""),"")}function ic(c,l,s){if(c&&c[l]&&c[l][s])return{prefix:l,iconName:s,icon:c[l][s]}}function mc(c,l,s,a){for(var z,e,H=Object.keys(c),t=H.length,V=void 0!==a?oc(l,a):l,r=void 0===s?(z=1,c[H[0]]):(z=0,s);z{var l=c&&c.__esModule?()=>c.default:()=>c;return s.d(l,{a:l}),l},s.d=(c,l)=>{for(var a in l)s.o(l,a)&&!s.o(c,a)&&Object.defineProperty(c,a,{enumerable:!0,get:l[a]})},s.o=(c,l)=>Object.prototype.hasOwnProperty.call(c,l),(()=>{"use strict";s(654)})()})(); +//# sourceMappingURL=fontawesome.js.map \ No newline at end of file diff --git a/doc/LectureNotes/_build/html/_static/scripts/fontawesome.js.LICENSE.txt b/doc/LectureNotes/_build/html/_static/scripts/fontawesome.js.LICENSE.txt new file mode 100644 index 000000000..a91750aff --- /dev/null +++ b/doc/LectureNotes/_build/html/_static/scripts/fontawesome.js.LICENSE.txt @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2024 Fonticons, Inc. + */ diff --git a/doc/LectureNotes/_build/html/_static/scripts/fontawesome.js.map b/doc/LectureNotes/_build/html/_static/scripts/fontawesome.js.map new file mode 100644 index 000000000..8fa96a6db --- /dev/null +++ b/doc/LectureNotes/_build/html/_static/scripts/fontawesome.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scripts/fontawesome.js","mappings":"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","sources":["webpack://pydata_sphinx_theme/./node_modules/@fortawesome/fontawesome-free/js/all.min.js","webpack://pydata_sphinx_theme/webpack/bootstrap","webpack://pydata_sphinx_theme/webpack/runtime/compat get default export","webpack://pydata_sphinx_theme/webpack/runtime/define property getters","webpack://pydata_sphinx_theme/webpack/runtime/hasOwnProperty shorthand"],"sourcesContent":["/*!\n * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n * Copyright 2024 Fonticons, Inc.\n */\n!function(){\"use strict\";var c={},l={};try{\"undefined\"!=typeof window&&(c=window),\"undefined\"!=typeof document&&(l=document)}catch(c){}var s=(c.navigator||{}).userAgent,a=void 0===s?\"\":s,z=c,e=l;z.document,e.documentElement&&e.head&&\"function\"==typeof e.addEventListener&&e.createElement,~a.indexOf(\"MSIE\")||a.indexOf(\"Trident/\");function H(l,c){var s,a=Object.keys(l);return Object.getOwnPropertySymbols&&(s=Object.getOwnPropertySymbols(l),c&&(s=s.filter(function(c){return Object.getOwnPropertyDescriptor(l,c).enumerable})),a.push.apply(a,s)),a}function t(l){for(var c=1;cc.length)&&(l=c.length);for(var s=0,a=new Array(l);sc.length)&&(l=c.length);for(var s=0,a=new Array(l);sc.length)&&(l=c.length);for(var s=0,a=new Array(l);sc.length)&&(l=c.length);for(var s=0,a=new Array(l);s>>0;s--;)l[s]=c[s];return l}function a1(c){return c.classList?s1(c.classList):(c.getAttribute(\"class\")||\"\").split(\" \").filter(function(c){return c})}function z1(c){return\"\".concat(c).replace(/&/g,\"&\").replace(/\"/g,\""\").replace(/'/g,\"'\").replace(//g,\">\")}function e1(s){return Object.keys(s||{}).reduce(function(c,l){return c+\"\".concat(l,\": \").concat(s[l].trim(),\";\")},\"\")}function H1(c){return c.size!==J.size||c.x!==J.x||c.y!==J.y||c.rotate!==J.rotate||c.flipX||c.flipY}function t1(){var c,l,s=b,a=Q.cssPrefix,z=Q.replacementClass,e=':host,:root{--fa-font-solid:normal 900 1em/1 \"Font Awesome 6 Solid\";--fa-font-regular:normal 400 1em/1 \"Font Awesome 6 Regular\";--fa-font-light:normal 300 1em/1 \"Font Awesome 6 Light\";--fa-font-thin:normal 100 1em/1 \"Font Awesome 6 Thin\";--fa-font-duotone:normal 900 1em/1 \"Font Awesome 6 Duotone\";--fa-font-sharp-solid:normal 900 1em/1 \"Font Awesome 6 Sharp\";--fa-font-sharp-regular:normal 400 1em/1 \"Font Awesome 6 Sharp\";--fa-font-sharp-light:normal 300 1em/1 \"Font Awesome 6 Sharp\";--fa-font-sharp-thin:normal 100 1em/1 \"Font Awesome 6 Sharp\";--fa-font-brands:normal 400 1em/1 \"Font Awesome 6 Brands\"}svg:not(:host).svg-inline--fa,svg:not(:root).svg-inline--fa{overflow:visible;box-sizing:content-box}.svg-inline--fa{display:var(--fa-display,inline-block);height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.0714285705em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left{margin-right:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-pull-right{margin-left:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);top:.25em}.svg-inline--fa.fa-fw{width:var(--fa-fw-width,1.25em)}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);overflow:hidden;padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);-webkit-transform:scale(var(--fa-counter-scale,.25));transform:scale(var(--fa-counter-scale,.25));-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);top:auto;-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);right:auto;top:auto;-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:top left;transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.0833333337em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.0714285718em;vertical-align:.0535714295em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.0416666682em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width,2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.08em);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}100%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}100%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,100%{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,100%{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}24%,8%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}100%,40%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}24%,8%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}100%,40%{-webkit-transform:rotate(0);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,0));transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;vertical-align:middle;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;z-index:var(--fa-stack-z-index,auto)}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-sr-only,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fa-sr-only-focusable:not(:focus),.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fa-duotone.fa-inverse,.fad.fa-inverse{color:var(--fa-inverse,#fff)}';return\"fa\"===a&&z===s||(c=new RegExp(\"\\\\.\".concat(\"fa\",\"\\\\-\"),\"g\"),l=new RegExp(\"\\\\--\".concat(\"fa\",\"\\\\-\"),\"g\"),s=new RegExp(\"\\\\.\".concat(s),\"g\"),e=e.replace(c,\".\".concat(a,\"-\")).replace(l,\"--\".concat(a,\"-\")).replace(s,\".\".concat(z))),e}var V1=!1;function r1(){Q.autoAddCss&&!V1&&(function(c){if(c&&L){var l=v.createElement(\"style\");l.setAttribute(\"type\",\"text/css\"),l.innerHTML=c;for(var s=v.head.childNodes,a=null,z=s.length-1;-1\").concat(a.map(o1).join(\"\"),\"\")}function f1(c,l,s){if(c&&c[l]&&c[l][s])return{prefix:l,iconName:s,icon:c[l][s]}}L&&((i1=(v.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(v.readyState))||v.addEventListener(\"DOMContentLoaded\",M1));function C1(c,l,s,a){for(var z,e,H=Object.keys(c),t=H.length,V=void 0!==a?v1(l,a):l,r=void 0===s?(z=1,c[H[0]]):(z=0,s);z {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))"],"names":["c","l","window","document","a","s","navigator","userAgent","z","e","H","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","t","arguments","length","forEach","V","getOwnPropertyDescriptors","defineProperties","defineProperty","value","configurable","writable","r","Array","documentElement","head","addEventListener","createElement","indexOf","M","h","n","i","m","o","Proxy","get","C","fa","fas","far","fal","fat","fad","fab","fak","fakd","fass","fasr","fasl","fast","f","v","solid","regular","light","thin","duotone","brands","kit","normal","concat","Set","map","add","bind","isArray","Symbol","iterator","from","prototype","toString","call","slice","constructor","name","test","TypeError","styles","hooks","shims","L","u","reduce","icon","iconName","d","skipHooks","addPack","p","monero","hooli","yelp","lastfm","shopware","aws","redhat","yoast","cloudflare","ups","pixiv","wpexplorer","dyalog","bity","stackpath","buysellads","modx","guilded","vnv","microsoft","qq","orcid","java","invision","centercode","drupal","jxl","unity","whmcs","rocketchat","vk","untappd","mailchimp","contao","deskpro","brave","sistrix","edge","threads","napster","artstation","markdown","sourcetree","diaspora","foursquare","pagelines","algolia","safari","google","atlassian","nimblr","chromecast","evernote","adversal","fonticons","weixin","shirtsinbulk","codepen","lyft","rev","windows","meetup","centos","adn","cloudsmith","opensuse","codiepie","node","mix","steam","scribd","debian","openid","instalod","expeditedssl","sellcast","delicious","freebsd","vuejs","accusoft","ioxhost","golang","kickstarter","grav","weibo","uncharted","firstdraft","wpressr","angellist","skype","joget","fedora","meta","laravel","hotjar","hips","behance","reddit","discord","chrome","wpbeginner","confluence","shoelace","mdb","dochub","ebay","amazon","unsplash","yarn","asymmetrik","gratipay","apple","hive","gitkraken","keybase","padlet","stumbleupon","fedex","shopify","neos","hackerrank","researchgate","swift","angular","speakap","angrycreative","empire","envira","studiovinari","wordpress","firefox","linode","goodreads","jsfiddle","sith","themeisle","page4","hashnode","react","squarespace","bitcoin","keycdn","opera","umbraco","ubuntu","draft2digital","stripe","houzz","gg","dhl","xing","blackberry","playstation","quinscape","less","opencart","vine","paypal","gitlab","typo3","yahoo","dailymotion","affiliatetheme","bootstrap","odnoklassniki","mintbit","ethereum","patreon","avianex","ello","gofore","bimobject","mandalorian","osi","periscope","fulcrum","cloudscale","forumbee","mizuni","schlix","bandcamp","wpforms","cloudversify","usps","megaport","magento","spotify","fly","aviato","itunes","cuttlefish","blogger","flickr","viber","soundcloud","digg","letterboxd","symfony","maxcdn","etsy","audible","bilibili","erlang","dashcube","elementor","palfed","superpowers","resolving","xbox","searchengin","tiktok","renren","linux","glide","linkedin","hubspot","deploydog","twitch","ravelry","mixer","vimeo","mendeley","uniregistry","figma","dropbox","instagram","cmplid","upwork","facebook","gripfire","uikit","phabricator","ussunnah","earlybirds","autoprefixer","whatsapp","slideshare","viadeo","line","servicestack","simplybuilt","bitbucket","imdb","deezer","jira","docker","screenpal","bluetooth","gitter","microblog","yandex","readme","html5","sellsy","sass","wirsindhandwerk","buromobelexperte","salesforce","medapps","ns8","apper","waze","bluesky","snapchat","rust","wix","supple","webflow","rebel","css3","staylinked","kaggle","deviantart","cpanel","trello","perbyte","grunt","weebly","connectdevelop","leanpub","themeco","python","android","bots","hornbill","js","ideal","git","dev","sketch","uber","github","php","alipay","youtube","skyatlas","replyd","suse","jenkins","twitter","rockrms","pinterest","buffer","npm","yammer","btc","dribbble","stubber","telegram","odysee","slack","medrt","usb","tumblr","vaadin","quora","reacteurope","medium","amilia","mixcloud","flipboard","viacoin","sitrox","discourse","joomla","mastodon","airbnb","gulp","strava","ember","teamspeak","pushed","nutritionix","wodu","intercom","zhihu","korvue","pix","message","comments","paste","compass","lightbulb","flag","futbol","hand","bookmark","folder","user","star","clipboard","image","lemon","handshake","gem","registered","square","snowflake","newspaper","heart","circle","eye","comment","envelope","hourglass","clock","keyboard","images","sun","bell","file","hospital","copy","copyright","building","moon","calendar","clone","at","stethoscope","info","explosion","ring","volleyball","atom","soap","icons","fingerprint","football","crop","person","laptop","menorah","bong","spoon","pager","strikethrough","k","pencil","backward","blog","w","rainbow","paw","cloud","gavel","binoculars","motorcycle","scissors","table","clover","reply","helicopter","swatchbook","bars","film","sitemap","memory","hanukiah","feather","compress","ankh","asterisk","heading","ghost","list","gamepad","egg","campground","paintbrush","lock","tree","microscope","sink","mitten","users","om","worm","plug","stopwatch","stamp","stairs","pills","tooth","bicycle","snowman","school","igloo","joint","horse","q","g","capsules","bullseye","bacon","radiation","vial","gauge","dumpster","highlighter","key","bullhorn","globe","synagogue","ban","repeat","cross","box","maximize","shapes","shuffle","spider","slash","server","venus","passport","microchip","crown","wheelchair","fire","city","unlock","headset","wifi","bath","underline","signature","stroopwafel","bold","jedi","gift","glasses","train","crow","sailboat","frog","bucket","microphone","cow","screwdriver","dolly","smoking","minimize","monument","snowplow","cannabis","tablets","ethernet","chair","icicles","neuter","marker","volcano","viruses","certificate","suitcase","scroll","spa","pause","bomb","subscript","burst","smog","crutch","palette","vest","ferry","seedling","children","chalkboard","virus","archway","couch","italic","church","democrat","locust","sort","language","question","code","leaf","road","taxi","poop","kaaba","eject","tarp","cube","elevator","recycle","trademark","basketball","wallet","burger","wrench","bugs","bridge","cat","route","panorama","tags","terminal","tape","pen","signal","bus","prescription","shop","vihara","diamond","bacterium","biohazard","phone","trash","poo","shirt","cubes","divide","headphones","republican","ruler","restroom","j","otter","child","satellite","tag","paperclip","ribbon","lungs","indent","mountain","camera","meteor","sleigh","water","braille","landmark","truck","crosshairs","tent","cookie","dumbbell","dna","minus","chess","gear","mosque","mosquito","vials","pallet","faucet","timeline","coins","khanda","sliders","hamsa","flask","ticket","tty","calculator","ship","download","forward","mobile","outdent","house","b","utensils","skull","stop","upload","hurricane","mound","caravan","bolt","vault","mars","toilet","guitar","industry","ellipsis","toolbox","bug","car","medal","bed","podcast","superscript","droplet","eraser","dove","socks","inbox","section","dharmachakra","hotdog","drum","fax","paragraph","link","play","font","receipt","tv","shrimp","wind","y","fish","clapperboard","baseball","grip","gun","plus","expand","computer","xmark","baby","tractor","equals","blender","teeth","rocket","store","tablet","fill","bacteria","notdef","disease","genderless","retweet","radio","thermometer","percent","display","thumbtack","trophy","hammer","rotate","spinner","robot","peace","gears","warehouse","splotch","transgender","mercury","award","qrcode","shield","tents","dog","carrot","cheese","music","broom","gopuram","hashtag","hippo","infinity","voicemail","fan","trailer","bahai","dragon","tornado","anchor","rss","shower","desktop","book","check","briefcase","rug","handcuffs","database","share","dungeon","hands","dice","brain","bandage","gifts","hotel","brush","mask","syringe","magnet","jar","bone","plane","exclamation","print","x","umbrella","trowel","stapler","barcode","video","next","done","return","mark","measure","MutationObserver","performance","S","A","Z","O","P","N","E","I","T","D","Y","R","F","_","W","U","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","X","B","FontAwesomeConfig","querySelector","getAttribute","styleDefault","familyDefault","cssPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","familyPrefix","G","Q","set","K","$","J","size","flipX","flipY","c1","l1","Math","random","s1","a1","classList","split","z1","replace","e1","trim","H1","t1","RegExp","V1","r1","setAttribute","innerHTML","childNodes","tagName","toUpperCase","insertBefore","mixout","dom","css","insertCss","beforeDOMElementCreation","beforeI2svg","h1","n1","i1","m1","setTimeout","o1","attributes","join","f1","prefix","C1","v1","doScroll","readyState","M1","removeEventListener","L1","charCodeAt","u1","d1","p1","b1","g1","values","w1","k1","y1","S1","A1","x1","q1","O1","autoFetchSvg","names","unicodes","I1","family","j1","P1","N1","T1","D1","skipLookups","includes","some","Z1","rest","this","definitions","_pullDefinitions","Y1","R1","F1","_1","W1","U1","X1","B1","G1","noAuto","config","i2svg","Promise","reject","watch","autoReplaceSvgRoot","Q1","parse","match","library","findIconDefinition","toHtml","K1","abstract","html","$1","main","transform","symbol","title","maskId","titleId","extra","watchable","found","width","height","classes","class","role","xmlns","viewBox","id","style","J1","content","startCentered","c2","l2","s2","a2","console","error","z2","e2","H2","t2","V2","begin","end","r2","M2","h2","createElementNS","n2","i2","parentNode","ceFn","createTextNode","appendChild","createComment","outerHTML","replaceChild","remove","nest","toSvg","toNode","removeAttribute","m2","o2","requestAnimationFrame","f2","C2","v2","L2","u2","treeCallback","nodeCallback","pseudoElementsCallback","observeMutationsRoot","type","addedNodes","target","attributeName","contains","observe","childList","characterData","subtree","p2","styleParser","innerText","firstChild","nodeType","Node","TEXT_NODE","data","d2","focusable","b2","g2","w2","k2","resolve","querySelectorAll","all","then","catch","y2","S2","iconDefinition","params","mutationObserverCallbacks","provides","callback","generateSvgReplacementMutation","generateAbstractIcon","containerWidth","iconWidth","layer","assembler","counter","text","generateLayersText","parseInt","getComputedStyle","fontSize","getBoundingClientRect","A2","x2","q2","getPropertyValue","removeChild","toLowerCase","isSecondary","startsWith","Z2","O2","j2","P2","parseFloat","isNaN","T2","N2","E2","I2","pseudoElements2svg","unwatch","disconnect","parseNodeAttributes","generateAbstractTransformGrouping","outer","inner","path","generateAbstractMask","maskUnits","maskContentUnits","matchMedia","matches","missingIconAbstract","attributeType","repeatCount","dur","cx","cy","opacity","FontAwesome","addPacks","addShims","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","getter","__esModule","definition","obj","prop","hasOwnProperty"],"sourceRoot":""} \ No newline at end of file diff --git a/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.ttf b/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.ttf new file mode 100644 index 000000000..1fbb1f7c3 Binary files /dev/null and b/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.ttf differ diff --git a/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.woff2 b/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.woff2 new file mode 100644 index 000000000..5d2802169 Binary files /dev/null and b/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.woff2 differ diff --git a/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.ttf b/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.ttf new file mode 100644 index 000000000..549d68dc0 Binary files /dev/null and b/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.ttf differ diff --git a/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.woff2 b/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.woff2 new file mode 100644 index 000000000..18400d7fa Binary files /dev/null and b/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.woff2 differ diff --git a/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.ttf b/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.ttf new file mode 100644 index 000000000..bb2a86956 Binary files /dev/null and b/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.ttf differ diff --git a/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.woff2 b/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.woff2 new file mode 100644 index 000000000..758dd4f60 Binary files /dev/null and b/doc/LectureNotes/_build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.woff2 differ diff --git a/doc/LectureNotes/_build/html/chapter1.html b/doc/LectureNotes/_build/html/chapter1.html index 93968be76..16f0be608 100644 --- a/doc/LectureNotes/_build/html/chapter1.html +++ b/doc/LectureNotes/_build/html/chapter1.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/chapter10.html b/doc/LectureNotes/_build/html/chapter10.html index 1ae3c812d..4f25e01d4 100644 --- a/doc/LectureNotes/_build/html/chapter10.html +++ b/doc/LectureNotes/_build/html/chapter10.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/chapter11.html b/doc/LectureNotes/_build/html/chapter11.html index 6aaa95278..0c25dd053 100644 --- a/doc/LectureNotes/_build/html/chapter11.html +++ b/doc/LectureNotes/_build/html/chapter11.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/chapter12.html b/doc/LectureNotes/_build/html/chapter12.html index fe26e5a92..3f09ef5ca 100644 --- a/doc/LectureNotes/_build/html/chapter12.html +++ b/doc/LectureNotes/_build/html/chapter12.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/chapter13.html b/doc/LectureNotes/_build/html/chapter13.html index 775acadac..d467a4352 100644 --- a/doc/LectureNotes/_build/html/chapter13.html +++ b/doc/LectureNotes/_build/html/chapter13.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/chapter2.html b/doc/LectureNotes/_build/html/chapter2.html index 14b55ae13..9de7d1941 100644 --- a/doc/LectureNotes/_build/html/chapter2.html +++ b/doc/LectureNotes/_build/html/chapter2.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/chapter3.html b/doc/LectureNotes/_build/html/chapter3.html index fc2ecb971..cb0a407e9 100644 --- a/doc/LectureNotes/_build/html/chapter3.html +++ b/doc/LectureNotes/_build/html/chapter3.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/chapter4.html b/doc/LectureNotes/_build/html/chapter4.html index c5729166f..44c94c685 100644 --- a/doc/LectureNotes/_build/html/chapter4.html +++ b/doc/LectureNotes/_build/html/chapter4.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/chapter5.html b/doc/LectureNotes/_build/html/chapter5.html index a7998b51d..43deecd7f 100644 --- a/doc/LectureNotes/_build/html/chapter5.html +++ b/doc/LectureNotes/_build/html/chapter5.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/chapter6.html b/doc/LectureNotes/_build/html/chapter6.html index 7c1bd7658..cfd21945a 100644 --- a/doc/LectureNotes/_build/html/chapter6.html +++ b/doc/LectureNotes/_build/html/chapter6.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/chapter7.html b/doc/LectureNotes/_build/html/chapter7.html index 256fc1a70..098e43dc8 100644 --- a/doc/LectureNotes/_build/html/chapter7.html +++ b/doc/LectureNotes/_build/html/chapter7.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/chapter8.html b/doc/LectureNotes/_build/html/chapter8.html index 7552ae61a..2c1e8bfcc 100644 --- a/doc/LectureNotes/_build/html/chapter8.html +++ b/doc/LectureNotes/_build/html/chapter8.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/chapter9.html b/doc/LectureNotes/_build/html/chapter9.html index baf0cf9d0..80886a8fb 100644 --- a/doc/LectureNotes/_build/html/chapter9.html +++ b/doc/LectureNotes/_build/html/chapter9.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/chapteroptimization.html b/doc/LectureNotes/_build/html/chapteroptimization.html index e27de974f..082f16dc7 100644 --- a/doc/LectureNotes/_build/html/chapteroptimization.html +++ b/doc/LectureNotes/_build/html/chapteroptimization.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/clustering.html b/doc/LectureNotes/_build/html/clustering.html index 0b5a370f7..9adcbd5ff 100644 --- a/doc/LectureNotes/_build/html/clustering.html +++ b/doc/LectureNotes/_build/html/clustering.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/genindex.html b/doc/LectureNotes/_build/html/genindex.html index a1efc30a9..905369861 100644 --- a/doc/LectureNotes/_build/html/genindex.html +++ b/doc/LectureNotes/_build/html/genindex.html @@ -27,7 +27,7 @@ - + diff --git a/doc/LectureNotes/_build/html/intro.html b/doc/LectureNotes/_build/html/intro.html index 602bdab61..179fca5f2 100644 --- a/doc/LectureNotes/_build/html/intro.html +++ b/doc/LectureNotes/_build/html/intro.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/linalg.html b/doc/LectureNotes/_build/html/linalg.html index 2e5cd6f4a..9d45b7ab0 100644 --- a/doc/LectureNotes/_build/html/linalg.html +++ b/doc/LectureNotes/_build/html/linalg.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/schedule.html b/doc/LectureNotes/_build/html/schedule.html index 4ca559df9..9df1a8a82 100644 --- a/doc/LectureNotes/_build/html/schedule.html +++ b/doc/LectureNotes/_build/html/schedule.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/search.html b/doc/LectureNotes/_build/html/search.html index 8c1dd8128..506889057 100644 --- a/doc/LectureNotes/_build/html/search.html +++ b/doc/LectureNotes/_build/html/search.html @@ -26,7 +26,7 @@ - + diff --git a/doc/LectureNotes/_build/html/searchindex.js b/doc/LectureNotes/_build/html/searchindex.js index b34be884b..cb504759c 100644 --- a/doc/LectureNotes/_build/html/searchindex.js +++ b/doc/LectureNotes/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"A Classification Tree": [[11, "a-classification-tree"]], "A Frequentist approach to data analysis": [[2, "a-frequentist-approach-to-data-analysis"], [23, "a-frequentist-approach-to-data-analysis"]], "A better approach": [[10, "a-better-approach"]], "A first summary": [[23, "a-first-summary"]], "A quick Reminder on Lagrangian Multipliers": [[10, "a-quick-reminder-on-lagrangian-multipliers"]], "A simple example": [[6, "a-simple-example"]], "A soft classifier": [[10, "a-soft-classifier"]], "A top-down perspective on Neural networks": [[3, "a-top-down-perspective-on-neural-networks"]], "ADAM optimizer": [[15, "adam-optimizer"]], "Activation functions": [[14, "activation-functions"]], "Adaptive boosting: AdaBoost, Basic Algorithm": [[12, "adaptive-boosting-adaboost-basic-algorithm"]], "Adding error analysis and training set up": [[23, "adding-error-analysis-and-training-set-up"]], "Adjust hyperparameters": [[3, "adjust-hyperparameters"]], "Algorithms for Setting up Decision Trees": [[11, "algorithms-for-setting-up-decision-trees"]], "An Overview of Ensemble Methods": [[12, "an-overview-of-ensemble-methods"]], "An extrapolation example": [[6, "an-extrapolation-example"]], "An optimization/minimization problem": [[23, "an-optimization-minimization-problem"]], "And what about using neural networks?": [[23, "and-what-about-using-neural-networks"]], "Another example, the moons again": [[11, "another-example-the-moons-again"]], "Applied Data Analysis and Machine Learning": [[17, null]], "Autocorrelation function": [[20, "autocorrelation-function"]], "Automatic differentiation": [[15, "automatic-differentiation"]], "Back to the Cancer Data": [[13, "back-to-the-cancer-data"]], "Bagging": [[12, "bagging"]], "Bagging Examples": [[12, "bagging-examples"]], "Basic Matrix Features": [[18, "basic-matrix-features"]], "Basic ideas of the Principal Component Analysis (PCA)": [[13, null]], "Basic math of the SVD": [[7, "basic-math-of-the-svd"]], "Basics": [[9, "basics"]], "Basics of a tree": [[11, "basics-of-a-tree"]], "Batch Normalization": [[3, "batch-normalization"]], "Bayes\u2019 Theorem and Ridge and Lasso Regression": [[7, "bayes-theorem-and-ridge-and-lasso-regression"]], "Boosting, a Bird\u2019s Eye View": [[12, "boosting-a-bird-s-eye-view"]], "Bootstrap": [[8, "bootstrap"]], "Bringing it together, first back propagation equation": [[14, "bringing-it-together-first-back-propagation-equation"]], "Building a Feed Forward Neural Network": [[3, null]], "Building a tree, regression": [[11, "building-a-tree-regression"]], "Building neural networks in Tensorflow and Keras": [[3, "building-neural-networks-in-tensorflow-and-keras"]], "CNNs in more detail, building convolutional neural networks in Tensorflow and Keras": [[5, "cnns-in-more-detail-building-convolutional-neural-networks-in-tensorflow-and-keras"]], "Cancer Data again now with Decision Trees and other Methods": [[11, "cancer-data-again-now-with-decision-trees-and-other-methods"]], "Choose cost function and optimizer": [[3, "choose-cost-function-and-optimizer"]], "Classical PCA Theorem": [[13, "classical-pca-theorem"]], "Clustering and Unsupervised Learning": [[16, null]], "Code for SVD and Inversion of Matrices": [[7, "code-for-svd-and-inversion-of-matrices"]], "Codes and Approaches": [[16, "codes-and-approaches"]], "Codes for the SVD": [[7, "codes-for-the-svd"]], "Coding Setup and Linear Regression": [[0, "coding-setup-and-linear-regression"]], "Collect and pre-process data": [[3, "collect-and-pre-process-data"]], "Communication channels": [[23, "communication-channels"]], "Compare Bagging on Trees with Random Forests": [[12, "compare-bagging-on-trees-with-random-forests"]], "Comparing with a numerical scheme": [[4, "comparing-with-a-numerical-scheme"]], "Computing the Gini index": [[11, "computing-the-gini-index"]], "Conjugate gradient method": [[15, "conjugate-gradient-method"]], "Convex functions": [[15, "convex-functions"]], "Convolution Examples: Polynomial multiplication": [[5, "convolution-examples-polynomial-multiplication"]], "Convolution Examples: Principle of Superposition and Periodic Forces (Fourier Transforms)": [[5, "convolution-examples-principle-of-superposition-and-periodic-forces-fourier-transforms"]], "Convolutional Neural Network": [[14, "convolutional-neural-network"]], "Convolutional Neural Networks": [[5, null]], "Correlation Matrix": [[13, "correlation-matrix"]], "Course Format": [[23, "course-format"]], "Course setting": [[19, null]], "Cross-validation": [[8, "cross-validation"]], "Deadlines for projects (tentative)": [[23, "deadlines-for-projects-tentative"]], "Decision trees, overarching aims": [[11, null]], "Deep learning methods": [[23, "deep-learning-methods"]], "Define model and architecture": [[3, "define-model-and-architecture"]], "Defining the cost function": [[3, "defining-the-cost-function"]], "Deliverables": [[0, "deliverables"], [1, "deliverables"]], "Derivatives and the chain rule": [[14, "derivatives-and-the-chain-rule"]], "Deriving OLS from a probability distribution": [[7, "deriving-ols-from-a-probability-distribution"]], "Deriving and Implementing Ordinary Least Squares": [[1, "deriving-and-implementing-ordinary-least-squares"]], "Deriving the back propagation code for a multilayer perceptron model": [[14, "deriving-the-back-propagation-code-for-a-multilayer-perceptron-model"]], "Developing a code for doing neural networks with back propagation": [[3, "developing-a-code-for-doing-neural-networks-with-back-propagation"]], "Diagonalize the sample covariance matrix to obtain the principal components": [[13, "diagonalize-the-sample-covariance-matrix-to-obtain-the-principal-components"]], "Different kernels and Mercer\u2019s theorem": [[10, "different-kernels-and-mercer-s-theorem"]], "Disadvantages": [[11, "disadvantages"]], "Domains and probabilities": [[20, "domains-and-probabilities"]], "Dropout": [[3, "dropout"]], "Elements of Probability Theory and Statistical Data Analysis": [[20, null]], "Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods": [[12, null]], "Entropy and the ID3 algorithm": [[11, "entropy-and-the-id3-algorithm"]], "Essential elements of ML": [[23, "essential-elements-of-ml"]], "Evaluate model performance on test data": [[3, "evaluate-model-performance-on-test-data"]], "Example: Exponential decay": [[4, "example-exponential-decay"]], "Example: Population growth": [[4, "example-population-growth"]], "Example: The diffusion equation": [[4, "example-the-diffusion-equation"]], "Example: binary classification problem": [[3, "example-binary-classification-problem"]], "Examples": [[23, "examples"]], "Examples of likelihood functions used in logistic regression and neural networks": [[9, "examples-of-likelihood-functions-used-in-logistic-regression-and-neural-networks"]], "Exercise 1 - Finding the derivative of Matrix-Vector expressions": [[1, "exercise-1-finding-the-derivative-of-matrix-vector-expressions"]], "Exercise 1 - Github Setup": [[0, "exercise-1-github-setup"]], "Exercise 1: Setting up various Python environments": [[2, "exercise-1-setting-up-various-python-environments"], [23, "exercise-1-setting-up-various-python-environments"]], "Exercise 2 - Deriving the expression for OLS": [[1, "exercise-2-deriving-the-expression-for-ols"]], "Exercise 2 - Setting up a Github repository": [[0, "exercise-2-setting-up-a-github-repository"]], "Exercise 2: making your own data and exploring scikit-learn": [[2, "exercise-2-making-your-own-data-and-exploring-scikit-learn"], [23, "exercise-2-making-your-own-data-and-exploring-scikit-learn"]], "Exercise 3 - Creating feature matrix and implementing OLS using the analytical expression": [[1, "exercise-3-creating-feature-matrix-and-implementing-ols-using-the-analytical-expression"]], "Exercise 3 - Fitting an OLS model to data": [[0, "exercise-3-fitting-an-ols-model-to-data"]], "Exercise 3 - Setting up a Python virtual environment": [[0, "exercise-3-setting-up-a-python-virtual-environment"]], "Exercise 3: Normalizing our data": [[2, "exercise-3-normalizing-our-data"]], "Exercise 3: Split data in test and training data": [[23, "exercise-3-split-data-in-test-and-training-data"]], "Exercise 4 - Fitting a polynomial": [[1, "exercise-4-fitting-a-polynomial"]], "Exercise 4 - The train-test split": [[0, "exercise-4-the-train-test-split"]], "Exercise 4: Adding Ridge Regression": [[2, "exercise-4-adding-ridge-regression"]], "Exercise 5 - Comparing your code with sklearn": [[1, "exercise-5-comparing-your-code-with-sklearn"]], "Exercise 5: Analytical exercises": [[2, "exercise-5-analytical-exercises"]], "Exercise: Cross-validation as resampling techniques, adding more complexity": [[8, "exercise-cross-validation-as-resampling-techniques-adding-more-complexity"]], "Exercise: Analysis of real data": [[8, "exercise-analysis-of-real-data"]], "Exercise: Bias-variance trade-off and resampling techniques": [[8, "exercise-bias-variance-trade-off-and-resampling-techniques"]], "Exercise: Lasso Regression on the Franke function with resampling": [[8, "exercise-lasso-regression-on-the-franke-function-with-resampling"]], "Exercise: Ordinary Least Square (OLS) on the Franke function": [[8, "exercise-ordinary-least-square-ols-on-the-franke-function"]], "Exercise: Ridge Regression on the Franke function with resampling": [[8, "exercise-ridge-regression-on-the-franke-function-with-resampling"]], "Exercises": [[2, "exercises"], [23, "exercises"]], "Exercises and Projects": [[8, "exercises-and-projects"]], "Exercises week 34": [[0, null]], "Exercises week 35": [[1, null]], "Expectation values": [[20, "expectation-values"]], "Extremely useful tools, strongly recommended": [[23, "extremely-useful-tools-strongly-recommended"]], "Feed-forward neural networks": [[14, "feed-forward-neural-networks"]], "Feed-forward pass": [[3, "feed-forward-pass"]], "Final back propagating equation": [[14, "final-back-propagating-equation"]], "Fine-tuning neural network hyperparameters": [[3, "fine-tuning-neural-network-hyperparameters"]], "Fitting an Equation of State for Dense Nuclear Matter": [[2, "fitting-an-equation-of-state-for-dense-nuclear-matter"], [23, "fitting-an-equation-of-state-for-dense-nuclear-matter"]], "From one to many layers, the universal approximation theorem": [[14, "from-one-to-many-layers-the-universal-approximation-theorem"]], "Further Dimensionality Remarks": [[5, "further-dimensionality-remarks"]], "Further properties (important for our analyses later)": [[7, "further-properties-important-for-our-analyses-later"]], "Gaussian Elimination": [[18, "gaussian-elimination"]], "General Features": [[11, "general-features"]], "General linear models and linear algebra": [[23, "general-linear-models-and-linear-algebra"]], "Generalizing the fitting procedure as a linear algebra problem": [[23, "generalizing-the-fitting-procedure-as-a-linear-algebra-problem"], [23, "id1"]], "Generative Adversarial Networks": [[6, "generative-adversarial-networks"]], "Generative Models": [[6, "generative-models"]], "Geometric Interpretation and link with Singular Value Decomposition": [[13, "geometric-interpretation-and-link-with-singular-value-decomposition"]], "Gradient Boosting, Classification Example": [[12, "gradient-boosting-classification-example"]], "Gradient Boosting, Examples of Regression": [[12, "gradient-boosting-examples-of-regression"]], "Gradient Clipping": [[3, "gradient-clipping"]], "Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent": [[12, "gradient-boosting-basics-with-steepest-descent-functional-gradient-descent"]], "Gradient descent": [[4, "gradient-descent"]], "Grading": [[21, "grading"], [21, "id2"], [23, "grading"]], "Housing data, the code": [[2, "housing-data-the-code"]], "How to take derivatives of Matrix-Vector expressions": [[1, "how-to-take-derivatives-of-matrix-vector-expressions"]], "Hyperplanes and all that": [[10, "hyperplanes-and-all-that"]], "Important Matrix and vector handling packages": [[18, "important-matrix-and-vector-handling-packages"]], "Improving performance": [[3, "improving-performance"]], "In summary": [[21, "in-summary"]], "Including Stochastic Gradient Descent with Autograd": [[15, "including-stochastic-gradient-descent-with-autograd"]], "Incremental PCA": [[13, "incremental-pca"]], "Installing R, C++, cython or Julia": [[23, "installing-r-c-cython-or-julia"]], "Installing R, C++, cython, Numba etc": [[23, "installing-r-c-cython-numba-etc"]], "Instructor information": [[21, "instructor-information"]], "Interpretations and optimizing our parameters": [[23, "interpretations-and-optimizing-our-parameters"], [23, "id2"], [23, "id3"]], "Introducing JAX": [[15, "introducing-jax"]], "Introducing the Covariance and Correlation functions": [[13, "introducing-the-covariance-and-correlation-functions"]], "Introduction": [[2, "introduction"], [8, "introduction"], [17, "introduction"], [18, "introduction"]], "Iterative Fitting, Classification and AdaBoost": [[12, "iterative-fitting-classification-and-adaboost"]], "Iterative Fitting, Regression and Squared-error Cost Function": [[12, "iterative-fitting-regression-and-squared-error-cost-function"]], "Kernel PCA": [[13, "kernel-pca"]], "Kernels and non-linearity": [[10, "kernels-and-non-linearity"]], "LU Decomposition, the inverse of a matrix": [[18, "lu-decomposition-the-inverse-of-a-matrix"]], "Layers": [[3, "layers"]], "Layers used to build CNNs": [[5, "layers-used-to-build-cnns"]], "Learning goals": [[0, "learning-goals"], [1, "learning-goals"]], "Learning outcomes": [[17, "learning-outcomes"], [23, "learning-outcomes"]], "Lectures and ComputerLab": [[23, "lectures-and-computerlab"]], "Limitations of supervised learning with deep networks": [[3, "limitations-of-supervised-learning-with-deep-networks"]], "Linear Algebra, Handling of Arrays and more Python Features": [[18, null]], "Linear Regression": [[2, null]], "Linear Regression, basic elements": [[2, "linear-regression-basic-elements"]], "Linking Bayes\u2019 Theorem with Ridge and Lasso Regression": [[7, "linking-bayes-theorem-with-ridge-and-lasso-regression"]], "Linking the regression analysis with a statistical interpretation": [[7, "linking-the-regression-analysis-with-a-statistical-interpretation"]], "Linking with the SVD": [[7, "linking-with-the-svd"]], "Links to relevant courses at the University of Oslo": [[22, "links-to-relevant-courses-at-the-university-of-oslo"]], "Logistic Regression": [[9, null], [9, "id1"]], "MNIST and GANs": [[6, "mnist-and-gans"]], "Machine Learning": [[23, "machine-learning"]], "Machine learning": [[17, "machine-learning"]], "Main textbooks": [[23, "main-textbooks"]], "Making a tree": [[11, "making-a-tree"]], "Making your own Bootstrap: Changing the Level of the Decision Tree": [[12, "making-your-own-bootstrap-changing-the-level-of-the-decision-tree"]], "Mathematical Interpretation of Ordinary Least Squares": [[7, "mathematical-interpretation-of-ordinary-least-squares"]], "Mathematical optimization of convex functions": [[10, "mathematical-optimization-of-convex-functions"]], "Mathematics of CNNs": [[5, "mathematics-of-cnns"]], "Mathematics of the SVD and implications": [[7, "mathematics-of-the-svd-and-implications"]], "Matrices in Python": [[23, "matrices-in-python"]], "Matrix multiplication": [[3, "matrix-multiplication"]], "Matrix-vector notation and activation": [[14, "matrix-vector-notation-and-activation"]], "Meet the covariance!": [[20, "meet-the-covariance"]], "Meet the Covariance Matrix": [[7, "meet-the-covariance-matrix"]], "Meet the Pandas": [[23, "meet-the-pandas"]], "Momentum based GD": [[15, "momentum-based-gd"]], "More complicated Example: The Ising model": [[8, "more-complicated-example-the-ising-model"]], "More on Dimensionalities": [[5, "more-on-dimensionalities"]], "More on Rescaling data": [[8, "more-on-rescaling-data"]], "Multilayer perceptrons": [[14, "multilayer-perceptrons"]], "Network requirements": [[4, "network-requirements"]], "Neural Networks vs CNNs": [[5, "neural-networks-vs-cnns"]], "Neural networks": [[14, null]], "Numerical experiments and the covariance, central limit theorem": [[20, "numerical-experiments-and-the-covariance-central-limit-theorem"]], "Numpy and arrays": [[18, "numpy-and-arrays"], [23, "numpy-and-arrays"]], "Numpy examples and Important Matrix and vector handling packages": [[23, "numpy-examples-and-important-matrix-and-vector-handling-packages"]], "Optimization, the central part of any Machine Learning algortithm": [[15, null]], "Optimizing our parameters": [[23, "optimizing-our-parameters"]], "Optimizing our parameters, more details": [[23, "optimizing-our-parameters-more-details"]], "Optimizing the cost function": [[3, "optimizing-the-cost-function"]], "Organizing our data": [[2, "organizing-our-data"], [23, "organizing-our-data"]], "Other Matrix and Vector Operations": [[18, "other-matrix-and-vector-operations"]], "Other Types of Recurrent Neural Networks": [[6, "other-types-of-recurrent-neural-networks"]], "Other courses on Data science and Machine Learning at UiO": [[23, "other-courses-on-data-science-and-machine-learning-at-uio"]], "Other courses on Data science and Machine Learning at UiO, contn": [[23, "other-courses-on-data-science-and-machine-learning-at-uio-contn"]], "Other popular texts": [[23, "other-popular-texts"]], "Other techniques": [[13, "other-techniques"]], "Other types of networks": [[14, "other-types-of-networks"]], "Other ways of visualizing the trees": [[11, "other-ways-of-visualizing-the-trees"]], "Our model for the nuclear binding energies": [[23, "our-model-for-the-nuclear-binding-energies"]], "Overview of first week": [[23, "overview-of-first-week"]], "Own code for Ordinary Least Squares": [[23, "own-code-for-ordinary-least-squares"]], "PCA and scikit-learn": [[13, "pca-and-scikit-learn"]], "Pandas AI": [[23, "pandas-ai"]], "Partial Differential Equations": [[4, "partial-differential-equations"]], "Practical tips": [[15, "practical-tips"]], "Practicalities": [[21, "practicalities"], [21, "id1"]], "Predicting New Points With A Trained Recurrent Neural Network": [[6, "predicting-new-points-with-a-trained-recurrent-neural-network"]], "Prerequisites": [[23, "prerequisites"]], "Prerequisites and background": [[17, "prerequisites-and-background"]], "Prerequisites: Collect and pre-process data": [[5, "prerequisites-collect-and-pre-process-data"]], "Probability Distribution Functions": [[20, "probability-distribution-functions"]], "Program for stochastic gradient": [[15, "program-for-stochastic-gradient"]], "Properties of PDFs": [[20, "properties-of-pdfs"]], "Pros and cons of trees, pros": [[11, "pros-and-cons-of-trees-pros"]], "Python installers": [[17, "python-installers"], [23, "python-installers"]], "RMS prop": [[15, "rms-prop"]], "Random Numbers": [[20, "random-numbers"]], "Random forests": [[12, "random-forests"]], "Randomized PCA": [[13, "randomized-pca"]], "Reading material": [[23, "reading-material"]], "Reading suggestions week 34": [[23, "reading-suggestions-week-34"]], "Recurrent neural networks": [[14, "recurrent-neural-networks"]], "Recurrent neural networks: Overarching view": [[6, null]], "Reducing the number of degrees of freedom, overarching view": [[2, "reducing-the-number-of-degrees-of-freedom-overarching-view"]], "Reformulating the problem": [[4, "reformulating-the-problem"]], "Regression Case": [[12, "regression-case"]], "Regression analysis, overarching aims": [[23, "regression-analysis-overarching-aims"]], "Regression analysis, overarching aims II": [[23, "regression-analysis-overarching-aims-ii"]], "Regularization": [[3, "regularization"]], "Reminder on Statistics": [[8, "reminder-on-statistics"]], "Replace or not": [[15, "replace-or-not"]], "Required Technologies": [[17, "required-technologies"]], "Resampling Methods": [[8, null]], "Resampling methods": [[8, "id1"]], "Resources on differential equations and deep learning": [[4, "resources-on-differential-equations-and-deep-learning"]], "Revisiting our Linear Regression Solvers": [[15, "revisiting-our-linear-regression-solvers"]], "Rewriting the fitting procedure as a linear algebra problem": [[23, "rewriting-the-fitting-procedure-as-a-linear-algebra-problem"]], "Rewriting the fitting procedure as a linear algebra problem, more details": [[23, "rewriting-the-fitting-procedure-as-a-linear-algebra-problem-more-details"]], "Ridge and Lasso Regression": [[7, null], [7, "id1"]], "Same code but now with momentum gradient descent": [[15, "same-code-but-now-with-momentum-gradient-descent"]], "Schedule first week": [[23, "schedule-first-week"]], "Schematic Regression Procedure": [[11, "schematic-regression-procedure"]], "Setting up the Back propagation algorithm": [[14, "setting-up-the-back-propagation-algorithm"]], "Setting up the network using Autograd; The full program": [[4, "setting-up-the-network-using-autograd-the-full-program"]], "Similar (second order function now) problem but now with AdaGrad": [[15, "similar-second-order-function-now-problem-but-now-with-adagrad"]], "Simple Python Code to read in Data and perform Classification": [[11, "simple-python-code-to-read-in-data-and-perform-classification"]], "Simple linear regression model using scikit-learn": [[2, "simple-linear-regression-model-using-scikit-learn"], [23, "simple-linear-regression-model-using-scikit-learn"]], "Software and needed installations": [[23, "software-and-needed-installations"]], "Solving Differential Equations with Deep Learning": [[4, null]], "Solving the one dimensional Poisson equation": [[4, "solving-the-one-dimensional-poisson-equation"]], "Solving the wave equation with Neural Networks": [[4, "solving-the-wave-equation-with-neural-networks"]], "Some famous Matrices": [[18, "some-famous-matrices"]], "Some simple problems": [[15, "some-simple-problems"]], "Splitting our Data in Training and Test data": [[2, "splitting-our-data-in-training-and-test-data"], [23, "splitting-our-data-in-training-and-test-data"]], "Standard steepest descent": [[15, "standard-steepest-descent"]], "Statistical analysis and optimization of data": [[17, "statistical-analysis-and-optimization-of-data"], [23, "statistical-analysis-and-optimization-of-data"]], "Steepest descent": [[15, "steepest-descent"]], "Stochastic Gradient Descent (SGD)": [[15, "stochastic-gradient-descent-sgd"]], "Stochastic variables and the main concepts, the discrete case": [[20, "stochastic-variables-and-the-main-concepts-the-discrete-case"]], "Support Vector Machines, overarching aims": [[10, null]], "Systematic reduction": [[5, "systematic-reduction"]], "Teachers": [[23, "teachers"]], "Teachers and Grading": [[21, null]], "Teaching Assistants Fall semester 2023": [[21, "teaching-assistants-fall-semester-2023"]], "Tentative deadllines for projects": [[21, "tentative-deadllines-for-projects"]], "Testing the Means Squared Error as function of Complexity": [[2, "testing-the-means-squared-error-as-function-of-complexity"]], "Textbooks": [[22, null]], "The Algorithm before theorem": [[13, "the-algorithm-before-theorem"]], "The Boston housing data example": [[2, "the-boston-housing-data-example"]], "The Breast Cancer Data, now with Keras": [[3, "the-breast-cancer-data-now-with-keras"]], "The CART algorithm for Classification": [[11, "the-cart-algorithm-for-classification"]], "The CART algorithm for Regression": [[11, "the-cart-algorithm-for-regression"]], "The CIFAR01 data set": [[5, "the-cifar01-data-set"]], "The MNIST dataset again": [[5, "the-mnist-dataset-again"]], "The RELU function family": [[3, "the-relu-function-family"]], "The Softmax function": [[3, "the-softmax-function"]], "The \\chi^2 function": [[2, "the-chi-2-function"], [23, "the-chi-2-function"], [23, "id4"], [23, "id5"], [23, "id6"], [23, "id7"], [23, "id8"]], "The bias-variance tradeoff": [[8, "the-bias-variance-tradeoff"]], "The code": [[23, "the-code"]], "The code for solving the ODE": [[4, "the-code-for-solving-the-ode"]], "The course has two central parts": [[17, "the-course-has-two-central-parts"]], "The logistic function": [[9, "the-logistic-function"]], "The moons example": [[10, "the-moons-example"]], "The multilayer perceptron (MLP)": [[14, "the-multilayer-perceptron-mlp"]], "The network with one input layer, specified number of hidden layers, and one output layer": [[4, "the-network-with-one-input-layer-specified-number-of-hidden-layers-and-one-output-layer"]], "The singular value decomposition": [[7, "the-singular-value-decomposition"]], "The two-dimensional case": [[10, "the-two-dimensional-case"]], "To our real data: nuclear binding energies. Brief reminder on masses and binding energies": [[23, "to-our-real-data-nuclear-binding-energies-brief-reminder-on-masses-and-binding-energies"]], "Topics covered in this course: Statistical analysis and optimization of data": [[23, "topics-covered-in-this-course-statistical-analysis-and-optimization-of-data"]], "Towards the PCA theorem": [[13, "towards-the-pca-theorem"]], "Train and test datasets": [[3, "train-and-test-datasets"]], "Two-dimensional Objects": [[5, "two-dimensional-objects"]], "Type of problem": [[4, "type-of-problem"]], "Types of Machine Learning": [[23, "types-of-machine-learning"]], "Useful Python libraries": [[17, "useful-python-libraries"], [23, "useful-python-libraries"]], "Using Autograd": [[15, "using-autograd"]], "Using forward Euler to solve the ODE": [[4, "using-forward-euler-to-solve-the-ode"]], "Using gradient descent methods, limitations": [[15, "using-gradient-descent-methods-limitations"]], "Visualization": [[3, "visualization"], [3, "id1"]], "Visualizing the Tree, Classification": [[11, "visualizing-the-tree-classification"]], "Week 34: Introduction to the course, Logistics and Practicalities": [[23, null]], "What is Machine Learning?": [[2, "what-is-machine-learning"]], "What is a good model?": [[2, "what-is-a-good-model"], [23, "what-is-a-good-model"]], "What is a good model? Can we define it?": [[23, "what-is-a-good-model-can-we-define-it"]], "Which activation function should I use?": [[3, "which-activation-function-should-i-use"]], "Why Linear Regression (aka Ordinary Least Squares and family)": [[23, "why-linear-regression-aka-ordinary-least-squares-and-family"]], "Wisconsin Cancer Data": [[9, "wisconsin-cancer-data"]], "Writing Our First Generative Adversarial Network": [[6, "writing-our-first-generative-adversarial-network"]], "Writing our own PCA code": [[13, "writing-our-own-pca-code"]], "XGBoost: Extreme Gradient Boosting": [[12, "xgboost-extreme-gradient-boosting"]], "scikit-learn implementation": [[3, "scikit-learn-implementation"]]}, "docnames": ["E1", "E2", "chapter1", "chapter10", "chapter11", "chapter12", "chapter13", "chapter2", "chapter3", "chapter4", "chapter5", "chapter6", "chapter7", "chapter8", "chapter9", "chapteroptimization", "clustering", "intro", "linalg", "schedule", "statistics", "teachers", "textbooks", "week34"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1}, "filenames": ["E1.ipynb", "E2.ipynb", "chapter1.ipynb", "chapter10.ipynb", "chapter11.ipynb", "chapter12.ipynb", "chapter13.ipynb", "chapter2.ipynb", "chapter3.ipynb", "chapter4.ipynb", "chapter5.ipynb", "chapter6.ipynb", "chapter7.ipynb", "chapter8.ipynb", "chapter9.ipynb", "chapteroptimization.ipynb", "clustering.ipynb", "intro.md", "linalg.ipynb", "schedule.md", "statistics.ipynb", "teachers.md", "textbooks.md", "week34.ipynb"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 17, 18, 20, 21, 23], "0": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 23], "00": [2, 3, 7, 13, 23], "000": [3, 5], "001": [4, 10, 15], "004": 7, "00727646693": [2, 23], "0086649156": [2, 23], "01": [2, 3, 4, 7, 11, 13, 15, 22, 23], "0110": 20, "02": [2, 6, 9, 14, 23], "02857": 6, "02f": 8, "03077640549": 6, "031": 7, "04": 13, "0458": 11, "05": [6, 8], "062292565": 6, "0713": [2, 23], "07285": 5, "08": 20, "08336233266": 6, "0917": 11, "0n": [2, 23], "1": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "10": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 23], "100": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 18, 20, 21, 23], "1000": [2, 3, 4, 6, 7, 10, 13, 15, 16, 17, 20, 23], "10000": [4, 7, 8, 12, 13, 15, 20], "100000": 10, "10001": 12, "1001": 20, "1002": 20, "1003": 20, "1005": 20, "1009": 20, "101": 1, "1011": 20, "1013": 20, "1013904243": 20, "1015": 20, "102": 1, "1023": 20, "1024": 5, "1026": 20, "1027": 20, "103": 3, "1030": 20, "1037": 20, "1038": 20, "1040": 20, "1047": 20, "107": 1, "10th": 11, "10x": [2, 23], "11": [1, 2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20, 22, 23], "1100": 20, "1101": 20, "111": [3, 9, 14], "112": 1, "116": 1, "117": 1, "118": 1, "12": [2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 18, 20, 22, 23], "120": 5, "121": [1, 10, 11, 12], "1215pm": [21, 23], "122": [10, 11, 12], "124": [2, 23], "125": 1, "127": [1, 6], "128": [5, 6, 15], "129": 1, "1298": 11, "12pm": [21, 23], "13": [2, 4, 11, 14, 18, 20, 23], "131": 1, "133": 9, "135": 1, "136": 1, "14": [2, 4, 6, 8, 10, 11, 12, 14, 18, 20, 22], "141": 1, "143": 1, "1446729567": 6, "149": 1, "14g": 8, "15": [2, 4, 6, 8, 9, 10, 11, 14, 15, 20, 23], "150": [6, 10], "152": 1, "156": 1, "159": 1, "15g": 8, "15pm": 23, "16": [3, 4, 5, 6, 7, 10, 11, 12, 20, 23], "160": 1, "1603": 5, "161": 1, "162": 1, "16231451": 6, "163": 1, "16384": 5, "164": 1, "167": 1, "17": [3, 4, 10, 20], "172": 1, "173": 1, "176": 1, "178": 1, "179": 1, "1797": 3, "18": [4, 8, 9, 10, 11, 12, 20, 23], "1807": 6, "19": [4, 20, 23], "1940": 2, "1943": 14, "1970": [18, 23], "1973": 11, "1979": 8, "1_1": 14, "1_2": 14, "1_3": 14, "1cm": [2, 10, 12, 20, 23], "1d": [3, 4, 5], "1e": [4, 6, 15, 16], "1e10": 16, "1e4": 8, "1f": 3, "1k": 18, "1n": [2, 23], "1x": [2, 23], "2": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22], "20": [1, 2, 3, 4, 8, 9, 10, 20, 21, 23], "200": [2, 4, 5, 6, 10, 11, 12], "2000": 2, "2004": 15, "2006": 22, "2008": 23, "2010": 3, "2011": 3, "2014": 6, "2015": 3, "2016": [2, 23], "2018": [2, 8], "2021": [8, 16], "2022": 23, "2025": 23, "21": [2, 3, 7, 9, 11, 14, 18, 23], "2116753732": 6, "215pm": [21, 23], "22": [2, 3, 7, 14, 15, 18, 23], "221": 10, "225": 6, "23": [3, 14, 18], "24": [2, 3, 18, 23], "25": [4, 5, 6, 7, 8, 10, 11, 13], "250": [4, 6, 9, 11], "25000": 2, "255": 5, "256": 6, "265109911": 6, "27": [2, 3], "27n_": 20, "28": [3, 5, 6], "2830637392": 6, "2861": 20, "2873": 11, "2882": 20, "2886": 20, "2890": [2, 23], "2892": 20, "2915": 20, "2931": 23, "2968": 23, "2980": 23, "2990": 23, "2_": 14, "2_1": 14, "2_2": 14, "2_3": 14, "2_i": 14, "2_m": [8, 20], "2_t": 15, "2_x": 20, "2b": 20, "2cm": 10, "2d": [3, 5, 13, 14, 17, 23], "2e": 8, "2f": [2, 9, 11, 12, 13, 14, 23], "2g": 4, "2g_i": 4, "2k": 5, "2m": 8, "2n": [2, 4, 5, 23], "2nd": 11, "2p": 20, "2pt": 6, "2x": [2, 5, 10, 15, 23], "2x_ix_jy_iy_j": 10, "2x_j": 10, "2y_i": 12, "2y_j": 10, "3": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "30": [2, 3, 6, 8, 9, 12, 15, 21], "30000": [2, 23], "3072": 5, "31": [14, 18, 20], "315": 8, "3155": [2, 7, 8], "32": [5, 6, 8, 14, 15, 18, 20], "3200": 3, "3250": 3, "33": [14, 18, 21], "333": 9, "34": 18, "3436": [2, 23], "3437": [2, 23], "35": [2, 8, 23], "3581341341": 6, "359": 7, "36": [2, 7, 8, 20], "370782966": 6, "38": 20, "39": [2, 21, 23], "3d": [1, 4, 5, 6, 8, 15], "3f": [3, 5, 11], "3n": 18, "3x": [4, 10], "3x_i": 4, "3y": 10, "4": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "40": [3, 8, 21, 23], "400": 6, "4000": 23, "4050": [22, 23], "41": 18, "4155": [0, 4], "42": [3, 6, 10, 11, 12, 18], "43": [2, 9, 18], "4310": 23, "436462435": 6, "44": [2, 18], "45": [21, 23], "46": [21, 23], "462": 9, "47": [21, 23], "479465113": 6, "48257387": [21, 23], "49": [7, 8, 13], "49152": 5, "4940954": [2, 23], "4990": 20, "4992": 20, "4997": 20, "4c4c7f": [11, 12], "4d": 5, "4f": 8, "4pm": [21, 23], "4y": 10, "4y_i": 12, "5": [0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "50": [3, 4, 5, 6, 8, 9, 10, 12, 15, 23], "500": [3, 5, 6, 8, 11, 12, 15], "5018": 20, "506": 2, "507d50": [11, 12], "50j": 15, "50x10": 3, "51": 12, "510": 3, "5177783846": 6, "53": 11, "54": [8, 20], "55": 3, "56": 3, "56536": [2, 23], "569": 3, "57": [2, 10, 21, 23], "571": 7, "58": [12, 21, 23], "591317992": 6, "5cm": 20, "5f": 10, "5x": 10, "5y": 10, "6": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 18, 20, 21, 23], "60": [3, 5], "60000": 6, "6019067271": 6, "625": 9, "63": [2, 3], "64": [3, 5, 6, 15, 18, 23], "64x50": 3, "65": [3, 10, 11], "6887363571": 6, "69": [1, 20], "69069n_": 20, "6n_": 20, "6pm": 23, "7": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 20, 22, 23], "70": [3, 9], "70653767": 6, "71": 3, "724": 5, "75": [7, 8, 10, 13], "76": [21, 23], "765": 9, "77": [21, 23], "7718": 11, "7782028952": 6, "7d7d58": [11, 12], "8": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 18, 20, 21, 23], "80": [2, 3, 7, 10], "800": [6, 9], "81": 3, "815am": [21, 23], "85": 3, "8702784034": 6, "88": 23, "8f": 8, "8g": 8, "8n": 18, "8x8": 3, "9": [2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 20, 23], "90": 3, "9040": 11, "91": [21, 23], "92": [21, 23], "93": 1, "931": [2, 23], "933": 7, "937": 20, "938": 20, "939": [2, 20, 23], "94": 20, "95": [3, 13], "954": 20, "955820c21e8b": 6, "96": 8, "960": 20, "961": 20, "962": 20, "9649652536": 6, "9780387310732": 22, "9780387848570": 22, "9781098134174": 23, "9781492032632": 22, "9781801819312": 23, "98": [1, 2, 3], "985": 20, "986": 20, "989": 20, "9898ff": [11, 12], "99": [1, 15], "991": 20, "992": 20, "993": 20, "996": 7, "999": [11, 20], "9x": 8, "9y": 8, "A": [0, 1, 4, 5, 7, 8, 9, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22], "AND": 4, "And": [2, 5, 6, 7, 8, 11, 15, 17, 20], "As": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 18, 20, 23], "At": [2, 6, 8, 15, 23], "BE": [2, 23], "Be": [4, 17, 23], "Being": 15, "But": [1, 2, 3, 4, 5, 7, 8, 11, 12, 20], "By": [2, 5, 7, 8, 14, 15, 18, 23], "For": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23], "IF": 8, "IN": 22, "If": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 23], "In": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23], "Ising": [7, 14], "It": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "Its": [3, 4, 6, 13], "No": [8, 11, 23], "Not": [2, 3, 7, 8], "OR": 20, "Of": 20, "On": [2, 5, 20, 21, 22, 23], "One": [2, 3, 5, 6, 7, 8, 9, 10, 13, 14, 15, 20], "Or": [2, 3, 8, 23], "Such": [1, 2, 8, 14, 20], "That": [2, 7, 9, 12, 13, 14, 16, 20, 23], "The": [1, 6, 12, 15, 16, 18, 19, 20, 21, 22], "Then": [0, 1, 2, 3, 8, 10, 11, 12, 13, 14, 15, 16, 18, 23], "There": [0, 2, 5, 6, 7, 8, 10, 11, 13, 14, 16, 18, 20, 21, 23], "These": [2, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 23], "To": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20], "With": [1, 2, 7, 8, 10, 11, 12, 13, 14, 16, 18, 20, 23], "_": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 23], "_0": [7, 10, 12, 13, 15], "_1": [4, 7, 8, 10, 12, 13, 14, 15, 16, 18], "_2": [4, 7, 10, 13, 14, 15, 18], "_3": 18, "_4": 18, "_9": 15, "__class__": 12, "__doc__": 8, "__future__": [10, 11], "__init__": 3, "__main__": 4, "__name__": [4, 12], "_auto1": [4, 5, 6, 7, 8, 9, 14, 15, 18, 20], "_auto10": [8, 14], "_auto11": 8, "_auto12": 8, "_auto2": [4, 5, 6, 7, 8, 14, 15, 18, 20], "_auto3": [5, 6, 7, 8, 14, 15, 18], "_auto4": [6, 8, 14, 15, 18], "_auto5": [6, 8, 14, 15, 18], "_auto6": [6, 8, 14, 18], "_auto7": [6, 8, 14, 18], "_auto8": [8, 14], "_auto9": [8, 14], "_build": [2, 17, 22, 23], "_c": 3, "_compon": 13, "_depth": 11, "_export": [0, 1], "_fraction": 11, "_i": [2, 3, 4, 7, 8, 9, 10, 13, 14, 15, 23], "_j": [2, 3, 4, 5, 7, 8, 10, 15], "_k": 15, "_l": 14, "_lambda": [8, 23], "_leaf": 11, "_m": 12, "_n": [4, 7, 10, 13, 15], "_node": 11, "_p": [7, 10], "_ratio": 13, "_sampl": 11, "_split": [8, 11], "_t": 15, "_test": 8, "_varianc": 13, "_weight": 11, "a0": 5, "a0faa0": [11, 12], "a1": [2, 23], "a2": [2, 23], "a3": [2, 23], "a4": [2, 23], "a_": [1, 2, 3, 18, 23], "a_0": [2, 23], "a_1a": [2, 23], "a_2a": [2, 23], "a_3": [2, 23], "a_3a": [2, 23], "a_4": [2, 23], "a_4a": [2, 23], "a_h": 3, "a_i": [2, 3, 4, 14, 23], "a_j": [3, 14], "a_k": [2, 3, 14], "aaron": 22, "ab": [2, 4, 7, 15, 16, 23], "ab_channel": 17, "abandon": 3, "abid": 20, "abil": [2, 12], "abl": [1, 2, 3, 6, 7, 8, 9, 12, 14, 15], "about": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 21], "abov": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 23], "abovement": [8, 23], "abscissa": 15, "absolut": [2, 4, 7, 8, 15, 23], "abstract": 3, "acceler": 15, "accept": [2, 5, 8, 11, 23], "access": [2, 5, 13, 20, 23], "accid": [6, 8], "accompani": [2, 23], "accomplish": [10, 11, 15], "accord": [2, 3, 4, 7, 8, 11, 14, 15, 16, 20, 23], "accordingli": 13, "account": [0, 1, 2, 5, 7, 15, 20, 23], "accumul": [14, 15, 20], "accur": [2, 5, 6, 8, 12, 15], "accuraci": [2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 23], "accuracy_scor": [2, 3, 12, 23], "accuracy_score_numpi": 3, "achiev": [2, 3, 7, 8, 10, 14, 18, 23], "aco": 20, "acquaint": 17, "acquir": [3, 17, 23], "acr": 2, "across": [3, 5, 8, 11, 17, 23], "act": [3, 5, 18], "action": 20, "activ": [0, 2, 4, 5, 6, 11, 19, 21, 23], "actual": [0, 1, 2, 3, 6, 7, 8, 10, 13, 18, 20, 23], "ad": [0, 1, 3, 5, 6, 7, 10, 15, 18], "ada_clf": 12, "adaboostclassifi": 12, "adadelta": 15, "adam": [3, 5, 6, 23], "adapt": [6, 8, 15, 22], "add": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 20, 21, 23], "add_subplot": [3, 9, 14, 16], "addendum": 7, "addit": [2, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 17, 18, 20, 21, 22, 23], "addition": [14, 15], "address": [3, 11, 13, 15, 23], "adjac": [5, 14], "adjoint": 7, "adjust": [2, 7, 14, 15], "admir": [2, 23], "advanc": [6, 8, 14, 22, 23], "advantag": [3, 5, 7, 8, 12, 15, 18], "adversari": 23, "afecionado": 23, "affect": [0, 5], "affin": [2, 5, 10, 13], "afford": 5, "aficionado": 23, "aforement": 16, "african": 2, "after": [0, 1, 2, 3, 4, 6, 7, 8, 11, 13, 14, 15, 17, 18, 20, 23], "afterward": [2, 23], "ag": [2, 9, 23], "ag_0": 4, "again": [2, 3, 6, 7, 8, 9, 10, 12, 13, 14, 15, 20, 23], "against": [3, 6, 9, 12], "agegroup": 9, "agegroupmean": 9, "aggreg": [11, 12], "agorithm": 12, "agre": [7, 8, 20], "agreement": 15, "ahead": 11, "ai": [2, 22], "aid": 13, "aim": [1, 2, 3, 6, 8, 9, 13, 16, 17, 18], "ainv": 7, "airplan": 5, "aka": 7, "al": [1, 2, 4, 6, 22, 23], "alarm": [7, 9], "algebra": [2, 5, 7, 15, 17], "algorithm": [1, 2, 3, 4, 6, 7, 8, 9, 10, 15, 16, 17, 18, 20, 22, 23], "align": [2, 4, 7, 8, 9, 10, 15, 20, 23], "all": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "allevi": [3, 15], "alloc": [5, 18], "allow": [2, 3, 4, 5, 7, 8, 10, 12, 15, 17, 18, 23], "almost": [2, 3, 8, 10, 13, 15, 20], "alon": [4, 11], "along": [0, 4, 5, 6, 7, 8, 11, 12, 13, 17, 18, 23], "alpha": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 15, 16, 20, 23], "alpha_": 12, "alpha_0": 5, "alpha_1": 5, "alpha_2": 5, "alpha_i": [5, 15], "alpha_k": 15, "alpha_m": 12, "alpha_n": 5, "alpha_opt": 15, "alreadi": [0, 4, 5, 6, 7, 8, 12, 14, 17, 18, 20, 23], "also": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "alter": 3, "altern": [2, 3, 6, 7, 8, 10, 11, 13, 15, 18, 23], "although": [1, 2, 3, 7, 8, 10, 12, 15, 23], "alwai": [1, 2, 5, 7, 8, 14, 15, 20, 23], "am": 6, "ame2016": [2, 23], "american": 2, "among": [2, 5, 7, 11, 12, 14, 18, 23], "amongst": 7, "amount": [2, 3, 5, 6, 8, 10, 12, 16, 17], "an": [1, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22], "an_": 20, "anaconda": [2, 3, 17, 23], "analogi": 15, "analys": 8, "analysi": [3, 5, 6, 9, 16, 18, 22], "analyt": [4, 5, 7, 8, 9, 14, 15, 17, 23], "analyz": [1, 2, 3, 5, 6, 7, 8, 20], "andrew": 3, "angl": [2, 5, 11], "anharmon": 5, "ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 20, 23], "anim": [6, 14], "ann": 14, "annot": [2, 3, 5, 9, 10, 23], "announc": 23, "anoth": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 18, 20, 23], "ansatz": [2, 23], "answer": [2, 3, 5, 7, 8, 18, 21, 23], "antialias": [4, 8], "anticip": 6, "anymor": [3, 10], "anyon": [0, 6, 10], "anyth": [0, 1, 3, 20], "anytim": [21, 23], "apach": 3, "apart": [13, 15], "api": [3, 17, 23], "appar": 4, "appear": [2, 3, 5, 15, 18, 20], "append": [3, 5, 6, 10, 11, 15, 23], "appli": [2, 3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 20, 22, 23], "applic": [1, 2, 3, 5, 6, 7, 8, 9, 11, 14, 15, 18, 20, 22, 23], "apply_gradi": 6, "approach": [0, 1, 3, 4, 6, 7, 8, 11, 12, 13, 14, 15, 17, 20, 22], "appropri": [4, 8, 11, 14, 15, 17, 20], "approv": 23, "approx": [2, 4, 5, 8, 12, 13, 15, 20, 23], "approxim": [2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 15, 20, 23], "apt": [2, 17, 23], "aq": 20, "ar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "aragorn": 23, "arang": [3, 5, 6, 8, 9, 11, 12, 14, 15, 23], "arbitrari": [3, 6, 8, 10, 14, 15, 20], "arbitrarili": [2, 3, 13, 23], "arc": 8, "architectur": [5, 6, 14], "area": [2, 5, 8, 22, 23], "argmax": [3, 13], "argmin": [6, 12, 16], "argsort": 13, "argu": [3, 15], "argument": [2, 4, 5, 7, 13, 14, 15, 23], "aris": [2, 8, 14, 15, 20, 23], "arithmet": [2, 15, 18, 23], "arm": 8, "armadillo": 18, "around": [2, 3, 6, 7, 8, 13, 20, 23], "arrai": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20], "arrang": [5, 23], "arraybox": 15, "arriv": [2, 8, 11, 13, 18, 20, 23], "arrow": 14, "arrowprop": 10, "art": [2, 3, 17, 23], "articl": [2, 5, 6, 8, 12, 23], "artifici": [2, 4, 9, 14, 22, 23], "artificialneuron": 14, "arug": 15, "arxiv": [5, 6], "asarrai": [2, 8, 11], "ask": [0, 7, 8, 13, 14], "aspect": [2, 8, 17, 23], "assembl": 5, "assembli": [2, 23], "assert": 6, "assess": [2, 8, 23], "assici": 6, "assign": [0, 2, 9, 10, 11, 14, 15, 16, 19, 21, 22, 23], "associ": [2, 8, 11, 14, 16, 20, 23], "assum": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "assumpt": [2, 5, 7, 8, 11, 13, 20, 23], "ast": [2, 7, 8, 23], "astronomi": 23, "astyp": [6, 11, 12], "asymmetri": [2, 23], "asymptot": [6, 8], "atom": [2, 23], "attempt": [2, 6, 8, 9, 10, 12, 23], "attend": 23, "attent": [2, 18, 23], "attract": [2, 12, 23], "attribut": [2, 11, 23], "audi": [2, 23], "audio": [5, 6], "august": 23, "aurelien": [2, 22, 23], "austfjel": 8, "auth": 0, "authent": 0, "author": [2, 3, 12, 20], "authour": 23, "auto": [11, 12, 20], "autocor": 20, "autocorrelation_tim": 20, "autocorrelform": 20, "autocovari": 20, "autoencod": [6, 17, 23], "autoencond": 17, "autograd": [17, 23], "autom": [2, 17, 22, 23], "automac": 18, "automag": 23, "automat": [1, 2, 3, 4, 5, 6, 13, 17, 18, 23], "automobil": 5, "autonom": 6, "avail": [2, 3, 6, 8, 12, 13, 17, 18, 19, 21, 22, 23], "averag": [2, 3, 5, 8, 11, 12, 15, 16, 20, 21, 23], "avoid": [2, 6, 7, 8, 11, 13, 15, 18, 23], "awai": [4, 5, 8], "awar": [4, 12], "award": [21, 23], "ax": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 23], "axes3d": [4, 8, 15], "axes_grid1": 8, "axhlin": 10, "axi": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "axiom": 7, "axlabel": [2, 23], "axvlin": [6, 10], "axvspan": 6, "b": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 20, 21, 23], "b1": 10, "b2": 10, "b3": 10, "b_": [2, 3, 18], "b_0": 2, "b_1": [2, 4, 14, 15], "b_2": [2, 15], "b_5": 15, "b_group": 11, "b_i": [2, 3, 4, 14, 23], "b_ia_": [2, 23], "b_ia_i": 2, "b_index": 11, "b_j": [3, 14], "b_k": [2, 3, 14, 15], "b_m": 14, "b_score": 11, "b_valu": 11, "babcock": 23, "bachelor": [19, 21], "back": [0, 1, 2, 5, 6, 7, 8, 10, 11, 12, 18, 20, 23], "backbon": 18, "backend": [3, 6], "background": [22, 23], "backpropag": 3, "backtrack": 11, "backup": 18, "backward": [3, 4, 6, 14, 18], "bad": 8, "badli": 20, "bag": [11, 17, 23], "bag_clf": 12, "baggin": 23, "baggingboot": 12, "baggingclassifi": 12, "baggingtre": 12, "balanc": 8, "band": 18, "bandwidth": 18, "bar": [2, 8, 13, 23], "barber": 22, "bare": [6, 12], "base": [1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 16, 17, 20, 21, 22, 23], "basi": [7, 9, 10, 12, 13, 14, 15, 18], "basic": [0, 8, 10, 14, 15, 16, 17, 20, 23], "batch": [5, 6, 13, 14, 15], "batch_shap": 6, "batch_siz": [3, 5, 6], "batchnorm": 6, "bay": 9, "bayesian": [7, 17, 22, 23], "beam": 23, "becaus": [2, 3, 4, 5, 6, 7, 8, 10, 11, 14, 15, 16, 23], "becom": [2, 3, 4, 7, 8, 9, 11, 14, 15, 20, 23], "been": [2, 3, 4, 5, 6, 7, 8, 13, 14, 15, 17, 18, 23], "befor": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 18, 20, 23], "beforehand": [2, 20, 23], "begin": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 20, 21, 23], "behav": [3, 8, 15], "behavior": [2, 3, 15, 23], "behaviour": 14, "behind": [2, 3, 8, 10, 15, 23], "being": [2, 3, 4, 5, 6, 7, 9, 10, 12, 13, 14, 15, 20, 23], "believ": [11, 18], "belong": [9, 10, 11, 15, 16], "below": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20, 23], "benchmark": 12, "benefici": [3, 15], "benefit": [2, 3, 6, 13, 15, 17, 23], "bengio": [3, 22, 23], "benign": [3, 9], "besid": [6, 7], "bessel": 7, "best": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 21, 23], "beta": [1, 2, 3, 5, 7, 8, 9, 12, 13, 15, 23], "beta_": [2, 5, 8, 9, 15, 23], "beta_0": [1, 2, 3, 5, 7, 8, 9, 15, 23], "beta_0x_": [2, 23], "beta_1": [2, 3, 5, 7, 8, 9, 12, 15, 23], "beta_1x_": [2, 23], "beta_1x_0": [2, 23], "beta_1x_1": [2, 9, 23], "beta_1x_2": [2, 23], "beta_1x_i": [9, 15], "beta_2": [2, 5, 15, 23], "beta_2x_": [2, 23], "beta_2x_0": [2, 23], "beta_2x_1": [2, 23], "beta_2x_2": [2, 9, 23], "beta_3": 5, "beta_i": [2, 5, 7, 23], "beta_j": [2, 7, 8, 15, 23], "beta_k": 15, "beta_linreg": 15, "beta_m": 12, "beta_mg_m": 12, "beta_n": 5, "beta_p": 9, "beta_px_p": 9, "betavalu": 7, "better": [2, 3, 4, 5, 6, 8, 11, 12, 13, 14, 15, 23], "between": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 20, 23], "beyond": [2, 3, 7, 8, 10, 15, 23], "bf": [15, 16, 18, 20], "bg": 23, "bgd": 15, "bia": [2, 3, 4, 5, 7, 10, 11, 12, 14, 15, 23], "bias": [3, 4, 5, 7, 8, 11, 14], "big": [2, 3, 4, 7, 8, 16], "bigger": [3, 8], "bigr": 14, "bike": 11, "bilbo": 23, "billion": [5, 14, 17], "bin": [2, 9, 20], "binari": [2, 5, 7, 9, 11, 12, 14, 23], "binarycrossentropi": 6, "bind": 2, "binomi": [17, 20, 23], "binsboot": 8, "bioinformat": 2, "biolog": [3, 14], "bios1100": [17, 23], "bird": [2, 5], "birth": 23, "bishop": [22, 23], "bit": [3, 6, 18, 20, 23], "bitwis": 20, "bivari": 4, "bk": [2, 15], "bla": [18, 23], "black": [10, 11, 16], "block": [8, 12, 17, 18, 20, 23], "blog": 23, "blogpost": 6, "blue": [2, 5], "bmatrix": [2, 3, 5, 7, 9, 10, 13, 15, 18, 23], "bmi": 3, "bodi": [2, 3, 6, 14, 23], "bold": 3, "boldfac": [1, 2, 7], "boldsymbol": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 15, 16, 23], "boltzmann": [14, 17, 23], "book": [22, 23], "book1": 22, "boolean": 6, "boost": [3, 11, 17, 23], "boostrap": 12, "bootstrap": [3, 15, 17, 23], "borrow": 23, "boston_dataset": 2, "bot": 10, "both": [0, 1, 2, 3, 6, 7, 8, 10, 11, 12, 15, 16, 17, 18, 20, 21, 23], "bottl": 9, "bound": [2, 10, 14], "boundari": [4, 6, 10, 13, 14], "box": [6, 11], "boyd": [10, 15], "bracket": [6, 20], "brain": [3, 9, 14], "branch": 11, "break": [2, 6, 8, 13, 16, 23], "breast": [7, 9, 13], "breviti": 15, "brew": [2, 17, 23], "brg": 10, "briefli": [1, 2, 23], "bring": [2, 7, 8, 12], "britt": [21, 23], "broad": 2, "brought": [15, 17, 23], "brownle": 6, "browser": [0, 23], "brute": [5, 7, 13], "buffer_s": 6, "bui": 6, "build": [1, 2, 6, 7, 8, 12, 18, 20, 23], "built": [2, 3, 5, 6, 8], "bunch": 13, "busi": 2, "byte": [18, 23], "c": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "c1": [10, 13], "c2": [10, 13], "c_": [2, 10, 11, 12, 15, 20], "c_0": 20, "c_1": 14, "c_2": 14, "c_3": 14, "c_4": 14, "c_i": [14, 15], "c_k": 20, "ca": [3, 23], "cach": 12, "cal": [2, 10, 12, 14, 15, 23], "calcul": [1, 2, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "call": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23], "calor": 2, "cambridg": [15, 22], "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22], "cancel": [2, 15, 23], "cancer": [7, 12], "cancerpd": 9, "candid": [10, 11, 12], "cannot": [2, 3, 6, 7, 8, 9, 10, 11, 20], "canopi": [2, 17, 23], "canva": [0, 1, 23], "cap": 7, "capabl": [2, 3, 10, 15, 17, 23], "capac": [4, 21], "capita": 2, "captur": [6, 13, 14], "car": [5, 6], "card": [2, 9, 23], "cardin": 3, "care": [0, 13], "carefulli": 15, "carlo": [2, 8, 17, 20, 22, 23], "carri": [4, 8, 9], "cart": 12, "case": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 13, 14, 15, 16, 17, 18, 23], "casella": 22, "cast": 3, "cat": [5, 6], "catch": 2, "categor": [2, 3, 5, 11, 13, 23], "categori": [2, 3, 5, 9, 12, 14, 16, 23], "categorical_crossentropi": [3, 5], "caus": [2, 7, 8, 20, 23], "causal": 2, "causat": [2, 23], "cax": 3, "cb": [8, 23], "cbar": 3, "cc": [2, 3, 7, 15, 23], "ccc": [7, 14], "cdf": 20, "cdot": [2, 4, 8, 14, 15, 16, 18, 20, 23], "celebr": 15, "cell": 6, "center": [2, 3, 8, 9, 10, 11, 13, 16, 20, 23], "central": [1, 2, 5, 7, 8, 10, 18, 23], "centroid": [16, 20], "centroid_differ": 16, "centuri": 5, "certain": [2, 5, 8, 9, 11, 20, 23], "cg": 15, "cha": 2, "chain": [2, 3, 15, 17, 20, 23], "challeng": 0, "chanc": [3, 7, 15, 20], "chang": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 18, 20, 23], "channel": 5, "chapter": [1, 2, 8, 12, 13, 18, 22, 23], "chapter3": 2, "charact": [2, 5, 7, 23], "character": [10, 11, 12, 14, 20], "characterist": [2, 3, 5, 12, 15, 23], "charg": [2, 23], "charl": 2, "chase": 6, "chatgpt": 0, "chd": 9, "chddata": 9, "cheap": 7, "cheaper": [3, 15], "check": [0, 1, 2, 3, 5, 6, 7, 13, 15, 18, 23], "checkmark": 5, "checkpoint": 6, "checkpoint_dir": 6, "checkpoint_prefix": 6, "chen": 12, "chiaramont": 4, "childcar": 1, "children": 1, "choic": [2, 3, 4, 5, 6, 8, 11, 14, 15, 16, 18, 23], "choleski": [7, 18], "choos": [0, 4, 5, 8, 11, 12, 13, 15, 16], "chosen": [1, 2, 3, 4, 8, 10, 11, 12, 15, 20, 23], "chosen_datapoint": 3, "christian": 22, "christoph": [22, 23], "cifar": 5, "cifar10": 5, "circ": [3, 14], "circl": [2, 10, 14], "circuit": 5, "circumfer": 11, "circumv": [3, 7, 15], "ckpt": 6, "clariti": 20, "class": [2, 3, 5, 6, 8, 9, 10, 11, 13, 14, 15, 20, 23], "class_nam": [5, 11], "class_val": 11, "class_valu": 11, "classic": [9, 11, 15], "classif": [2, 5, 7, 8, 9, 10, 13, 14, 17, 22, 23], "classifi": [2, 3, 6, 9, 11, 12, 13, 23], "classificaton": 3, "classifii": 12, "clean": 3, "clear": [3, 7, 12, 14, 15], "clearli": [2, 5, 7, 8, 9, 10, 20], "clever": [3, 12], "clf": [2, 8, 10, 11, 12, 23], "clf3": 2, "clf_lasso": 8, "clf_ridg": [8, 23], "cli": 0, "clip": [5, 20], "clone": [0, 21], "close": [2, 3, 4, 6, 8, 10, 11, 13, 14, 15, 16, 20, 22, 23], "closer": [5, 7, 15], "closest": [10, 13, 15, 16], "closur": [17, 23], "cloud": [17, 23], "cluster": [2, 3, 6, 8, 13, 17, 23], "cluster_label": 16, "cm": [3, 4, 5, 8, 10, 15], "cmap": [2, 3, 4, 5, 6, 8, 10, 11, 12, 23], "cmap_arg": 8, "cmd": [0, 11], "cn_": 20, "cnn": 14, "cnn_kera": 5, "cntk": [17, 23], "co": [2, 4, 5, 8, 11, 15, 23], "code": [5, 6, 8, 9, 10, 17, 18, 20, 22], "coef": [2, 23], "coef0": 10, "coef_": [1, 2, 7, 8, 10, 11, 15, 23], "coeff": 7, "coeffici": [2, 5, 7, 8, 9, 10, 11, 15, 18, 23], "coerc": [2, 8, 23], "coin": [12, 20], "coin_toss": 12, "col": [2, 13, 23], "colab": [17, 23], "cold": 11, "colinear": 2, "collaps": 10, "collect": [2, 4, 8, 12, 13, 17, 20, 22, 23], "collinear": 7, "color": [2, 5, 6, 8, 10, 11, 12, 20], "color_channel": 5, "color_cod": 8, "colorbar": [3, 8], "colsample_bytre": 12, "colsaobject": 12, "column": [1, 2, 3, 4, 7, 8, 9, 10, 11, 13, 14, 18, 23], "columntransform": 11, "com": [0, 1, 6, 8, 17, 22, 23], "combin": [3, 4, 7, 8, 9, 12, 20], "come": [0, 2, 3, 5, 6, 7, 14, 15, 16, 23], "command": [0, 2, 3, 23], "comment": [2, 6, 7, 8, 23], "commerci": [2, 17, 23], "commit": 0, "commod": [2, 23], "common": [1, 2, 3, 5, 7, 8, 9, 11, 13, 15, 16, 20, 23], "commonli": [2, 3, 6, 8, 9, 11, 15, 16], "commun": [2, 14], "commut": 5, "commutatitav": 5, "compact": [2, 3, 5, 7, 8, 9, 11, 13, 14, 15, 16, 23], "compair": 2, "compar": [2, 5, 6, 7, 8, 13, 15, 18, 23], "comparison": [4, 6, 15], "compat": 9, "compet": 2, "competit": 12, "compil": [2, 3, 5, 6, 15, 17, 18, 23], "complet": [0, 1, 2, 4, 5, 6, 11, 14, 23], "completenn": 14, "complex": [1, 3, 7, 10, 11, 13, 14, 15, 23], "complic": [2, 3, 11, 15, 23], "compon": [1, 2, 3, 5, 6, 7, 8, 9, 11, 16, 17, 23], "components_": 13, "compos": [11, 14, 15, 16, 17, 23], "compphys": [1, 2, 8, 17, 19, 21, 22, 23], "compress": [2, 23], "compris": 8, "compromis": 7, "compulsori": [17, 23], "comput": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23], "computation": [2, 5, 8, 11, 15, 20, 23], "computationalscienceuio": 23, "concaten": [4, 6, 8, 16], "concav": [3, 15], "concentr": [2, 12], "concept": [2, 4, 17, 23], "conceptu": [14, 15], "concern": [2, 3, 6, 9, 23], "concic": 23, "conclud": [2, 7, 15], "conclus": 3, "cond": 4, "conda": [2, 3, 17, 23], "condit": [2, 4, 6, 7, 8, 10, 11, 13, 15, 20, 23], "conduct": 17, "condwav": 4, "confid": [2, 7, 8, 9, 10, 23], "configur": 5, "confirm": [7, 14], "confus": [7, 8, 9, 12, 18], "confusion_matrix": 11, "congruenti": 20, "conjug": [6, 10], "conjugaci": 15, "conjunct": 5, "connect": [2, 3, 5, 6, 11, 13, 14, 15, 18, 23], "consequ": [7, 8, 10, 12, 14, 15], "conserv": [7, 16], "consid": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 18, 20, 23], "consider": [2, 3, 7, 15, 23], "consist": [2, 3, 4, 5, 6, 8, 14, 15, 20], "constant": [1, 2, 4, 6, 7, 8, 10, 14, 15, 20, 23], "constitu": [2, 23], "constitut": [4, 8], "constrain": [3, 5, 7, 9, 13], "constraint": [7, 8, 10, 15], "construct": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 18, 20, 23], "contact": [2, 23], "contain": [0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 20, 22, 23], "contemporari": 23, "content": [0, 3, 17, 18, 23], "context": [8, 12, 15], "contigu": 18, "continu": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 18, 20, 23], "contour": [11, 12, 15], "contourf": [10, 11, 12], "contrast": [3, 6, 11, 12, 14], "contribut": [2, 5, 7, 15, 20, 23], "contributor": 2, "control": [0, 2, 3, 5, 11, 15, 17, 23], "conv": [5, 6], "conv2d": [5, 6], "conv2dtranspos": 6, "convei": 23, "conveni": [2, 7, 8, 14, 15, 18, 23], "convent": 14, "converg": [3, 4, 6, 7, 10, 15, 16], "convert": [2, 3, 6, 7, 11, 13, 15, 18, 23], "converttomatrix": 6, "convex": [6, 7, 9], "convinc": 15, "convolut": [3, 6, 17, 23], "cool": [6, 11], "coolwarm": 8, "coordin": [7, 14, 16], "coorel": 2, "copi": [0, 2, 3, 16], "core": 12, "corel": 23, "coronari": 9, "corr": [2, 7, 9, 13], "correalt": [13, 17], "correct": [0, 2, 3, 4, 5, 6, 7, 9, 15, 18, 20, 23], "correctli": [3, 4, 8, 9, 12], "correl": [2, 3, 5, 7, 8, 9, 12, 14, 15, 17, 20, 23], "correlation_matrix": [2, 7, 9, 13], "correspond": [2, 5, 7, 8, 10, 11, 13, 14, 17, 18, 20, 23], "cortex": 14, "cosin": [5, 8], "cost": [1, 2, 4, 5, 7, 8, 9, 10, 11, 14, 15, 23], "cost_deep_grad": 4, "cost_funct": 4, "cost_function_deep": 4, "cost_function_deep_grad": 4, "cost_function_grad": 4, "cost_grad": 4, "cost_sum": 4, "costol": 15, "could": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20, 23], "coulomb": [2, 23], "count": [2, 11, 19, 20, 21, 23], "countor": 15, "coupl": [6, 7, 8], "cours": [0, 1, 2, 3, 5, 7, 13, 21], "coursework": 0, "courvil": [22, 23], "cov": [7, 8, 13, 18, 20, 23], "cov_xi": [7, 13], "cov_xx": [7, 13], "cov_yi": [7, 13], "covari": [2, 9, 17, 18, 23], "covariance_matrix": [7, 13, 16], "cover": [2, 7, 17, 21, 22], "covert": [2, 23], "covxi": 20, "covxx": 20, "covxz": 20, "covyi": 20, "covyz": 20, "covzz": 20, "cpu": 3, "craft": 5, "creat": [0, 3, 5, 6, 7, 11, 12, 13, 14, 17, 23], "create_biases_and_weight": 3, "create_convolutional_neural_network_kera": 5, "create_neural_network_kera": 3, "create_x": [7, 13], "credit": [2, 9, 21, 23], "crim": 2, "crime": 2, "criteria": [2, 6, 11, 12, 16, 20, 23], "criterion": [11, 12, 15], "critic": 8, "cross": [2, 3, 5, 9, 11, 12, 15, 17, 20, 23], "cross_entropi": 6, "cross_val_scor": 8, "cross_valid": [9, 12], "crossvalid": 8, "crucial": [3, 20], "cs231": 5, "csr_matrix": [18, 23], "csv": [2, 6, 8, 9, 11, 23], "ctnk": 3, "cubic": 2, "cumbersom": 7, "cumsum": [12, 13, 23], "cumul": [9, 12, 20], "cumulative_heads_ratio": 12, "cup": 7, "current": [0, 1, 3, 4, 5, 6, 15, 16, 22], "curs": 2, "curv": [8, 9, 12, 14], "curvatur": 15, "custom": [8, 16], "custom_cmap": [11, 12], "custom_cmap2": [11, 12], "cutpoint": 11, "cv": [8, 9, 12], "cvxbook": 15, "cvxopt": [7, 10], "cycl": [3, 14], "d": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 21, 23], "d2_g_t": 4, "d_f": 15, "d_g_t": 4, "d_net_out": 4, "da": 5, "dagger": [7, 18], "dai": [3, 11, 17], "damp": 5, "darget": 11, "darkr": 20, "dat": [2, 23], "dat_id": [2, 8, 9, 11, 23], "data": [1, 4, 6, 7, 10, 12, 14, 15, 16, 18, 22], "data1": 16, "data2": 16, "data3": 16, "data4": 16, "data_id": [2, 8, 9, 11, 23], "data_indic": 3, "data_panda": 23, "data_path": [2, 8, 9, 11, 23], "databas": 3, "datafil": [2, 8, 9, 11, 23], "datafram": [2, 6, 7, 9, 11, 13, 23], "datapoint": [1, 3, 7, 8, 9, 13, 15], "datasci": [0, 1], "dataset": [1, 2, 6, 8, 9, 10, 11, 12, 13, 15, 16, 23], "datatyp": 6, "date": [0, 23], "daughter": 12, "david": [22, 23], "dbh": 3, "dbo": 3, "dcomposit": 18, "ddot": 4, "dead": 3, "deal": [2, 3, 5, 7, 8, 10, 13, 15, 16, 18, 20, 23], "dealt": 2, "debt": 9, "debug": [2, 7, 8], "decad": [2, 5], "decai": [2, 15, 20, 23], "decemb": [21, 23], "decent": 12, "decid": [2, 4, 5, 7, 8, 11], "decim": [2, 23], "decis": [2, 3, 10, 13, 17, 22, 23], "decision_funct": 10, "decision_tre": 11, "decisiontreeclassifi": [11, 12], "decisiontreeregressor": [2, 11, 12], "declar": [2, 6, 18, 23], "decompos": [7, 8, 18], "decomposit": [2, 8, 14, 23], "decompost": 7, "deconvolut": 5, "decorrel": [12, 15], "decreas": [3, 4, 6, 7, 8, 12, 13, 15], "deduc": [2, 23], "deep": [5, 9, 14, 15, 17, 22], "deep_neural_network": 4, "deep_param": 4, "deep_tree_clf": [11, 12], "deep_tree_clf1": 11, "deep_tree_clf2": 11, "deepen": [7, 17, 23], "deeper": [2, 5, 6, 23], "deeplearningbook": [22, 23], "deer": 5, "def": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 20, 23], "def_covari": 20, "default": [2, 3, 4, 6, 8, 9, 18, 23], "default_tim": 6, "defect": 7, "defici": 7, "defin": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20], "definit": [3, 4, 7, 8, 9, 10, 12, 13, 14, 15, 18, 20], "defint": 20, "degre": [0, 1, 5, 7, 8, 10, 11, 12, 13, 20, 23], "del": 3, "delet": [0, 8], "delimit": 6, "deliv": [0, 19, 23], "delta": [2, 4, 5, 8, 10, 14, 15, 16, 23], "delta_": [3, 18], "delta_0": 5, "delta_1": 5, "delta_2": 5, "delta_3": 5, "delta_4": 5, "delta_5": 5, "delta_h": [2, 3, 23], "delta_j": [5, 14], "delta_k": 14, "delta_l": [3, 5], "delta_momentum": 15, "delta_n": [2, 5, 23], "delug": 17, "delv": 2, "demand": 15, "demonstr": [2, 5, 7, 8, 9, 13, 14, 17, 23], "den": 6, "denomin": [3, 7], "denot": [3, 4, 8, 9, 15, 20], "dens": [3, 5, 6], "densiti": [2, 4, 8, 20, 23], "depart": [21, 23], "depend": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 20, 23], "depict": 20, "deploy": [2, 17, 23], "depth": [2, 5, 11, 12, 18], "deriv": [2, 3, 4, 8, 9, 10, 12, 13, 15, 17, 23], "derivati": 15, "derivative_fn": 15, "descend": [7, 11, 13], "descent": [2, 3, 5, 9, 10, 14, 23], "describ": [2, 4, 6, 7, 8, 10, 12, 13, 14, 15, 18, 23], "descript": [2, 10, 11, 23], "design": [2, 3, 5, 6, 7, 8, 9, 12, 13, 14, 15, 23], "designmatrix": [2, 23], "desir": [2, 4, 6, 7, 15, 16, 23], "desktop": 0, "despit": [3, 14], "destroi": 18, "det": [7, 18], "detail": [2, 8, 13, 15, 16, 18], "detect": [5, 10, 14], "determin": [2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 18, 20, 23], "determinist": [9, 15, 20], "dev": 3, "develop": [2, 5, 7, 10, 12, 13, 14, 17, 18, 23], "deviat": [2, 3, 4, 6, 7, 8, 20, 23], "devis": 14, "df": [6, 10, 13, 15, 23], "df1": 23, "di": 2, "diag": [7, 10], "diagnost": [3, 12], "diagon": [2, 7, 9, 15, 18, 20, 23], "diagonaliz": 7, "diagram": 12, "diagsvd": 8, "dice": [8, 20], "dict": [8, 10], "dictionari": 2, "did": [1, 2, 3, 7, 8, 9, 12, 13, 16, 23], "die": 3, "diff": 4, "diff1": 4, "diff2": 4, "diff_ag": 4, "diffeent": 10, "differ": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23], "differenti": [1, 2, 5, 17, 18, 23], "difficult": [2, 3, 8, 12, 15, 20, 23], "difficulti": [2, 3, 15, 23], "diffonedim": 4, "digit": [2, 3, 5, 6, 8, 21, 23], "dilemma": 15, "dilut": 3, "dim": [6, 13, 16, 18], "dimens": [1, 2, 3, 4, 5, 6, 7, 10, 13, 16, 18, 23], "dimension": [2, 6, 7, 8, 11, 13, 15, 16, 17, 18, 23], "dimensionless": [2, 5, 23], "diment": 18, "dimnsion": 6, "diod": 5, "direct": [2, 3, 4, 6, 13, 14, 15, 16, 23], "directli": [3, 6, 7, 8, 20], "disadvantag": [2, 23], "disappear": [5, 8], "disc_loss": 6, "disc_tap": 6, "discard": [8, 13], "disciplin": [2, 5, 14], "disclaim": 20, "discord": 23, "discourag": [0, 15], "discov": [2, 23], "discover": 7, "discret": [3, 5, 7, 9, 15], "discrimin": [6, 9, 12, 13], "discriminator_loss": 6, "discriminator_loss_list": 6, "discriminator_model": 6, "discriminator_optim": 6, "discuss": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23], "diseas": 9, "disguis": 8, "disord": [3, 9], "displai": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 20, 23], "displaystyl": [2, 7, 23], "disregard": [2, 23], "dissimilar": [13, 16], "dist": 16, "distanc": [2, 10, 11, 13, 16, 20], "distance_list": 11, "distinct": [5, 9, 10, 11, 12, 16], "distinctli": 10, "distinguish": [2, 6, 9, 10, 20, 23], "distplot": 2, "distribut": [2, 3, 6, 8, 9, 12, 13, 15, 16, 17, 18, 23], "distrubut": [2, 17, 23], "dive": [2, 10, 18, 23], "diverg": [3, 15], "divid": [2, 3, 5, 7, 8, 9, 10, 11, 13, 14, 20, 23], "divis": [8, 10, 11, 15, 18, 20], "dna": 9, "dnn": [2, 3, 4, 6, 14, 23], "dnn1": 6, "dnn2_gru2": 6, "dnn_kera": 3, "dnn_model": 3, "dnn_numpi": 3, "dnn_scikit": [2, 3, 23], "do": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 23], "doc": [0, 1, 2, 17, 19, 21, 22, 23], "document": [0, 6, 15], "doe": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 18, 20, 23], "doesn": [5, 11, 14], "dog": [3, 5, 6], "domain": [7, 10, 15], "domin": [2, 23], "don": [0, 1, 2, 3, 5, 7, 8, 10, 13, 15, 17, 23], "done": [1, 2, 4, 5, 6, 7, 8, 11, 12, 13, 15, 18, 23], "dot": [2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20, 23], "doubl": [1, 5, 6, 18, 23], "doubli": 3, "down": [2, 5, 8, 11, 13, 14, 15], "download": [0, 2, 3, 5, 7, 8, 18, 22, 23], "downsampl": 5, "dozen": 3, "dq": 8, "drag": 15, "dramat": 13, "drastic": 6, "draw": [6, 8, 12, 15], "drawback": [2, 3, 5, 15], "drawn": [3, 6, 8, 9, 13, 20, 23], "drive": [5, 6], "driven": 5, "drop": [2, 3, 7, 8, 13, 15, 20, 23], "dropna": [2, 8, 23], "dropout": 6, "dt": [4, 5, 15, 20], "dtype": [2, 3, 5, 6, 16, 18, 23], "dub": [2, 23], "due": [3, 4, 7, 8, 10, 12, 14, 15, 21, 23], "dummi": 2, "dure": [2, 3, 5, 6, 10, 11, 13, 17, 23], "dwell": 2, "dwh": 3, "dwo": 3, "dx": [4, 5, 10, 20], "dx_1": 20, "dx_1p": 8, "dx_2p": 8, "dx_mp": 8, "dx_n": 20, "dxp": 8, "dy": [3, 10, 20], "dynam": 6, "dz": 10, "e": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 21, 23], "e_": [2, 4, 23], "each": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23], "eapprox": [2, 23], "earli": [3, 15], "earlier": [2, 7, 9, 10, 11, 13, 14, 15, 23], "earthexplor": 8, "eas": [8, 11, 16], "easi": [0, 2, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 23], "easier": [0, 7, 8, 10, 11, 15, 20, 23], "easiest": 15, "easili": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 23], "eastern": [21, 23], "ebind": [2, 23], "eblock": 11, "econometr": 23, "economi": 7, "ecosystem": [17, 23], "ect": 19, "edg": 5, "edgecolor": 8, "edu": 15, "educ": [2, 23], "eff": 20, "effect": [1, 3, 6, 12, 15, 20], "effic": 3, "effici": [2, 5, 12, 15, 17, 18, 20, 23], "efron": 8, "egrad": 15, "eig": [7, 13, 15, 18, 20, 23], "eigen": 20, "eigenpair": [7, 13], "eigenvalu": [2, 7, 10, 13, 15, 18, 23], "eigenvector": [7, 13, 15], "eight": [18, 23], "eigval": [18, 20, 23], "eigvalu": [13, 15], "eigvec": [18, 20, 23], "eigvector": [13, 15], "eir": [21, 23], "eispack": [18, 23], "either": [3, 7, 8, 9, 10, 11, 12, 13, 15, 20, 23], "eivind": [21, 23], "eivinsto": [21, 23], "ekstr\u00f8m": 6, "elabor": 20, "elarn": 5, "electr": [2, 5, 14, 23], "electron": 23, "eleg": 13, "element": [3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 22], "elementari": [12, 15, 18], "elementwis": [5, 15], "elementwise_grad": [4, 15], "elessar": 23, "elif": 16, "elim": 18, "elimin": [5, 10], "elin": [21, 23], "els": [1, 3, 5, 6, 9, 11, 14, 15, 18], "elu": 3, "elus": [2, 23], "email": [19, 21, 23], "embed": [2, 13], "embodi": 8, "emit": 20, "emner": 22, "emphas": [2, 12, 17, 23], "emphasi": [2, 17, 22, 23], "empir": [3, 13, 20], "emploi": [2, 3, 7, 8, 13, 15, 20, 23], "employ": 2, "empti": [0, 8, 12], "emul": 14, "en": [17, 22], "enabl": 13, "enbodi": 8, "encod": [2, 5, 7, 11, 13, 16, 23], "encompass": [2, 20], "encount": [0, 2, 3, 7, 9, 15, 20, 23], "encourag": 0, "end": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 23], "endpoint": [5, 8], "energi": [2, 6, 8], "enforc": 14, "eng": 22, "engin": [2, 3, 5, 6, 17, 23], "enorm": 5, "enough": [2, 8, 15, 23], "ensembl": [3, 11], "ensur": [2, 3, 4, 5, 7, 8, 13, 15, 20], "entail": 23, "enter": [7, 8], "enthought": [2, 17, 23], "entir": [3, 5, 9, 11, 17, 20, 23], "entiti": [11, 14, 18, 23], "entri": [2, 7, 10, 13, 14, 18, 23], "entropi": [3, 5, 9, 12, 15, 23], "enumer": [2, 3, 4, 5, 6, 8, 10, 23], "env": 20, "environ": [4, 17], "environemnt": 0, "eo": [2, 8, 23], "eol": [2, 23], "eosfit": [2, 23], "epoch": [2, 3, 5, 6, 14, 15, 23], "epsilon": [2, 7, 8, 9, 15, 23], "epsilon_": [2, 23], "epsilon_0": [2, 23], "epsilon_1": [2, 23], "epsilon_2": [2, 23], "epsilon_i": [2, 23], "eq": [5, 15, 16, 18, 20], "eqnarrai": [5, 7, 8], "equal": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 18, 20, 23], "equat": [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20], "equilibrium": [4, 14], "equiv": [5, 15, 18, 20], "equival": [2, 3, 7, 9, 10, 13, 15, 17, 18, 23], "erf": 20, "eriador": 23, "eridg": 23, "err": [2, 12], "err_": 8, "err_sqr": 4, "errat": 15, "erron": 4, "error": [0, 1, 3, 4, 6, 7, 8, 9, 11, 13, 14, 15, 17, 18, 20], "error_estimate_corr_tim": 20, "error_hidden": 3, "error_output": 3, "escap": 15, "especi": [0, 3, 5, 11, 14, 15], "essenti": [0, 2, 7, 8, 11, 12, 14, 16, 20], "establish": [1, 2, 8, 12, 13, 23], "estim": [2, 3, 7, 8, 9, 12, 13, 15, 17, 20, 23], "estimated_mse_fold": 8, "estimated_mse_kfold": 8, "estimated_mse_sklearn": 8, "et": [1, 2, 4, 6, 22, 23], "eta": [2, 3, 5, 10, 14, 15, 23], "eta0": [10, 15], "eta_": 15, "eta_t": 15, "eta_v": [2, 3, 5, 23], "etc": [2, 3, 5, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20], "ethic": 17, "euclidean": [2, 16], "evalu": [0, 1, 2, 4, 5, 6, 7, 8, 11, 15, 20, 23], "evalut": 15, "even": [2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "evenli": 6, "event": [7, 9, 12, 20], "eventu": [2, 7, 8, 13, 14, 15, 21], "everi": [0, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17, 20, 21, 23], "everyth": [1, 6, 14], "everywher": [6, 15], "evolv": 2, "exact": [2, 7, 13, 14, 15, 18, 20, 23], "exactli": [2, 5, 6, 8, 14, 17], "exam": 23, "examin": 8, "exampl": [1, 7, 13, 14, 15, 17, 18, 20, 22], "exce": [3, 14, 15], "excel": [2, 3, 6, 7, 12, 23], "except": [5, 6, 8, 10, 11, 18], "excess": [2, 23], "excit": 2, "exclud": [3, 8, 14], "exclus": [2, 3, 5, 8, 20, 23], "execut": [0, 4, 7, 15], "exemplifi": 15, "exercic": [21, 23], "exercis": [7, 17, 19, 21], "exhaust": 8, "exhibit": [2, 7, 8, 10, 23], "exist": [2, 3, 4, 5, 7, 8, 9, 10, 11, 15, 18, 23], "exit": [7, 18], "exp": [1, 2, 3, 4, 7, 8, 9, 10, 12, 13, 14, 15, 20, 23], "exp_term": 3, "expand": [7, 9, 13, 15], "expans": [2, 5, 7, 10, 12, 14, 15, 23], "expect": [0, 2, 3, 7, 8, 9, 13, 14, 15, 17, 23], "expectation_value_of_h_wrt_p": 20, "expens": [1, 8, 12, 15], "experi": [0, 2, 3, 8, 10, 15, 17, 23], "experiment": [2, 6, 8, 11, 20, 23], "expert": [3, 11], "explain": [1, 2, 8, 11, 12, 13, 15, 23], "explained_variance_ratio_": 13, "explanatori": [2, 23], "explicit": [2, 5, 8, 15, 18, 23], "explicitli": [2, 6], "explod": 3, "exploit": [2, 5, 14, 15, 23], "explor": [3, 6, 8, 10, 15, 17], "expon": 3, "exponenti": [2, 3, 7, 8, 12, 15, 20, 23], "export": [0, 1, 11], "export_graphviz": 11, "export_text": 11, "exporttext": 11, "expos": 17, "express": [2, 4, 5, 7, 8, 9, 12, 14, 15, 18, 20, 23], "exptmean": 20, "exptvari": 20, "extend": [2, 4, 9, 13, 15, 17, 23], "extens": [0, 2, 14, 17, 23], "extent": [2, 3, 8, 22], "extern": [5, 8, 11], "extra": [0, 3, 5, 7, 21, 23], "extract": [1, 2, 5, 7, 8, 9, 10, 13, 15, 18, 23], "extrapol": [2, 23], "extrem": [0, 1, 2, 3, 6, 7, 8, 9, 10, 11, 15, 18], "extremum": 15, "extrins": 13, "ey": [2, 7, 8, 15, 16, 18, 23], "f": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 23], "f1": 15, "f11": [2, 23], "f12": [2, 23], "f13": [2, 23], "f1_grad": 15, "f1d": 15, "f2": 15, "f2_grad_x1": 15, "f2_grad_x1_analyt": 15, "f2_grad_x2": 15, "f2_grad_x2_analyt": 15, "f3": 15, "f3_grad": 15, "f3_grad_analyt": 15, "f4": 15, "f4_grad": 15, "f4_grad_analyt": 15, "f5": 15, "f5_grad": 15, "f6": 15, "f6_for": 15, "f6_for_grad": 15, "f6_grad_analyt": 15, "f6_while": 15, "f6_while_grad": 15, "f7": 15, "f7_grad": 15, "f7_grad_analyt": 15, "f8": 15, "f8_grad": 15, "f9": [2, 15, 23], "f9_altern": 15, "f9_alternative_grad": 15, "f9_grad": 15, "f_": 12, "f_0": [5, 12], "f_1": [12, 15], "f_2": [14, 15], "f_3": 14, "f_d": 20, "f_grad": 15, "f_grad_analyt": 15, "f_i": [1, 2, 8, 14], "f_m": [5, 12], "f_n": 5, "f_vec": 4, "face": 15, "facecolor": [8, 10, 20], "facil": [2, 17, 23], "facilit": 14, "fact": [2, 3, 5, 7, 11, 13, 14, 15, 23], "factor": [2, 3, 5, 7, 8, 11, 12, 13, 15, 18, 20, 23], "factori": 15, "fade": 8, "fafab0": [11, 12], "fail": [2, 8, 15, 21, 23], "failur": 9, "fairli": [3, 4, 20], "faisal": 1, "fake": 6, "fake_loss": 6, "fake_output": 6, "fall": [10, 11, 19], "fals": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 16, 18, 23], "famili": [2, 9, 10, 20], "familiar": [0, 2, 5, 7, 8, 10, 17, 18, 20, 23], "famou": [8, 14], "far": [1, 2, 5, 6, 7, 8, 10, 13, 14, 15, 16, 23], "fashion": [2, 11, 12, 23], "fast": [3, 5, 8, 12, 14, 15, 17, 20, 23], "faster": [3, 13, 15], "fastest": [15, 18], "favor": 9, "favorit": 20, "fc": 5, "featur": [0, 2, 3, 5, 7, 8, 9, 10, 12, 13, 14, 15, 17, 20, 23], "feature_nam": [2, 3, 9, 11], "feautur": 11, "fed": 3, "feed": [2, 4, 5, 13, 17, 23], "feed_forward": 3, "feed_forward_out": 3, "feed_forward_train": 3, "feedback": [6, 23], "feeddorward": 6, "feedforward": [3, 6, 14], "feel": [0, 1, 2, 7, 8, 13, 15, 17, 21, 23], "feet": 2, "fetch": [0, 8], "few": [3, 5, 6, 7, 11, 20, 23], "fewer": [2, 11, 13, 23], "ffnn": [3, 14], "field": [2, 5, 8, 14, 17], "fifth": [2, 8, 23], "fig": [2, 3, 4, 5, 6, 8, 9, 14, 15, 16, 23], "fig_id": [2, 8, 9, 11, 23], "figaxi": 20, "figsiz": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 23], "figur": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 23], "figure_id": [2, 8, 9, 11, 23], "figurefil": [2, 8, 9, 11, 23], "file": [0, 2, 6, 7, 8, 9, 11, 23], "file_prefix": 6, "filenam": 23, "fill": [7, 11], "filter": [5, 6], "final": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 19, 20, 21, 23], "financ": 2, "find": [0, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 23], "fine": [2, 16, 23], "finish": 4, "finit": [5, 7, 8, 14, 15, 20], "finnicki": 0, "first": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 21, 22], "firsteigvector": 13, "fit": [3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 20], "fit_beta": 8, "fit_intercept": [1, 2, 7, 8], "fit_mod": 11, "fit_transform": [0, 2, 8, 10, 11, 13], "fiti": [2, 23], "five": [2, 11, 23], "fix": [2, 5, 6, 8, 12, 13, 14, 15, 23], "flag": 6, "flat": [14, 15], "flatten": [3, 5, 6, 7, 18], "flexibl": [3, 8, 10, 12, 14, 23], "flip": [21, 23], "float": [2, 5, 6, 7, 11, 13, 15, 16, 18, 23], "float32": [6, 11], "float64": [6, 18, 23], "flop": [7, 18], "flow": [3, 6, 14], "fluctuat": 7, "fly": 13, "fm": [2, 23], "fmax": 5, "fmesh": 15, "fn": 9, "focu": [0, 2, 5, 6, 7, 8, 17, 22, 23], "focus": [3, 8, 9, 18], "fold": [8, 11], "folder": [0, 2, 6, 8, 23], "follow": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23], "font": [2, 9, 20, 23], "fontdict": 20, "fontsiz": [3, 8, 10, 11, 12, 20], "fontweight": 3, "footprint": 5, "foral": 10, "forc": [2, 7, 8, 12, 13, 23], "forcast": 6, "forecast": [6, 14], "forest": [2, 3, 11, 17, 23], "forget": 13, "form": [1, 2, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 20, 23], "formal": [5, 6, 16, 20], "format": [2, 3, 5, 6, 8, 9, 10, 11, 12, 13, 17, 20, 22], "format_data": 6, "formatstrformatt": [8, 15], "formul": [6, 8, 13, 16], "formula": [5, 15, 20], "forth": [6, 14], "fortran": [2, 17, 18, 23], "fortran2003": [17, 23], "fortran90": 20, "fortun": [2, 13], "forward": [2, 5, 8, 17, 18, 23], "foster": 23, "found": [3, 4, 6, 7, 8, 14, 15, 23], "foundat": [17, 23], "four": [6, 7, 8, 10, 14, 18, 19, 21, 23], "fourier": [2, 23], "fourierdef1": 5, "fourierdef2": 5, "fourierseriessign": 5, "fourth": [14, 23], "fp": 9, "frac": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "fraction": 11, "frame": 9, "framework": [3, 10, 12, 20], "frank": [7, 13], "frankefunct": [7, 8, 13], "fredli": [21, 23], "free": [0, 1, 2, 8, 13, 15, 17, 18, 20, 21, 22, 23], "freecodecamp": 17, "freedom": 7, "freeli": 2, "freez": 0, "frequenc": [5, 8, 9, 20], "frequent": [2, 10, 11, 15], "frequentist": 17, "fresh": 12, "fridai": [21, 23], "friedman": [8, 22, 23], "friendli": 6, "frodo": 23, "frog": 5, "from": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 15, 16, 17, 18, 20, 21, 22, 23], "from_cod": 11, "from_logit": [5, 6], "from_tensor_slic": 6, "front": [2, 6, 7, 23], "frustrat": 0, "fulfil": [4, 7, 14], "full": [2, 3, 5, 7, 9, 11, 12, 15, 20, 23], "full_matric": 7, "fulli": [5, 8, 14, 20], "fun": [17, 23], "func": 4, "function": [0, 1, 4, 5, 6, 7, 11, 16, 17, 18], "functionali": 13, "fundament": [2, 8, 17, 23], "funtion": 4, "further": [4, 9, 11, 23], "furthermor": [2, 5, 7, 8, 9, 13, 14, 15, 17, 23], "futur": [2, 6, 10, 11, 23], "fy": [0, 19, 21, 22, 23], "fys5419": [22, 23], "fys5429": [22, 23], "f\u00f8470": [21, 23], "g": [0, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 15, 20, 23], "g0": 4, "g_": [4, 11, 12], "g_0": 4, "g_1": [4, 12], "g_2": [4, 12], "g_analyt": 4, "g_dnn_ag": 4, "g_euler": 4, "g_i": 4, "g_m": [5, 12], "g_n": 5, "g_re": 4, "g_t": 4, "g_t_d2t": 4, "g_t_d2x": 4, "g_t_dt": 4, "g_t_hessian": 4, "g_t_hessian_func": 4, "g_t_jacobian": 4, "g_t_jacobian_func": 4, "g_trial": 4, "g_trial_deep": 4, "g_vec": 4, "gain": [3, 7, 9, 11, 12, 15], "galleri": [2, 23], "game": 6, "gamge": 23, "gamma": [2, 4, 10, 11, 12, 13, 15, 23], "gamma1": 10, "gamma2": 10, "gamma_": [2, 23], "gamma_0": 12, "gamma_1": 12, "gamma_1x": 12, "gamma_i": [2, 10, 20, 23], "gamma_j": 15, "gamma_k": 15, "gamma_m": 12, "gamma_x": [2, 23], "gap": 10, "gate": [6, 14], "gather": [2, 3, 14], "gaug": 14, "gaussbacksub": 18, "gaussian": [6, 7, 8, 10, 16, 20], "gaussian_point": 16, "gaussian_rbf": 10, "gave": 15, "gavra": 23, "gbc": 23, "gca": [4, 8, 10, 15], "gd": 3, "gd_clf": 12, "gdclassiffiercgain": 12, "gdclassiffierconfus": 12, "gdclassiffierroc": 12, "gdm": 15, "gdregress": 12, "ge": [3, 7, 9, 20], "gen_loss": 6, "gen_tap": 6, "gender": [2, 23], "genener": 6, "gener": [0, 1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 14, 15, 16, 18, 20, 22], "generaliz": 1, "generallay": 14, "generate_and_save_imag": 6, "generate_imag": 6, "generate_latent_point": 6, "generate_simple_clustering_dataset": 16, "generated_imag": 6, "generator_loss": 6, "generator_loss_list": 6, "generator_model": 6, "generator_optim": 6, "genom": 17, "geodes": 13, "geometr": [2, 15, 23], "geometri": 7, "georg": 22, "geotif": 8, "geq": [4, 7, 10, 11, 15], "geron": [2, 22, 23], "get": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 17, 18, 20, 21, 23], "get_dummi": 11, "get_paramet": 4, "get_split": 11, "get_yaxi": 10, "get_yticklabel": 8, "gg": 23, "gh": 0, "gibb": [17, 23], "gif": 6, "gini": 12, "gini_index": 11, "ginvers": 15, "git": [0, 2, 17, 23], "giter": 15, "github": [2, 17, 19, 21, 22, 23], "gitignor": 0, "gitlab": [2, 17, 23], "give": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 20, 23], "given": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "global": [8, 9, 15], "glorot": 3, "gnew": 15, "go": [0, 1, 2, 3, 5, 7, 8, 10, 11, 13, 14, 15, 23], "goal": [2, 9, 11, 23], "goe": [0, 2, 3, 4, 7, 8, 15, 16, 18, 23], "golden": 15, "gone": 7, "gong": 3, "good": [0, 3, 5, 6, 7, 8, 11, 12, 13, 15, 17, 20, 22], "goodfellow": [6, 22, 23], "googl": [3, 6, 17, 23], "got": [3, 8], "gotten": 23, "gov": 8, "gp": 22, "gpu": [3, 15, 17, 23], "grad": [4, 15], "grad_analyt": 15, "grade": 19, "gradient": [2, 5, 6, 9, 10, 11, 14, 17, 23], "gradientboostingclassifi": 12, "gradientboostingregressor": 12, "gradients_of_discrimin": 6, "gradients_of_gener": 6, "gradienttap": 6, "gradual": [3, 16], "grai": [6, 8], "graph": [1, 3, 11, 13, 14, 15], "graph_from_dot_data": 11, "graphic": [2, 3, 11, 23], "grasp": 2, "gray_r": [3, 5], "grayscal": 5, "great": [0, 7, 15], "greater": [3, 9, 20], "greatli": 15, "greedi": 11, "green": [2, 5, 11, 20], "grei": 6, "grid": [3, 5, 8, 9, 10, 14, 20], "grossli": 15, "ground": [2, 23], "group": [0, 2, 8, 9, 11, 16, 17, 19, 21, 23], "groupbi": [2, 23], "grow": [3, 5, 11, 12], "growth": [2, 23], "gru": 6, "guarante": [2, 6, 15, 20, 23], "guess": [3, 6, 12, 15, 16], "guestrin": 12, "guid": 3, "h": [0, 2, 3, 7, 8, 10, 15, 20, 21, 22, 23], "h1": 4, "h_": [2, 15, 23], "h_1": [4, 15], "h_2": [4, 15], "h_m": 12, "ha": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "haanen": [21, 23], "habit": 2, "had": [2, 3, 8, 9, 15, 23], "hadamard": [3, 14, 15], "half": [3, 10, 11], "halv": 12, "hand": [2, 3, 4, 5, 7, 13, 14, 15, 17, 18, 20, 21, 22, 23], "handi": 5, "handl": [0, 2, 3, 4, 7, 11, 13, 17], "handle_unknown": 11, "handsid": 14, "handwrit": 14, "handwritten": [3, 7], "happen": [3, 4, 5, 6, 7, 8, 12, 15, 20], "hard": [3, 9, 10, 12, 15], "hardcopi": [17, 23], "harder": [2, 3], "harmon": 5, "hassl": [2, 17, 23], "hast": [17, 23], "hasti": [1, 2, 8, 22, 23], "hat": [1, 2, 3, 7, 8, 9, 11, 12, 13, 14, 15, 18], "have": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23], "haven": 3, "he": 9, "head": [2, 6, 12, 20], "header": [2, 23], "heads_proba": 12, "health": 2, "hear": [2, 15, 23], "heart": [2, 9, 23], "heatmap": [2, 3, 5, 9, 23], "heavili": 2, "heavisid": 3, "height": [3, 5, 8], "held": 15, "help": [0, 1, 2, 3, 6, 14, 15, 23], "helper": [6, 16], "henc": [2, 7, 8, 10, 11, 12, 14, 15, 23], "henrik": [21, 23], "her": 9, "here": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "hereaft": [2, 10, 14, 23], "hermitian": 18, "hessenberg": 18, "hessian": [2, 4, 7, 15], "heterogen": [11, 12], "hi": 9, "hidden": [3, 5, 6, 14], "hidden_bia": 3, "hidden_bias_gradi": 3, "hidden_layer_s": [2, 3, 23], "hidden_neuron": 6, "hidden_weight": 3, "hidden_weights_gradi": 3, "hierarch": 7, "high": [2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 15, 16, 17, 18, 23], "higher": [2, 3, 5, 7, 8, 10, 15, 23], "highest": [3, 4], "highli": [2, 5, 6, 12, 17, 18, 22, 23], "highwai": 2, "hing": 10, "hint": [0, 1, 15], "hip": 17, "hire": 2, "hist": [6, 8, 9, 20], "histogram": [2, 8, 9, 20], "histor": [9, 13], "histori": [0, 5, 6, 14], "hitherto": 7, "hjorth": [21, 23], "hobbi": 20, "hoc": 7, "hoff": 22, "hold": [3, 5, 8, 15, 16], "holder": [2, 23], "home": 2, "homepag": 23, "homework": [8, 15], "homogen": [3, 5, 11, 12, 15], "honchar": 4, "hopefulli": [0, 2, 13, 20, 23], "horizont": 13, "horlyk": [21, 23], "hors": [5, 9], "hot": [3, 11], "hour": [3, 17, 19, 20, 21, 23], "how": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "howev": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "hspace": [2, 6, 10, 12, 20, 23], "hstack": 3, "htf": 23, "html": [1, 2, 17, 19, 21, 22, 23], "http": [0, 1, 2, 5, 6, 8, 15, 17, 18, 19, 21, 22, 23], "huang": [2, 23], "huber": [2, 23], "huge": [3, 5, 6, 17], "human": [2, 3, 5, 8, 11, 14], "humid": 11, "hundr": 3, "hungri": 3, "hybrid": 19, "hydrogen": [2, 23], "hyperbol": [3, 6, 14], "hyperparam": 10, "hyperparamet": [5, 6, 7, 8, 11, 15, 23], "hyperplan": 13, "h\u00f8rlyk": [21, 23], "i": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "i0": [2, 23], "i1": [2, 8, 10, 14, 23], "i2": [2, 10, 14, 23], "i3": [2, 14, 23], "i5": [2, 23], "i_": 15, "i_1": [7, 8], "i_2": [7, 8], "ian": 22, "ic": 3, "id": [9, 15], "ida": [21, 23], "idea": [2, 3, 4, 5, 6, 8, 11, 12, 14, 15, 18], "ideal": [2, 4, 8, 10, 15, 20, 23], "idem": 8, "ident": [7, 8, 14, 15, 18], "identifi": [2, 3, 9, 11, 13, 14, 15, 16, 23], "ieor": 20, "ifi": 22, "ifs": [17, 23], "ignor": [0, 2, 3, 5, 11], "ii": [18, 20], "iii": [18, 23], "ij": [1, 2, 3, 5, 8, 10, 14, 16, 18, 20, 23], "ik": [2, 18, 23], "illustr": [7, 9, 12, 14, 15, 16, 17, 23], "im": 8, "imag": [3, 5, 6, 8, 11, 13, 14, 16, 22, 23], "image_at_epoch_": 6, "image_batch": 6, "image_height": 5, "image_path": [2, 8, 9, 11, 23], "image_width": 5, "imageio": 8, "images_from_seed_imag": 6, "imagin": 3, "immedi": [2, 5, 6, 8, 17, 23], "implement": [2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 20, 23], "impli": [5, 7, 8, 9, 15, 18], "implicit": 5, "implicitli": [13, 20], "import": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20], "importantli": 5, "impos": [2, 8, 13, 14, 23], "imposs": [2, 7, 23], "impress": [2, 14, 23], "improv": [0, 2, 6, 7, 11, 12, 13, 15], "impur": 11, "imread": 8, "imshow": [3, 5, 6, 8], "in3050": [22, 23], "in3310": 23, "in4080": [22, 23], "in4300": [22, 23], "in4310": 22, "in5400": 5, "in5550": 22, "in_out_neuron": 6, "inaccur": 15, "inact": 14, "inadequ": [2, 23], "inch": 8, "includ": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 13, 14, 17, 20, 21, 22, 23], "include_bia": [8, 11], "incom": [1, 14], "incorrect": 3, "incoveni": 10, "increas": [2, 3, 5, 6, 7, 8, 11, 14, 15, 20, 23], "increasingli": 20, "ind": 8, "inde": [2, 4, 6, 7, 8, 15, 23], "indefinit": 6, "independ": [2, 7, 8, 9, 10, 14, 15, 20, 23], "index": [2, 3, 5, 6, 12, 16, 17, 18, 20, 22, 23], "index_col": [2, 23], "indic": [1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 15, 23], "indispens": 8, "individu": [3, 8, 9, 12, 14, 20, 23], "indu": 2, "indx": 18, "indx1": 4, "indx2": 4, "indx3": 4, "ineffici": [5, 15], "inequ": [10, 15], "inertia": 15, "inf1000": [17, 23], "inf1100": [17, 23], "inf1100l": [17, 23], "inf1110": [17, 23], "inf3000": 23, "infeas": 11, "infer": [2, 3, 6, 8, 22, 23], "inferenc": 3, "infil": [2, 8, 9, 11, 23], "infin": [7, 8, 9, 13], "infinit": 5, "infinitesim": 20, "influenc": [8, 12], "influenti": 3, "info": 23, "inform": [2, 3, 5, 6, 8, 11, 13, 14, 15, 16, 18, 22, 23], "inforom": 0, "infti": [5, 8, 15, 20], "ingeni": 15, "ingredi": [2, 11, 23], "inher": 8, "inherit": [18, 23], "initi": [2, 3, 4, 8, 12, 15, 16, 18, 20, 23], "inject": 16, "inlin": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "inner": [2, 15], "inp": 6, "inplac": 15, "input": [1, 2, 3, 5, 6, 7, 8, 9, 10, 14, 15, 16, 20, 23], "input_dim": 3, "input_shap": [5, 6], "inputs": 3, "inputs_shuffl": [2, 3], "insert": [5, 7, 8, 10, 12, 20], "insid": [2, 6, 9], "insight": [2, 3, 7, 17, 23], "insist": [8, 15], "inspir": [2, 3, 14, 23], "instabl": 4, "instal": [0, 2, 3, 7, 8, 11], "instanc": [1, 2, 3, 4, 6, 8, 11, 13, 15, 23], "instanti": 12, "instead": [2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 15, 16, 18, 20, 23], "institut": 3, "instruct": [2, 3, 23], "int": [2, 3, 4, 5, 6, 7, 8, 13, 15, 16, 18, 20], "int32": 12, "int_": [5, 8, 20], "int_0": 20, "int_a": 20, "intak": 2, "integ": [3, 4, 15, 16, 18, 20, 23], "integer_vector": 3, "integr": [5, 8, 20, 23], "intellig": [2, 16, 22, 23], "intend": 12, "intens": 3, "intention": 16, "interact": [2, 8, 11, 14, 17, 23], "intercept": [1, 2, 8, 10, 13, 15, 23], "intercept_": [2, 8, 10, 11, 15, 23], "interchang": [7, 14, 18], "interconnect": 3, "interest": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 17, 20, 23], "interfac": [2, 3, 18], "interior": [2, 11, 23], "intermedi": 18, "intern": [3, 12, 14], "interpol": [3, 5, 6, 8, 14], "interpr": 7, "interpret": [0, 1, 2, 3, 8, 11, 12, 14, 15, 18, 20], "interv": [2, 5, 7, 8, 9, 15, 20, 23], "intial": 15, "intract": [2, 6], "intrins": [5, 13, 18, 20, 23], "intro": [17, 22, 23], "introduc": [2, 3, 7, 8, 10, 12, 14, 18, 20, 23], "introduct": [3, 4, 6, 15, 22], "introductori": [2, 6, 18, 22, 23], "intuit": [2, 7, 8, 10, 14, 15, 23], "inv": [2, 7, 15, 23], "invalu": [2, 15, 17, 23], "invari": 3, "invd": 7, "inver": 10, "invers": [2, 5, 8, 15, 23], "inverse_transform": 10, "invert": [1, 2, 7, 9, 12, 15, 23], "invh": 15, "invok": [2, 10], "involv": [2, 4, 8, 9, 13, 14], "io": [2, 17, 19, 21, 22, 23], "ip": [2, 10, 20, 23], "ipca": 13, "ipynb": [17, 23], "ipython": [2, 7, 9, 11, 13, 16, 17, 23], "iq": 8, "iri": [10, 11], "irreduc": 8, "irrelev": 7, "irrespect": [2, 23], "isn": 7, "isnul": 2, "isomap": 13, "isotop": 23, "issu": [0, 3, 11, 18], "it_arrai": 15, "item": [2, 15, 23], "items": [18, 23], "iter": [3, 4, 6, 8, 10, 15, 16, 20], "its": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "itself": [7, 8, 14, 20], "j": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 18, 20, 22, 23], "j1": 18, "j_": 8, "j_lasso_sk": 8, "j_ridge_sk": 8, "j_sk": 8, "jackknif": [8, 17, 23], "jacobian": [4, 15], "jason": 6, "jax": [17, 23], "jensen": [21, 23], "jerom": 22, "ji": [14, 18], "jit": 15, "jj": [2, 7, 8, 23], "jk": [2, 3, 8, 14, 18, 23], "jl": [2, 23], "jm": 18, "jnp": 15, "job": [0, 4, 10, 12], "join": [2, 6, 8, 9, 11, 23], "joint": [6, 7], "judg": 15, "judgement": 8, "julia": [17, 18], "jump": 20, "junk": 6, "jupit": 23, "jupyt": [0, 1, 2, 17, 22, 23], "just": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 23], "justif": 2, "justifi": [5, 12], "k": [2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23], "k0": 9, "k1": 9, "kaggl": 8, "kappa_d": 20, "karl": [21, 23], "karush": 10, "katrin": [21, 23], "keep": [0, 2, 3, 6, 7, 8, 13, 15, 16, 18, 23], "keepdim": [3, 8, 12, 18], "kei": [2, 3, 5, 8, 14], "kept": [6, 8, 16], "kera": [2, 6, 17, 23], "kernel": [2, 3, 5, 17, 23], "kernel_regular": [3, 5], "kernel_s": 6, "kernelpca": 13, "kev": [2, 23], "kevin": [22, 23], "keyword": [18, 23], "kfold": 8, "kg": 3, "ki": 18, "kick": [3, 15], "kiener": 4, "kilomet": 8, "kind": [2, 4, 5, 6, 10, 14, 15, 16, 23], "kj": [8, 14, 18], "kjm": [17, 23], "kkt": 10, "kl": 20, "km": [14, 23], "kmean": 16, "kmeanspoint": 16, "kn_k": 16, "know": [0, 1, 2, 3, 4, 7, 8, 10, 15, 17, 23], "knowledg": [2, 17, 23], "known": [3, 5, 6, 7, 8, 9, 10, 11, 14, 18, 20, 22], "kondev": [2, 23], "kp": 20, "kpca": 13, "kroneck": 16, "kuhn": 10, "kvalsund": [21, 23], "kwown": [2, 23], "l": [2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 18, 20, 23], "l0": 9, "l1": [2, 3, 5, 9, 23], "l1_l2": [3, 5], "l1regl": 7, "l2": [3, 5], "l_": 18, "l_1": 9, "l_2": [9, 15], "l_j": 14, "la": 15, "la_i": 14, "la_k": 14, "lab": [17, 23], "label": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 23], "labelencod": [9, 12], "labels": [8, 10, 11], "labels_shuffl": [2, 3], "laboratori": 19, "lack": [2, 23], "lagari": 4, "lagrang": [10, 13], "lambda": [2, 3, 4, 5, 7, 8, 9, 10, 12, 14, 15, 20, 23], "lambda_": 13, "lambda_0": 13, "lambda_1": [7, 10, 13], "lambda_2": [10, 13], "lambda_i": [10, 13], "lambda_iy_i": 10, "lambda_jy_iy_j": 10, "lambda_k": 10, "lambda_n": [7, 10], "lamda": 3, "land": [2, 10], "landmark": 10, "landscap": 15, "langl": [2, 8, 13, 20, 23], "languag": [2, 3, 6, 10, 17, 18, 22, 23], "lapack": [18, 23], "laplac": 7, "laptop": [0, 17], "larg": [2, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15, 17, 18, 20, 22, 23], "larger": [2, 5, 7, 8, 10, 12, 13, 15, 20, 23], "largest": [6, 10, 13], "lasso": [2, 9, 17, 23], "lasso_sk": 8, "last": [1, 2, 3, 5, 6, 7, 8, 9, 10, 14, 18, 20, 21, 23], "latent": 6, "latent_dim": 6, "latent_point": 6, "latent_space_value_rang": 6, "later": [0, 2, 3, 6, 9, 10, 14, 15, 16, 17, 23], "latest": [0, 6, 17], "latest_checkpoint": 6, "latex": 23, "latter": [2, 5, 8, 9, 10, 13, 15, 18, 20, 23], "lattic": 14, "law": 2, "layer": [2, 6, 15, 23], "lbfg": [9, 11, 12], "lcc": [7, 8], "lda": 13, "ldot": [2, 8, 13, 23], "le": [7, 9, 12, 15, 20], "lead": [1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20, 23], "leaf": 11, "leaki": 3, "leakyrelu": 6, "lear": 15, "learn": [5, 6, 7, 8, 9, 10, 11, 12, 14, 18, 21, 22], "learnabl": 5, "learner": 12, "learnig": 23, "learning_r": [10, 12], "learning_rate_init": [2, 3, 23], "learning_schedul": 15, "least": [2, 9, 10, 12, 13, 17, 18, 20], "leat": 15, "leav": [2, 3, 5, 7, 8, 11, 13, 23], "lectur": [2, 3, 7, 12, 13, 14, 15, 17, 18, 19, 21, 22], "lecturenot": [2, 17, 22, 23], "left": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "leftarrow": [10, 14], "legend": [0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 23], "len": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 18, 23], "length": [1, 2, 3, 5, 6, 10, 11, 15, 17, 23], "length_of_sequ": 6, "leq": [2, 7, 9, 10, 15, 16, 20, 23], "less": [2, 3, 5, 6, 7, 8, 10, 11, 15, 17, 20, 23], "lessen": 3, "let": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "letter": [1, 2, 18, 20, 23], "level": [2, 3, 7, 8, 11, 17, 18, 19, 21, 23], "li": [10, 13], "liblinear": 12, "librari": [2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 18, 20, 22], "licens": [2, 3, 17, 23], "lie": [2, 8, 13, 20, 23], "life": [2, 3, 10, 14, 23], "lifetim": 15, "like": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 20, 23], "likelihood": [2, 3, 7, 11, 23], "lim_": 20, "limit": [2, 7, 8, 10, 14, 18, 23], "lin_clf": 10, "lin_model": 2, "lin_reg": 11, "linalg": [2, 4, 7, 8, 10, 13, 15, 18, 20, 23], "line": [0, 1, 2, 5, 8, 10, 13, 15, 23], "line1": 10, "line2": 10, "line3": 10, "line_model": 0, "line_ms": 0, "line_predict": 0, "linear": [1, 3, 5, 7, 8, 9, 11, 12, 13, 14, 17, 20], "linear_model": [0, 1, 2, 7, 8, 9, 10, 11, 12, 13, 15, 23], "linear_regress": 8, "linearli": 7, "linearloc": [8, 15], "linearregress": [0, 1, 2, 8, 9, 11, 23], "linearsvc": 10, "liner": [3, 5], "linerar": 12, "linewidth": [2, 4, 6, 8, 10, 11, 12], "link": [0, 2, 6, 11, 14, 17, 19, 21, 23], "linlag": 7, "linpack": [18, 23], "linreg": [2, 23], "linspac": [1, 2, 4, 5, 6, 8, 10, 11, 12, 15, 18, 20, 23], "linu": 6, "linux": [2, 3, 17, 23], "liquid": [2, 23], "list": [0, 2, 3, 4, 5, 6, 11, 17, 23], "listedcolormap": [11, 12], "literatur": [3, 9, 16, 22], "littl": [3, 5, 11, 14], "live": [1, 10], "ll": [2, 20, 23], "lle": 2, "lloyd": [6, 16], "lmb": [2, 4, 7, 8], "lmbd": [2, 3, 5, 23], "lmbd_val": [2, 3, 5, 23], "lmbda": 15, "ln": [3, 15], "load": [2, 3, 6, 8, 9, 11, 12], "load_boston": 2, "load_breast_canc": [3, 9, 11, 12, 13], "load_data": [5, 6], "load_digit": [3, 5], "load_iri": [10, 11], "loc": [2, 5, 8, 9, 10, 11, 12, 23], "local": [0, 2, 3, 5, 9, 14, 15], "locat": [0, 4, 5, 10], "log": [0, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 18, 23], "log10": [2, 7, 8], "log_": [2, 23], "log_clf": 12, "logarithm": [2, 7, 9, 18, 23], "logic": [2, 3, 11, 23], "login": 0, "logist": [2, 3, 4, 10, 11, 12, 13, 14, 15, 17], "logisticregress": [9, 11, 12, 13], "logit": 9, "logreg": [9, 11, 12, 13], "logspac": [2, 3, 5, 7, 8, 23], "long": [2, 3, 5, 6, 14, 15, 23], "longer": [4, 5, 10, 12, 16, 18, 20, 23], "loocv": 8, "look": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 18, 20, 23], "loop": [1, 3, 6, 8, 12, 14, 16, 17, 18, 23], "lose": 3, "loss": [2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 15, 18, 23], "loss_fil": 6, "lossfil": 6, "lost": 6, "lot": [1, 2, 3, 6, 8], "low": [2, 8, 11, 12, 13, 23], "lower": [1, 2, 3, 5, 8, 11, 12, 18], "lowercas": [18, 23], "lowest": [11, 15, 20], "lr": [3, 5, 6, 12], "lstat": 2, "lstm": 6, "lstm_2layer": 6, "lstsq": [2, 23], "lt": 8, "lu": [2, 7, 23], "lubksb": 18, "luckili": 4, "ludcmp": 18, "lux": 18, "lvert": 3, "lw": [2, 23], "m": [0, 2, 3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 18, 20, 21, 22, 23], "m_": [11, 14], "m_1": 16, "m_h": [2, 23], "m_k": 16, "m_l": 14, "m_n": [2, 23], "m_p": [2, 23], "m_t": 15, "ma": 13, "machin": [0, 1, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 18, 22], "machinelearn": [1, 2, 8, 17, 19, 21, 22, 23], "mackai": 22, "made": [2, 3, 5, 6, 7, 8, 9, 11, 13, 14, 23], "mae": [2, 23], "magic": 6, "magnitud": [3, 8, 9, 15], "mai": [2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 20, 23], "mail": [19, 21], "main": [2, 3, 5, 6, 7, 8, 9, 11, 18, 22], "mainli": [2, 7, 8, 9, 11, 23], "maintain": 8, "major": [3, 8, 11, 12, 15, 18, 23], "make": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 20, 22], "make_axes_locat": 8, "make_moon": [10, 11, 12], "make_pipelin": [2, 8, 12], "makedir": [2, 8, 9, 11, 23], "makeplot": [2, 23], "malcondit": 18, "malign": [3, 9, 11], "mammographi": 7, "manag": [0, 2, 4, 5, 17, 23], "mandatori": [21, 23], "mani": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 17, 18, 20, 22, 23], "manifold": 13, "manner": 5, "manual": 8, "map": [2, 3, 4, 8, 9, 10, 13, 14, 16, 20, 23], "margin": [2, 7, 10], "marit": [2, 23], "mark": 23, "marker": [2, 9, 18, 23], "markov": [17, 23], "marsaglia": 20, "mass": [2, 3, 7, 15], "massag": [2, 23], "masses2016": [2, 23], "masses2016ol": [2, 23], "masses2016tre": 2, "masseval2016": [2, 23], "master": [19, 21], "mat": [17, 23], "mat1100": [17, 23], "mat1110": [17, 23], "mat1120": [17, 23], "match": [0, 3, 6, 7, 15, 16], "materi": [0, 6, 7, 9, 15, 18, 19, 21], "math": [5, 9, 14, 15, 18, 20, 22, 23], "mathbb": [2, 6, 7, 8, 9, 10, 13, 14, 15, 16, 18, 20, 23], "mathbf": [2, 7, 8, 9, 10, 15, 18, 23], "mathcal": [3, 7, 8, 9, 15], "matheemat": 5, "mathemat": [2, 8, 13, 14, 15, 17, 18, 20, 22, 23], "mathemati": 23, "mathrm": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 23], "matmul": [3, 4, 7], "matnat": 22, "matplotlib": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "matric": [1, 2, 3, 5, 6, 8, 9, 10, 13, 15, 17], "matrix": [2, 4, 5, 6, 8, 9, 10, 12, 15, 20], "matshow": 3, "matter": [4, 5, 15], "max": [2, 3, 4, 5, 6, 11, 12, 14, 15, 21, 23], "max_depth": [2, 11, 12], "max_diff": 4, "max_diff1": 4, "max_diff2": 4, "max_it": [2, 3, 10, 15, 23], "max_iter": 16, "max_leaf_nod": 12, "max_sampl": 12, "maxdegre": [2, 8, 12], "maxdepth": 12, "maxim": [3, 6, 7, 9, 10, 13], "maximum": [2, 4, 5, 7, 9, 10, 11, 12, 15, 16, 23], "maxpolydegre": [7, 8], "maxpooling2d": 5, "mbox": [7, 8], "mcculloch": 14, "md": 13, "mdoel": 6, "mean": [0, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "mean_absolute_error": [2, 23], "mean_divisor": 16, "mean_i": 20, "mean_matrix": 16, "mean_squared_error": [0, 2, 6, 8, 9, 12, 23], "mean_squared_log_error": [2, 23], "mean_vector": 16, "mean_x": 20, "meaning": [2, 6, 9, 23], "meansquarederror": [2, 23], "meant": [5, 9, 12, 15], "measur": [1, 2, 3, 4, 7, 8, 11, 13, 14, 16, 20, 23], "mechan": [2, 6, 20, 23], "median": [2, 23], "medicin": 14, "medium": [6, 10, 15], "medv": 2, "meet": [2, 21], "mehta": [2, 23], "memori": [5, 6, 13, 14, 15, 18], "mention": [2, 14, 15, 20, 23], "mere": [2, 23], "meshgrid": [4, 7, 8, 10, 11, 12, 13], "mess": 0, "messag": [7, 15], "messi": 4, "met": [2, 5, 10], "meteorolog": 11, "meter": 8, "method": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 13, 14, 16, 17, 18, 20, 22], "metion": 8, "metric": [0, 2, 3, 5, 8, 9, 11, 12, 16, 23], "metropoli": [17, 23], "mev": [2, 20, 23], "mgd": 15, "mglearn": [17, 23], "mgrid": 15, "mi": 12, "mia": [21, 23], "michigan": 23, "microsoft": 22, "mid": 3, "midel": 6, "midpoint": 11, "might": [0, 2, 3, 4, 6, 8, 11, 15], "mild": 11, "millimet": 8, "million": [2, 23], "mimic": 14, "min": [2, 4, 7, 10, 11], "min_": [2, 4, 7, 16, 23], "min_samples_leaf": 11, "mind": [0, 2, 8, 15, 23], "mindboard": 6, "mine": [17, 23], "mini": [3, 13, 14, 15], "minibatch": [3, 13, 15], "minibathc": 15, "minim": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "minima": [2, 3, 9, 15, 23], "minimum": [2, 3, 4, 8, 10, 11, 13, 15], "minmaxscal": 2, "minor": 20, "minst": 3, "minu": 9, "mirjalili": 23, "mirror": 11, "misc": 8, "misclassif": [10, 11, 12], "misclassifi": [10, 12], "miser": 2, "mismatch": 3, "miss": [2, 9, 12], "mistak": 6, "mit": 22, "mix": [3, 4, 23], "mixtur": 15, "mk": [11, 18], "mkdir": [2, 8, 9, 11, 23], "ml": [2, 3, 12, 15, 18], "mlab": 20, "mlbook": 23, "mle": [7, 9], "mlp": 3, "mlpclassifi": 3, "mlpregressor": [2, 23], "mm": 18, "mn": [14, 20], "mnist": [3, 13], "mod": 20, "mode": [19, 21, 23], "model": [1, 4, 5, 7, 9, 10, 11, 12, 13, 15, 16, 17, 20, 22], "model_select": [0, 1, 2, 3, 5, 7, 8, 9, 11, 12, 13, 23], "moder": 12, "modern": [2, 8, 9, 17, 23], "modif": [4, 14, 15], "modifi": [2, 3, 5, 7, 9, 10, 12, 14, 15, 23], "modul": [1, 2, 18, 23], "modular": 20, "modulo": 20, "moe": 13, "moment": [7, 8, 15, 20], "mondai": [21, 23], "monitor": 15, "monoton": [7, 14, 20], "mont": [2, 8, 17, 20, 22, 23], "montli": 1, "moor": [7, 8], "more": [1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20], "moreov": [2, 5], "morten": [21, 23], "mortenhj": 23, "most": [0, 1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 23], "mostli": [3, 13], "motion": [2, 15], "motiv": [3, 6], "move": [0, 1, 2, 6, 7, 8, 9, 11, 14, 15, 16, 20], "mpl": [2, 9, 23], "mpl_toolkit": [4, 8, 15], "mplot3d": [4, 8, 15], "mplregressor": 3, "mse": [0, 1, 2, 6, 7, 8, 11, 12, 23], "mse_simpletre": 12, "mselassopredict": 7, "mselassotrain": 7, "mseownridgepredict": 8, "msepredict": 7, "mseridgepredict": [2, 7, 8], "msetrain": 7, "msle": [2, 23], "mt": [9, 14], "mu": [2, 8, 13, 15, 20, 23], "mu0": 20, "mu1": 20, "mu2": 20, "mu_": [8, 20], "mu_i": 8, "mu_n": 13, "mu_x": 20, "much": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 18, 20, 23], "multi": [2, 3, 5, 9, 17, 23], "multiclass": [3, 9], "multidimension": [13, 14, 23], "multilay": 3, "multinomi": 9, "multipl": [0, 4, 6, 7, 8, 9, 14, 15, 20], "multipli": [5, 7, 8, 13, 15, 18, 20], "multiplum": 10, "multivari": [2, 4, 12, 13, 17, 20, 23], "multivariate_norm": [13, 16], "multpli": 1, "murphi": [13, 22, 23], "must": [0, 3, 4, 7, 8, 10, 12, 14, 15, 16, 20], "mutat": 9, "mutual": [3, 5, 8, 15], "mx_": 20, "my": 23, "myriad": [2, 17, 23], "mz1": 20, "mz2": 20, "m\u00f8svatn": 8, "n": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 20, 23], "n1": 18, "n2": 18, "n_": [3, 4, 5, 10, 14, 20], "n_0": [14, 20], "n_boostrap": [8, 12], "n_bootstrap": 8, "n_categori": [3, 5], "n_cluster": 16, "n_compon": 13, "n_epoch": 15, "n_estim": 12, "n_examples_to_gener": 6, "n_featur": 3, "n_filter": 5, "n_hidden": 4, "n_hidden_neuron": [2, 3, 23], "n_i": 20, "n_input": [2, 3, 5], "n_instanc": 11, "n_job": 12, "n_k": 16, "n_l": [14, 20], "n_layer": 3, "n_m": 11, "n_neuron": 3, "n_neurons_connect": 5, "n_neurons_layer1": 3, "n_neurons_layer2": 3, "n_point": 16, "n_sampl": [8, 10, 11, 12, 16], "n_split": 8, "n_step": 6, "n_t": 4, "n_x": 4, "nabla": [3, 15], "nabla_": [4, 15], "nabla_w": 15, "nag": 15, "naimi": [2, 23], "naiv": 9, "naive_kmean": 16, "name": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 23], "narrow": 15, "nation": [3, 7], "nativ": [17, 23], "natur": [2, 3, 6, 10, 11, 14, 15, 20, 22, 23], "navier": 14, "navig": 0, "nb": 20, "nb_": 18, "nbconvert": 23, "nd": 16, "ndarrai": 8, "ne": [11, 12, 18, 20], "nearest": [3, 5, 8, 13], "nearli": 15, "neat": 23, "neccesari": 8, "necess": 4, "necessari": [2, 3, 5, 6, 10, 16, 23], "necessarili": [2, 6, 13, 20, 23], "necesserali": 7, "neck": 9, "need": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20], "neg": [2, 3, 5, 7, 8, 9, 12, 15, 18, 20, 23], "neg_mean_squared_error": 8, "neglect": 20, "neglig": 20, "neighbor": [5, 8, 13], "neither": [6, 15], "neq": [15, 16, 20], "nervou": 14, "nest": [11, 14], "nesterov": 15, "net": [4, 6, 14], "netlib": [18, 23], "network": [2, 11, 15, 17, 22], "neural": [2, 15, 17, 22], "neural_network": [2, 3, 4, 23], "neuralnetwork": 3, "neuron": [3, 4, 5, 6, 14], "neutral": [2, 23], "neutron": [2, 23], "never": [3, 6, 8, 11, 20], "new": [0, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 23], "new_chang": 15, "new_hobbit": 23, "newaxi": [2, 5, 8, 11], "newli": [2, 23], "newton": [3, 9, 10, 15, 20], "next": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 15, 16, 23], "next_guess": 15, "next_input": 6, "ng": 3, "ni": 16, "nice": [2, 3, 7, 13, 23], "niter": 15, "nitric": 2, "nlambda": [2, 7, 8], "nlp": 22, "nm": 20, "nm_n": [2, 23], "nmse": 8, "nn": [4, 7, 8, 14, 18], "nn_model": 3, "nnmin": 4, "node": [3, 5, 11, 12, 14], "nois": [2, 6, 7, 8, 10, 11, 12, 15, 23], "noise_dimens": 6, "noisi": [3, 8], "non": [2, 3, 5, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 20, 23], "none": [2, 3, 4, 6, 7, 11, 12, 15, 20, 23], "nonlinear": [5, 8, 10, 11, 13, 14], "nonneg": [8, 11, 15], "nonparametr": 8, "nonsens": 20, "nonsingular": 18, "nonumb": [5, 9, 10, 15, 18], "nor": [3, 6, 15], "norm": [2, 3, 7, 8, 10, 13, 15, 23], "normal": [1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 23], "normali": [18, 23], "norwai": [8, 23], "notat": [2, 4, 7, 8, 15, 16, 20, 23], "note": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 20, 22, 23], "notebook": [0, 1, 2, 3, 5, 11, 17, 23], "noth": [3, 4, 7, 10, 14, 16, 20], "notic": [6, 7, 14, 15, 18, 20, 23], "notion": 5, "novel": [5, 8, 12], "novemb": [3, 21, 23], "now": [0, 1, 2, 4, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 20, 23], "nowadai": [2, 3, 5, 11, 17, 23], "nox": 2, "np": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 23], "npr": 4, "nsampl": 8, "nt": 4, "nu": 20, "nuclear": 7, "nuclei": [2, 20, 23], "nucleon": [2, 23], "nucleu": [2, 23], "num": 6, "num_coordin": 4, "num_hidden_neuron": 4, "num_it": 4, "num_neuron": 4, "num_neurons_hidden": 4, "num_point": 4, "num_tre": 12, "num_valu": 4, "number": [1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 23], "numberid": 9, "numberparamet": 5, "numer": [2, 7, 8, 11, 12, 13, 14, 15, 17, 18, 22, 23], "numpi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20], "nunmpi": 7, "nx": 4, "ny": 20, "o": [2, 3, 6, 7, 8, 9, 10, 11, 13, 18, 21, 22, 23], "obei": [8, 13, 15], "object": [0, 2, 3, 6, 10, 12, 18, 23], "obliqu": 7, "observ": [2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20], "obtain": [2, 3, 7, 8, 9, 10, 11, 12, 14, 15, 16, 18, 20, 23], "obviou": [7, 8, 13, 20], "obviouli": 23, "obvious": [2, 6, 7, 8, 18, 23], "occupi": 2, "occur": [2, 8, 10, 11, 18, 20, 23], "octob": [21, 23], "od": 2, "odd": [2, 5, 9, 23], "odenum": 4, "odesi": 4, "oen": 2, "off": [3, 5, 6, 7, 11, 15, 20], "offer": [8, 13, 17, 18, 19, 21, 23], "offic": [21, 23], "offici": [19, 23], "often": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "ofter": [18, 23], "ol": [2, 15, 23], "old": [0, 3, 7, 12, 15], "ols_paramet": 1, "ols_sk": 8, "ols_svd": 8, "olsbeta": [2, 7], "omega": [4, 5, 8], "omega_0": 5, "omit": [2, 7, 23], "onc": [3, 8, 11, 13, 15], "one": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 21, 23], "onehot": 3, "onehot_vector": 3, "onehotencod": 11, "ones": [1, 2, 4, 7, 8, 10, 11, 12, 13, 15, 18, 23], "ones_lik": 6, "onl": 5, "onli": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "onlin": [0, 13, 19], "onto": [7, 13], "open": [0, 2, 3, 6, 8, 9, 11, 17, 19, 21, 23], "oper": [0, 1, 2, 3, 5, 7, 8, 12, 13, 14, 15, 17, 20, 23], "operation": 20, "oplu": 20, "opmiz": 15, "opportun": 2, "oppos": [8, 15], "opposit": [3, 7, 10], "opt": [3, 7, 23], "optim": [1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 16], "optimis": [3, 5], "option": [0, 2, 3, 5, 7, 8, 10, 13, 18], "optmiz": [3, 10, 15], "oral": 23, "orang": 2, "order": [0, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 18, 20, 23], "ordinari": [2, 4, 5, 9, 13, 15, 17], "oreilli": [22, 23], "org": [1, 2, 5, 6, 17, 18, 22, 23], "organ": [8, 9, 12, 18], "orient": [3, 7, 20], "origin": [0, 2, 5, 7, 8, 10, 13, 14, 15, 18, 23], "orthogn": 7, "orthogon": [2, 7, 8, 10, 13, 15, 18, 23], "orthonorm": 7, "os": [21, 23], "oscar": 3, "oscil": [5, 15], "oslo": [2, 17, 19, 21, 23], "osx": [2, 17, 23], "other": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 15, 16, 17, 19, 20, 21, 22], "otherwis": [2, 3, 6, 9, 15, 18, 23], "ouput": [7, 9, 14], "our": [0, 1, 3, 4, 5, 8, 9, 10, 11, 12, 14, 16, 17, 18, 20], "ourmodel": 2, "ourselv": [2, 7, 8, 10, 13, 15, 23], "out": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 23], "out_fil": 11, "outcom": [2, 9, 11, 12, 14, 20], "outdoor": 11, "outer": [8, 14, 15], "outfil": 6, "outlier": [2, 10, 23], "outlin": [8, 12, 13], "outlook": 11, "outperform": 12, "output": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 18, 20, 23], "output_bia": 3, "output_bias_gradi": 3, "output_shap": 6, "output_weight": 3, "output_weights_gradi": 3, "outputlayer1": 14, "outputlayer2": 14, "outsid": 6, "over": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 14, 15, 18, 23], "over1": 15, "overal": [3, 12], "overcast": 11, "overcom": [14, 15], "overdetermin": [2, 23], "overfit": [2, 3, 5, 8, 11, 12, 15], "overflow": 7, "overhead": 14, "overlap": [5, 9, 10, 11], "overlin": [2, 7, 8, 11, 12, 13, 16, 18, 23], "overst": 2, "overtrain": 6, "overview": 5, "own": [1, 6, 7, 8, 10, 14, 15, 17, 18], "owner": 2, "ownmsepredict": 2, "ownmsetrain": 2, "ownridgebeta": [2, 8], "ownypredictridg": 2, "ownytilderidg": 2, "oxid": 2, "p": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 23], "p0": 4, "p1": 4, "p_": [4, 6, 10, 11], "p_hidden": 4, "p_i": [7, 20], "p_j": 20, "p_n": 20, "p_output": 4, "p_x": 20, "pack": [2, 23], "packag": [0, 2, 3, 5, 6, 7, 10, 13, 15, 17, 20], "packtpub": 23, "packtpublish": 23, "pad": [5, 6], "page": [2, 17, 23], "pai": [0, 2, 3, 11, 15], "pair": [2, 4, 5, 11, 17, 20, 23], "panda": [2, 6, 7, 8, 9, 11, 13, 17], "panel": 23, "paper": 3, "paradigm": [2, 23], "parallel": [12, 15, 17, 18, 23], "param": 4, "paramat": 4, "paramet": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 20], "parameter": [2, 8, 12, 23], "parametr": [2, 8, 23], "paramt": [5, 7], "part": [2, 3, 5, 7, 8, 12, 18, 19, 20, 21, 23], "partial": [1, 2, 3, 7, 8, 9, 10, 12, 13, 14, 15, 20, 23], "particip": [17, 19, 21, 23], "particl": [2, 6, 15, 20, 23], "particular": [1, 2, 3, 4, 5, 7, 8, 11, 12, 13, 14, 15, 20, 22, 23], "particularli": [7, 8, 10, 13, 15, 20], "partit": [3, 6, 11], "partli": [8, 23], "partner": 0, "pass": [4, 5, 14, 16], "past": [12, 20], "patch": [8, 20], "path": [2, 6, 8, 9, 11, 17, 23], "patient": 9, "patter": 6, "pattern": [2, 5, 6, 14, 22, 23], "pauli": [2, 23], "pc": [13, 17], "pca": [2, 9, 17, 23], "pd": [2, 6, 7, 8, 9, 11, 13, 23], "pde": 4, "pdf": [0, 1, 2, 5, 6, 7, 8, 11, 22, 23], "pedagog": [2, 23], "penal": 8, "penalti": [8, 15], "penros": [7, 8], "pentagon": 15, "peopl": [2, 3, 11, 15, 17], "per": [2, 3, 8, 19, 21, 23], "percentag": [2, 12, 13, 21], "perceptron": [2, 3, 9, 23], "peregrin": 23, "perfect": [2, 3, 15, 23], "perfectli": [6, 8], "perform": [1, 2, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 20, 23], "performac": 6, "perhap": [2, 7, 15, 23], "perimet": 3, "period": [3, 6, 20], "permiss": 0, "permut": 13, "persist": 15, "person": [1, 7, 8, 9, 19, 21, 23], "perspect": 22, "pertin": [14, 23], "petal": [10, 11], "peter": 22, "phantom": 20, "phase": [8, 14], "phenomena": 20, "phi": 10, "phi_k": 10, "philosophi": 15, "phone": [21, 23], "photo": 6, "phrase": [2, 23], "physic": [2, 3, 6, 9, 14, 15, 20, 21, 22, 23], "pi": [4, 5, 7, 8, 9, 11, 14, 15, 20], "pick": [3, 11, 12, 13, 15, 16], "pickl": 3, "pictur": [2, 23], "pie": [17, 23], "piec": [13, 16], "pillow": [2, 17, 23], "pinv": [7, 8, 15], "pip": [0, 2, 3, 17, 23], "pip3": [2, 3, 23], "pipelin": [2, 8, 10, 12], "pippin": 23, "pit": 6, "pitfal": 8, "pitt": 14, "pixel": [3, 5, 6], "pixel_height": [3, 5], "pixel_width": [3, 5], "place": [0, 2, 6, 8, 10, 15, 18, 23], "plai": [2, 5, 6, 7, 8, 10, 13, 17, 23], "plain": [10, 12, 14, 15, 16], "plan": [8, 11, 21, 22, 23], "plane": [10, 11], "plateau": 7, "platform": [17, 23], "plausibl": 14, "pleas": [15, 21, 23], "plenti": 3, "plethora": [5, 14], "plot": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "plot_confusion_matrix": [9, 12], "plot_count": 8, "plot_cumulative_gain": [9, 12], "plot_data": 3, "plot_dataset": 10, "plot_decision_boundari": [11, 12], "plot_import": 12, "plot_max": 6, "plot_min": 6, "plot_model": 6, "plot_numb": 6, "plot_predict": 10, "plot_regression_predict": 11, "plot_result": 6, "plot_roc": [9, 12], "plot_surfac": [4, 8, 15], "plot_train": 11, "plot_tre": [11, 12], "plt": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "plu": [2, 5, 7, 9, 23], "pm": 10, "pmatrix": 4, "pml": 22, "pn": 5, "png": [2, 6, 8, 9, 11, 23], "point": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 21, 23], "point_1": 6, "point_2": 6, "poisson": [17, 20, 23], "poli": [8, 10], "poly100_kernel_svm_clf": 10, "poly3": 2, "poly3_plot": 2, "poly_featur": [0, 10, 11], "poly_features10": 11, "poly_fit": 11, "poly_fit10": 11, "poly_kernel_svm_clf": 10, "poly_model": 0, "poly_ms": 0, "poly_predict": 0, "polydegre": [2, 7, 8, 12], "polygon": 15, "polym": 14, "polynomi": [0, 2, 7, 8, 9, 10, 11, 12, 13, 23], "polynomial_featur": [0, 1, 8], "polynomial_svm_clf": 10, "polynomialfeatur": [0, 1, 2, 8, 10, 11], "polytrop": [2, 8, 23], "pool": 5, "pool_siz": 5, "poor": [3, 15], "poorli": 2, "popul": [2, 7, 23], "popular": [2, 3, 5, 8, 9, 10, 11, 13, 14, 17, 18, 20], "popularli": [2, 23], "portabl": 12, "portion": [13, 15], "pose": [2, 6, 7, 8, 13, 20, 23], "posit": [2, 3, 4, 5, 7, 9, 10, 12, 13, 15, 16, 18, 20, 23], "possibl": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 23], "possibli": [8, 10, 15], "posterior": 7, "postpon": [2, 23], "postul": 7, "potenti": [2, 5, 7, 8, 14, 15, 23], "pott": 14, "power": [2, 3, 7, 8, 10, 11, 14, 15, 23], "pp": [7, 8], "practic": [1, 2, 7, 8, 9, 10, 20], "practition": [2, 3, 5, 23], "pre": 23, "preced": [3, 13, 14, 20], "preceed": 6, "preceq": 10, "precis": [2, 4, 7, 13, 15, 18, 20, 23], "pred": 8, "predicit": 2, "predict": [0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 17, 22, 23], "predict_prob": 3, "predict_proba": [9, 12], "predictor": [2, 7, 8, 9, 11, 12, 13, 23], "prefer": [2, 3, 8, 10, 11, 13, 15, 17, 23], "prepar": [2, 8, 18, 23], "preprocess": [0, 1, 2, 6, 8, 9, 10, 11, 12, 13], "prerequisit": 2, "presenc": 15, "present": [2, 7, 8, 9, 11, 14, 15, 18, 20, 23], "preserv": [5, 13, 18], "press": [0, 15, 22], "pretrain": [3, 6], "pretti": [2, 6, 10, 11, 17, 23], "prev_centroid": 16, "prevent": [15, 20], "previou": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 18, 20], "previous": [4, 5, 11, 12, 20], "price": [2, 6, 11, 15], "primal": 10, "primari": [2, 9, 23], "prime": 20, "princip": [2, 7, 9, 17, 23], "principl": [2, 8, 9, 10, 16, 23], "print": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 23], "print_funct": [10, 11], "printout": [2, 23], "prior": [2, 7, 8, 23], "privat": 2, "prob": [3, 20], "probabilist": [2, 22, 23], "probabl": [2, 3, 5, 6, 8, 9, 12, 15, 17, 23], "problem": [2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 20], "probml": 22, "proce": [2, 7, 8, 9, 10, 11, 12, 13, 15, 18, 23], "procedur": [4, 6, 7, 8, 10, 12, 13, 15], "proceed": 18, "process": [2, 4, 6, 8, 11, 12, 14, 15, 17, 18, 20, 22, 23], "prod": 22, "prod_": [3, 7, 9], "produc": [2, 5, 6, 7, 8, 11, 12, 13, 14, 15, 17, 18, 20, 23], "product": [1, 2, 3, 5, 7, 8, 9, 10, 14, 15, 17, 18, 23], "profess": [2, 23], "program": [0, 2, 3, 6, 7, 8, 10, 14, 16, 17, 18, 19, 20, 21, 23], "programm": 18, "progress": [3, 6, 16], "prohibit": 8, "project": [0, 2, 3, 4, 5, 7, 13, 15, 17, 19], "project_root_dir": [2, 8, 9, 11, 23], "promin": 14, "promis": 10, "promot": [21, 23], "prone": [0, 11], "pronounc": [15, 17, 23], "proof": [2, 13, 14, 15, 23], "propag": [4, 5, 15], "proper": [2, 4, 8, 9], "properli": [3, 8, 10, 12, 15], "properti": [1, 2, 3, 5, 14, 15, 18, 23], "proport": [2, 3, 7, 11, 13, 15, 20, 23], "propos": [3, 6, 8, 12, 23], "propto": [7, 15], "proton": [2, 23], "prove": [5, 15], "provid": [2, 3, 5, 6, 7, 8, 10, 11, 12, 14, 15, 17, 18, 20, 23], "proxi": [3, 15], "prune": 11, "pseudo": [18, 20], "pseudoinv": 7, "pseudoinvers": [7, 8], "pseudorandom": [8, 20], "psychologi": [2, 23], "pt": 15, "public": [0, 2, 17, 23], "pull": 0, "punish": [2, 3, 23], "pure": [5, 11, 20], "purest": 11, "puriti": 11, "purpos": [2, 5, 12, 14, 16, 23], "push": 0, "put": 3, "py": 7, "pycod": 23, "pydata": 17, "pydot": 11, "pyhton2": 23, "pylab": [2, 9, 23], "pypi": 17, "pyplot": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "pythagora": 7, "python": [3, 4, 5, 7, 8, 10, 13, 14, 15, 16, 20], "python2": [2, 23], "python3": [2, 17, 23], "pytorch": [2, 17, 23], "q": [7, 8, 10, 13, 20], "qp": 10, "qquad": [4, 13, 15, 18], "qr": [7, 8, 18], "quad": [3, 15, 18], "quadrat": [2, 10, 11, 15, 23], "qualit": [6, 11, 20], "qualiti": [2, 11, 17, 23], "quantifi": 3, "quantil": 12, "quantit": [2, 8, 11, 23], "quantiti": [1, 2, 4, 7, 8, 9, 11, 12, 13, 14, 16, 18, 20, 23], "quantum": [6, 14, 22, 23], "quartil": 2, "quench": 7, "queri": 11, "question": [2, 7, 8, 11, 13, 14, 15, 21, 23], "qugan": 6, "quick": [6, 20], "quickli": [3, 5, 11, 13, 15], "quit": [0, 3, 7, 8, 11, 12, 14], "quot": 6, "r": [0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20], "r2": [2, 7, 8, 23], "r2_score": [2, 23], "r2score": [2, 23], "r_1": 11, "r_2": 11, "r_j": 11, "r_m": 11, "rad": 2, "radial": [2, 10, 14], "radioact": 20, "radiu": [2, 3], "rain": 11, "ramp": 3, "ran0": 20, "ran1": 20, "ran2": 20, "ran3": 20, "rand": [0, 2, 6, 7, 8, 11, 12, 15, 18, 23], "randint": [8, 11, 15], "randn": [0, 2, 3, 4, 7, 8, 11, 13, 15, 23], "random": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 15, 16, 17, 18, 23], "random_forest_model": 12, "random_index": 15, "random_indic": [3, 5], "random_st": [2, 9, 10, 11, 12, 13], "randomforestclassifi": 12, "randomli": [3, 8, 11, 15, 16], "rang": [2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 20, 23], "rangl": [2, 8, 13, 20, 23], "rangle_x": 20, "rank": 7, "rankdir": 6, "raphson": [3, 10, 15], "rapidli": 2, "rare": [3, 15, 23], "raschka": 23, "rasckha": 23, "rate": [2, 3, 4, 5, 6, 10, 11, 12, 14, 15], "rather": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20, 23], "ratio": [6, 9, 11, 12, 13], "rational": [2, 23], "ravel": [7, 8, 9, 10, 11, 12, 13, 15, 18], "raw": 5, "rbf": [10, 13, 14], "rbf_kernel_svm_clf": 10, "rbf_pca": 13, "rc": [2, 20], "rcond": [2, 23], "rcparam": [2, 3, 5, 9, 10, 11, 12, 20, 23], "re": [0, 4, 6, 15], "reach": [3, 6, 7, 8, 11, 12, 14, 15, 16], "read": [1, 2, 4, 5, 6, 7, 8, 9, 10, 13, 14, 18, 20, 22], "read_csv": [2, 8, 9, 11, 23], "read_fwf": [2, 23], "reader": [2, 8, 18, 20, 23], "readi": [2, 3, 7, 8, 10, 12, 13, 14, 18, 23], "readili": 3, "readm": 0, "readthedoc": 17, "real": [1, 2, 3, 6, 9, 12, 13, 14, 18], "real_loss": 6, "real_output": 6, "realist": 10, "realiti": 20, "realiz": [3, 14], "realli": [2, 3, 23], "rearrang": 15, "reason": [2, 3, 5, 6, 12, 15, 22, 23], "reassign": 3, "recal": [7, 8, 11, 12, 13, 14, 18, 20, 23], "recast": 5, "receiv": [3, 5, 12, 14, 20], "recent": [2, 8, 15, 22], "recept": [5, 14], "receptive_field": 5, "recip": [2, 8, 9, 18, 23], "reciproc": 7, "recogn": [2, 6, 7, 12, 23], "recognit": [2, 3, 5, 14, 22, 23], "recommen": 23, "recommend": [0, 2, 4, 5, 6, 7, 8, 10, 15, 17, 18, 22], "reconsid": 11, "reconstruct": 13, "record": [12, 19, 21, 23], "recreat": 0, "rectangl": [11, 15], "rectangular": 7, "rectifi": [3, 5, 14], "recur": [2, 17, 23], "recurr": [2, 3, 17, 23], "recurs": [11, 17, 18, 23], "red": [2, 5, 6, 8, 10, 11], "redefin": [2, 12, 23], "reduc": [3, 5, 7, 8, 11, 12, 13, 15, 23], "reduct": [2, 12, 13, 17, 20, 23], "refer": [2, 3, 4, 5, 7, 8, 13, 14, 15, 16, 18, 22, 23], "referenc": 4, "refin": 14, "refit": 8, "reflect": [2, 3, 6, 7, 20, 23], "refresh": [17, 23], "refreshprogrammingskil": 23, "reg": [12, 13], "regard": [3, 11, 15], "regardless": [1, 14], "region": [5, 6, 8, 11, 14], "regist": [8, 20], "reglasso": 7, "regr_1": [2, 11], "regr_2": [2, 11], "regr_3": [2, 11], "regress": [1, 3, 10, 13, 14, 17, 18], "regressor": [2, 9, 12, 23], "regridg": [2, 7, 8], "regular": [2, 5, 6, 7, 8, 9, 11, 15, 21, 23], "regularli": 0, "reilli": [2, 22, 23], "reinforc": [2, 10, 17, 23], "reiter": 3, "reject": 9, "rel": [2, 6, 8, 9, 11, 14, 15, 20, 23], "relat": [2, 3, 5, 6, 7, 13, 15, 16, 18, 20, 23], "relationship": [2, 6, 11, 23], "relativeerror": [2, 23], "releas": [3, 17, 23], "relev": [2, 3, 7, 9, 13, 17, 20, 23], "reli": [2, 8, 10], "reliabl": [9, 20], "relu": [5, 6, 23], "remain": [3, 4, 6, 8, 14, 18, 20], "remaind": 20, "reman": 4, "remark": 3, "rememb": [2, 10, 15, 18, 23], "remind": [2, 7, 13, 15, 18, 20], "remot": 0, "remov": [2, 6, 7, 8], "renam": 0, "render": [2, 23], "reorder": [7, 9], "reorgan": [2, 23], "repeat": [2, 3, 5, 6, 7, 8, 11, 12, 13, 15, 16, 18, 20, 23], "repeated": 23, "repeatedli": [2, 8, 12, 15], "repet": 5, "repetit": [8, 23], "rephras": 15, "replac": [2, 3, 5, 6, 7, 8, 12, 14, 16, 17, 23], "replica": 8, "repo": 0, "report": 23, "repositori": [2, 6, 23], "repres": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 20, 23], "represent": [2, 3, 5, 8, 20, 23], "representd": 5, "reproduc": [0, 1, 2, 7, 8, 11, 14, 17, 20, 23], "repuls": [2, 23], "request": [2, 15], "requir": [0, 2, 3, 5, 6, 7, 8, 10, 11, 13, 14, 15, 18, 23], "res1": 4, "res2": 4, "res3": 4, "res_analyt": 4, "res_analytical1": 4, "res_analytical2": 4, "res_analytical3": 4, "resaml": 8, "resampl": [2, 9, 12, 17, 23], "rescal": [2, 13, 14], "rescu": 7, "reseach": 8, "research": [2, 6, 15, 17, 22, 23], "resembl": [8, 20], "reserv": [3, 7, 8, 20], "reshap": [2, 3, 4, 5, 6, 8, 10, 11, 12, 18, 23], "residenti": 2, "residu": [2, 7, 15, 23], "resiz": 7, "resourc": 23, "respect": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 20, 23], "respond": 14, "respons": [2, 9, 11, 14, 23], "rest": [2, 7], "restat": [2, 14, 23], "restor": 6, "restored_discrimin": 6, "restored_gener": 6, "restrict": [2, 5, 11, 14, 23], "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "retail": 2, "retain": [7, 8], "retriev": 23, "return": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 18, 20, 23], "return_data": 16, "return_sequ": 6, "return_x_i": 11, "reus": [3, 5, 8], "reveal": [2, 14, 23], "revers": [3, 18], "review": [17, 18], "revisit": 16, "revolut": 23, "reward": [2, 6, 23], "rewrit": [1, 2, 5, 7, 8, 9, 10, 12, 13, 14, 15, 18, 20], "rewritten": [4, 8, 10, 12, 20], "rewrot": 15, "rf": 12, "rgb": 5, "rgoj5yh7evk": 17, "rh": 8, "rho": [2, 12, 15, 23], "rho_1": 12, "rho_2": 12, "rho_m": 12, "rich": [2, 23], "ride": 11, "rideclass": 11, "ridedata": 11, "ridg": [9, 13, 15, 17, 23], "ridge_sk": 8, "ridgebeta": 7, "right": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 16, 18, 20, 23], "right_sid": 4, "rightarrow": [2, 3, 7, 8, 10, 13, 14, 15, 20, 23], "rigor": [2, 23], "ring": 8, "rise": [2, 23], "risk": [2, 15, 23], "rival": 6, "river": 2, "rlm": 23, "rm": [2, 20], "rmse": 2, "rmsporp": 15, "rmsprop": [3, 5, 6, 15], "rnd_clf": 12, "rng": 20, "rnn": [6, 14], "rnn1": 6, "rnn2": 6, "rnn_2layer": 6, "rnn_input": 6, "rnn_output": 6, "rnn_train": 6, "rntrick1": 20, "rntrick2": 20, "rntrick3": 20, "rntrick4": 20, "ro": [2, 15, 23], "robert": 22, "robust": [2, 23], "robustscal": 2, "roc": [9, 12], "role": [2, 4, 7, 8, 10, 17, 23], "roll": 8, "room": [2, 21, 23], "root": [0, 2, 7, 11, 15, 20], "rot": 23, "rotat": [3, 10, 11, 12], "rotation_matrix": 11, "roughli": [3, 5], "round": [2, 9, 11, 15], "routin": [15, 18, 23], "row": [1, 2, 3, 4, 7, 8, 11, 13, 18, 23], "rr": 7, "rrr": 7, "rug": 15, "rule": [2, 3, 7, 8, 15, 23], "run": [0, 2, 3, 4, 6, 7, 8, 10, 11, 13, 15, 17, 23], "runtim": [0, 3, 8, 16], "rust": [2, 17, 18, 23], "rvert": 3, "rvert_2": 3, "s_": [5, 8], "s_1": 8, "s_i": [8, 9], "s_j": 8, "s_k": 8, "saddl": 15, "sai": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 20, 23], "said": [8, 11, 15], "sake": [2, 7, 9, 13, 23], "sale": [2, 23], "sam": 23, "same": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 16, 18, 20, 23], "samm": 12, "sampl": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 20, 23], "sample_vari": 16, "sampleexptvari": 20, "samwis": 23, "sastri": 13, "satisfactori": [2, 23], "satisfi": [3, 4, 5, 8, 10, 15, 18, 20], "satur": [3, 8], "save": [2, 6, 8, 9, 11, 15, 23], "save_fig": [2, 8, 9, 11, 12, 23], "savefig": [2, 6, 8, 9, 11, 20, 23], "savetxt": 6, "saw": 7, "scalabl": 12, "scalar": [4, 7, 8, 12], "scale": [2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 21, 23], "scale_mean": 6, "scale_std": 6, "scaler": [2, 9, 10, 11, 12, 13], "scan": [7, 9], "scari": 7, "scatter": [0, 2, 3, 8, 9, 10, 11, 16, 23], "scenario": [8, 15], "schedul": 15, "scheme": [3, 15], "schrage": 20, "sch\u00f8yen": 8, "scienc": [2, 3, 12, 14, 15, 17, 19, 20, 21, 22], "scientif": [2, 17, 23], "scientist": [2, 23], "scikit": [0, 1, 5, 7, 8, 10, 11, 12, 15, 17, 18, 22], "scikit_learn": 2, "scikitlearn": 23, "scikitplot": [9, 12], "scipi": [2, 5, 7, 8, 15, 17, 18, 23], "scl": 8, "scm": 0, "score": [1, 2, 3, 5, 8, 9, 11, 12, 13, 21, 23], "scores_kfold": 8, "scratch": [1, 3, 15], "sdg": 15, "seaborn": [2, 3, 5, 8, 9, 23], "seamless": [2, 17, 23], "search": [0, 2, 3, 5, 7, 11, 15, 23], "sebastian": 23, "sebastianraschka": 23, "sec": 8, "second": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 18, 20, 21, 23], "secondeigvector": 13, "secondli": 14, "section": [1, 6, 13, 18, 20], "sector": 2, "see": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 17, 18, 20, 23], "seed": [2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 15, 16, 20, 23], "seed_imag": 6, "seek": [3, 4, 10], "seem": [3, 5, 6], "seemingli": [2, 23], "seen": [2, 3, 5, 7, 12, 14, 20, 23], "segment": 15, "seismic": 8, "seldomli": [2, 23], "select": [0, 3, 7, 8, 10, 11, 12, 13, 19, 20, 21, 22, 23], "selevet": 0, "self": [3, 7], "sell": 6, "semest": [9, 19], "semi": [10, 15], "semilogx": 8, "send": [7, 14, 15, 21, 23], "senior": [19, 21], "sens": [2, 6, 8, 10, 23], "sensibl": 5, "sensit": [2, 7, 8, 11, 15, 23], "sent": 4, "sentenc": [6, 14], "separ": [2, 3, 4, 6, 8, 10, 11, 14, 16, 17, 20, 23], "septemb": 23, "sequenc": [5, 6, 9, 11, 12, 14, 15, 17, 18, 20, 23], "sequenti": [3, 5, 6, 12, 14, 20], "seri": [2, 3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 18, 23], "serif": [2, 9, 20, 23], "serv": [2, 3, 4, 5, 7, 9, 15, 22, 23], "session": [0, 3, 19, 21, 23], "set": [1, 3, 6, 7, 8, 9, 10, 12, 13, 15, 16, 17, 18, 20, 21], "set_major_formatt": 8, "set_major_loc": 8, "set_tick": [3, 10], "set_ticklabel": 3, "set_titl": [2, 3, 4, 5, 9, 14, 16, 23], "set_xlabel": [2, 3, 4, 5, 9, 14, 23], "set_xlim": [9, 14], "set_xticklabel": 3, "set_ylabel": [2, 3, 4, 5, 9, 23], "set_ylim": [9, 14], "set_ytick": 9, "set_yticklabel": [3, 8], "set_zlim": 8, "seth": 6, "setminu": 8, "setosa": [10, 11], "setosa_or_versicolor": 10, "setp": 8, "setup": [3, 6, 8, 10, 17, 23], "sever": [1, 2, 5, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 20, 23], "sgd": [3, 5], "sgd_clf": 10, "sgdclassifi": 10, "sgdreg": 15, "sgdregressor": 15, "sgn": 7, "shallow": 15, "shape": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 23], "share": [0, 3, 5, 23], "shareabl": 0, "she": 9, "shift": [0, 3, 8, 14, 20], "ship": 5, "shire": 23, "short": [6, 7], "shortcom": 15, "shorten": 6, "shorter": 20, "shorthand": 23, "shortli": [18, 23], "should": [0, 2, 4, 5, 7, 8, 10, 11, 13, 14, 18, 20, 23], "show": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "show_shap": 6, "shown": [2, 6, 7, 10, 14, 15, 18], "shrink": [5, 7, 8, 10, 13], "shrinkag": [7, 8], "shrunk": 13, "shuffl": [2, 3, 6, 8, 15], "side": [2, 4, 7, 10, 14, 15, 18, 23], "sigh": [17, 23], "sigma": [2, 3, 7, 8, 9, 12, 13, 14, 15, 18, 20, 23], "sigma0": 20, "sigma1": 20, "sigma2": 20, "sigma_": [7, 18, 23], "sigma_0": 7, "sigma_1": 7, "sigma_2": 7, "sigma_fn": [9, 14], "sigma_i": [2, 7, 23], "sigma_j": 7, "sigma_m": [8, 20], "sigma_n": [13, 20], "sigma_t": 15, "sigma_x": 20, "sigmoid": [3, 4, 6, 9, 10, 12, 14], "sigmundson": 8, "sign": [3, 4, 9, 10, 12, 20, 21], "signal": [3, 5, 12, 14], "signifi": 6, "signific": 3, "significantli": [3, 15, 20], "sim": [6, 7, 8, 15, 20], "similar": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 18, 23], "similarli": [2, 3, 5, 7, 10, 12, 15, 20, 23], "simpl": [1, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 20], "simplepredict": 12, "simpler": [1, 2, 3, 7, 8, 9, 15, 17, 23], "simplernn": 6, "simplest": [2, 3, 5, 6, 11, 12, 14, 16, 23], "simpletre": 12, "simpli": [2, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 17, 18, 20, 23], "simplic": [4, 7, 8, 9, 10, 11, 12, 13, 14, 16], "simplicti": 7, "simplifi": [2, 8, 11, 17, 23], "simplist": [5, 8, 20], "simul": 8, "simultan": 8, "sin": [2, 3, 4, 5, 6, 11, 14, 15, 18, 23], "sinc": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 18, 20, 22, 23], "sine": [5, 14], "singl": [2, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 18, 20, 23], "singular": [2, 8, 15, 18, 23], "sinusoid": 5, "site": [2, 19], "situat": [2, 6, 7, 9, 15, 20, 23], "six": [5, 20], "size": [2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 18, 20, 23], "skelarn": 0, "sketch": 12, "ski": 11, "skill": 2, "skip": 13, "skl": [2, 8, 23], "sklearn": [0, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 23], "skplt": [9, 12], "sl": 8, "slack": 10, "slice": [4, 18, 23], "slide": [1, 2, 5, 20, 23], "slight": [8, 15], "slightli": [3, 4, 5, 7, 8, 9, 12, 20], "slope": [10, 13, 14], "slow": [2, 4, 10, 15], "slower": [7, 18, 23], "slowest": 18, "slowli": 14, "slp": 3, "small": [2, 3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 17, 18, 20, 23], "smaller": [2, 3, 4, 7, 8, 10, 11, 13, 15, 20, 23], "smallest": [2, 6, 16, 23], "smallest_row_index": 16, "smooth": [2, 5, 8, 15, 23], "sn": [2, 3, 5, 8, 9, 23], "sne": 13, "sneak": 23, "so": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23], "soar": 8, "social": 2, "soft": [3, 9, 12, 14], "soften": 10, "softmax": [5, 9], "softwar": [2, 10, 17, 18], "sol": 10, "sole": [2, 8, 23], "solid": [2, 9], "solut": [2, 3, 4, 5, 7, 8, 10, 12, 13, 15, 18, 20, 23], "soluton": 4, "solv": [1, 2, 3, 5, 7, 8, 10, 12, 13, 14, 15, 18, 23], "solve_expdec": 4, "solve_ode_deep_neural_network": 4, "solve_ode_neural_network": 4, "solve_pde_deep_neural_network": 4, "solveod": 4, "solveode_popul": 4, "solver": [4, 9, 10, 11, 12, 18, 23], "some": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 20, 23], "some_model": 8, "somehow": 6, "someon": 1, "someth": [0, 2, 3, 5, 6, 9, 11, 13, 20, 23], "sometim": [2, 3, 13, 14, 15, 16, 23], "soon": [18, 21], "sophist": [2, 23], "sopt": 15, "sort": [7, 8, 11, 13, 20], "sound": [5, 7], "sourc": [2, 3, 5, 8, 17, 18, 20, 23], "space": [2, 3, 6, 7, 10, 11, 13, 14, 15, 16, 20], "span": [2, 5, 7, 11, 13, 18, 23], "spare": 3, "spars": [5, 8, 18, 23], "sparse_mtx": [18, 23], "sparsecategoricalcrossentropi": 5, "sparsiti": 12, "spatial": [3, 4, 5, 14], "speak": 20, "special": [8, 9, 12, 14, 15, 18, 20, 23], "specif": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 18, 20, 22, 23], "specifi": [2, 5, 7, 8, 9, 11, 13, 15, 16, 20, 23], "specifici": [2, 12, 23], "spectacular": 5, "spectral": 3, "speech": [2, 3, 5, 6, 14], "speed": [3, 4, 6, 15], "spend": [1, 20], "sphere": 2, "spin": 8, "spite": 2, "spline": 10, "split": [1, 3, 5, 6, 7, 8, 10, 11, 12, 13, 16, 20], "splite": 2, "splitter": [3, 12], "spontan": 20, "spot": 5, "spread": [2, 13, 20, 23], "springer": [22, 23], "spuriou": 15, "sqrsignal": 5, "sqrt": [2, 5, 6, 7, 8, 10, 12, 13, 15, 20], "squar": [0, 3, 4, 5, 6, 9, 10, 11, 13, 15, 16, 17, 18, 20], "squarederror": 12, "squaredeuclidean": 16, "squash": 14, "srtm": 8, "srtm_data_norway_1": 8, "stabil": 7, "stabl": [1, 2, 6, 7, 8, 11, 17, 23], "stack": [5, 6], "stage": [0, 7, 15], "stai": [2, 4, 6, 7, 13, 23], "stand": [2, 7, 11, 14, 23], "standard": [2, 3, 6, 7, 8, 9, 10, 12, 14, 18, 20, 23], "standardscal": [2, 8, 9, 10, 11, 12, 13], "stanford": 15, "start": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 23], "start_tim": 16, "stat": 8, "state": [3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 17, 20], "statement": [2, 9, 18, 23], "statist": [2, 3, 5, 6, 9, 11, 12, 13, 14, 15, 16, 18, 22], "statu": [0, 2, 9, 23], "stavang": 8, "std": [2, 6, 8, 23], "steep": 15, "step": [0, 2, 3, 4, 6, 8, 9, 11, 12, 13, 14, 15, 16, 18, 23], "step_fn": [9, 14], "step_length": 15, "steps_list": 11, "stereo": 5, "still": [2, 4, 5, 7, 8, 13, 15, 20], "stimuli": 14, "stk": [22, 23], "stk2100": [22, 23], "stk3155": [0, 19, 21], "stk4021": [22, 23], "stk4051": [22, 23], "stk4155": [19, 21], "stk5000": 22, "stochast": [2, 3, 7, 8, 10, 13, 14, 23], "stock": 6, "stoke": 14, "stone": [2, 9], "stop": [3, 6, 11, 15, 16], "storag": 7, "store": [2, 3, 4, 5, 8, 13, 15, 20, 23], "storehaug": [21, 23], "str": [3, 5, 6], "straight": [2, 8, 10, 15, 23], "straightforward": [2, 4, 5, 7, 8, 10, 11, 12, 15, 18, 23], "strategi": [2, 3, 11, 23], "stratifi": 8, "strength": [2, 7, 16], "stretch": 13, "strict": [10, 15], "strictli": [10, 15], "stride": [6, 18], "strike": 8, "string": 3, "stroke": 9, "strong": [5, 8, 11, 12, 14, 18, 20], "strongli": [0, 2, 10, 17, 18], "stronli": 2, "structur": [2, 3, 4, 5, 8, 11, 12, 14, 17, 23], "stuck": [3, 15], "student": [0, 2, 19, 21, 22, 23], "studi": [2, 5, 6, 7, 8, 9, 10, 13, 14, 15, 17, 22, 23], "studier": 22, "style": [2, 9, 11, 18, 23], "st\u00f8land": [21, 23], "sub": [11, 14], "subdivid": [2, 18, 23], "subfield": 2, "subject": [8, 10, 20], "submit": 23, "subplot": [2, 3, 5, 6, 8, 9, 10, 11, 12, 16, 23], "subplots_adjust": [10, 20], "subprogram": [18, 23], "subract": 2, "subroutin": [2, 23], "subscript": 3, "subsequ": [3, 6, 7, 8, 14, 18, 20], "subset": [3, 8, 11, 14, 15, 17, 23], "subspac": [2, 10, 13], "substanti": [11, 12], "substep": 13, "substitut": [1, 5, 8, 14, 18], "subsubset": 11, "subtask": 8, "subtl": 3, "subtract": [2, 6, 7, 8, 13, 15, 18, 20], "subtre": 11, "succeed": [2, 6, 23], "success": [5, 9, 11, 15, 20], "successfulli": [6, 11], "sudo": [2, 17, 23], "suffer": [2, 3, 4, 7, 12, 23], "suffici": [3, 8, 10, 13, 15], "suggest": [3, 15, 22], "suit": [10, 14], "suitabl": [0, 2, 20], "sum": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "sum_": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "sum_i": [2, 4, 7, 8, 10, 15], "sum_j": 8, "sum_ja_": 2, "sum_k": [8, 10, 14, 18], "sum_logist": 15, "sum_m": 5, "sum_n": 5, "sum_nx_": 5, "summar": [7, 8, 11], "summari": [3, 5, 6, 12, 19], "summat": [1, 2, 5], "sunni": 11, "super": 7, "superfici": 5, "superscript": [3, 14], "supervis": [2, 7, 8, 9, 11, 14, 17, 23], "supplement": 9, "support": [2, 3, 11, 12, 13, 15, 17, 23], "suppos": [2, 7, 8, 9, 10, 12, 13, 14, 15, 18, 23], "suppress": [7, 15], "sure": [1, 2, 3, 6, 8], "surf": 8, "surfac": [2, 8, 23], "surpass": 8, "surpris": [2, 23], "surround": [5, 17], "survei": [2, 7, 8, 23], "svc": [10, 11, 12], "svd": [2, 8, 13, 23], "svdinv": 7, "svm": [10, 11, 12, 13], "svm_clf": [10, 12], "swath": 7, "switch": 2, "sy": 15, "symbol": [3, 7, 13, 15, 17, 20, 23], "symmeteri": 3, "symmetr": [2, 7, 10, 13, 14, 15, 18, 23], "symmetri": 8, "sympi": [2, 17, 23], "synonim": 20, "syntax": 15, "system": [0, 2, 3, 5, 6, 8, 9, 11, 12, 14, 15, 17, 18, 23], "systemat": [6, 8], "t": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23], "t0": [5, 8, 15], "t1": [4, 15], "t2": 4, "t3": 4, "t_": 4, "t_0": [4, 11, 15], "t_1": 15, "t_b": 12, "t_i": [3, 4, 7, 14], "t_j": 14, "t_k": 11, "tabl": [11, 20, 21, 23], "tabul": [2, 23], "tabular": 23, "tackl": 6, "tag": [4, 5, 6, 7, 8, 9, 14, 15, 16, 18, 20], "taht": [2, 23], "tail": 20, "tailor": [4, 10, 13, 23], "taiwan": [2, 23], "take": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 23], "taken": [2, 3, 5, 8, 12, 15, 18, 23], "tan": 5, "tangent": [3, 6, 14, 15], "tanh": [3, 6, 9, 10, 14], "target": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 23], "target_nam": 11, "task": [2, 3, 5, 8, 11, 13, 14, 16, 23], "tau": [5, 7, 20], "taught": 23, "tax": 2, "taylor": [4, 15], "taylornr": 15, "tc": 10, "teach": [0, 19, 23], "team": 3, "teaser": 2, "technic": [2, 7, 8, 15, 23], "techniqu": [2, 3, 10, 12, 15, 17, 20, 22, 23], "technologi": [2, 3], "tell": [1, 2, 6, 8, 12, 13, 15, 20], "temp": 3, "temp1": 3, "temp2": 3, "temperatur": [2, 11, 23], "temporarili": 3, "ten": [5, 23], "tend": [5, 7, 8, 10, 11, 12, 14, 15, 16], "tendenc": [2, 23], "tension": 8, "tensor": 5, "tensorflow": [2, 4, 6, 10, 16, 17, 18, 22, 23], "term": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 23], "term1": [7, 8, 13], "term2": [7, 8, 13], "term3": [7, 8, 13], "term4": [7, 8, 13], "termin": [0, 2, 6, 7, 11, 12, 15, 23], "terrain": 8, "terrain1": 8, "test": [1, 5, 6, 7, 8, 9, 10, 11, 12, 15, 18, 20], "test_acc": 5, "test_accuraci": [3, 5], "test_error": 8, "test_imag": [5, 6], "test_ind": 8, "test_input": 6, "test_label": [5, 6], "test_loss": 5, "test_pr": 3, "test_predict": 3, "test_rnn": 6, "test_scor": [9, 12], "test_siz": [0, 2, 3, 5, 7, 8, 12, 23], "test_split": 11, "testerror": [2, 8], "testi": 6, "testpredict": 6, "testx": 6, "text": [2, 3, 4, 6, 7, 10, 11, 13, 15, 18, 20, 22], "textbook": 1, "textual": 11, "textur": 3, "tf": [3, 5, 6, 15, 16], "th": [2, 3, 4, 7, 8, 9, 11, 14, 15, 16, 18, 20, 23], "than": [2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 20, 23], "thank": [6, 8], "theano": [3, 17, 23], "thei": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 20, 23], "them": [2, 3, 5, 6, 8, 10, 11, 12, 13, 14, 15, 18, 23], "theme": [0, 2, 23], "themselv": [2, 20, 23], "thenc": 8, "theorem": [4, 8, 9], "theoret": [2, 6, 12, 23], "theori": [2, 3, 5, 10, 11, 14, 15, 17, 22, 23], "thereaft": [2, 7, 8, 13, 14, 18, 23], "therebi": [2, 7, 9, 13, 23], "therefor": [2, 3, 4, 5, 6, 8, 9, 10, 13, 15, 20, 23], "therein": 13, "thereof": [2, 8, 15, 23], "theta": [3, 6, 15, 20], "theta_": [3, 15], "theta_i": 3, "theta_linreg": 15, "theta_t": 15, "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "thing": [0, 1, 2, 3, 4, 6, 7, 9, 11, 20, 23], "think": [2, 3, 5, 6, 8, 11, 14, 15, 16, 20, 23], "third": [2, 5, 8, 15, 21, 23], "thirti": 9, "thorughout": 23, "those": [2, 5, 7, 8, 10, 11, 12, 13, 18, 23], "though": [1, 3, 4, 5, 6, 15, 18, 20], "thought": [8, 16, 20], "thousand": [2, 3], "three": [2, 3, 5, 7, 8, 10, 11, 14, 18, 19, 20, 21, 23], "threshold": [3, 5, 11, 12, 13, 14, 15], "through": [0, 2, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15, 16, 17, 18, 20, 23], "throughout": [0, 2, 6, 7, 16, 17, 18, 20, 23], "throw": [5, 8, 20], "thu": [2, 3, 4, 7, 8, 9, 10, 12, 13, 14, 15, 21, 23], "thumb": [2, 8, 23], "tibshirani": [8, 22, 23], "tick_param": 8, "ticker": [8, 15, 20], "tif": 8, "tight_layout": [3, 9], "tightli": 13, "tild": [2, 7, 8, 9, 13, 20, 23], "till": [2, 6, 9, 10, 11, 12, 14, 18, 23], "time": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "timeit": 6, "timer": 6, "tini": 3, "tip": 5, "titl": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 15, 20, 23], "tmp": 15, "tn": [4, 5, 9], "to_categor": [3, 5, 6], "to_categorical_numpi": 3, "to_numer": [2, 8, 23], "todai": 5, "togeth": [2, 5, 8, 10, 13, 15, 17, 23], "toi": 16, "told": 15, "toler": [4, 16], "tolist": 6, "tomographi": 14, "too": [2, 4, 6, 7, 8, 11, 13, 15, 20, 22, 23], "took": [10, 23], "tool": [0, 2, 3, 5, 8, 15, 17], "toolbox": 10, "top": [2, 5, 7, 8, 11, 12, 17, 23], "topic": [2, 7, 8, 9, 10, 17], "topolog": [5, 14], "topologi": [3, 14], "torkjellsdatt": [21, 23], "toss": [12, 20], "total": [2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 18, 20, 21, 23], "total_loss": 6, "totalclustervari": 16, "totalscatt": 16, "toward": [0, 3, 4, 9, 14, 15], "town": 2, "tp": [6, 9], "tpng": 11, "tpu": [15, 17, 23], "tqdm": 8, "track": [0, 5, 15, 16, 18], "tract": 2, "tractabl": [2, 23], "trade": [7, 11], "tradeoff": [2, 7, 23], "tradit": [2, 3, 6, 8, 23], "train": [1, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15], "train_accuraci": [2, 3, 5, 23], "train_dataset": 6, "train_end": [2, 3], "train_error": 8, "train_imag": [5, 6], "train_ind": 8, "train_label": [5, 6], "train_pr": 3, "train_siz": [2, 3, 5], "train_step": 6, "train_test_split": [0, 1, 2, 3, 5, 7, 8, 9, 11, 12, 13, 23], "train_test_split_numpi": [2, 3], "trainable_vari": 6, "trained_model": 8, "trainerror": 2, "traini": 6, "training_checkpoint": 6, "training_dataset": 6, "training_gradi": 15, "trainingerror": 8, "trainpredict": 6, "trainscor": 6, "trainx": 6, "trait": [2, 23], "trajectori": 6, "transfer": 11, "transform": [2, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 23], "transit": [8, 14], "translat": [3, 6, 8, 12, 23], "transpos": [3, 7, 13, 18], "travers": [2, 7], "treat": [2, 3, 5, 8, 14, 15, 20, 23], "tree": [2, 3, 17, 23], "tree_clf": [11, 12], "tree_clf_": 11, "tree_clf_sr": 11, "tree_reg": 11, "tree_reg1": 11, "tree_reg2": 11, "trend": 20, "treue": 9, "trevor": 22, "tri": [1, 4, 5, 6, 11, 15], "triain": 2, "trial": [2, 4, 6, 8, 15, 20, 23], "triangl": 15, "triangular": 18, "trick": [5, 6, 10, 13, 15, 20], "trickier": 20, "tridiagon": 18, "trillion": 17, "trivial": [2, 3, 7, 13, 20, 23], "troubl": [0, 2, 10, 14], "truck": 5, "true": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 18, 20, 23], "true_beta": 8, "true_fun": 8, "try": [0, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 23], "tucker": 10, "tuesdai": [21, 23], "tumor": [9, 11], "tumour": 9, "tunabl": 3, "tune": [6, 11, 15, 18, 23], "turn": [2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20, 23], "tutori": [3, 6], "tv": 4, "tveito": 4, "tweak": [3, 6, 12, 20], "twice": 15, "twist": 13, "two": [0, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 15, 18, 19, 20, 22, 23], "tx": 15, "tx_1": 15, "txt": [0, 6], "ty": 15, "type": [2, 3, 5, 8, 10, 12, 15, 18, 20], "typic": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 14, 15, 20, 23], "u": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 23], "u_": 18, "u_i": 14, "u_m": 12, "ua": [2, 23], "ubuntu": [2, 17, 23], "uci": 2, "uio": [0, 21, 22], "un": 16, "unabl": 0, "unari": [18, 23], "unbalanc": [8, 11], "unbias": [2, 7, 8, 23], "uncent": 8, "uncertainti": [2, 7, 23], "uncertitud": 20, "unchang": [3, 5], "uncorrel": [12, 20], "undefin": 7, "under": [2, 3, 7, 8, 12, 15, 17, 23], "underdetermin": [2, 23], "underfit": [3, 8], "underflowproblem": 7, "undergo": 7, "undergradu": [19, 21], "underli": [2, 3, 11, 15, 20, 23], "underset": [6, 16], "understand": [0, 2, 3, 5, 7, 8, 12, 15, 16, 17, 23], "understood": [10, 15], "undesir": 10, "undetermin": [7, 10], "undo": 6, "unexpect": 8, "unexpected": 20, "unfair": 8, "unfortun": [3, 10, 11, 12], "unicode_liter": [10, 11], "uniform": [2, 3, 7, 8, 13, 15, 20, 23], "uniformli": [15, 20], "unifrompdf": 20, "unimport": 15, "union": [7, 8], "uniqu": [2, 4, 8, 15, 16, 18, 23], "unique_cluster_label": 16, "unit": [2, 3, 5, 6, 7, 12, 14, 20, 23], "unitari": [7, 8, 18], "unitarili": [18, 23], "uniti": 20, "univari": 20, "univers": [2, 3, 4, 15, 17, 19, 21, 23], "unix": 3, "unknow": [2, 18, 23], "unknown": [2, 3, 5, 6, 7, 8, 10, 12, 15, 18, 23], "unknowwn": 14, "unlabel": 3, "unless": [2, 5, 8, 13, 15, 23], "unlik": [3, 5, 10, 15], "unnecessarili": 11, "unord": 5, "unravel": 3, "unrol": [5, 13], "unseen": [0, 2, 9, 11], "unstabl": 3, "unsupervis": [2, 3, 6, 14, 17, 23], "unsymmetr": [18, 23], "until": [3, 4, 6, 11, 14, 15, 16], "untouch": 2, "unusu": 14, "up": [1, 3, 5, 6, 7, 8, 10, 12, 13, 15, 16, 17, 18, 20, 21], "updat": [0, 3, 4, 12, 14, 15, 16], "uploa": 23, "upload": [0, 17, 22], "upon": [2, 3, 8, 9, 13, 18], "upper": [1, 2, 10, 11, 18], "uppercas": [18, 23], "upsampl": 6, "upscal": 6, "url": 23, "us": [0, 6, 7, 8, 10, 11, 12, 13, 14, 16, 18, 20, 22], "usa": 23, "usag": [2, 10, 17, 23], "usd": 2, "usd10000": 2, "use_bia": 6, "usecol": [2, 23], "useless": 3, "user": [2, 3, 4, 6, 8, 9, 17, 18, 23], "usernam": 0, "usetex": 20, "usg": 8, "usr": 20, "usual": [2, 5, 6, 9, 14, 15, 16, 23], "ut": 7, "util": [3, 5, 6, 8, 9, 12, 16, 23], "ux": 18, "v": [0, 2, 4, 6, 7, 8, 13, 15, 17], "v0": 20, "v1": 20, "v2": 20, "v_0": 13, "va": 3, "vahid": 23, "val": 15, "val_accuraci": 5, "val_loss": 6, "vale": 4, "valid": [2, 3, 6, 9, 11, 12, 15, 17, 20, 23], "validation_data": 5, "validation_split": 6, "valu": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 23], "valuat": 11, "valy": 6, "van": [2, 23], "vandenbergh": [10, 15], "vandermond": [2, 23], "vanilla": [2, 8, 13, 16], "vanish": [3, 6, 15, 20], "var": [7, 8, 12, 13, 20], "var_x": 20, "varabl": 10, "varepsilon": [7, 8], "varepsilon_": [7, 8], "varepsilon_i": [7, 8], "vari": [2, 3, 5, 7, 8, 12, 23], "variabl": [2, 3, 4, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 23], "varianc": [2, 3, 7, 9, 11, 12, 13, 15, 16, 17, 18, 20, 23], "variance_i": [7, 13], "variance_x": [7, 13], "variant": [2, 3, 8, 10, 14, 15, 23], "variat": [5, 6, 13, 23], "varieti": [2, 5, 14, 17, 23], "variou": [1, 3, 5, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 20], "varydimens": 6, "vastli": 5, "vaue": 3, "vault": 2, "vdot": [4, 15], "vec": 8, "vector": [2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 17], "vector_mean": 16, "ventur": [2, 10, 17, 23], "venv": 0, "verbos": [3, 5, 6], "veri": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 22, 23], "verifi": [5, 13, 18, 23], "versatil": [10, 23], "versicolor": [10, 11], "version": [0, 2, 5, 12, 15, 16, 17, 18, 20, 23], "versu": 3, "vert": [1, 2, 3, 7, 8, 9, 10, 11, 13, 15, 23], "vert_1": [7, 8], "vert_2": [7, 8, 13], "via": [2, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 23], "vidal": 13, "video": [2, 3, 14, 17, 19, 21, 23], "view": [3, 5, 7, 8, 14, 15, 20, 22, 23], "violat": 10, "virginica": 11, "viridi": [2, 3, 4, 5, 23], "virtual": 3, "viscos": 15, "viscou": 15, "visibl": 0, "vision": [2, 5], "visual": [2, 5, 13, 14, 17, 23], "visualis": 3, "visualstudio": [0, 1], "viz": [8, 10, 20], "vmap": 15, "vmax": [3, 8], "vmin": [3, 8], "voic": 5, "volum": [2, 5, 23], "vote": 12, "voting_clf": 12, "votingclassifi": 12, "votingsimpl": 12, "vstack": [7, 13, 18, 20, 23], "vt": 7, "w": [2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 20, 23], "w1": 10, "w2": [10, 13], "w3": 10, "w_": [3, 14], "w_1": [10, 18], "w_1x_": 10, "w_1x_1": 10, "w_2": [10, 18], "w_2x_": 10, "w_2x_2": 10, "w_3": 18, "w_4": 18, "w_hidden": 4, "w_i": [3, 4, 12], "w_ix_i": 14, "w_j": 18, "w_m": 18, "w_output": 4, "w_px_": 10, "w_px_p": 10, "wa": [2, 3, 5, 6, 7, 8, 9, 12, 13, 14, 16, 18, 23], "wai": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 20, 23], "walk": 11, "walker": 20, "wang": [2, 23], "want": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 20, 23], "warn": 6, "warrant": 8, "wast": 5, "watch": 17, "wave": 5, "wavelet": 10, "we": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22], "weak": [11, 12, 16], "weather": [3, 14], "web": [17, 19, 21, 23], "webpag": 23, "websit": [8, 18, 19, 23], "wedg": [10, 20], "wednesdai": [21, 23], "wee": 13, "week": [2, 7, 8, 9, 19, 21], "weekli": [0, 1, 17, 19, 21, 22, 23], "weight": [2, 3, 4, 5, 8, 9, 11, 12, 14, 15, 20], "weigth": 4, "welcom": [0, 10, 17], "well": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 17, 18, 20, 22, 23], "went": 10, "were": [2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 20, 23], "wessel": [2, 23], "what": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20], "whatev": 5, "when": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "whenev": [0, 15, 20], "where": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23], "wherea": [8, 20], "wherein": [3, 14], "whether": [2, 5, 7, 9, 11, 20, 23], "which": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23], "whichev": [3, 5], "while": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 20, 23], "white": 11, "who": [0, 2], "whole": [3, 5, 6, 7, 11, 13, 15], "whose": [2, 8, 12, 20], "whow": 13, "why": [0, 1, 2, 3, 5, 8, 15], "wide": [2, 3, 5, 8, 9, 14, 17, 18, 23], "widehat": 8, "width": [2, 5, 10, 11, 23], "wieringen": [2, 23], "win": 12, "wind": 11, "wing": [21, 23], "winther": 4, "wiothout": 8, "wiscons": 9, "wisconsin": 12, "wisdom": 8, "wise": [2, 3, 7, 14, 15], "wish": [2, 4, 7, 9, 10, 13, 15, 16, 18, 23], "with_std": 2, "wither": 8, "within": [2, 4, 5, 6, 9, 11, 14, 15, 16, 20, 22, 23], "withinclust": 16, "without": [0, 2, 3, 7, 8, 10, 11, 13, 14, 15, 23], "won": [0, 2, 23], "wonder": 10, "word": [2, 3, 5, 6, 7, 8, 9, 16, 20, 23], "work": [0, 1, 2, 3, 6, 8, 9, 10, 11, 15, 17, 19, 20, 21, 23], "workshop": 23, "world": [1, 2, 10], "worldwid": [2, 23], "worri": 0, "wors": [2, 3, 5, 6, 8, 23], "worth": 11, "would": [1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20, 23], "wrap": [8, 18, 23], "write": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 14, 15, 18, 23], "written": [1, 2, 4, 5, 7, 13, 14, 15, 17, 18, 20, 23], "wrong": [0, 3, 10], "wrongli": 12, "wrote": [7, 13], "wrt": [12, 15], "wth": [12, 15], "www": [17, 18, 22, 23], "wx_1": 10, "x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "x0": 10, "x1": [6, 10, 11, 12, 15], "x1_exampl": 10, "x1d": 10, "x2": [10, 11, 12, 15], "x2d": [10, 13], "x2d_train": 13, "x2dsl": 13, "x3": 10, "x_": [2, 4, 5, 7, 8, 10, 12, 13, 15, 16, 18, 20, 23], "x_0": [2, 7, 13, 18, 23], "x_1": [2, 4, 7, 8, 9, 10, 11, 12, 13, 15, 18, 20, 23], "x_2": [2, 4, 7, 8, 9, 10, 11, 12, 13, 15, 18, 20, 23], "x_3": [10, 18, 20], "x_4": 18, "x_center": 13, "x_data": 3, "x_data_ful": 3, "x_hidden": 4, "x_i": [2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "x_input": 4, "x_ix_": [2, 23], "x_iy_i": 10, "x_j": [1, 2, 4, 10, 11, 14, 20], "x_jy_j": 10, "x_k": [14, 16, 18, 20], "x_l": 20, "x_m": [8, 14, 18, 20], "x_n": [2, 4, 5, 8, 10, 13, 14, 15, 18, 20, 23], "x_new": [11, 12], "x_offset": 8, "x_output": 4, "x_p": [5, 9, 11], "x_poli": 11, "x_poly10": 11, "x_pred": 6, "x_prev": 4, "x_reduc": 13, "x_scale": 10, "x_small": 15, "x_test": [0, 1, 2, 3, 5, 7, 8, 9, 11, 12, 13, 23], "x_test_own": 8, "x_test_scal": [2, 8, 9, 11, 12, 13], "x_tot": 6, "x_train": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 23], "x_train_mean": 8, "x_train_own": 8, "x_train_scal": [2, 8, 9, 11, 12, 13], "x_val": 3, "xarrai": [17, 23], "xavier": 3, "xbkjd4ccgq": 23, "xbnew": 15, "xcode": [2, 17, 23], "xdclassiffierconfus": 12, "xdclassiffierroc": 12, "xg_clf": 12, "xgb": 12, "xgbclassifi": 12, "xgboost": 11, "xgboot": 12, "xgbregressor": 12, "xgparam": 12, "xgtree": 12, "xi": [10, 15], "xi_": 10, "xi_1": 10, "xi_i": 10, "xk": 10, "xla": [15, 17, 23], "xlabel": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 20, 23], "xlim": [8, 12], "xm": 11, "xmesh": 15, "xnew": [2, 15, 23], "xp": 20, "xpanda": 2, "xpd": [7, 13], "xplot": 2, "xscale": 2, "xsr": 11, "xt_x": 15, "xtest": 8, "xtick": [5, 8, 10, 11], "xtrain": 8, "xu": [2, 23], "xx": [2, 18, 23], "xy": [2, 8, 10, 18, 23], "xytext": 10, "xz": [18, 23], "y": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "y1": 6, "y2": 6, "y3": 6, "y_": [2, 3, 7, 8, 12, 13, 18, 23], "y_0": [2, 7, 13, 18, 23], "y_1": [2, 7, 10, 11, 13, 15, 18, 23], "y_1y_1": 10, "y_1y_1k": 10, "y_1y_2": 10, "y_1y_2k": 10, "y_1y_n": 10, "y_1y_nk": 10, "y_2": [2, 7, 10, 11, 13, 18, 23], "y_2y_1": 10, "y_2y_1k": 10, "y_2y_2": 10, "y_2y_2k": 10, "y_3": [2, 11, 18], "y_4": 18, "y_data": [2, 3, 7, 8, 23], "y_data_ful": 3, "y_decis": 10, "y_fit": 2, "y_i": [2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 23], "y_if_": 12, "y_ix_": [2, 23], "y_ix_i": [9, 10, 15], "y_iy_jk": 10, "y_j": [8, 10, 14], "y_k": 14, "y_m": 18, "y_model": [2, 6, 7, 8, 23], "y_n": [10, 15], "y_ny_1": 10, "y_ny_1k": 10, "y_ny_2": 10, "y_ny_2k": 10, "y_ny_n": 10, "y_ny_nk": 10, "y_offset": 8, "y_plot": 11, "y_pred": [2, 3, 6, 8, 9, 10, 11, 12], "y_pred1": 11, "y_pred2": 11, "y_pred_rf": 12, "y_pred_tre": 12, "y_proba": [9, 12], "y_scaler": 8, "y_test": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 23], "y_test_onehot": 3, "y_test_predict": 2, "y_tot": 6, "y_train": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 23], "y_train_mean": 8, "y_train_onehot": 3, "y_train_predict": 2, "y_train_scal": 8, "y_val": 3, "ye": [5, 8, 9], "year": [2, 17, 23], "yet": [2, 3, 8, 10, 13, 15, 23], "yi": 15, "yield": [2, 4, 7, 8, 10, 12, 14, 15, 16, 18, 20, 23], "yk": 10, "ylabel": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 20, 23], "ylim": [5, 8], "ym": 11, "ymesh": 15, "yn": 2, "yo": [10, 11, 12], "yoshua": [3, 22], "you": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 15, 17, 18, 20, 21, 22, 23], "young": 2, "your": [0, 3, 4, 6, 7, 8, 10, 13, 15, 17, 18], "your_model_object": 1, "yourself": [13, 15, 23], "youtub": 17, "ypred": 8, "ypredict": [2, 15, 23], "ypredict2": 15, "ypredictlasso": 7, "ypredictol": [2, 7], "ypredictown": 8, "ypredictownridg": 8, "ypredictridg": [2, 7, 8], "ypredictskl": 8, "yridg": 23, "ytest": 8, "ytick": [5, 8, 10, 11], "ytild": [2, 8, 23], "ytildelasso": 7, "ytildenp": [2, 23], "ytildeol": [2, 7], "ytildeownridg": 8, "ytilderidg": [7, 8], "ytrain": 8, "yuxi": 23, "yx": [18, 23], "yy": [18, 23], "yz": [18, 23], "z": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 20, 23], "z_": [3, 4, 14, 18, 23], "z_0": [18, 23], "z_1": [18, 23], "z_2": [18, 23], "z_c": 3, "z_h": 3, "z_hidden": 4, "z_i": [3, 14], "z_j": [3, 14], "z_k": 14, "z_m": 3, "z_mod": 11, "z_o": 3, "z_output": 4, "zaman": 20, "zaxi": 8, "zero": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "zeros_lik": 6, "zfill": 6, "zip": [6, 8], "zm_h": [2, 23], "zn": 2, "zone": 2, "zoom": 23, "zx": [18, 23], "zy": [18, 23], "zz": [18, 23], "\u00f8yvind": 8}, "titles": ["Exercises week 34", "Exercises week 35", "3. Linear Regression", "14. Building a Feed Forward Neural Network", "15. Solving Differential Equations with Deep Learning", "16. Convolutional Neural Networks", "17. Recurrent neural networks: Overarching view", "4. Ridge and Lasso Regression", "5. Resampling Methods", "6. Logistic Regression", "8. Support Vector Machines, overarching aims", "9. Decision trees, overarching aims", "10. Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods", "11. Basic ideas of the Principal Component Analysis (PCA)", "13. Neural networks", "7. Optimization, the central part of any Machine Learning algortithm", "12. Clustering and Unsupervised Learning", "Applied Data Analysis and Machine Learning", "2. Linear Algebra, Handling of Arrays and more Python Features", "Course setting", "1. Elements of Probability Theory and Statistical Data Analysis", "Teachers and Grading", "Textbooks", "Week 34: Introduction to the course, Logistics and Practicalities"], "titleterms": {"": [10, 12], "1": [0, 1, 2, 23], "2": [0, 1, 2, 23], "2023": 21, "3": [0, 1, 2, 23], "34": [0, 23], "35": 1, "4": [0, 1, 2], "5": [1, 2], "A": [2, 3, 6, 10, 11, 23], "And": 23, "In": 21, "Ising": 8, "The": [0, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 17, 23], "To": 23, "With": 6, "about": 23, "activ": [3, 14], "ad": [2, 8, 23], "adaboost": 12, "adagrad": 15, "adam": 15, "adapt": 12, "adjust": 3, "adversari": 6, "again": [5, 11], "ai": 23, "aim": [10, 11, 23], "aka": 23, "algebra": [18, 23], "algorithm": [11, 12, 13, 14], "algortithm": 15, "all": 10, "an": [0, 2, 6, 12, 23], "analys": 7, "analysi": [2, 7, 8, 13, 17, 20, 23], "analyt": [1, 2], "ani": 15, "anoth": 11, "appli": 17, "approach": [2, 10, 16, 23], "approxim": 14, "architectur": 3, "arrai": [18, 23], "assist": 21, "autocorrel": 20, "autograd": [4, 15], "automat": 15, "back": [3, 13, 14], "background": 17, "bag": 12, "base": 15, "basic": [2, 7, 9, 11, 12, 13, 18], "batch": 3, "bay": 7, "befor": 13, "better": 10, "bia": 8, "binari": 3, "bind": 23, "bird": 12, "boost": 12, "bootstrap": [8, 12], "boston": 2, "breast": 3, "brief": 23, "bring": 14, "build": [3, 5, 11], "c": 23, "can": 23, "cancer": [3, 9, 11, 13], "cart": 11, "case": [10, 12, 20], "central": [15, 17, 20], "chain": 14, "chang": 12, "channel": 23, "chi": [2, 23], "choos": 3, "cifar01": 5, "classic": 13, "classif": [3, 11, 12], "classifi": 10, "clip": 3, "cluster": 16, "cnn": 5, "code": [0, 1, 2, 3, 4, 7, 11, 13, 14, 15, 16, 23], "collect": [3, 5], "commun": 23, "compar": [1, 4, 12], "complex": [2, 8], "complic": 8, "compon": 13, "comput": 11, "computerlab": 23, "con": 11, "concept": 20, "conjug": 15, "contn": 23, "convex": [10, 15], "convolut": [5, 14], "correl": 13, "cost": [3, 12], "cours": [17, 19, 22, 23], "covari": [7, 13, 20], "cover": 23, "creat": 1, "cross": 8, "cython": 23, "data": [0, 2, 3, 5, 8, 9, 11, 13, 17, 20, 23], "dataset": [3, 5], "deadlin": 23, "deadllin": 21, "decai": 4, "decis": [11, 12], "decomposit": [7, 13, 18], "deep": [3, 4, 23], "defin": [3, 23], "degre": 2, "deliver": [0, 1], "dens": [2, 23], "deriv": [1, 7, 14], "descent": [4, 12, 15], "detail": [5, 23], "develop": 3, "diagon": 13, "differ": 10, "differenti": [4, 15], "diffus": 4, "dimension": [4, 5, 10], "disadvantag": 11, "discret": 20, "distribut": [7, 20], "do": 3, "domain": 20, "down": 3, "dropout": 3, "element": [2, 20, 23], "elimin": 18, "energi": 23, "ensembl": 12, "entropi": 11, "environ": [0, 2, 23], "equat": [2, 4, 14, 23], "error": [2, 12, 23], "essenti": 23, "etc": 23, "euler": 4, "evalu": 3, "exampl": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 23], "exercis": [0, 1, 2, 8, 23], "expect": 20, "experi": 20, "explor": [2, 23], "exponenti": 4, "express": 1, "extrapol": 6, "extrem": [12, 23], "ey": 12, "fall": 21, "famili": [3, 23], "famou": 18, "featur": [1, 11, 18], "feed": [3, 14], "final": 14, "find": 1, "fine": 3, "first": [6, 14, 23], "fit": [0, 1, 2, 12, 23], "forc": 5, "forest": 12, "format": 23, "forward": [3, 4, 14], "fourier": 5, "frank": 8, "freedom": 2, "frequentist": [2, 23], "from": [7, 12, 14], "full": 4, "function": [2, 3, 8, 9, 10, 12, 13, 14, 15, 20, 23], "further": [5, 7], "gan": 6, "gaussian": 18, "gd": 15, "gener": [6, 11, 23], "geometr": 13, "gini": 11, "github": 0, "goal": [0, 1], "good": [2, 23], "grade": [21, 23], "gradient": [3, 4, 12, 15], "growth": 4, "ha": 17, "handl": [18, 23], "hidden": 4, "hous": 2, "how": 1, "hyperparamet": 3, "hyperplan": 10, "i": [2, 3, 23], "id3": 11, "idea": 13, "ii": 23, "implement": [1, 3], "implic": 7, "import": [7, 18, 23], "improv": 3, "includ": 15, "increment": 13, "index": 11, "inform": 21, "input": 4, "instal": [17, 23], "instructor": 21, "interpret": [7, 13, 23], "introduc": [13, 15], "introduct": [2, 8, 17, 18, 23], "invers": [7, 18], "iter": 12, "jax": 15, "julia": 23, "jungl": 12, "kera": [3, 5], "kernel": [10, 13], "lagrangian": 10, "lasso": [7, 8], "later": 7, "layer": [3, 4, 5, 14], "learn": [0, 1, 2, 3, 4, 13, 15, 16, 17, 23], "least": [1, 7, 8, 23], "lectur": 23, "level": 12, "librari": [17, 23], "likelihood": 9, "limit": [3, 15, 20], "linear": [0, 2, 10, 15, 18, 23], "link": [7, 13, 22], "logist": [9, 23], "lu": 18, "machin": [2, 10, 15, 17, 23], "main": [20, 23], "make": [2, 11, 12, 23], "mani": [12, 14], "mass": 23, "materi": 23, "math": 7, "mathemat": [5, 7, 10], "matric": [7, 18, 23], "matrix": [1, 3, 7, 13, 14, 18, 23], "matter": [2, 23], "mean": 2, "meet": [7, 12, 20, 23], "mercer": 10, "method": [8, 11, 12, 15, 23], "minim": 23, "ml": 23, "mlp": 14, "mnist": [5, 6], "model": [0, 2, 3, 6, 8, 14, 23], "momentum": 15, "moon": [10, 11], "more": [5, 8, 18, 23], "multilay": 14, "multipl": [3, 5], "multipli": 10, "need": 23, "network": [3, 4, 5, 6, 9, 14, 23], "neural": [3, 4, 5, 6, 9, 14, 23], "new": 6, "non": 10, "normal": [2, 3], "notat": 14, "now": [3, 11, 15], "nuclear": [2, 23], "numba": 23, "number": [2, 4, 20], "numer": [4, 20], "numpi": [18, 23], "object": 5, "obtain": 13, "od": 4, "off": 8, "ol": [0, 1, 7, 8], "one": [4, 14], "oper": 18, "optim": [3, 10, 15, 17, 23], "order": 15, "ordinari": [1, 7, 8, 23], "organ": [2, 23], "oslo": 22, "other": [6, 11, 13, 14, 18, 23], "our": [2, 6, 7, 13, 15, 23], "outcom": [17, 23], "output": 4, "overarch": [2, 6, 10, 11, 23], "overview": [12, 23], "own": [2, 12, 13, 23], "packag": [18, 23], "panda": 23, "paramet": 23, "part": [15, 17], "partial": 4, "pass": 3, "pca": 13, "pdf": 20, "perceptron": 14, "perform": [3, 11], "period": 5, "perspect": 3, "point": 6, "poisson": 4, "polynomi": [1, 5], "popul": 4, "popular": 23, "practic": [15, 21, 23], "pre": [3, 5], "predict": 6, "prerequisit": [5, 17, 23], "princip": 13, "principl": 5, "pro": 11, "probabl": [7, 20], "problem": [3, 4, 15, 23], "procedur": [11, 23], "process": [3, 5], "program": [4, 15], "project": [8, 21, 23], "prop": 15, "propag": [3, 14], "properti": [7, 20], "python": [0, 2, 11, 17, 18, 23], "quick": 10, "r": 23, "random": [12, 13, 20], "read": [11, 23], "real": [8, 23], "recommend": 23, "recurr": [6, 14], "reduc": 2, "reduct": 5, "reformul": 4, "regress": [0, 2, 7, 8, 9, 11, 12, 15, 23], "regular": 3, "relev": 22, "relu": 3, "remark": 5, "remind": [8, 10, 23], "replac": 15, "repositori": 0, "requir": [4, 17], "resampl": 8, "rescal": 8, "resourc": 4, "revisit": 15, "rewrit": 23, "ridg": [2, 7, 8], "rm": 15, "rule": 14, "same": 15, "sampl": 13, "schedul": 23, "schemat": 11, "scheme": 4, "scienc": 23, "scikit": [2, 3, 13, 23], "second": 15, "semest": 21, "set": [0, 2, 4, 5, 11, 14, 19, 23], "setup": 0, "sgd": 15, "should": 3, "similar": 15, "simpl": [2, 6, 11, 15, 23], "singl": 12, "singular": [7, 13], "sklearn": 1, "soft": 10, "softmax": 3, "softwar": 23, "solv": 4, "solver": 15, "some": [15, 18], "specifi": 4, "split": [0, 2, 23], "squar": [1, 2, 7, 8, 12, 23], "standard": 15, "state": [2, 23], "statist": [7, 8, 17, 20, 23], "steepest": [12, 15], "stochast": [15, 20], "strongli": 23, "suggest": 23, "summari": [21, 23], "superposit": 5, "supervis": 3, "support": 10, "svd": 7, "systemat": 5, "take": 1, "teach": 21, "teacher": [21, 23], "techniqu": [8, 13], "technologi": 17, "tensorflow": [3, 5], "tent": [21, 23], "test": [0, 2, 3, 23], "text": 23, "textbook": [22, 23], "theorem": [7, 10, 13, 14, 20], "theori": 20, "thi": 23, "tip": 15, "togeth": 14, "tool": 23, "top": 3, "topic": 23, "toward": 13, "trade": 8, "tradeoff": 8, "train": [0, 2, 3, 6, 23], "transform": 5, "tree": [11, 12], "tune": 3, "two": [5, 10, 17], "type": [4, 6, 14, 23], "uio": 23, "univers": [14, 22], "unsupervis": 16, "up": [0, 2, 4, 11, 14, 23], "us": [1, 2, 3, 4, 5, 9, 15, 17, 23], "v": 5, "valid": 8, "valu": [7, 13, 20], "variabl": 20, "varianc": 8, "variou": [2, 23], "vector": [1, 10, 14, 18, 23], "view": [2, 6, 12], "virtual": 0, "visual": [3, 11], "wai": 11, "wave": 4, "we": 23, "week": [0, 1, 23], "what": [2, 23], "which": 3, "why": 23, "wisconsin": 9, "write": [6, 13], "xgboost": 12, "your": [1, 2, 12, 23]}}) \ No newline at end of file +Search.setIndex({"alltitles": {"A Classification Tree": [[11, "a-classification-tree"]], "A Frequentist approach to data analysis": [[2, "a-frequentist-approach-to-data-analysis"], [23, "a-frequentist-approach-to-data-analysis"]], "A better approach": [[10, "a-better-approach"]], "A first summary": [[23, "a-first-summary"]], "A quick Reminder on Lagrangian Multipliers": [[10, "a-quick-reminder-on-lagrangian-multipliers"]], "A simple example": [[6, "a-simple-example"]], "A soft classifier": [[10, "a-soft-classifier"]], "A top-down perspective on Neural networks": [[3, "a-top-down-perspective-on-neural-networks"]], "ADAM optimizer": [[15, "adam-optimizer"]], "Activation functions": [[14, "activation-functions"]], "Adaptive boosting: AdaBoost, Basic Algorithm": [[12, "adaptive-boosting-adaboost-basic-algorithm"]], "Adding error analysis and training set up": [[23, "adding-error-analysis-and-training-set-up"]], "Adjust hyperparameters": [[3, "adjust-hyperparameters"]], "Algorithms for Setting up Decision Trees": [[11, "algorithms-for-setting-up-decision-trees"]], "An Overview of Ensemble Methods": [[12, "an-overview-of-ensemble-methods"]], "An extrapolation example": [[6, "an-extrapolation-example"]], "An optimization/minimization problem": [[23, "an-optimization-minimization-problem"]], "And what about using neural networks?": [[23, "and-what-about-using-neural-networks"]], "Another example, the moons again": [[11, "another-example-the-moons-again"]], "Applied Data Analysis and Machine Learning": [[17, null]], "Autocorrelation function": [[20, "autocorrelation-function"]], "Automatic differentiation": [[15, "automatic-differentiation"]], "Back to the Cancer Data": [[13, "back-to-the-cancer-data"]], "Bagging": [[12, "bagging"]], "Bagging Examples": [[12, "bagging-examples"]], "Basic Matrix Features": [[18, "basic-matrix-features"]], "Basic ideas of the Principal Component Analysis (PCA)": [[13, null]], "Basic math of the SVD": [[7, "basic-math-of-the-svd"]], "Basics": [[9, "basics"]], "Basics of a tree": [[11, "basics-of-a-tree"]], "Batch Normalization": [[3, "batch-normalization"]], "Bayes\u2019 Theorem and Ridge and Lasso Regression": [[7, "bayes-theorem-and-ridge-and-lasso-regression"]], "Boosting, a Bird\u2019s Eye View": [[12, "boosting-a-bird-s-eye-view"]], "Bootstrap": [[8, "bootstrap"]], "Bringing it together, first back propagation equation": [[14, "bringing-it-together-first-back-propagation-equation"]], "Building a Feed Forward Neural Network": [[3, null]], "Building a tree, regression": [[11, "building-a-tree-regression"]], "Building neural networks in Tensorflow and Keras": [[3, "building-neural-networks-in-tensorflow-and-keras"]], "CNNs in more detail, building convolutional neural networks in Tensorflow and Keras": [[5, "cnns-in-more-detail-building-convolutional-neural-networks-in-tensorflow-and-keras"]], "Cancer Data again now with Decision Trees and other Methods": [[11, "cancer-data-again-now-with-decision-trees-and-other-methods"]], "Choose cost function and optimizer": [[3, "choose-cost-function-and-optimizer"]], "Classical PCA Theorem": [[13, "classical-pca-theorem"]], "Clustering and Unsupervised Learning": [[16, null]], "Code for SVD and Inversion of Matrices": [[7, "code-for-svd-and-inversion-of-matrices"]], "Codes and Approaches": [[16, "codes-and-approaches"]], "Codes for the SVD": [[7, "codes-for-the-svd"]], "Coding Setup and Linear Regression": [[0, "coding-setup-and-linear-regression"]], "Collect and pre-process data": [[3, "collect-and-pre-process-data"]], "Communication channels": [[23, "communication-channels"]], "Compare Bagging on Trees with Random Forests": [[12, "compare-bagging-on-trees-with-random-forests"]], "Comparing with a numerical scheme": [[4, "comparing-with-a-numerical-scheme"]], "Computing the Gini index": [[11, "computing-the-gini-index"]], "Conjugate gradient method": [[15, "conjugate-gradient-method"]], "Convex functions": [[15, "convex-functions"]], "Convolution Examples: Polynomial multiplication": [[5, "convolution-examples-polynomial-multiplication"]], "Convolution Examples: Principle of Superposition and Periodic Forces (Fourier Transforms)": [[5, "convolution-examples-principle-of-superposition-and-periodic-forces-fourier-transforms"]], "Convolutional Neural Network": [[14, "convolutional-neural-network"]], "Convolutional Neural Networks": [[5, null]], "Correlation Matrix": [[13, "correlation-matrix"]], "Course Format": [[23, "course-format"]], "Course setting": [[19, null]], "Cross-validation": [[8, "cross-validation"]], "Deadlines for projects (tentative)": [[23, "deadlines-for-projects-tentative"]], "Decision trees, overarching aims": [[11, null]], "Deep learning methods": [[23, "deep-learning-methods"]], "Define model and architecture": [[3, "define-model-and-architecture"]], "Defining the cost function": [[3, "defining-the-cost-function"]], "Deliverables": [[0, "deliverables"], [1, "deliverables"]], "Derivatives and the chain rule": [[14, "derivatives-and-the-chain-rule"]], "Deriving OLS from a probability distribution": [[7, "deriving-ols-from-a-probability-distribution"]], "Deriving and Implementing Ordinary Least Squares": [[1, "deriving-and-implementing-ordinary-least-squares"]], "Deriving the back propagation code for a multilayer perceptron model": [[14, "deriving-the-back-propagation-code-for-a-multilayer-perceptron-model"]], "Developing a code for doing neural networks with back propagation": [[3, "developing-a-code-for-doing-neural-networks-with-back-propagation"]], "Diagonalize the sample covariance matrix to obtain the principal components": [[13, "diagonalize-the-sample-covariance-matrix-to-obtain-the-principal-components"]], "Different kernels and Mercer\u2019s theorem": [[10, "different-kernels-and-mercer-s-theorem"]], "Disadvantages": [[11, "disadvantages"]], "Discriminative Modeling": [[23, "discriminative-modeling"]], "Domains and probabilities": [[20, "domains-and-probabilities"]], "Dropout": [[3, "dropout"]], "Elements of Probability Theory and Statistical Data Analysis": [[20, null]], "Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods": [[12, null]], "Entropy and the ID3 algorithm": [[11, "entropy-and-the-id3-algorithm"]], "Essential elements of ML": [[23, "essential-elements-of-ml"]], "Evaluate model performance on test data": [[3, "evaluate-model-performance-on-test-data"]], "Example of discriminative modeling, taken from Generative Deeep Learning by David Foster": [[23, "example-of-discriminative-modeling-taken-from-generative-deeep-learning-by-david-foster"]], "Example of generative modeling, taken from Generative Deep Learning by David Foster": [[23, "example-of-generative-modeling-taken-from-generative-deep-learning-by-david-foster"]], "Example: Exponential decay": [[4, "example-exponential-decay"]], "Example: Population growth": [[4, "example-population-growth"]], "Example: The diffusion equation": [[4, "example-the-diffusion-equation"]], "Example: binary classification problem": [[3, "example-binary-classification-problem"]], "Examples": [[23, "examples"]], "Examples of likelihood functions used in logistic regression and neural networks": [[9, "examples-of-likelihood-functions-used-in-logistic-regression-and-neural-networks"]], "Exercise 1 - Finding the derivative of Matrix-Vector expressions": [[1, "exercise-1-finding-the-derivative-of-matrix-vector-expressions"]], "Exercise 1 - Github Setup": [[0, "exercise-1-github-setup"]], "Exercise 1: Setting up various Python environments": [[2, "exercise-1-setting-up-various-python-environments"]], "Exercise 2 - Deriving the expression for OLS": [[1, "exercise-2-deriving-the-expression-for-ols"]], "Exercise 2 - Setting up a Github repository": [[0, "exercise-2-setting-up-a-github-repository"]], "Exercise 2: making your own data and exploring scikit-learn": [[2, "exercise-2-making-your-own-data-and-exploring-scikit-learn"]], "Exercise 3 - Creating feature matrix and implementing OLS using the analytical expression": [[1, "exercise-3-creating-feature-matrix-and-implementing-ols-using-the-analytical-expression"]], "Exercise 3 - Fitting an OLS model to data": [[0, "exercise-3-fitting-an-ols-model-to-data"]], "Exercise 3 - Setting up a Python virtual environment": [[0, "exercise-3-setting-up-a-python-virtual-environment"]], "Exercise 3: Normalizing our data": [[2, "exercise-3-normalizing-our-data"]], "Exercise 4 - Fitting a polynomial": [[1, "exercise-4-fitting-a-polynomial"]], "Exercise 4 - The train-test split": [[0, "exercise-4-the-train-test-split"]], "Exercise 4: Adding Ridge Regression": [[2, "exercise-4-adding-ridge-regression"]], "Exercise 5 - Comparing your code with sklearn": [[1, "exercise-5-comparing-your-code-with-sklearn"]], "Exercise 5: Analytical exercises": [[2, "exercise-5-analytical-exercises"]], "Exercise: Cross-validation as resampling techniques, adding more complexity": [[8, "exercise-cross-validation-as-resampling-techniques-adding-more-complexity"]], "Exercise: Analysis of real data": [[8, "exercise-analysis-of-real-data"]], "Exercise: Bias-variance trade-off and resampling techniques": [[8, "exercise-bias-variance-trade-off-and-resampling-techniques"]], "Exercise: Lasso Regression on the Franke function with resampling": [[8, "exercise-lasso-regression-on-the-franke-function-with-resampling"]], "Exercise: Ordinary Least Square (OLS) on the Franke function": [[8, "exercise-ordinary-least-square-ols-on-the-franke-function"]], "Exercise: Ridge Regression on the Franke function with resampling": [[8, "exercise-ridge-regression-on-the-franke-function-with-resampling"]], "Exercises": [[2, "exercises"]], "Exercises and Projects": [[8, "exercises-and-projects"]], "Exercises week 34": [[0, null]], "Exercises week 35": [[1, null]], "Expectation values": [[20, "expectation-values"]], "Extremely useful tools, strongly recommended": [[23, "extremely-useful-tools-strongly-recommended"]], "Feed-forward neural networks": [[14, "feed-forward-neural-networks"]], "Feed-forward pass": [[3, "feed-forward-pass"]], "Final back propagating equation": [[14, "final-back-propagating-equation"]], "Fine-tuning neural network hyperparameters": [[3, "fine-tuning-neural-network-hyperparameters"]], "Fitting an Equation of State for Dense Nuclear Matter": [[2, "fitting-an-equation-of-state-for-dense-nuclear-matter"]], "From one to many layers, the universal approximation theorem": [[14, "from-one-to-many-layers-the-universal-approximation-theorem"]], "Further Dimensionality Remarks": [[5, "further-dimensionality-remarks"]], "Further properties (important for our analyses later)": [[7, "further-properties-important-for-our-analyses-later"]], "Gaussian Elimination": [[18, "gaussian-elimination"]], "General Features": [[11, "general-features"]], "General linear models and linear algebra": [[23, "general-linear-models-and-linear-algebra"]], "Generalizing the fitting procedure as a linear algebra problem": [[23, "generalizing-the-fitting-procedure-as-a-linear-algebra-problem"], [23, "id1"]], "Generative Adversarial Networks": [[6, "generative-adversarial-networks"]], "Generative Models": [[6, "generative-models"]], "Generative Versus Discriminative Modeling": [[23, "generative-versus-discriminative-modeling"]], "Geometric Interpretation and link with Singular Value Decomposition": [[13, "geometric-interpretation-and-link-with-singular-value-decomposition"]], "Gradient Boosting, Classification Example": [[12, "gradient-boosting-classification-example"]], "Gradient Boosting, Examples of Regression": [[12, "gradient-boosting-examples-of-regression"]], "Gradient Clipping": [[3, "gradient-clipping"]], "Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent": [[12, "gradient-boosting-basics-with-steepest-descent-functional-gradient-descent"]], "Gradient descent": [[4, "gradient-descent"]], "Grading": [[21, "grading"], [21, "id2"], [23, "grading"]], "Housing data, the code": [[2, "housing-data-the-code"]], "How to take derivatives of Matrix-Vector expressions": [[1, "how-to-take-derivatives-of-matrix-vector-expressions"]], "Hyperplanes and all that": [[10, "hyperplanes-and-all-that"]], "Important Matrix and vector handling packages": [[18, "important-matrix-and-vector-handling-packages"]], "Improving performance": [[3, "improving-performance"]], "In summary": [[21, "in-summary"]], "Including Stochastic Gradient Descent with Autograd": [[15, "including-stochastic-gradient-descent-with-autograd"]], "Incremental PCA": [[13, "incremental-pca"]], "Installing R, C++, cython or Julia": [[23, "installing-r-c-cython-or-julia"]], "Installing R, C++, cython, Numba etc": [[23, "installing-r-c-cython-numba-etc"]], "Instructor information": [[21, "instructor-information"]], "Interpretations and optimizing our parameters": [[23, "interpretations-and-optimizing-our-parameters"], [23, "id2"], [23, "id3"]], "Introducing JAX": [[15, "introducing-jax"]], "Introducing the Covariance and Correlation functions": [[13, "introducing-the-covariance-and-correlation-functions"]], "Introduction": [[2, "introduction"], [8, "introduction"], [17, "introduction"], [18, "introduction"]], "Iterative Fitting, Classification and AdaBoost": [[12, "iterative-fitting-classification-and-adaboost"]], "Iterative Fitting, Regression and Squared-error Cost Function": [[12, "iterative-fitting-regression-and-squared-error-cost-function"]], "Kernel PCA": [[13, "kernel-pca"]], "Kernels and non-linearity": [[10, "kernels-and-non-linearity"]], "LU Decomposition, the inverse of a matrix": [[18, "lu-decomposition-the-inverse-of-a-matrix"]], "Layers": [[3, "layers"]], "Layers used to build CNNs": [[5, "layers-used-to-build-cnns"]], "Learning goals": [[0, "learning-goals"], [1, "learning-goals"]], "Learning outcomes": [[17, "learning-outcomes"], [23, "learning-outcomes"]], "Lectures and ComputerLab": [[23, "lectures-and-computerlab"]], "Limitations of supervised learning with deep networks": [[3, "limitations-of-supervised-learning-with-deep-networks"]], "Linear Algebra, Handling of Arrays and more Python Features": [[18, null]], "Linear Regression": [[2, null]], "Linear Regression, basic elements": [[2, "linear-regression-basic-elements"]], "Linking Bayes\u2019 Theorem with Ridge and Lasso Regression": [[7, "linking-bayes-theorem-with-ridge-and-lasso-regression"]], "Linking the regression analysis with a statistical interpretation": [[7, "linking-the-regression-analysis-with-a-statistical-interpretation"]], "Linking with the SVD": [[7, "linking-with-the-svd"]], "Links to relevant courses at the University of Oslo": [[22, "links-to-relevant-courses-at-the-university-of-oslo"]], "Logistic Regression": [[9, null], [9, "id1"]], "MNIST and GANs": [[6, "mnist-and-gans"]], "Machine Learning": [[23, "machine-learning"]], "Machine learning": [[17, "machine-learning"]], "Main textbooks": [[23, "main-textbooks"]], "Making a tree": [[11, "making-a-tree"]], "Making your own Bootstrap: Changing the Level of the Decision Tree": [[12, "making-your-own-bootstrap-changing-the-level-of-the-decision-tree"]], "Mathematical Interpretation of Ordinary Least Squares": [[7, "mathematical-interpretation-of-ordinary-least-squares"]], "Mathematical optimization of convex functions": [[10, "mathematical-optimization-of-convex-functions"]], "Mathematics of CNNs": [[5, "mathematics-of-cnns"]], "Mathematics of the SVD and implications": [[7, "mathematics-of-the-svd-and-implications"]], "Matrices in Python": [[23, "matrices-in-python"]], "Matrix multiplication": [[3, "matrix-multiplication"]], "Matrix-vector notation and activation": [[14, "matrix-vector-notation-and-activation"]], "Meet the covariance!": [[20, "meet-the-covariance"]], "Meet the Covariance Matrix": [[7, "meet-the-covariance-matrix"]], "Meet the Pandas": [[23, "meet-the-pandas"]], "Momentum based GD": [[15, "momentum-based-gd"]], "More complicated Example: The Ising model": [[8, "more-complicated-example-the-ising-model"]], "More on Dimensionalities": [[5, "more-on-dimensionalities"]], "More on Rescaling data": [[8, "more-on-rescaling-data"]], "Multilayer perceptrons": [[14, "multilayer-perceptrons"]], "Network requirements": [[4, "network-requirements"]], "Neural Networks vs CNNs": [[5, "neural-networks-vs-cnns"]], "Neural networks": [[14, null]], "Numerical experiments and the covariance, central limit theorem": [[20, "numerical-experiments-and-the-covariance-central-limit-theorem"]], "Numpy and arrays": [[18, "numpy-and-arrays"], [23, "numpy-and-arrays"]], "Numpy examples and Important Matrix and vector handling packages": [[23, "numpy-examples-and-important-matrix-and-vector-handling-packages"]], "Optimization, the central part of any Machine Learning algortithm": [[15, null]], "Optimizing our parameters": [[23, "optimizing-our-parameters"]], "Optimizing our parameters, more details": [[23, "optimizing-our-parameters-more-details"]], "Optimizing the cost function": [[3, "optimizing-the-cost-function"]], "Organizing our data": [[2, "organizing-our-data"], [23, "organizing-our-data"]], "Other Matrix and Vector Operations": [[18, "other-matrix-and-vector-operations"]], "Other Types of Recurrent Neural Networks": [[6, "other-types-of-recurrent-neural-networks"]], "Other courses on Data science and Machine Learning at UiO": [[23, "other-courses-on-data-science-and-machine-learning-at-uio"]], "Other courses on Data science and Machine Learning at UiO, contn": [[23, "other-courses-on-data-science-and-machine-learning-at-uio-contn"]], "Other popular texts": [[23, "other-popular-texts"]], "Other techniques": [[13, "other-techniques"]], "Other types of networks": [[14, "other-types-of-networks"]], "Other ways of visualizing the trees": [[11, "other-ways-of-visualizing-the-trees"]], "Our model for the nuclear binding energies": [[23, "our-model-for-the-nuclear-binding-energies"]], "Overview of first week": [[23, "overview-of-first-week"]], "Own code for Ordinary Least Squares": [[23, "own-code-for-ordinary-least-squares"]], "PCA and scikit-learn": [[13, "pca-and-scikit-learn"]], "Pandas AI": [[23, "pandas-ai"]], "Partial Differential Equations": [[4, "partial-differential-equations"]], "Practical tips": [[15, "practical-tips"]], "Practicalities": [[21, "practicalities"], [21, "id1"]], "Predicting New Points With A Trained Recurrent Neural Network": [[6, "predicting-new-points-with-a-trained-recurrent-neural-network"]], "Prerequisites": [[23, "prerequisites"]], "Prerequisites and background": [[17, "prerequisites-and-background"]], "Prerequisites: Collect and pre-process data": [[5, "prerequisites-collect-and-pre-process-data"]], "Probability Distribution Functions": [[20, "probability-distribution-functions"]], "Program for stochastic gradient": [[15, "program-for-stochastic-gradient"]], "Properties of PDFs": [[20, "properties-of-pdfs"]], "Pros and cons of trees, pros": [[11, "pros-and-cons-of-trees-pros"]], "Python installers": [[17, "python-installers"], [23, "python-installers"]], "RMS prop": [[15, "rms-prop"]], "Random Numbers": [[20, "random-numbers"]], "Random forests": [[12, "random-forests"]], "Randomized PCA": [[13, "randomized-pca"]], "Reading material": [[23, "reading-material"]], "Reading suggestions week 34": [[23, "reading-suggestions-week-34"]], "Recurrent neural networks": [[14, "recurrent-neural-networks"]], "Recurrent neural networks: Overarching view": [[6, null]], "Reducing the number of degrees of freedom, overarching view": [[2, "reducing-the-number-of-degrees-of-freedom-overarching-view"]], "Reformulating the problem": [[4, "reformulating-the-problem"]], "Regression Case": [[12, "regression-case"]], "Regression analysis, overarching aims": [[23, "regression-analysis-overarching-aims"]], "Regression analysis, overarching aims II": [[23, "regression-analysis-overarching-aims-ii"]], "Regularization": [[3, "regularization"]], "Reminder on Statistics": [[8, "reminder-on-statistics"]], "Replace or not": [[15, "replace-or-not"]], "Required Technologies": [[17, "required-technologies"]], "Resampling Methods": [[8, null]], "Resampling methods": [[8, "id1"]], "Resources on differential equations and deep learning": [[4, "resources-on-differential-equations-and-deep-learning"]], "Revisiting our Linear Regression Solvers": [[15, "revisiting-our-linear-regression-solvers"]], "Rewriting the fitting procedure as a linear algebra problem": [[23, "rewriting-the-fitting-procedure-as-a-linear-algebra-problem"]], "Rewriting the fitting procedure as a linear algebra problem, more details": [[23, "rewriting-the-fitting-procedure-as-a-linear-algebra-problem-more-details"]], "Ridge and Lasso Regression": [[7, null], [7, "id1"]], "Same code but now with momentum gradient descent": [[15, "same-code-but-now-with-momentum-gradient-descent"]], "Schedule first week": [[23, "schedule-first-week"]], "Schematic Regression Procedure": [[11, "schematic-regression-procedure"]], "Setting up the Back propagation algorithm": [[14, "setting-up-the-back-propagation-algorithm"]], "Setting up the network using Autograd; The full program": [[4, "setting-up-the-network-using-autograd-the-full-program"]], "Similar (second order function now) problem but now with AdaGrad": [[15, "similar-second-order-function-now-problem-but-now-with-adagrad"]], "Simple Python Code to read in Data and perform Classification": [[11, "simple-python-code-to-read-in-data-and-perform-classification"]], "Simple linear regression model using scikit-learn": [[2, "simple-linear-regression-model-using-scikit-learn"], [23, "simple-linear-regression-model-using-scikit-learn"]], "Software and needed installations": [[23, "software-and-needed-installations"]], "Solving Differential Equations with Deep Learning": [[4, null]], "Solving the one dimensional Poisson equation": [[4, "solving-the-one-dimensional-poisson-equation"]], "Solving the wave equation with Neural Networks": [[4, "solving-the-wave-equation-with-neural-networks"]], "Some famous Matrices": [[18, "some-famous-matrices"]], "Some simple problems": [[15, "some-simple-problems"]], "Splitting our Data in Training and Test data": [[2, "splitting-our-data-in-training-and-test-data"]], "Standard steepest descent": [[15, "standard-steepest-descent"]], "Statistical analysis and optimization of data": [[17, "statistical-analysis-and-optimization-of-data"], [23, "statistical-analysis-and-optimization-of-data"]], "Steepest descent": [[15, "steepest-descent"]], "Stochastic Gradient Descent (SGD)": [[15, "stochastic-gradient-descent-sgd"]], "Stochastic variables and the main concepts, the discrete case": [[20, "stochastic-variables-and-the-main-concepts-the-discrete-case"]], "Support Vector Machines, overarching aims": [[10, null]], "Systematic reduction": [[5, "systematic-reduction"]], "Teachers": [[23, "teachers"]], "Teachers and Grading": [[21, null]], "Teaching Assistants Fall semester 2023": [[21, "teaching-assistants-fall-semester-2023"]], "Tentative deadllines for projects": [[21, "tentative-deadllines-for-projects"]], "Testing the Means Squared Error as function of Complexity": [[2, "testing-the-means-squared-error-as-function-of-complexity"]], "Textbooks": [[22, null]], "The Algorithm before theorem": [[13, "the-algorithm-before-theorem"]], "The Boston housing data example": [[2, "the-boston-housing-data-example"]], "The Breast Cancer Data, now with Keras": [[3, "the-breast-cancer-data-now-with-keras"]], "The CART algorithm for Classification": [[11, "the-cart-algorithm-for-classification"]], "The CART algorithm for Regression": [[11, "the-cart-algorithm-for-regression"]], "The CIFAR01 data set": [[5, "the-cifar01-data-set"]], "The MNIST dataset again": [[5, "the-mnist-dataset-again"]], "The RELU function family": [[3, "the-relu-function-family"]], "The Softmax function": [[3, "the-softmax-function"]], "The \\chi^2 function": [[2, "the-chi-2-function"], [23, "the-chi-2-function"], [23, "id4"], [23, "id5"], [23, "id6"], [23, "id7"], [23, "id8"]], "The bias-variance tradeoff": [[8, "the-bias-variance-tradeoff"]], "The code for solving the ODE": [[4, "the-code-for-solving-the-ode"]], "The course has two central parts": [[17, "the-course-has-two-central-parts"]], "The logistic function": [[9, "the-logistic-function"]], "The moons example": [[10, "the-moons-example"]], "The multilayer perceptron (MLP)": [[14, "the-multilayer-perceptron-mlp"]], "The network with one input layer, specified number of hidden layers, and one output layer": [[4, "the-network-with-one-input-layer-specified-number-of-hidden-layers-and-one-output-layer"]], "The plethora of machine learning algorithms/methods": [[23, "the-plethora-of-machine-learning-algorithms-methods"]], "The singular value decomposition": [[7, "the-singular-value-decomposition"]], "The two-dimensional case": [[10, "the-two-dimensional-case"]], "To our real data: nuclear binding energies. Brief reminder on masses and binding energies": [[23, "to-our-real-data-nuclear-binding-energies-brief-reminder-on-masses-and-binding-energies"]], "Topics covered in this course: Statistical analysis and optimization of data": [[23, "topics-covered-in-this-course-statistical-analysis-and-optimization-of-data"]], "Towards the PCA theorem": [[13, "towards-the-pca-theorem"]], "Train and test datasets": [[3, "train-and-test-datasets"]], "Two-dimensional Objects": [[5, "two-dimensional-objects"]], "Type of problem": [[4, "type-of-problem"]], "Types of Machine Learning": [[23, "types-of-machine-learning"]], "Useful Python libraries": [[17, "useful-python-libraries"], [23, "useful-python-libraries"]], "Using Autograd": [[15, "using-autograd"]], "Using forward Euler to solve the ODE": [[4, "using-forward-euler-to-solve-the-ode"]], "Using gradient descent methods, limitations": [[15, "using-gradient-descent-methods-limitations"]], "Visualization": [[3, "visualization"], [3, "id1"]], "Visualizing the Tree, Classification": [[11, "visualizing-the-tree-classification"]], "Week 34: Introduction to the course, Logistics and Practicalities": [[23, null]], "What Is Generative Modeling?": [[23, "what-is-generative-modeling"]], "What is Machine Learning?": [[2, "what-is-machine-learning"]], "What is a good model?": [[2, "what-is-a-good-model"], [23, "what-is-a-good-model"]], "What is a good model? Can we define it?": [[23, "what-is-a-good-model-can-we-define-it"]], "Which activation function should I use?": [[3, "which-activation-function-should-i-use"]], "Why Linear Regression (aka Ordinary Least Squares and family)": [[23, "why-linear-regression-aka-ordinary-least-squares-and-family"]], "Wisconsin Cancer Data": [[9, "wisconsin-cancer-data"]], "Writing Our First Generative Adversarial Network": [[6, "writing-our-first-generative-adversarial-network"]], "Writing our own PCA code": [[13, "writing-our-own-pca-code"]], "XGBoost: Extreme Gradient Boosting": [[12, "xgboost-extreme-gradient-boosting"]], "scikit-learn implementation": [[3, "scikit-learn-implementation"]]}, "docnames": ["E1", "E2", "chapter1", "chapter10", "chapter11", "chapter12", "chapter13", "chapter2", "chapter3", "chapter4", "chapter5", "chapter6", "chapter7", "chapter8", "chapter9", "chapteroptimization", "clustering", "intro", "linalg", "schedule", "statistics", "teachers", "textbooks", "week34"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1}, "filenames": ["E1.ipynb", "E2.ipynb", "chapter1.ipynb", "chapter10.ipynb", "chapter11.ipynb", "chapter12.ipynb", "chapter13.ipynb", "chapter2.ipynb", "chapter3.ipynb", "chapter4.ipynb", "chapter5.ipynb", "chapter6.ipynb", "chapter7.ipynb", "chapter8.ipynb", "chapter9.ipynb", "chapteroptimization.ipynb", "clustering.ipynb", "intro.md", "linalg.ipynb", "schedule.md", "statistics.ipynb", "teachers.md", "textbooks.md", "week34.ipynb"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 17, 18, 20, 21, 23], "0": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 23], "00": [2, 3, 7, 13, 23], "000": [3, 5], "00000000e": 23, "001": [4, 10, 15], "004": 7, "00727646693": [2, 23], "0086649156": [2, 23], "01": [2, 3, 4, 7, 11, 13, 15, 22, 23], "0110": 20, "01719003e": 23, "02": [2, 6, 9, 14, 23], "02334824": 23, "02857": 6, "02f": 8, "03077640549": 6, "03097597e": 23, "031": 7, "04": 13, "0458": 11, "05": [6, 8, 23], "062292565": 6, "062435": 23, "06730814": 23, "07": 23, "0713": [2, 23], "07285": 5, "08": 20, "08078025e": 23, "08336233266": 6, "0917": 11, "0n": [2, 23], "1": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23], "10": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 23], "100": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 18, 20, 21, 23], "1000": [2, 3, 4, 6, 7, 10, 13, 15, 16, 17, 20, 23], "10000": [4, 7, 8, 12, 13, 15, 20], "100000": 10, "10001": 12, "1001": 20, "1002": 20, "1003": 20, "1005": 20, "1009": 20, "101": 1, "1011": 20, "1013": 20, "1013904243": 20, "1015": 20, "102": 1, "1023": 20, "1024": 5, "1026": 20, "1027": 20, "103": 3, "1030": 20, "1037": 20, "1038": 20, "1040": 20, "1047": 20, "107": 1, "108": 23, "10th": 11, "10x": [2, 23], "11": [1, 2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20, 22, 23], "110": 23, "1100": 20, "1101": 20, "111": [3, 9, 14], "112": 1, "11340253": 23, "11590451": 23, "116": 1, "117": 1, "118": 1, "12": [2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 18, 20, 22, 23], "120": 5, "121": [1, 10, 11, 12], "1215pm": [21, 23], "122": [10, 11, 12, 23], "124": [2, 23], "125": 1, "127": [1, 6], "128": [5, 6, 15], "129": 1, "1298": 11, "12pm": [21, 23], "13": [2, 4, 11, 14, 18, 20, 23], "131": 1, "133": 9, "135": 1, "136": 1, "14": [2, 4, 6, 8, 10, 11, 12, 14, 18, 20, 22], "141": 1, "143": 1, "1446729567": 6, "149": 1, "14g": 8, "15": [2, 4, 6, 8, 9, 10, 11, 14, 15, 20, 23], "150": [6, 10], "152": [1, 23], "153760": 23, "156": [1, 23], "157": 23, "158": 23, "159": [1, 23], "15g": 8, "15pm": 23, "16": [3, 4, 5, 6, 7, 10, 11, 12, 20, 23], "160": [1, 23], "1603": 5, "161": 1, "162": 1, "16231451": 6, "163": 1, "16384": 5, "164": 1, "167": 1, "17": [3, 4, 10, 20, 23], "172": 1, "173": 1, "176": 1, "178": 1, "179": 1, "1797": 3, "18": [4, 8, 9, 10, 11, 12, 20, 23], "1807": 6, "18392847": 23, "19": [4, 20, 23], "1940": 2, "1943": 14, "1970": [18, 23], "1973": 11, "1979": 8, "1_1": 14, "1_2": 14, "1_3": 14, "1cm": [2, 10, 12, 20, 23], "1d": [3, 4, 5], "1e": [4, 6, 15, 16], "1e10": 16, "1e4": 8, "1f": 3, "1k": 18, "1n": [2, 23], "1x": [2, 23], "2": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22], "20": [1, 2, 3, 4, 8, 9, 10, 20, 21, 23], "200": [2, 4, 5, 6, 10, 11, 12], "2000": 2, "2004": 15, "2006": 22, "20072279": 23, "2008": 23, "2010": 3, "2011": 3, "2014": 6, "2015": 3, "2016": [2, 23], "2018": [2, 8], "2021": [8, 16], "2022": 23, "2025": 23, "21": [2, 3, 7, 9, 11, 14, 18, 23], "2116753732": 6, "215pm": [21, 23], "2167072": 23, "22": [2, 3, 7, 14, 15, 18, 23], "221": 10, "225": 6, "22948497": 23, "23": [3, 14, 18, 23], "24": [2, 3, 18, 23], "25": [4, 5, 6, 7, 8, 10, 11, 13], "250": [4, 6, 9, 11], "25000": 2, "250154": 23, "253775": 23, "255": 5, "256": 6, "26": 23, "26303845": 23, "264": 23, "265": 23, "265109911": 6, "266": 23, "269": 23, "27": [2, 3], "270": 23, "27n_": 20, "28": [3, 5, 6], "2830637392": 6, "2861": 20, "2873": 11, "2882": 20, "2886": 20, "2890": [2, 23], "2892": 20, "29": 23, "2915": 20, "2931": 23, "29364655": 23, "294399745619595": 23, "296247": 23, "2968": 23, "2980": 23, "298273": 23, "298375": 23, "2990": 23, "2_": 14, "2_1": 14, "2_2": 14, "2_3": 14, "2_i": 14, "2_m": [8, 20], "2_t": 15, "2_x": 20, "2b": 20, "2cm": 10, "2d": [3, 5, 13, 14, 17, 23], "2e": 8, "2f": [2, 9, 11, 12, 13, 14, 23], "2g": 4, "2g_i": 4, "2k": 5, "2m": 8, "2n": [2, 4, 5, 23], "2nd": 11, "2p": 20, "2pt": 6, "2x": [2, 5, 10, 15, 23], "2x_ix_jy_iy_j": 10, "2x_j": 10, "2y_i": 12, "2y_j": 10, "3": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23], "30": [2, 3, 6, 8, 9, 12, 15, 21], "30000": [2, 23], "3072": 5, "31": [14, 18, 20], "315": 8, "3155": [2, 7, 8], "32": [5, 6, 8, 14, 15, 18, 20], "3200": 3, "3250": 3, "3297": 23, "33": [14, 18, 21], "3303": 23, "3310": 23, "332331": 23, "333": 9, "3331": 23, "3337": 23, "34": 18, "3436": [2, 23], "3437": [2, 23], "35": [2, 8, 23], "3581341341": 6, "359": 7, "36": [2, 7, 8, 20], "370782966": 6, "38": 20, "39": [2, 21, 23], "3d": [1, 4, 5, 6, 8, 15], "3f": [3, 5, 11], "3n": 18, "3x": [4, 10], "3x_i": 4, "3y": 10, "4": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "40": [3, 8, 21, 23], "400": 6, "4000": 23, "4050": [22, 23], "41": 18, "4155": [0, 4], "41589548": 23, "42": [3, 6, 10, 11, 12, 18, 23], "43": [2, 9, 18], "4310": 23, "436462435": 6, "44": [2, 18], "45": [21, 23], "46": [21, 23], "462": 9, "47": [21, 23], "479465113": 6, "47958494": 23, "48": 23, "48257387": [21, 23], "49": [7, 8, 13], "49152": 5, "4940954": [2, 23], "4990": 20, "4992": 20, "4997": 20, "4c4c7f": [11, 12], "4d": 5, "4f": 8, "4pm": [21, 23], "4y": 10, "4y_i": 12, "5": [0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "50": [3, 4, 5, 6, 8, 9, 10, 12, 15, 23], "500": [3, 5, 6, 8, 11, 12, 15], "5018": 20, "506": 2, "507d50": [11, 12], "50j": 15, "50x10": 3, "51": [12, 23], "510": 3, "512132": 23, "5177783846": 6, "53": 11, "54": [8, 20, 23], "5411205": 23, "54894451": 23, "55": [3, 23], "56": 3, "56536": [2, 23], "569": 3, "57": [2, 10, 21, 23], "571": 7, "58": [12, 21, 23], "591317992": 6, "5cm": 20, "5f": 10, "5x": 10, "5y": 10, "6": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 18, 20, 21, 23], "60": [3, 5], "60000": 6, "6019067271": 6, "606439": 23, "625": 9, "63": [2, 3], "64": [3, 5, 6, 15, 18, 23], "64x50": 3, "65": [3, 10, 11], "6887363571": 6, "69": [1, 20], "69069n_": 20, "691": 23, "6n_": 20, "7": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 20, 22, 23], "70": [3, 9], "70653767": 6, "71": 3, "724": 5, "73": 23, "7304881": 23, "75": [7, 8, 10, 13], "76": [21, 23], "765": 9, "77": [21, 23], "7718": 11, "7782028952": 6, "77893972": 23, "78": 23, "7d7d58": [11, 12], "8": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 18, 20, 21, 23], "80": [2, 3, 7, 10], "800": [6, 9], "81": 3, "815am": [21, 23], "85": 3, "8702784034": 6, "88": 23, "8f": 8, "8g": 8, "8n": 18, "8x8": 3, "9": [2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 20, 23], "90": 3, "9040": 11, "91": [21, 23], "92": [21, 23], "93": 1, "931": [2, 23], "933": 7, "937": 20, "938": 20, "939": [2, 20, 23], "94": 20, "95": [3, 13, 23], "954": 20, "955820c21e8b": 6, "96": 8, "960": 20, "961": 20, "962": 20, "9649652536": 6, "96611194e": 23, "9780387310732": 22, "9780387848570": 22, "9781098134174": 23, "9781492032632": 22, "9781801819312": 23, "98": [1, 2, 3], "985": 20, "986": 20, "989": 20, "9898ff": [11, 12], "99": [1, 15], "991": 20, "992": 20, "993": 20, "996": 7, "999": [11, 20], "9x": 8, "9y": 8, "A": [0, 1, 4, 5, 7, 8, 9, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22], "AND": 4, "And": [2, 5, 6, 7, 8, 11, 15, 17, 20], "As": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 18, 20, 23], "At": [2, 6, 8, 15, 23], "BE": [2, 23], "Be": [4, 17, 23], "Being": 15, "But": [1, 2, 3, 4, 5, 7, 8, 11, 12, 20], "By": [2, 5, 7, 8, 14, 15, 18, 23], "For": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23], "IF": 8, "IN": 22, "If": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 23], "In": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23], "Ising": [7, 14], "It": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "Its": [3, 4, 6, 13], "No": [8, 11, 23], "Not": [2, 3, 7, 8], "OR": 20, "Of": 20, "On": [2, 5, 20, 21, 22, 23], "One": [2, 3, 5, 6, 7, 8, 9, 10, 13, 14, 15, 20], "Or": [2, 3, 8, 23], "Such": [1, 2, 8, 14, 20], "That": [2, 7, 9, 12, 13, 14, 16, 20, 23], "The": [1, 6, 12, 15, 16, 18, 19, 20, 21, 22], "Then": [0, 1, 2, 3, 8, 10, 11, 12, 13, 14, 15, 16, 18, 23], "There": [0, 2, 5, 6, 7, 8, 10, 11, 13, 14, 16, 18, 20, 21, 23], "These": [2, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 23], "To": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20], "With": [1, 2, 7, 8, 10, 11, 12, 13, 14, 16, 18, 20, 23], "_": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 23], "_0": [7, 10, 12, 13, 15], "_1": [4, 7, 8, 10, 12, 13, 14, 15, 16, 18], "_2": [4, 7, 10, 13, 14, 15, 18], "_3": 18, "_4": 18, "_9": 15, "__class__": 12, "__doc__": 8, "__future__": [10, 11], "__init__": 3, "__main__": 4, "__name__": [4, 12], "_auto1": [4, 5, 6, 7, 8, 9, 14, 15, 18, 20], "_auto10": [8, 14], "_auto11": 8, "_auto12": 8, "_auto2": [4, 5, 6, 7, 8, 14, 15, 18, 20], "_auto3": [5, 6, 7, 8, 14, 15, 18], "_auto4": [6, 8, 14, 15, 18], "_auto5": [6, 8, 14, 15, 18], "_auto6": [6, 8, 14, 18], "_auto7": [6, 8, 14, 18], "_auto8": [8, 14], "_auto9": [8, 14], "_build": [2, 17, 22, 23], "_c": 3, "_compon": 13, "_depth": 11, "_export": [0, 1], "_fraction": 11, "_i": [2, 3, 4, 7, 8, 9, 10, 13, 14, 15, 23], "_j": [2, 3, 4, 5, 7, 8, 10, 15], "_k": 15, "_l": 14, "_lambda": 8, "_leaf": 11, "_m": 12, "_multilayer_perceptron": 23, "_n": [4, 7, 10, 13, 15], "_node": 11, "_p": [7, 10], "_ratio": 13, "_sampl": 11, "_split": [8, 11], "_t": 15, "_test": 8, "_varianc": 13, "_weight": 11, "a0": 5, "a0faa0": [11, 12], "a1": [2, 23], "a2": [2, 23], "a3": [2, 23], "a4": [2, 23], "a_": [1, 2, 3, 18, 23], "a_0": [2, 23], "a_1a": [2, 23], "a_2a": [2, 23], "a_3": [2, 23], "a_3a": [2, 23], "a_4": [2, 23], "a_4a": [2, 23], "a_h": 3, "a_i": [2, 3, 4, 14, 23], "a_j": [3, 14], "a_k": [2, 3, 14], "aaron": 22, "ab": [2, 4, 7, 15, 16, 23], "ab_channel": 17, "abandon": 3, "abid": 20, "abil": [2, 12], "abl": [1, 2, 3, 6, 7, 8, 9, 12, 14, 15], "about": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 21], "abov": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 23], "abovement": [8, 23], "abscissa": 15, "absolut": [2, 4, 7, 8, 15, 23], "abstract": 3, "acceler": 15, "accept": [2, 5, 8, 11], "access": [2, 5, 13, 20, 23], "accid": [6, 8], "accompani": [2, 23], "accomplish": [10, 11, 15], "accord": [2, 3, 4, 7, 8, 11, 14, 15, 16, 20, 23], "accordingli": 13, "account": [0, 1, 2, 5, 7, 15, 20, 23], "accumul": [14, 15, 20], "accur": [2, 5, 6, 8, 12, 15], "accuraci": [2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 23], "accuracy_scor": [2, 3, 12, 23], "accuracy_score_numpi": 3, "achiev": [2, 3, 7, 8, 10, 14, 18, 23], "aco": 20, "acquaint": 17, "acquir": [3, 17, 23], "acr": 2, "across": [3, 5, 8, 11, 17, 23], "act": [3, 5, 18], "action": 20, "activ": [0, 2, 4, 5, 6, 11, 19, 21, 23], "actual": [0, 1, 2, 3, 6, 7, 8, 10, 13, 18, 20, 23], "ad": [0, 1, 3, 5, 6, 7, 10, 15, 18], "ada_clf": 12, "adaboostclassifi": 12, "adadelta": 15, "adam": [3, 5, 6, 23], "adapt": [6, 8, 15, 22], "add": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 20, 21, 23], "add_subplot": [3, 9, 14, 16], "addendum": 7, "addit": [0, 2, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 17, 18, 20, 21, 22, 23], "addition": [14, 15], "address": [3, 11, 13, 15, 23], "adjac": [5, 14], "adjoint": 7, "adjust": [2, 7, 14, 15], "admir": [2, 23], "advanc": [6, 8, 14, 22, 23], "advantag": [3, 5, 7, 8, 12, 15, 18], "adversari": 23, "afecionado": 23, "affect": [0, 5], "affin": [2, 5, 10, 13], "afford": 5, "aficionado": 23, "aforement": 16, "african": 2, "after": [0, 1, 2, 3, 4, 6, 7, 8, 11, 13, 14, 15, 17, 18, 20, 23], "afterward": [2, 23], "ag": [2, 9, 23], "ag_0": 4, "again": [2, 3, 6, 7, 8, 9, 10, 12, 13, 14, 15, 20, 23], "against": [3, 6, 9, 12], "agegroup": 9, "agegroupmean": 9, "aggreg": [11, 12], "agorithm": 12, "agre": [7, 8, 20], "agreement": 15, "ahead": 11, "ai": [2, 22], "aid": 13, "aim": [1, 2, 3, 6, 8, 9, 13, 16, 17, 18], "ainv": 7, "airplan": 5, "aka": 7, "al": [1, 2, 4, 6, 22, 23], "alarm": [7, 9], "algebra": [2, 5, 7, 15, 17], "algorithm": [1, 2, 3, 4, 6, 7, 8, 9, 10, 15, 16, 17, 18, 20, 22], "align": [2, 4, 7, 8, 9, 10, 15, 20, 23], "all": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "allevi": [3, 15], "alloc": [5, 18], "allow": [2, 3, 4, 5, 7, 8, 10, 12, 15, 17, 18, 23], "almost": [2, 3, 8, 10, 13, 15, 20], "alon": [4, 11], "along": [0, 4, 5, 6, 7, 8, 11, 12, 13, 17, 18, 23], "alpha": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 15, 16, 20, 23], "alpha_": 12, "alpha_0": 5, "alpha_1": 5, "alpha_2": 5, "alpha_i": [5, 15], "alpha_k": 15, "alpha_m": 12, "alpha_n": 5, "alpha_opt": 15, "alreadi": [0, 4, 5, 6, 7, 8, 12, 14, 17, 18, 20, 23], "also": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "alter": 3, "altern": [2, 3, 6, 7, 8, 10, 11, 13, 15, 18, 23], "although": [1, 2, 3, 7, 8, 10, 12, 15, 23], "alwai": [1, 2, 5, 7, 8, 14, 15, 20, 23], "am": 6, "ame2016": [2, 23], "american": 2, "among": [2, 5, 7, 11, 12, 14, 18, 23], "amongst": 7, "amount": [2, 3, 5, 6, 8, 10, 12, 16, 17], "an": [1, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22], "an_": 20, "anaconda": [2, 3, 17, 23], "analogi": 15, "analys": 8, "analysi": [3, 5, 6, 9, 16, 18, 22], "analyt": [4, 5, 7, 8, 9, 14, 15, 17, 23], "analyz": [1, 2, 3, 5, 6, 7, 8, 20], "andrew": 3, "angl": [2, 5, 11], "anharmon": 5, "ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 20, 23], "anim": [6, 14], "ann": 14, "annot": [2, 3, 5, 9, 10, 23], "announc": 23, "anoth": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 18, 20, 23], "ansatz": [2, 23], "answer": [2, 3, 5, 7, 8, 18, 21, 23], "antialias": [4, 8], "anticip": 6, "anymor": [3, 10], "anyon": [0, 6, 10], "anyth": [0, 1, 3, 20], "anytim": [21, 23], "apach": 3, "apart": [13, 15], "api": [3, 17, 23], "appar": 4, "appear": [2, 3, 5, 15, 18, 20], "append": [3, 5, 6, 10, 11, 15, 23], "appli": [2, 3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 20, 22, 23], "applic": [1, 2, 3, 5, 6, 7, 8, 9, 11, 14, 15, 18, 20, 22, 23], "apply_gradi": 6, "approach": [0, 1, 3, 4, 6, 7, 8, 11, 12, 13, 14, 15, 17, 20, 22], "appropri": [4, 8, 11, 14, 15, 17, 20], "approv": 23, "approx": [2, 4, 5, 8, 12, 13, 15, 20, 23], "approxim": [2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 15, 20, 23], "apt": [2, 17, 23], "aq": 20, "ar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "aragorn": 23, "arang": [3, 5, 6, 8, 9, 11, 12, 14, 15, 23], "arbitrari": [3, 6, 8, 10, 14, 15, 20], "arbitrarili": [2, 3, 13, 23], "arc": 8, "architectur": [5, 6, 14], "area": [2, 5, 8, 22, 23], "argmax": [3, 13], "argmin": [6, 12, 16], "argsort": 13, "argu": [3, 15], "argument": [2, 4, 5, 7, 13, 14, 15, 23], "aris": [2, 8, 14, 15, 20, 23], "arithmet": [2, 15, 18, 23], "arm": 8, "armadillo": 18, "around": [2, 3, 6, 7, 8, 13, 20, 23], "arrai": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20], "arrang": [5, 23], "arraybox": 15, "arriv": [2, 8, 11, 13, 18, 20, 23], "arrow": 14, "arrowprop": 10, "art": [2, 3, 17], "articl": [2, 5, 6, 8, 12, 23], "artifici": [2, 4, 9, 14, 22, 23], "artificialneuron": 14, "arug": 15, "arxiv": [5, 6], "asarrai": [2, 8, 11], "ask": [0, 7, 8, 13, 14], "aspect": [2, 8, 17, 23], "assembl": 5, "assembli": [2, 23], "assert": 6, "assess": [2, 8, 23], "assici": 6, "assign": [0, 2, 9, 10, 11, 14, 15, 16, 19, 21, 22, 23], "associ": [2, 8, 11, 14, 16, 20, 23], "assum": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "assumpt": [2, 5, 7, 8, 11, 13, 20, 23], "ast": [2, 7, 8, 23], "astyp": [6, 11, 12], "asymmetri": [2, 23], "asymptot": [6, 8], "atom": [2, 23], "attempt": [2, 6, 8, 9, 10, 12, 23], "attend": 23, "attent": [2, 18, 23], "attract": [2, 12, 23], "attribut": [2, 11, 23], "audi": [2, 23], "audio": [5, 6], "august": 23, "aurelien": [2, 22, 23], "austfjel": 8, "auth": 0, "authent": 0, "author": [2, 3, 12, 20], "authour": 23, "auto": [11, 12, 20], "autocor": 20, "autocorrelation_tim": 20, "autocorrelform": 20, "autocovari": 20, "autoencod": [6, 17, 23], "autoencond": 17, "autograd": [17, 23], "autom": [2, 17, 22, 23], "automac": 18, "automag": 23, "automat": [1, 2, 3, 4, 5, 6, 13, 17, 18, 23], "automobil": 5, "autonom": 6, "avail": [2, 3, 6, 8, 12, 13, 17, 18, 19, 21, 22, 23], "averag": [2, 3, 5, 8, 11, 12, 15, 16, 20, 21, 23], "avoid": [2, 6, 7, 8, 11, 13, 15, 18], "awai": [4, 5, 8], "awar": [4, 12], "award": [21, 23], "ax": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 23], "axes3d": [4, 8, 15], "axes_grid1": 8, "axhlin": 10, "axi": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "axiom": 7, "axlabel": 2, "axvlin": [6, 10], "axvspan": 6, "b": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 20, 21, 23], "b1": 10, "b2": 10, "b3": 10, "b_": [2, 3, 18], "b_0": 2, "b_1": [2, 4, 14, 15], "b_2": [2, 15], "b_5": 15, "b_group": 11, "b_i": [2, 3, 4, 14, 23], "b_ia_": [2, 23], "b_ia_i": 2, "b_index": 11, "b_j": [3, 14], "b_k": [2, 3, 14, 15], "b_m": 14, "b_score": 11, "b_valu": 11, "babcock": 23, "bachelor": [19, 21], "back": [0, 1, 2, 5, 6, 7, 8, 10, 11, 12, 18, 20, 23], "backbon": 18, "backend": [3, 6], "background": [22, 23], "backpropag": 3, "backtrack": 11, "backup": 18, "backward": [3, 4, 6, 14, 18], "bad": 8, "badli": 20, "bag": [11, 17, 23], "bag_clf": 12, "baggin": 23, "baggingboot": 12, "baggingclassifi": 12, "baggingtre": 12, "balanc": 8, "band": 18, "bandwidth": 18, "bar": [2, 8, 13, 23], "barber": 22, "bare": [6, 12], "base": [1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 16, 17, 20, 21, 22, 23], "basi": [7, 9, 10, 12, 13, 14, 15, 18], "basic": [0, 8, 10, 14, 15, 16, 17, 20, 23], "batch": [5, 6, 13, 14, 15], "batch_shap": 6, "batch_siz": [3, 5, 6], "batchnorm": 6, "bay": 9, "bayesian": [7, 17, 22, 23], "becaus": [2, 3, 4, 5, 6, 7, 8, 10, 11, 14, 15, 16, 23], "becom": [2, 3, 4, 7, 8, 9, 11, 14, 15, 20, 23], "been": [2, 3, 4, 5, 6, 7, 8, 13, 14, 15, 17, 18, 23], "befor": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 18, 20, 23], "beforehand": [2, 20, 23], "begin": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 20, 21, 23], "behav": [3, 8, 15], "behavior": [2, 3, 15, 23], "behaviour": 14, "behind": [2, 3, 8, 10, 15, 23], "being": [2, 3, 4, 5, 6, 7, 9, 10, 12, 13, 14, 15, 20, 23], "believ": [11, 18], "belong": [9, 10, 11, 15, 16], "below": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20, 23], "benchmark": 12, "benefici": [3, 15], "benefit": [2, 3, 6, 13, 15, 17, 23], "bengio": [3, 22, 23], "benign": [3, 9], "besid": [6, 7], "bessel": 7, "best": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 21, 23], "beta": [1, 2, 3, 5, 7, 8, 9, 12, 13, 15, 23], "beta_": [2, 5, 8, 9, 15], "beta_0": [1, 2, 3, 5, 7, 8, 9, 15], "beta_0x_": 2, "beta_1": [2, 3, 5, 7, 8, 9, 12, 15], "beta_1x_": 2, "beta_1x_0": 2, "beta_1x_1": [2, 9], "beta_1x_2": 2, "beta_1x_i": [9, 15], "beta_2": [2, 5, 15], "beta_2x_": 2, "beta_2x_0": 2, "beta_2x_1": 2, "beta_2x_2": [2, 9], "beta_3": 5, "beta_i": [2, 5, 7], "beta_j": [2, 7, 8, 15], "beta_k": 15, "beta_linreg": 15, "beta_m": 12, "beta_mg_m": 12, "beta_n": 5, "beta_p": 9, "beta_px_p": 9, "betavalu": 7, "better": [2, 3, 4, 5, 6, 8, 11, 12, 13, 14, 15, 23], "between": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 20, 23], "beyond": [2, 3, 7, 8, 10, 15, 23], "bf": [15, 16, 18, 20], "bg": 23, "bgd": 15, "bia": [2, 3, 4, 5, 7, 10, 11, 12, 14, 15, 23], "bias": [3, 4, 5, 7, 8, 11, 14], "big": [2, 3, 4, 7, 8, 16], "bigger": [3, 8], "bigr": 14, "bike": 11, "bilbo": 23, "billion": [5, 14, 17], "bin": [2, 9, 20], "binari": [2, 5, 7, 9, 11, 12, 14, 23], "binarycrossentropi": 6, "bind": 2, "binomi": [17, 20, 23], "binsboot": 8, "bioinformat": 2, "biolog": [3, 14], "bios1100": [17, 23], "bird": [2, 5], "birth": 23, "bishop": [22, 23], "bit": [3, 6, 18, 20, 23], "bitwis": 20, "bivari": 4, "bk": [2, 15], "bla": [18, 23], "black": [10, 11, 16], "block": [8, 12, 17, 18, 20, 23], "blog": 23, "blogpost": 6, "blue": [2, 5], "bmatrix": [2, 3, 5, 7, 9, 10, 13, 15, 18, 23], "bmi": 3, "bodi": [2, 3, 6, 14], "bold": 3, "boldfac": [1, 2, 7], "boldsymbol": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 15, 16, 23], "boltzmann": [14, 17, 23], "book": [22, 23], "book1": 22, "boolean": 6, "boost": [3, 11, 17, 23], "boostrap": 12, "bootstrap": [3, 15, 17, 23], "borrow": 23, "boston_dataset": 2, "bot": 10, "both": [0, 1, 2, 3, 6, 7, 8, 10, 11, 12, 15, 16, 17, 18, 20, 21, 23], "bottl": 9, "bound": [2, 10, 14], "boundari": [4, 6, 10, 13, 14], "box": [6, 11], "boyd": [10, 15], "bracket": [6, 20], "brain": [3, 9, 14], "branch": [11, 23], "break": [2, 6, 8, 13, 16, 23], "breast": [7, 9, 13], "breviti": 15, "brew": [2, 17, 23], "brg": 10, "briefli": [1, 2, 23], "bring": [2, 7, 8, 12], "britt": [21, 23], "broad": 2, "broadli": 23, "brought": [15, 17, 23], "brownle": 6, "browser": [0, 23], "brute": [5, 7, 13], "buffer_s": 6, "bui": 6, "build": [1, 2, 6, 7, 8, 12, 18, 20, 23], "built": [2, 3, 5, 6, 8], "bunch": 13, "busi": 2, "byte": [18, 23], "c": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "c1": [10, 13], "c2": [10, 13], "c_": [2, 10, 11, 12, 15, 20], "c_0": 20, "c_1": 14, "c_2": 14, "c_3": 14, "c_4": 14, "c_i": [14, 15], "c_k": 20, "ca": [3, 23], "cach": 12, "cal": [2, 10, 12, 14, 15], "calcul": [1, 2, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "call": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23], "calor": 2, "cambridg": [15, 22], "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22], "cancel": [2, 15, 23], "cancer": [7, 12], "cancerpd": 9, "candid": [10, 11, 12], "cannot": [2, 3, 6, 7, 8, 9, 10, 11, 20], "canopi": [2, 17, 23], "canva": [0, 1, 23], "cap": 7, "capabl": [2, 3, 10, 15, 17, 23], "capac": [4, 21], "capita": 2, "captur": [6, 13, 14, 23], "car": [5, 6], "card": [2, 9, 23], "cardin": 3, "care": [0, 13], "carefulli": 15, "carlo": [2, 8, 17, 20, 22, 23], "carri": [4, 8, 9], "cart": 12, "case": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 13, 14, 15, 16, 17, 18, 23], "casella": 22, "cast": 3, "cat": [5, 6], "catch": 2, "categor": [2, 3, 5, 11, 13, 23], "categori": [2, 3, 5, 9, 12, 14, 16, 23], "categorical_crossentropi": [3, 5], "caus": [2, 7, 8, 20, 23], "causal": 2, "causat": [2, 23], "cax": 3, "cb": [8, 23], "cbar": 3, "cc": [2, 3, 7, 15, 23], "ccc": [7, 14], "cdf": 20, "cdot": [2, 4, 8, 14, 15, 16, 18, 20, 23], "celebr": 15, "cell": 6, "center": [2, 3, 8, 9, 10, 11, 13, 16, 20, 23], "central": [1, 2, 5, 7, 8, 10, 18, 23], "centroid": [16, 20], "centroid_differ": 16, "centuri": 5, "certain": [2, 5, 8, 9, 11, 20, 23], "cg": 15, "cha": 2, "chain": [2, 3, 15, 17, 20, 23], "challeng": 0, "chanc": [3, 7, 15, 20], "chang": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 18, 20, 23], "channel": 5, "chapter": [1, 2, 8, 12, 13, 18, 22, 23], "chapter3": 2, "charact": [2, 5, 7, 23], "character": [10, 11, 12, 14, 20], "characterist": [2, 3, 5, 12, 15, 23], "charg": [2, 23], "charl": 2, "chase": 6, "chatgpt": 0, "chd": 9, "chddata": 9, "cheap": 7, "cheaper": [3, 15], "check": [0, 1, 2, 3, 5, 6, 7, 13, 15, 18, 23], "checkmark": 5, "checkpoint": 6, "checkpoint_dir": 6, "checkpoint_prefix": 6, "chen": 12, "chiaramont": 4, "childcar": 1, "children": 1, "choic": [2, 3, 4, 5, 6, 8, 11, 14, 15, 16, 18, 23], "choleski": [7, 18], "choos": [0, 4, 5, 8, 11, 12, 13, 15, 16], "chosen": [1, 2, 3, 4, 8, 10, 11, 12, 15, 20, 23], "chosen_datapoint": 3, "christian": 22, "christoph": [22, 23], "cifar": 5, "cifar10": 5, "circ": [3, 14], "circl": [2, 10, 14], "circuit": 5, "circumfer": 11, "circumv": [3, 7, 15], "ckpt": 6, "clariti": 20, "class": [2, 3, 5, 6, 8, 9, 10, 11, 13, 14, 15, 20, 23], "class_nam": [5, 11], "class_val": 11, "class_valu": 11, "classic": [9, 11, 15], "classif": [2, 5, 7, 8, 9, 10, 13, 14, 17, 22, 23], "classifi": [2, 3, 6, 9, 11, 12, 13, 23], "classificaton": 3, "classifii": 12, "clean": 3, "clear": [3, 7, 12, 14, 15], "clearli": [2, 5, 7, 8, 9, 10, 20], "clever": [3, 12], "clf": [2, 8, 10, 11, 12, 23], "clf3": 2, "clf_lasso": 8, "clf_ridg": 8, "cli": 0, "clip": [5, 20], "clone": [0, 21], "close": [2, 3, 4, 6, 8, 10, 11, 13, 14, 15, 16, 20, 22, 23], "closer": [5, 7, 15], "closest": [10, 13, 15, 16], "closur": [17, 23], "cloud": [17, 23], "cluster": [2, 3, 6, 8, 13, 17, 23], "cluster_label": 16, "cm": [3, 4, 5, 8, 10, 15], "cmap": [2, 3, 4, 5, 6, 8, 10, 11, 12, 23], "cmap_arg": 8, "cmd": [0, 11], "cn_": 20, "cnn": 14, "cnn_kera": 5, "cntk": [17, 23], "co": [2, 4, 5, 8, 11, 15, 23], "code": [5, 6, 8, 9, 10, 17, 18, 20, 22], "coef": [2, 23], "coef0": 10, "coef_": [1, 2, 7, 8, 10, 11, 15, 23], "coeff": 7, "coeffici": [2, 5, 7, 8, 9, 10, 11, 15, 18, 23], "coerc": [2, 8, 23], "coin": [12, 20], "coin_toss": 12, "col": [2, 13, 23], "colab": [17, 23], "cold": 11, "colinear": 2, "collaps": 10, "collect": [2, 4, 8, 12, 13, 17, 20, 22, 23], "collinear": 7, "color": [2, 5, 6, 8, 10, 11, 12, 20], "color_channel": 5, "color_cod": 8, "colorbar": [3, 8], "colsample_bytre": 12, "colsaobject": 12, "column": [1, 2, 3, 4, 7, 8, 9, 10, 11, 13, 14, 18, 23], "columntransform": 11, "com": [0, 1, 6, 8, 17, 22, 23], "combin": [3, 4, 7, 8, 9, 12, 20], "come": [0, 2, 3, 5, 6, 7, 14, 15, 16, 23], "command": [0, 2, 3], "comment": [2, 6, 7, 8], "commerci": [2, 17, 23], "commit": 0, "commod": [2, 23], "common": [1, 2, 3, 5, 7, 8, 9, 11, 13, 15, 16, 20, 23], "commonli": [2, 3, 6, 8, 9, 11, 15, 16], "commun": [2, 14], "commut": 5, "commutatitav": 5, "compact": [2, 3, 5, 7, 8, 9, 11, 13, 14, 15, 16, 23], "compair": 2, "compar": [2, 5, 6, 7, 8, 13, 15, 18, 23], "comparison": [4, 6, 15], "compat": 9, "compet": 2, "competit": 12, "compil": [2, 3, 5, 6, 15, 17, 18, 23], "complet": [0, 1, 2, 4, 5, 6, 11, 14, 23], "completenn": 14, "complex": [1, 3, 7, 10, 11, 13, 14, 15, 23], "complic": [2, 3, 11, 15, 23], "compon": [1, 2, 3, 5, 6, 7, 8, 9, 11, 16, 17, 23], "components_": 13, "compos": [11, 14, 15, 16, 17, 23], "compphys": [1, 2, 8, 17, 19, 21, 22, 23], "compress": [2, 23], "compris": 8, "compromis": 7, "compulsori": [17, 23], "comput": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23], "computation": [2, 5, 8, 11, 15, 20, 23], "computationalscienceuio": 23, "concaten": [4, 6, 8, 16], "concav": [3, 15], "concentr": [2, 12], "concept": [2, 4, 17, 23], "conceptu": [14, 15], "concern": [2, 3, 6, 9, 23], "concic": 23, "conclud": [2, 7, 15], "conclus": 3, "cond": 4, "conda": [2, 3, 17, 23], "condit": [2, 4, 6, 7, 8, 10, 11, 13, 15, 20, 23], "conduct": 17, "condwav": 4, "confid": [2, 7, 8, 9, 10, 23], "configur": 5, "confirm": [7, 14], "confus": [7, 8, 9, 12, 18], "confusion_matrix": 11, "congruenti": 20, "conjug": [6, 10], "conjugaci": 15, "conjunct": 5, "connect": [2, 3, 5, 6, 11, 13, 14, 15, 18, 23], "consequ": [7, 8, 10, 12, 14, 15], "conserv": [7, 16], "consid": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 18, 20, 23], "consider": [2, 3, 7, 15, 23], "consist": [2, 3, 4, 5, 6, 8, 14, 15, 20], "constant": [1, 2, 4, 6, 7, 8, 10, 14, 15, 20, 23], "constitu": [2, 23], "constitut": [4, 8], "constrain": [3, 5, 7, 9, 13], "constraint": [7, 8, 10, 15], "construct": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 18, 20, 23], "contact": [2, 23], "contain": [0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 20, 22, 23], "contemporari": 23, "content": [0, 3, 17, 18, 23], "context": [8, 12, 15], "contigu": 18, "continu": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 18, 20, 23], "contour": [11, 12, 15], "contourf": [10, 11, 12], "contrast": [3, 6, 11, 12, 14, 23], "contribut": [2, 5, 7, 15, 20, 23], "contributor": 2, "control": [0, 2, 3, 5, 11, 15, 17, 23], "conv": [5, 6], "conv2d": [5, 6], "conv2dtranspos": 6, "convei": 23, "conveni": [2, 7, 8, 14, 15, 18, 23], "convent": 14, "converg": [3, 4, 6, 7, 10, 15, 16, 23], "convergencewarn": 23, "convert": [2, 3, 6, 7, 11, 13, 15, 18, 23], "converttomatrix": 6, "convex": [6, 7, 9], "convinc": 15, "convolut": [3, 6, 17, 23], "cool": [6, 11], "coolwarm": 8, "coordin": [7, 14, 16], "coorel": 2, "copi": [0, 2, 3, 16], "core": 12, "corel": 23, "coronari": 9, "corr": [2, 7, 9, 13], "correalt": [13, 17], "correct": [0, 2, 3, 4, 5, 6, 7, 9, 15, 18, 20, 23], "correctli": [3, 4, 8, 9, 12], "correl": [2, 3, 5, 7, 8, 9, 12, 14, 15, 17, 20, 23], "correlation_matrix": [2, 7, 9, 13], "correspond": [2, 5, 7, 8, 10, 11, 13, 14, 17, 18, 20, 23], "cortex": 14, "cosin": [5, 8], "cost": [1, 2, 4, 5, 7, 8, 9, 10, 11, 14, 15, 23], "cost_deep_grad": 4, "cost_funct": 4, "cost_function_deep": 4, "cost_function_deep_grad": 4, "cost_function_grad": 4, "cost_grad": 4, "cost_sum": 4, "costol": 15, "could": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20, 23], "coulomb": [2, 23], "count": [0, 2, 11, 19, 20, 21, 23], "counterpart": 23, "countor": 15, "coupl": [6, 7, 8], "cours": [0, 1, 2, 3, 5, 7, 13, 21], "coursework": 0, "courvil": [22, 23], "cov": [7, 8, 13, 18, 20, 23], "cov_xi": [7, 13], "cov_xx": [7, 13], "cov_yi": [7, 13], "covari": [2, 9, 17, 18, 23], "covariance_matrix": [7, 13, 16], "cover": [2, 7, 17, 21, 22], "covert": [2, 23], "covxi": 20, "covxx": 20, "covxz": 20, "covyi": 20, "covyz": 20, "covzz": 20, "cpu": 3, "craft": 5, "creat": [0, 3, 5, 6, 7, 11, 12, 13, 14, 17, 23], "create_biases_and_weight": 3, "create_convolutional_neural_network_kera": 5, "create_neural_network_kera": 3, "create_x": [7, 13], "credit": [2, 9, 21, 23], "crim": 2, "crime": 2, "criteria": [2, 6, 11, 12, 16, 20, 23], "criterion": [11, 12, 15], "critic": 8, "cross": [0, 2, 3, 5, 9, 11, 12, 15, 17, 20, 23], "cross_entropi": 6, "cross_val_scor": 8, "cross_valid": [9, 12], "crossvalid": 8, "crucial": [3, 20], "cs231": 5, "csr_matrix": [18, 23], "csv": [2, 6, 8, 9, 11], "ctnk": 3, "cubic": 2, "cumbersom": 7, "cumsum": [12, 13, 23], "cumul": [9, 12, 20], "cumulative_heads_ratio": 12, "cup": 7, "current": [0, 1, 3, 4, 5, 6, 15, 16, 22], "curs": 2, "curv": [8, 9, 12, 14], "curvatur": 15, "custom": [8, 16], "custom_cmap": [11, 12], "custom_cmap2": [11, 12], "cutpoint": 11, "cv": [8, 9, 12], "cvxbook": 15, "cvxopt": [7, 10], "cycl": [3, 14], "d": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 21, 23], "d2_g_t": 4, "d_f": 15, "d_g_t": 4, "d_net_out": 4, "da": 5, "dagger": [7, 18], "dai": [3, 11, 17], "damp": 5, "darget": 11, "darkr": 20, "dat": [2, 23], "dat_id": [2, 8, 9, 11, 23], "data": [1, 4, 6, 7, 10, 12, 14, 15, 16, 18, 22], "data1": 16, "data2": 16, "data3": 16, "data4": 16, "data_id": [2, 8, 9, 11, 23], "data_indic": 3, "data_panda": 23, "data_path": [2, 8, 9, 11, 23], "databas": 3, "datafil": [2, 8, 9, 11, 23], "datafram": [2, 6, 7, 9, 11, 13, 23], "datapoint": [1, 3, 7, 8, 9, 13, 15], "datasci": [0, 1], "dataset": [1, 2, 6, 8, 9, 10, 11, 12, 13, 15, 16, 23], "datatyp": 6, "date": [0, 23], "daughter": 12, "david": 22, "dbh": 3, "dbo": 3, "dcomposit": 18, "ddot": 4, "dead": 3, "deadlin": 0, "deal": [2, 3, 5, 7, 8, 10, 13, 15, 16, 18, 20, 23], "dealt": 2, "debt": 9, "debug": [2, 7, 8], "decad": [2, 5], "decai": [2, 15, 20, 23], "decemb": [21, 23], "decent": 12, "decid": [2, 4, 5, 7, 8, 11], "decim": [2, 23], "decis": [2, 3, 10, 13, 17, 22, 23], "decision_funct": 10, "decision_tre": 11, "decisiontreeclassifi": [11, 12], "decisiontreeregressor": [2, 11, 12], "declar": [2, 6, 18, 23], "decompos": [7, 8, 18], "decomposit": [2, 8, 14, 23], "decompost": 7, "deconvolut": 5, "decorrel": [12, 15], "decreas": [3, 4, 6, 7, 8, 12, 13, 15], "deduc": [2, 23], "deep": [5, 9, 14, 15, 17, 22], "deep_neural_network": 4, "deep_param": 4, "deep_tree_clf": [11, 12], "deep_tree_clf1": 11, "deep_tree_clf2": 11, "deepen": [7, 17, 23], "deeper": [2, 5, 6, 23], "deeplearningbook": [22, 23], "deer": 5, "def": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 20, 23], "def_covari": 20, "default": [2, 3, 4, 6, 8, 9, 18, 23], "default_tim": 6, "defect": 7, "defici": 7, "defin": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20], "definit": [3, 4, 7, 8, 9, 10, 12, 13, 14, 15, 18, 20], "defint": 20, "degre": [0, 1, 5, 7, 8, 10, 11, 12, 13, 20, 23], "del": 3, "delet": [0, 8], "delimit": 6, "deliv": [0, 19, 23], "delta": [2, 4, 5, 8, 10, 14, 15, 16, 23], "delta_": [3, 18], "delta_0": 5, "delta_1": 5, "delta_2": 5, "delta_3": 5, "delta_4": 5, "delta_5": 5, "delta_h": [2, 3, 23], "delta_j": [5, 14], "delta_k": 14, "delta_l": [3, 5], "delta_momentum": 15, "delta_n": [2, 5, 23], "delug": 17, "delv": 2, "demand": 15, "demonstr": [2, 5, 7, 8, 9, 13, 14, 17, 23], "den": 6, "denomin": [3, 7], "denot": [3, 4, 8, 9, 15, 20], "dens": [3, 5, 6], "densiti": [2, 4, 8, 20], "depart": [21, 23], "depend": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 20, 23], "depict": 20, "deploy": [2, 17, 23], "depth": [2, 5, 11, 12, 18], "deriv": [2, 3, 4, 8, 9, 10, 12, 13, 15, 17, 23], "derivati": 15, "derivative_fn": 15, "descend": [7, 11, 13], "descent": [2, 3, 5, 9, 10, 14, 23], "describ": [2, 4, 6, 7, 8, 10, 12, 13, 14, 15, 18, 23], "descript": [2, 10, 11, 23], "design": [2, 3, 5, 6, 7, 8, 9, 12, 13, 14, 15, 23], "designmatrix": [2, 23], "desir": [2, 4, 6, 7, 15, 16, 23], "desktop": 0, "despit": [3, 14], "destroi": 18, "det": [7, 18], "detail": [2, 8, 13, 15, 16, 18], "detect": [5, 10, 14], "determin": [2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 18, 20, 23], "determinist": [9, 15, 20], "dev": 3, "develop": [2, 5, 7, 10, 12, 13, 14, 17, 18, 23], "deviat": [2, 3, 4, 6, 7, 8, 20, 23], "devis": 14, "df": [6, 10, 13, 15, 23], "df1": 23, "di": 2, "diag": [7, 10], "diagnost": [3, 12], "diagon": [2, 7, 9, 15, 18, 20, 23], "diagonaliz": 7, "diagram": 12, "diagsvd": 8, "dice": [8, 20], "dict": [8, 10], "dictionari": 2, "did": [1, 2, 3, 7, 8, 9, 12, 13, 16, 23], "die": 3, "diff": 4, "diff1": 4, "diff2": 4, "diff_ag": 4, "diffeent": 10, "differ": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23], "differenti": [1, 2, 5, 17, 18, 23], "difficult": [2, 3, 8, 12, 15, 20, 23], "difficulti": [2, 3, 15, 23], "diffonedim": 4, "digit": [2, 3, 5, 6, 8, 21, 23], "dilemma": 15, "dilut": 3, "dim": [6, 13, 16, 18], "dimens": [1, 2, 3, 4, 5, 6, 7, 10, 13, 16, 18, 23], "dimension": [2, 6, 7, 8, 11, 13, 15, 16, 17, 18, 23], "dimensionless": [2, 5, 23], "diment": 18, "dimnsion": 6, "diod": 5, "direct": [2, 3, 4, 6, 13, 14, 15, 16, 23], "directli": [3, 6, 7, 8, 20], "disadvantag": [2, 23], "disappear": [5, 8], "disc_loss": 6, "disc_tap": 6, "discard": [8, 13], "disciplin": [2, 5, 14], "disclaim": 20, "discord": 23, "discourag": [0, 15], "discov": [2, 23], "discover": 7, "discret": [3, 5, 7, 9, 15], "discrimin": [6, 9, 12, 13], "discriminator_loss": 6, "discriminator_loss_list": 6, "discriminator_model": 6, "discriminator_optim": 6, "discuss": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23], "diseas": 9, "disguis": 8, "disord": [3, 9], "displai": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 20, 23], "displaystyl": [2, 7, 23], "disregard": [2, 23], "dissimilar": [13, 16], "dist": 16, "distanc": [2, 10, 11, 13, 16, 20], "distance_list": 11, "distinct": [5, 9, 10, 11, 12, 16], "distinctli": 10, "distinguish": [2, 6, 9, 10, 20, 23], "distplot": 2, "distribut": [2, 3, 6, 8, 9, 12, 13, 15, 16, 17, 18, 23], "distrubut": [2, 17, 23], "dive": [2, 10, 18, 23], "diverg": [3, 15], "divid": [2, 3, 5, 7, 8, 9, 10, 11, 13, 14, 20, 23], "divis": [8, 10, 11, 15, 18, 20], "dna": 9, "dnn": [2, 3, 4, 6, 14, 23], "dnn1": 6, "dnn2_gru2": 6, "dnn_kera": 3, "dnn_model": 3, "dnn_numpi": 3, "dnn_scikit": [2, 3, 23], "do": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 23], "doc": [0, 1, 2, 17, 19, 21, 22, 23], "document": [0, 6, 15], "doe": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 18, 20, 23], "doesn": [5, 11, 14, 23], "dog": [3, 5, 6], "domain": [7, 10, 15], "domin": [2, 23], "don": [0, 1, 2, 3, 5, 7, 8, 10, 13, 15, 17, 23], "done": [1, 2, 4, 5, 6, 7, 8, 11, 12, 13, 15, 18, 23], "dot": [2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20, 23], "doubl": [1, 5, 6, 18, 23], "doubli": 3, "down": [2, 5, 8, 11, 13, 14, 15], "download": [0, 2, 3, 5, 7, 8, 18, 22, 23], "downsampl": 5, "dozen": 3, "dq": 8, "drag": 15, "dramat": 13, "drastic": 6, "draw": [6, 8, 12, 15], "drawback": [2, 3, 5, 15], "drawn": [3, 6, 8, 9, 13, 20, 23], "drive": [5, 6], "driven": 5, "drop": [2, 3, 7, 8, 13, 15, 20, 23], "dropna": [2, 8, 23], "dropout": 6, "dt": [4, 5, 15, 20], "dtype": [2, 3, 5, 6, 16, 18, 23], "dub": [2, 23], "due": [3, 4, 7, 8, 10, 12, 14, 15, 21, 23], "dummi": 2, "dure": [2, 3, 5, 6, 10, 11, 13, 17, 23], "dwell": 2, "dwh": 3, "dwo": 3, "dx": [4, 5, 10, 20], "dx_1": 20, "dx_1p": 8, "dx_2p": 8, "dx_mp": 8, "dx_n": 20, "dxp": 8, "dy": [3, 10, 20], "dynam": 6, "dz": 10, "e": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 21, 23], "e_": [2, 4, 23], "each": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23], "eapprox": [2, 23], "earli": [3, 15], "earlier": [2, 7, 9, 10, 11, 13, 14, 15, 23], "earthexplor": 8, "eas": [8, 11, 16], "easi": [0, 2, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 23], "easier": [0, 7, 8, 10, 11, 15, 20, 23], "easiest": 15, "easili": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 23], "eastern": [21, 23], "ebind": [2, 23], "eblock": 11, "econometr": 23, "economi": 7, "ecosystem": [17, 23], "ect": 19, "edg": 5, "edgecolor": 8, "edu": 15, "educ": [2, 23], "eff": 20, "effect": [1, 3, 6, 12, 15, 20], "effic": 3, "effici": [2, 5, 12, 15, 17, 18, 20, 23], "efron": 8, "egrad": 15, "eig": [7, 13, 15, 18, 20, 23], "eigen": 20, "eigenpair": [7, 13], "eigenvalu": [2, 7, 10, 13, 15, 18, 23], "eigenvector": [7, 13, 15], "eight": [18, 23], "eigval": [18, 20, 23], "eigvalu": [13, 15], "eigvec": [18, 20, 23], "eigvector": [13, 15], "eir": [21, 23], "eispack": [18, 23], "either": [3, 7, 8, 9, 10, 11, 12, 13, 15, 20, 23], "eivind": 21, "eivinsto": 21, "ekstr\u00f8m": 6, "elabor": 20, "elarn": 5, "electr": [2, 5, 14, 23], "electron": 23, "eleg": 13, "element": [3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 22], "elementari": [12, 15, 18], "elementwis": [5, 15], "elementwise_grad": [4, 15], "elessar": 23, "elif": 16, "elim": 18, "elimin": [5, 10], "elin": [21, 23], "els": [1, 3, 5, 6, 9, 11, 14, 15, 18], "elu": 3, "elus": [2, 23], "email": [19, 21, 23], "embed": [2, 13], "embodi": 8, "emit": 20, "emner": 22, "emphas": [2, 12, 17, 23], "emphasi": [2, 17, 22, 23], "empir": [3, 13, 20], "emploi": [2, 3, 7, 8, 13, 15, 20, 23], "employ": 2, "empti": [0, 8, 12], "emul": 14, "en": [17, 22], "enabl": 13, "enbodi": 8, "encod": [2, 5, 7, 11, 13, 16, 23], "encompass": [2, 20], "encount": [0, 2, 3, 7, 9, 15, 20, 23], "encourag": 0, "end": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 23], "endpoint": [5, 8], "energi": [2, 6, 8], "enforc": 14, "eng": 22, "engin": [2, 3, 5, 6, 17, 23], "enorm": 5, "enough": [2, 8, 15, 23], "ensembl": [3, 11, 23], "ensur": [2, 3, 4, 5, 7, 8, 13, 15, 20], "entail": 23, "enter": [7, 8], "enthought": [2, 17, 23], "entir": [3, 5, 9, 11, 17, 20, 23], "entiti": [11, 14, 18, 23], "entri": [2, 7, 10, 13, 14, 18, 23], "entropi": [3, 5, 9, 12, 15, 23], "enumer": [2, 3, 4, 5, 6, 8, 10, 23], "env": [20, 23], "environ": [4, 17, 23], "environemnt": 0, "eo": [2, 8], "eol": 2, "eosfit": 2, "epoch": [2, 3, 5, 6, 14, 15, 23], "epsilon": [2, 7, 8, 9, 15, 23], "epsilon_": [2, 23], "epsilon_0": [2, 23], "epsilon_1": [2, 23], "epsilon_2": [2, 23], "epsilon_i": [2, 23], "eq": [5, 15, 16, 18, 20], "eqnarrai": [5, 7, 8], "equal": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 18, 20, 23], "equat": [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 23], "equilibrium": [4, 14], "equiv": [5, 15, 18, 20], "equival": [2, 3, 7, 9, 10, 13, 15, 17, 18, 23], "erf": 20, "eriador": 23, "err": [2, 12], "err_": 8, "err_sqr": 4, "errat": 15, "erron": 4, "error": [0, 1, 3, 4, 6, 7, 8, 9, 11, 13, 14, 15, 17, 18, 20], "error_estimate_corr_tim": 20, "error_hidden": 3, "error_output": 3, "escap": 15, "especi": [0, 3, 5, 11, 14, 15], "essenti": [0, 2, 7, 8, 11, 12, 14, 16, 20], "establish": [1, 2, 8, 12, 13], "estim": [2, 3, 7, 8, 9, 12, 13, 15, 17, 20, 23], "estimated_mse_fold": 8, "estimated_mse_kfold": 8, "estimated_mse_sklearn": 8, "et": [1, 2, 4, 6, 22, 23], "eta": [2, 3, 5, 10, 14, 15, 23], "eta0": [10, 15], "eta_": 15, "eta_t": 15, "eta_v": [2, 3, 5, 23], "etc": [2, 3, 5, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20], "ethic": 17, "euclidean": [2, 16], "evalu": [0, 1, 2, 4, 5, 6, 7, 8, 11, 15, 20, 23], "evalut": 15, "even": [2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "evenli": 6, "event": [7, 9, 12, 20], "eventu": [2, 7, 8, 13, 14, 15, 21], "everi": [0, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17, 20, 21, 23], "everyth": [1, 6, 14], "everywher": [6, 15], "evolv": 2, "exact": [2, 7, 13, 14, 15, 18, 20, 23], "exactli": [2, 5, 6, 8, 14, 17], "exam": 23, "examin": 8, "exampl": [0, 1, 7, 13, 14, 15, 17, 18, 20, 22], "exce": [3, 14, 15], "excel": [2, 3, 6, 7, 12, 23], "except": [5, 6, 8, 10, 11, 18], "excess": [2, 23], "excit": 2, "exclud": [3, 8, 14], "exclus": [2, 3, 5, 8, 20, 23], "execut": [0, 4, 7, 15], "exemplifi": 15, "exercic": [21, 23], "exercis": [7, 17, 19, 21, 23], "exhaust": 8, "exhibit": [2, 7, 8, 10, 23], "exist": [2, 3, 4, 5, 7, 8, 9, 10, 11, 15, 18, 23], "exit": [7, 18], "exp": [1, 2, 3, 4, 7, 8, 9, 10, 12, 13, 14, 15, 20], "exp_term": 3, "expand": [7, 9, 13, 15], "expans": [2, 5, 7, 10, 12, 14, 15, 23], "expect": [0, 2, 3, 7, 8, 9, 13, 14, 15, 17, 23], "expectation_value_of_h_wrt_p": 20, "expens": [1, 8, 12, 15], "experi": [0, 2, 3, 8, 10, 15, 17, 23], "experiment": [2, 6, 8, 11, 20, 23], "expert": [3, 11], "explain": [1, 2, 8, 11, 12, 13, 15, 23], "explained_variance_ratio_": 13, "explanatori": [2, 23], "explicit": [2, 5, 8, 15, 18, 23], "explicitli": [2, 6], "explod": 3, "exploit": [2, 5, 14, 15, 23], "explor": [3, 6, 8, 10, 15, 17, 23], "expon": 3, "exponenti": [2, 3, 7, 8, 12, 15, 20, 23], "export": [0, 1, 11], "export_graphviz": 11, "export_text": 11, "exporttext": 11, "expos": 17, "express": [2, 4, 5, 7, 8, 9, 12, 14, 15, 18, 20, 23], "exptmean": 20, "exptvari": 20, "extend": [2, 4, 9, 13, 15, 17, 23], "extens": [0, 2, 14, 17, 23], "extent": [2, 3, 8, 22], "extern": [5, 8, 11], "extra": [0, 3, 5, 7, 21, 23], "extract": [1, 2, 5, 7, 8, 9, 10, 13, 15, 18, 23], "extrapol": [2, 23], "extrem": [0, 1, 2, 3, 6, 7, 8, 9, 10, 11, 15, 18], "extremum": 15, "extrins": 13, "ey": [2, 7, 8, 15, 16, 18, 23], "f": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 23], "f1": 15, "f11": [2, 23], "f12": [2, 23], "f13": [2, 23], "f1_grad": 15, "f1d": 15, "f2": 15, "f2_grad_x1": 15, "f2_grad_x1_analyt": 15, "f2_grad_x2": 15, "f2_grad_x2_analyt": 15, "f3": 15, "f3_grad": 15, "f3_grad_analyt": 15, "f4": 15, "f4_grad": 15, "f4_grad_analyt": 15, "f5": 15, "f5_grad": 15, "f6": 15, "f6_for": 15, "f6_for_grad": 15, "f6_grad_analyt": 15, "f6_while": 15, "f6_while_grad": 15, "f7": 15, "f7_grad": 15, "f7_grad_analyt": 15, "f8": 15, "f8_grad": 15, "f9": [2, 15, 23], "f9_altern": 15, "f9_alternative_grad": 15, "f9_grad": 15, "f_": 12, "f_0": [5, 12], "f_1": [12, 15], "f_2": [14, 15], "f_3": 14, "f_d": 20, "f_grad": 15, "f_grad_analyt": 15, "f_i": [1, 2, 8, 14], "f_m": [5, 12], "f_n": 5, "f_vec": 4, "face": [15, 23], "facecolor": [8, 10, 20], "facil": [2, 17], "facilit": 14, "fact": [2, 3, 5, 7, 11, 13, 14, 15, 23], "factor": [2, 3, 5, 7, 8, 11, 12, 13, 15, 18, 20, 23], "factori": 15, "fade": 8, "fafab0": [11, 12], "fail": [2, 8, 15, 21, 23], "failur": 9, "fairli": [3, 4, 20], "faisal": 1, "fake": 6, "fake_loss": 6, "fake_output": 6, "fall": [10, 11, 19], "fals": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 16, 18, 23], "famili": [2, 9, 10, 20], "familiar": [0, 2, 5, 7, 8, 10, 17, 18, 20, 23], "famou": [8, 14], "far": [1, 2, 5, 6, 7, 8, 10, 13, 14, 15, 16, 23], "fashion": [2, 11, 12, 23], "fast": [3, 5, 8, 12, 14, 15, 17, 20, 23], "faster": [3, 13, 15], "fastest": [15, 18], "favor": 9, "favorit": 20, "fc": 5, "featur": [0, 2, 3, 5, 7, 8, 9, 10, 12, 13, 14, 15, 17, 20, 23], "feature_nam": [2, 3, 9, 11], "feautur": 11, "fed": 3, "feed": [2, 4, 5, 13, 17, 23], "feed_forward": 3, "feed_forward_out": 3, "feed_forward_train": 3, "feedback": [6, 23], "feeddorward": 6, "feedforward": [3, 6, 14], "feel": [0, 1, 2, 7, 8, 13, 15, 17, 21, 23], "feet": 2, "fetch": [0, 8], "few": [3, 5, 6, 7, 11, 20, 23], "fewer": [2, 11, 13, 23], "ffnn": [3, 14], "field": [2, 5, 8, 14, 17], "fifth": [2, 8, 23], "fig": [2, 3, 4, 5, 6, 8, 9, 14, 15, 16, 23], "fig_id": [2, 8, 9, 11, 23], "figaxi": 20, "figsiz": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 23], "figur": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 23], "figure_id": [2, 8, 9, 11, 23], "figurefil": [2, 8, 9, 11, 23], "file": [0, 2, 6, 7, 8, 9, 11, 23], "file_prefix": 6, "filenam": 23, "fill": [7, 11], "filter": [5, 6], "final": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 19, 20, 21, 23], "financ": 2, "find": [0, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 23], "fine": [2, 16], "finish": 4, "finit": [5, 7, 8, 14, 15, 20], "finnicki": 0, "first": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 21, 22], "firsteigvector": 13, "fit": [3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 20], "fit_beta": 8, "fit_intercept": [1, 2, 7, 8], "fit_mod": 11, "fit_transform": [0, 2, 8, 10, 11, 13], "fiti": [2, 23], "five": [2, 11, 23], "fix": [2, 5, 6, 8, 12, 13, 14, 15, 23], "flag": 6, "flat": [14, 15], "flatten": [3, 5, 6, 7, 18], "flexibl": [3, 8, 10, 12, 14, 23], "flip": [21, 23], "float": [2, 5, 6, 7, 11, 13, 15, 16, 18, 23], "float32": [6, 11], "float64": [6, 18, 23], "flop": [7, 18], "flow": [3, 6, 14], "fluctuat": 7, "fly": 13, "fm": 2, "fmax": 5, "fmesh": 15, "fn": 9, "focu": [0, 2, 5, 6, 7, 8, 17, 22, 23], "focus": [3, 8, 9, 18], "fold": [8, 11], "folder": [0, 2, 6, 8, 23], "follow": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23], "font": [2, 9, 20, 23], "fontdict": 20, "fontsiz": [3, 8, 10, 11, 12, 20], "fontweight": 3, "footprint": 5, "foral": 10, "forc": [2, 7, 8, 12, 13], "forcast": 6, "forecast": [6, 14], "forest": [2, 3, 11, 17, 23], "forget": 13, "form": [0, 1, 2, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 20, 23], "formal": [5, 6, 16, 20], "format": [2, 3, 5, 6, 8, 9, 10, 11, 12, 13, 17, 20, 22], "format_data": 6, "formatstrformatt": [8, 15], "formul": [6, 8, 13, 16], "formula": [5, 15, 20], "forth": [6, 14], "fortran": [2, 17, 18, 23], "fortran2003": [17, 23], "fortran90": 20, "fortun": [2, 13], "forward": [2, 5, 8, 17, 18, 23], "found": [3, 4, 6, 7, 8, 14, 15, 23], "foundat": [17, 23], "four": [6, 7, 8, 10, 14, 18, 19, 21, 23], "fourier": [2, 23], "fourierdef1": 5, "fourierdef2": 5, "fourierseriessign": 5, "fourth": [14, 23], "fp": 9, "frac": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "fraction": 11, "frame": 9, "framework": [3, 10, 12, 20], "frank": [7, 13], "frankefunct": [7, 8, 13], "fredli": [21, 23], "free": [0, 1, 2, 8, 13, 15, 17, 18, 20, 21, 22, 23], "freecodecamp": 17, "freedom": 7, "freeli": 2, "freez": 0, "frequenc": [5, 8, 9, 20], "frequent": [2, 10, 11, 15], "frequentist": 17, "fresh": 12, "fridai": [0, 21, 23], "friedman": [8, 22, 23], "friendli": 6, "frodo": 23, "frog": 5, "from": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 15, 16, 17, 18, 20, 21, 22], "from_cod": 11, "from_logit": [5, 6], "from_tensor_slic": 6, "front": [2, 6, 7, 23], "frustrat": 0, "fulfil": [4, 7, 14], "full": [2, 3, 5, 7, 9, 11, 12, 15, 20, 23], "full_matric": 7, "fulli": [5, 8, 14, 20], "fun": [17, 23], "func": 4, "function": [0, 1, 4, 5, 6, 7, 11, 16, 17, 18], "functionali": 13, "fundament": [2, 8, 17, 23], "funtion": 4, "further": [4, 9, 11, 23], "furthermor": [2, 5, 7, 8, 9, 13, 14, 15, 17, 23], "futur": [2, 6, 10, 11, 23], "fy": [0, 19, 21, 22, 23], "fys5419": [22, 23], "fys5429": [22, 23], "f\u00f8470": [21, 23], "g": [0, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 15, 20, 23], "g0": 4, "g_": [4, 11, 12], "g_0": 4, "g_1": [4, 12], "g_2": [4, 12], "g_analyt": 4, "g_dnn_ag": 4, "g_euler": 4, "g_i": 4, "g_m": [5, 12], "g_n": 5, "g_re": 4, "g_t": 4, "g_t_d2t": 4, "g_t_d2x": 4, "g_t_dt": 4, "g_t_hessian": 4, "g_t_hessian_func": 4, "g_t_jacobian": 4, "g_t_jacobian_func": 4, "g_trial": 4, "g_trial_deep": 4, "g_vec": 4, "gain": [3, 7, 9, 11, 12, 15], "galleri": [2, 23], "game": 6, "gamge": 23, "gamma": [2, 4, 10, 11, 12, 13, 15, 23], "gamma1": 10, "gamma2": 10, "gamma_": [2, 23], "gamma_0": 12, "gamma_1": 12, "gamma_1x": 12, "gamma_i": [2, 10, 20, 23], "gamma_j": 15, "gamma_k": 15, "gamma_m": 12, "gamma_x": [2, 23], "gap": 10, "gate": [6, 14], "gather": [2, 3, 14], "gaug": 14, "gaussbacksub": 18, "gaussian": [6, 7, 8, 10, 16, 20, 23], "gaussian_point": 16, "gaussian_rbf": 10, "gave": 15, "gavra": 23, "gbc": 23, "gca": [4, 8, 10, 15], "gd": 3, "gd_clf": 12, "gdclassiffiercgain": 12, "gdclassiffierconfus": 12, "gdclassiffierroc": 12, "gdm": 15, "gdregress": 12, "ge": [3, 7, 9, 20], "gen_loss": 6, "gen_tap": 6, "gender": [2, 23], "genener": 6, "gener": [0, 1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 14, 15, 16, 18, 20, 22], "generaliz": 1, "generallay": 14, "generate_and_save_imag": 6, "generate_imag": 6, "generate_latent_point": 6, "generate_simple_clustering_dataset": 16, "generated_imag": 6, "generator_loss": 6, "generator_loss_list": 6, "generator_model": 6, "generator_optim": 6, "genom": 17, "geodes": 13, "geometr": [2, 15, 23], "geometri": 7, "georg": 22, "geotif": 8, "geq": [4, 7, 10, 11, 15], "geron": [2, 22, 23], "get": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 17, 18, 20, 21, 23], "get_dummi": 11, "get_paramet": 4, "get_split": 11, "get_yaxi": 10, "get_yticklabel": 8, "gh": 0, "gibb": [17, 23], "gif": 6, "gini": 12, "gini_index": 11, "ginvers": 15, "git": [0, 2, 17, 23], "giter": 15, "github": [2, 17, 19, 21, 22, 23], "gitignor": 0, "gitlab": [2, 17, 23], "give": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 20, 23], "given": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "global": [8, 9, 15], "glorot": 3, "gnew": 15, "go": [0, 1, 2, 3, 5, 7, 8, 10, 11, 13, 14, 15, 23], "goal": [2, 9, 11, 23], "goe": [0, 2, 3, 4, 7, 8, 15, 16, 18, 23], "golden": 15, "gone": 7, "gong": 3, "good": [0, 3, 5, 6, 7, 8, 11, 12, 13, 15, 17, 20, 22], "goodfellow": [6, 22, 23], "googl": [3, 6, 17, 23], "got": [3, 8], "gotten": 23, "gov": 8, "govern": 23, "gp": 22, "gpu": [3, 15, 17, 23], "grad": [4, 15], "grad_analyt": 15, "grade": 19, "gradient": [2, 5, 6, 9, 10, 11, 14, 17, 23], "gradientboostingclassifi": 12, "gradientboostingregressor": 12, "gradients_of_discrimin": 6, "gradients_of_gener": 6, "gradienttap": 6, "gradual": [3, 16], "grai": [6, 8], "graph": [1, 3, 11, 13, 14, 15], "graph_from_dot_data": 11, "graphic": [2, 3, 11, 23], "grasp": 2, "gray_r": [3, 5], "grayscal": 5, "great": [0, 7, 15], "greater": [3, 9, 20], "greatli": 15, "greedi": 11, "green": [2, 5, 11, 20], "grei": 6, "grid": [3, 5, 8, 9, 10, 14, 20], "grossli": 15, "ground": [2, 23], "group": [0, 2, 8, 9, 11, 16, 17, 19, 21, 23], "groupbi": [2, 23], "grow": [3, 5, 11, 12], "growth": [2, 23], "gru": 6, "guarante": [2, 6, 15, 20, 23], "guess": [3, 6, 12, 15, 16], "guestrin": 12, "guid": 3, "h": [0, 2, 3, 7, 8, 10, 15, 20, 21, 22, 23], "h1": 4, "h_": [2, 15, 23], "h_1": [4, 15], "h_2": [4, 15], "h_m": 12, "ha": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "haanen": [21, 23], "habit": 2, "had": [2, 3, 8, 9, 15, 23], "hadamard": [3, 14, 15], "half": [3, 10, 11], "halv": 12, "hand": [2, 3, 4, 5, 7, 13, 14, 15, 17, 18, 20, 21, 22, 23], "handi": 5, "handl": [0, 2, 3, 4, 7, 11, 13, 17], "handle_unknown": 11, "handsid": 14, "handwrit": 14, "handwritten": [3, 7], "happen": [3, 4, 5, 6, 7, 8, 12, 15, 20], "hard": [3, 9, 10, 12, 15], "hardcopi": [17, 23], "harder": [2, 3], "harmon": 5, "hasn": 23, "hassl": [2, 17, 23], "hast": [17, 23], "hasti": [1, 2, 8, 22, 23], "hat": [1, 2, 3, 7, 8, 9, 11, 12, 13, 14, 15, 18], "have": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23], "haven": 3, "he": [9, 23], "head": [2, 6, 12, 20], "header": [2, 23], "heads_proba": 12, "health": 2, "hear": [2, 15, 23], "heart": [2, 9, 23], "heatmap": [2, 3, 5, 9, 23], "heavili": 2, "heavisid": 3, "height": [3, 5, 8], "held": 15, "help": [0, 1, 2, 3, 6, 14, 15, 23], "helper": [6, 16], "henc": [2, 7, 8, 10, 11, 12, 14, 15, 23], "henrik": [21, 23], "her": 9, "here": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "hereaft": [2, 10, 14, 23], "hermitian": 18, "hessenberg": 18, "hessian": [2, 4, 7, 15], "heterogen": [11, 12], "hi": 9, "hidden": [3, 5, 6, 14], "hidden_bia": 3, "hidden_bias_gradi": 3, "hidden_layer_s": [2, 3, 23], "hidden_neuron": 6, "hidden_weight": 3, "hidden_weights_gradi": 3, "hierarch": 7, "high": [2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 15, 16, 17, 18, 23], "higher": [2, 3, 5, 7, 8, 10, 15, 23], "highest": [3, 4], "highli": [2, 5, 6, 12, 17, 18, 22, 23], "highwai": 2, "hing": 10, "hint": [0, 1, 15], "hip": 17, "hire": 2, "hist": [6, 8, 9, 20], "histogram": [2, 8, 9, 20], "histor": [9, 13], "histori": [0, 5, 6, 14], "hitherto": 7, "hjorth": [21, 23], "hobbi": 20, "hoc": 7, "hoff": 22, "hold": [3, 5, 8, 15, 16], "holder": [2, 23], "home": 2, "homepag": 23, "homework": [8, 15], "homogen": [3, 5, 11, 12, 15], "honchar": 4, "hopefulli": [0, 2, 13, 20, 23], "horizont": 13, "horlyk": [21, 23], "hors": [5, 9, 23], "hot": [3, 11], "hour": [3, 17, 19, 20, 21, 23], "how": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "howev": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "hspace": [2, 6, 10, 12, 20, 23], "hstack": 3, "htf": 23, "html": [1, 2, 17, 19, 21, 22, 23], "http": [0, 1, 2, 5, 6, 8, 15, 17, 18, 19, 21, 22, 23], "huang": [2, 23], "huber": [2, 23], "huge": [3, 5, 6, 17], "human": [2, 3, 5, 8, 11, 14], "humid": 11, "hundr": 3, "hungri": 3, "hybrid": 19, "hydrogen": [2, 23], "hyperbol": [3, 6, 14], "hyperparam": 10, "hyperparamet": [5, 6, 7, 8, 11, 15], "hyperplan": 13, "h\u00f8rlyk": [21, 23], "i": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "i0": [2, 23], "i1": [2, 8, 10, 14, 23], "i2": [2, 10, 14, 23], "i3": [2, 14, 23], "i5": [2, 23], "i_": 15, "i_1": [7, 8], "i_2": [7, 8], "ian": 22, "ic": 3, "id": [9, 15], "ida": [21, 23], "idea": [2, 3, 4, 5, 6, 8, 11, 12, 14, 15, 18], "ideal": [2, 4, 8, 10, 15, 20, 23], "idem": 8, "ident": [7, 8, 14, 15, 18], "identifi": [2, 3, 9, 11, 13, 14, 15, 16, 23], "ieor": 20, "ifi": 22, "ifs": [17, 23], "ignor": [0, 2, 3, 5, 11], "ii": [18, 20], "iii": [18, 23], "ij": [1, 2, 3, 5, 8, 10, 14, 16, 18, 20, 23], "ik": [2, 18, 23], "illustr": [7, 9, 12, 14, 15, 16, 17, 23], "im": 8, "imag": [3, 5, 6, 8, 11, 13, 14, 16, 22, 23], "image_at_epoch_": 6, "image_batch": 6, "image_height": 5, "image_path": [2, 8, 9, 11, 23], "image_width": 5, "imageio": 8, "images_from_seed_imag": 6, "imagin": 3, "immedi": [2, 5, 6, 8, 17, 23], "implement": [2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 20, 23], "impli": [5, 7, 8, 9, 15, 18], "implicit": 5, "implicitli": [13, 20], "import": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20], "importantli": 5, "impos": [2, 8, 13, 14, 23], "imposs": [2, 7, 23], "impress": [2, 14, 23], "improv": [0, 2, 6, 7, 11, 12, 13, 15], "impur": 11, "imread": 8, "imshow": [3, 5, 6, 8], "in3050": [22, 23], "in3310": 23, "in4080": [22, 23], "in4300": [22, 23], "in4310": 22, "in5400": 5, "in5550": 22, "in_out_neuron": 6, "inaccur": 15, "inact": 14, "inadequ": [2, 23], "inch": 8, "includ": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 13, 14, 17, 20, 21, 22, 23], "include_bia": [8, 11], "incom": [1, 14], "incorrect": 3, "incoveni": 10, "increas": [2, 3, 5, 6, 7, 8, 11, 14, 15, 20, 23], "increasingli": 20, "ind": 8, "inde": [2, 4, 6, 7, 8, 15, 23], "indefinit": 6, "independ": [2, 7, 8, 9, 10, 14, 15, 20, 23], "index": [2, 3, 5, 6, 12, 16, 17, 18, 20, 22, 23], "index_col": [2, 23], "indic": [1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 15, 23], "indispens": 8, "individu": [3, 8, 9, 12, 14, 20, 23], "indu": 2, "indx": 18, "indx1": 4, "indx2": 4, "indx3": 4, "ineffici": [5, 15], "inequ": [10, 15], "inertia": 15, "inf1000": [17, 23], "inf1100": [17, 23], "inf1100l": [17, 23], "inf1110": [17, 23], "inf3000": 23, "infeas": 11, "infer": [2, 3, 6, 8, 22, 23], "inferenc": 3, "infil": [2, 8, 9, 11, 23], "infin": [7, 8, 9, 13], "infinit": 5, "infinitesim": 20, "influenc": [8, 12], "influenti": 3, "info": 23, "inform": [2, 3, 5, 6, 8, 11, 13, 14, 15, 16, 18, 22, 23], "inforom": 0, "infti": [5, 8, 15, 20], "ingeni": 15, "ingredi": [2, 11, 23], "inher": 8, "inherit": [18, 23], "initi": [2, 3, 4, 8, 12, 15, 16, 18, 20, 23], "inject": 16, "inlin": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "inner": [2, 15], "inp": 6, "inplac": 15, "input": [1, 2, 3, 5, 6, 7, 8, 9, 10, 14, 15, 16, 20, 23], "input_dim": 3, "input_shap": [5, 6], "inputs": 3, "inputs_shuffl": [2, 3], "insert": [5, 7, 8, 10, 12, 20], "insid": [2, 6, 9], "insight": [2, 3, 7, 17, 23], "insist": [8, 15], "inspir": [2, 3, 14, 23], "instabl": 4, "instal": [0, 2, 3, 7, 8, 11], "instanc": [1, 2, 3, 4, 6, 8, 11, 13, 15, 23], "instanti": 12, "instead": [2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 15, 16, 18, 20, 23], "institut": 3, "instruct": [2, 3], "int": [2, 3, 4, 5, 6, 7, 8, 13, 15, 16, 18, 20], "int32": 12, "int_": [5, 8, 20], "int_0": 20, "int_a": 20, "intak": 2, "integ": [3, 4, 15, 16, 18, 20, 23], "integer_vector": 3, "integr": [5, 8, 20, 23], "intellig": [2, 16, 22, 23], "intend": 12, "intens": 3, "intention": 16, "interact": [2, 8, 11, 14, 17, 23], "intercept": [1, 2, 8, 10, 13, 15, 23], "intercept_": [2, 8, 10, 11, 15, 23], "interchang": [7, 14, 18], "interconnect": 3, "interest": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 17, 20, 23], "interfac": [2, 3, 18], "interior": [2, 11, 23], "intermedi": 18, "intern": [3, 12, 14], "interpol": [3, 5, 6, 8, 14], "interpr": 7, "interpret": [0, 1, 2, 3, 8, 11, 12, 14, 15, 18, 20], "interv": [2, 5, 7, 8, 9, 15, 20, 23], "intial": 15, "intract": [2, 6], "intrins": [5, 13, 18, 20, 23], "intro": [17, 22, 23], "introduc": [2, 3, 7, 8, 10, 12, 14, 18, 20, 23], "introduct": [3, 4, 6, 15, 22], "introductori": [2, 6, 18, 22, 23], "intuit": [2, 7, 8, 10, 14, 15, 23], "inv": [2, 7, 15, 23], "invalu": [2, 15, 17, 23], "invari": 3, "invd": 7, "inver": 10, "invers": [2, 5, 8, 15, 23], "inverse_transform": 10, "invert": [1, 2, 7, 9, 12, 15, 23], "invh": 15, "invok": [2, 10], "involv": [2, 4, 8, 9, 13, 14, 23], "io": [2, 17, 19, 21, 22, 23], "ip": [2, 10, 20, 23], "ipca": 13, "ipynb": [17, 23], "ipython": [2, 7, 9, 11, 13, 16, 17, 23], "iq": 8, "iri": [10, 11], "irreduc": 8, "irrelev": 7, "irrespect": [2, 23], "isn": 7, "isnul": 2, "isomap": 13, "issu": [0, 3, 11, 18], "it_arrai": 15, "item": [2, 15, 23], "items": [18, 23], "iter": [3, 4, 6, 8, 10, 15, 16, 20, 23], "its": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "itself": [7, 8, 14, 20, 23], "j": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 18, 20, 22, 23], "j1": 18, "j_": 8, "j_lasso_sk": 8, "j_ridge_sk": 8, "j_sk": 8, "jackknif": [8, 17, 23], "jacobian": [4, 15], "jason": 6, "jax": [17, 23], "jensen": [21, 23], "jerom": 22, "ji": [14, 18], "jit": 15, "jj": [2, 7, 8, 23], "jk": [2, 3, 8, 14, 18, 23], "jl": [2, 23], "jm": 18, "jnp": 15, "job": [0, 4, 10, 12], "join": [2, 6, 8, 9, 11, 23], "joint": [6, 7], "judg": 15, "judgement": 8, "julia": [17, 18], "jump": 20, "junk": 6, "jupit": 23, "jupyt": [0, 1, 2, 17, 22, 23], "just": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 23], "justif": 2, "justifi": [5, 12], "k": [2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23], "k0": 9, "k1": 9, "kaggl": 8, "kappa_d": 20, "karl": [21, 23], "karush": 10, "katrin": [21, 23], "keep": [0, 2, 3, 6, 7, 8, 13, 15, 16, 18, 23], "keepdim": [3, 8, 12, 18], "kei": [2, 3, 5, 8, 14], "kept": [6, 8, 16], "kera": [2, 6, 17, 23], "kernel": [2, 3, 5, 17, 23], "kernel_regular": [3, 5], "kernel_s": 6, "kernelpca": 13, "kev": [2, 23], "kevin": [22, 23], "keyword": [18, 23], "kfold": 8, "kg": 3, "ki": 18, "kick": [3, 15], "kiener": 4, "kilomet": 8, "kind": [2, 4, 5, 6, 10, 14, 15, 16, 23], "kj": [8, 14, 18], "kjm": [17, 23], "kkt": 10, "kl": 20, "km": [14, 23], "kmean": 16, "kmeanspoint": 16, "kn_k": 16, "know": [0, 1, 2, 3, 4, 7, 8, 10, 15, 17, 23], "knowledg": [2, 17, 23], "known": [3, 5, 6, 7, 8, 9, 10, 11, 14, 18, 20, 22], "kondev": [2, 23], "kp": 20, "kpca": 13, "kroneck": 16, "kuhn": 10, "kvalsund": [21, 23], "kwown": [2, 23], "l": [2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 18, 20, 23], "l0": 9, "l1": [2, 3, 5, 9, 23], "l1_l2": [3, 5], "l1regl": 7, "l2": [3, 5], "l_": 18, "l_1": 9, "l_2": [9, 15], "l_j": 14, "la": 15, "la_i": 14, "la_k": 14, "lab": [17, 23], "label": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 23], "labelencod": [9, 12], "labels": [8, 10, 11], "labels_shuffl": [2, 3], "laboratori": 19, "lack": [2, 23], "lagari": 4, "lagrang": [10, 13], "lambda": [2, 3, 4, 5, 7, 8, 9, 10, 12, 14, 15, 20, 23], "lambda_": 13, "lambda_0": 13, "lambda_1": [7, 10, 13], "lambda_2": [10, 13], "lambda_i": [10, 13], "lambda_iy_i": 10, "lambda_jy_iy_j": 10, "lambda_k": 10, "lambda_n": [7, 10], "lamda": 3, "land": [2, 10], "landmark": 10, "landscap": 15, "langl": [2, 8, 13, 20, 23], "languag": [2, 3, 6, 10, 17, 18, 22, 23], "lapack": [18, 23], "laplac": 7, "laptop": [0, 17], "larg": [2, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15, 17, 18, 20, 22, 23], "larger": [2, 5, 7, 8, 10, 12, 13, 15, 20, 23], "largest": [6, 10, 13], "lasso": [2, 9, 17, 23], "lasso_sk": 8, "last": [1, 2, 3, 5, 6, 7, 8, 9, 10, 14, 18, 20, 21, 23], "latent": 6, "latent_dim": 6, "latent_point": 6, "latent_space_value_rang": 6, "later": [0, 2, 3, 6, 9, 10, 14, 15, 16, 17, 23], "latest": [0, 6, 17], "latest_checkpoint": 6, "latex": 23, "latter": [2, 5, 8, 9, 10, 13, 15, 18, 20, 23], "lattic": 14, "law": 2, "layer": [2, 6, 15, 23], "lbfg": [9, 11, 12], "lcc": [7, 8], "lda": 13, "ldot": [2, 8, 13, 23], "le": [7, 9, 12, 15, 20], "lead": [1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20, 23], "leaf": 11, "leaki": 3, "leakyrelu": 6, "lear": 15, "learn": [5, 6, 7, 8, 9, 10, 11, 12, 14, 18, 21, 22], "learnabl": 5, "learner": 12, "learnig": 23, "learning_r": [10, 12], "learning_rate_init": [2, 3, 23], "learning_schedul": 15, "least": [2, 9, 10, 12, 13, 17, 18, 20], "leat": 15, "leav": [2, 3, 5, 7, 8, 11, 13, 23], "lectur": [2, 3, 7, 12, 13, 14, 15, 17, 18, 19, 21, 22], "lecturenot": [2, 17, 22, 23], "left": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "leftarrow": [10, 14], "legend": [0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 23], "leinonen": 23, "len": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 18, 23], "length": [1, 2, 3, 5, 6, 10, 11, 15, 17, 23], "length_of_sequ": 6, "leq": [2, 7, 9, 10, 15, 16, 20, 23], "less": [2, 3, 5, 6, 7, 8, 10, 11, 15, 17, 20, 23], "lessen": 3, "let": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "letter": [1, 2, 18, 20, 23], "level": [2, 3, 7, 8, 11, 17, 18, 19, 21, 23], "li": [10, 13, 23], "lib": 23, "liblinear": 12, "librari": [2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 18, 20, 22], "licens": [2, 3, 17, 23], "lie": [2, 8, 13, 20, 23], "life": [2, 3, 10, 14, 23], "lifetim": 15, "like": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 20, 23], "likelihood": [2, 3, 7, 11, 23], "lim_": 20, "limit": [2, 7, 8, 10, 14, 18, 23], "lin_clf": 10, "lin_model": 2, "lin_reg": 11, "linalg": [2, 4, 7, 8, 10, 13, 15, 18, 20, 23], "line": [0, 1, 2, 5, 8, 10, 13, 15, 23], "line1": 10, "line2": 10, "line3": 10, "line_model": 0, "line_ms": 0, "line_predict": 0, "linear": [1, 3, 5, 7, 8, 9, 11, 12, 13, 14, 17, 20], "linear_model": [0, 1, 2, 7, 8, 9, 10, 11, 12, 13, 15, 23], "linear_regress": 8, "linearli": 7, "linearloc": [8, 15], "linearregress": [0, 1, 2, 8, 9, 11, 23], "linearsvc": 10, "liner": [3, 5], "linerar": 12, "linewidth": [2, 4, 6, 8, 10, 11, 12], "link": [0, 2, 6, 11, 14, 17, 19, 21, 23], "linlag": 7, "linpack": [18, 23], "linreg": [2, 23], "linspac": [1, 2, 4, 5, 6, 8, 10, 11, 12, 15, 18, 20, 23], "linu": 6, "linux": [2, 3, 17, 23], "liquid": [2, 23], "list": [0, 2, 3, 4, 5, 6, 11, 17, 23], "listedcolormap": [11, 12], "literatur": [3, 9, 16, 22], "littl": [3, 5, 11, 14], "live": [1, 10], "ll": [2, 20, 23], "lle": 2, "lloyd": [6, 16], "lmb": [2, 4, 7, 8], "lmbd": [2, 3, 5, 23], "lmbd_val": [2, 3, 5, 23], "lmbda": 15, "ln": [3, 15], "load": [2, 3, 6, 8, 9, 11, 12], "load_boston": 2, "load_breast_canc": [3, 9, 11, 12, 13], "load_data": [5, 6], "load_digit": [3, 5], "load_iri": [10, 11], "loc": [2, 5, 8, 9, 10, 11, 12, 23], "local": [0, 2, 3, 5, 9, 14, 15], "locat": [0, 4, 5, 10], "log": [0, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 18, 23], "log10": [2, 7, 8], "log_": [2, 23], "log_clf": 12, "logarithm": [2, 7, 9, 18, 23], "logic": [2, 3, 11, 23], "login": 0, "logist": [2, 3, 4, 10, 11, 12, 13, 14, 15, 17], "logisticregress": [9, 11, 12, 13], "logit": 9, "logreg": [9, 11, 12, 13], "logspac": [2, 3, 5, 7, 8, 23], "long": [2, 3, 5, 6, 14, 15, 23], "longer": [4, 5, 10, 12, 16, 18, 20, 23], "loocv": 8, "look": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 18, 20, 23], "loop": [1, 3, 6, 8, 12, 14, 16, 17, 18, 23], "lose": 3, "loss": [2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 15, 18, 23], "loss_fil": 6, "lossfil": 6, "lost": 6, "lot": [1, 2, 3, 6, 8], "low": [2, 8, 11, 12, 13, 23], "lower": [1, 2, 3, 5, 8, 11, 12, 18], "lowercas": [18, 23], "lowest": [11, 15, 20], "lr": [3, 5, 6, 12], "lstat": 2, "lstm": 6, "lstm_2layer": 6, "lstsq": [2, 23], "lt": 8, "lu": [2, 7, 23], "lubksb": 18, "luckili": 4, "ludcmp": 18, "lux": 18, "lvert": 3, "lw": [2, 23], "m": [0, 2, 3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 18, 20, 21, 22, 23], "m_": [11, 14], "m_1": 16, "m_h": [2, 23], "m_k": 16, "m_l": 14, "m_n": [2, 23], "m_p": [2, 23], "m_t": 15, "ma": 13, "machin": [0, 1, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 18, 22], "machinelearn": [1, 2, 8, 17, 19, 21, 22, 23], "mackai": 22, "made": [2, 3, 5, 6, 7, 8, 9, 11, 13, 14, 23], "mae": [2, 23], "magic": 6, "magnitud": [3, 8, 9, 15], "mai": [2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 20, 23], "mail": [19, 21], "main": [2, 3, 5, 6, 7, 8, 9, 11, 18, 22], "mainli": [2, 7, 8, 9, 11, 23], "maintain": 8, "major": [3, 8, 11, 12, 15, 18, 23], "make": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 20, 22, 23], "make_axes_locat": 8, "make_moon": [10, 11, 12], "make_pipelin": [2, 8, 12], "makedir": [2, 8, 9, 11, 23], "makeplot": 2, "malcondit": 18, "malign": [3, 9, 11], "mammographi": 7, "manag": [0, 2, 4, 5, 17, 23], "mandatori": [21, 23], "mani": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 17, 18, 20, 22, 23], "manifold": 13, "manner": 5, "manual": 8, "map": [2, 3, 4, 8, 9, 10, 13, 14, 16, 20, 23], "margin": [2, 7, 10], "marit": [2, 23], "mark": 23, "marker": [2, 9, 18, 23], "markov": [17, 23], "marsaglia": 20, "mass": [2, 3, 7, 15], "massag": [2, 23], "masses2016": [2, 23], "masses2016ol": [2, 23], "masses2016tre": 2, "masseval2016": [2, 23], "master": [19, 21], "mat": [17, 23], "mat1100": [17, 23], "mat1110": [17, 23], "mat1120": [17, 23], "match": [0, 3, 6, 7, 15, 16], "materi": [0, 6, 7, 9, 15, 18, 19, 21], "math": [5, 9, 14, 15, 18, 20, 22, 23], "mathbb": [2, 6, 7, 8, 9, 10, 13, 14, 15, 16, 18, 20, 23], "mathbf": [2, 7, 8, 9, 10, 15, 18, 23], "mathcal": [3, 7, 8, 9, 15], "matheemat": 5, "mathemat": [2, 8, 13, 14, 15, 17, 18, 20, 22, 23], "mathemati": 23, "mathrm": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 23], "matmul": [3, 4, 7], "matnat": 22, "matplotlib": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "matric": [1, 2, 3, 5, 6, 8, 9, 10, 13, 15, 17], "matrix": [2, 4, 5, 6, 8, 9, 10, 12, 15, 20], "matshow": 3, "matter": [4, 5, 15], "max": [2, 3, 4, 5, 6, 11, 12, 14, 15, 21, 23], "max_depth": [2, 11, 12], "max_diff": 4, "max_diff1": 4, "max_diff2": 4, "max_it": [2, 3, 10, 15, 23], "max_iter": 16, "max_leaf_nod": 12, "max_sampl": 12, "maxdegre": [2, 8, 12], "maxdepth": 12, "maxim": [3, 6, 7, 9, 10, 13], "maximum": [2, 4, 5, 7, 9, 10, 11, 12, 15, 16, 23], "maxpolydegre": [7, 8], "maxpooling2d": 5, "mbox": [7, 8], "mcculloch": 14, "md": 13, "mdoel": 6, "mean": [0, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "mean_absolute_error": [2, 23], "mean_divisor": 16, "mean_i": 20, "mean_matrix": 16, "mean_squared_error": [0, 2, 6, 8, 9, 12, 23], "mean_squared_log_error": [2, 23], "mean_vector": 16, "mean_x": 20, "meaning": [2, 6, 9, 23], "meansquarederror": [2, 23], "meant": [5, 9, 12, 15], "measur": [1, 2, 3, 4, 7, 8, 11, 13, 14, 16, 20, 23], "mechan": [2, 6, 20, 23], "median": [2, 23], "medicin": 14, "medium": [6, 10, 15], "medv": 2, "meet": [2, 21], "mehta": [2, 23], "memori": [5, 6, 13, 14, 15, 18], "mention": [2, 14, 15, 20, 23], "mere": 2, "meshgrid": [4, 7, 8, 10, 11, 12, 13], "mess": 0, "messag": [7, 15], "messi": 4, "met": [2, 5, 10], "meteorolog": 11, "meter": 8, "method": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 13, 14, 16, 17, 18, 20, 22], "metion": 8, "metric": [0, 2, 3, 5, 8, 9, 11, 12, 16, 23], "metropoli": [17, 23], "mev": [2, 20, 23], "mgd": 15, "mglearn": [17, 23], "mgrid": 15, "mhjensen": 23, "mi": 12, "mia": [21, 23], "microsoft": 22, "mid": 3, "midel": 6, "midnight": 0, "midpoint": 11, "might": [0, 2, 3, 4, 6, 8, 11, 15], "mild": 11, "millimet": 8, "million": [2, 23], "mimic": 14, "min": [2, 4, 7, 10, 11], "min_": [2, 4, 7, 16, 23], "min_samples_leaf": 11, "mind": [0, 2, 8, 15, 23], "mindboard": 6, "mine": [17, 23], "mini": [3, 13, 14, 15], "minibatch": [3, 13, 15], "minibathc": 15, "miniforge3": 23, "minim": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "minima": [2, 3, 9, 15, 23], "minimum": [2, 3, 4, 8, 10, 11, 13, 15], "minmaxscal": 2, "minor": 20, "minst": 3, "minu": 9, "mirjalili": 23, "mirror": 11, "misc": 8, "misclassif": [10, 11, 12], "misclassifi": [10, 12], "miser": 2, "mismatch": 3, "miss": [2, 9, 12], "mistak": 6, "mit": 22, "mix": [3, 4, 23], "mixtur": 15, "mk": [11, 18], "mkdir": [2, 8, 9, 11, 23], "ml": [2, 3, 12, 15, 18], "mlab": 20, "mle": [7, 9], "mlp": 3, "mlpclassifi": 3, "mlpregressor": [2, 23], "mm": 18, "mn": [14, 20], "mnist": [3, 13], "mod": 20, "mode": [19, 21, 23], "model": [1, 4, 5, 7, 9, 10, 11, 12, 13, 15, 16, 17, 20, 22], "model_select": [0, 1, 2, 3, 5, 7, 8, 9, 11, 12, 13, 23], "moder": 12, "modern": [2, 8, 9, 17, 23], "modif": [4, 14, 15], "modifi": [2, 3, 5, 7, 9, 10, 12, 14, 15, 23], "modul": [1, 2, 18, 23], "modular": 20, "modulo": 20, "moe": 13, "moment": [7, 8, 15, 20], "mondai": [21, 23], "monitor": 15, "monoton": [7, 14, 20], "mont": [2, 8, 17, 20, 22, 23], "montli": 1, "moor": [7, 8], "more": [1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20], "moreov": [2, 5], "morten": [21, 23], "mortenhj": 23, "most": [0, 1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 23], "mostli": [3, 13], "motion": [2, 15], "motiv": [3, 6], "move": [0, 1, 2, 6, 7, 8, 9, 11, 14, 15, 16, 20], "mpl": [2, 9, 23], "mpl_toolkit": [4, 8, 15], "mplot3d": [4, 8, 15], "mplregressor": 3, "mse": [0, 1, 2, 6, 7, 8, 11, 12, 23], "mse_simpletre": 12, "mselassopredict": 7, "mselassotrain": 7, "mseownridgepredict": 8, "msepredict": 7, "mseridgepredict": [2, 7, 8], "msetrain": 7, "msle": [2, 23], "mt": [9, 14], "mu": [2, 8, 13, 15, 20, 23], "mu0": 20, "mu1": 20, "mu2": 20, "mu_": [8, 20], "mu_i": 8, "mu_n": 13, "mu_x": 20, "much": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 18, 20, 23], "multi": [2, 3, 5, 9, 17, 23], "multiclass": [3, 9], "multidimension": [13, 14, 23], "multilay": 3, "multinomi": 9, "multipl": [0, 4, 6, 7, 8, 9, 14, 15, 20], "multipli": [5, 7, 8, 13, 15, 18, 20], "multiplum": 10, "multivari": [2, 4, 12, 13, 17, 20, 23], "multivariate_norm": [13, 16], "multpli": 1, "murphi": [13, 22, 23], "must": [0, 3, 4, 7, 8, 10, 12, 14, 15, 16, 20], "mutat": 9, "mutual": [3, 5, 8, 15], "mx_": 20, "my": 23, "myenv": 23, "myriad": [2, 17, 23], "mz1": 20, "mz2": 20, "m\u00f8svatn": 8, "n": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 20, 23], "n1": 18, "n2": 18, "n_": [3, 4, 5, 10, 14, 20], "n_0": [14, 20], "n_boostrap": [8, 12], "n_bootstrap": 8, "n_categori": [3, 5], "n_cluster": 16, "n_compon": 13, "n_epoch": 15, "n_estim": 12, "n_examples_to_gener": 6, "n_featur": 3, "n_filter": 5, "n_hidden": 4, "n_hidden_neuron": [2, 3, 23], "n_i": 20, "n_input": [2, 3, 5], "n_instanc": 11, "n_job": 12, "n_k": 16, "n_l": [14, 20], "n_layer": 3, "n_m": 11, "n_neuron": 3, "n_neurons_connect": 5, "n_neurons_layer1": 3, "n_neurons_layer2": 3, "n_point": 16, "n_sampl": [8, 10, 11, 12, 16], "n_split": 8, "n_step": 6, "n_t": 4, "n_x": 4, "nabla": [3, 15], "nabla_": [4, 15], "nabla_w": 15, "nag": 15, "naimi": [2, 23], "naiv": 9, "naive_kmean": 16, "name": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 23], "narrow": 15, "nation": [3, 7], "nativ": [17, 23], "natur": [2, 3, 6, 10, 11, 14, 15, 20, 22, 23], "navier": 14, "navig": 0, "nb": 20, "nb_": 18, "nbconvert": 23, "nd": 16, "ndarrai": 8, "ne": [11, 12, 18, 20], "nearest": [3, 5, 8, 13], "nearli": 15, "neat": 23, "neccesari": 8, "necess": 4, "necessari": [2, 3, 5, 6, 10, 16, 23], "necessarili": [2, 6, 13, 20, 23], "necesserali": 7, "neck": 9, "need": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20], "neg": [2, 3, 5, 7, 8, 9, 12, 15, 18, 20, 23], "neg_mean_squared_error": 8, "neglect": 20, "neglig": 20, "neighbor": [5, 8, 13], "neither": [6, 15], "neq": [15, 16, 20], "nervou": 14, "nest": [11, 14], "nesterov": 15, "net": [4, 6, 14], "netlib": [18, 23], "network": [2, 11, 15, 17, 22], "neural": [2, 15, 17, 22], "neural_network": [2, 3, 4, 23], "neuralnetwork": 3, "neuron": [3, 4, 5, 6, 14], "neutral": [2, 23], "neutron": [2, 23], "never": [3, 6, 8, 11, 20], "new": [0, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 23], "new_chang": 15, "new_hobbit": 23, "newaxi": [2, 5, 8, 11], "newli": [2, 23], "newton": [3, 9, 10, 15, 20], "next": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 15, 16, 23], "next_guess": 15, "next_input": 6, "ng": 3, "ni": 16, "nice": [2, 3, 7, 13, 23], "niter": 15, "nitric": 2, "nlambda": [2, 7, 8], "nlp": 22, "nm": 20, "nm_n": [2, 23], "nmse": 8, "nn": [4, 7, 8, 14, 18, 23], "nn_model": 3, "nnmin": 4, "node": [3, 5, 11, 12, 14], "nois": [2, 6, 7, 8, 10, 11, 12, 15, 23], "noise_dimens": 6, "noisi": [3, 8], "non": [2, 3, 5, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 20, 23], "none": [2, 3, 4, 6, 7, 11, 12, 15, 20, 23], "nonlinear": [5, 8, 10, 11, 13, 14], "nonneg": [8, 11, 15], "nonparametr": 8, "nonsens": 20, "nonsingular": 18, "nonumb": [5, 9, 10, 15, 18], "nor": [3, 6, 15], "norm": [2, 3, 7, 8, 10, 13, 15, 23], "normal": [1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 23], "normali": [18, 23], "norwai": [8, 23], "notat": [2, 4, 7, 8, 15, 16, 20, 23], "note": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 20, 22, 23], "notebook": [0, 1, 2, 3, 5, 11, 17, 23], "noth": [3, 4, 7, 10, 14, 16, 20], "notic": [6, 7, 14, 15, 18, 20, 23], "notion": 5, "novel": [5, 8, 12, 23], "novemb": [3, 21, 23], "now": [0, 1, 2, 4, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 20, 23], "nowadai": [2, 3, 5, 11, 17, 23], "nox": 2, "np": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 23], "npr": 4, "nsampl": 8, "nt": 4, "nu": 20, "nuclear": 7, "nuclei": [2, 20, 23], "nucleon": [2, 23], "nucleu": [2, 23], "num": 6, "num_coordin": 4, "num_hidden_neuron": 4, "num_it": 4, "num_neuron": 4, "num_neurons_hidden": 4, "num_point": 4, "num_tre": 12, "num_valu": 4, "number": [1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 23], "numberid": 9, "numberparamet": 5, "numer": [2, 7, 8, 11, 12, 13, 14, 15, 17, 18, 22, 23], "numpi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20], "nunmpi": 7, "nx": 4, "ny": 20, "o": [2, 3, 6, 7, 8, 9, 10, 11, 13, 18, 21, 22, 23], "obei": [8, 13, 15], "object": [0, 2, 3, 6, 10, 12, 18, 23], "obliqu": 7, "observ": [2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 23], "obtain": [2, 3, 7, 8, 9, 10, 11, 12, 14, 15, 16, 18, 20, 23], "obviou": [7, 8, 13, 20], "obviouli": 23, "obvious": [2, 6, 7, 8, 18, 23], "occupi": 2, "occur": [2, 8, 10, 11, 18, 20, 23], "octob": [21, 23], "od": 2, "odd": [2, 5, 9, 23], "odenum": 4, "odesi": 4, "oen": 2, "off": [3, 5, 6, 7, 11, 15, 20], "offer": [8, 13, 17, 18, 19, 21, 23], "offic": [21, 23], "offici": [19, 23], "often": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "ofter": [18, 23], "ol": [2, 15], "old": [0, 3, 7, 12, 15], "ols_paramet": 1, "ols_sk": 8, "ols_svd": 8, "olsbeta": [2, 7], "omega": [4, 5, 8], "omega_0": 5, "omit": [2, 7, 23], "onc": [3, 8, 11, 13, 15], "one": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 21, 23], "onehot": 3, "onehot_vector": 3, "onehotencod": 11, "ones": [1, 2, 4, 7, 8, 10, 11, 12, 13, 15, 18, 23], "ones_lik": 6, "onl": 5, "onli": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "onlin": [0, 13, 19], "onto": [7, 13], "open": [0, 2, 3, 6, 8, 9, 11, 17, 19, 21, 23], "oper": [0, 1, 2, 3, 5, 7, 8, 12, 13, 14, 15, 17, 20, 23], "operation": 20, "oplu": 20, "opmiz": 15, "opportun": 2, "oppos": [8, 15], "opposit": [3, 7, 10], "opt": [3, 7, 23], "optim": [1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 16], "optimis": [3, 5], "option": [0, 2, 3, 5, 7, 8, 10, 13, 18], "optmiz": [3, 10, 15], "oral": 23, "orang": 2, "order": [0, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 18, 20, 23], "ordinari": [2, 4, 5, 9, 13, 15, 17], "oreilli": [22, 23], "org": [1, 2, 5, 6, 17, 18, 22, 23], "organ": [8, 9, 12, 18], "orient": [3, 7, 20], "origin": [0, 2, 5, 7, 8, 10, 13, 14, 15, 18, 23], "orthogn": 7, "orthogon": [2, 7, 8, 10, 13, 15, 18, 23], "orthonorm": 7, "os": [21, 23], "oscar": 3, "oscil": [5, 15], "oskar": 23, "oskarlei": 23, "oslo": [2, 17, 19, 21, 23], "osx": [2, 17, 23], "other": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 15, 16, 17, 19, 20, 21, 22], "otherwis": [2, 3, 6, 9, 15, 18, 23], "ouput": [7, 9, 14], "our": [0, 1, 3, 4, 5, 8, 9, 10, 11, 12, 14, 16, 17, 18, 20], "ourmodel": 2, "ourselv": [2, 7, 8, 10, 13, 15, 23], "out": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 23], "out_fil": 11, "outcom": [2, 9, 11, 12, 14, 20], "outdoor": 11, "outer": [8, 14, 15], "outfil": 6, "outlier": [2, 10, 23], "outlin": [8, 12, 13], "outlook": 11, "outperform": 12, "output": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 18, 20, 23], "output_bia": 3, "output_bias_gradi": 3, "output_shap": 6, "output_weight": 3, "output_weights_gradi": 3, "outputlayer1": 14, "outputlayer2": 14, "outsid": 6, "over": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 14, 15, 18, 23], "over1": 15, "overal": [3, 12], "overcast": 11, "overcom": [14, 15], "overdetermin": [2, 23], "overfit": [2, 3, 5, 8, 11, 12, 15], "overflow": 7, "overhead": 14, "overlap": [5, 9, 10, 11], "overlin": [2, 7, 8, 11, 12, 13, 16, 18, 23], "overst": 2, "overtrain": 6, "overview": 5, "own": [1, 6, 7, 8, 10, 14, 15, 17, 18], "owner": 2, "ownmsepredict": 2, "ownmsetrain": 2, "ownridgebeta": [2, 8], "ownypredictridg": 2, "ownytilderidg": 2, "oxid": 2, "p": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 23], "p0": 4, "p1": 4, "p_": [4, 6, 10, 11], "p_hidden": 4, "p_i": [7, 20], "p_j": 20, "p_n": 20, "p_output": 4, "p_x": 20, "pack": [2, 23], "packag": [0, 2, 3, 5, 6, 7, 10, 13, 15, 17, 20], "packtpub": 23, "packtpublish": 23, "pad": [5, 6], "page": [2, 17, 23], "pai": [0, 2, 3, 11, 15], "pair": [2, 4, 5, 11, 17, 20, 23], "paltform": 0, "panda": [2, 6, 7, 8, 9, 11, 13, 17], "panel": 23, "paper": 3, "paradigm": [2, 23], "parallel": [12, 15, 17, 18, 23], "param": 4, "paramat": 4, "paramet": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 20], "parameter": [2, 8, 12, 23], "parametr": [2, 8, 23], "paramt": [5, 7], "part": [2, 3, 5, 7, 8, 12, 18, 19, 20, 21, 23], "partial": [1, 2, 3, 7, 8, 9, 10, 12, 13, 14, 15, 20, 23], "particip": [0, 17, 19, 21, 23], "particl": [2, 6, 15, 20, 23], "particular": [1, 2, 3, 4, 5, 7, 8, 11, 12, 13, 14, 15, 20, 22, 23], "particularli": [7, 8, 10, 13, 15, 20], "partit": [3, 6, 11], "partli": [8, 23], "partner": 0, "pass": [4, 5, 14, 16], "past": [12, 20], "patch": [8, 20], "path": [2, 6, 8, 9, 11, 17, 23], "patient": 9, "patter": 6, "pattern": [2, 5, 6, 14, 22, 23], "pauli": [2, 23], "pc": [13, 17], "pca": [2, 9, 17, 23], "pd": [2, 6, 7, 8, 9, 11, 13, 23], "pde": 4, "pdf": [0, 1, 2, 5, 6, 7, 8, 11, 22, 23], "pedagog": [2, 23], "penal": 8, "penalti": [8, 15], "penros": [7, 8], "pentagon": 15, "peopl": [2, 3, 11, 15, 17], "per": [2, 3, 8, 19, 21, 23], "percentag": [2, 12, 13, 21], "perceptron": [2, 3, 9, 23], "peregrin": 23, "perfect": [2, 3, 15, 23], "perfectli": [6, 8], "perform": [1, 2, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 20, 23], "performac": 6, "perhap": [2, 7, 15, 23], "perimet": 3, "period": [3, 6, 20], "permiss": 0, "permut": 13, "persist": 15, "person": [1, 7, 8, 9, 19, 21, 23], "perspect": 22, "pertin": [14, 23], "petal": [10, 11], "peter": 22, "phantom": 20, "phase": [8, 14], "phenomena": 20, "phi": 10, "phi_k": 10, "philosophi": 15, "phone": [21, 23], "photo": [6, 23], "phrase": [2, 23], "physic": [2, 3, 6, 9, 14, 15, 20, 21, 22, 23], "pi": [4, 5, 7, 8, 9, 11, 14, 15, 20], "pick": [3, 11, 12, 13, 15, 16], "pickl": 3, "pictur": [2, 23], "pie": [17, 23], "piec": [13, 16], "pillow": [2, 17, 23], "pinv": [7, 8, 15], "pip": [0, 2, 3, 17, 23], "pip3": [2, 3, 23], "pipelin": [2, 8, 10, 12], "pippin": 23, "pit": 6, "pitfal": 8, "pitt": 14, "pixel": [3, 5, 6, 23], "pixel_height": [3, 5], "pixel_width": [3, 5], "place": [0, 2, 6, 8, 10, 15, 18, 23], "plai": [2, 5, 6, 7, 8, 10, 13, 17, 23], "plain": [10, 12, 14, 15, 16], "plan": [8, 11, 21, 22, 23], "plane": [10, 11], "plateau": 7, "platform": [17, 23], "plausibl": 14, "pleas": [15, 21, 23], "plenti": 3, "plethora": [5, 14], "plot": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "plot_confusion_matrix": [9, 12], "plot_count": 8, "plot_cumulative_gain": [9, 12], "plot_data": 3, "plot_dataset": 10, "plot_decision_boundari": [11, 12], "plot_import": 12, "plot_max": 6, "plot_min": 6, "plot_model": 6, "plot_numb": 6, "plot_predict": 10, "plot_regression_predict": 11, "plot_result": 6, "plot_roc": [9, 12], "plot_surfac": [4, 8, 15], "plot_train": 11, "plot_tre": [11, 12], "plt": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "plu": [2, 5, 7, 9, 23], "pm": 10, "pmatrix": 4, "pml": 22, "pn": 5, "png": [2, 6, 8, 9, 11, 23], "point": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 21, 23], "point_1": 6, "point_2": 6, "poisson": [17, 20, 23], "poli": [8, 10], "poly100_kernel_svm_clf": 10, "poly3": 2, "poly3_plot": 2, "poly_featur": [0, 10, 11], "poly_features10": 11, "poly_fit": 11, "poly_fit10": 11, "poly_kernel_svm_clf": 10, "poly_model": 0, "poly_ms": 0, "poly_predict": 0, "polydegre": [2, 7, 8, 12], "polygon": 15, "polym": 14, "polynomi": [0, 2, 7, 8, 9, 10, 11, 12, 13, 23], "polynomial_featur": [0, 1, 8], "polynomial_svm_clf": 10, "polynomialfeatur": [0, 1, 2, 8, 10, 11], "polytrop": [2, 8], "pool": 5, "pool_siz": 5, "poor": [3, 15], "poorli": 2, "popul": [2, 7, 23], "popular": [0, 2, 3, 5, 8, 9, 10, 11, 13, 14, 17, 18, 20], "popularli": [2, 23], "portabl": 12, "portion": [13, 15], "pose": [2, 6, 7, 8, 13, 20, 23], "posit": [2, 3, 4, 5, 7, 9, 10, 12, 13, 15, 16, 18, 20, 23], "possibl": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 23], "possibli": [8, 10, 15], "posterior": 7, "postpon": 2, "postul": 7, "potenti": [2, 5, 7, 8, 14, 15], "pott": 14, "power": [2, 3, 7, 8, 10, 11, 14, 15, 23], "pp": [7, 8], "practic": [1, 2, 7, 8, 9, 10, 20], "practition": [2, 3, 5, 23], "pre": 23, "preced": [3, 13, 14, 20], "preceed": 6, "preceq": 10, "precis": [2, 4, 7, 13, 15, 18, 20, 23], "pred": 8, "predicit": 2, "predict": [0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 17, 22, 23], "predict_prob": 3, "predict_proba": [9, 12], "predictor": [2, 7, 8, 9, 11, 12, 13, 23], "prefer": [2, 3, 8, 10, 11, 13, 15, 17, 23], "prepar": [2, 8, 18, 23], "preprocess": [0, 1, 2, 6, 8, 9, 10, 11, 12, 13], "prerequisit": 2, "presenc": 15, "present": [2, 7, 8, 9, 11, 14, 15, 18, 20, 23], "preserv": [5, 13, 18], "press": [0, 15, 22], "pretrain": [3, 6], "pretti": [2, 6, 10, 11, 17, 23], "prev_centroid": 16, "prevent": [15, 20], "previou": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 18, 20], "previous": [4, 5, 11, 12, 20], "price": [2, 6, 11, 15], "primal": 10, "primari": [2, 9, 23], "prime": 20, "princip": [2, 7, 9, 17, 23], "principl": [2, 8, 9, 10, 16, 23], "print": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 23], "print_funct": [10, 11], "printout": [2, 23], "prior": [2, 7, 8, 23], "privat": 2, "prob": [3, 20], "probabilist": [2, 22, 23], "probabl": [2, 3, 5, 6, 8, 9, 12, 15, 17, 23], "problem": [2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 20], "probml": 22, "proce": [2, 7, 8, 9, 10, 11, 12, 13, 15, 18, 23], "procedur": [4, 6, 7, 8, 10, 12, 13, 15], "proceed": 18, "process": [2, 4, 6, 8, 11, 12, 14, 15, 17, 18, 20, 22, 23], "prod": 22, "prod_": [3, 7, 9], "produc": [2, 5, 6, 7, 8, 11, 12, 13, 14, 15, 17, 18, 20, 23], "product": [1, 2, 3, 5, 7, 8, 9, 10, 14, 15, 17, 18, 23], "profess": [2, 23], "program": [0, 2, 3, 6, 7, 8, 10, 14, 16, 17, 18, 19, 20, 21, 23], "programm": 18, "progress": [3, 6, 16], "prohibit": 8, "project": [0, 2, 3, 4, 5, 7, 13, 15, 17, 19], "project_root_dir": [2, 8, 9, 11, 23], "promin": 14, "promis": 10, "promot": [21, 23], "prone": [0, 11], "pronounc": [15, 17, 23], "proof": [2, 13, 14, 15, 23], "propag": [4, 5, 15], "proper": [2, 4, 8, 9], "properli": [3, 8, 10, 12, 15], "properti": [1, 2, 3, 5, 14, 15, 18, 23], "proport": [2, 3, 7, 11, 13, 15, 20, 23], "propos": [3, 6, 8, 12, 23], "propto": [7, 15], "proton": [2, 23], "prove": [5, 15], "provid": [2, 3, 5, 6, 7, 8, 10, 11, 12, 14, 15, 17, 18, 20, 23], "proxi": [3, 15], "prune": 11, "pseudo": [18, 20], "pseudoinv": 7, "pseudoinvers": [7, 8], "pseudorandom": [8, 20], "psychologi": [2, 23], "pt": 15, "public": [0, 2, 17, 23], "pull": 0, "punish": [2, 3, 23], "pure": [5, 11, 20], "purest": 11, "puriti": 11, "purpos": [2, 5, 12, 14, 16, 23], "push": 0, "put": 3, "py": [7, 23], "pycod": 23, "pydata": 17, "pydot": 11, "pyhton2": 23, "pylab": [2, 9, 23], "pypi": 17, "pyplot": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "pythagora": 7, "python": [3, 4, 5, 7, 8, 10, 13, 14, 15, 16, 20], "python2": 2, "python3": [2, 17, 23], "pytorch": [2, 17, 23], "q": [7, 8, 10, 13, 20], "qp": 10, "qquad": [4, 13, 15, 18], "qr": [7, 8, 18], "quad": [3, 15, 18], "quadrat": [2, 10, 11, 15, 23], "qualit": [6, 11, 20], "qualiti": [2, 11, 17, 23], "quantifi": 3, "quantil": 12, "quantit": [2, 8, 11, 23], "quantiti": [1, 2, 4, 7, 8, 9, 11, 12, 13, 14, 16, 18, 20, 23], "quantum": [6, 14, 22, 23], "quartil": 2, "quench": 7, "queri": 11, "question": [2, 7, 8, 11, 13, 14, 15, 21, 23], "qugan": 6, "quick": [6, 20], "quickli": [3, 5, 11, 13, 15], "quit": [0, 3, 7, 8, 11, 12, 14], "quot": 6, "r": [0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20], "r2": [2, 7, 8, 23], "r2_score": [2, 23], "r2score": [2, 23], "r_1": 11, "r_2": 11, "r_j": 11, "r_m": 11, "rad": 2, "radial": [2, 10, 14], "radioact": 20, "radiu": [2, 3], "rain": 11, "ramp": 3, "ran0": 20, "ran1": 20, "ran2": 20, "ran3": 20, "rand": [0, 2, 6, 7, 8, 11, 12, 15, 18, 23], "randint": [8, 11, 15], "randn": [0, 2, 3, 4, 7, 8, 11, 13, 15, 23], "random": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 15, 16, 17, 18, 23], "random_forest_model": 12, "random_index": 15, "random_indic": [3, 5], "random_st": [2, 9, 10, 11, 12, 13], "randomforestclassifi": 12, "randomli": [3, 8, 11, 15, 16], "rang": [2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 20, 23], "rangl": [2, 8, 13, 20, 23], "rangle_x": 20, "rank": 7, "rankdir": 6, "raphson": [3, 10, 15], "rapidli": 2, "rare": [3, 15], "raschka": 23, "rasckha": 23, "rate": [2, 3, 4, 5, 6, 10, 11, 12, 14, 15], "rather": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20, 23], "ratio": [6, 9, 11, 12, 13], "rational": [2, 23], "ravel": [7, 8, 9, 10, 11, 12, 13, 15, 18], "raw": 5, "rbf": [10, 13, 14], "rbf_kernel_svm_clf": 10, "rbf_pca": 13, "rc": [2, 20], "rcond": [2, 23], "rcparam": [2, 3, 5, 9, 10, 11, 12, 20, 23], "re": [0, 4, 6, 15], "reach": [3, 6, 7, 8, 11, 12, 14, 15, 16, 23], "read": [1, 2, 4, 5, 6, 7, 8, 9, 10, 13, 14, 18, 20, 22], "read_csv": [2, 8, 9, 11], "read_fwf": [2, 23], "reader": [2, 8, 18, 20, 23], "readi": [2, 3, 7, 8, 10, 12, 13, 14, 18, 23], "readili": 3, "readm": 0, "readthedoc": 17, "real": [1, 2, 3, 6, 9, 12, 13, 14, 18], "real_loss": 6, "real_output": 6, "realist": [10, 23], "realiti": 20, "realiz": [3, 14], "realli": [2, 3, 23], "rearrang": 15, "reason": [2, 3, 5, 6, 12, 15, 22, 23], "reassign": 3, "recal": [7, 8, 11, 12, 13, 14, 18, 20, 23], "recast": 5, "receiv": [3, 5, 12, 14, 20], "recent": [2, 8, 15, 22], "recept": [5, 14], "receptive_field": 5, "recip": [2, 8, 9, 18, 23], "reciproc": 7, "recogn": [2, 6, 7, 12, 23], "recognit": [2, 3, 5, 14, 22, 23], "recommen": 23, "recommend": [0, 2, 4, 5, 6, 7, 8, 10, 15, 17, 18, 22], "reconsid": 11, "reconstruct": 13, "record": [12, 19, 21, 23], "recreat": 0, "rectangl": [11, 15], "rectangular": 7, "rectifi": [3, 5, 14], "recur": [2, 17, 23], "recurr": [2, 3, 17, 23], "recurs": [11, 17, 18, 23], "red": [2, 5, 6, 8, 10, 11], "redefin": [2, 12, 23], "reduc": [3, 5, 7, 8, 11, 12, 13, 15, 23], "reduct": [2, 12, 13, 17, 20, 23], "refer": [2, 3, 4, 5, 7, 8, 13, 14, 15, 16, 18, 22, 23], "referenc": 4, "refin": 14, "refit": 8, "reflect": [2, 3, 6, 7, 20, 23], "refresh": [17, 23], "refreshprogrammingskil": 23, "reg": [12, 13], "regard": [3, 11, 15], "regardless": [1, 14], "region": [5, 6, 8, 11, 14], "regist": [8, 20], "reglasso": 7, "regr_1": [2, 11], "regr_2": [2, 11], "regr_3": [2, 11], "regress": [1, 3, 10, 13, 14, 17, 18], "regressor": [2, 9, 12], "regridg": [2, 7, 8], "regular": [2, 5, 6, 7, 8, 9, 11, 15, 21, 23], "regularli": 0, "reilli": [2, 22, 23], "reinforc": [2, 10, 17, 23], "reiter": 3, "reject": 9, "rel": [2, 6, 8, 9, 11, 14, 15, 20, 23], "relat": [2, 3, 5, 6, 7, 13, 15, 16, 18, 20, 23], "relationship": [2, 6, 11, 23], "relativeerror": [2, 23], "releas": [3, 17, 23], "relev": [2, 3, 7, 9, 13, 17, 20, 23], "reli": [2, 8, 10], "reliabl": [9, 20], "relu": [5, 6, 23], "remain": [3, 4, 6, 8, 14, 18, 20], "remaind": 20, "reman": 4, "remark": 3, "rememb": [2, 10, 15, 18, 23], "remind": [2, 7, 13, 15, 18, 20], "remot": 0, "remov": [2, 6, 7, 8], "renam": 0, "render": [2, 23], "reorder": [7, 9], "reorgan": [2, 23], "repeat": [2, 3, 5, 6, 7, 8, 11, 12, 13, 15, 16, 18, 20, 23], "repeated": 23, "repeatedli": [2, 8, 12, 15], "repet": 5, "repetit": [8, 23], "rephras": 15, "replac": [2, 3, 5, 6, 7, 8, 12, 14, 16, 17, 23], "replica": 8, "repo": 0, "report": 23, "repositori": [2, 6, 23], "repres": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 20, 23], "represent": [2, 3, 5, 8, 20, 23], "representd": 5, "reproduc": [0, 1, 2, 7, 8, 11, 14, 17, 20, 23], "repuls": [2, 23], "request": [2, 15], "requir": [0, 2, 3, 5, 6, 7, 8, 10, 11, 13, 14, 15, 18, 23], "res1": 4, "res2": 4, "res3": 4, "res_analyt": 4, "res_analytical1": 4, "res_analytical2": 4, "res_analytical3": 4, "resaml": 8, "resampl": [2, 9, 12, 17, 23], "rescal": [2, 13, 14], "rescu": 7, "reseach": 8, "research": [2, 6, 15, 17, 22, 23], "resembl": [8, 20], "reserv": [3, 7, 8, 20], "reshap": [2, 3, 4, 5, 6, 8, 10, 11, 12, 18, 23], "residenti": 2, "residu": [2, 7, 15, 23], "resiz": 7, "resourc": 23, "respect": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 20, 23], "respond": 14, "respons": [2, 9, 11, 14, 23], "rest": [2, 7], "restat": [2, 14, 23], "restor": 6, "restored_discrimin": 6, "restored_gener": 6, "restrict": [2, 5, 11, 14, 23], "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "retail": 2, "retain": [7, 8], "return": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 18, 20, 23], "return_data": 16, "return_sequ": 6, "return_x_i": 11, "reus": [3, 5, 8], "reveal": [2, 14, 23], "revers": [3, 18], "review": [17, 18], "revisit": 16, "revolut": 23, "reward": [2, 6, 23], "rewrit": [1, 2, 5, 7, 8, 9, 10, 12, 13, 14, 15, 18, 20], "rewritten": [4, 8, 10, 12, 20], "rewrot": 15, "rf": 12, "rgb": 5, "rgoj5yh7evk": 17, "rh": 8, "rho": [2, 12, 15], "rho_1": 12, "rho_2": 12, "rho_m": 12, "rich": [2, 23], "ride": 11, "rideclass": 11, "ridedata": 11, "ridg": [9, 13, 15, 17, 23], "ridge_sk": 8, "ridgebeta": 7, "right": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 16, 18, 20, 23], "right_sid": 4, "rightarrow": [2, 3, 7, 8, 10, 13, 14, 15, 20, 23], "rigor": [2, 23], "ring": 8, "rise": [2, 23], "risk": [2, 15, 23], "rival": 6, "river": 2, "rlm": 23, "rm": [2, 20], "rmse": 2, "rmsporp": 15, "rmsprop": [3, 5, 6, 15], "rnd_clf": 12, "rng": 20, "rnn": [6, 14], "rnn1": 6, "rnn2": 6, "rnn_2layer": 6, "rnn_input": 6, "rnn_output": 6, "rnn_train": 6, "rntrick1": 20, "rntrick2": 20, "rntrick3": 20, "rntrick4": 20, "ro": [2, 15, 23], "robert": 22, "robust": [2, 23], "robustscal": 2, "roc": [9, 12], "role": [2, 4, 7, 8, 10, 17, 23], "roll": 8, "room": [2, 21, 23], "root": [0, 2, 7, 11, 15, 20], "rot": 23, "rotat": [3, 10, 11, 12], "rotation_matrix": 11, "roughli": [3, 5], "round": [2, 9, 11, 15], "routin": [15, 18, 23], "row": [1, 2, 3, 4, 7, 8, 11, 13, 18, 23], "rr": 7, "rrr": 7, "rug": 15, "rule": [2, 3, 7, 8, 15, 23], "run": [0, 2, 3, 4, 6, 7, 8, 10, 11, 13, 15, 17, 23], "runtim": [0, 3, 8, 16], "rust": [2, 17, 18, 23], "rvert": 3, "rvert_2": 3, "s_": [5, 8], "s_1": 8, "s_i": [8, 9], "s_j": 8, "s_k": 8, "saddl": 15, "sai": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 20, 23], "said": [8, 11, 15], "sake": [2, 7, 9, 13, 23], "sale": [2, 23], "sam": 23, "same": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 16, 18, 20, 23], "samm": 12, "sampl": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 20, 23], "sample_vari": 16, "sampleexptvari": 20, "samwis": 23, "sastri": 13, "satisfactori": [2, 23], "satisfi": [3, 4, 5, 8, 10, 15, 18, 20], "satur": [3, 8], "save": [2, 6, 8, 9, 11, 15, 23], "save_fig": [2, 8, 9, 11, 12, 23], "savefig": [2, 6, 8, 9, 11, 20, 23], "savetxt": 6, "saw": 7, "scalabl": 12, "scalar": [4, 7, 8, 12], "scale": [2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 21, 23], "scale_mean": 6, "scale_std": 6, "scaler": [2, 9, 10, 11, 12, 13], "scan": [7, 9], "scari": 7, "scatter": [0, 2, 3, 8, 9, 10, 11, 16, 23], "scenario": [8, 15], "schedul": 15, "scheme": [3, 15], "schrage": 20, "sch\u00f8yen": 8, "scienc": [2, 3, 12, 14, 15, 17, 19, 20, 21, 22], "scientif": [2, 17, 23], "scientist": [2, 23], "scikit": [0, 1, 5, 7, 8, 10, 11, 12, 15, 17, 18, 22], "scikit_learn": 2, "scikitlearn": 23, "scikitplot": [9, 12], "scipi": [2, 5, 7, 8, 15, 17, 18, 23], "scl": 8, "scm": 0, "score": [0, 1, 2, 3, 5, 8, 9, 11, 12, 13, 21, 23], "scores_kfold": 8, "scratch": [1, 3, 15], "sdg": 15, "seaborn": [2, 3, 5, 8, 9, 23], "seamless": [2, 17, 23], "search": [0, 2, 3, 5, 7, 11, 15, 23], "sebastian": 23, "sebastianraschka": 23, "sec": 8, "second": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 18, 20, 21, 23], "secondeigvector": 13, "secondli": 14, "section": [1, 6, 13, 18, 20], "sector": 2, "see": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 17, 18, 20, 23], "seed": [2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 15, 16, 20, 23], "seed_imag": 6, "seek": [3, 4, 10], "seem": [3, 5, 6], "seemingli": [2, 23], "seen": [2, 3, 5, 7, 12, 14, 20], "segment": 15, "seismic": 8, "seldomli": [2, 23], "select": [0, 3, 7, 8, 10, 11, 12, 13, 19, 20, 21, 22, 23], "selevet": 0, "self": [3, 7], "sell": 6, "semest": [9, 19], "semi": [10, 15], "semilogx": 8, "send": [7, 14, 15, 21, 23], "senior": [19, 21], "sens": [2, 6, 8, 10, 23], "sensibl": 5, "sensit": [2, 7, 8, 11, 15, 23], "sent": 4, "sentenc": [6, 14], "separ": [2, 3, 4, 6, 8, 10, 11, 14, 16, 17, 20, 23], "septemb": 23, "sequenc": [5, 6, 9, 11, 12, 14, 15, 17, 18, 20, 23], "sequenti": [3, 5, 6, 12, 14, 20], "seri": [2, 3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 18, 23], "serif": [2, 9, 20, 23], "serv": [2, 3, 4, 5, 7, 9, 15, 22, 23], "session": [0, 3, 19, 21, 23], "set": [1, 3, 6, 7, 8, 9, 10, 12, 13, 15, 16, 17, 18, 20, 21], "set_major_formatt": 8, "set_major_loc": 8, "set_tick": [3, 10], "set_ticklabel": 3, "set_titl": [2, 3, 4, 5, 9, 14, 16, 23], "set_xlabel": [2, 3, 4, 5, 9, 14, 23], "set_xlim": [9, 14], "set_xticklabel": 3, "set_ylabel": [2, 3, 4, 5, 9, 23], "set_ylim": [9, 14], "set_ytick": 9, "set_yticklabel": [3, 8], "set_zlim": 8, "seth": 6, "setminu": 8, "setosa": [10, 11], "setosa_or_versicolor": 10, "setp": 8, "setup": [3, 6, 8, 10, 17, 23], "sever": [1, 2, 5, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 20, 23], "sgd": [3, 5], "sgd_clf": 10, "sgdclassifi": 10, "sgdreg": 15, "sgdregressor": 15, "sgn": 7, "shallow": 15, "shape": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 23], "share": [0, 3, 5, 23], "shareabl": 0, "she": 9, "shift": [0, 3, 8, 14, 20], "ship": 5, "shire": 23, "short": [6, 7], "shortcom": 15, "shorten": 6, "shorter": 20, "shorthand": 23, "shortli": [18, 23], "should": [0, 2, 4, 5, 7, 8, 10, 11, 13, 14, 18, 20, 23], "show": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "show_shap": 6, "shown": [2, 6, 7, 10, 14, 15, 18], "shrink": [5, 7, 8, 10, 13], "shrinkag": [7, 8], "shrunk": 13, "shuffl": [2, 3, 6, 8, 15], "side": [2, 4, 7, 10, 14, 15, 18, 23], "sigh": [17, 23], "sigma": [2, 3, 7, 8, 9, 12, 13, 14, 15, 18, 20, 23], "sigma0": 20, "sigma1": 20, "sigma2": 20, "sigma_": [7, 18, 23], "sigma_0": 7, "sigma_1": 7, "sigma_2": 7, "sigma_fn": [9, 14], "sigma_i": [2, 7, 23], "sigma_j": 7, "sigma_m": [8, 20], "sigma_n": [13, 20], "sigma_t": 15, "sigma_x": 20, "sigmoid": [3, 4, 6, 9, 10, 12, 14], "sigmundson": 8, "sign": [3, 4, 9, 10, 12, 20, 21], "signal": [3, 5, 12, 14], "signifi": 6, "signific": 3, "significantli": [3, 15, 20], "sim": [6, 7, 8, 15, 20], "similar": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 18, 23], "similarli": [2, 3, 5, 7, 10, 12, 15, 20, 23], "simpl": [1, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 20], "simplepredict": 12, "simpler": [1, 2, 3, 7, 8, 9, 15, 17, 23], "simplernn": 6, "simplest": [2, 3, 5, 6, 11, 12, 14, 16, 23], "simpletre": 12, "simpli": [2, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 17, 18, 20, 23], "simplic": [4, 7, 8, 9, 10, 11, 12, 13, 14, 16], "simplicti": 7, "simplifi": [2, 8, 11, 17, 23], "simplist": [5, 8, 20], "simul": 8, "simultan": 8, "sin": [2, 3, 4, 5, 6, 11, 14, 15, 18, 23], "sinc": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 18, 20, 22, 23], "sine": [5, 14], "singl": [2, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 18, 20, 23], "singular": [2, 8, 15, 18, 23], "sinusoid": 5, "site": [2, 19, 23], "situat": [2, 6, 7, 9, 15, 20, 23], "six": [5, 20], "size": [2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 18, 20, 23], "sketch": 12, "ski": 11, "skill": 2, "skip": 13, "skl": [2, 8, 23], "sklearn": [0, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 23], "skplt": [9, 12], "sl": 8, "slack": 10, "slice": [4, 18, 23], "slide": [1, 2, 5, 20, 23], "slight": [8, 15], "slightli": [3, 4, 5, 7, 8, 9, 12, 20], "slope": [10, 13, 14], "slow": [2, 4, 10, 15], "slower": [7, 18, 23], "slowest": 18, "slowli": 14, "slp": 3, "small": [2, 3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 17, 18, 20, 23], "smaller": [2, 3, 4, 7, 8, 10, 11, 13, 15, 20, 23], "smallest": [2, 6, 16, 23], "smallest_row_index": 16, "smooth": [2, 5, 8, 15, 23], "sn": [2, 3, 5, 8, 9, 23], "sne": 13, "so": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23], "soar": 8, "social": 2, "soft": [3, 9, 12, 14], "soften": 10, "softmax": [5, 9], "softwar": [2, 10, 17, 18], "sol": 10, "sole": [2, 8, 23], "solid": [2, 9], "solut": [2, 3, 4, 5, 7, 8, 10, 12, 13, 15, 18, 20, 23], "soluton": 4, "solv": [1, 2, 3, 5, 7, 8, 10, 12, 13, 14, 15, 18, 23], "solve_expdec": 4, "solve_ode_deep_neural_network": 4, "solve_ode_neural_network": 4, "solve_pde_deep_neural_network": 4, "solveod": 4, "solveode_popul": 4, "solver": [4, 9, 10, 11, 12, 18, 23], "some": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 20, 23], "some_model": 8, "somehow": 6, "someon": 1, "someth": [0, 2, 3, 5, 6, 9, 11, 13, 20, 23], "sometim": [2, 3, 13, 14, 15, 16], "soon": [18, 21], "sophist": [2, 23], "sopt": 15, "sort": [7, 8, 11, 13, 20], "sound": [5, 7], "sourc": [2, 3, 5, 8, 17, 18, 20, 23], "space": [2, 3, 6, 7, 10, 11, 13, 14, 15, 16, 20], "span": [2, 5, 7, 11, 13, 18, 23], "spare": 3, "spars": [5, 8, 18, 23], "sparse_mtx": [18, 23], "sparsecategoricalcrossentropi": 5, "sparsiti": 12, "spatial": [3, 4, 5, 14], "speak": 20, "special": [8, 9, 12, 14, 15, 18, 20, 23], "specif": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 18, 20, 22, 23], "specifi": [2, 5, 7, 8, 9, 11, 13, 15, 16, 20, 23], "specifici": [2, 12, 23], "spectacular": 5, "spectral": 3, "speech": [2, 3, 5, 6, 14], "speed": [3, 4, 6, 15], "spend": [1, 20], "sphere": 2, "spin": 8, "spite": 2, "spline": 10, "split": [1, 3, 5, 6, 7, 8, 10, 11, 12, 13, 16, 20, 23], "splite": 2, "splitter": [3, 12], "spontan": 20, "spot": 5, "spread": [2, 13, 20, 23], "springer": [22, 23], "spuriou": 15, "sqrsignal": 5, "sqrt": [2, 5, 6, 7, 8, 10, 12, 13, 15, 20], "squar": [0, 3, 4, 5, 6, 9, 10, 11, 13, 15, 16, 17, 18, 20], "squarederror": 12, "squaredeuclidean": 16, "squash": 14, "srtm": 8, "srtm_data_norway_1": 8, "stabil": 7, "stabl": [1, 2, 6, 7, 8, 11, 17, 23], "stack": [5, 6], "stage": [0, 7, 15], "stai": [2, 4, 6, 7, 13, 23], "stand": [2, 7, 11, 14, 23], "standard": [2, 3, 6, 7, 8, 9, 10, 12, 14, 18, 20, 23], "standardscal": [2, 8, 9, 10, 11, 12, 13], "stanford": 15, "start": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 23], "start_tim": 16, "stat": 8, "state": [3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 17, 20, 23], "statement": [2, 9, 18, 23], "statist": [2, 3, 5, 6, 9, 11, 12, 13, 14, 15, 16, 18, 22], "statu": [0, 2, 9, 23], "stavang": 8, "std": [2, 6, 8, 23], "steep": 15, "step": [0, 2, 3, 4, 6, 8, 9, 11, 12, 13, 14, 15, 16, 18, 23], "step_fn": [9, 14], "step_length": 15, "steps_list": 11, "stereo": 5, "still": [2, 4, 5, 7, 8, 13, 15, 20], "stimuli": 14, "stk": [22, 23], "stk2100": [22, 23], "stk3155": [0, 19, 21], "stk4021": [22, 23], "stk4051": [22, 23], "stk4155": [19, 21], "stk5000": 22, "stochast": [2, 3, 7, 8, 10, 13, 14, 23], "stock": 6, "stoke": 14, "stone": [2, 9], "stop": [3, 6, 11, 15, 16], "storag": 7, "store": [2, 3, 4, 5, 8, 13, 15, 20, 23], "storehaug": [21, 23], "str": [3, 5, 6], "straight": [2, 8, 10, 15, 23], "straightforward": [2, 4, 5, 7, 8, 10, 11, 12, 15, 18, 23], "strategi": [2, 3, 11, 23], "stratifi": 8, "strength": [2, 7, 16], "stretch": 13, "strict": [10, 15], "strictli": [10, 15], "stride": [6, 18], "strike": 8, "string": 3, "stroke": 9, "strong": [5, 8, 11, 12, 14, 18, 20], "strongli": [0, 2, 10, 17, 18], "stronli": 2, "structur": [2, 3, 4, 5, 8, 11, 12, 14, 17, 23], "stuck": [3, 15], "student": [0, 2, 19, 21, 22, 23], "studi": [2, 5, 6, 7, 8, 9, 10, 13, 14, 15, 17, 22, 23], "studier": 22, "style": [2, 9, 11, 18, 23], "st\u00f8land": 21, "sub": [11, 14], "subdivid": [2, 18, 23], "subfield": 2, "subject": [8, 10, 20], "submit": 23, "subplot": [2, 3, 5, 6, 8, 9, 10, 11, 12, 16, 23], "subplots_adjust": [10, 20], "subprogram": [18, 23], "subract": 2, "subroutin": [2, 23], "subscript": 3, "subsequ": [3, 6, 7, 8, 14, 18, 20], "subset": [3, 8, 11, 14, 15, 17, 23], "subspac": [2, 10, 13], "substanti": [11, 12], "substep": 13, "substitut": [1, 5, 8, 14, 18], "subsubset": 11, "subtask": 8, "subtl": 3, "subtract": [2, 6, 7, 8, 13, 15, 18, 20], "subtre": 11, "succeed": [2, 6, 23], "success": [5, 9, 11, 15, 20], "successfulli": [6, 11], "sudo": [2, 17, 23], "suffer": [2, 3, 4, 7, 12, 23], "suffici": [3, 8, 10, 13, 15], "suggest": [3, 15, 22], "suit": [10, 14], "suitabl": [0, 2, 20], "sum": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "sum_": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "sum_i": [2, 4, 7, 8, 10, 15], "sum_j": 8, "sum_ja_": 2, "sum_k": [8, 10, 14, 18], "sum_logist": 15, "sum_m": 5, "sum_n": 5, "sum_nx_": 5, "summar": [7, 8, 11], "summari": [3, 5, 6, 12, 19], "summat": [1, 2, 5], "sunni": 11, "super": 7, "superfici": 5, "superscript": [3, 14], "supervis": [2, 7, 8, 9, 11, 14, 17, 23], "supplement": 9, "support": [2, 3, 11, 12, 13, 15, 17, 23], "suppos": [2, 7, 8, 9, 10, 12, 13, 14, 15, 18, 23], "suppress": [7, 15], "sure": [1, 2, 3, 6, 8], "surf": 8, "surfac": [2, 8, 23], "surpass": 8, "surpris": [2, 23], "surround": [5, 17], "survei": [2, 7, 8, 23], "svc": [10, 11, 12], "svd": [2, 8, 13, 23], "svdinv": 7, "svm": [10, 11, 12, 13], "svm_clf": [10, 12], "swath": 7, "switch": 2, "sy": 15, "symbol": [3, 7, 13, 15, 17, 20, 23], "symmeteri": 3, "symmetr": [2, 7, 10, 13, 14, 15, 18, 23], "symmetri": 8, "sympi": [2, 17, 23], "synonim": 20, "syntax": 15, "system": [0, 2, 3, 5, 6, 8, 9, 11, 12, 14, 15, 17, 18, 23], "systemat": [6, 8], "t": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23], "t0": [5, 8, 15], "t1": [4, 15], "t2": 4, "t3": 4, "t_": 4, "t_0": [4, 11, 15], "t_1": 15, "t_b": 12, "t_i": [3, 4, 7, 14], "t_j": 14, "t_k": 11, "tabl": [11, 20, 21, 23], "tabul": [2, 23], "tabular": 23, "tackl": 6, "tag": [4, 5, 6, 7, 8, 9, 14, 15, 16, 18, 20], "taht": [2, 23], "tail": 20, "tailor": [4, 10, 13, 23], "taiwan": [2, 23], "take": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 23], "taken": [2, 3, 5, 8, 12, 15, 18], "tan": 5, "tangent": [3, 6, 14, 15], "tanh": [3, 6, 9, 10, 14], "target": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 23], "target_nam": 11, "task": [2, 3, 5, 8, 11, 13, 14, 16, 23], "tau": [5, 7, 20], "taught": 23, "tax": 2, "taylor": [4, 15], "taylornr": 15, "tc": 10, "teach": [0, 19, 23], "team": 3, "teaser": 2, "technic": [2, 7, 8, 15], "techniqu": [2, 3, 10, 12, 15, 17, 20, 22, 23], "technologi": [2, 3], "tell": [1, 2, 6, 8, 12, 13, 15, 20], "temp": 3, "temp1": 3, "temp2": 3, "temperatur": [2, 11, 23], "temporarili": 3, "ten": [5, 23], "tend": [5, 7, 8, 10, 11, 12, 14, 15, 16], "tendenc": [2, 23], "tension": 8, "tensor": 5, "tensorflow": [2, 4, 6, 10, 16, 17, 18, 22, 23], "term": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 23], "term1": [7, 8, 13], "term2": [7, 8, 13], "term3": [7, 8, 13], "term4": [7, 8, 13], "termin": [0, 2, 6, 7, 11, 12, 15], "terrain": 8, "terrain1": 8, "test": [1, 5, 6, 7, 8, 9, 10, 11, 12, 15, 18, 20, 23], "test_acc": 5, "test_accuraci": [3, 5], "test_error": 8, "test_imag": [5, 6], "test_ind": 8, "test_input": 6, "test_label": [5, 6], "test_loss": 5, "test_pr": 3, "test_predict": 3, "test_rnn": 6, "test_scor": [9, 12], "test_siz": [0, 2, 3, 5, 7, 8, 12], "test_split": 11, "testerror": [2, 8], "testi": 6, "testpredict": 6, "testx": 6, "text": [2, 3, 4, 6, 7, 10, 11, 13, 15, 18, 20, 22], "textbook": 1, "textual": 11, "textur": 3, "tf": [3, 5, 6, 15, 16], "th": [2, 3, 4, 7, 8, 9, 11, 14, 15, 16, 18, 20, 23], "than": [2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 20, 23], "thank": [6, 8], "theano": [3, 17, 23], "thei": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 20, 23], "them": [2, 3, 5, 6, 8, 10, 11, 12, 13, 14, 15, 18, 23], "theme": [0, 2, 23], "themselv": [2, 20, 23], "thenc": 8, "theorem": [4, 8, 9], "theoret": [2, 6, 12], "theori": [2, 3, 5, 10, 11, 14, 15, 17, 22, 23], "thereaft": [2, 7, 8, 13, 14, 18, 23], "therebi": [2, 7, 9, 13, 23], "therefor": [2, 3, 4, 5, 6, 8, 9, 10, 13, 15, 20, 23], "therein": 13, "thereof": [2, 8, 15, 23], "theta": [3, 6, 15, 20, 23], "theta_": [3, 15, 23], "theta_0": 23, "theta_0x_": 23, "theta_1": 23, "theta_1x_": 23, "theta_1x_0": 23, "theta_1x_1": 23, "theta_1x_2": 23, "theta_2": 23, "theta_2x_": 23, "theta_2x_0": 23, "theta_2x_1": 23, "theta_2x_2": 23, "theta_i": [3, 23], "theta_j": 23, "theta_linreg": 15, "theta_t": 15, "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "thing": [0, 1, 2, 3, 4, 6, 7, 9, 11, 20, 23], "think": [2, 3, 5, 6, 8, 11, 14, 15, 16, 20, 23], "third": [2, 5, 8, 15, 21, 23], "thirti": 9, "thorughout": 23, "those": [2, 5, 7, 8, 10, 11, 12, 13, 18, 23], "though": [1, 3, 4, 5, 6, 15, 18, 20], "thought": [8, 16, 20], "thousand": [2, 3], "three": [2, 3, 5, 7, 8, 10, 11, 14, 18, 19, 20, 21, 23], "threshold": [3, 5, 11, 12, 13, 14, 15], "through": [0, 2, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15, 16, 17, 18, 20, 23], "throughout": [0, 2, 6, 7, 16, 17, 18, 20, 23], "throw": [5, 8, 20], "thu": [2, 3, 4, 7, 8, 9, 10, 12, 13, 14, 15, 21, 23], "thumb": [2, 8], "tibshirani": [8, 22, 23], "tick_param": 8, "ticker": [8, 15, 20], "tif": 8, "tight_layout": [3, 9], "tightli": 13, "tild": [2, 7, 8, 9, 13, 20, 23], "till": [2, 6, 9, 10, 11, 12, 14, 18, 23], "time": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23], "timeit": 6, "timer": 6, "tini": 3, "tip": 5, "titl": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 15, 20, 23], "tmp": 15, "tn": [4, 5, 9], "to_categor": [3, 5, 6], "to_categorical_numpi": 3, "to_numer": [2, 8, 23], "todai": 5, "togeth": [2, 5, 8, 10, 13, 15, 17, 23], "toi": 16, "told": 15, "toler": [4, 16], "tolist": 6, "tomographi": 14, "too": [2, 4, 6, 7, 8, 11, 13, 15, 20, 22], "took": [10, 23], "tool": [0, 2, 3, 5, 8, 15, 17], "toolbox": 10, "top": [2, 5, 7, 8, 11, 12, 17, 23], "topic": [2, 7, 8, 9, 10, 17], "topolog": [5, 14], "topologi": [3, 14], "torkjellsdatt": [21, 23], "toss": [12, 20], "total": [2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 18, 20, 21, 23], "total_loss": 6, "totalclustervari": 16, "totalscatt": 16, "toward": [0, 3, 4, 9, 14, 15], "town": 2, "tp": [6, 9], "tpng": 11, "tpu": [15, 17, 23], "tqdm": 8, "track": [0, 5, 15, 16, 18], "tract": 2, "tractabl": [2, 23], "trade": [7, 11], "tradeoff": [2, 7, 23], "tradit": [2, 3, 6, 8, 23], "train": [1, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15], "train_accuraci": [2, 3, 5, 23], "train_dataset": 6, "train_end": [2, 3], "train_error": 8, "train_imag": [5, 6], "train_ind": 8, "train_label": [5, 6], "train_pr": 3, "train_siz": [2, 3, 5], "train_step": 6, "train_test_split": [0, 1, 2, 3, 5, 7, 8, 9, 11, 12, 13, 23], "train_test_split_numpi": [2, 3], "trainable_vari": 6, "trained_model": 8, "trainerror": 2, "traini": 6, "training_checkpoint": 6, "training_dataset": 6, "training_gradi": 15, "trainingerror": 8, "trainpredict": 6, "trainscor": 6, "trainx": 6, "trait": [2, 23], "trajectori": 6, "transfer": [11, 23], "transform": [2, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 23], "transit": [8, 14], "translat": [3, 6, 8, 12, 23], "transpos": [3, 7, 13, 18], "travers": [2, 7], "treat": [2, 3, 5, 8, 14, 15, 20, 23], "tree": [2, 3, 17, 23], "tree_clf": [11, 12], "tree_clf_": 11, "tree_clf_sr": 11, "tree_reg": 11, "tree_reg1": 11, "tree_reg2": 11, "trend": 20, "treue": 9, "trevor": 22, "tri": [1, 4, 5, 6, 11, 15], "triain": 2, "trial": [2, 4, 6, 8, 15, 20, 23], "triangl": 15, "triangular": 18, "trick": [5, 6, 10, 13, 15, 20], "trickier": 20, "tridiagon": 18, "trillion": 17, "trivial": [2, 3, 7, 13, 20, 23], "troubl": [0, 2, 10, 14], "truck": 5, "true": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 18, 20, 23], "true_beta": 8, "true_fun": 8, "truli": 23, "try": [0, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 23], "tucker": 10, "tuesdai": [21, 23], "tumor": [9, 11], "tumour": 9, "tunabl": 3, "tune": [6, 11, 15, 18, 23], "turn": [2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20, 23], "tutori": [3, 6], "tv": 4, "tveito": 4, "tweak": [3, 6, 12, 20], "twice": 15, "twist": 13, "two": [0, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 15, 18, 19, 20, 22, 23], "tx": 15, "tx_1": 15, "txt": [0, 6], "ty": 15, "type": [2, 3, 5, 8, 10, 12, 15, 18, 20], "typic": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 14, 15, 20, 23], "u": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 23], "u_": 18, "u_i": 14, "u_m": 12, "ua": [2, 23], "ubuntu": [2, 17, 23], "uci": 2, "uio": [0, 21, 22], "un": 16, "unabl": 0, "unari": [18, 23], "unbalanc": [8, 11], "unbias": [2, 7, 8, 23], "uncent": 8, "uncertainti": [2, 7, 23], "uncertitud": 20, "unchang": [3, 5], "uncorrel": [12, 20], "undefin": 7, "under": [2, 3, 7, 8, 12, 15, 17, 23], "underdetermin": [2, 23], "underfit": [3, 8], "underflowproblem": 7, "undergo": 7, "undergradu": [19, 21], "underli": [2, 3, 11, 15, 20, 23], "underset": [6, 16], "understand": [0, 2, 3, 5, 7, 8, 12, 15, 16, 17, 23], "understood": [10, 15], "undesir": 10, "undetermin": [7, 10], "undo": 6, "unexpect": 8, "unexpected": 20, "unfair": 8, "unfortun": [3, 10, 11, 12], "unicode_liter": [10, 11], "uniform": [2, 3, 7, 8, 13, 15, 20, 23], "uniformli": [15, 20], "unifrompdf": 20, "unimport": 15, "union": [7, 8], "uniqu": [2, 4, 8, 15, 16, 18, 23], "unique_cluster_label": 16, "unit": [2, 3, 5, 6, 7, 12, 14, 20, 23], "unitari": [7, 8, 18], "unitarili": [18, 23], "uniti": 20, "univari": 20, "univers": [2, 3, 4, 15, 17, 19, 21, 23], "unix": 3, "unknow": [2, 18, 23], "unknown": [2, 3, 5, 6, 7, 8, 10, 12, 15, 18, 23], "unknowwn": 14, "unlabel": 3, "unless": [2, 5, 8, 13, 15, 23], "unlik": [3, 5, 10, 15], "unnecessarili": 11, "unord": 5, "unravel": 3, "unrol": [5, 13], "unseen": [0, 2, 9, 11], "unstabl": 3, "unsupervis": [2, 3, 6, 14, 17, 23], "unsymmetr": [18, 23], "until": [3, 4, 6, 11, 14, 15, 16], "untouch": 2, "unusu": 14, "up": [1, 3, 5, 6, 7, 8, 10, 12, 13, 15, 16, 17, 18, 20, 21], "updat": [0, 3, 4, 12, 14, 15, 16], "uploa": 23, "upload": [0, 17, 22], "upon": [2, 3, 8, 9, 13, 18], "upper": [1, 2, 10, 11, 18], "uppercas": [18, 23], "upsampl": 6, "upscal": 6, "url": 23, "us": [0, 6, 7, 8, 10, 11, 12, 13, 14, 16, 18, 20, 22], "usag": [2, 10, 17, 23], "usd": 2, "usd10000": 2, "use_bia": 6, "usecol": [2, 23], "useless": 3, "user": [2, 3, 4, 6, 8, 9, 17, 18, 23], "usernam": 0, "usetex": 20, "usg": 8, "usr": 20, "usual": [2, 5, 6, 9, 14, 15, 16, 23], "ut": 7, "util": [3, 5, 6, 8, 9, 12, 16, 23], "ux": 18, "v": [0, 2, 4, 6, 7, 8, 13, 15, 17], "v0": 20, "v1": 20, "v2": 20, "v_0": 13, "va": 3, "vahid": 23, "val": 15, "val_accuraci": 5, "val_loss": 6, "vale": 4, "valid": [2, 3, 6, 9, 11, 12, 15, 17, 20, 23], "validation_data": 5, "validation_split": 6, "valu": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 23], "valuat": 11, "valy": 6, "van": [2, 23], "vandenbergh": [10, 15], "vandermond": [2, 23], "vanilla": [2, 8, 13, 16], "vanish": [3, 6, 15, 20], "var": [7, 8, 12, 13, 20], "var_x": 20, "varabl": 10, "varepsilon": [7, 8], "varepsilon_": [7, 8], "varepsilon_i": [7, 8], "vari": [2, 3, 5, 7, 8, 12, 23], "variabl": [2, 3, 4, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 23], "varianc": [2, 3, 7, 9, 11, 12, 13, 15, 16, 17, 18, 20, 23], "variance_i": [7, 13], "variance_x": [7, 13], "variant": [2, 3, 8, 10, 14, 15, 23], "variat": [5, 6, 13, 23], "varieti": [2, 5, 14, 17, 23], "variou": [1, 3, 5, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 20, 23], "varydimens": 6, "vastli": 5, "vaue": 3, "vault": 2, "vdot": [4, 15], "vec": 8, "vector": [2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 17], "vector_mean": 16, "ventur": [2, 10, 17, 23], "venv": 0, "verbos": [3, 5, 6], "veri": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 22, 23], "verifi": [5, 13, 18, 23], "versatil": [10, 23], "versicolor": [10, 11], "version": [0, 2, 5, 12, 15, 16, 17, 18, 20, 23], "versu": 3, "vert": [1, 2, 3, 7, 8, 9, 10, 11, 13, 15, 23], "vert_1": [7, 8], "vert_2": [7, 8, 13], "via": [2, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 23], "vidal": 13, "video": [2, 3, 14, 17, 19, 21, 23], "view": [3, 5, 7, 8, 14, 15, 20, 22, 23], "violat": 10, "virginica": 11, "viridi": [2, 3, 4, 5, 23], "virtual": 3, "viscos": 15, "viscou": 15, "visibl": 0, "vision": [2, 5], "visual": [2, 5, 13, 14, 17, 23], "visualis": 3, "visualstudio": [0, 1], "viz": [8, 10, 20], "vmap": 15, "vmax": [3, 8], "vmin": [3, 8], "voic": 5, "volum": [2, 5, 23], "vote": [12, 23], "voting_clf": 12, "votingclassifi": 12, "votingsimpl": 12, "vstack": [7, 13, 18, 20, 23], "vt": 7, "w": [2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 20, 23], "w1": 10, "w2": [10, 13], "w3": 10, "w_": [3, 14], "w_1": [10, 18], "w_1x_": 10, "w_1x_1": 10, "w_2": [10, 18], "w_2x_": 10, "w_2x_2": 10, "w_3": 18, "w_4": 18, "w_hidden": 4, "w_i": [3, 4, 12], "w_ix_i": 14, "w_j": 18, "w_m": 18, "w_output": 4, "w_px_": 10, "w_px_p": 10, "wa": [2, 3, 5, 6, 7, 8, 9, 12, 13, 14, 16, 18, 23], "wai": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 20, 23], "walk": 11, "walker": 20, "wang": [2, 23], "want": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 20, 23], "warn": [6, 23], "warrant": 8, "wast": 5, "watch": 17, "wave": 5, "wavelet": 10, "we": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22], "weak": [11, 12, 16], "weather": [3, 14], "web": [17, 19, 21, 23], "webpag": 23, "websit": [8, 18, 19, 23], "wedg": [10, 20], "wednesdai": [21, 23], "wee": 13, "week": [2, 7, 8, 9, 19, 21], "weekli": [0, 1, 17, 19, 21, 22, 23], "weekss": 0, "weight": [2, 3, 4, 5, 8, 9, 11, 12, 14, 15, 20], "weigth": 4, "welcom": [0, 10, 17], "well": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 17, 18, 20, 22, 23], "went": 10, "were": [2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 20, 23], "wessel": [2, 23], "what": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20], "whatev": 5, "when": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "whenev": [0, 15, 20], "where": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23], "wherea": [8, 20], "wherein": [3, 14], "whether": [2, 5, 7, 9, 11, 20, 23], "which": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23], "whichev": [3, 5], "while": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 20, 23], "white": 11, "who": [0, 2], "whole": [3, 5, 6, 7, 11, 13, 15], "whose": [2, 8, 12, 20], "whow": 13, "why": [0, 1, 2, 3, 5, 8, 15], "wide": [2, 3, 5, 8, 9, 14, 17, 18, 23], "widehat": 8, "width": [2, 5, 10, 11, 23], "wieringen": [2, 23], "win": 12, "wind": 11, "wing": [21, 23], "winther": 4, "wiothout": 8, "wiscons": 9, "wisconsin": 12, "wisdom": 8, "wise": [2, 3, 7, 14, 15], "wish": [2, 4, 7, 9, 10, 13, 15, 16, 18, 23], "with_std": 2, "wither": 8, "within": [2, 4, 5, 6, 9, 11, 14, 15, 16, 20, 22, 23], "withinclust": 16, "without": [0, 2, 3, 7, 8, 10, 11, 13, 14, 15, 23], "won": [0, 2, 23], "wonder": 10, "word": [2, 3, 5, 6, 7, 8, 9, 16, 20, 23], "work": [0, 1, 2, 3, 6, 8, 9, 10, 11, 15, 17, 19, 20, 21, 23], "workshop": 23, "world": [1, 2, 10], "worldwid": [2, 23], "worri": 0, "wors": [2, 3, 5, 6, 8, 23], "worth": 11, "would": [1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20, 23], "wrap": [8, 18, 23], "write": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 14, 15, 18, 23], "written": [1, 2, 4, 5, 7, 13, 14, 15, 17, 18, 20, 23], "wrong": [0, 3, 10], "wrongli": 12, "wrote": [7, 13], "wrt": [12, 15], "wth": [12, 15], "www": [17, 18, 22, 23], "wx_1": 10, "x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "x0": 10, "x1": [6, 10, 11, 12, 15], "x1_exampl": 10, "x1d": 10, "x2": [10, 11, 12, 15], "x2d": [10, 13], "x2d_train": 13, "x2dsl": 13, "x3": 10, "x_": [2, 4, 5, 7, 8, 10, 12, 13, 15, 16, 18, 20, 23], "x_0": [2, 7, 13, 18, 23], "x_1": [2, 4, 7, 8, 9, 10, 11, 12, 13, 15, 18, 20, 23], "x_2": [2, 4, 7, 8, 9, 10, 11, 12, 13, 15, 18, 20, 23], "x_3": [10, 18, 20], "x_4": 18, "x_center": 13, "x_data": 3, "x_data_ful": 3, "x_hidden": 4, "x_i": [2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "x_input": 4, "x_ix_": [2, 23], "x_iy_i": 10, "x_j": [1, 2, 4, 10, 11, 14, 20], "x_jy_j": 10, "x_k": [14, 16, 18, 20], "x_l": 20, "x_m": [8, 14, 18, 20], "x_n": [2, 4, 5, 8, 10, 13, 14, 15, 18, 20, 23], "x_new": [11, 12], "x_offset": 8, "x_output": 4, "x_p": [5, 9, 11], "x_poli": 11, "x_poly10": 11, "x_pred": 6, "x_prev": 4, "x_reduc": 13, "x_scale": 10, "x_small": 15, "x_test": [0, 1, 2, 3, 5, 7, 8, 9, 11, 12, 13], "x_test_own": 8, "x_test_scal": [2, 8, 9, 11, 12, 13], "x_tot": 6, "x_train": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 23], "x_train_mean": 8, "x_train_own": 8, "x_train_scal": [2, 8, 9, 11, 12, 13], "x_val": 3, "xarrai": [17, 23], "xavier": 3, "xbnew": 15, "xcode": [2, 17, 23], "xdclassiffierconfus": 12, "xdclassiffierroc": 12, "xg_clf": 12, "xgb": 12, "xgbclassifi": 12, "xgboost": 11, "xgboot": 12, "xgbregressor": 12, "xgparam": 12, "xgtree": 12, "xi": [10, 15], "xi_": 10, "xi_1": 10, "xi_i": 10, "xk": 10, "xla": [15, 17, 23], "xlabel": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 20, 23], "xlim": [8, 12], "xm": 11, "xmesh": 15, "xnew": [2, 15, 23], "xp": 20, "xpanda": 2, "xpd": [7, 13], "xplot": 2, "xscale": 2, "xsr": 11, "xt_x": 15, "xtest": 8, "xtick": [5, 8, 10, 11], "xtrain": 8, "xu": [2, 23], "xx": [2, 18, 23], "xy": [2, 8, 10, 18, 23], "xytext": 10, "xz": [18, 23], "y": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "y1": 6, "y2": 6, "y3": 6, "y_": [2, 3, 7, 8, 12, 13, 18, 23], "y_0": [2, 7, 13, 18, 23], "y_1": [2, 7, 10, 11, 13, 15, 18, 23], "y_1y_1": 10, "y_1y_1k": 10, "y_1y_2": 10, "y_1y_2k": 10, "y_1y_n": 10, "y_1y_nk": 10, "y_2": [2, 7, 10, 11, 13, 18, 23], "y_2y_1": 10, "y_2y_1k": 10, "y_2y_2": 10, "y_2y_2k": 10, "y_3": [2, 11, 18], "y_4": 18, "y_data": [2, 3, 7, 8, 23], "y_data_ful": 3, "y_decis": 10, "y_fit": 2, "y_i": [2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 23], "y_if_": 12, "y_ix_": [2, 23], "y_ix_i": [9, 10, 15], "y_iy_jk": 10, "y_j": [8, 10, 14], "y_k": 14, "y_m": 18, "y_model": [2, 6, 7, 8, 23], "y_n": [10, 15], "y_ny_1": 10, "y_ny_1k": 10, "y_ny_2": 10, "y_ny_2k": 10, "y_ny_n": 10, "y_ny_nk": 10, "y_offset": 8, "y_plot": 11, "y_pred": [2, 3, 6, 8, 9, 10, 11, 12], "y_pred1": 11, "y_pred2": 11, "y_pred_rf": 12, "y_pred_tre": 12, "y_proba": [9, 12], "y_scaler": 8, "y_test": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13], "y_test_onehot": 3, "y_test_predict": 2, "y_tot": 6, "y_train": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 23], "y_train_mean": 8, "y_train_onehot": 3, "y_train_predict": 2, "y_train_scal": 8, "y_val": 3, "ye": [5, 8, 9], "year": [2, 17, 23], "yet": [2, 3, 8, 10, 13, 15, 23], "yi": 15, "yield": [2, 4, 7, 8, 10, 12, 14, 15, 16, 18, 20, 23], "yk": 10, "ylabel": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 20, 23], "ylim": [5, 8], "ym": 11, "ymesh": 15, "yn": 2, "yo": [10, 11, 12], "yoshua": [3, 22], "you": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 15, 17, 18, 20, 21, 22, 23], "young": 2, "your": [0, 3, 4, 6, 7, 8, 10, 13, 15, 17, 18, 23], "your_model_object": 1, "yourself": [13, 15, 23], "youtub": 17, "ypred": 8, "ypredict": [2, 15, 23], "ypredict2": 15, "ypredictlasso": 7, "ypredictol": [2, 7], "ypredictown": 8, "ypredictownridg": 8, "ypredictridg": [2, 7, 8], "ypredictskl": 8, "ytest": 8, "ytick": [5, 8, 10, 11], "ytild": [2, 8, 23], "ytildelasso": 7, "ytildenp": [2, 23], "ytildeol": [2, 7], "ytildeownridg": 8, "ytilderidg": [7, 8], "ytrain": 8, "yuxi": 23, "yx": [18, 23], "yy": [18, 23], "yz": [18, 23], "z": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 20, 23], "z_": [3, 4, 14, 18, 23], "z_0": [18, 23], "z_1": [18, 23], "z_2": [18, 23], "z_c": 3, "z_h": 3, "z_hidden": 4, "z_i": [3, 14], "z_j": [3, 14], "z_k": 14, "z_m": 3, "z_mod": 11, "z_o": 3, "z_output": 4, "zaman": 20, "zaxi": 8, "zero": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23], "zeros_lik": 6, "zfill": 6, "zip": [6, 8], "zm_h": [2, 23], "zn": 2, "zone": 2, "zoom": 23, "zx": [18, 23], "zy": [18, 23], "zz": [18, 23], "\u00f8yvind": 8}, "titles": ["Exercises week 34", "Exercises week 35", "3. Linear Regression", "14. Building a Feed Forward Neural Network", "15. Solving Differential Equations with Deep Learning", "16. Convolutional Neural Networks", "17. Recurrent neural networks: Overarching view", "4. Ridge and Lasso Regression", "5. Resampling Methods", "6. Logistic Regression", "8. Support Vector Machines, overarching aims", "9. Decision trees, overarching aims", "10. Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods", "11. Basic ideas of the Principal Component Analysis (PCA)", "13. Neural networks", "7. Optimization, the central part of any Machine Learning algortithm", "12. Clustering and Unsupervised Learning", "Applied Data Analysis and Machine Learning", "2. Linear Algebra, Handling of Arrays and more Python Features", "Course setting", "1. Elements of Probability Theory and Statistical Data Analysis", "Teachers and Grading", "Textbooks", "Week 34: Introduction to the course, Logistics and Practicalities"], "titleterms": {"": [10, 12], "1": [0, 1, 2], "2": [0, 1, 2, 23], "2023": 21, "3": [0, 1, 2], "34": [0, 23], "35": 1, "4": [0, 1, 2], "5": [1, 2], "A": [2, 3, 6, 10, 11, 23], "And": 23, "In": 21, "Ising": 8, "The": [0, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 17, 23], "To": 23, "With": 6, "about": 23, "activ": [3, 14], "ad": [2, 8, 23], "adaboost": 12, "adagrad": 15, "adam": 15, "adapt": 12, "adjust": 3, "adversari": 6, "again": [5, 11], "ai": 23, "aim": [10, 11, 23], "aka": 23, "algebra": [18, 23], "algorithm": [11, 12, 13, 14, 23], "algortithm": 15, "all": 10, "an": [0, 2, 6, 12, 23], "analys": 7, "analysi": [2, 7, 8, 13, 17, 20, 23], "analyt": [1, 2], "ani": 15, "anoth": 11, "appli": 17, "approach": [2, 10, 16, 23], "approxim": 14, "architectur": 3, "arrai": [18, 23], "assist": 21, "autocorrel": 20, "autograd": [4, 15], "automat": 15, "back": [3, 13, 14], "background": 17, "bag": 12, "base": 15, "basic": [2, 7, 9, 11, 12, 13, 18], "batch": 3, "bay": 7, "befor": 13, "better": 10, "bia": 8, "binari": 3, "bind": 23, "bird": 12, "boost": 12, "bootstrap": [8, 12], "boston": 2, "breast": 3, "brief": 23, "bring": 14, "build": [3, 5, 11], "c": 23, "can": 23, "cancer": [3, 9, 11, 13], "cart": 11, "case": [10, 12, 20], "central": [15, 17, 20], "chain": 14, "chang": 12, "channel": 23, "chi": [2, 23], "choos": 3, "cifar01": 5, "classic": 13, "classif": [3, 11, 12], "classifi": 10, "clip": 3, "cluster": 16, "cnn": 5, "code": [0, 1, 2, 3, 4, 7, 11, 13, 14, 15, 16, 23], "collect": [3, 5], "commun": 23, "compar": [1, 4, 12], "complex": [2, 8], "complic": 8, "compon": 13, "comput": 11, "computerlab": 23, "con": 11, "concept": 20, "conjug": 15, "contn": 23, "convex": [10, 15], "convolut": [5, 14], "correl": 13, "cost": [3, 12], "cours": [17, 19, 22, 23], "covari": [7, 13, 20], "cover": 23, "creat": 1, "cross": 8, "cython": 23, "data": [0, 2, 3, 5, 8, 9, 11, 13, 17, 20, 23], "dataset": [3, 5], "david": 23, "deadlin": 23, "deadllin": 21, "decai": 4, "decis": [11, 12], "decomposit": [7, 13, 18], "deeep": 23, "deep": [3, 4, 23], "defin": [3, 23], "degre": 2, "deliver": [0, 1], "dens": 2, "deriv": [1, 7, 14], "descent": [4, 12, 15], "detail": [5, 23], "develop": 3, "diagon": 13, "differ": 10, "differenti": [4, 15], "diffus": 4, "dimension": [4, 5, 10], "disadvantag": 11, "discret": 20, "discrimin": 23, "distribut": [7, 20], "do": 3, "domain": 20, "down": 3, "dropout": 3, "element": [2, 20, 23], "elimin": 18, "energi": 23, "ensembl": 12, "entropi": 11, "environ": [0, 2], "equat": [2, 4, 14], "error": [2, 12, 23], "essenti": 23, "etc": 23, "euler": 4, "evalu": 3, "exampl": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 23], "exercis": [0, 1, 2, 8], "expect": 20, "experi": 20, "explor": 2, "exponenti": 4, "express": 1, "extrapol": 6, "extrem": [12, 23], "ey": 12, "fall": 21, "famili": [3, 23], "famou": 18, "featur": [1, 11, 18], "feed": [3, 14], "final": 14, "find": 1, "fine": 3, "first": [6, 14, 23], "fit": [0, 1, 2, 12, 23], "forc": 5, "forest": 12, "format": 23, "forward": [3, 4, 14], "foster": 23, "fourier": 5, "frank": 8, "freedom": 2, "frequentist": [2, 23], "from": [7, 12, 14, 23], "full": 4, "function": [2, 3, 8, 9, 10, 12, 13, 14, 15, 20, 23], "further": [5, 7], "gan": 6, "gaussian": 18, "gd": 15, "gener": [6, 11, 23], "geometr": 13, "gini": 11, "github": 0, "goal": [0, 1], "good": [2, 23], "grade": [21, 23], "gradient": [3, 4, 12, 15], "growth": 4, "ha": 17, "handl": [18, 23], "hidden": 4, "hous": 2, "how": 1, "hyperparamet": 3, "hyperplan": 10, "i": [2, 3, 23], "id3": 11, "idea": 13, "ii": 23, "implement": [1, 3], "implic": 7, "import": [7, 18, 23], "improv": 3, "includ": 15, "increment": 13, "index": 11, "inform": 21, "input": 4, "instal": [17, 23], "instructor": 21, "interpret": [7, 13, 23], "introduc": [13, 15], "introduct": [2, 8, 17, 18, 23], "invers": [7, 18], "iter": 12, "jax": 15, "julia": 23, "jungl": 12, "kera": [3, 5], "kernel": [10, 13], "lagrangian": 10, "lasso": [7, 8], "later": 7, "layer": [3, 4, 5, 14], "learn": [0, 1, 2, 3, 4, 13, 15, 16, 17, 23], "least": [1, 7, 8, 23], "lectur": 23, "level": 12, "librari": [17, 23], "likelihood": 9, "limit": [3, 15, 20], "linear": [0, 2, 10, 15, 18, 23], "link": [7, 13, 22], "logist": [9, 23], "lu": 18, "machin": [2, 10, 15, 17, 23], "main": [20, 23], "make": [2, 11, 12], "mani": [12, 14], "mass": 23, "materi": 23, "math": 7, "mathemat": [5, 7, 10], "matric": [7, 18, 23], "matrix": [1, 3, 7, 13, 14, 18, 23], "matter": 2, "mean": 2, "meet": [7, 12, 20, 23], "mercer": 10, "method": [8, 11, 12, 15, 23], "minim": 23, "ml": 23, "mlp": 14, "mnist": [5, 6], "model": [0, 2, 3, 6, 8, 14, 23], "momentum": 15, "moon": [10, 11], "more": [5, 8, 18, 23], "multilay": 14, "multipl": [3, 5], "multipli": 10, "need": 23, "network": [3, 4, 5, 6, 9, 14, 23], "neural": [3, 4, 5, 6, 9, 14, 23], "new": 6, "non": 10, "normal": [2, 3], "notat": 14, "now": [3, 11, 15], "nuclear": [2, 23], "numba": 23, "number": [2, 4, 20], "numer": [4, 20], "numpi": [18, 23], "object": 5, "obtain": 13, "od": 4, "off": 8, "ol": [0, 1, 7, 8], "one": [4, 14], "oper": 18, "optim": [3, 10, 15, 17, 23], "order": 15, "ordinari": [1, 7, 8, 23], "organ": [2, 23], "oslo": 22, "other": [6, 11, 13, 14, 18, 23], "our": [2, 6, 7, 13, 15, 23], "outcom": [17, 23], "output": 4, "overarch": [2, 6, 10, 11, 23], "overview": [12, 23], "own": [2, 12, 13, 23], "packag": [18, 23], "panda": 23, "paramet": 23, "part": [15, 17], "partial": 4, "pass": 3, "pca": 13, "pdf": 20, "perceptron": 14, "perform": [3, 11], "period": 5, "perspect": 3, "plethora": 23, "point": 6, "poisson": 4, "polynomi": [1, 5], "popul": 4, "popular": 23, "practic": [15, 21, 23], "pre": [3, 5], "predict": 6, "prerequisit": [5, 17, 23], "princip": 13, "principl": 5, "pro": 11, "probabl": [7, 20], "problem": [3, 4, 15, 23], "procedur": [11, 23], "process": [3, 5], "program": [4, 15], "project": [8, 21, 23], "prop": 15, "propag": [3, 14], "properti": [7, 20], "python": [0, 2, 11, 17, 18, 23], "quick": 10, "r": 23, "random": [12, 13, 20], "read": [11, 23], "real": [8, 23], "recommend": 23, "recurr": [6, 14], "reduc": 2, "reduct": 5, "reformul": 4, "regress": [0, 2, 7, 8, 9, 11, 12, 15, 23], "regular": 3, "relev": 22, "relu": 3, "remark": 5, "remind": [8, 10, 23], "replac": 15, "repositori": 0, "requir": [4, 17], "resampl": 8, "rescal": 8, "resourc": 4, "revisit": 15, "rewrit": 23, "ridg": [2, 7, 8], "rm": 15, "rule": 14, "same": 15, "sampl": 13, "schedul": 23, "schemat": 11, "scheme": 4, "scienc": 23, "scikit": [2, 3, 13, 23], "second": 15, "semest": 21, "set": [0, 2, 4, 5, 11, 14, 19, 23], "setup": 0, "sgd": 15, "should": 3, "similar": 15, "simpl": [2, 6, 11, 15, 23], "singl": 12, "singular": [7, 13], "sklearn": 1, "soft": 10, "softmax": 3, "softwar": 23, "solv": 4, "solver": 15, "some": [15, 18], "specifi": 4, "split": [0, 2], "squar": [1, 2, 7, 8, 12, 23], "standard": 15, "state": 2, "statist": [7, 8, 17, 20, 23], "steepest": [12, 15], "stochast": [15, 20], "strongli": 23, "suggest": 23, "summari": [21, 23], "superposit": 5, "supervis": 3, "support": 10, "svd": 7, "systemat": 5, "take": 1, "taken": 23, "teach": 21, "teacher": [21, 23], "techniqu": [8, 13], "technologi": 17, "tensorflow": [3, 5], "tent": [21, 23], "test": [0, 2, 3], "text": 23, "textbook": [22, 23], "theorem": [7, 10, 13, 14, 20], "theori": 20, "thi": 23, "tip": 15, "togeth": 14, "tool": 23, "top": 3, "topic": 23, "toward": 13, "trade": 8, "tradeoff": 8, "train": [0, 2, 3, 6, 23], "transform": 5, "tree": [11, 12], "tune": 3, "two": [5, 10, 17], "type": [4, 6, 14, 23], "uio": 23, "univers": [14, 22], "unsupervis": 16, "up": [0, 2, 4, 11, 14, 23], "us": [1, 2, 3, 4, 5, 9, 15, 17, 23], "v": 5, "valid": 8, "valu": [7, 13, 20], "variabl": 20, "varianc": 8, "variou": 2, "vector": [1, 10, 14, 18, 23], "versu": 23, "view": [2, 6, 12], "virtual": 0, "visual": [3, 11], "wai": 11, "wave": 4, "we": 23, "week": [0, 1, 23], "what": [2, 23], "which": 3, "why": 23, "wisconsin": 9, "write": [6, 13], "xgboost": 12, "your": [1, 2, 12]}}) \ No newline at end of file diff --git a/doc/LectureNotes/_build/html/statistics.html b/doc/LectureNotes/_build/html/statistics.html index ed9fbeda2..609f35222 100644 --- a/doc/LectureNotes/_build/html/statistics.html +++ b/doc/LectureNotes/_build/html/statistics.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/teachers.html b/doc/LectureNotes/_build/html/teachers.html index c0cafd37c..46b911239 100644 --- a/doc/LectureNotes/_build/html/teachers.html +++ b/doc/LectureNotes/_build/html/teachers.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/textbooks.html b/doc/LectureNotes/_build/html/textbooks.html index 342915ee7..5bc6ed51d 100644 --- a/doc/LectureNotes/_build/html/textbooks.html +++ b/doc/LectureNotes/_build/html/textbooks.html @@ -28,7 +28,7 @@ - + diff --git a/doc/LectureNotes/_build/html/week34.html b/doc/LectureNotes/_build/html/week34.html index 4e128dcdf..1364bb6bb 100644 --- a/doc/LectureNotes/_build/html/week34.html +++ b/doc/LectureNotes/_build/html/week34.html @@ -28,7 +28,7 @@ - + @@ -398,6 +398,12 @@ document.write(`
  • Types of Machine Learning
  • Essential elements of ML
  • An optimization/minimization problem
  • +
  • The plethora of machine learning algorithms/methods
  • +
  • What Is Generative Modeling?
  • +
  • Example of generative modeling, taken from Generative Deep Learning by David Foster
  • +
  • Generative Versus Discriminative Modeling
  • +
  • Example of discriminative modeling, taken from Generative Deeep Learning by David Foster
  • +
  • Discriminative Modeling
  • A Frequentist approach to data analysis
  • What is a good model?
  • What is a good model? Can we define it?
  • @@ -441,13 +447,6 @@ document.write(`
  • The \(\chi^2\) function
  • The \(\chi^2\) function
  • The \(\chi^2\) function
  • -
  • Fitting an Equation of State for Dense Nuclear Matter
  • -
  • The code
  • -
  • Splitting our Data in Training and Test data
  • -
  • Exercises
  • -
  • Exercise 1: Setting up various Python environments
  • -
  • Exercise 2: making your own data and exploring scikit-learn
  • -
  • Exercise 3: Split data in test and training data
  • @@ -463,7 +462,7 @@ document.write(` doconce format html week34.do.txt --no_mako -->

    Week 34: Introduction to the course, Logistics and Practicalities#

    -

    Morten Hjorth-Jensen, Department of Physics and Center for Computing in Science Education, University of Oslo, Norway and Department of Physics and Astronomy and Facility for Rare Isotope Beams, Michigan State University, USA

    +

    Morten Hjorth-Jensen, Department of Physics and Center for Computing in Science Education, University of Oslo, Norway

    Date: Week 34, August 18-22, 2025

    Overview of first week#

    @@ -480,7 +479,7 @@ doconce format html week34.do.txt --no_mako -->
  • On Mondays we have a regular lecture which will be organized as a mix of active learning sessions and regular lectures. These lectures/active learning sessions start at 215pm and end at 4pm and serve the aims of giving an overview over various topics as well as solving specific problems. These lectures will also be recorded. Lectures can be attended in person or via zoom at https://uio.zoom.us/my/mortenhj

  • -

    The labs are also available till 6pm Tuesdays and Wednesdays. Videos and learning material with reading suggestions will be made available before each week starts.

    +

    Videos and learning material with reading suggestions will be made available before each week starts.

    Schedule first week#

    @@ -506,9 +505,8 @@ doconce format html week34.do.txt --no_mako -->

    Communication channels#

    -
    +

    Course Format#

      @@ -533,7 +531,7 @@ doconce format html week34.do.txt --no_mako -->
  • Ida Torkjellsdatter Storehaug, i.t.storehaug@fys.uio.no

  • -
  • Eivind Støland, eivinsto@fys.uio.no

  • +
  • Oskar Leinonen, oskarlei@fys.uio.no

  • Mia-Katrin Ose Kvalsund, m.k.o.kvalsund@fys.uio.no

  • Karl Henrik Fredly, k.h.fredly@fys.uio.no

  • Eir Eline Hørlyk, e.e.horlyk@fys.uio.no

  • @@ -565,8 +563,7 @@ doconce format html week34.do.txt --no_mako -->

    Reading material#

    -

    The lecture notes are collected as a jupyter-book at https://compphysics.github.io/MachineLearning/doc/LectureNotes/_build/html/intro.html. -The lecture notes can also be retrieved as a standard PDF file at https://compphysics.github.io/MachineLearning/doc/LectureNotes/MLbook.pdf.

    +

    The lecture notes are collected as a jupyter-book at https://compphysics.github.io/MachineLearning/doc/LectureNotes/_build/html/intro.html.

    In addition to the lecture notes, we recommend the books of Rasckha et al and Goodfellow et al. We will follow these texts closely and the weekly reading assignments refer to these texts. The text by Hastie et @@ -736,6 +733,61 @@ whether we deal with supervised or unsupervised learning.

    An optimization/minimization problem#

    At the heart of basically all Machine Learning algorithms we will encounter so-called minimization or optimization algorithms. A large family of such methods are so-called gradient methods.

    +
    +

    The plethora of machine learning algorithms/methods#

    +
      +
    1. Deep learning: Neural Networks (NNs), Convolutional NNs, Recurrent NNs, Transformers, Boltzmann machines, autoencoders and variational autoencoders and generative adversarial networks and other generative models

    2. +
    3. Bayesian statistics and Bayesian Machine Learning, Bayesian experimental design, Bayesian Regression models, Bayesian neural networks, Gaussian processes and much more

    4. +
    5. Dimensionality reduction (Principal component analysis), Clustering Methods and more

    6. +
    7. Ensemble Methods, Random forests, bagging and voting methods, gradient boosting approaches

    8. +
    9. Linear and logistic regression, Kernel methods, support vector machines and more

    10. +
    11. Reinforcement Learning; Transfer Learning and more

    12. +
    +
    +
    +

    What Is Generative Modeling?#

    +

    Generative modeling can be broadly defined as follows:

    +

    Generative modeling is a branch of machine learning that involves +training a model to produce new data that is similar to a given +dataset.

    +

    What does this mean in practice? Suppose we have a dataset containing +photos of horses. We can train a generative model on this dataset to +capture the rules that govern the complex relationships between pixels +in images of horses. Then we can sample from this model to create +novel, realistic images of horses that did not exist in the original +dataset.

    +
    +
    +

    Example of generative modeling, taken from Generative Deep Learning by David Foster#

    + + +

    Figure 1:

    +
    +
    +

    Generative Versus Discriminative Modeling#

    +

    In order to truly understand what generative modeling aims to achieve +and why this is important, it is useful to compare it to its +counterpart, discriminative modeling. If you have studied machine +learning, most problems you will have faced will have most likely been +discriminative in nature.

    +
    +
    +

    Example of discriminative modeling, taken from Generative Deeep Learning by David Foster#

    + + +

    Figure 1:

    +
    +
    +

    Discriminative Modeling#

    +

    When performing discriminative modeling, each observation in the +training data has a label. For a binary classification problem such as +our data could be labeled as ones and zeros. Our model then learns how to +discriminate between these two groups and outputs the probability that +a new observation has label 1 or 0

    +

    In contrast, generative modeling doesn’t require the dataset to be +labeled because it concerns itself with generating entirely new +data (for example an image), rather than trying to predict a label for say a given image.

    +

    A Frequentist approach to data analysis#

    When you hear phrases like predictions and estimations and @@ -927,7 +979,7 @@ developed in the 1970s, namely EISPACK and LINPACK. We describe them shortly he

    Numpy provides an easy way to handle arrays in Python. The standard way to import this library is as

    -
    import numpy as np
    +
    import numpy as np
     
    @@ -935,9 +987,9 @@ developed in the 1970s, namely EISPACK and LINPACK. We describe them shortly he

    Here follows a simple example where we set up an array of ten elements, all determined by random numbers drawn according to the normal distribution,

    -
    n = 10
    -x = np.random.normal(size=n)
    -print(x)
    +
    n = 10
    +x = np.random.normal(size=n)
    +print(x)
     
    @@ -946,9 +998,9 @@ print(x) Another alternative is to declare a vector as follows

    -
    import numpy as np
    -x = np.array([1, 2, 3])
    -print(x)
    +
    import numpy as np
    +x = np.array([1, 2, 3])
    +print(x)
     
    @@ -957,9 +1009,9 @@ print(x) start numbering array elements from \(0\) and on. This means that a vector with \(n\) elements has a sequence of entities \(x_0, x_1, x_2, \dots, x_{n-1}\). We could also let (recommended) Numpy to compute the logarithms of a specific array as

    -
    import numpy as np
    -x = np.log(np.array([4, 7, 8]))
    -print(x)
    +
    import numpy as np
    +x = np.log(np.array([4, 7, 8]))
    +print(x)
     
    @@ -973,12 +1025,12 @@ from Python’s math module. The looping is done explicitely by logarithms of a vector would be to write

    -
    import numpy as np
    -from math import log
    -x = np.array([4, 7, 8])
    -for i in range(0, len(x)):
    -    x[i] = log(x[i])
    -print(x)
    +
    import numpy as np
    +from math import log
    +x = np.array([4, 7, 8])
    +for i in range(0, len(x)):
    +    x[i] = log(x[i])
    +print(x)
     
    @@ -987,9 +1039,9 @@ print(x) The attentive reader will also notice that the output is \([1, 1, 2]\). Python interprets automagically our numbers as integers (like the automatic keyword in C++). To change this we could define our array elements to be double precision numbers as

    -
    import numpy as np
    -x = np.log(np.array([4, 7, 8], dtype = np.float64))
    -print(x)
    +
    import numpy as np
    +x = np.log(np.array([4, 7, 8], dtype = np.float64))
    +print(x)
     
    @@ -997,9 +1049,9 @@ print(x)

    or simply write them as double precision numbers (Python uses 64 bits as default for floating point type variables), that is

    -
    import numpy as np
    -x = np.log(np.array([4.0, 7.0, 8.0]))
    -print(x)
    +
    import numpy as np
    +x = np.log(np.array([4.0, 7.0, 8.0]))
    +print(x)
     
    @@ -1007,9 +1059,9 @@ print(x)

    To check the number of bytes (remember that one byte contains eight bits for double precision variables), you can use simple use the itemsize functionality (the array \(x\) is actually an object which inherits the functionalities defined in Numpy) as

    -
    import numpy as np
    -x = np.log(np.array([4.0, 7.0, 8.0]))
    -print(x.itemsize)
    +
    import numpy as np
    +x = np.log(np.array([4.0, 7.0, 8.0]))
    +print(x.itemsize)
     
    @@ -1022,9 +1074,9 @@ define a \(3 \times 3 \) real lowercase letters for vectors and uppercase letters for matrices)

    -
    import numpy as np
    -A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))
    -print(A)
    +
    import numpy as np
    +A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))
    +print(A)
     
    @@ -1032,10 +1084,10 @@ print(A)

    If we use the shape function we would get \((3, 3)\) as output, that is verifying that our matrix is a \(3\times 3\) matrix. We can slice the matrix and print for example the first column (Python organized matrix elements in a row-major order, see below) as

    -
    import numpy as np
    -A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))
    -# print the first column, row-major order and elements start with 0
    -print(A[:,0])
    +
    import numpy as np
    +A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))
    +# print the first column, row-major order and elements start with 0
    +print(A[:,0])
     
    @@ -1043,10 +1095,10 @@ print(A[:,0])

    We can continue this was by printing out other columns or rows. The example here prints out the second column

    -
    import numpy as np
    -A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))
    -# print the first column, row-major order and elements start with 0
    -print(A[1,:])
    +
    import numpy as np
    +A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))
    +# print the first column, row-major order and elements start with 0
    +print(A[1,:])
     
    @@ -1054,11 +1106,11 @@ print(A[1,:])

    Numpy contains many other functionalities that allow us to slice, subdivide etc etc arrays. We strongly recommend that you look up the Numpy website for more details. Useful functions when defining a matrix are the np.zeros function which declares a matrix of a given dimension and sets all elements to zero

    -
    import numpy as np
    -n = 10
    -# define a matrix of dimension 10 x 10 and set all elements to zero
    -A = np.zeros( (n, n) )
    -print(A)
    +
    import numpy as np
    +n = 10
    +# define a matrix of dimension 10 x 10 and set all elements to zero
    +A = np.zeros( (n, n) )
    +print(A)
     
    @@ -1066,11 +1118,11 @@ print(A)

    or initializing all elements to

    -
    import numpy as np
    -n = 10
    -# define a matrix of dimension 10 x 10 and set all elements to one
    -A = np.ones( (n, n) )
    -print(A)
    +
    import numpy as np
    +n = 10
    +# define a matrix of dimension 10 x 10 and set all elements to one
    +A = np.ones( (n, n) )
    +print(A)
     
    @@ -1078,11 +1130,11 @@ print(A)

    or as unitarily distributed random numbers (see the material on random number generators in the statistics part)

    -
    import numpy as np
    -n = 10
    -# define a matrix of dimension 10 x 10 and set all elements to random numbers with x \in [0, 1]
    -A = np.random.rand(n, n)
    -print(A)
    +
    import numpy as np
    +n = 10
    +# define a matrix of dimension 10 x 10 and set all elements to random numbers with x \in [0, 1]
    +A = np.random.rand(n, n)
    +print(A)
     
    @@ -1118,40 +1170,40 @@ function np.mean(x). We can also extract the eigenvalues of the covariance matrix through the np.linalg.eig() function.

    -
    # Importing various packages
    -import numpy as np
    +
    # Importing various packages
    +import numpy as np
     
    -n = 100
    -x = np.random.normal(size=n)
    -print(np.mean(x))
    -y = 4+3*x+np.random.normal(size=n)
    -print(np.mean(y))
    -z = x**3+np.random.normal(size=n)
    -print(np.mean(z))
    -W = np.vstack((x, y, z))
    -Sigma = np.cov(W)
    -print(Sigma)
    -Eigvals, Eigvecs = np.linalg.eig(Sigma)
    -print(Eigvals)
    +n = 100
    +x = np.random.normal(size=n)
    +print(np.mean(x))
    +y = 4+3*x+np.random.normal(size=n)
    +print(np.mean(y))
    +z = x**3+np.random.normal(size=n)
    +print(np.mean(z))
    +W = np.vstack((x, y, z))
    +Sigma = np.cov(W)
    +print(Sigma)
    +Eigvals, Eigvecs = np.linalg.eig(Sigma)
    +print(Eigvals)
     
    -
    %matplotlib inline
    +
    %matplotlib inline
     
    -import numpy as np
    -import matplotlib.pyplot as plt
    -from scipy import sparse
    -eye = np.eye(4)
    -print(eye)
    -sparse_mtx = sparse.csr_matrix(eye)
    -print(sparse_mtx)
    -x = np.linspace(-10,10,100)
    -y = np.sin(x)
    -plt.plot(x,y,marker='x')
    -plt.show()
    +import numpy as np
    +import matplotlib.pyplot as plt
    +from scipy import sparse
    +eye = np.eye(4)
    +print(eye)
    +sparse_mtx = sparse.csr_matrix(eye)
    +print(sparse_mtx)
    +x = np.linspace(-10,10,100)
    +y = np.sin(x)
    +plt.plot(x,y,marker='x')
    +plt.show()
     
    @@ -1172,15 +1224,15 @@ analysis tools for Python. pandas stands for panel data, a term

    The following simple example shows how we can, in an easy way make tables of our data. Here we define a data set which includes names, place of birth and date of birth, and displays the data in an easy to read way. We will see repeated use of pandas, in particular in connection with classification of data.

    -
    import pandas as pd
    -from IPython.display import display
    -data = {'First Name': ["Frodo", "Bilbo", "Aragorn II", "Samwise"],
    -        'Last Name': ["Baggins", "Baggins","Elessar","Gamgee"],
    -        'Place of birth': ["Shire", "Shire", "Eriador", "Shire"],
    -        'Date of Birth T.A.': [2968, 2890, 2931, 2980]
    -        }
    -data_pandas = pd.DataFrame(data)
    -display(data_pandas)
    +
    import pandas as pd
    +from IPython.display import display
    +data = {'First Name': ["Frodo", "Bilbo", "Aragorn II", "Samwise"],
    +        'Last Name': ["Baggins", "Baggins","Elessar","Gamgee"],
    +        'Place of birth': ["Shire", "Shire", "Eriador", "Shire"],
    +        'Date of Birth T.A.': [2968, 2890, 2931, 2980]
    +        }
    +data_pandas = pd.DataFrame(data)
    +display(data_pandas)
     
    @@ -1191,8 +1243,8 @@ Displaying these results, we see that the indices are given by the default numbe pandas is extremely flexible and we can easily change the above indices by defining a new type of indexing as

    -
    data_pandas = pd.DataFrame(data,index=['Frodo','Bilbo','Aragorn','Sam'])
    -display(data_pandas)
    +
    data_pandas = pd.DataFrame(data,index=['Frodo','Bilbo','Aragorn','Sam'])
    +display(data_pandas)
     
    @@ -1200,7 +1252,7 @@ display(data_pandas)

    Thereafter we display the content of the row which begins with the index Aragorn

    -
    display(data_pandas.loc['Aragorn'])
    +
    display(data_pandas.loc['Aragorn'])
     
    @@ -1208,13 +1260,13 @@ display(data_pandas)

    We can easily append data to this, for example

    -
    new_hobbit = {'First Name': ["Peregrin"],
    -              'Last Name': ["Took"],
    -              'Place of birth': ["Shire"],
    -              'Date of Birth T.A.': [2990]
    -              }
    -data_pandas=data_pandas.append(pd.DataFrame(new_hobbit, index=['Pippin']))
    -display(data_pandas)
    +
    new_hobbit = {'First Name': ["Peregrin"],
    +              'Last Name': ["Took"],
    +              'Place of birth': ["Shire"],
    +              'Date of Birth T.A.': [2990]
    +              }
    +data_pandas=data_pandas.append(pd.DataFrame(new_hobbit, index=['Pippin']))
    +display(data_pandas)
     
    @@ -1223,19 +1275,19 @@ display(data_pandas) of dimensionality \(10\times 5\) and compute the mean value and standard deviation of each column. Similarly, we can perform mathematial operations like squaring the matrix elements and many other operations.

    -
    import numpy as np
    -import pandas as pd
    -from IPython.display import display
    -np.random.seed(100)
    -# setting up a 10 x 5 matrix
    -rows = 10
    -cols = 5
    -a = np.random.randn(rows,cols)
    -df = pd.DataFrame(a)
    -display(df)
    -print(df.mean())
    -print(df.std())
    -display(df**2)
    +
    import numpy as np
    +import pandas as pd
    +from IPython.display import display
    +np.random.seed(100)
    +# setting up a 10 x 5 matrix
    +rows = 10
    +cols = 5
    +a = np.random.randn(rows,cols)
    +df = pd.DataFrame(a)
    +display(df)
    +print(df.mean())
    +print(df.std())
    +display(df**2)
     
    @@ -1243,24 +1295,24 @@ display(df**2)

    Thereafter we can select specific columns only and plot final results

    -
    df.columns = ['First', 'Second', 'Third', 'Fourth', 'Fifth']
    -df.index = np.arange(10)
    +
    df.columns = ['First', 'Second', 'Third', 'Fourth', 'Fifth']
    +df.index = np.arange(10)
     
    -display(df)
    -print(df['Second'].mean() )
    -print(df.info())
    -print(df.describe())
    +display(df)
    +print(df['Second'].mean() )
    +print(df.info())
    +print(df.describe())
     
    -from pylab import plt, mpl
    -plt.style.use('seaborn')
    -mpl.rcParams['font.family'] = 'serif'
    +from pylab import plt, mpl
    +plt.style.use('seaborn')
    +mpl.rcParams['font.family'] = 'serif'
     
    -df.cumsum().plot(lw=2.0, figsize=(10,6))
    -plt.show()
    +df.cumsum().plot(lw=2.0, figsize=(10,6))
    +plt.show()
     
     
    -df.plot.bar(figsize=(10,6), rot=15)
    -plt.show()
    +df.plot.bar(figsize=(10,6), rot=15)
    +plt.show()
     
    @@ -1268,10 +1320,10 @@ plt.show()

    We can produce a \(4\times 4\) matrix

    -
    b = np.arange(16).reshape((4,4))
    -print(b)
    -df1 = pd.DataFrame(b)
    -print(df1)
    +
    b = np.arange(16).reshape((4,4))
    +print(b)
    +df1 = pd.DataFrame(b)
    +print(df1)
     
    @@ -1329,25 +1381,25 @@ data with a straight line.

    The Python code follows here.

    -
    # Importing various packages
    -import numpy as np
    -import matplotlib.pyplot as plt
    -from sklearn.linear_model import LinearRegression
    +
    # Importing various packages
    +import numpy as np
    +import matplotlib.pyplot as plt
    +from sklearn.linear_model import LinearRegression
     
    -x = np.random.rand(100,1)
    -y = 2*x+np.random.randn(100,1)
    -linreg = LinearRegression()
    -linreg.fit(x,y)
    -xnew = np.array([[0],[1]])
    -ypredict = linreg.predict(xnew)
    +x = np.random.rand(100,1)
    +y = 2*x+np.random.randn(100,1)
    +linreg = LinearRegression()
    +linreg.fit(x,y)
    +xnew = np.array([[0],[1]])
    +ypredict = linreg.predict(xnew)
     
    -plt.plot(xnew, ypredict, "r-")
    -plt.plot(x, y ,'ro')
    -plt.axis([0,1.0,0, 5.0])
    -plt.xlabel(r'$x$')
    -plt.ylabel(r'$y$')
    -plt.title(r'Simple Linear Regression')
    -plt.show()
    +plt.plot(xnew, ypredict, "r-")
    +plt.plot(x, y ,'ro')
    +plt.axis([0,1.0,0, 5.0])
    +plt.xlabel(r'$x$')
    +plt.ylabel(r'$y$')
    +plt.title(r'Simple Linear Regression')
    +plt.show()
     
    @@ -1413,22 +1465,22 @@ to be dominated by outliers.

    We can modify easily the above Python code and plot the relative error instead

    -
    import numpy as np
    -import matplotlib.pyplot as plt
    -from sklearn.linear_model import LinearRegression
    +
    import numpy as np
    +import matplotlib.pyplot as plt
    +from sklearn.linear_model import LinearRegression
     
    -x = np.random.rand(100,1)
    -y = 5*x+0.01*np.random.randn(100,1)
    -linreg = LinearRegression()
    -linreg.fit(x,y)
    -ypredict = linreg.predict(x)
    +x = np.random.rand(100,1)
    +y = 5*x+0.01*np.random.randn(100,1)
    +linreg = LinearRegression()
    +linreg.fit(x,y)
    +ypredict = linreg.predict(x)
     
    -plt.plot(x, np.abs(ypredict-y)/abs(y), "ro")
    -plt.axis([0,1.0,0.0, 0.5])
    -plt.xlabel(r'$x$')
    -plt.ylabel(r'$\epsilon_{\mathrm{relative}}$')
    -plt.title(r'Relative error')
    -plt.show()
    +plt.plot(x, np.abs(ypredict-y)/abs(y), "ro")
    +plt.axis([0,1.0,0.0, 0.5])
    +plt.xlabel(r'$x$')
    +plt.ylabel(r'$\epsilon_{\mathrm{relative}}$')
    +plt.title(r'Relative error')
    +plt.show()
     
    @@ -1445,33 +1497,33 @@ other properties from the statistical data analysis.

    example of the functionality of Scikit-Learn.

    -
    import numpy as np 
    -import matplotlib.pyplot as plt 
    -from sklearn.linear_model import LinearRegression 
    -from sklearn.metrics import mean_squared_error, r2_score, mean_squared_log_error, mean_absolute_error
    +
    import numpy as np 
    +import matplotlib.pyplot as plt 
    +from sklearn.linear_model import LinearRegression 
    +from sklearn.metrics import mean_squared_error, r2_score, mean_squared_log_error, mean_absolute_error
     
    -x = np.random.rand(100,1)
    -y = 2.0+ 5*x+0.5*np.random.randn(100,1)
    -linreg = LinearRegression()
    -linreg.fit(x,y)
    -ypredict = linreg.predict(x)
    -print('The intercept alpha: \n', linreg.intercept_)
    -print('Coefficient beta : \n', linreg.coef_)
    -# The mean squared error                               
    -print("Mean squared error: %.2f" % mean_squared_error(y, ypredict))
    -# Explained variance score: 1 is perfect prediction                                 
    -print('Variance score: %.2f' % r2_score(y, ypredict))
    -# Mean squared log error                                                        
    -print('Mean squared log error: %.2f' % mean_squared_log_error(y, ypredict) )
    -# Mean absolute error                                                           
    -print('Mean absolute error: %.2f' % mean_absolute_error(y, ypredict))
    -plt.plot(x, ypredict, "r-")
    -plt.plot(x, y ,'ro')
    -plt.axis([0.0,1.0,1.5, 7.0])
    -plt.xlabel(r'$x$')
    -plt.ylabel(r'$y$')
    -plt.title(r'Linear Regression fit ')
    -plt.show()
    +x = np.random.rand(100,1)
    +y = 2.0+ 5*x+0.5*np.random.randn(100,1)
    +linreg = LinearRegression()
    +linreg.fit(x,y)
    +ypredict = linreg.predict(x)
    +print('The intercept alpha: \n', linreg.intercept_)
    +print('Coefficient beta : \n', linreg.coef_)
    +# The mean squared error                               
    +print("Mean squared error: %.2f" % mean_squared_error(y, ypredict))
    +# Explained variance score: 1 is perfect prediction                                 
    +print('Variance score: %.2f' % r2_score(y, ypredict))
    +# Mean squared log error                                                        
    +print('Mean squared log error: %.2f' % mean_squared_log_error(y, ypredict) )
    +# Mean absolute error                                                           
    +print('Mean absolute error: %.2f' % mean_absolute_error(y, ypredict))
    +plt.plot(x, ypredict, "r-")
    +plt.plot(x, y ,'ro')
    +plt.axis([0.0,1.0,1.5, 7.0])
    +plt.xlabel(r'$x$')
    +plt.ylabel(r'$y$')
    +plt.title(r'Linear Regression fit ')
    +plt.show()
     
    @@ -1604,57 +1656,39 @@ After having downloaded this file to our own computer, we are now ready to read

    We start with preparing folders for storing our calculations and the data file over masses and binding energies. We import also various modules that we will find useful in order to present various Machine Learning methods. Here we focus mainly on the functionality of scikit-learn.

    -
    # Common imports
    -import numpy as np
    -import pandas as pd
    -import matplotlib.pyplot as plt
    -import sklearn.linear_model as skl
    -from sklearn.model_selection import train_test_split
    -from sklearn.metrics import mean_squared_error, r2_score, mean_absolute_error
    -import os
    +
    # Common imports
    +import numpy as np
    +import pandas as pd
    +import matplotlib.pyplot as plt
    +import sklearn.linear_model as skl
    +from sklearn.model_selection import train_test_split
    +from sklearn.metrics import mean_squared_error, r2_score, mean_absolute_error
    +import os
     
    -# Where to save the figures and data files
    -PROJECT_ROOT_DIR = "Results"
    -FIGURE_ID = "Results/FigureFiles"
    -DATA_ID = "DataFiles/"
    +# Where to save the figures and data files
    +PROJECT_ROOT_DIR = "Results"
    +FIGURE_ID = "Results/FigureFiles"
    +DATA_ID = "DataFiles/"
     
    -if not os.path.exists(PROJECT_ROOT_DIR):
    -    os.mkdir(PROJECT_ROOT_DIR)
    +if not os.path.exists(PROJECT_ROOT_DIR):
    +    os.mkdir(PROJECT_ROOT_DIR)
     
    -if not os.path.exists(FIGURE_ID):
    -    os.makedirs(FIGURE_ID)
    +if not os.path.exists(FIGURE_ID):
    +    os.makedirs(FIGURE_ID)
     
    -if not os.path.exists(DATA_ID):
    -    os.makedirs(DATA_ID)
    +if not os.path.exists(DATA_ID):
    +    os.makedirs(DATA_ID)
     
    -def image_path(fig_id):
    -    return os.path.join(FIGURE_ID, fig_id)
    +def image_path(fig_id):
    +    return os.path.join(FIGURE_ID, fig_id)
     
    -def data_path(dat_id):
    -    return os.path.join(DATA_ID, dat_id)
    +def data_path(dat_id):
    +    return os.path.join(DATA_ID, dat_id)
     
    -def save_fig(fig_id):
    -    plt.savefig(image_path(fig_id) + ".png", format='png')
    +def save_fig(fig_id):
    +    plt.savefig(image_path(fig_id) + ".png", format='png')
     
    -infile = open(data_path("MassEval2016.dat"),'r')
    -
    -
    -
    -
    -

    Before we proceed, we define also a function for making our plots. You can obviously avoid this and simply set up various matplotlib commands every time you need them. You may however find it convenient to collect all such commands in one function and simply call this function.

    -
    -
    -
    from pylab import plt, mpl
    -plt.style.use('seaborn')
    -mpl.rcParams['font.family'] = 'serif'
    -
    -def MakePlot(x,y, styles, labels, axlabels):
    -    plt.figure(figsize=(10,6))
    -    for i in range(len(x)):
    -        plt.plot(x[i], y[i], styles[i], label = labels[i])
    -        plt.xlabel(axlabels[0])
    -        plt.ylabel(axlabels[1])
    -    plt.legend(loc=0)
    +infile = open(data_path("MassEval2016.dat"),'r')
     
    @@ -1667,16 +1701,16 @@ data) to actually open the file and simply take a look at it!

    In particular, the program that outputs the final nuclear masses is written in Fortran with a specific format. It means that we need to figure out the format and which columns contain the data we are interested in. Pandas comes with a function that reads formatted output. After having admired the file, we are now ready to start massaging it with pandas. The file begins with some basic format information.

    -
    """                                                                                                                         
    -This is taken from the data file of the mass 2016 evaluation.                                                               
    -All files are 3436 lines long with 124 character per line.                                                                  
    -       Headers are 39 lines long.                                                                                           
    -   col 1     :  Fortran character control: 1 = page feed  0 = line feed                                                     
    -   format    :  a1,i3,i5,i5,i5,1x,a3,a4,1x,f13.5,f11.5,f11.3,f9.3,1x,a2,f11.3,f9.3,1x,i3,1x,f12.5,f11.5                     
    -   These formats are reflected in the pandas widths variable below, see the statement                                       
    -   widths=(1,3,5,5,5,1,3,4,1,13,11,11,9,1,2,11,9,1,3,1,12,11,1),                                                            
    -   Pandas has also a variable header, with length 39 in this case.                                                          
    -"""
    +
    """                                                                                                                         
    +This is taken from the data file of the mass 2016 evaluation.                                                               
    +All files are 3436 lines long with 124 character per line.                                                                  
    +       Headers are 39 lines long.                                                                                           
    +   col 1     :  Fortran character control: 1 = page feed  0 = line feed                                                     
    +   format    :  a1,i3,i5,i5,i5,1x,a3,a4,1x,f13.5,f11.5,f11.3,f9.3,1x,a2,f11.3,f9.3,1x,i3,1x,f12.5,f11.5                     
    +   These formats are reflected in the pandas widths variable below, see the statement                                       
    +   widths=(1,3,5,5,5,1,3,4,1,13,11,11,9,1,2,11,9,1,3,1,12,11,1),                                                            
    +   Pandas has also a variable header, with length 39 in this case.                                                          
    +"""
     
    @@ -1687,24 +1721,24 @@ respectively. We add also for the sake of completeness the element name. The dat covert them into the pandas DataFrame structure.

    -
    # Read the experimental data with Pandas
    -Masses = pd.read_fwf(infile, usecols=(2,3,4,6,11),
    -              names=('N', 'Z', 'A', 'Element', 'Ebinding'),
    -              widths=(1,3,5,5,5,1,3,4,1,13,11,11,9,1,2,11,9,1,3,1,12,11,1),
    -              header=39,
    -              index_col=False)
    +
    # Read the experimental data with Pandas
    +Masses = pd.read_fwf(infile, usecols=(2,3,4,6,11),
    +              names=('N', 'Z', 'A', 'Element', 'Ebinding'),
    +              widths=(1,3,5,5,5,1,3,4,1,13,11,11,9,1,2,11,9,1,3,1,12,11,1),
    +              header=39,
    +              index_col=False)
     
    -# Extrapolated values are indicated by '#' in place of the decimal place, so
    -# the Ebinding column won't be numeric. Coerce to float and drop these entries.
    -Masses['Ebinding'] = pd.to_numeric(Masses['Ebinding'], errors='coerce')
    -Masses = Masses.dropna()
    -# Convert from keV to MeV.
    -Masses['Ebinding'] /= 1000
    +# Extrapolated values are indicated by '#' in place of the decimal place, so
    +# the Ebinding column won't be numeric. Coerce to float and drop these entries.
    +Masses['Ebinding'] = pd.to_numeric(Masses['Ebinding'], errors='coerce')
    +Masses = Masses.dropna()
    +# Convert from keV to MeV.
    +Masses['Ebinding'] /= 1000
     
    -# Group the DataFrame by nucleon number, A.
    -Masses = Masses.groupby('A')
    -# Find the rows of the grouped DataFrame with the maximum binding energy.
    -Masses = Masses.apply(lambda t: t[t.Ebinding==t.Ebinding.max()])
    +# Group the DataFrame by nucleon number, A.
    +Masses = Masses.groupby('A')
    +# Find the rows of the grouped DataFrame with the maximum binding energy.
    +Masses = Masses.apply(lambda t: t[t.Ebinding==t.Ebinding.max()])
     
    @@ -1720,12 +1754,31 @@ to make some simple fits using both the functionalities in numpy\(A\), the number of protons \(Z\) and the number of neutrons \(N\), the element name and finally the energies themselves.

    -
    A = Masses['A']
    -Z = Masses['Z']
    -N = Masses['N']
    -Element = Masses['Element']
    -Energies = Masses['Ebinding']
    -print(Masses)
    +
    A = Masses['A']
    +Z = Masses['Z']
    +N = Masses['N']
    +Element = Masses['Element']
    +Energies = Masses['Ebinding']
    +print(Masses)
    +
    +
    +
    +
    +
                N    Z    A Element  Ebinding
    +A                                        
    +4   0       1    3    4      Li  1.153760
    +5   2       3    2    5      He  5.512132
    +6   7       3    3    6      Li  5.332331
    +7   12      4    3    7      Li  5.606439
    +8   17      4    4    8      Be  7.062435
    +...       ...  ...  ...     ...       ...
    +264 3297  156  108  264      Hs  7.298375
    +265 3303  157  108  265      Hs  7.296247
    +266 3310  158  108  266      Hs  7.298273
    +269 3331  159  110  269      Ds  7.250154
    +270 3337  160  110  270      Ds  7.253775
    +
    +[264 rows x 5 columns]
     
    @@ -1734,13 +1787,13 @@ print(Masses) It has dimensionality \(p\times n\), where \(n\) is the number of data points and \(p\) are the so-called predictors. In our case here they are given by the number of polynomials in \(A\) we wish to include in the fit.

    -
    # Now we set up the design matrix X
    -X = np.zeros((len(A),5))
    -X[:,0] = 1
    -X[:,1] = A
    -X[:,2] = A**(2.0/3.0)
    -X[:,3] = A**(-1.0/3.0)
    -X[:,4] = A**(-1.0)
    +
    # Now we set up the design matrix X
    +X = np.zeros((len(A),5))
    +X[:,0] = 1
    +X[:,1] = A
    +X[:,2] = A**(2.0/3.0)
    +X[:,3] = A**(-1.0/3.0)
    +X[:,4] = A**(-1.0)
     
    @@ -1748,8 +1801,8 @@ X[:,4] = A**(-1.0)

    With scikitlearn we are now ready to use linear regression and fit our data.

    -
    clf = skl.LinearRegression().fit(X, Energies)
    -fity = clf.predict(X)
    +
    clf = skl.LinearRegression().fit(X, Energies)
    +fity = clf.predict(X)
     
    @@ -1758,29 +1811,39 @@ fity = clf.predict(X) Now we can print measures of how our fit is doing, the coefficients from the fits and plot the final fit together with our data.

    -
    # The mean squared error                               
    -print("Mean squared error: %.2f" % mean_squared_error(Energies, fity))
    -# Explained variance score: 1 is perfect prediction                                 
    -print('Variance score: %.2f' % r2_score(Energies, fity))
    -# Mean absolute error                                                           
    -print('Mean absolute error: %.2f' % mean_absolute_error(Energies, fity))
    -print(clf.coef_, clf.intercept_)
    +
    # The mean squared error                               
    +print("Mean squared error: %.2f" % mean_squared_error(Energies, fity))
    +# Explained variance score: 1 is perfect prediction                                 
    +print('Variance score: %.2f' % r2_score(Energies, fity))
    +# Mean absolute error                                                           
    +print('Mean absolute error: %.2f' % mean_absolute_error(Energies, fity))
    +print(clf.coef_, clf.intercept_)
     
    -Masses['Eapprox']  = fity
    -# Generate a plot comparing the experimental with the fitted values values.
    -fig, ax = plt.subplots()
    -ax.set_xlabel(r'$A = N + Z$')
    -ax.set_ylabel(r'$E_\mathrm{bind}\,/\mathrm{MeV}$')
    -ax.plot(Masses['A'], Masses['Ebinding'], alpha=0.7, lw=2,
    -            label='Ame2016')
    -ax.plot(Masses['A'], Masses['Eapprox'], alpha=0.7, lw=2, c='m',
    -            label='Fit')
    -ax.legend()
    -save_fig("Masses2016")
    -plt.show()
    +Masses['Eapprox']  = fity
    +# Generate a plot comparing the experimental with the fitted values values.
    +fig, ax = plt.subplots()
    +ax.set_xlabel(r'$A = N + Z$')
    +ax.set_ylabel(r'$E_\mathrm{bind}\,/\mathrm{MeV}$')
    +ax.plot(Masses['A'], Masses['Ebinding'], alpha=0.7, lw=2,
    +            label='Ame2016')
    +ax.plot(Masses['A'], Masses['Eapprox'], alpha=0.7, lw=2, c='m',
    +            label='Fit')
    +ax.legend()
    +save_fig("Masses2016")
    +plt.show()
     
    +
    +
    Mean squared error: 0.02
    +Variance score: 0.95
    +Mean absolute error: 0.05
    +[ 0.00000000e+00 -2.96611194e-02  2.01719003e-01  1.08078025e+01
    + -4.03097597e+01] 5.294399745619595
    +
    +
    +_images/df7b764b543c6e41eeaa5ee2d1d6e85e9f6c059c7cab9b3fc7a2f38d7dfb90ec.png +
    @@ -1789,40 +1852,91 @@ plt.show() functionality.

    -
    from sklearn.neural_network import MLPRegressor
    -from sklearn.metrics import accuracy_score
    -import seaborn as sns
    +
    from sklearn.neural_network import MLPRegressor
    +from sklearn.metrics import accuracy_score
    +import seaborn as sns
     
     
    -X_train = X
    -Y_train = Energies
    -n_hidden_neurons = 50
    -epochs = 100
    -# store models for later use
    -eta_vals = np.logspace(-3, 0, 4)
    -lmbd_vals = np.logspace(-3, 0, 4)
    -# store the models for later use
    -DNN_scikit = np.zeros((len(eta_vals), len(lmbd_vals)), dtype=object)
    -train_accuracy = np.zeros((len(eta_vals), len(lmbd_vals)))
    -sns.set()
    -for i, eta in enumerate(eta_vals):
    -    for j, lmbd in enumerate(lmbd_vals):
    -        dnn = MLPRegressor(hidden_layer_sizes=(n_hidden_neurons), activation='relu', solver='adam',
    -                            alpha=lmbd, learning_rate_init=eta, max_iter=epochs)
    -        dnn.fit(X_train, Y_train)
    -        DNN_scikit[i][j] = dnn
    -        train_accuracy[i][j] = dnn.score(X_train, Y_train)
    -        fity = dnn.predict(X_train)
    -        MSE = mean_squared_error(Y_train, fity)
    -        print("Mean squared error: %.2f" % mean_squared_error(Y_train, fity))
    -        train_accuracy[i][j] = MSE
    -fig, ax = plt.subplots(figsize = (10, 10))
    -sns.heatmap(train_accuracy, annot=True, ax=ax, cmap="viridis")
    -ax.set_title("Training Accuracy")
    -ax.set_ylabel("$\eta$")
    -ax.set_xlabel("$\lambda$")
    -plt.show()
    -print(train_accuracy)
    +X_train = X
    +Y_train = Energies
    +n_hidden_neurons = 50
    +epochs = 100
    +# store models for later use
    +eta_vals = np.logspace(-3, 0, 4)
    +lmbd_vals = np.logspace(-3, 0, 4)
    +# store the models for later use
    +DNN_scikit = np.zeros((len(eta_vals), len(lmbd_vals)), dtype=object)
    +train_accuracy = np.zeros((len(eta_vals), len(lmbd_vals)))
    +sns.set()
    +for i, eta in enumerate(eta_vals):
    +    for j, lmbd in enumerate(lmbd_vals):
    +        dnn = MLPRegressor(hidden_layer_sizes=(n_hidden_neurons), activation='relu', solver='adam',
    +                            alpha=lmbd, learning_rate_init=eta, max_iter=epochs)
    +        dnn.fit(X_train, Y_train)
    +        DNN_scikit[i][j] = dnn
    +        train_accuracy[i][j] = dnn.score(X_train, Y_train)
    +        fity = dnn.predict(X_train)
    +        MSE = mean_squared_error(Y_train, fity)
    +        print("Mean squared error: %.2f" % mean_squared_error(Y_train, fity))
    +        train_accuracy[i][j] = MSE
    +fig, ax = plt.subplots(figsize = (10, 10))
    +sns.heatmap(train_accuracy, annot=True, ax=ax, cmap="viridis")
    +ax.set_title("Training Accuracy")
    +ax.set_ylabel("$\eta$")
    +ax.set_xlabel("$\lambda$")
    +plt.show()
    +print(train_accuracy)
    +
    +
    +
    +
    +
    /Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
    +  warnings.warn(
    +/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
    +  warnings.warn(
    +/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
    +  warnings.warn(
    +
    +
    +
    Mean squared error: 1.73
    +Mean squared error: 19.48
    +Mean squared error: 12.11
    +Mean squared error: 23.42
    +Mean squared error: 0.23
    +Mean squared error: 0.18
    +Mean squared error: 0.29
    +Mean squared error: 0.20
    +Mean squared error: 0.26
    +Mean squared error: 4.07
    +Mean squared error: 2.12
    +Mean squared error: 7.54
    +
    +
    +
    /Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
    +  warnings.warn(
    +/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
    +  warnings.warn(
    +/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
    +  warnings.warn(
    +/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
    +  warnings.warn(
    +/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
    +  warnings.warn(
    +/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
    +  warnings.warn(
    +
    +
    +
    Mean squared error: 15.78
    +Mean squared error: 122.02
    +Mean squared error: 51.22
    +Mean squared error: 152.55
    +
    +
    +_images/1b1c59fe24a1c61677966d3734d014c13848c51a6e194c77783efd4db527d26b.png +
    [[  1.7304881   19.47958494  12.11340253  23.41589548]
    + [  0.22948497   0.18392847   0.29364655   0.20072279]
    + [  0.26303845   4.06730814   2.11590451   7.5411205 ]
    + [ 15.77893972 122.02334824  51.2167072  152.54894451]]
     
    @@ -1842,11 +1956,11 @@ Now it is time to dive more into the details of various methods. We will start w

    Why Linear Regression (aka Ordinary Least Squares and family)#

    -

    Fitting a continuous function with linear parameterization in terms of the parameters \(\boldsymbol{\beta}\).

    +

    Fitting a continuous function with linear parameterization in terms of the parameters \(\boldsymbol{\theta}\).

    • Method of choice for fitting a continuous function!

    • Gives an excellent introduction to central Machine Learning features with understandable pedagogical links to other methods like Neural Networks, Support Vector Machines etc

    • -
    • Analytical expression for the fitting parameters \(\boldsymbol{\beta}\)

    • +
    • Analytical expression for the fitting parameters \(\boldsymbol{\theta}\)

    • Analytical expressions for statistical propertiers like mean values, variances, confidence intervals and more

    • Analytical relation with probabilistic interpretations

    • Easy to introduce basic concepts like bias-variance tradeoff, cross-validation, resampling and regularization techniques and many other ML topics

    • @@ -1860,12 +1974,13 @@ Similarly,

      Regression analysis, overarching aims#

      Regression modeling deals with the description of the sampling distribution of a given random variable \(y\) and how it varies as function of another variable or a set of such variables \(\boldsymbol{x} =[x_0, x_1,\dots, x_{n-1}]^T\). -The first variable is called the dependent, the outcome or the response variable while the set of variables \(\boldsymbol{x}\) is called the independent variable, or the predictor variable or the explanatory variable, or simply just the inputs.

      +The first variable \(y\) is called the the outcome or the response variable, or simply just the outputs.

      +

      The set of variables \(\boldsymbol{x}\) is called the independent variable, or the predictor variable or the explanatory variable, or simply just the inputs. We will throughout the course just use inputs and outputs as names.

      A regression model aims at finding a likelihood function \(p(\boldsymbol{y}\vert \boldsymbol{x})\) or in the more traditional sense a function \(\boldsymbol{y}(\boldsymbol{x})\), that is the conditional distribution for \(\boldsymbol{y}\) with a given \(\boldsymbol{x}\). The estimation of \(p(\boldsymbol{y}\vert \boldsymbol{x})\) is made using a data set with

      • \(n\) cases \(i = 0, 1, 2, \dots, n-1\)

      • -
      • Response (target, dependent or outcome) variable \(y_i\) with \(i = 0, 1, 2, \dots, n-1\)

      • -
      • \(p\) so-called explanatory (independent or predictor or feature) variables \(\boldsymbol{x}_i=[x_{i0}, x_{i1}, \dots, x_{ip-1}]\) with \(i = 0, 1, 2, \dots, n-1\) and explanatory variables running from \(0\) to \(p-1\). See below for more explicit examples.

      • +
      • Response (our output) variable \(y_i\) with \(i = 0, 1, 2, \dots, n-1\)

      • +
      • \(p\) so-called explanatory (independent or predictor or feature) variables \(\boldsymbol{x}_i=[x_{i0}, x_{i1}, \dots, x_{ip-1}]\) with \(i = 0, 1, 2, \dots, n-1\) and explanatory variables running from \(0\) to \(p-1\). These are the inputs. See below for more explicit examples.

      The goal of the regression analysis is to extract/exploit relationship between \(\boldsymbol{y}\) and \(\boldsymbol{x}\) in order to infer specific dependencies, approximations to the likelihood functions, functional relationships and to make predictions, making fits and many other things.

    @@ -1883,9 +1998,9 @@ regression analysis is to explain \(\ f(\mathbf{X}_{i,\ast})\). When no prior knowledge on the form of \(f(\cdot)\) is available, it is common to assume a linear relationship between \(\boldsymbol{X}\) and \(\boldsymbol{y}\). This assumption gives rise to -the linear regression model where \(\boldsymbol{\beta} = [\beta_0, \ldots, -\beta_{p-1}]^{T}\) are the regression parameters.

    -

    Linear regression gives us a set of analytical equations for the parameters \(\beta_j\).

    +the linear regression model where \(\boldsymbol{\theta} = [\theta_0, \ldots, +\theta_{p-1}]^{T}\) are the regression parameters.

    +

    Linear regression gives us a set of analytical equations for the parameters \(\theta_j\).

    Examples#

    @@ -1909,7 +2024,7 @@ so-called \(y\) which are not in the present set. The perhaps simplest approach is to assume we can parametrize our function in terms of a polynomial of degree \(n-1\) with \(n\) points, that is

    \[ -y=y(x) \rightarrow y(x_i)=\tilde{y}_i+\epsilon_i=\sum_{j=0}^{n-1} \beta_j x_i^j+\epsilon_i, +y=y(x) \rightarrow y(x_i)=\tilde{y}_i+\epsilon_i=\sum_{j=0}^{n-1} \theta_j x_i^j+\epsilon_i, \]

    where \(\epsilon_i\) is the error in our approximation.

    @@ -1919,11 +2034,11 @@ y=y(x) \rightarrow y(x_i)=\tilde{y}_i+\epsilon_i=\sum_{j=0}^{n-1} \beta_j x_i^j+
    \[\begin{split} \begin{align*} -y_0&=\beta_0+\beta_1x_0^1+\beta_2x_0^2+\dots+\beta_{n-1}x_0^{n-1}+\epsilon_0\\ -y_1&=\beta_0+\beta_1x_1^1+\beta_2x_1^2+\dots+\beta_{n-1}x_1^{n-1}+\epsilon_1\\ -y_2&=\beta_0+\beta_1x_2^1+\beta_2x_2^2+\dots+\beta_{n-1}x_2^{n-1}+\epsilon_2\\ +y_0&=\theta_0+\theta_1x_0^1+\theta_2x_0^2+\dots+\theta_{n-1}x_0^{n-1}+\epsilon_0\\ +y_1&=\theta_0+\theta_1x_1^1+\theta_2x_1^2+\dots+\theta_{n-1}x_1^{n-1}+\epsilon_1\\ +y_2&=\theta_0+\theta_1x_2^1+\theta_2x_2^2+\dots+\theta_{n-1}x_2^{n-1}+\epsilon_2\\ \dots & \dots \\ -y_{n-1}&=\beta_0+\beta_1x_{n-1}^1+\beta_2x_{n-1}^2+\dots+\beta_{n-1}x_{n-1}^{n-1}+\epsilon_{n-1}.\\ +y_{n-1}&=\theta_0+\theta_1x_{n-1}^1+\theta_2x_{n-1}^2+\dots+\theta_{n-1}x_{n-1}^{n-1}+\epsilon_{n-1}.\\ \end{align*} \end{split}\]
    @@ -1937,7 +2052,7 @@ y_{n-1}&=\beta_0+\beta_1x_{n-1}^1+\beta_2x_{n-1}^2+\dots+\beta_{n-1}x_{n-1}^

    and

    \[ -\boldsymbol{\beta} = [\beta_0,\beta_1, \beta_2,\dots, \beta_{n-1}]^T, +\boldsymbol{\theta} = [\theta_0,\theta_1, \theta_2,\dots, \theta_{n-1}]^T, \]

    and

    @@ -1959,7 +2074,7 @@ y_{n-1}&=\beta_0+\beta_1x_{n-1}^1+\beta_2x_{n-1}^2+\dots+\beta_{n-1}x_{n-1}^

    we can rewrite our equations as

    \[ -\boldsymbol{y} = \boldsymbol{X}\boldsymbol{\beta}+\boldsymbol{\epsilon}. +\boldsymbol{y} = \boldsymbol{X}\boldsymbol{\theta}+\boldsymbol{\epsilon}. \]

    The above design matrix is called a Vandermonde matrix.

    @@ -1973,13 +2088,13 @@ of values \(y_i,x_i\) we can t
    \[\begin{split} \begin{align*} -y_0&=\beta_0x_{00}+\beta_1x_{01}+\beta_2x_{02}+\dots+\beta_{n-1}x_{0n-1}+\epsilon_0\\ -y_1&=\beta_0x_{10}+\beta_1x_{11}+\beta_2x_{12}+\dots+\beta_{n-1}x_{1n-1}+\epsilon_1\\ -y_2&=\beta_0x_{20}+\beta_1x_{21}+\beta_2x_{22}+\dots+\beta_{n-1}x_{2n-1}+\epsilon_2\\ +y_0&=\theta_0x_{00}+\theta_1x_{01}+\theta_2x_{02}+\dots+\theta_{n-1}x_{0n-1}+\epsilon_0\\ +y_1&=\theta_0x_{10}+\theta_1x_{11}+\theta_2x_{12}+\dots+\theta_{n-1}x_{1n-1}+\epsilon_1\\ +y_2&=\theta_0x_{20}+\theta_1x_{21}+\theta_2x_{22}+\dots+\theta_{n-1}x_{2n-1}+\epsilon_2\\ \dots & \dots \\ -y_{i}&=\beta_0x_{i0}+\beta_1x_{i1}+\beta_2x_{i2}+\dots+\beta_{n-1}x_{in-1}+\epsilon_i\\ +y_{i}&=\theta_0x_{i0}+\theta_1x_{i1}+\theta_2x_{i2}+\dots+\theta_{n-1}x_{in-1}+\epsilon_i\\ \dots & \dots \\ -y_{n-1}&=\beta_0x_{n-1,0}+\beta_1x_{n-1,2}+\beta_2x_{n-1,2}+\dots+\beta_{n-1}x_{n-1,n-1}+\epsilon_{n-1}.\\ +y_{n-1}&=\theta_0x_{n-1,0}+\theta_1x_{n-1,2}+\theta_2x_{n-1,2}+\dots+\theta_{n-1}x_{n-1,n-1}+\epsilon_{n-1}.\\ \end{align*} \end{split}\]

    Note that we have \(p=n\) here. The matrix is symmetric. This is generally not the case!

    @@ -2001,9 +2116,9 @@ x_{n-1,0}& x_{n-1,1} &x_{n-1,2}& \dots & \dots &x_{n-1,n-1}\

    and without loss of generality we rewrite again our equations as

    \[ -\boldsymbol{y} = \boldsymbol{X}\boldsymbol{\beta}+\boldsymbol{\epsilon}. +\boldsymbol{y} = \boldsymbol{X}\boldsymbol{\theta}+\boldsymbol{\epsilon}. \]
    -

    The left-hand side of this equation is kwown. Our error vector \(\boldsymbol{\epsilon}\) and the parameter vector \(\boldsymbol{\beta}\) are our unknow quantities. How can we obtain the optimal set of \(\beta_i\) values?

    +

    The left-hand side of this equation is kwown. Our error vector \(\boldsymbol{\epsilon}\) and the parameter vector \(\boldsymbol{\theta}\) are our unknow quantities. How can we obtain the optimal set of \(\theta_i\) values?

    Optimizing our parameters#

    @@ -2011,13 +2126,13 @@ x_{n-1,0}& x_{n-1,1} &x_{n-1,2}& \dots & \dots &x_{n-1,n-1}\
    \[\begin{split} \begin{align*} -y_0&=\beta_0x_{00}+\beta_1x_{01}+\beta_2x_{02}+\dots+\beta_{n-1}x_{0n-1}+\epsilon_0\\ -y_1&=\beta_0x_{10}+\beta_1x_{11}+\beta_2x_{12}+\dots+\beta_{n-1}x_{1n-1}+\epsilon_1\\ -y_2&=\beta_0x_{20}+\beta_1x_{21}+\beta_2x_{22}+\dots+\beta_{n-1}x_{2n-1}+\epsilon_1\\ +y_0&=\theta_0x_{00}+\theta_1x_{01}+\theta_2x_{02}+\dots+\theta_{n-1}x_{0n-1}+\epsilon_0\\ +y_1&=\theta_0x_{10}+\theta_1x_{11}+\theta_2x_{12}+\dots+\theta_{n-1}x_{1n-1}+\epsilon_1\\ +y_2&=\theta_0x_{20}+\theta_1x_{21}+\theta_2x_{22}+\dots+\theta_{n-1}x_{2n-1}+\epsilon_1\\ \dots & \dots \\ -y_{i}&=\beta_0x_{i0}+\beta_1x_{i1}+\beta_2x_{i2}+\dots+\beta_{n-1}x_{in-1}+\epsilon_1\\ +y_{i}&=\theta_0x_{i0}+\theta_1x_{i1}+\theta_2x_{i2}+\dots+\theta_{n-1}x_{in-1}+\epsilon_1\\ \dots & \dots \\ -y_{n-1}&=\beta_0x_{n-1,0}+\beta_1x_{n-1,2}+\beta_2x_{n-1,2}+\dots+\beta_{n-1}x_{n-1,n-1}+\epsilon_{n-1}.\\ +y_{n-1}&=\theta_0x_{n-1,0}+\theta_1x_{n-1,2}+\theta_2x_{n-1,2}+\dots+\theta_{n-1}x_{n-1,n-1}+\epsilon_{n-1}.\\ \end{align*} \end{split}\]

    As we noted above, we stayed with a system with the design matrix @@ -2030,124 +2145,124 @@ our matrix as \(\boldsymbol{X}\in {\m

    We restate the parts of the code we are most interested in.

    -
    # Common imports
    -import numpy as np
    -import pandas as pd
    -import matplotlib.pyplot as plt
    -from IPython.display import display
    -import os
    +
    # Common imports
    +import numpy as np
    +import pandas as pd
    +import matplotlib.pyplot as plt
    +from IPython.display import display
    +import os
     
    -# Where to save the figures and data files
    -PROJECT_ROOT_DIR = "Results"
    -FIGURE_ID = "Results/FigureFiles"
    -DATA_ID = "DataFiles/"
    +# Where to save the figures and data files
    +PROJECT_ROOT_DIR = "Results"
    +FIGURE_ID = "Results/FigureFiles"
    +DATA_ID = "DataFiles/"
     
    -if not os.path.exists(PROJECT_ROOT_DIR):
    -    os.mkdir(PROJECT_ROOT_DIR)
    +if not os.path.exists(PROJECT_ROOT_DIR):
    +    os.mkdir(PROJECT_ROOT_DIR)
     
    -if not os.path.exists(FIGURE_ID):
    -    os.makedirs(FIGURE_ID)
    +if not os.path.exists(FIGURE_ID):
    +    os.makedirs(FIGURE_ID)
     
    -if not os.path.exists(DATA_ID):
    -    os.makedirs(DATA_ID)
    +if not os.path.exists(DATA_ID):
    +    os.makedirs(DATA_ID)
     
    -def image_path(fig_id):
    -    return os.path.join(FIGURE_ID, fig_id)
    +def image_path(fig_id):
    +    return os.path.join(FIGURE_ID, fig_id)
     
    -def data_path(dat_id):
    -    return os.path.join(DATA_ID, dat_id)
    +def data_path(dat_id):
    +    return os.path.join(DATA_ID, dat_id)
     
    -def save_fig(fig_id):
    -    plt.savefig(image_path(fig_id) + ".png", format='png')
    +def save_fig(fig_id):
    +    plt.savefig(image_path(fig_id) + ".png", format='png')
     
    -infile = open(data_path("MassEval2016.dat"),'r')
    +infile = open(data_path("MassEval2016.dat"),'r')
     
     
    -# Read the experimental data with Pandas
    -Masses = pd.read_fwf(infile, usecols=(2,3,4,6,11),
    -              names=('N', 'Z', 'A', 'Element', 'Ebinding'),
    -              widths=(1,3,5,5,5,1,3,4,1,13,11,11,9,1,2,11,9,1,3,1,12,11,1),
    -              header=39,
    -              index_col=False)
    +# Read the experimental data with Pandas
    +Masses = pd.read_fwf(infile, usecols=(2,3,4,6,11),
    +              names=('N', 'Z', 'A', 'Element', 'Ebinding'),
    +              widths=(1,3,5,5,5,1,3,4,1,13,11,11,9,1,2,11,9,1,3,1,12,11,1),
    +              header=39,
    +              index_col=False)
     
    -# Extrapolated values are indicated by '#' in place of the decimal place, so
    -# the Ebinding column won't be numeric. Coerce to float and drop these entries.
    -Masses['Ebinding'] = pd.to_numeric(Masses['Ebinding'], errors='coerce')
    -Masses = Masses.dropna()
    -# Convert from keV to MeV.
    -Masses['Ebinding'] /= 1000
    +# Extrapolated values are indicated by '#' in place of the decimal place, so
    +# the Ebinding column won't be numeric. Coerce to float and drop these entries.
    +Masses['Ebinding'] = pd.to_numeric(Masses['Ebinding'], errors='coerce')
    +Masses = Masses.dropna()
    +# Convert from keV to MeV.
    +Masses['Ebinding'] /= 1000
     
    -# Group the DataFrame by nucleon number, A.
    -Masses = Masses.groupby('A')
    -# Find the rows of the grouped DataFrame with the maximum binding energy.
    -Masses = Masses.apply(lambda t: t[t.Ebinding==t.Ebinding.max()])
    -A = Masses['A']
    -Z = Masses['Z']
    -N = Masses['N']
    -Element = Masses['Element']
    -Energies = Masses['Ebinding']
    +# Group the DataFrame by nucleon number, A.
    +Masses = Masses.groupby('A')
    +# Find the rows of the grouped DataFrame with the maximum binding energy.
    +Masses = Masses.apply(lambda t: t[t.Ebinding==t.Ebinding.max()])
    +A = Masses['A']
    +Z = Masses['Z']
    +N = Masses['N']
    +Element = Masses['Element']
    +Energies = Masses['Ebinding']
     
    -# Now we set up the design matrix X
    -X = np.zeros((len(A),5))
    -X[:,0] = 1
    -X[:,1] = A
    -X[:,2] = A**(2.0/3.0)
    -X[:,3] = A**(-1.0/3.0)
    -X[:,4] = A**(-1.0)
    -# Then nice printout using pandas
    -DesignMatrix = pd.DataFrame(X)
    -DesignMatrix.index = A
    -DesignMatrix.columns = ['1', 'A', 'A^(2/3)', 'A^(-1/3)', '1/A']
    -display(DesignMatrix)
    +# Now we set up the design matrix X
    +X = np.zeros((len(A),5))
    +X[:,0] = 1
    +X[:,1] = A
    +X[:,2] = A**(2.0/3.0)
    +X[:,3] = A**(-1.0/3.0)
    +X[:,4] = A**(-1.0)
    +# Then nice printout using pandas
    +DesignMatrix = pd.DataFrame(X)
    +DesignMatrix.index = A
    +DesignMatrix.columns = ['1', 'A', 'A^(2/3)', 'A^(-1/3)', '1/A']
    +display(DesignMatrix)
     
    -

    With \(\boldsymbol{\beta}\in {\mathbb{R}}^{p\times 1}\), it means that we will hereafter write our equations for the approximation as

    +

    With \(\boldsymbol{\theta}\in {\mathbb{R}}^{p\times 1}\), it means that we will hereafter write our equations for the approximation as

    \[ -\boldsymbol{\tilde{y}}= \boldsymbol{X}\boldsymbol{\beta}, +\boldsymbol{\tilde{y}}= \boldsymbol{X}\boldsymbol{\theta}, \]

    throughout these lectures.

    Optimizing our parameters, more details#

    -

    With the above we use the design matrix to define the approximation \(\boldsymbol{\tilde{y}}\) via the unknown quantity \(\boldsymbol{\beta}\) as

    +

    With the above we use the design matrix to define the approximation \(\boldsymbol{\tilde{y}}\) via the unknown quantity \(\boldsymbol{\theta}\) as

    \[ -\boldsymbol{\tilde{y}}= \boldsymbol{X}\boldsymbol{\beta}, +\boldsymbol{\tilde{y}}= \boldsymbol{X}\boldsymbol{\theta}, \]
    -

    and in order to find the optimal parameters \(\beta_i\) instead of solving the above linear algebra problem, we define a function which gives a measure of the spread between the values \(y_i\) (which represent hopefully the exact values) and the parameterized values \(\tilde{y}_i\), namely

    +

    and in order to find the optimal parameters \(\theta_i\) instead of solving the above linear algebra problem, we define a function which gives a measure of the spread between the values \(y_i\) (which represent hopefully the exact values) and the parameterized values \(\tilde{y}_i\), namely

    \[ -C(\boldsymbol{\beta})=\frac{1}{n}\sum_{i=0}^{n-1}\left(y_i-\tilde{y}_i\right)^2=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)^T\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)\right\}, +C(\boldsymbol{\theta})=\frac{1}{n}\sum_{i=0}^{n-1}\left(y_i-\tilde{y}_i\right)^2=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)^T\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)\right\}, \]

    or using the matrix \(\boldsymbol{X}\) and in a more compact matrix-vector notation as

    \[ -C(\boldsymbol{\beta})=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)^T\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)\right\}. +C(\boldsymbol{\theta})=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta}\right)^T\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta}\right)\right\}. \]

    This function is one possible way to define the so-called cost function.

    It is also common to define the function \(C\) as

    \[ -C(\boldsymbol{\beta})=\frac{1}{2n}\sum_{i=0}^{n-1}\left(y_i-\tilde{y}_i\right)^2, +C(\boldsymbol{\theta})=\frac{1}{2n}\sum_{i=0}^{n-1}\left(y_i-\tilde{y}_i\right)^2, \]
    -

    since when taking the first derivative with respect to the unknown parameters \(\beta\), the factor of \(2\) cancels out.

    +

    since when taking the first derivative with respect to the unknown parameters \(\theta\), the factor of \(2\) cancels out.

    Interpretations and optimizing our parameters#

    The function

    \[ -C(\boldsymbol{\beta})=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)^T\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)\right\}, +C(\boldsymbol{\theta})=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta}\right)^T\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta}\right)\right\}, \]

    can be linked to the variance of the quantity \(y_i\) if we interpret the latter as the mean value. When linking (see the discussion below) with the maximum likelihood approach below, we will indeed interpret \(y_i\) as a mean value

    \[ -y_{i}=\langle y_i \rangle = \beta_0x_{i,0}+\beta_1x_{i,1}+\beta_2x_{i,2}+\dots+\beta_{n-1}x_{i,n-1}+\epsilon_i, +y_{i}=\langle y_i \rangle = \theta_0x_{i,0}+\theta_1x_{i,1}+\theta_2x_{i,2}+\dots+\theta_{n-1}x_{i,n-1}+\epsilon_i, \]

    where \(\langle y_i \rangle\) is the mean value. Keep in mind also that till now we have treated \(y_i\) as the exact value. Normally, the @@ -2157,26 +2272,26 @@ approximation to the true value. It is then always accompanied by an error estimate, often limited to a statistical error estimate given by the standard deviation discussed earlier. In the discussion here we will treat \(y_i\) as our exact value for the response variable.

    -

    In order to find the parameters \(\beta_i\) we will then minimize the spread of \(C(\boldsymbol{\beta})\), that is we are going to solve the problem

    +

    In order to find the parameters \(\theta_i\) we will then minimize the spread of \(C(\boldsymbol{\theta})\), that is we are going to solve the problem

    \[ -{\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\}. +{\displaystyle \min_{\boldsymbol{\theta}\in +{\mathbb{R}}^{p}}}\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta}\right)^T\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta}\right)\right\}. \]

    In practical terms it means we will require

    \[ -\frac{\partial C(\boldsymbol{\beta})}{\partial \beta_j} = \frac{\partial }{\partial \beta_j}\left[ \frac{1}{n}\sum_{i=0}^{n-1}\left(y_i-\beta_0x_{i,0}-\beta_1x_{i,1}-\beta_2x_{i,2}-\dots-\beta_{n-1}x_{i,n-1}\right)^2\right]=0, +\frac{\partial C(\boldsymbol{\theta})}{\partial \theta_j} = \frac{\partial }{\partial \theta_j}\left[ \frac{1}{n}\sum_{i=0}^{n-1}\left(y_i-\theta_0x_{i,0}-\theta_1x_{i,1}-\theta_2x_{i,2}-\dots-\theta_{n-1}x_{i,n-1}\right)^2\right]=0, \]

    which results in

    \[ -\frac{\partial C(\boldsymbol{\beta})}{\partial \beta_j} = -\frac{2}{n}\left[ \sum_{i=0}^{n-1}x_{ij}\left(y_i-\beta_0x_{i,0}-\beta_1x_{i,1}-\beta_2x_{i,2}-\dots-\beta_{n-1}x_{i,n-1}\right)\right]=0, +\frac{\partial C(\boldsymbol{\theta})}{\partial \theta_j} = -\frac{2}{n}\left[ \sum_{i=0}^{n-1}x_{ij}\left(y_i-\theta_0x_{i,0}-\theta_1x_{i,1}-\theta_2x_{i,2}-\dots-\theta_{n-1}x_{i,n-1}\right)\right]=0, \]

    or in a matrix-vector form as

    \[ -\frac{\partial C(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} = 0 = \boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right). +\frac{\partial C(\boldsymbol{\theta})}{\partial \boldsymbol{\theta}} = 0 = \boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta}\right). \]
    @@ -2184,17 +2299,17 @@ will treat \(y_i\) as our exac

    We can rewrite

    \[ -\frac{\partial C(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} = 0 = \boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right), +\frac{\partial C(\boldsymbol{\theta})}{\partial \boldsymbol{\theta}} = 0 = \boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta}\right), \]

    as

    \[ -\boldsymbol{X}^T\boldsymbol{y} = \boldsymbol{X}^T\boldsymbol{X}\boldsymbol{\beta}, +\boldsymbol{X}^T\boldsymbol{y} = \boldsymbol{X}^T\boldsymbol{X}\boldsymbol{\theta}, \]

    and if the matrix \(\boldsymbol{X}^T\boldsymbol{X}\) is invertible we have the solution

    \[ -\boldsymbol{\beta} =\left(\boldsymbol{X}^T\boldsymbol{X}\right)^{-1}\boldsymbol{X}^T\boldsymbol{y}. +\boldsymbol{\theta} =\left(\boldsymbol{X}^T\boldsymbol{X}\right)^{-1}\boldsymbol{X}^T\boldsymbol{y}. \]

    We note also that since our design matrix is defined as \(\boldsymbol{X}\in {\mathbb{R}}^{n\times p}\), the product \(\boldsymbol{X}^T\boldsymbol{X} \in @@ -2213,31 +2328,31 @@ allow for the usage of direct linear algebra methods such as LU

    The residuals \(\boldsymbol{\epsilon}\) are in turn given by

    \[ -\boldsymbol{\epsilon} = \boldsymbol{y}-\boldsymbol{\tilde{y}} = \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}, +\boldsymbol{\epsilon} = \boldsymbol{y}-\boldsymbol{\tilde{y}} = \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta}, \]

    and with

    \[ -\boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)= 0, +\boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta}\right)= 0, \]

    we have

    \[ -\boldsymbol{X}^T\boldsymbol{\epsilon}=\boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)= 0, +\boldsymbol{X}^T\boldsymbol{\epsilon}=\boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta}\right)= 0, \]
    -

    meaning that the solution for \(\boldsymbol{\beta}\) is the one which minimizes the residuals. Later we will link this with the maximum likelihood approach.

    +

    meaning that the solution for \(\boldsymbol{\theta}\) is the one which minimizes the residuals. Later we will link this with the maximum likelihood approach.

    Let us now return to our nuclear binding energies and simply code the above equations.

    Own code for Ordinary Least Squares#

    -

    It is rather straightforward to implement the matrix inversion and obtain the parameters \(\boldsymbol{\beta}\). After having defined the matrix \(\boldsymbol{X}\) we simply need to +

    It is rather straightforward to implement the matrix inversion and obtain the parameters \(\boldsymbol{\theta}\). After having defined the matrix \(\boldsymbol{X}\) we simply need to write

    -
    # matrix inversion to find beta
    -beta = np.linalg.inv(X.T.dot(X)).dot(X.T).dot(Energies)
    -# and then make the prediction
    -ytilde = X @ beta
    +
    # matrix inversion to find beta
    +beta = np.linalg.inv(X.T.dot(X)).dot(X.T).dot(Energies)
    +# and then make the prediction
    +ytilde = X @ beta
     
    @@ -2245,8 +2360,8 @@ ytilde = X @ beta

    Alternatively, you can use the least squares functionality in Numpy as

    -
    fit = np.linalg.lstsq(X, Energies, rcond =None)[0]
    -ytildenp = np.dot(fit,X.T)
    +
    fit = np.linalg.lstsq(X, Energies, rcond =None)[0]
    +ytildenp = np.dot(fit,X.T)
     
    @@ -2254,18 +2369,18 @@ ytildenp = np.dot(fit,X.T)

    And finally we plot our fit with and compare with data

    -
    Masses['Eapprox']  = ytilde
    -# Generate a plot comparing the experimental with the fitted values values.
    -fig, ax = plt.subplots()
    -ax.set_xlabel(r'$A = N + Z$')
    -ax.set_ylabel(r'$E_\mathrm{bind}\,/\mathrm{MeV}$')
    -ax.plot(Masses['A'], Masses['Ebinding'], alpha=0.7, lw=2,
    -            label='Ame2016')
    -ax.plot(Masses['A'], Masses['Eapprox'], alpha=0.7, lw=2, c='m',
    -            label='Fit')
    -ax.legend()
    -save_fig("Masses2016OLS")
    -plt.show()
    +
    Masses['Eapprox']  = ytilde
    +# Generate a plot comparing the experimental with the fitted values values.
    +fig, ax = plt.subplots()
    +ax.set_xlabel(r'$A = N + Z$')
    +ax.set_ylabel(r'$E_\mathrm{bind}\,/\mathrm{MeV}$')
    +ax.plot(Masses['A'], Masses['Ebinding'], alpha=0.7, lw=2,
    +            label='Ame2016')
    +ax.plot(Masses['A'], Masses['Eapprox'], alpha=0.7, lw=2, c='m',
    +            label='Fit')
    +ax.legend()
    +save_fig("Masses2016OLS")
    +plt.show()
     
    @@ -2277,8 +2392,8 @@ plt.show() Since we are not using Scikit-Learn here we can define our own \(R2\) function as

    -
    def R2(y_data, y_model):
    -    return 1 - np.sum((y_data - y_model) ** 2) / np.sum((y_data - np.mean(y_data)) ** 2)
    +
    def R2(y_data, y_model):
    +    return 1 - np.sum((y_data - y_model) ** 2) / np.sum((y_data - np.mean(y_data)) ** 2)
     
    @@ -2286,7 +2401,7 @@ Since we are not using Scikit-Learn here we can define our own

    and we would be using it as

    -
    print(R2(Energies,ytilde))
    +
    print(R2(Energies,ytilde))
     
    @@ -2294,11 +2409,11 @@ Since we are not using Scikit-Learn here we can define our own

    We can easily add our MSE score as

    -
    def MSE(y_data,y_model):
    -    n = np.size(y_model)
    -    return np.sum((y_data-y_model)**2)/n
    +
    def MSE(y_data,y_model):
    +    n = np.size(y_model)
    +    return np.sum((y_data-y_model)**2)/n
     
    -print(MSE(Energies,ytilde))
    +print(MSE(Energies,ytilde))
     
    @@ -2306,9 +2421,9 @@ print(MSE(Energies,ytilde))

    and finally the relative error as

    -
    def RelativeError(y_data,y_model):
    -    return abs((y_data-y_model)/y_data)
    -print(RelativeError(Energies, ytilde))
    +
    def RelativeError(y_data,y_model):
    +    return abs((y_data-y_model)/y_data)
    +print(RelativeError(Energies, ytilde))
     
    @@ -2328,26 +2443,26 @@ response variable.

    as

    \[ -\chi^2(\boldsymbol{\beta})=\frac{1}{n}\sum_{i=0}^{n-1}\frac{\left(y_i-\tilde{y}_i\right)^2}{\sigma_i^2}=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)^T\frac{1}{\boldsymbol{\Sigma^2}}\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)\right\}, +\chi^2(\boldsymbol{\theta})=\frac{1}{n}\sum_{i=0}^{n-1}\frac{\left(y_i-\tilde{y}_i\right)^2}{\sigma_i^2}=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)^T\frac{1}{\boldsymbol{\Sigma^2}}\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)\right\}, \]

    where the matrix \(\boldsymbol{\Sigma}\) is a diagonal matrix with \(\sigma_i\) as matrix elements.

    The \(\chi^2\) function#

    -

    In order to find the parameters \(\beta_i\) we will then minimize the spread of \(\chi^2(\boldsymbol{\beta})\) by requiring

    +

    In order to find the parameters \(\theta_i\) we will then minimize the spread of \(\chi^2(\boldsymbol{\theta})\) by requiring

    \[ -\frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \beta_j} = \frac{\partial }{\partial \beta_j}\left[ \frac{1}{n}\sum_{i=0}^{n-1}\left(\frac{y_i-\beta_0x_{i,0}-\beta_1x_{i,1}-\beta_2x_{i,2}-\dots-\beta_{n-1}x_{i,n-1}}{\sigma_i}\right)^2\right]=0, +\frac{\partial \chi^2(\boldsymbol{\theta})}{\partial \theta_j} = \frac{\partial }{\partial \theta_j}\left[ \frac{1}{n}\sum_{i=0}^{n-1}\left(\frac{y_i-\theta_0x_{i,0}-\theta_1x_{i,1}-\theta_2x_{i,2}-\dots-\theta_{n-1}x_{i,n-1}}{\sigma_i}\right)^2\right]=0, \]

    which results in

    \[ -\frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \beta_j} = -\frac{2}{n}\left[ \sum_{i=0}^{n-1}\frac{x_{ij}}{\sigma_i}\left(\frac{y_i-\beta_0x_{i,0}-\beta_1x_{i,1}-\beta_2x_{i,2}-\dots-\beta_{n-1}x_{i,n-1}}{\sigma_i}\right)\right]=0, +\frac{\partial \chi^2(\boldsymbol{\theta})}{\partial \theta_j} = -\frac{2}{n}\left[ \sum_{i=0}^{n-1}\frac{x_{ij}}{\sigma_i}\left(\frac{y_i-\theta_0x_{i,0}-\theta_1x_{i,1}-\theta_2x_{i,2}-\dots-\theta_{n-1}x_{i,n-1}}{\sigma_i}\right)\right]=0, \]

    or in a matrix-vector form as

    \[ -\frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} = 0 = \boldsymbol{A}^T\left( \boldsymbol{b}-\boldsymbol{A}\boldsymbol{\beta}\right). +\frac{\partial \chi^2(\boldsymbol{\theta})}{\partial \boldsymbol{\theta}} = 0 = \boldsymbol{A}^T\left( \boldsymbol{b}-\boldsymbol{A}\boldsymbol{\theta}\right). \]

    where we have defined the matrix \(\boldsymbol{A} =\boldsymbol{X}/\boldsymbol{\Sigma}\) with matrix elements \(a_{ij} = x_{ij}/\sigma_i\) and the vector \(\boldsymbol{b}\) with elements \(b_i = y_i/\sigma_i\).

    @@ -2356,17 +2471,17 @@ as

    We can rewrite

    \[ -\frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} = 0 = \boldsymbol{A}^T\left( \boldsymbol{b}-\boldsymbol{A}\boldsymbol{\beta}\right), +\frac{\partial \chi^2(\boldsymbol{\theta})}{\partial \boldsymbol{\theta}} = 0 = \boldsymbol{A}^T\left( \boldsymbol{b}-\boldsymbol{A}\boldsymbol{\theta}\right), \]

    as

    \[ -\boldsymbol{A}^T\boldsymbol{b} = \boldsymbol{A}^T\boldsymbol{A}\boldsymbol{\beta}, +\boldsymbol{A}^T\boldsymbol{b} = \boldsymbol{A}^T\boldsymbol{A}\boldsymbol{\theta}, \]

    and if the matrix \(\boldsymbol{A}^T\boldsymbol{A}\) is invertible we have the solution

    \[ -\boldsymbol{\beta} =\left(\boldsymbol{A}^T\boldsymbol{A}\right)^{-1}\boldsymbol{A}^T\boldsymbol{b}. +\boldsymbol{\theta} =\left(\boldsymbol{A}^T\boldsymbol{A}\right)^{-1}\boldsymbol{A}^T\boldsymbol{b}. \]
    @@ -2376,20 +2491,20 @@ as

    \[ \boldsymbol{H} = \left(\boldsymbol{A}^T\boldsymbol{A}\right)^{-1}, \]
    -

    we have then the following expression for the parameters \(\beta_j\) (the matrix elements of \(\boldsymbol{H}\) are \(h_{ij}\))

    +

    we have then the following expression for the parameters \(\theta_j\) (the matrix elements of \(\boldsymbol{H}\) are \(h_{ij}\))

    \[ -\beta_j = \sum_{k=0}^{p-1}h_{jk}\sum_{i=0}^{n-1}\frac{y_i}{\sigma_i}\frac{x_{ik}}{\sigma_i} = \sum_{k=0}^{p-1}h_{jk}\sum_{i=0}^{n-1}b_ia_{ik} +\theta_j = \sum_{k=0}^{p-1}h_{jk}\sum_{i=0}^{n-1}\frac{y_i}{\sigma_i}\frac{x_{ik}}{\sigma_i} = \sum_{k=0}^{p-1}h_{jk}\sum_{i=0}^{n-1}b_ia_{ik} \]
    -

    We state without proof the expression for the uncertainty in the parameters \(\beta_j\) as (we leave this as an exercise)

    +

    We state without proof the expression for the uncertainty in the parameters \(\theta_j\) as (we leave this as an exercise)

    \[ -\sigma^2(\beta_j) = \sum_{i=0}^{n-1}\sigma_i^2\left( \frac{\partial \beta_j}{\partial y_i}\right)^2, +\sigma^2(\theta_j) = \sum_{i=0}^{n-1}\sigma_i^2\left( \frac{\partial \theta_j}{\partial y_i}\right)^2, \]

    resulting in

    \[ -\sigma^2(\beta_j) = \left(\sum_{k=0}^{p-1}h_{jk}\sum_{i=0}^{n-1}a_{ik}\right)\left(\sum_{l=0}^{p-1}h_{jl}\sum_{m=0}^{n-1}a_{ml}\right) = h_{jj}! +\sigma^2(\theta_j) = \left(\sum_{k=0}^{p-1}h_{jk}\sum_{i=0}^{n-1}a_{ik}\right)\left(\sum_{l=0}^{p-1}h_{jl}\sum_{m=0}^{n-1}a_{ml}\right) = h_{jj}! \]
    @@ -2397,17 +2512,17 @@ as

    The first step here is to approximate the function \(y\) with a first-order polynomial, that is we write

    \[ -y=y(x) \rightarrow y(x_i) \approx \beta_0+\beta_1 x_i. +y=y(x) \rightarrow y(x_i) \approx \theta_0+\theta_1 x_i. \]
    -

    By computing the derivatives of \(\chi^2\) with respect to \(\beta_0\) and \(\beta_1\) show that these are given by

    +

    By computing the derivatives of \(\chi^2\) with respect to \(\theta_0\) and \(\theta_1\) show that these are given by

    \[ -\frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \beta_0} = -2\left[ \frac{1}{n}\sum_{i=0}^{n-1}\left(\frac{y_i-\beta_0-\beta_1x_{i}}{\sigma_i^2}\right)\right]=0, +\frac{\partial \chi^2(\boldsymbol{\theta})}{\partial \theta_0} = -2\left[ \frac{1}{n}\sum_{i=0}^{n-1}\left(\frac{y_i-\theta_0-\theta_1x_{i}}{\sigma_i^2}\right)\right]=0, \]

    and

    \[ -\frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \beta_1} = -\frac{2}{n}\left[ \sum_{i=0}^{n-1}x_i\left(\frac{y_i-\beta_0-\beta_1x_{i}}{\sigma_i^2}\right)\right]=0. +\frac{\partial \chi^2(\boldsymbol{\theta})}{\partial \theta_1} = -\frac{2}{n}\left[ \sum_{i=0}^{n-1}x_i\left(\frac{y_i-\theta_0-\theta_1x_{i}}{\sigma_i^2}\right)\right]=0. \]
    @@ -2437,339 +2552,17 @@ Defining

    we obtain

    \[ -\beta_0 = \frac{\gamma_{xx}\gamma_y-\gamma_x\gamma_y}{\gamma\gamma_{xx}-\gamma_x^2}, +\theta_0 = \frac{\gamma_{xx}\gamma_y-\gamma_x\gamma_y}{\gamma\gamma_{xx}-\gamma_x^2}, \]
    \[ -\beta_1 = \frac{\gamma_{xy}\gamma-\gamma_x\gamma_y}{\gamma\gamma_{xx}-\gamma_x^2}. +\theta_1 = \frac{\gamma_{xy}\gamma-\gamma_x\gamma_y}{\gamma\gamma_{xx}-\gamma_x^2}. \]

    This approach (different linear and non-linear regression) suffers often from both being underdetermined and overdetermined in the -unknown coefficients \(\beta_i\). A better approach is to use the +unknown coefficients \(\theta_i\). A better approach is to use the Singular Value Decomposition (SVD) method discussed next week.

    -
    -

    Fitting an Equation of State for Dense Nuclear Matter#

    -

    Before we continue, let us introduce yet another example. We are going to fit the -nuclear equation of state using results from many-body calculations. -The equation of state we have made available here, as function of -density, has been derived using modern nucleon-nucleon potentials with -the addition of three-body -forces. This -time the file is presented as a standard csv file.

    -

    The beginning of the Python code here is similar to what you have seen -before, with the same initializations and declarations. We use also -pandas again, rather extensively in order to organize our data.

    -

    The difference now is that we use Scikit-Learn’s regression tools -instead of our own matrix inversion implementation. Furthermore, we -sneak in Ridge regression (to be discussed below) which includes a -hyperparameter \(\lambda\), also to be explained below.

    -
    -
    -

    The code#

    -
    -
    -
    # Common imports
    -import os
    -import numpy as np
    -import pandas as pd
    -import matplotlib.pyplot as plt
    -import matplotlib.pyplot as plt
    -import sklearn.linear_model as skl
    -from sklearn.metrics import mean_squared_error, r2_score, mean_absolute_error
    -
    -# Where to save the figures and data files
    -PROJECT_ROOT_DIR = "Results"
    -FIGURE_ID = "Results/FigureFiles"
    -DATA_ID = "DataFiles/"
    -
    -if not os.path.exists(PROJECT_ROOT_DIR):
    -    os.mkdir(PROJECT_ROOT_DIR)
    -
    -if not os.path.exists(FIGURE_ID):
    -    os.makedirs(FIGURE_ID)
    -
    -if not os.path.exists(DATA_ID):
    -    os.makedirs(DATA_ID)
    -
    -def image_path(fig_id):
    -    return os.path.join(FIGURE_ID, fig_id)
    -
    -def data_path(dat_id):
    -    return os.path.join(DATA_ID, dat_id)
    -
    -def save_fig(fig_id):
    -    plt.savefig(image_path(fig_id) + ".png", format='png')
    -
    -infile = open(data_path("EoS.csv"),'r')
    -
    -# Read the EoS data as  csv file and organize the data into two arrays with density and energies
    -EoS = pd.read_csv(infile, names=('Density', 'Energy'))
    -EoS['Energy'] = pd.to_numeric(EoS['Energy'], errors='coerce')
    -EoS = EoS.dropna()
    -Energies = EoS['Energy']
    -Density = EoS['Density']
    -#  The design matrix now as function of various polytrops
    -X = np.zeros((len(Density),4))
    -X[:,3] = Density**(4.0/3.0)
    -X[:,2] = Density
    -X[:,1] = Density**(2.0/3.0)
    -X[:,0] = 1
    -
    -# We use now Scikit-Learn's linear regressor and ridge regressor
    -# OLS part
    -clf = skl.LinearRegression().fit(X, Energies)
    -ytilde = clf.predict(X)
    -EoS['Eols']  = ytilde
    -# The mean squared error                               
    -print("Mean squared error: %.2f" % mean_squared_error(Energies, ytilde))
    -# Explained variance score: 1 is perfect prediction                                 
    -print('Variance score: %.2f' % r2_score(Energies, ytilde))
    -# Mean absolute error                                                           
    -print('Mean absolute error: %.2f' % mean_absolute_error(Energies, ytilde))
    -print(clf.coef_, clf.intercept_)
    -
    -# The Ridge regression with a hyperparameter lambda = 0.1
    -_lambda = 0.1
    -clf_ridge = skl.Ridge(alpha=_lambda).fit(X, Energies)
    -yridge = clf_ridge.predict(X)
    -EoS['Eridge']  = yridge
    -# The mean squared error                               
    -print("Mean squared error: %.2f" % mean_squared_error(Energies, yridge))
    -# Explained variance score: 1 is perfect prediction                                 
    -print('Variance score: %.2f' % r2_score(Energies, yridge))
    -# Mean absolute error                                                           
    -print('Mean absolute error: %.2f' % mean_absolute_error(Energies, yridge))
    -print(clf_ridge.coef_, clf_ridge.intercept_)
    -
    -fig, ax = plt.subplots()
    -ax.set_xlabel(r'$\rho[\mathrm{fm}^{-3}]$')
    -ax.set_ylabel(r'Energy per particle')
    -ax.plot(EoS['Density'], EoS['Energy'], alpha=0.7, lw=2,
    -            label='Theoretical data')
    -ax.plot(EoS['Density'], EoS['Eols'], alpha=0.7, lw=2, c='m',
    -            label='OLS')
    -ax.plot(EoS['Density'], EoS['Eridge'], alpha=0.7, lw=2, c='g',
    -            label='Ridge $\lambda = 0.1$')
    -ax.legend()
    -save_fig("EoSfitting")
    -plt.show()
    -
    -
    -
    -
    -

    The above simple polynomial in density \(\rho\) gives an excellent fit -to the data.

    -

    We note also that there is a small deviation between the -standard OLS and the Ridge regression at higher densities. We discuss this in more detail -below.

    -
    -
    -

    Splitting our Data in Training and Test data#

    -

    It is normal in essentially all Machine Learning studies to split the -data in a training set and a test set (sometimes also an additional -validation set). Scikit-Learn has an own function for this. There -is no explicit recipe for how much data should be included as training -data and say test data. An accepted rule of thumb is to use -approximately \(2/3\) to \(4/5\) of the data as training data. We will -postpone a discussion of this splitting to the end of these notes and -our discussion of the so-called bias-variance tradeoff. Here we -limit ourselves to repeat the above equation of state fitting example -but now splitting the data into a training set and a test set.

    -
    -
    -
    import os
    -import numpy as np
    -import pandas as pd
    -import matplotlib.pyplot as plt
    -from sklearn.model_selection import train_test_split
    -# Where to save the figures and data files
    -PROJECT_ROOT_DIR = "Results"
    -FIGURE_ID = "Results/FigureFiles"
    -DATA_ID = "DataFiles/"
    -
    -if not os.path.exists(PROJECT_ROOT_DIR):
    -    os.mkdir(PROJECT_ROOT_DIR)
    -
    -if not os.path.exists(FIGURE_ID):
    -    os.makedirs(FIGURE_ID)
    -
    -if not os.path.exists(DATA_ID):
    -    os.makedirs(DATA_ID)
    -
    -def image_path(fig_id):
    -    return os.path.join(FIGURE_ID, fig_id)
    -
    -def data_path(dat_id):
    -    return os.path.join(DATA_ID, dat_id)
    -
    -def save_fig(fig_id):
    -    plt.savefig(image_path(fig_id) + ".png", format='png')
    -
    -def R2(y_data, y_model):
    -    return 1 - np.sum((y_data - y_model) ** 2) / np.sum((y_data - np.mean(y_data)) ** 2)
    -def MSE(y_data,y_model):
    -    n = np.size(y_model)
    -    return np.sum((y_data-y_model)**2)/n
    -
    -infile = open(data_path("EoS.csv"),'r')
    -
    -# Read the EoS data as  csv file and organized into two arrays with density and energies
    -EoS = pd.read_csv(infile, names=('Density', 'Energy'))
    -EoS['Energy'] = pd.to_numeric(EoS['Energy'], errors='coerce')
    -EoS = EoS.dropna()
    -Energies = EoS['Energy']
    -Density = EoS['Density']
    -#  The design matrix now as function of various polytrops
    -X = np.zeros((len(Density),5))
    -X[:,0] = 1
    -X[:,1] = Density**(2.0/3.0)
    -X[:,2] = Density
    -X[:,3] = Density**(4.0/3.0)
    -X[:,4] = Density**(5.0/3.0)
    -# We split the data in test and training data
    -X_train, X_test, y_train, y_test = train_test_split(X, Energies, test_size=0.2)
    -# matrix inversion to find beta
    -beta = np.linalg.inv(X_train.T.dot(X_train)).dot(X_train.T).dot(y_train)
    -# and then make the prediction
    -ytilde = X_train @ beta
    -print("Training R2")
    -print(R2(y_train,ytilde))
    -print("Training MSE")
    -print(MSE(y_train,ytilde))
    -ypredict = X_test @ beta
    -print("Test R2")
    -print(R2(y_test,ypredict))
    -print("Test MSE")
    -print(MSE(y_test,ypredict))
    -
    -
    -
    -
    -
    -
    -

    Exercises#

    -

    Here are three possible exercises for week 34

    -
    -
    -

    Exercise 1: Setting up various Python environments#

    -

    The first exercise here is of a mere technical art. We want you to have

    - -

    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

    -
      -
    1. pip install numpy scipy matplotlib ipython scikit-learn sympy pandas pillow

    2. -
    -

    For Tensorflow, we recommend following the instructions in the text of -Aurelien Geron, Hands‑On Machine Learning with Scikit‑Learn and TensorFlow, O’Reilly

    -

    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

    -
      -
    1. brew install python3

    2. -
    -

    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

    -
      -
    1. sudo apt-get install python3 (or python for Python2.7)

    2. -
    -

    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

    - -

    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.

    - -

    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 if you are not too familiar with setting paths in a terminal environment.

    -
    -
    -

    Exercise 2: making your own data and exploring scikit-learn#

    -

    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).

    -
    -
    -
    x = np.random.rand(100,1)
    -y = 2.0+5*x*x+0.1*np.random.randn(100,1)
    -
    -
    -
    -
    -
      -
    1. Write your own code (following the examples under the regression notes) for computing the parametrization of the data set fitting a second-order polynomial.

    2. -
    3. Use thereafter scikit-learn (see again the examples in the regression slides) and compare with your own code.

    4. -
    5. Using scikit-learn, compute also the mean square error, a risk metric corresponding to the expected value of the squared (quadratic) error defined as

    6. -
    -
    -\[ -MSE(\boldsymbol{y},\boldsymbol{\tilde{y}}) = \frac{1}{n} -\sum_{i=0}^{n-1}(y_i-\tilde{y}_i)^2, -\]
    -

    and the \(R^2\) score function. -If \(\tilde{\boldsymbol{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

    -
    -\[ -R^2(\boldsymbol{y}, \tilde{\boldsymbol{y}}) = 1 - \frac{\sum_{i=0}^{n - 1} (y_i - \tilde{y}_i)^2}{\sum_{i=0}^{n - 1} (y_i - \bar{y})^2}, -\]
    -

    where we have defined the mean value of \(\boldsymbol{y}\) as

    -
    -\[ -\bar{y} = \frac{1}{n} \sum_{i=0}^{n - 1} y_i. -\]
    -

    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: Split data in test and training data#

    -

    In this exercise we want you to to compute the MSE for the training -data and the test data as function of the complexity of a polynomial, -that is the degree of a given polynomial.

    -

    The aim is to reproduce Figure 2.11 of Hastie et al.

    -

    Our data is defined by \(x\in [-3,3]\) with a total of for example \(n=100\) data points. You should try to vary the number of data points \(n\) in your analysis.

    -
    -
    -
    np.random.seed()
    -n = 100
    -# Make data set.
    -x = np.linspace(-3, 3, n).reshape(-1, 1)
    -y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)
    -
    -
    -
    -
    -

    where \(y\) is the function we want to fit with a given polynomial.

    -

    a) -Write a first code which sets up a design matrix \(X\) defined by a fifth-order polynomial and split your data set in training and test data.

    -

    b) -Write thereafter (using either scikit-learn or your matrix inversion code using for example numpy) -and perform an ordinary least squares fitting and compute the mean squared error for the training data and the test data. These calculations should apply to a model given by a fifth-order polynomial.

    -

    c) -Add now a model which allows you to make polynomials up to degree \(15\). Perform a standard OLS fitting of the training data and compute the MSE for the training and test data and plot both test and training data MSE as functions of the polynomial degree. Compare what you see with Figure 2.11 of Hastie et al. Comment your results. For which polynomial degree do you find an optimal MSE (smallest value)?

    -