diff --git a/doc/HandWrittenNotes/2025/FYSSTKweek38.pdf b/doc/HandWrittenNotes/2025/FYSSTKweek38.pdf new file mode 100644 index 000000000..cfa28acd6 Binary files /dev/null and b/doc/HandWrittenNotes/2025/FYSSTKweek38.pdf differ diff --git a/doc/LectureNotes/_build/.doctrees/environment.pickle b/doc/LectureNotes/_build/.doctrees/environment.pickle index bf6b99210..4b6063e17 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/week38.doctree b/doc/LectureNotes/_build/.doctrees/week38.doctree index 19b54d214..7cd935a7f 100644 Binary files a/doc/LectureNotes/_build/.doctrees/week38.doctree and b/doc/LectureNotes/_build/.doctrees/week38.doctree differ diff --git a/doc/LectureNotes/_build/html/_sources/week38.ipynb b/doc/LectureNotes/_build/html/_sources/week38.ipynb index 544d286d0..1d25f9941 100644 --- a/doc/LectureNotes/_build/html/_sources/week38.ipynb +++ b/doc/LectureNotes/_build/html/_sources/week38.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "169923b3", + "id": "8f27372d", "metadata": { "editable": true }, @@ -14,7 +14,7 @@ }, { "cell_type": "markdown", - "id": "47013ee7", + "id": "fff8ca30", "metadata": { "editable": true }, @@ -27,7 +27,7 @@ }, { "cell_type": "markdown", - "id": "d1fb5464", + "id": "7ee7e714", "metadata": { "editable": true }, @@ -41,13 +41,15 @@ "2. Resampling techniques, Bootstrap and cross validation and bias-variance tradeoff\n", "\n", "3. The material we did not cover last week, that is on more advanced methods for updating the learning rate, are covered by its own video. We will briefly discuss these topics at the beginning of the lecture and during the lab sessions. See video on ADAgrad, RMSprop and ADAM (material from last week not covered during lecture) at \n", - "\n", - "" + "\n", + "4. [Video of Lecture](https://youtu.be/4Fo7ITVA7V4)\n", + "\n", + "5. [Whiteboard notes](https://github.com/CompPhysics/MachineLearning/blob/master/doc/HandWrittenNotes/2025/FYSSTKweek38.pdf)" ] }, { "cell_type": "markdown", - "id": "1a34a7ce", + "id": "3b5ac440", "metadata": { "editable": true }, @@ -68,7 +70,7 @@ }, { "cell_type": "markdown", - "id": "c6f56f83", + "id": "6d5dba52", "metadata": { "editable": true }, @@ -96,7 +98,7 @@ }, { "cell_type": "markdown", - "id": "3ece0c04", + "id": "bfc2983a", "metadata": { "editable": true }, @@ -112,7 +114,7 @@ }, { "cell_type": "markdown", - "id": "d36cf6db", + "id": "2b5f5980", "metadata": { "editable": true }, @@ -131,7 +133,7 @@ }, { "cell_type": "markdown", - "id": "5903d2be", + "id": "3464c7e8", "metadata": { "editable": true }, @@ -145,7 +147,7 @@ }, { "cell_type": "markdown", - "id": "37f4e199", + "id": "ed0fd2df", "metadata": { "editable": true }, @@ -157,7 +159,7 @@ }, { "cell_type": "markdown", - "id": "7a7b084f", + "id": "feb9d4c2", "metadata": { "editable": true }, @@ -168,7 +170,7 @@ }, { "cell_type": "markdown", - "id": "1ec511a1", + "id": "eb6d71f8", "metadata": { "editable": true }, @@ -180,7 +182,7 @@ }, { "cell_type": "markdown", - "id": "ffe76935", + "id": "566399f6", "metadata": { "editable": true }, @@ -192,7 +194,7 @@ }, { "cell_type": "markdown", - "id": "e569274a", + "id": "6b33f497", "metadata": { "editable": true }, @@ -208,7 +210,7 @@ }, { "cell_type": "markdown", - "id": "c4dd2623", + "id": "5f2f79f2", "metadata": { "editable": true }, @@ -219,7 +221,7 @@ }, { "cell_type": "markdown", - "id": "df2f8936", + "id": "199121b0", "metadata": { "editable": true }, @@ -242,7 +244,7 @@ }, { "cell_type": "markdown", - "id": "0a3e5956", + "id": "9a1cc529", "metadata": { "editable": true }, @@ -253,7 +255,7 @@ }, { "cell_type": "markdown", - "id": "973e45a3", + "id": "149e63be", "metadata": { "editable": true }, @@ -265,7 +267,7 @@ }, { "cell_type": "markdown", - "id": "ff486d1e", + "id": "6a6fb04a", "metadata": { "editable": true }, @@ -277,7 +279,7 @@ }, { "cell_type": "markdown", - "id": "e4307815", + "id": "79420d06", "metadata": { "editable": true }, @@ -291,7 +293,7 @@ }, { "cell_type": "markdown", - "id": "490b2cbf", + "id": "0e3de992", "metadata": { "editable": true }, @@ -322,7 +324,7 @@ }, { "cell_type": "markdown", - "id": "5d8dd6bc", + "id": "d3ea2897", "metadata": { "editable": true }, @@ -344,7 +346,7 @@ }, { "cell_type": "markdown", - "id": "3594078a", + "id": "da5e3927", "metadata": { "editable": true }, @@ -356,7 +358,7 @@ }, { "cell_type": "markdown", - "id": "43007b7a", + "id": "7ab5488b", "metadata": { "editable": true }, @@ -369,7 +371,7 @@ }, { "cell_type": "markdown", - "id": "3cd4e7da", + "id": "f904a739", "metadata": { "editable": true }, @@ -381,7 +383,7 @@ }, { "cell_type": "markdown", - "id": "5816b21e", + "id": "10fd648b", "metadata": { "editable": true }, @@ -393,7 +395,7 @@ }, { "cell_type": "markdown", - "id": "b58b8607", + "id": "4812c2a4", "metadata": { "editable": true }, @@ -405,7 +407,7 @@ }, { "cell_type": "markdown", - "id": "c843db7f", + "id": "199d8531", "metadata": { "editable": true }, @@ -417,7 +419,7 @@ }, { "cell_type": "markdown", - "id": "e81b1c39", + "id": "96c16676", "metadata": { "editable": true }, @@ -440,7 +442,7 @@ }, { "cell_type": "markdown", - "id": "ea9719e3", + "id": "a2a1a004", "metadata": { "editable": true }, @@ -452,7 +454,7 @@ }, { "cell_type": "markdown", - "id": "c28b598f", + "id": "5aad445b", "metadata": { "editable": true }, @@ -465,7 +467,7 @@ }, { "cell_type": "markdown", - "id": "88063ed7", + "id": "d197c8bb", "metadata": { "editable": true }, @@ -477,7 +479,7 @@ }, { "cell_type": "markdown", - "id": "a34e4c28", + "id": "e2e7462f", "metadata": { "editable": true }, @@ -489,7 +491,7 @@ }, { "cell_type": "markdown", - "id": "1fc7ae0a", + "id": "eb635d3d", "metadata": { "editable": true }, @@ -501,7 +503,7 @@ }, { "cell_type": "markdown", - "id": "30d5a1be", + "id": "445ed13e", "metadata": { "editable": true }, @@ -512,7 +514,7 @@ }, { "cell_type": "markdown", - "id": "1d29fd29", + "id": "319bfc6c", "metadata": { "editable": true }, @@ -524,7 +526,7 @@ }, { "cell_type": "markdown", - "id": "289a116c", + "id": "90abf35a", "metadata": { "editable": true }, @@ -535,7 +537,7 @@ }, { "cell_type": "markdown", - "id": "d1cfbb56", + "id": "04b66fbd", "metadata": { "editable": true }, @@ -547,7 +549,7 @@ }, { "cell_type": "markdown", - "id": "e089fc0e", + "id": "4a27b5a7", "metadata": { "editable": true }, @@ -557,7 +559,7 @@ }, { "cell_type": "markdown", - "id": "32cf9944", + "id": "8d12543f", "metadata": { "editable": true }, @@ -588,7 +590,7 @@ }, { "cell_type": "markdown", - "id": "ee8a9544", + "id": "2e5cd118", "metadata": { "editable": true }, @@ -600,19 +602,19 @@ }, { "cell_type": "markdown", - "id": "4bfeb203", + "id": "c71a5edf", "metadata": { "editable": true }, "source": [ "$$\n", - "C(\\boldsymbol{\\theta}=-\\log{\\prod_{i=0}^{n-1}p(y_i,\\boldsymbol{X}\\vert\\boldsymbol{\\theta})}=-\\sum_{i=0}^{n-1}\\log{p(y_i,\\boldsymbol{X}\\vert\\boldsymbol{\\theta})},\n", + "C(\\boldsymbol{\\theta})=-\\log{\\prod_{i=0}^{n-1}p(y_i,\\boldsymbol{X}\\vert\\boldsymbol{\\theta})}=-\\sum_{i=0}^{n-1}\\log{p(y_i,\\boldsymbol{X}\\vert\\boldsymbol{\\theta})},\n", "$$" ] }, { "cell_type": "markdown", - "id": "256143f9", + "id": "e663bf2e", "metadata": { "editable": true }, @@ -622,19 +624,19 @@ }, { "cell_type": "markdown", - "id": "60d75bb1", + "id": "c4bc4873", "metadata": { "editable": true }, "source": [ "$$\n", - "C(\\boldsymbol{\\theta}=\\frac{n}{2}\\log{2\\pi\\sigma^2}+\\frac{\\vert\\vert (\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta})\\vert\\vert_2^2}{2\\sigma^2}.\n", + "C(\\boldsymbol{\\theta})=\\frac{n}{2}\\log{2\\pi\\sigma^2}+\\frac{\\vert\\vert (\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta})\\vert\\vert_2^2}{2\\sigma^2}.\n", "$$" ] }, { "cell_type": "markdown", - "id": "7b111014", + "id": "f5bc59b8", "metadata": { "editable": true }, @@ -644,7 +646,7 @@ }, { "cell_type": "markdown", - "id": "0f42a0b5", + "id": "4f6ddf4a", "metadata": { "editable": true }, @@ -656,7 +658,7 @@ }, { "cell_type": "markdown", - "id": "39a9276b", + "id": "afda0a6b", "metadata": { "editable": true }, @@ -666,7 +668,7 @@ }, { "cell_type": "markdown", - "id": "84c63927", + "id": "b5335dc0", "metadata": { "editable": true }, @@ -678,7 +680,7 @@ }, { "cell_type": "markdown", - "id": "c087ef22", + "id": "4f86a52d", "metadata": { "editable": true }, @@ -688,7 +690,7 @@ }, { "cell_type": "markdown", - "id": "79503987", + "id": "5cdb1767", "metadata": { "editable": true }, @@ -707,7 +709,7 @@ }, { "cell_type": "markdown", - "id": "c165025b", + "id": "69435d77", "metadata": { "editable": true }, @@ -735,7 +737,7 @@ }, { "cell_type": "markdown", - "id": "efb63405", + "id": "cefbb559", "metadata": { "editable": true }, @@ -761,7 +763,7 @@ }, { "cell_type": "markdown", - "id": "88d4bfd8", + "id": "2659401a", "metadata": { "editable": true }, @@ -778,7 +780,7 @@ }, { "cell_type": "markdown", - "id": "6a0795e0", + "id": "4d5d7748", "metadata": { "editable": true }, @@ -798,7 +800,7 @@ }, { "cell_type": "markdown", - "id": "d815fdf3", + "id": "54df92b3", "metadata": { "editable": true }, @@ -827,7 +829,7 @@ }, { "cell_type": "markdown", - "id": "a5b26ed1", + "id": "5b1a1390", "metadata": { "editable": true }, @@ -852,7 +854,7 @@ }, { "cell_type": "markdown", - "id": "e5783b81", + "id": "39f233e4", "metadata": { "editable": true }, @@ -872,7 +874,7 @@ }, { "cell_type": "markdown", - "id": "9bdfff4f", + "id": "361320d8", "metadata": { "editable": true }, @@ -884,7 +886,7 @@ }, { "cell_type": "markdown", - "id": "bd1e4a83", + "id": "a363db1e", "metadata": { "editable": true }, @@ -894,7 +896,7 @@ }, { "cell_type": "markdown", - "id": "66d14a83", + "id": "92967efc", "metadata": { "editable": true }, @@ -909,7 +911,7 @@ }, { "cell_type": "markdown", - "id": "ac38d462", + "id": "1bffca97", "metadata": { "editable": true }, @@ -922,7 +924,7 @@ }, { "cell_type": "markdown", - "id": "65488a60", + "id": "0dacb6fc", "metadata": { "editable": true }, @@ -935,7 +937,7 @@ }, { "cell_type": "markdown", - "id": "9c8686d8", + "id": "baeedf81", "metadata": { "editable": true }, @@ -947,7 +949,7 @@ }, { "cell_type": "markdown", - "id": "585dbaff", + "id": "20cc7770", "metadata": { "editable": true }, @@ -960,7 +962,7 @@ }, { "cell_type": "markdown", - "id": "a8093a3e", + "id": "f67d3b94", "metadata": { "editable": true }, @@ -971,7 +973,7 @@ }, { "cell_type": "markdown", - "id": "ec844baa", + "id": "17f59fb6", "metadata": { "editable": true }, @@ -985,7 +987,7 @@ }, { "cell_type": "markdown", - "id": "7f2b563b", + "id": "5f899fbe", "metadata": { "editable": true }, @@ -995,7 +997,7 @@ }, { "cell_type": "markdown", - "id": "5a75bbe4", + "id": "19a1f5bb", "metadata": { "editable": true }, @@ -1009,7 +1011,7 @@ }, { "cell_type": "markdown", - "id": "8d00a9ff", + "id": "1db8fcf2", "metadata": { "editable": true }, @@ -1022,7 +1024,7 @@ }, { "cell_type": "markdown", - "id": "cae54a40", + "id": "bfadf7e5", "metadata": { "editable": true }, @@ -1035,7 +1037,7 @@ }, { "cell_type": "markdown", - "id": "ef87a15a", + "id": "7c65ce24", "metadata": { "editable": true }, @@ -1045,7 +1047,7 @@ }, { "cell_type": "markdown", - "id": "5bfaef5d", + "id": "8cd5650a", "metadata": { "editable": true }, @@ -1058,7 +1060,7 @@ }, { "cell_type": "markdown", - "id": "0aab5f59", + "id": "11fdc936", "metadata": { "editable": true }, @@ -1068,7 +1070,7 @@ }, { "cell_type": "markdown", - "id": "71269afb", + "id": "ed88642e", "metadata": { "editable": true }, @@ -1081,7 +1083,7 @@ }, { "cell_type": "markdown", - "id": "4d809fab", + "id": "82c61b81", "metadata": { "editable": true }, @@ -1093,7 +1095,7 @@ }, { "cell_type": "markdown", - "id": "734f7c5e", + "id": "bc43db46", "metadata": { "editable": true }, @@ -1112,7 +1114,7 @@ }, { "cell_type": "markdown", - "id": "f4ff2861", + "id": "25418113", "metadata": { "editable": true }, @@ -1125,7 +1127,7 @@ }, { "cell_type": "markdown", - "id": "fd66a47c", + "id": "e5d3c3eb", "metadata": { "editable": true }, @@ -1137,7 +1139,7 @@ }, { "cell_type": "markdown", - "id": "51e5434b", + "id": "c504cba4", "metadata": { "editable": true }, @@ -1150,7 +1152,7 @@ }, { "cell_type": "markdown", - "id": "9129f7a5", + "id": "079ded2a", "metadata": { "editable": true }, @@ -1170,7 +1172,7 @@ }, { "cell_type": "markdown", - "id": "e5fa7f9c", + "id": "e8534a50", "metadata": { "editable": true }, @@ -1193,7 +1195,7 @@ }, { "cell_type": "markdown", - "id": "f5bbafe6", + "id": "2fc73431", "metadata": { "editable": true }, @@ -1208,7 +1210,7 @@ }, { "cell_type": "markdown", - "id": "0cc93a0c", + "id": "0f8b0845", "metadata": { "editable": true }, @@ -1220,7 +1222,7 @@ }, { "cell_type": "markdown", - "id": "8dd4f5e0", + "id": "25105753", "metadata": { "editable": true }, @@ -1240,7 +1242,7 @@ }, { "cell_type": "markdown", - "id": "f51c546c", + "id": "89be6eea", "metadata": { "editable": true }, @@ -1260,7 +1262,7 @@ }, { "cell_type": "markdown", - "id": "e44fcf6d", + "id": "6c240b38", "metadata": { "editable": true }, @@ -1284,7 +1286,7 @@ }, { "cell_type": "markdown", - "id": "3bd69373", + "id": "fbd95a5c", "metadata": { "editable": true }, @@ -1305,7 +1307,7 @@ }, { "cell_type": "markdown", - "id": "e7f867d9", + "id": "dc50d43a", "metadata": { "editable": true }, @@ -1335,7 +1337,7 @@ }, { "cell_type": "markdown", - "id": "5c2c3909", + "id": "283068cc", "metadata": { "editable": true }, @@ -1359,7 +1361,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "a32faf6a", + "id": "ff4790ba", "metadata": { "collapsed": false, "editable": true @@ -1398,7 +1400,7 @@ }, { "cell_type": "markdown", - "id": "bc95505d", + "id": "3e6adc2f", "metadata": { "editable": true }, @@ -1408,7 +1410,7 @@ }, { "cell_type": "markdown", - "id": "355f62af", + "id": "6ec8223c", "metadata": { "editable": true }, @@ -1419,7 +1421,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "39fd1fa8", + "id": "3cf4144d", "metadata": { "collapsed": false, "editable": true @@ -1439,7 +1441,7 @@ }, { "cell_type": "markdown", - "id": "237b4db3", + "id": "db5a8f91", "metadata": { "editable": true }, @@ -1457,7 +1459,7 @@ }, { "cell_type": "markdown", - "id": "0c13e5b0", + "id": "327bce6a", "metadata": { "editable": true }, @@ -1469,7 +1471,7 @@ }, { "cell_type": "markdown", - "id": "a086aa7e", + "id": "1c671d4e", "metadata": { "editable": true }, @@ -1486,7 +1488,7 @@ }, { "cell_type": "markdown", - "id": "c3837d89", + "id": "6e05fc43", "metadata": { "editable": true }, @@ -1498,7 +1500,7 @@ }, { "cell_type": "markdown", - "id": "7c7cd0a7", + "id": "c45e0752", "metadata": { "editable": true }, @@ -1508,7 +1510,7 @@ }, { "cell_type": "markdown", - "id": "b9db0cd5", + "id": "bafa4ab6", "metadata": { "editable": true }, @@ -1520,7 +1522,7 @@ }, { "cell_type": "markdown", - "id": "00482b2d", + "id": "ea0bc471", "metadata": { "editable": true }, @@ -1537,7 +1539,7 @@ }, { "cell_type": "markdown", - "id": "2e7c7291", + "id": "08b603f3", "metadata": { "editable": true }, @@ -1549,7 +1551,7 @@ }, { "cell_type": "markdown", - "id": "9a8d29b5", + "id": "4114d10e", "metadata": { "editable": true }, @@ -1559,7 +1561,7 @@ }, { "cell_type": "markdown", - "id": "9a8e2084", + "id": "8890c666", "metadata": { "editable": true }, @@ -1571,7 +1573,7 @@ }, { "cell_type": "markdown", - "id": "4a191c5c", + "id": "7d5b7ce4", "metadata": { "editable": true }, @@ -1581,7 +1583,7 @@ }, { "cell_type": "markdown", - "id": "c37713f8", + "id": "3913c5b9", "metadata": { "editable": true }, @@ -1593,7 +1595,7 @@ }, { "cell_type": "markdown", - "id": "82ca4a7b", + "id": "5e0067b1", "metadata": { "editable": true }, @@ -1603,7 +1605,7 @@ }, { "cell_type": "markdown", - "id": "2765a841", + "id": "326bc8f1", "metadata": { "editable": true }, @@ -1619,7 +1621,7 @@ }, { "cell_type": "markdown", - "id": "321964c1", + "id": "d3713eca", "metadata": { "editable": true }, @@ -1630,7 +1632,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "5942226f", + "id": "01c3b507", "metadata": { "collapsed": false, "editable": true @@ -1695,7 +1697,7 @@ }, { "cell_type": "markdown", - "id": "cf2af19d", + "id": "949e3a5e", "metadata": { "editable": true }, @@ -1706,7 +1708,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "7b371a0c", + "id": "7e7f4926", "metadata": { "collapsed": false, "editable": true @@ -1763,7 +1765,7 @@ }, { "cell_type": "markdown", - "id": "6f583fcd", + "id": "33c5cae5", "metadata": { "editable": true }, @@ -1801,7 +1803,7 @@ }, { "cell_type": "markdown", - "id": "37766c51", + "id": "f931f0f2", "metadata": { "editable": true }, @@ -1828,7 +1830,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "0eac5ca9", + "id": "58daa28d", "metadata": { "collapsed": false, "editable": true @@ -1890,7 +1892,7 @@ }, { "cell_type": "markdown", - "id": "d698096e", + "id": "3bbcf741", "metadata": { "editable": true }, @@ -1915,7 +1917,7 @@ }, { "cell_type": "markdown", - "id": "3e37a4d2", + "id": "4b0ffe06", "metadata": { "editable": true }, @@ -1943,7 +1945,7 @@ }, { "cell_type": "markdown", - "id": "e7e43cf9", + "id": "b11baed6", "metadata": { "editable": true }, @@ -1956,7 +1958,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "7aa6a568", + "id": "39e76d49", "metadata": { "collapsed": false, "editable": true @@ -2056,7 +2058,7 @@ }, { "cell_type": "markdown", - "id": "9a90aec7", + "id": "e7d12ef0", "metadata": { "editable": true }, @@ -2067,7 +2069,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "93b3af24", + "id": "47f6ae18", "metadata": { "collapsed": false, "editable": true @@ -2156,7 +2158,7 @@ }, { "cell_type": "markdown", - "id": "90657c6d", + "id": "9c1d4754", "metadata": { "editable": true }, @@ -2166,7 +2168,7 @@ }, { "cell_type": "markdown", - "id": "a88b86e7", + "id": "b698ac66", "metadata": { "editable": true }, @@ -2179,7 +2181,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "89f45188", + "id": "0a2409b0", "metadata": { "collapsed": false, "editable": true @@ -2257,7 +2259,7 @@ }, { "cell_type": "markdown", - "id": "75496517", + "id": "56f130b5", "metadata": { "editable": true }, diff --git a/doc/LectureNotes/_build/html/searchindex.js b/doc/LectureNotes/_build/html/searchindex.js index b5568cb04..268076012 100644 --- a/doc/LectureNotes/_build/html/searchindex.js +++ b/doc/LectureNotes/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"1a)": [[18, "a"]], "3a)": [[18, "id1"]], "3b)": [[18, "b"]], "4a)": [[18, "id2"]], "4b)": [[18, "id3"]], "A Classification Tree": [[9, "a-classification-tree"]], "A Frequentist approach to data analysis": [[0, "a-frequentist-approach-to-data-analysis"], [28, "a-frequentist-approach-to-data-analysis"]], "A better approach": [[8, "a-better-approach"]], "A first summary": [[28, "a-first-summary"]], "A new Cost Function": [[32, "a-new-cost-function"]], "A quick Reminder on Lagrangian Multipliers": [[8, "a-quick-reminder-on-lagrangian-multipliers"]], "A simple example": [[4, "a-simple-example"]], "A soft classifier": [[8, "a-soft-classifier"]], "A top-down perspective on Neural networks": [[1, "a-top-down-perspective-on-neural-networks"]], "A way to Read the Bias-Variance Tradeoff": [[32, "a-way-to-read-the-bias-variance-tradeoff"]], "ADAM algorithm, taken from Goodfellow et al": [[31, "adam-algorithm-taken-from-goodfellow-et-al"]], "ADAM optimizer": [[13, "adam-optimizer"], [31, "id2"]], "Accuracy": [[31, "accuracy"]], "Activation functions": [[12, "activation-functions"]], "AdaGrad Properties": [[31, "adagrad-properties"]], "AdaGrad Update Rule Derivation": [[31, "adagrad-update-rule-derivation"]], "AdaGrad algorithm, taken from Goodfellow et al": [[31, "adagrad-algorithm-taken-from-goodfellow-et-al"]], "Adam Optimizer": [[31, "adam-optimizer"]], "Adam vs. AdaGrad and RMSProp": [[31, "adam-vs-adagrad-and-rmsprop"]], "Adam: Bias Correction": [[31, "adam-bias-correction"]], "Adam: Exponential Moving Averages (Moments)": [[31, "adam-exponential-moving-averages-moments"]], "Adam: Update Rule Derivation": [[31, "adam-update-rule-derivation"]], "Adaptive boosting: AdaBoost, Basic Algorithm": [[10, "adaptive-boosting-adaboost-basic-algorithm"]], "Adaptivity Across Dimensions": [[31, "adaptivity-across-dimensions"]], "Adding error analysis and training set up": [[28, "adding-error-analysis-and-training-set-up"], [29, "adding-error-analysis-and-training-set-up"]], "Adjust hyperparameters": [[1, "adjust-hyperparameters"]], "Algorithms and codes for Adagrad, RMSprop and Adam": [[31, "algorithms-and-codes-for-adagrad-rmsprop-and-adam"]], "Algorithms for Setting up Decision Trees": [[9, "algorithms-for-setting-up-decision-trees"]], "An Overview of Ensemble Methods": [[10, "an-overview-of-ensemble-methods"]], "An extrapolation example": [[4, "an-extrapolation-example"]], "An optimization/minimization problem": [[28, "an-optimization-minimization-problem"]], "And finally \\boldsymbol{X}\\boldsymbol{X}^T": [[29, "and-finally-boldsymbol-x-boldsymbol-x-t"]], "And finally ADAM": [[31, "and-finally-adam"]], "And what about using neural networks?": [[28, "and-what-about-using-neural-networks"]], "Another Example from Scikit-Learn\u2019s Repository": [[32, "another-example-from-scikit-learn-s-repository"]], "Another Example, now with a polynomial fit": [[30, "another-example-now-with-a-polynomial-fit"]], "Another example, the moons again": [[9, "another-example-the-moons-again"]], "Applied Data Analysis and Machine Learning": [[21, null]], "Assumptions made": [[32, "assumptions-made"]], "Autocorrelation function": [[25, "autocorrelation-function"]], "Automatic differentiation": [[13, "automatic-differentiation"]], "Back to Ridge and LASSO Regression": [[29, "back-to-ridge-and-lasso-regression"], [30, "back-to-ridge-and-lasso-regression"]], "Back to the Cancer Data": [[11, "back-to-the-cancer-data"]], "Background literature": [[23, "background-literature"]], "Bagging": [[10, "bagging"]], "Bagging Examples": [[10, "bagging-examples"]], "Basic Matrix Features": [[22, "basic-matrix-features"]], "Basic ideas of the Principal Component Analysis (PCA)": [[11, null]], "Basic math of the SVD": [[5, "basic-math-of-the-svd"], [29, "basic-math-of-the-svd"], [30, "basic-math-of-the-svd"]], "Basics": [[7, "basics"]], "Basics of a tree": [[9, "basics-of-a-tree"]], "Batch Normalization": [[1, "batch-normalization"]], "Batches and mini-batches": [[31, "batches-and-mini-batches"]], "Bayes\u2019 Theorem and Ridge and Lasso Regression": [[5, "bayes-theorem-and-ridge-and-lasso-regression"]], "Boosting, a Bird\u2019s Eye View": [[10, "boosting-a-bird-s-eye-view"]], "Bootstrap": [[6, "bootstrap"]], "Bringing it together, first back propagation equation": [[12, "bringing-it-together-first-back-propagation-equation"]], "Building a Feed Forward Neural Network": [[1, null]], "Building a tree, regression": [[9, "building-a-tree-regression"]], "Building neural networks in Tensorflow and Keras": [[1, "building-neural-networks-in-tensorflow-and-keras"]], "But none of these can compete with Newton\u2019s method": [[31, "but-none-of-these-can-compete-with-newton-s-method"]], "CNNs in more detail, building convolutional neural networks in Tensorflow and Keras": [[3, "cnns-in-more-detail-building-convolutional-neural-networks-in-tensorflow-and-keras"]], "Cancer Data again now with Decision Trees and other Methods": [[9, "cancer-data-again-now-with-decision-trees-and-other-methods"]], "Challenge: Choosing a Fixed Learning Rate": [[31, "challenge-choosing-a-fixed-learning-rate"]], "Choose cost function and optimizer": [[1, "choose-cost-function-and-optimizer"]], "Classical PCA Theorem": [[11, "classical-pca-theorem"]], "Clustering and Unsupervised Learning": [[14, null]], "Code Example for Cross-validation and k-fold Cross-validation": [[32, "code-example-for-cross-validation-and-k-fold-cross-validation"]], "Code example for the Bootstrap method": [[32, "code-example-for-the-bootstrap-method"]], "Code for SVD and Inversion of Matrices": [[5, "code-for-svd-and-inversion-of-matrices"]], "Code with a Number of Minibatches which varies": [[31, "code-with-a-number-of-minibatches-which-varies"]], "Codes and Approaches": [[14, "codes-and-approaches"]], "Codes for the SVD": [[5, "codes-for-the-svd"], [29, "codes-for-the-svd"], [30, "codes-for-the-svd"]], "Coding Setup and Linear Regression": [[15, "coding-setup-and-linear-regression"]], "Collect and pre-process data": [[1, "collect-and-pre-process-data"]], "Communication channels": [[28, "communication-channels"]], "Compare Bagging on Trees with Random Forests": [[10, "compare-bagging-on-trees-with-random-forests"]], "Comparing with a numerical scheme": [[2, "comparing-with-a-numerical-scheme"]], "Comparison with OLS": [[30, "comparison-with-ols"]], "Computation of gradients": [[31, "computation-of-gradients"]], "Computing the Gini index": [[9, "computing-the-gini-index"]], "Conditions on convex functions": [[30, "conditions-on-convex-functions"]], "Confidence Intervals": [[32, "confidence-intervals"]], "Conjugate gradient method": [[13, "conjugate-gradient-method"]], "Convergence rates": [[31, "convergence-rates"]], "Convex function": [[30, "convex-function"]], "Convex functions": [[13, "convex-functions"], [30, "convex-functions"]], "Convolution Examples: Polynomial multiplication": [[3, "convolution-examples-polynomial-multiplication"]], "Convolution Examples: Principle of Superposition and Periodic Forces (Fourier Transforms)": [[3, "convolution-examples-principle-of-superposition-and-periodic-forces-fourier-transforms"]], "Convolutional Neural Network": [[12, "convolutional-neural-network"]], "Convolutional Neural Networks": [[3, null]], "Correlation Function and Design/Feature Matrix": [[29, "correlation-function-and-design-feature-matrix"]], "Correlation Matrix": [[11, "correlation-matrix"], [29, "correlation-matrix"]], "Correlation Matrix with Pandas": [[29, "correlation-matrix-with-pandas"]], "Course Format": [[28, "course-format"]], "Course setting": [[24, null]], "Covariance Matrix Examples": [[29, "covariance-matrix-examples"]], "Covariance and Correlation Matrix": [[29, "covariance-and-correlation-matrix"]], "Cross-validation": [[6, "cross-validation"]], "Cross-validation in brief": [[32, "cross-validation-in-brief"]], "Deadlines for projects (tentative)": [[28, "deadlines-for-projects-tentative"]], "Decision trees, overarching aims": [[9, null]], "Deep Neural Networks": [[31, "deep-neural-networks"]], "Deep learning methods": [[28, "deep-learning-methods"]], "Define model and architecture": [[1, "define-model-and-architecture"]], "Defining the cost function": [[1, "defining-the-cost-function"]], "Definitions": [[19, "definitions"]], "Deliverables": [[15, "deliverables"], [16, "deliverables"], [19, "deliverables"], [20, "deliverables"]], "Derivation of the AdaGrad Algorithm": [[31, "derivation-of-the-adagrad-algorithm"]], "Derivatives and the chain rule": [[12, "derivatives-and-the-chain-rule"]], "Derivatives, example 1": [[29, "derivatives-example-1"]], "Deriving OLS from a probability distribution": [[5, "deriving-ols-from-a-probability-distribution"], [32, "deriving-ols-from-a-probability-distribution"]], "Deriving and Implementing Ordinary Least Squares": [[16, "deriving-and-implementing-ordinary-least-squares"]], "Deriving and Implementing Ridge Regression": [[17, "deriving-and-implementing-ridge-regression"]], "Deriving the Lasso Regression Equations": [[29, "deriving-the-lasso-regression-equations"], [30, "deriving-the-lasso-regression-equations"], [30, "id6"]], "Deriving the Ridge Regression Equations": [[29, "deriving-the-ridge-regression-equations"], [30, "deriving-the-ridge-regression-equations"], [30, "id3"]], "Deriving the back propagation code for a multilayer perceptron model": [[12, "deriving-the-back-propagation-code-for-a-multilayer-perceptron-model"]], "Developing a code for doing neural networks with back propagation": [[1, "developing-a-code-for-doing-neural-networks-with-back-propagation"]], "Diagonalize the sample covariance matrix to obtain the principal components": [[11, "diagonalize-the-sample-covariance-matrix-to-obtain-the-principal-components"]], "Different kernels and Mercer\u2019s theorem": [[8, "different-kernels-and-mercer-s-theorem"]], "Disadvantages": [[9, "disadvantages"]], "Discriminative Modeling": [[28, "discriminative-modeling"]], "Domains and probabilities": [[25, "domains-and-probabilities"]], "Dropout": [[1, "dropout"]], "Economy-size SVD": [[29, "economy-size-svd"], [30, "economy-size-svd"]], "Elements of Probability Theory and Statistical Data Analysis": [[25, null]], "Empirical Evidence: Convergence Time and Memory in Practice": [[31, "empirical-evidence-convergence-time-and-memory-in-practice"]], "Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods": [[10, null]], "Entropy and the ID3 algorithm": [[9, "entropy-and-the-id3-algorithm"]], "Essential elements of ML": [[28, "essential-elements-of-ml"]], "Evaluate model performance on test data": [[1, "evaluate-model-performance-on-test-data"]], "Example 2": [[29, "example-2"]], "Example 3": [[29, "example-3"]], "Example 4": [[29, "example-4"]], "Example Matrix": [[29, "example-matrix"], [30, "example-matrix"]], "Example code for Bias-Variance tradeoff": [[32, "example-code-for-bias-variance-tradeoff"]], "Example of discriminative modeling, taken from Generative Deep Learning by David Foster": [[28, "example-of-discriminative-modeling-taken-from-generative-deep-learning-by-david-foster"]], "Example of generative modeling, taken from Generative Deep Learning by David Foster": [[28, "example-of-generative-modeling-taken-from-generative-deep-learning-by-david-foster"]], "Example of own Standard scaling": [[29, "example-of-own-standard-scaling"]], "Example relevant for the exercises": [[29, "example-relevant-for-the-exercises"]], "Example: Exponential decay": [[2, "example-exponential-decay"]], "Example: Population growth": [[2, "example-population-growth"]], "Example: The diffusion equation": [[2, "example-the-diffusion-equation"]], "Example: binary classification problem": [[1, "example-binary-classification-problem"]], "Examples": [[28, "examples"]], "Examples of likelihood functions used in logistic regression and neural networks": [[7, "examples-of-likelihood-functions-used-in-logistic-regression-and-neural-networks"]], "Exercise 1 - Choice of model and degrees of freedom": [[17, "exercise-1-choice-of-model-and-degrees-of-freedom"]], "Exercise 1 - Finding the derivative of Matrix-Vector expressions": [[16, "exercise-1-finding-the-derivative-of-matrix-vector-expressions"]], "Exercise 1 - Github Setup": [[15, "exercise-1-github-setup"]], "Exercise 1, scale your data": [[18, "exercise-1-scale-your-data"]], "Exercise 1: Creating the report document": [[20, "exercise-1-creating-the-report-document"]], "Exercise 1: Expectation values for ordinary least squares expressions": [[19, "exercise-1-expectation-values-for-ordinary-least-squares-expressions"]], "Exercise 1: Setting up various Python environments": [[0, "exercise-1-setting-up-various-python-environments"]], "Exercise 2 - Deriving the expression for OLS": [[16, "exercise-2-deriving-the-expression-for-ols"]], "Exercise 2 - Deriving the expression for Ridge Regression": [[17, "exercise-2-deriving-the-expression-for-ridge-regression"]], "Exercise 2 - Setting up a Github repository": [[15, "exercise-2-setting-up-a-github-repository"]], "Exercise 2, calculate the gradients": [[18, "exercise-2-calculate-the-gradients"]], "Exercise 2: Adding good figures": [[20, "exercise-2-adding-good-figures"]], "Exercise 2: Expectation values for Ridge regression": [[19, "exercise-2-expectation-values-for-ridge-regression"]], "Exercise 2: making your own data and exploring scikit-learn": [[0, "exercise-2-making-your-own-data-and-exploring-scikit-learn"]], "Exercise 3 - Creating feature matrix and implementing OLS using the analytical expression": [[16, "exercise-3-creating-feature-matrix-and-implementing-ols-using-the-analytical-expression"]], "Exercise 3 - Fitting an OLS model to data": [[15, "exercise-3-fitting-an-ols-model-to-data"]], "Exercise 3 - Scaling data": [[17, "exercise-3-scaling-data"]], "Exercise 3 - Setting up a Python virtual environment": [[15, "exercise-3-setting-up-a-python-virtual-environment"]], "Exercise 3, using the analytical formulae for OLS and Ridge regression to find the optimal paramters \\boldsymbol{\\theta}": [[18, "exercise-3-using-the-analytical-formulae-for-ols-and-ridge-regression-to-find-the-optimal-paramters-boldsymbol-theta"]], "Exercise 3: Deriving the expression for the Bias-Variance Trade-off": [[19, "exercise-3-deriving-the-expression-for-the-bias-variance-trade-off"]], "Exercise 3: Normalizing our data": [[0, "exercise-3-normalizing-our-data"]], "Exercise 3: Writing an abstract and introduction": [[20, "exercise-3-writing-an-abstract-and-introduction"]], "Exercise 4 - Fitting a polynomial": [[16, "exercise-4-fitting-a-polynomial"]], "Exercise 4 - Implementing Ridge Regression": [[17, "exercise-4-implementing-ridge-regression"]], "Exercise 4 - Testing multiple hyperparameters": [[17, "exercise-4-testing-multiple-hyperparameters"]], "Exercise 4 - The train-test split": [[15, "exercise-4-the-train-test-split"]], "Exercise 4, Implementing the simplest form for gradient descent": [[18, "exercise-4-implementing-the-simplest-form-for-gradient-descent"]], "Exercise 4: Adding Ridge Regression": [[0, "exercise-4-adding-ridge-regression"]], "Exercise 4: Computing the Bias and Variance": [[19, "exercise-4-computing-the-bias-and-variance"]], "Exercise 4: Making the code available and presentable": [[20, "exercise-4-making-the-code-available-and-presentable"]], "Exercise 5 - Comparing your code with sklearn": [[16, "exercise-5-comparing-your-code-with-sklearn"]], "Exercise 5, Ridge regression and a new Synthetic Dataset": [[18, "exercise-5-ridge-regression-and-a-new-synthetic-dataset"]], "Exercise 5: Analytical exercises": [[0, "exercise-5-analytical-exercises"]], "Exercise 5: Interpretation of scaling and metrics": [[19, "exercise-5-interpretation-of-scaling-and-metrics"]], "Exercise 5: Referencing": [[20, "exercise-5-referencing"]], "Exercise: Cross-validation as resampling techniques, adding more complexity": [[6, "exercise-cross-validation-as-resampling-techniques-adding-more-complexity"]], "Exercise: Analysis of real data": [[6, "exercise-analysis-of-real-data"]], "Exercise: Bias-variance trade-off and resampling techniques": [[6, "exercise-bias-variance-trade-off-and-resampling-techniques"]], "Exercise: Lasso Regression on the Franke function with resampling": [[6, "exercise-lasso-regression-on-the-franke-function-with-resampling"]], "Exercise: Ordinary Least Square (OLS) on the Franke function": [[6, "exercise-ordinary-least-square-ols-on-the-franke-function"]], "Exercise: Ridge Regression on the Franke function with resampling": [[6, "exercise-ridge-regression-on-the-franke-function-with-resampling"]], "Exercises": [[0, "exercises"]], "Exercises and Projects": [[6, "exercises-and-projects"]], "Exercises week 34": [[15, null]], "Exercises week 35": [[16, null]], "Exercises week 36": [[17, null]], "Exercises week 37": [[18, null]], "Exercises week 38": [[19, null]], "Exercises week 39": [[20, null]], "Expectation value and variance": [[32, "expectation-value-and-variance"]], "Expectation value and variance for \\boldsymbol{\\theta}": [[32, "expectation-value-and-variance-for-boldsymbol-theta"]], "Expectation values": [[25, "expectation-values"]], "Extending to more than one variable": [[30, "extending-to-more-than-one-variable"]], "Extremely useful tools, strongly recommended": [[28, "extremely-useful-tools-strongly-recommended"]], "Feed-forward neural networks": [[12, "feed-forward-neural-networks"]], "Feed-forward pass": [[1, "feed-forward-pass"]], "Final back propagating equation": [[12, "final-back-propagating-equation"]], "Finding the Limit": [[32, "finding-the-limit"]], "Fine-tuning neural network hyperparameters": [[1, "fine-tuning-neural-network-hyperparameters"]], "Fitting an Equation of State for Dense Nuclear Matter": [[0, "fitting-an-equation-of-state-for-dense-nuclear-matter"]], "Fixing the singularity": [[29, "fixing-the-singularity"], [30, "fixing-the-singularity"]], "Format for electronic delivery of report and programs": [[23, "format-for-electronic-delivery-of-report-and-programs"]], "Frequently used scaling functions": [[29, "frequently-used-scaling-functions"], [31, "frequently-used-scaling-functions"]], "From OLS to Ridge and Lasso": [[30, "from-ols-to-ridge-and-lasso"]], "From one to many layers, the universal approximation theorem": [[12, "from-one-to-many-layers-the-universal-approximation-theorem"]], "Functionality in Scikit-Learn": [[29, "functionality-in-scikit-learn"], [31, "functionality-in-scikit-learn"]], "Further Dimensionality Remarks": [[3, "further-dimensionality-remarks"]], "Further properties (important for our analyses later)": [[5, "further-properties-important-for-our-analyses-later"], [29, "further-properties-important-for-our-analyses-later"], [30, "further-properties-important-for-our-analyses-later"]], "Gaussian Elimination": [[22, "gaussian-elimination"]], "General Features": [[9, "general-features"]], "General linear models and linear algebra": [[28, "general-linear-models-and-linear-algebra"]], "Generalizing the fitting procedure as a linear algebra problem": [[28, "generalizing-the-fitting-procedure-as-a-linear-algebra-problem"], [28, "id1"]], "Generative Adversarial Networks": [[4, "generative-adversarial-networks"]], "Generative Models": [[4, "generative-models"]], "Generative Versus Discriminative Modeling": [[28, "generative-versus-discriminative-modeling"]], "Geometric Interpretation and link with Singular Value Decomposition": [[11, "geometric-interpretation-and-link-with-singular-value-decomposition"]], "Getting started with project 1": [[20, "getting-started-with-project-1"]], "Gradient Boosting, Classification Example": [[10, "gradient-boosting-classification-example"]], "Gradient Boosting, Examples of Regression": [[10, "gradient-boosting-examples-of-regression"]], "Gradient Clipping": [[1, "gradient-clipping"]], "Gradient Descent Example": [[30, "id1"], [31, "id1"]], "Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent": [[10, "gradient-boosting-basics-with-steepest-descent-functional-gradient-descent"]], "Gradient descent": [[2, "gradient-descent"]], "Gradient descent and Ridge": [[30, "gradient-descent-and-ridge"], [31, "gradient-descent-and-ridge"]], "Gradient descent and revisiting Ordinary Least Squares from last week": [[31, "gradient-descent-and-revisiting-ordinary-least-squares-from-last-week"]], "Gradient descent example": [[30, "gradient-descent-example"], [31, "gradient-descent-example"]], "Grading": [[26, "grading"], [26, "id2"], [28, "grading"]], "How to take derivatives of Matrix-Vector expressions": [[16, "how-to-take-derivatives-of-matrix-vector-expressions"]], "Hyperplanes and all that": [[8, "hyperplanes-and-all-that"]], "Identifying Terms": [[32, "identifying-terms"]], "Important Matrix and vector handling packages": [[22, "important-matrix-and-vector-handling-packages"]], "Important technicalities: More on Rescaling data": [[29, "important-technicalities-more-on-rescaling-data"]], "Improving gradient descent with momentum": [[31, "improving-gradient-descent-with-momentum"]], "Improving performance": [[1, "improving-performance"]], "In summary": [[26, "in-summary"]], "Including Stochastic Gradient Descent with Autograd": [[13, "including-stochastic-gradient-descent-with-autograd"], [31, "including-stochastic-gradient-descent-with-autograd"]], "Incremental PCA": [[11, "incremental-pca"]], "Independent and Identically Distributed (iid)": [[32, "independent-and-identically-distributed-iid"]], "Installing R, C++, cython or Julia": [[28, "installing-r-c-cython-or-julia"]], "Installing R, C++, cython, Numba etc": [[28, "installing-r-c-cython-numba-etc"]], "Instructor information": [[26, "instructor-information"]], "Interpretations and optimizing our parameters": [[28, "interpretations-and-optimizing-our-parameters"], [28, "id2"], [28, "id3"], [29, "interpretations-and-optimizing-our-parameters"], [29, "id1"], [29, "id2"]], "Interpreting the Ridge results": [[29, "interpreting-the-ridge-results"], [30, "interpreting-the-ridge-results"], [30, "id4"]], "Introducing JAX": [[13, "introducing-jax"]], "Introducing the Covariance and Correlation functions": [[11, "introducing-the-covariance-and-correlation-functions"], [29, "introducing-the-covariance-and-correlation-functions"]], "Introduction": [[0, "introduction"], [6, "introduction"], [21, "introduction"], [22, "introduction"]], "Introduction to numerical projects": [[23, "introduction-to-numerical-projects"]], "Iterative Fitting, Classification and AdaBoost": [[10, "iterative-fitting-classification-and-adaboost"]], "Iterative Fitting, Regression and Squared-error Cost Function": [[10, "iterative-fitting-regression-and-squared-error-cost-function"]], "Kernel PCA": [[11, "kernel-pca"]], "Kernels and non-linearity": [[8, "kernels-and-non-linearity"]], "LU Decomposition, the inverse of a matrix": [[22, "lu-decomposition-the-inverse-of-a-matrix"]], "Lasso Regression": [[30, "lasso-regression"]], "Lasso case": [[30, "lasso-case"]], "Layers": [[1, "layers"]], "Layers used to build CNNs": [[3, "layers-used-to-build-cnns"]], "Learning goals": [[15, "learning-goals"], [16, "learning-goals"], [17, "learning-goals"], [18, "learning-goals"], [19, "learning-goals"], [20, "learning-goals"]], "Learning outcomes": [[21, "learning-outcomes"], [28, "learning-outcomes"]], "Lectures and ComputerLab": [[28, "lectures-and-computerlab"]], "Limitations of supervised learning with deep networks": [[1, "limitations-of-supervised-learning-with-deep-networks"]], "Linear Algebra, Handling of Arrays and more Python Features": [[22, null]], "Linear Regression": [[0, null]], "Linear Regression Problems": [[29, "linear-regression-problems"], [30, "linear-regression-problems"]], "Linear Regression and the SVD": [[30, "linear-regression-and-the-svd"]], "Linear Regression, basic elements": [[0, "linear-regression-basic-elements"]], "Linking Bayes\u2019 Theorem with Ridge and Lasso Regression": [[5, "linking-bayes-theorem-with-ridge-and-lasso-regression"]], "Linking the regression analysis with a statistical interpretation": [[5, "linking-the-regression-analysis-with-a-statistical-interpretation"], [32, "linking-the-regression-analysis-with-a-statistical-interpretation"]], "Linking with the SVD": [[5, "linking-with-the-svd"], [29, "linking-with-the-svd"]], "Links to relevant courses at the University of Oslo": [[27, "links-to-relevant-courses-at-the-university-of-oslo"]], "Logistic Regression": [[7, null], [7, "id1"]], "MNIST and GANs": [[4, "mnist-and-gans"]], "Machine Learning": [[28, "machine-learning"]], "Machine learning": [[21, "machine-learning"]], "Main textbooks": [[28, "main-textbooks"]], "Making a tree": [[9, "making-a-tree"]], "Making your own Bootstrap: Changing the Level of the Decision Tree": [[10, "making-your-own-bootstrap-changing-the-level-of-the-decision-tree"]], "Making your own test-train splitting": [[29, "making-your-own-test-train-splitting"]], "Material for exercises week 35": [[29, "material-for-exercises-week-35"]], "Material for lab sessions sessions Tuesday and Wednesday": [[30, "material-for-lab-sessions-sessions-tuesday-and-wednesday"]], "Material for lecture Monday September 2": [[30, "material-for-lecture-monday-september-2"]], "Material for lecture Monday September 8": [[31, "material-for-lecture-monday-september-8"]], "Material for the lab sessions": [[31, "material-for-the-lab-sessions"], [32, "material-for-the-lab-sessions"]], "Mathematical Interpretation of Ordinary Least Squares": [[5, "mathematical-interpretation-of-ordinary-least-squares"], [29, "mathematical-interpretation-of-ordinary-least-squares"], [30, "mathematical-interpretation-of-ordinary-least-squares"]], "Mathematical optimization of convex functions": [[8, "mathematical-optimization-of-convex-functions"]], "Mathematics of CNNs": [[3, "mathematics-of-cnns"]], "Mathematics of the SVD and implications": [[5, "mathematics-of-the-svd-and-implications"], [29, "mathematics-of-the-svd-and-implications"], [30, "mathematics-of-the-svd-and-implications"]], "Matrices in Python": [[28, "matrices-in-python"]], "Matrix multiplication": [[1, "matrix-multiplication"]], "Matrix-vector notation and activation": [[12, "matrix-vector-notation-and-activation"]], "Maximum Likelihood Estimation (MLE)": [[32, "maximum-likelihood-estimation-mle"]], "Meet the covariance!": [[25, "meet-the-covariance"]], "Meet the Covariance Matrix": [[5, "meet-the-covariance-matrix"], [29, "meet-the-covariance-matrix"]], "Meet the Hessian Matrix": [[29, "meet-the-hessian-matrix"]], "Meet the Pandas": [[28, "meet-the-pandas"]], "Memory Usage and Scalability": [[31, "memory-usage-and-scalability"]], "Memory constraints": [[31, "memory-constraints"]], "Min-Max Scaling": [[29, "min-max-scaling"]], "Momentum based GD": [[13, "momentum-based-gd"], [31, "momentum-based-gd"]], "More complicated Example: The Ising model": [[6, "more-complicated-example-the-ising-model"]], "More examples on bootstrap and cross-validation and errors": [[32, "more-examples-on-bootstrap-and-cross-validation-and-errors"]], "More interpretations": [[29, "more-interpretations"], [30, "more-interpretations"], [30, "id5"]], "More on Dimensionalities": [[3, "more-on-dimensionalities"]], "More on Rescaling data": [[6, "more-on-rescaling-data"]], "More on Steepest descent": [[30, "more-on-steepest-descent"]], "More on convex functions": [[30, "more-on-convex-functions"]], "More preprocessing": [[29, "more-preprocessing"], [31, "more-preprocessing"]], "Motivation for Adaptive Step Sizes": [[31, "motivation-for-adaptive-step-sizes"]], "Multilayer perceptrons": [[12, "multilayer-perceptrons"]], "Network requirements": [[2, "network-requirements"]], "Neural Networks vs CNNs": [[3, "neural-networks-vs-cnns"]], "Neural networks": [[12, null]], "Non-Convex Problems": [[31, "non-convex-problems"]], "Note about SVD Calculations": [[29, "note-about-svd-calculations"], [30, "note-about-svd-calculations"]], "Note on Scikit-Learn": [[30, "note-on-scikit-learn"]], "Numerical experiments and the covariance, central limit theorem": [[25, "numerical-experiments-and-the-covariance-central-limit-theorem"]], "Numpy and arrays": [[22, "numpy-and-arrays"], [28, "numpy-and-arrays"]], "Numpy examples and Important Matrix and vector handling packages": [[28, "numpy-examples-and-important-matrix-and-vector-handling-packages"]], "Optimization and gradient descent, the central part of any Machine Learning algortithm": [[30, "optimization-and-gradient-descent-the-central-part-of-any-machine-learning-algortithm"]], "Optimization, the central part of any Machine Learning algortithm": [[13, null]], "Optimizing our parameters": [[28, "optimizing-our-parameters"]], "Optimizing our parameters, more details": [[28, "optimizing-our-parameters-more-details"]], "Optimizing the cost function": [[1, "optimizing-the-cost-function"]], "Organizing our data": [[0, "organizing-our-data"], [28, "organizing-our-data"]], "Other Matrix and Vector Operations": [[22, "other-matrix-and-vector-operations"]], "Other Types of Recurrent Neural Networks": [[4, "other-types-of-recurrent-neural-networks"]], "Other courses on Data science and Machine Learning at UiO": [[28, "other-courses-on-data-science-and-machine-learning-at-uio"]], "Other courses on Data science and Machine Learning at UiO, contn": [[28, "other-courses-on-data-science-and-machine-learning-at-uio-contn"]], "Other popular texts": [[28, "other-popular-texts"]], "Other techniques": [[11, "other-techniques"]], "Other types of networks": [[12, "other-types-of-networks"]], "Other ways of visualizing the trees": [[9, "other-ways-of-visualizing-the-trees"]], "Our model for the nuclear binding energies": [[28, "our-model-for-the-nuclear-binding-energies"]], "Overview of first week": [[28, "overview-of-first-week"]], "Overview video on Stochastic Gradient Descent (SGD)": [[31, "overview-video-on-stochastic-gradient-descent-sgd"]], "Own code for Ordinary Least Squares": [[28, "own-code-for-ordinary-least-squares"], [29, "own-code-for-ordinary-least-squares"]], "PCA and scikit-learn": [[11, "pca-and-scikit-learn"]], "Pandas AI": [[28, "pandas-ai"]], "Part a : Ordinary Least Square (OLS) for the Runge function": [[23, "part-a-ordinary-least-square-ols-for-the-runge-function"]], "Part b: Adding Ridge regression for the Runge function": [[23, "part-b-adding-ridge-regression-for-the-runge-function"]], "Part c: Writing your own gradient descent code": [[23, "part-c-writing-your-own-gradient-descent-code"]], "Part d: Including momentum and more advanced ways to update the learning the rate": [[23, "part-d-including-momentum-and-more-advanced-ways-to-update-the-learning-the-rate"]], "Part e: Writing our own code for Lasso regression": [[23, "part-e-writing-our-own-code-for-lasso-regression"]], "Part f: Stochastic gradient descent": [[23, "part-f-stochastic-gradient-descent"]], "Part g: Bias-variance trade-off and resampling techniques": [[23, "part-g-bias-variance-trade-off-and-resampling-techniques"]], "Part h): Cross-validation as resampling techniques, adding more complexity": [[23, "part-h-cross-validation-as-resampling-techniques-adding-more-complexity"]], "Partial Differential Equations": [[2, "partial-differential-equations"]], "Plans for week 35": [[29, "plans-for-week-35"]], "Plans for week 36": [[30, "plans-for-week-36"]], "Plans for week 37, lecture Monday": [[31, "plans-for-week-37-lecture-monday"]], "Plans for week 38, lecture Monday September 15": [[32, "plans-for-week-38-lecture-monday-september-15"]], "Plotting the Histogram": [[32, "plotting-the-histogram"]], "Practical tips": [[13, "practical-tips"], [31, "practical-tips"]], "Practicalities": [[26, "practicalities"], [26, "id1"]], "Preamble: Note on writing reports, using reference material, AI and other tools": [[23, "preamble-note-on-writing-reports-using-reference-material-ai-and-other-tools"]], "Predicting New Points With A Trained Recurrent Neural Network": [[4, "predicting-new-points-with-a-trained-recurrent-neural-network"]], "Preprocessing our data": [[29, "preprocessing-our-data"]], "Prerequisites": [[28, "prerequisites"]], "Prerequisites and background": [[21, "prerequisites-and-background"]], "Prerequisites: Collect and pre-process data": [[3, "prerequisites-collect-and-pre-process-data"]], "Probability Distribution Functions": [[25, "probability-distribution-functions"]], "Program example for gradient descent with Ridge Regression": [[30, "program-example-for-gradient-descent-with-ridge-regression"], [31, "program-example-for-gradient-descent-with-ridge-regression"]], "Program for stochastic gradient": [[13, "program-for-stochastic-gradient"]], "Project 1 on Machine Learning, deadline October 6 (midnight), 2025": [[23, null]], "Properties of PDFs": [[25, "properties-of-pdfs"]], "Pros and cons": [[31, "pros-and-cons"]], "Pros and cons of trees, pros": [[9, "pros-and-cons-of-trees-pros"]], "Python installers": [[21, "python-installers"], [28, "python-installers"]], "RMS prop": [[13, "rms-prop"]], "RMSProp algorithm, taken from Goodfellow et al": [[31, "rmsprop-algorithm-taken-from-goodfellow-et-al"]], "RMSProp: Adaptive Learning Rates": [[31, "rmsprop-adaptive-learning-rates"]], "RMSprop for adaptive learning rate with Stochastic Gradient Descent": [[31, "rmsprop-for-adaptive-learning-rate-with-stochastic-gradient-descent"]], "Random Numbers": [[25, "random-numbers"]], "Random forests": [[10, "random-forests"]], "Randomized PCA": [[11, "randomized-pca"]], "Reading material": [[28, "reading-material"]], "Reading recommendations:": [[29, "reading-recommendations"]], "Reading suggestions week 34": [[28, "reading-suggestions-week-34"]], "Readings and Videos": [[32, "readings-and-videos"]], "Readings and Videos:": [[31, "readings-and-videos"]], "Recurrent neural networks": [[12, "recurrent-neural-networks"]], "Recurrent neural networks: Overarching view": [[4, null]], "Reducing the number of degrees of freedom, overarching view": [[0, "reducing-the-number-of-degrees-of-freedom-overarching-view"], [29, "reducing-the-number-of-degrees-of-freedom-overarching-view"]], "Reformulating the problem": [[2, "reformulating-the-problem"]], "Regression Case": [[10, "regression-case"]], "Regression analysis and resampling methods": [[23, "regression-analysis-and-resampling-methods"]], "Regression analysis, overarching aims": [[28, "regression-analysis-overarching-aims"]], "Regression analysis, overarching aims II": [[28, "regression-analysis-overarching-aims-ii"]], "Regularization": [[1, "regularization"]], "Reminder from last week": [[29, "reminder-from-last-week"]], "Reminder on Newton-Raphson\u2019s method": [[30, "reminder-on-newton-raphson-s-method"]], "Reminder on Statistics": [[6, "reminder-on-statistics"]], "Reminder on different scaling methods": [[31, "reminder-on-different-scaling-methods"]], "Replace or not": [[13, "replace-or-not"], [31, "replace-or-not"]], "Required Technologies": [[21, "required-technologies"]], "Resampling Methods": [[6, null]], "Resampling and the Bias-Variance Trade-off": [[19, "resampling-and-the-bias-variance-trade-off"]], "Resampling approaches can be computationally expensive": [[32, "resampling-approaches-can-be-computationally-expensive"]], "Resampling methods": [[6, "id1"], [32, "resampling-methods"], [32, "id2"]], "Resampling methods: Bootstrap": [[32, "resampling-methods-bootstrap"]], "Resampling methods: Bootstrap approach": [[32, "resampling-methods-bootstrap-approach"]], "Resampling methods: Bootstrap background": [[32, "resampling-methods-bootstrap-background"]], "Resampling methods: Bootstrap steps": [[32, "resampling-methods-bootstrap-steps"]], "Resampling methods: More Bootstrap background": [[32, "resampling-methods-more-bootstrap-background"]], "Residual Error": [[29, "residual-error"], [30, "residual-error"]], "Resources on differential equations and deep learning": [[2, "resources-on-differential-equations-and-deep-learning"]], "Revisiting Ordinary Least Squares": [[30, "revisiting-ordinary-least-squares"]], "Revisiting our Linear Regression Solvers": [[13, "revisiting-our-linear-regression-solvers"]], "Rewriting the Covariance and/or Correlation Matrix": [[29, "rewriting-the-covariance-and-or-correlation-matrix"]], "Rewriting the \\delta-function": [[32, "rewriting-the-delta-function"]], "Rewriting the fitting procedure as a linear algebra problem": [[28, "rewriting-the-fitting-procedure-as-a-linear-algebra-problem"]], "Rewriting the fitting procedure as a linear algebra problem, more details": [[28, "rewriting-the-fitting-procedure-as-a-linear-algebra-problem-more-details"]], "Ridge Regression": [[30, "ridge-regression"]], "Ridge and LASSO Regression": [[29, "ridge-and-lasso-regression"], [30, "ridge-and-lasso-regression"], [30, "id2"]], "Ridge and Lasso Regression": [[5, null], [5, "id1"]], "SGD example": [[31, "sgd-example"]], "SGD vs Full-Batch GD: Convergence Speed and Memory Comparison": [[31, "sgd-vs-full-batch-gd-convergence-speed-and-memory-comparison"]], "SVD analysis": [[30, "svd-analysis"]], "Same code but now with momentum gradient descent": [[13, "same-code-but-now-with-momentum-gradient-descent"], [31, "same-code-but-now-with-momentum-gradient-descent"], [31, "id3"], [31, "id4"]], "Schedule first week": [[28, "schedule-first-week"]], "Schematic Regression Procedure": [[9, "schematic-regression-procedure"]], "Second moment of the gradient": [[31, "second-moment-of-the-gradient"]], "September 15-19": [[19, "september-15-19"]], "Setting up the Back propagation algorithm": [[12, "setting-up-the-back-propagation-algorithm"]], "Setting up the Matrix to be inverted": [[29, "setting-up-the-matrix-to-be-inverted"], [30, "setting-up-the-matrix-to-be-inverted"]], "Setting up the network using Autograd; The full program": [[2, "setting-up-the-network-using-autograd-the-full-program"]], "Similar (second order function now) problem but now with AdaGrad": [[13, "similar-second-order-function-now-problem-but-now-with-adagrad"], [31, "similar-second-order-function-now-problem-but-now-with-adagrad"]], "Simple Python Code to read in Data and perform Classification": [[9, "simple-python-code-to-read-in-data-and-perform-classification"]], "Simple case": [[29, "simple-case"], [30, "simple-case"]], "Simple code for solving the above problem": [[30, "simple-code-for-solving-the-above-problem"]], "Simple example code": [[31, "simple-example-code"]], "Simple example to illustrate Ordinary Least Squares, Ridge and Lasso Regression": [[30, "simple-example-to-illustrate-ordinary-least-squares-ridge-and-lasso-regression"]], "Simple geometric interpretation": [[30, "simple-geometric-interpretation"]], "Simple linear regression model using scikit-learn": [[0, "simple-linear-regression-model-using-scikit-learn"], [28, "simple-linear-regression-model-using-scikit-learn"]], "Simple one-dimensional second-order polynomial": [[18, "simple-one-dimensional-second-order-polynomial"]], "Simple program": [[30, "simple-program"], [31, "simple-program"]], "Slightly different approach": [[31, "slightly-different-approach"]], "Sneaking in automatic differentiation using Autograd": [[31, "sneaking-in-automatic-differentiation-using-autograd"]], "Software and needed installations": [[23, "software-and-needed-installations"], [28, "software-and-needed-installations"]], "Solving Differential Equations with Deep Learning": [[2, null]], "Solving the one dimensional Poisson equation": [[2, "solving-the-one-dimensional-poisson-equation"]], "Solving the wave equation with Neural Networks": [[2, "solving-the-wave-equation-with-neural-networks"]], "Some famous Matrices": [[22, "some-famous-matrices"]], "Some simple problems": [[13, "some-simple-problems"], [30, "some-simple-problems"]], "Some useful matrix and vector expressions": [[29, "some-useful-matrix-and-vector-expressions"]], "Splitting our Data in Training and Test data": [[0, "splitting-our-data-in-training-and-test-data"], [29, "splitting-our-data-in-training-and-test-data"]], "Standard Approach based on the Normal Distribution": [[32, "standard-approach-based-on-the-normal-distribution"]], "Standard steepest descent": [[13, "standard-steepest-descent"]], "Statistical analysis": [[32, "statistical-analysis"]], "Statistical analysis and optimization of data": [[21, "statistical-analysis-and-optimization-of-data"], [28, "statistical-analysis-and-optimization-of-data"]], "Steepest descent": [[13, "steepest-descent"], [30, "steepest-descent"]], "Stochastic Gradient Descent": [[31, "stochastic-gradient-descent"]], "Stochastic Gradient Descent (SGD)": [[13, "stochastic-gradient-descent-sgd"], [31, "stochastic-gradient-descent-sgd"]], "Stochastic variables and the main concepts, the discrete case": [[25, "stochastic-variables-and-the-main-concepts-the-discrete-case"]], "Strongly Convex Case": [[31, "strongly-convex-case"]], "Summing up": [[32, "summing-up"]], "Support Vector Machines, overarching aims": [[8, null]], "Systematic reduction": [[3, "systematic-reduction"]], "Teachers": [[28, "teachers"]], "Teachers and Grading": [[26, null]], "Teaching Assistants Fall semester 2023": [[26, "teaching-assistants-fall-semester-2023"]], "Tentative deadllines for projects": [[26, "tentative-deadllines-for-projects"]], "Testing the Means Squared Error as function of Complexity": [[0, "testing-the-means-squared-error-as-function-of-complexity"], [29, "testing-the-means-squared-error-as-function-of-complexity"]], "Textbooks": [[27, null]], "The Algorithm before theorem": [[11, "the-algorithm-before-theorem"]], "The Breast Cancer Data, now with Keras": [[1, "the-breast-cancer-data-now-with-keras"]], "The CART algorithm for Classification": [[9, "the-cart-algorithm-for-classification"]], "The CART algorithm for Regression": [[9, "the-cart-algorithm-for-regression"]], "The CIFAR01 data set": [[3, "the-cifar01-data-set"]], "The Central Limit Theorem": [[32, "the-central-limit-theorem"]], "The Hessian matrix": [[30, "the-hessian-matrix"], [31, "the-hessian-matrix"]], "The Hessian matrix for Ridge Regression": [[30, "the-hessian-matrix-for-ridge-regression"], [31, "the-hessian-matrix-for-ridge-regression"]], "The Jacobian": [[29, "the-jacobian"]], "The MNIST dataset again": [[3, "the-mnist-dataset-again"]], "The OLS case": [[30, "the-ols-case"]], "The RELU function family": [[1, "the-relu-function-family"]], "The Ridge case": [[30, "the-ridge-case"]], "The SVD, a Fantastic Algorithm": [[29, "the-svd-a-fantastic-algorithm"], [30, "the-svd-a-fantastic-algorithm"]], "The Softmax function": [[1, "the-softmax-function"]], "The \\chi^2 function": [[0, "the-chi-2-function"], [28, "the-chi-2-function"], [28, "id4"], [28, "id5"], [28, "id6"], [28, "id7"], [28, "id8"]], "The bias-variance tradeoff": [[6, "the-bias-variance-tradeoff"], [32, "the-bias-variance-tradeoff"]], "The code for solving the ODE": [[2, "the-code-for-solving-the-ode"]], "The complete code with a simple data set": [[29, "the-complete-code-with-a-simple-data-set"]], "The cost/loss function": [[29, "the-cost-loss-function"]], "The course has two central parts": [[21, "the-course-has-two-central-parts"]], "The derivative of the cost/loss function": [[30, "the-derivative-of-the-cost-loss-function"], [31, "the-derivative-of-the-cost-loss-function"]], "The equations": [[30, "the-equations"]], "The equations for ordinary least squares": [[29, "the-equations-for-ordinary-least-squares"]], "The first Case": [[30, "the-first-case"]], "The gradient step": [[31, "the-gradient-step"]], "The ideal": [[30, "the-ideal"]], "The logistic function": [[7, "the-logistic-function"]], "The mean squared error and its derivative": [[29, "the-mean-squared-error-and-its-derivative"]], "The moons example": [[8, "the-moons-example"]], "The multilayer perceptron (MLP)": [[12, "the-multilayer-perceptron-mlp"]], "The network with one input layer, specified number of hidden layers, and one output layer": [[2, "the-network-with-one-input-layer-specified-number-of-hidden-layers-and-one-output-layer"]], "The plethora of machine learning algorithms/methods": [[28, "the-plethora-of-machine-learning-algorithms-methods"]], "The same example but now with cross-validation": [[32, "the-same-example-but-now-with-cross-validation"]], "The sensitiveness of the gradient descent": [[30, "the-sensitiveness-of-the-gradient-descent"]], "The singular value decomposition": [[5, "the-singular-value-decomposition"], [29, "the-singular-value-decomposition"], [30, "the-singular-value-decomposition"]], "The two-dimensional case": [[8, "the-two-dimensional-case"]], "Theoretical Convergence Speed and convex optimization": [[31, "theoretical-convergence-speed-and-convex-optimization"]], "Time decay rate": [[31, "time-decay-rate"]], "To our real data: nuclear binding energies. Brief reminder on masses and binding energies": [[28, "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": [[28, "topics-covered-in-this-course-statistical-analysis-and-optimization-of-data"]], "Towards the PCA theorem": [[11, "towards-the-pca-theorem"]], "Train and test datasets": [[1, "train-and-test-datasets"]], "Two-dimensional Objects": [[3, "two-dimensional-objects"]], "Type of problem": [[2, "type-of-problem"]], "Types of Machine Learning": [[28, "types-of-machine-learning"]], "Understanding what happens": [[32, "understanding-what-happens"]], "Use the books!": [[19, "use-the-books"]], "Useful Python libraries": [[21, "useful-python-libraries"], [28, "useful-python-libraries"]], "Using Autograd": [[13, "using-autograd"]], "Using forward Euler to solve the ODE": [[2, "using-forward-euler-to-solve-the-ode"]], "Using gradient descent methods, limitations": [[13, "using-gradient-descent-methods-limitations"], [30, "using-gradient-descent-methods-limitations"], [31, "using-gradient-descent-methods-limitations"]], "Various steps in cross-validation": [[32, "various-steps-in-cross-validation"]], "Visualization": [[1, "visualization"], [1, "id1"]], "Visualizing the Tree, Classification": [[9, "visualizing-the-tree-classification"]], "Week 34: Introduction to the course, Logistics and Practicalities": [[28, null]], "Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression": [[29, null]], "Week 36: Linear Regression and Gradient descent": [[30, null]], "Week 37: Gradient descent methods": [[31, null]], "Week 38: Statistical analysis, bias-variance tradeoff and resampling methods": [[32, null]], "What Is Generative Modeling?": [[28, "what-is-generative-modeling"]], "What does it mean?": [[29, "what-does-it-mean"], [30, "what-does-it-mean"]], "What is Machine Learning?": [[0, "what-is-machine-learning"]], "What is a good model?": [[0, "what-is-a-good-model"], [28, "what-is-a-good-model"]], "What is a good model? Can we define it?": [[28, "what-is-a-good-model-can-we-define-it"]], "When do we stop?": [[31, "when-do-we-stop"]], "Which activation function should I use?": [[1, "which-activation-function-should-i-use"]], "Why Combine Momentum and RMSProp?": [[31, "why-combine-momentum-and-rmsprop"]], "Why Linear Regression (aka Ordinary Least Squares and family)": [[28, "why-linear-regression-aka-ordinary-least-squares-and-family"]], "Why resampling methods": [[32, "why-resampling-methods"]], "Why resampling methods ?": [[32, "id1"]], "Wisconsin Cancer Data": [[7, "wisconsin-cancer-data"]], "With Lasso Regression": [[30, "with-lasso-regression"]], "Wrapping it up": [[32, "wrapping-it-up"]], "Writing Our First Generative Adversarial Network": [[4, "writing-our-first-generative-adversarial-network"]], "Writing our own PCA code": [[11, "writing-our-own-pca-code"]], "Writing the Cost Function": [[30, "writing-the-cost-function"]], "XGBoost: Extreme Gradient Boosting": [[10, "xgboost-extreme-gradient-boosting"]], "Yet another Example": [[30, "yet-another-example"]], "a) Expression for Ridge regression": [[17, "a-expression-for-ridge-regression"]], "scikit-learn implementation": [[1, "scikit-learn-implementation"]]}, "docnames": ["chapter1", "chapter10", "chapter11", "chapter12", "chapter13", "chapter2", "chapter3", "chapter4", "chapter5", "chapter6", "chapter7", "chapter8", "chapter9", "chapteroptimization", "clustering", "exercisesweek34", "exercisesweek35", "exercisesweek36", "exercisesweek37", "exercisesweek38", "exercisesweek39", "intro", "linalg", "project1", "schedule", "statistics", "teachers", "textbooks", "week34", "week35", "week36", "week37", "week38"], "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": ["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", "exercisesweek34.ipynb", "exercisesweek35.ipynb", "exercisesweek36.ipynb", "exercisesweek37.ipynb", "exercisesweek38.ipynb", "exercisesweek39.ipynb", "intro.md", "linalg.ipynb", "project1.ipynb", "schedule.md", "statistics.ipynb", "teachers.md", "textbooks.md", "week34.ipynb", "week35.ipynb", "week36.ipynb", "week37.ipynb", "week38.ipynb"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 13, 15, 16, 17, 19, 21, 22, 23, 25, 26, 28, 29], "0": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 25, 26, 28, 29, 30, 31, 32], "00": [0, 1, 5, 11, 28, 29], "000": [1, 3], "000000": [], "00000000e": [], "001": [2, 8, 13, 30, 31], "004": 5, "004113634617443131": 29, "004113634617443139": 29, "00411363461744314": 29, "004113634617443147": 29, "005b82": [], "00622f": [], "00727646693": [0, 28], "0072b2": [], "00749c": [], "008561": [], "0086649156": [0, 28], "00e0e0": [], "01": [0, 1, 2, 5, 9, 11, 13, 17, 27, 28, 29, 31], "010726": [], "0110": 25, "01719003e": [], "02": [0, 4, 7, 12, 28], "02334824": [], "023b95": [], "024c1a": [], "02857": 4, "02f": 6, "03077640549": 4, "03097597e": [], "031": 5, "04": 11, "0458": 9, "05": [4, 6], "0550ae": [], "062292565": 4, "062435": [], "06730814": [], "07": [], "0713": [0, 28], "07285": 3, "08": 25, "08078025e": [], "080808": [], "08336233266": 4, "08376632": 29, "083766322923899": 29, "0837663229239043": 29, "0917": 9, "0969da4a": [], "0d1117": [], "0n": [0, 28], "0x113e21950": 17, "1": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 22, 24, 25, 26, 27, 28, 30, 31, 32], "10": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 22, 24, 25, 26, 28, 29, 30, 31, 32], "100": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 22, 25, 26, 28, 29, 30, 31, 32], "1000": [0, 1, 2, 4, 5, 8, 11, 13, 14, 18, 19, 21, 25, 28, 30, 31], "10000": [2, 5, 6, 10, 11, 13, 25, 32], "100000": 8, "10001": 10, "1001": 25, "1002": 25, "1003": 25, "1005": 25, "1007": 32, "1009": 25, "101": 16, "1011": 25, "1013": 25, "1013904243": 25, "1015": 25, "102": 16, "1023": 25, "1024": 3, "1026": 25, "1027": 25, "103": 1, "1030": 25, "1037": 25, "1038": 25, "1040": 25, "1047": 25, "107": 16, "108": [], "10th": 9, "10x": [0, 28], "11": [0, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 22, 23, 25, 27, 28, 29, 30, 31, 32], "110": [], "1100": 25, "1101": 25, "111": [1, 7, 12], "112": 16, "11340253": [], "11590451": [], "116": 16, "116329": [], "116633": [], "117": 16, "118": 16, "12": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 18, 22, 25, 27, 28, 29, 30, 31, 32], "120": 3, "121": [8, 9, 10, 16], "1215pm": [26, 28], "122": [8, 9, 10], "124": [0, 28], "125": 16, "127": [4, 16], "128": [3, 4, 13, 31], "129": 16, "1298": 9, "12pm": [26, 28], "13": [0, 2, 9, 12, 22, 25, 28], "131": 16, "133": 7, "135": 16, "136": 16, "14": [0, 2, 4, 6, 8, 9, 10, 12, 22, 25, 27, 29, 32], "141": 16, "1412": 31, "141414": [], "143": 16, "1446729567": 4, "149": 16, "14g": [6, 32], "15": [0, 2, 4, 6, 7, 8, 9, 12, 13, 23, 25, 28, 30, 31], "150": [4, 8], "152": 16, "153760": [], "156": 16, "157": [], "158": [], "159": 16, "15g": [6, 32], "15pm": 28, "16": [1, 2, 3, 4, 5, 8, 9, 10, 25, 28, 30, 32], "160": 16, "1603": 3, "161": 16, "162": 16, "16231451": 4, "163": 16, "16384": 3, "164": 16, "167": 16, "17": [1, 2, 8, 25], "172": 16, "173": 16, "175": 32, "176": 16, "178": 16, "179": 16, "1797": 1, "18": [2, 6, 7, 8, 9, 10, 25, 28, 32], "1807": 4, "181036": [], "18392847": [], "18c1c4": [], "19": [2, 25, 28, 32], "192": 32, "1940": [], "1943": 12, "19569961": 29, "19680801": [], "1970": [22, 28], "1973": 9, "1979": [6, 32], "1_1": 12, "1_2": 12, "1_3": 12, "1cm": [0, 8, 10, 25, 28], "1d": [1, 2, 3], "1e": [2, 4, 13, 14, 31], "1e10": 14, "1e1e1": [], "1e4": 6, "1f": 1, "1k": 22, "1n": [0, 28], "1x": [0, 28], "2": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 21, 22, 23, 25, 27, 31, 32], "20": [0, 1, 2, 6, 7, 8, 16, 17, 25, 26, 28, 29, 30, 31, 32], "200": [0, 2, 3, 4, 8, 9, 10], "2000": [0, 29], "2001": [], "2004": [13, 30], "2006": 27, "2007": [], "20072279": [], "2008": [28, 31], "2009": [], "2010": 1, "2011": [1, 31], "2012": 31, "2013": [], "2014": [4, 31], "2015": 1, "2016": [0, 28], "2018": [0, 6, 29, 32], "2019": [], "2020": [], "2021": [6, 14, 29, 31], "2022": 28, "2024": 32, "2025": [18, 28, 29, 30, 31, 32], "21": [0, 1, 5, 7, 9, 12, 22, 28, 29, 30], "2116753732": 4, "215pm": [26, 28], "2167072": [], "22": [0, 1, 5, 12, 13, 22, 28, 29, 30], "221": 8, "225": 4, "22948497": [], "23": [1, 12, 22], "24": [0, 1, 22, 28], "242424": [], "24292f": [], "25": [2, 3, 4, 5, 6, 8, 9, 11, 29], "250": [2, 4, 7, 9], "25000": [], "250154": [], "252124": [], "253775": [], "255": 3, "256": [4, 31], "25x": 23, "26": [], "26303845": [], "264": [], "265": [], "265109911": 4, "266": [], "269": [], "27": 1, "270": [], "278": [30, 31], "27n_": 25, "28": [1, 3, 4], "283": [30, 31], "2830637392": 4, "2861": 25, "2873": 9, "2882": 25, "2886": 25, "2890": [0, 28], "2892": 25, "29": 29, "2915": 25, "2931": 28, "29364655": [], "294399745619595": [], "296247": [], "2968": 28, "2980": 28, "298273": [], "298375": [], "2990": 28, "2_": 12, "2_1": 12, "2_2": 12, "2_3": 12, "2_i": 12, "2_m": [6, 25, 32], "2_t": 13, "2_x": 25, "2a": 17, "2a1968": [], "2b": 25, "2b2b2b": [], "2c8f433990d1": 31, "2cm": 8, "2d": [1, 3, 11, 12, 21, 28], "2e": [6, 32], "2f": [0, 7, 9, 10, 11, 12, 28], "2g": 2, "2g_i": 2, "2k": 3, "2m": [6, 32], "2mvizaqfst8": 29, "2n": [0, 2, 3, 28, 29], "2nd": 9, "2p": 25, "2pt": 4, "2x": [0, 3, 8, 13, 28], "2x_ix_jy_iy_j": 8, "2x_j": 8, "2y_i": 10, "2y_j": 8, "3": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 21, 22, 23, 24, 25, 26, 28, 30, 31, 32], "30": [0, 1, 4, 6, 7, 10, 13, 26, 31, 32], "30000": [0, 28], "3072": 3, "31": [12, 22, 25], "315": [6, 29, 31], "3155": [0, 5, 6, 29, 30, 31, 32], "32": [3, 4, 6, 12, 13, 22, 25, 31], "3200": 1, "3250": 1, "3297": [], "33": [12, 22, 26], "3303": [], "3310": [], "332331": [], "333": 7, "3331": [], "3337": [], "34": 22, "3436": [0, 28], "3437": [0, 28], "35": [0, 6, 23, 28, 30, 31], "3581341341": 4, "359": [5, 30], "36": [0, 5, 6, 18, 23, 25], "37": [23, 30, 32], "370782966": 4, "38": [23, 25], "387": 32, "39": [0, 26, 28], "3d": [2, 3, 4, 6, 13, 16, 32], "3d73a9": [], "3f": [1, 3, 9], "3n": 22, "3x": [2, 8], "3x_i": 2, "3y": 8, "4": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 22, 23, 25, 28, 30, 31, 32], "40": [1, 6, 26, 28, 32], "400": 4, "4000": 28, "40008b9a5380fcacce3976bf7c08af5b": 31, "4050": [27, 28], "41": 22, "4155": [2, 15], "41589548": [], "42": [1, 4, 8, 9, 10, 22], "43": [0, 7, 22], "4310": 28, "436462435": 4, "437a6b": [], "44": [0, 22, 30, 31], "45": [26, 28], "46": [26, 28], "462": 7, "47": [26, 28], "473d18": [], "479465113": 4, "47958494": [], "48": [], "48257387": [26, 28], "49": [5, 6, 11], "49152": 3, "4940954": [0, 28], "4990": 25, "4992": 25, "4997": 25, "4c4b4be8": [], "4c4c7f": [9, 10], "4d": 3, "4f": 6, "4pm": [26, 28], "4y": 8, "4y_i": 10, "5": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 22, 23, 25, 28, 29, 30, 31, 32], "50": [1, 2, 3, 4, 6, 7, 8, 10, 13, 28, 29, 31, 32], "500": [1, 3, 4, 6, 9, 10, 13, 31, 32], "5018": 25, "506": [], "507d50": [9, 10], "50j": 13, "50x10": 1, "51": 10, "510": 1, "512132": [], "515151": [], "5177783846": 4, "53": 9, "5391cf": [], "54": [6, 25], "5411205": [], "54894451": [], "55": 1, "56": 1, "56536": [0, 28], "569": 1, "57": [0, 8, 26, 28], "571": [5, 30], "576": 32, "58": [10, 26, 28], "58a6ff70": [], "591317992": 4, "5ca7e4": [], "5cm": 25, "5f": [8, 31], "5x": [8, 18], "5y": 8, "6": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 18, 22, 25, 26, 28, 29, 30, 31, 32], "60": [1, 3], "60000": 4, "6019067271": 4, "606439": [], "622cbc": [], "625": 7, "63": 1, "64": [1, 3, 4, 13, 22, 28, 31], "64x50": 1, "65": [1, 8, 9], "66666691": [], "66707b": [], "66ccee": [], "66e9ec": [], "6730c5": [], "6887363571": 4, "69": [16, 25], "69069n_": 25, "691": [], "6980": 31, "6e7681": [], "6e7781": [], "6f98b3": [], "6n_": 25, "7": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 22, 23, 25, 27, 28, 29, 31, 32], "70": [1, 7], "702c00": [], "70653767": 4, "71": 1, "724": 3, "72f088": [], "73": [], "7304881": [], "737373": [], "75": [5, 6, 8, 11, 32], "76": [26, 28], "765": 7, "77": [26, 28], "7718": 9, "7782028952": 4, "77893972": [], "78": [], "797979": [], "7998f2": [], "79c0ff": [], "7d7d58": [9, 10], "7ee787": [], "7f4707": [], "8": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 18, 19, 22, 25, 26, 28, 30], "80": [0, 1, 5, 8, 17, 29], "800": [4, 7], "8045e5": [], "81": 1, "815am": [26, 28], "81b19b": [], "8250df": [], "84858": 32, "85": 1, "8702784034": 4, "8786ac": [], "88": 28, "8a4600": [], "8b949e": [], "8c8c8c": [], "8f": [6, 32], "8g": [6, 32], "8n": 22, "8x8": 1, "9": [0, 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 22, 25, 28, 31], "90": 1, "9040": 9, "91": [26, 28], "912583": [], "91cbff": [], "92": [26, 28], "93": 16, "931": [0, 28], "933": [5, 30], "937": 25, "938": 25, "939": [0, 25, 28], "94": 25, "95": [1, 11, 32], "953800": [], "954": 25, "955820c21e8b": 4, "96": [6, 32], "960": 25, "961": 25, "962": 25, "9649652536": 4, "96611194e": [], "974eb7": [], "978": 32, "9780387310732": 27, "9780387848570": 27, "9781098134174": 28, "9781492032632": 27, "9781801819312": 28, "97898392": 29, "98": [0, 1, 16], "985": 25, "986": 25, "98661b": [], "989": 25, "9898ff": [9, 10], "99": [13, 16, 31, 32], "991": 25, "992": 25, "993": 25, "996": 5, "996b00": [], "999": [9, 25, 31], "999999": [], "9e86c8": [], "9e8741": [], "9f4e55": [], "9x": 6, "9y": 6, "A": [2, 3, 5, 6, 7, 10, 11, 12, 13, 15, 16, 19, 20, 21, 22, 24, 25, 26, 27, 29, 30, 31], "AND": 2, "AS": [], "AT": [], "And": [0, 3, 4, 5, 6, 9, 13, 20, 21, 23, 25, 30], "As": [0, 1, 2, 3, 4, 5, 6, 8, 10, 12, 13, 15, 16, 22, 23, 25, 28, 29, 30, 31, 32], "At": [0, 4, 6, 13, 20, 28, 31], "BE": [0, 28], "BUT": [], "BY": [], "Be": [2, 18, 21, 28], "Being": 13, "But": [0, 1, 2, 3, 5, 6, 9, 10, 16, 25, 29, 32], "By": [0, 3, 5, 6, 12, 13, 17, 19, 22, 28, 29, 30, 31, 32], "FOR": [], "For": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 19, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32], "IF": [6, 29, 31], "IN": 27, "If": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 21, 22, 23, 25, 28, 29, 30, 31, 32], "In": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32], "Ising": [5, 12, 29, 30], "It": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 20, 21, 22, 23, 25, 28, 29, 30, 31, 32], "Its": [1, 2, 4, 11], "NO": [], "NOT": [], "No": [6, 9, 28, 29, 31], "Not": [0, 1, 5, 6, 29, 30, 31, 32], "OF": [], "ON": [], "OR": 25, "Of": 25, "On": [0, 3, 23, 25, 26, 27, 28, 31, 32], "One": [0, 1, 3, 4, 5, 6, 7, 8, 11, 12, 13, 17, 25, 29, 30, 31, 32], "Or": [0, 1, 6, 28], "SUCH": [], "Such": [0, 6, 12, 16, 25, 31, 32], "THE": [], "TO": [], "That": [0, 5, 7, 10, 11, 12, 14, 23, 25, 28, 32], "The": [4, 10, 13, 14, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27], "Then": [0, 1, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 22, 28, 30, 31, 32], "There": [0, 3, 4, 5, 6, 8, 9, 11, 12, 14, 15, 22, 23, 25, 26, 28, 29, 30, 31], "These": [0, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 17, 18, 22, 23, 25, 26, 28, 29, 30, 31], "To": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 20, 22, 25, 29, 30, 31, 32], "WITH": [], "With": [0, 5, 6, 8, 9, 10, 11, 12, 14, 16, 19, 22, 23, 25, 28, 29, 32], "_": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 22, 23, 28, 29, 30, 31, 32], "_0": [5, 8, 10, 11, 13, 29, 30], "_1": [2, 5, 6, 8, 10, 11, 12, 13, 14, 22, 29, 30, 31], "_2": [2, 5, 8, 11, 12, 13, 22, 29, 31], "_3": 22, "_4": 22, "_9": [13, 31], "__array_finalize__": [], "__class__": 10, "__doc__": [6, 32], "__future__": [8, 9], "__getattribute__": [], "__import__": [], "__init__": 1, "__main__": 2, "__name__": [2, 10], "__new__": [], "__path__": [], "_auto1": [2, 3, 4, 5, 6, 7, 12, 13, 22, 25, 29, 30], "_auto10": [6, 12], "_auto11": 6, "_auto12": 6, "_auto2": [2, 3, 4, 5, 6, 12, 13, 22, 25], "_auto3": [3, 4, 5, 6, 12, 13, 22], "_auto4": [4, 6, 12, 13, 22], "_auto5": [4, 6, 12, 13, 22], "_auto6": [4, 6, 12, 22], "_auto7": [4, 6, 12, 22], "_auto8": [6, 12], "_auto9": [6, 12], "_build": [0, 21, 23, 27, 28], "_c": 1, "_center": [], "_compile_transl": [], "_compon": 11, "_data": [], "_depth": 9, "_export": [15, 16, 19], "_fraction": 9, "_i": [0, 1, 2, 5, 6, 7, 8, 11, 12, 13, 19, 23, 28, 29, 30, 31, 32], "_j": [0, 1, 2, 3, 5, 6, 8, 13, 19, 23, 29, 30, 31, 32], "_k": [13, 30, 31], "_l": 12, "_lambda": 6, "_leaf": 9, "_m": 10, "_mask": [], "_multilayer_perceptron": [], "_n": [2, 5, 8, 11, 13, 29, 30, 31], "_node": 9, "_norm": [], "_p": [5, 8, 29, 30], "_parse_numpydoc_see_also_sect": [], "_pydevd_bundl": [], "_ratio": 11, "_sampl": 9, "_split": [6, 9, 23], "_t": [13, 31], "_test": [6, 23], "_varianc": 11, "_weight": 9, "a0": 3, "a0111f": [], "a0faa0": [9, 10], "a1": [0, 28], "a11": [], "a12236": [], "a2": [0, 28], "a25e53": [], "a2bffc": [], "a3": [0, 28], "a4": [0, 28], "a5d6ff": [], "a_": [0, 1, 16, 22, 28, 29], "a_0": [0, 28], "a_1a": [0, 28], "a_2a": [0, 28], "a_3": [0, 28], "a_3a": [0, 28], "a_4": [0, 28], "a_4a": [0, 28], "a_h": 1, "a_i": [0, 1, 2, 12, 28], "a_j": [1, 12], "a_k": [0, 1, 12], "aa": [], "aaa": [], "aaron": 27, "ab": [0, 2, 5, 13, 14, 28, 29, 31], "ab6369": [], "ab_channel": 21, "abandon": 1, "abe338": [], "abid": 25, "abil": [0, 10], "abl": [0, 1, 4, 5, 6, 7, 10, 12, 13, 16, 18, 20, 23, 29, 30, 31], "about": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 19, 20, 21, 22, 23, 26, 31, 32], "abov": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 25, 27, 28, 29, 31, 32], "abovement": [6, 23, 28, 32], "abscissa": [13, 30], "absent": 31, "absolut": [0, 2, 5, 6, 13, 28, 29, 30, 32], "absorb": [29, 30], "abstract": [1, 31], "abund": 31, "ac": [], "acceler": [13, 31], "accept": [0, 3, 6, 9, 23, 29, 31], "access": [3, 11, 25, 28, 31], "accid": [4, 6, 32], "accompani": [0, 28, 29], "accomplish": [8, 9, 13, 31], "accord": [0, 1, 2, 5, 6, 9, 12, 13, 14, 25, 28, 30, 31, 32], "accordingli": 11, "account": [0, 3, 5, 13, 15, 16, 20, 25, 28, 31], "accumul": [12, 13, 25, 31], "accur": [0, 3, 4, 6, 10, 13, 31, 32], "accuraci": [0, 1, 3, 4, 5, 6, 7, 9, 10, 11, 12, 28, 29, 30], "accuracy_scor": [0, 1, 10, 28], "accuracy_score_numpi": 1, "achiev": [0, 1, 5, 6, 8, 12, 22, 28, 31, 32], "aco": 25, "acquaint": 21, "acquir": [1, 21, 28], "acr": [], "across": [1, 3, 6, 9, 17, 21, 28, 32], "act": [1, 3, 22, 31], "action": 25, "activ": [0, 2, 3, 4, 9, 15, 24, 26, 28, 31], "activest": [], "actual": [0, 1, 4, 5, 6, 8, 11, 15, 16, 18, 22, 25, 28, 29, 30, 31, 32], "ad": [1, 3, 4, 5, 8, 13, 15, 16, 22, 30, 31, 32], "ada_clf": 10, "adaboostclassifi": 10, "adadelta": [13, 31], "adagrad": [23, 32], "adam": [1, 3, 4, 23, 28, 32], "adapt": [4, 6, 13, 17, 27, 30, 32], "add": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 15, 16, 17, 18, 20, 25, 26, 28, 29, 30, 31, 32], "add6ff": [], "add_": [], "add_subplot": [1, 7, 12, 14], "addendum": 5, "addeventlisten": [], "addit": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 15, 21, 22, 23, 25, 26, 27, 28, 29, 32], "addition": [12, 13, 30, 31], "address": [1, 9, 11, 13, 28, 31], "adjac": [3, 12], "adjoint": [5, 29], "adjust": [0, 5, 12, 13, 30, 31], "admir": [0, 28], "advanc": [4, 6, 12, 27, 28, 31, 32], "advantag": [1, 3, 5, 6, 10, 13, 19, 22, 30, 31, 32], "adversari": 28, "advis": [], "afecionado": 28, "affect": [3, 15, 19], "affin": [0, 3, 8, 11, 29], "afford": 3, "aficionado": 28, "aforement": 14, "african": [], "after": [0, 1, 2, 4, 5, 6, 9, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 28, 29, 30, 31, 32], "afterward": [0, 28], "ag": [0, 7, 28, 29], "ag_0": 2, "again": [0, 1, 4, 5, 6, 7, 8, 10, 11, 12, 13, 23, 25, 28, 29, 30, 32], "against": [1, 4, 7, 10], "agegroup": 7, "agegroupmean": 7, "aggreg": [9, 10, 31], "agorithm": 10, "agre": [5, 6, 25, 29, 30, 31, 32], "agreement": [13, 31], "ahead": 9, "ai": [0, 27], "aid": [11, 20, 31], "aim": [0, 1, 4, 6, 7, 11, 14, 16, 17, 19, 20, 21, 22, 23, 29, 32], "ainv": 5, "airplan": 3, "aka": 5, "al": [0, 2, 4, 16, 17, 20, 27, 28, 29, 30, 32], "alarm": [5, 7], "aldo": 29, "algebra": [0, 3, 5, 13, 21, 29, 30, 32], "algorithm": [0, 1, 2, 4, 5, 6, 7, 8, 13, 14, 16, 21, 22, 23, 25, 27, 32], "align": [0, 2, 5, 6, 7, 8, 13, 25, 28, 29, 30, 32], "all": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32], "allevi": [1, 13, 30], "alloc": [3, 22], "allow": [0, 1, 2, 3, 5, 6, 8, 10, 13, 15, 21, 22, 23, 28, 29, 30, 31, 32], "almost": [0, 1, 6, 8, 11, 13, 25, 30, 31, 32], "alon": [2, 9, 31], "along": [2, 3, 4, 5, 6, 9, 10, 11, 15, 20, 21, 22, 28, 29, 30, 32], "alpha": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 13, 14, 25, 28, 29, 30, 31, 32], "alpha_": [10, 31], "alpha_0": 3, "alpha_1": 3, "alpha_2": 3, "alpha_i": [3, 13], "alpha_k": 13, "alpha_m": 10, "alpha_n": 3, "alpha_opt": 13, "alreadi": [2, 3, 4, 5, 6, 10, 12, 15, 21, 22, 25, 28, 29, 30], "also": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 23, 25, 28, 29, 30, 31, 32], "alter": 1, "altern": [0, 1, 4, 5, 6, 8, 9, 11, 13, 15, 18, 22, 23, 28, 29, 31, 32], "although": [0, 1, 5, 6, 8, 10, 13, 16, 19, 20, 28, 31, 32], "alwai": [0, 3, 5, 6, 12, 13, 16, 19, 23, 25, 28, 29, 30, 31, 32], "am": 4, "ame2016": [0, 28], "american": [], "amjith": [], "among": [0, 3, 5, 9, 10, 12, 22, 28, 29], "amongst": [5, 32], "amount": [0, 1, 3, 4, 6, 8, 10, 14, 21, 32], "an": [1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 29, 30, 31, 32], "an_": 25, "anaconda": [0, 1, 21, 23, 28], "analogi": 13, "analys": [6, 32], "analysi": [1, 3, 4, 7, 14, 19, 22, 27, 31], "analyt": [2, 3, 5, 6, 7, 12, 13, 17, 21, 23, 28, 29, 30, 31, 32], "analyz": [0, 1, 3, 4, 5, 6, 16, 23, 25, 29, 30, 31], "andrew": 1, "angl": [0, 3, 9, 29, 31], "anharmon": 3, "ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 19, 25, 28, 29, 31, 32], "anim": [4, 12], "ann": 12, "annot": [0, 1, 3, 7, 8, 28], "announc": 28, "anom": [], "anomali": [], "anonym": 18, "anoth": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 22, 23, 25, 28, 29, 31], "ansatz": [0, 18, 28], "answer": [0, 1, 3, 5, 6, 19, 22, 23, 26, 28, 32], "antialias": [2, 6], "anticip": 4, "anymor": [1, 8], "anyon": [4, 8, 15], "anyth": [1, 15, 16, 25], "anytim": [26, 28], "anywai": [], "apach": 1, "apart": [11, 13, 30, 31], "api": [1, 21, 28], "appar": 2, "appear": [0, 1, 3, 13, 22, 25], "append": [1, 3, 4, 8, 9, 13, 19, 28, 31], "appendix": 23, "appli": [0, 1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 18, 23, 25, 27, 28, 29, 31, 32], "applic": [0, 1, 3, 4, 5, 6, 7, 9, 12, 13, 16, 22, 25, 27, 28, 29, 30, 31, 32], "apply_gradi": 4, "approach": [1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 15, 16, 18, 21, 23, 25, 27, 29, 30], "approch": 23, "appropri": [2, 6, 9, 12, 13, 17, 21, 25, 31, 32], "approv": 28, "approx": [0, 2, 3, 6, 10, 11, 13, 18, 23, 25, 28, 30, 31, 32], "approxim": [0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 13, 19, 23, 25, 28, 29, 30, 31, 32], "apt": [0, 21, 23, 28], "aq": 25, "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, 24, 25, 26, 27, 28, 29, 30, 31, 32], "aragorn": 28, "arang": [1, 3, 4, 6, 7, 9, 10, 12, 13, 28, 31], "arbitrari": [1, 4, 6, 8, 12, 13, 25, 30, 32], "arbitrarili": [0, 1, 11, 28, 31], "arc": 6, "architectur": [3, 4, 12], "archiv": 23, "area": [0, 3, 6, 27, 28], "argmax": [1, 11], "argmin": [4, 10, 14], "argsort": 11, "argu": [1, 13], "arguement": 19, "argument": [0, 2, 3, 5, 11, 12, 13, 17, 28, 29, 31, 32], "aris": [0, 6, 12, 13, 25, 28, 30, 32], "arithmet": [0, 13, 22, 28], "arm": [6, 29, 31], "armadillo": 22, "armin": [], "around": [0, 1, 4, 5, 6, 11, 18, 23, 25, 28, 32], "arrai": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 16, 18, 21, 23, 25, 29, 30, 31, 32], "arrang": [3, 28], "arraybox": 13, "arriv": [0, 6, 9, 11, 22, 25, 28, 32], "arrow": 12, "arrowprop": 8, "art": [0, 1, 21], "articl": [0, 3, 4, 6, 10, 19, 28, 29, 30, 31, 32], "artifici": [0, 2, 7, 12, 27, 28], "artificialneuron": 12, "arug": 13, "arxiv": [3, 4, 31], "asarrai": [0, 6, 9, 29, 31], "asid": 29, "ask": [5, 6, 11, 12, 15, 19, 23, 32], "aspect": [0, 6, 21, 28, 29], "assembl": 3, "assembli": [0, 28], "assert": 4, "assess": [0, 6, 23, 28, 29, 32], "asset": [], "assici": 4, "assign": [0, 7, 8, 9, 12, 13, 14, 15, 24, 26, 27, 28], "associ": [0, 6, 9, 12, 14, 25, 28, 32], "assum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 19, 22, 23, 25, 28, 29, 30, 31, 32], "assumpt": [0, 3, 5, 6, 9, 11, 25, 28, 29], "ast": [0, 5, 6, 28, 32], "astyp": [4, 9, 10], "asymmetri": [0, 28], "asymptot": [4, 6, 31, 32], "atom": [0, 28], "attain": 31, "attempt": [0, 4, 6, 7, 8, 10, 28, 29, 31], "attend": 28, "attent": [0, 22, 28], "attract": [0, 10, 28], "attribut": [0, 9, 28], "audi": [0, 28], "audio": [3, 4], "august": [28, 29], "aurelien": [0, 27, 28], "austfjel": 6, "auth": 15, "authent": 15, "author": [0, 1, 10, 25], "authour": 28, "auto": [9, 10, 25], "auto_exampl": [23, 29], "autocor": 25, "autocorrelation_tim": 25, "autocorrelform": 25, "autocovari": 25, "autoencod": [4, 21, 28], "autoencond": 21, "autograd": [21, 28], "autom": [0, 21, 27, 28], "automac": 22, "automag": 28, "automat": [0, 1, 2, 3, 4, 11, 16, 21, 22, 28], "automobil": 3, "autonom": 4, "avail": [0, 1, 4, 6, 10, 11, 21, 22, 23, 24, 26, 27, 28, 32], "avali": 20, "averag": [0, 1, 3, 6, 9, 10, 13, 14, 25, 26, 28, 29, 32], "avoid": [0, 4, 5, 6, 9, 11, 13, 18, 22, 29, 31, 32], "awai": [2, 3, 6, 29, 31], "awar": [2, 10], "award": [26, 28], "ax": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 20, 22, 23, 28, 32], "axes3d": [2, 6, 13, 30, 31], "axes_grid1": 6, "axhlin": 8, "axi": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 22, 25, 28, 29, 30, 31, 32], "axiom": 5, "axvlin": [4, 8], "axvspan": 4, "b": [0, 1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 17, 19, 20, 25, 26, 28, 29, 30, 31, 32], "b1": 8, "b19db4": [], "b1bac4": [], "b2": 8, "b3": 8, "b35900": [], "b89784": [], "b_": [0, 1, 22], "b_0": 0, "b_1": [0, 2, 12, 13, 31], "b_2": [0, 13], "b_5": [13, 31], "b_group": 9, "b_i": [0, 1, 2, 12, 28], "b_ia_": [0, 28], "b_ia_i": 0, "b_index": 9, "b_j": [1, 12], "b_k": [0, 1, 12, 13, 31], "b_m": 12, "b_score": 9, "b_valu": 9, "ba": 31, "babcock": 28, "bach": 31, "bachelor": [24, 26], "back": [0, 3, 4, 5, 6, 8, 9, 10, 15, 16, 22, 25, 28, 31], "backbon": 22, "backend": [1, 4], "background": [27, 28], "backpropag": [1, 31], "backslash": [], "backtrack": 9, "backup": 22, "backward": [1, 2, 4, 12, 22, 31], "bad": [6, 17, 29], "badli": 25, "bag": [9, 21, 28], "bag_clf": 10, "baggin": 28, "baggingboot": 10, "baggingclassifi": 10, "baggingtre": 10, "bailei": [], "balanc": [6, 31, 32], "ballpark": 18, "band": 22, "bandwidth": 22, "banner": [], "bar": [0, 6, 11, 23, 28], "barber": 27, "bare": [4, 10], "base": [0, 1, 3, 4, 5, 7, 8, 9, 10, 14, 15, 16, 17, 21, 25, 26, 27, 28, 29, 30], "basi": [5, 7, 8, 10, 11, 12, 13, 22, 29, 30], "basic": [6, 8, 12, 13, 14, 15, 21, 23, 25, 28, 32], "basin": 31, "batch": [3, 4, 11, 12, 13, 30], "batch_shap": 4, "batch_siz": [1, 3, 4], "batchnorm": 4, "bay": 7, "bayesian": [5, 21, 27, 28], "bbbbbb": [], "beauti": [], "becam": [], "becaus": [0, 1, 2, 3, 4, 5, 6, 8, 9, 12, 13, 14, 28, 29, 30, 31, 32], "becom": [0, 1, 2, 5, 6, 7, 9, 12, 13, 19, 25, 28, 29, 30, 31, 32], "been": [0, 1, 2, 3, 4, 5, 6, 11, 12, 13, 20, 21, 22, 23, 28, 29, 31, 32], "befor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 12, 13, 14, 16, 17, 18, 19, 20, 22, 23, 25, 28, 29, 31, 32], "beforehand": [0, 25, 28], "began": [], "begin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 22, 25, 26, 28, 29, 30, 31, 32], "behav": [1, 6, 13, 30, 32], "behavior": [0, 1, 13, 28, 30, 31], "behaviour": [12, 31], "behind": [0, 1, 6, 8, 13, 28, 30], "being": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 13, 17, 20, 25, 28, 29, 30, 31], "believ": [9, 22], "belong": [7, 8, 9, 13, 14, 30], "below": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 18, 22, 23, 25, 28, 29, 30, 31, 32], "benchmark": 10, "benefici": [1, 13], "benefit": [0, 1, 4, 11, 13, 21, 28, 30, 31], "bengio": [1, 27, 28, 29, 31], "benign": [1, 7], "besid": [4, 5, 30], "bessel": [5, 29, 32], "best": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 16, 18, 26, 28, 29, 30, 31, 32], "beta": [1, 3, 10, 11, 13, 16, 17, 19, 28, 29, 30], "beta1": [], "beta2": [], "beta_": [3, 13, 17, 29], "beta_0": [1, 3, 13, 29], "beta_1": [1, 3, 10, 13, 29, 31], "beta_1m_": 31, "beta_1x_i": 13, "beta_2": [3, 13, 31], "beta_2v_": 31, "beta_3": 3, "beta_i": [3, 31], "beta_j": [13, 29], "beta_k": 13, "beta_linreg": 13, "beta_m": 10, "beta_mg_m": 10, "beta_n": 3, "better": [0, 1, 2, 3, 4, 6, 9, 10, 11, 12, 13, 19, 20, 28, 29, 31, 32], "between": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 25, 28, 29, 30, 31, 32], "beyond": [0, 1, 5, 6, 8, 13, 28, 29, 30, 31], "bf": [13, 14, 22, 25, 30], "bf5400": [], "bg": 28, "bgd": [13, 31], "bia": [0, 1, 2, 3, 5, 8, 9, 10, 12, 13, 20, 28, 29, 30], "bias": [1, 2, 3, 5, 6, 9, 12, 19, 31, 32], "bib": [], "bibliographi": 23, "bibtex": [], "big": [0, 1, 2, 5, 6, 14, 19, 31, 32], "bigger": [1, 6, 29], "bigr": 12, "bike": 9, "bilbo": 28, "billion": [3, 12, 21, 31], "bin": [7, 25], "binari": [0, 3, 5, 7, 9, 10, 12, 28], "binarycrossentropi": 4, "bind": 0, "binomi": [21, 25, 28], "binsboot": [6, 32], "bioinformat": 0, "biolog": [1, 12], "bios1100": [21, 28], "bird": [0, 3], "birth": 28, "bishop": [27, 28], "bit": [1, 4, 19, 22, 25, 28], "bitwis": 25, "bivari": 2, "bk": [13, 31], "bla": [22, 28], "black": [8, 9, 14], "blame": [], "block": [6, 10, 21, 22, 25, 28, 32], "blockquot": [], "blog": 28, "blogpost": 4, "blue": [0, 3], "bm": [], "bmatrix": [0, 1, 3, 5, 7, 8, 11, 13, 22, 28, 29, 30, 31], "bmi": 1, "bodi": [0, 1, 4, 12], "bold": 1, "boldfac": [0, 5, 16, 29, 30], "boldsymbol": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 13, 14, 16, 17, 19, 23, 28, 30, 31], "boltzmann": [12, 21, 28], "book": [17, 23, 27, 28, 29, 32], "book1": 27, "bool": [], "boolean": [4, 17], "boost": [1, 9, 21, 28], "boostrap": 10, "bootstrap": [1, 13, 19, 21, 23, 28, 31], "born": 31, "borrow": 28, "boston_dataset": [], "bot": 8, "both": [0, 1, 4, 5, 6, 8, 9, 10, 13, 14, 15, 16, 17, 19, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32], "bottl": 7, "bottou": 31, "bound": [8, 12, 31], "boundari": [2, 4, 8, 11, 12], "bousquet": 31, "bower": [], "box": [4, 9], "boyd": [8, 13, 30], "bracket": [4, 25], "brain": [1, 7, 12], "branch": [9, 28], "break": [0, 4, 6, 11, 14, 28, 31], "breast": [5, 7, 11], "breviti": 13, "brew": [0, 21, 23, 28], "brg": 8, "brian": [], "brief": [23, 29], "briefli": [0, 16, 19, 28, 32], "bring": [0, 5, 6, 10, 29, 31], "britt": [26, 28], "broad": 0, "broadli": 28, "brought": [13, 21, 28], "brownle": 4, "browser": [15, 28], "brute": [3, 5, 11, 29], "bsd": [], "budget": 31, "buffer_s": 4, "bug": [], "bugfix": [], "bui": 4, "build": [0, 4, 5, 6, 10, 16, 22, 25, 28, 32], "built": [1, 3, 4, 6, 32], "bunch": 11, "bundl": [], "busi": [], "byte": [22, 28], "c": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 29, 30, 31, 32], "c1": [8, 11], "c2": [8, 11], "c4a2f5": [], "c5e478": [], "c9d1d9": [], "c_": [8, 9, 10, 13, 25, 30, 31], "c_0": 25, "c_1": 12, "c_2": 12, "c_3": 12, "c_4": 12, "c_i": [12, 13, 31], "c_k": 25, "ca": [1, 28], "caab6d": [], "cach": 10, "cal": [0, 8, 10, 12, 13, 30, 31], "calcul": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 19, 22, 25, 28, 31, 32], "california": 23, "call": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32], "calor": [0, 29], "caltech": [], "cambridg": [13, 27, 30], "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 29, 30], "cancel": [0, 13, 28, 29], "cancer": [5, 10], "cancerpd": 7, "candid": [8, 9, 10, 31], "cannot": [0, 1, 4, 5, 6, 7, 8, 9, 23, 25, 29, 30, 31], "canopi": [0, 21, 23, 28], "canva": [15, 16, 19, 20, 23, 28], "cap": 5, "capabl": [0, 1, 8, 13, 21, 28], "capac": [2, 26], "capita": [], "caption": [20, 23], "captur": [4, 11, 12, 28], "car": [3, 4], "card": [0, 7, 28], "cardin": 1, "care": [11, 15, 19, 31], "carefulli": [13, 31], "carlo": [0, 6, 21, 25, 27, 28, 32], "carri": [2, 6, 7, 23, 32], "cart": 10, "case": [0, 1, 2, 3, 4, 5, 6, 7, 11, 12, 13, 14, 15, 16, 21, 22, 23, 28, 32], "casella": 27, "cast": 1, "cat": [3, 4], "catch": 0, "categor": [0, 1, 3, 9, 11, 28], "categori": [0, 1, 3, 7, 10, 12, 14, 28], "categorical_crossentropi": [1, 3], "caus": [0, 5, 6, 25, 28, 29, 30, 31, 32], "causal": 0, "causat": [0, 28], "cax": 1, "cb": [6, 28], "cbar": 1, "cc": [0, 1, 5, 13, 28, 29, 30, 31], "cc398b": [], "ccbb44": [], "ccc": [5, 12, 30], "cdf": 25, "cdot": [0, 2, 6, 12, 13, 14, 22, 25, 28, 30, 31, 32], "celebr": [13, 30], "cell": 4, "center": [0, 1, 6, 7, 8, 9, 11, 14, 18, 23, 25, 28, 29, 31, 32], "central": [0, 3, 5, 6, 8, 16, 20, 22, 28, 29], "centroid": [14, 25], "centroid_differ": 14, "centuri": 3, "certain": [0, 3, 6, 7, 9, 25, 28, 29, 32], "certainti": 32, "cf": [], "cf222e": [], "cffi": [], "cg": 13, "cha": [], "chain": [0, 1, 13, 21, 25, 28], "challeng": 15, "chanc": [1, 5, 13, 25, 31], "chang": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 19, 22, 23, 25, 28, 29, 30, 31, 32], "changelog": [], "channel": 3, "chapter": [0, 6, 10, 11, 16, 17, 19, 22, 23, 27, 28, 29, 30, 31, 32], "chapter3": [0, 23], "charact": [0, 3, 5, 28, 29, 30], "character": [8, 9, 10, 12, 25], "characterist": [0, 1, 3, 10, 13, 28], "charg": [0, 28], "charl": [], "charset": [], "chase": 4, "chatgpt": [15, 23], "chd": 7, "chddata": 7, "cheap": [5, 29, 30, 31], "cheaper": [1, 13, 31], "check": [1, 3, 4, 5, 11, 13, 15, 16, 19, 22, 28, 31], "checkmark": 3, "checkpoint": 4, "checkpoint_dir": 4, "checkpoint_prefix": 4, "chen": 10, "cheng": 29, "chiaramont": 2, "childcar": 16, "children": 16, "choic": [0, 1, 2, 3, 4, 6, 9, 12, 13, 14, 20, 22, 28, 29, 30, 31, 32], "choleski": [5, 22, 29, 30], "choos": [2, 3, 6, 9, 10, 11, 13, 14, 15, 18, 19, 23, 30, 32], "chosen": [0, 1, 2, 6, 8, 9, 10, 13, 16, 25, 28, 30, 31, 32], "chosen_datapoint": 1, "christian": 27, "christoph": [27, 28], "chunk": 31, "cifar": 3, "cifar10": 3, "circ": [1, 12, 31], "circl": [0, 8, 12, 29, 31], "circuit": 3, "circumfer": 9, "circumv": [1, 5, 13, 29, 30, 31], "citat": [], "cite": [20, 23], "ckpt": 4, "claim": [], "clariti": 25, "class": [0, 1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 25, 28, 32], "class_nam": [3, 9], "class_val": 9, "class_valu": 9, "classic": [7, 9, 13], "classif": [0, 3, 5, 6, 7, 8, 11, 12, 21, 23, 27, 28, 29, 32], "classifi": [0, 1, 4, 7, 9, 10, 11, 28], "classificaton": 1, "classifii": 10, "claus": [], "clean": 1, "clear": [1, 5, 10, 12, 13, 31], "clearli": [0, 3, 5, 6, 7, 8, 25, 29, 30, 32], "clever": [1, 10], "clf": [0, 6, 8, 9, 10, 28, 29], "clf3": 0, "clf_lasso": 6, "clf_ridg": 6, "cli": 15, "click": [], "clip": [3, 25, 31], "clock": 31, "clone": [15, 26], "close": [0, 1, 2, 4, 6, 8, 9, 11, 12, 13, 14, 18, 25, 27, 28, 30, 31, 32], "closer": [3, 5, 13, 29, 30, 31], "closest": [8, 11, 13, 14], "closur": [21, 28], "cloud": [21, 28], "cluster": [0, 1, 4, 6, 11, 21, 28, 32], "cluster_label": 14, "cm": [1, 2, 3, 6, 8, 13, 30, 31], "cmap": [0, 1, 2, 3, 4, 6, 8, 9, 10, 28], "cmap_arg": 6, "cmd": [9, 15], "cn_": 25, "cnn": 12, "cnn_kera": 3, "cntk": [21, 28], "co": [0, 2, 3, 6, 9, 13, 28, 32], "code": [0, 3, 4, 6, 7, 8, 18, 19, 21, 22, 25, 27], "codec": [], "coef": [0, 28], "coef0": 8, "coef_": [0, 5, 6, 8, 9, 13, 16, 28, 29, 30, 31], "coeff": 5, "coeffici": [0, 3, 5, 6, 7, 8, 9, 13, 18, 22, 28, 29, 31, 32], "coerc": [0, 6, 28, 32], "coin": [10, 25], "coin_toss": 10, "col": [0, 11, 28, 29], "colab": [21, 28], "cold": 9, "colinear": [], "collabor": [20, 23], "collaps": 8, "collect": [2, 6, 10, 11, 17, 21, 25, 27, 28, 32], "collinear": [5, 29, 30], "color": [0, 3, 4, 6, 8, 9, 10, 25, 31], "color_channel": 3, "color_cod": 6, "colorbar": [1, 6, 20], "colsample_bytre": 10, "colsaobject": 10, "column": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 16, 17, 18, 19, 22, 28, 29, 30, 31, 32], "columntransform": 9, "com": [4, 6, 15, 16, 19, 20, 21, 23, 27, 28, 30, 31, 32], "combin": [1, 2, 5, 6, 7, 10, 15, 18, 25, 32], "come": [0, 1, 3, 4, 5, 12, 13, 14, 15, 28, 29, 30, 31], "comfort": [], "command": [0, 1, 15], "comment": [0, 4, 5, 6, 20, 23], "commerci": [0, 21, 23, 28], "commit": 15, "commod": [0, 28], "common": [0, 1, 3, 5, 6, 7, 9, 11, 13, 14, 16, 23, 25, 28, 29, 30, 31, 32], "commonli": [0, 1, 4, 6, 7, 9, 13, 14, 29, 31, 32], "commonmark": [], "commun": [0, 12, 15, 23], "commut": 3, "commutatitav": 3, "compact": [0, 1, 3, 5, 6, 7, 9, 11, 12, 13, 14, 28, 29, 32], "compair": 0, "compar": [0, 3, 4, 5, 6, 11, 13, 18, 22, 23, 28, 29, 30, 31, 32], "comparison": [2, 4, 13], "compat": 7, "compens": 31, "compet": 0, "competit": 10, "compil": [0, 1, 3, 4, 13, 21, 22, 28], "complet": [0, 2, 3, 4, 9, 12, 15, 16, 17, 18, 19, 20, 28], "completenn": 12, "complex": [1, 5, 8, 9, 11, 12, 13, 16, 19, 28, 30, 31, 32], "complianc": [], "complic": [0, 1, 9, 13, 23, 28, 30, 31, 32], "compoment": 29, "compon": [0, 1, 3, 4, 5, 6, 7, 9, 14, 16, 21, 28, 29, 30, 32], "components_": 11, "compos": [9, 12, 13, 14, 21, 28], "compphys": [0, 6, 16, 20, 21, 23, 24, 26, 27, 28, 29, 30], "compress": [0, 28, 29], "compris": 6, "compromis": [5, 29, 30], "compulsori": [21, 28], "comput": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 18, 21, 22, 23, 24, 25, 27, 28, 29, 30, 32], "computation": [0, 3, 6, 9, 13, 25, 28, 30, 31], "computationalscienceuio": 28, "computerlab": 23, "concaten": [2, 4, 6, 14], "concav": [1, 13, 29, 30], "concentr": 10, "concept": [0, 2, 21, 28, 29], "conceptu": [12, 13, 30], "concern": [0, 1, 4, 7, 28, 30], "concic": 28, "conclud": [0, 5, 13, 31], "conclus": 1, "cond": 2, "conda": [0, 1, 21, 23, 28], "condis": 29, "condit": [0, 2, 4, 5, 6, 8, 9, 11, 13, 25, 28, 29, 31, 32], "conduct": 21, "condwav": 2, "confid": [0, 5, 6, 7, 8, 19, 28, 29], "configur": 3, "confirm": [5, 12], "conform": [], "confus": [5, 6, 7, 10, 22, 29, 32], "confusion_matrix": 9, "congruenti": 25, "conjug": [4, 8], "conjugaci": 13, "conjunct": 3, "connect": [0, 1, 3, 4, 9, 11, 12, 13, 22, 28, 29, 30], "consensu": 31, "consequ": [5, 6, 8, 10, 12, 13, 29, 30, 31, 32], "consequenti": [], "conserv": [5, 14, 29, 30], "consid": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 16, 19, 22, 23, 25, 28, 29, 30, 31, 32], "consider": [0, 1, 5, 13, 28, 29, 30, 32], "consist": [1, 2, 3, 4, 6, 12, 13, 23, 25, 29, 30, 32], "consol": [], "const": [], "constant": [0, 2, 4, 5, 6, 8, 12, 13, 16, 18, 25, 28, 29, 30, 31], "constitu": [0, 28], "constitut": [2, 6, 32], "constrain": [1, 3, 5, 7, 11, 30], "constraint": [5, 6, 8, 13, 29, 30, 32], "construct": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 22, 25, 28, 29, 32], "constructor": [], "consum": 31, "contact": [0, 28], "contain": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 18, 19, 22, 23, 25, 27, 28, 29, 30, 31, 32], "contemporari": 28, "content": [1, 15, 20, 21, 22, 28, 30, 31], "context": [6, 10, 13, 23, 30, 31, 32], "contigu": 22, "contin": 19, "continu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 19, 22, 23, 25, 28, 29, 30, 31, 32], "contour": [9, 10, 13], "contourf": [8, 9, 10], "contract": [], "contrast": [1, 4, 9, 10, 12, 28, 31], "contribut": [0, 3, 5, 13, 18, 25, 28, 29, 30, 31], "contributor": [0, 23], "control": [0, 1, 3, 9, 13, 15, 21, 28], "conv": [3, 4], "conv2d": [3, 4], "conv2dtranspos": 4, "convei": 28, "conveni": [5, 6, 12, 13, 22, 23, 28, 30, 31, 32], "convent": [12, 29], "converg": [1, 2, 4, 5, 8, 13, 14, 18, 29, 30], "convergencewarn": [], "convers": [20, 31], "convert": [0, 1, 4, 5, 9, 11, 13, 22, 28, 29, 30], "converttomatrix": 4, "convex": [4, 5, 7, 29], "convinc": [13, 30], "convolut": [1, 4, 21, 28], "cool": [4, 9], "coolwarm": 6, "coordin": [5, 12, 14, 29, 30, 31], "coorel": [], "copi": [0, 1, 14, 15, 29], "copyright": [], "core": 10, "corel": 28, "coronari": 7, "corr": [5, 7, 11, 29], "correalt": [11, 21], "correct": [0, 1, 2, 3, 4, 5, 7, 13, 15, 19, 20, 22, 25, 28, 29, 30, 32], "correctli": [1, 2, 6, 7, 10, 18, 19, 23, 32], "correl": [0, 1, 3, 5, 6, 7, 10, 12, 13, 21, 25, 28, 30, 31, 32], "correlation_matrix": [5, 7, 11, 29], "correspond": [0, 3, 5, 6, 8, 9, 11, 12, 21, 22, 23, 25, 28, 29, 30, 32], "cortex": 12, "cosin": [3, 6, 32], "cost": [0, 2, 3, 5, 6, 7, 8, 9, 12, 13, 16, 17, 18, 19, 23, 28], "cost_deep_grad": 2, "cost_funct": 2, "cost_function_deep": 2, "cost_function_deep_grad": 2, "cost_function_grad": 2, "cost_grad": 2, "cost_histori": [], "cost_ol": [], "cost_ridg": [], "cost_sum": 2, "costli": 31, "costol": [13, 31], "could": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 25, 28, 29, 30, 31, 32], "coulomb": [0, 28], "count": [0, 9, 15, 24, 25, 26, 28], "counteract": 31, "counterpart": 28, "countor": 13, "coupl": [4, 5, 6, 32], "cours": [0, 1, 3, 5, 11, 15, 16, 17, 19, 20, 23, 26, 29, 32], "coursework": 15, "courvil": [27, 28, 29, 31], "cov": [5, 6, 11, 22, 25, 28, 29, 32], "cov_xi": [5, 11, 29], "cov_xx": [5, 11, 29], "cov_yi": [5, 11, 29], "covari": [0, 7, 21, 22, 28, 30], "covariance_matrix": [5, 11, 14], "cover": [0, 5, 21, 26, 27, 29, 30, 32], "covert": [0, 28], "covxi": 25, "covxx": 25, "covxz": 25, "covyi": 25, "covyz": 25, "covzz": 25, "cpu": 1, "craft": 3, "crash": 31, "creat": [1, 3, 4, 5, 9, 10, 11, 12, 15, 18, 19, 21, 28, 31], "create_biases_and_weight": 1, "create_convolutional_neural_network_kera": 3, "create_neural_network_kera": 1, "create_x": [5, 11], "creation": [], "credit": [0, 7, 26, 28], "crim": [], "crime": [], "criteria": [0, 4, 9, 10, 14, 25, 28], "criterion": [9, 10, 13, 18, 30, 31], "critic": [6, 23, 29], "critiqu": 23, "cross": [0, 1, 3, 7, 9, 10, 13, 15, 21, 25, 28, 29, 30, 31], "cross_entropi": 4, "cross_val_scor": [6, 32], "cross_valid": [7, 10], "crossvalid": [6, 32], "crucial": [1, 25, 31], "cs231": 3, "csr_matrix": [22, 28], "css": [], "csv": [0, 4, 6, 7, 9, 32], "ctnk": 1, "cubic": 0, "culprit": [], "cumbersom": [5, 32], "cumprod": [], "cumsum": [10, 11, 28], "cumul": [7, 10, 25, 31], "cumulative_heads_ratio": 10, "cup": 5, "current": [1, 2, 3, 4, 13, 14, 15, 16, 27, 30, 31], "curs": [0, 29], "curv": [6, 7, 10, 12, 23], "curvatur": [13, 30, 31], "custom": [6, 14], "custom_cmap": [9, 10], "custom_cmap2": [9, 10], "custom_lin": [], "cutpoint": 9, "cv": [6, 7, 10, 32], "cvxbook": [13, 30], "cvxopt": [5, 8, 29], "cycl": [1, 12], "cycler": [], "d": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 22, 25, 26, 28, 29, 30, 31, 32], "d1": [], "d166a3": [], "d2": [], "d2_g_t": 2, "d2a8ff": [], "d4d0ab": [], "d71835": [], "d9dee3": [], "d_f": [13, 30], "d_g_t": 2, "d_net_out": 2, "da": 3, "dagger": [5, 22, 29, 30], "dai": [1, 9, 21], "damag": [], "damp": 3, "darget": 9, "darkr": 25, "dat": [0, 28], "dat_id": [0, 6, 7, 9, 28, 32], "data": [2, 4, 5, 8, 10, 12, 13, 14, 16, 19, 20, 22, 23, 27, 30, 31, 32], "data1": 14, "data2": 14, "data3": 14, "data4": 14, "data_id": [0, 6, 7, 9, 28, 32], "data_indic": 1, "data_panda": 28, "data_path": [0, 6, 7, 9, 28, 32], "databas": 1, "datafil": [0, 6, 7, 9, 28, 32], "datafram": [0, 4, 5, 7, 9, 11, 28, 29], "datapoint": [1, 5, 6, 7, 11, 13, 16, 30, 31, 32], "datasci": [15, 16, 19], "dataset": [0, 4, 6, 7, 8, 9, 10, 11, 13, 14, 16, 23, 28, 30, 31, 32], "datatyp": 4, "date": [15, 18, 23, 28, 29, 30, 31, 32], "daughter": 10, "davi": [], "david": 27, "davison": 32, "dbb7ff": [], "dbh": 1, "dbo": 1, "dcc6e0": [], "dcomposit": 22, "ddot": 2, "de": 31, "dead": 1, "deadlin": [15, 20], "deal": [0, 1, 3, 5, 6, 8, 11, 13, 14, 19, 22, 25, 28, 29, 30, 31], "dealt": 0, "debt": 7, "debug": [0, 5, 6, 29, 30, 31, 32], "debugg": [], "decad": [0, 3, 31], "decai": [0, 13, 25, 28], "decemb": [26, 28], "decent": 10, "decid": [0, 2, 3, 5, 6, 9, 18, 29, 30, 31, 32], "decim": [0, 28], "decis": [0, 1, 8, 11, 21, 27, 28], "decision_funct": 8, "decision_tre": 9, "decisiontreeclassifi": [9, 10], "decisiontreeregressor": [0, 9, 10], "declar": [0, 4, 20, 22, 28], "declare_namespac": [], "decompos": [5, 6, 22, 29, 30], "decomposit": [0, 6, 12, 28], "decompost": [5, 29, 30], "deconvolut": 3, "decorrel": [10, 13, 31], "decreas": [1, 2, 4, 5, 6, 10, 11, 13, 19, 30, 31, 32], "dedic": 20, "deduc": [0, 28], "deep": [3, 7, 12, 13, 21, 27, 29, 30], "deep_neural_network": 2, "deep_param": 2, "deep_tree_clf": [9, 10], "deep_tree_clf1": 9, "deep_tree_clf2": 9, "deepen": [5, 21, 28], "deeper": [0, 3, 4, 28], "deeplearningbook": [27, 28, 30, 31], "deer": 3, "def": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 25, 28, 29, 30, 31, 32], "def_covari": 25, "default": [0, 1, 2, 4, 6, 7, 22, 28, 29], "default_tim": 4, "defect": [5, 29, 30], "defici": [5, 29, 30], "defin": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 22, 23, 25, 29, 30, 31, 32], "definit": [1, 2, 5, 6, 7, 8, 10, 11, 12, 13, 22, 25, 29, 30, 31, 32], "defint": 25, "degre": [3, 5, 6, 8, 9, 10, 11, 15, 16, 19, 20, 23, 25, 28, 30, 31, 32], "deisenroth": 29, "del": 1, "delet": [6, 15], "delimit": 4, "deliv": [15, 24, 28], "delta": [0, 2, 3, 6, 8, 12, 13, 14, 28, 31], "delta_": [1, 22], "delta_0": 3, "delta_1": 3, "delta_2": 3, "delta_3": 3, "delta_4": 3, "delta_5": 3, "delta_h": [0, 1, 28], "delta_j": [3, 12], "delta_k": 12, "delta_l": [1, 3], "delta_momentum": [13, 31], "delta_n": [0, 3, 28], "delug": 21, "delv": 0, "demand": [13, 30], "demonstr": [0, 3, 5, 6, 7, 11, 12, 19, 21, 28, 29, 30, 31, 32], "den": 4, "denomin": [1, 5, 31], "denot": [1, 2, 6, 7, 13, 25, 30, 31], "dens": [1, 3, 4], "densiti": [0, 2, 6, 25, 32], "depart": [26, 28, 29, 30, 31, 32], "depend": [0, 1, 2, 4, 5, 6, 7, 8, 11, 12, 13, 15, 16, 21, 22, 23, 25, 28, 29, 30, 31], "depict": 25, "deploy": [0, 21, 23, 28], "depth": [0, 3, 9, 10, 22, 32], "der": [], "deriv": [0, 1, 2, 6, 7, 8, 10, 11, 13, 18, 21, 23, 28], "derivati": 13, "derivative_fn": 13, "descend": [5, 9, 11, 29, 30], "descent": [0, 1, 3, 7, 8, 12, 28, 29], "describ": [0, 2, 4, 5, 6, 8, 10, 11, 12, 13, 19, 20, 22, 23, 28, 31, 32], "descript": [0, 8, 9, 20, 23, 28], "design": [0, 1, 3, 4, 5, 6, 7, 10, 11, 12, 13, 17, 18, 23, 28, 30, 31, 32], "designmatrix": [0, 28], "desir": [0, 2, 4, 5, 13, 14, 28, 29, 30, 31], "desktop": 15, "despit": [1, 12, 31], "destroi": 22, "det": [5, 22, 29, 30], "detail": [0, 6, 11, 13, 14, 18, 22, 23, 29, 30, 31], "detect": [3, 8, 12], "determin": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 18, 22, 25, 28, 29, 30, 31, 32], "determinist": [7, 13, 25, 30, 31], "dev": [1, 23], "develop": [0, 3, 5, 8, 10, 11, 12, 21, 22, 23, 28, 29], "deviat": [0, 1, 2, 4, 5, 6, 17, 18, 19, 23, 25, 28, 29, 31, 32], "devis": 12, "df": [4, 8, 11, 13, 28], "df1": 28, "di": [], "diag": [5, 8, 29, 30, 31], "diagnost": [1, 10], "diagon": [0, 5, 7, 13, 18, 19, 22, 25, 28, 29, 30, 31], "diagonaliz": [5, 29, 30], "diagram": 10, "diagsvd": 6, "dice": [6, 25, 32], "dict": [6, 8], "dictionari": [], "did": [0, 1, 5, 6, 7, 10, 11, 14, 16, 23, 28, 32], "die": 1, "diff": 2, "diff1": 2, "diff2": 2, "diff_ag": 2, "diffeent": 8, "differ": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 27, 28, 29, 30, 32], "differenti": [0, 3, 16, 21, 22, 28, 29, 30], "difficult": [0, 1, 6, 10, 13, 25, 28, 31, 32], "difficulti": [0, 1, 13, 28, 30, 31], "diffonedim": 2, "digit": [0, 1, 3, 4, 6, 26, 28], "dilemma": [13, 31], "dilut": 1, "dim": [4, 11, 14, 22], "dimens": [0, 1, 2, 3, 4, 5, 8, 11, 14, 16, 22, 28, 29, 30], "dimension": [0, 4, 5, 6, 9, 11, 13, 14, 19, 21, 22, 23, 28, 29, 30, 31, 32], "dimensionless": [0, 3, 28], "diment": 22, "diminish": 31, "dimnsion": 4, "diod": 3, "direct": [0, 1, 2, 4, 11, 12, 13, 14, 28, 29, 30, 31], "directli": [1, 4, 5, 6, 18, 25, 29, 30], "directori": [], "disadvantag": [0, 28, 31], "disappear": [3, 6, 32], "disc_loss": 4, "disc_tap": 4, "discard": [6, 11, 31, 32], "disciplin": [0, 3, 12], "disclaim": 25, "discord": 28, "discourag": [13, 15, 30], "discov": [0, 28], "discover": 5, "discret": [1, 3, 5, 7, 13], "discrimin": [4, 7, 10, 11], "discriminator_loss": 4, "discriminator_loss_list": 4, "discriminator_model": 4, "discriminator_optim": 4, "discuss": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32], "diseas": 7, "disguis": [6, 29, 31], "disk": 31, "disord": [1, 7], "displai": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 23, 25, 28, 29, 31, 32], "displaystyl": [0, 5, 17, 28, 29, 30, 31], "disregard": [0, 28], "dissimilar": [11, 14], "dist": 14, "distanc": [8, 9, 11, 14, 25], "distance_list": 9, "distinct": [3, 7, 8, 9, 10, 14], "distinctli": 8, "distinguish": [0, 4, 7, 8, 25, 28], "distplot": [], "distribut": [0, 1, 4, 6, 7, 10, 11, 13, 14, 18, 19, 21, 22, 23, 28, 29, 30, 31], "distrubut": [0, 21, 23, 28], "div": [], "dive": [0, 8, 22, 28], "diverg": [1, 13, 30, 31], "divid": [0, 1, 3, 5, 6, 7, 8, 9, 11, 12, 18, 19, 25, 28, 29, 31, 32], "divis": [6, 8, 9, 13, 18, 22, 25, 31, 32], "dl": [], "dm": [], "dna": 7, "dnn": [0, 1, 2, 4, 12, 28], "dnn1": 4, "dnn2_gru2": 4, "dnn_kera": 1, "dnn_model": 1, "dnn_numpi": 1, "dnn_scikit": [0, 1, 28], "do": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 22, 23, 28, 29, 30, 32], "doc": [0, 15, 16, 19, 21, 23, 24, 26, 27, 28], "document": [4, 13, 15], "docutil": [], "doe": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 15, 16, 17, 18, 19, 22, 23, 25, 28, 31, 32], "doesn": [3, 9, 12, 28, 31], "dog": [1, 3, 4], "dollar": [], "domain": [5, 8, 13, 23, 30, 32], "domcontentload": [], "domin": [0, 28], "don": [0, 1, 3, 5, 6, 8, 11, 13, 15, 16, 21, 23, 28, 29, 31], "done": [0, 2, 3, 4, 5, 6, 9, 10, 11, 13, 16, 20, 22, 23, 28, 29, 30, 31, 32], "dot": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 18, 22, 23, 25, 28, 29, 30, 31, 32], "doubl": [3, 4, 16, 22, 28], "doubli": 1, "doubt": 23, "down": [0, 3, 6, 9, 11, 12, 13, 30, 31], "download": [0, 1, 3, 5, 6, 15, 20, 22, 27, 28], "downsampl": 3, "dozen": 1, "dq": [6, 32], "draft": 20, "drag": 13, "dragon": [], "dramat": 11, "drastic": 4, "draw": [4, 6, 10, 13, 30, 32], "drawback": [0, 1, 3, 13, 29, 30, 31], "drawn": [1, 4, 6, 7, 11, 25, 28, 32], "drive": [3, 4], "driven": 3, "drop": [0, 1, 5, 6, 11, 13, 25, 28, 29, 30, 32], "dropna": [0, 6, 28, 32], "dropout": 4, "dt": [2, 3, 13, 25], "dtype": [0, 1, 3, 4, 14, 22, 28], "dual": [], "dub": [0, 28], "duboi": [], "due": [1, 2, 5, 6, 8, 10, 12, 13, 18, 26, 28, 29, 30, 31, 32], "dugard": [], "dummi": [], "dure": [0, 1, 3, 4, 8, 9, 11, 20, 21, 23, 28, 31, 32], "dwell": [], "dwh": 1, "dwo": 1, "dx": [2, 3, 8, 25], "dx_1": 25, "dx_1p": [6, 32], "dx_2p": [6, 32], "dx_mp": [6, 32], "dx_n": 25, "dxp": [6, 32], "dy": [1, 8, 25], "dynam": 4, "dz": 8, "e": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 25, 26, 28, 29, 30, 31, 32], "e1e1e1": [], "e_": [0, 2, 28], "each": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 21, 22, 24, 25, 26, 28, 29, 30, 31, 32], "eager": 32, "eapprox": [0, 28], "earli": [1, 13, 31], "earlier": [0, 5, 7, 8, 9, 11, 12, 13, 20, 28, 29], "earthexplor": 6, "eas": [6, 9, 14, 32], "easi": [0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 21, 22, 28, 29, 30, 31, 32], "easier": [5, 6, 8, 9, 13, 15, 20, 23, 25, 28, 29, 30, 32], "easiest": [13, 18], "easili": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 22, 23, 28, 29, 30, 31, 32], "eastern": [26, 28], "ebind": [0, 28], "eblock": 9, "ec8e2c": [], "econom": [], "econometr": 28, "economi": 5, "ecosystem": [21, 28], "ect": 24, "edg": 3, "edgecolor": [6, 32], "edit": [], "editor": [15, 20], "edu": [13, 23, 30], "educ": [0, 23, 28, 32], "ee6677": [], "eff": 25, "effect": [1, 4, 10, 13, 16, 17, 18, 25, 31], "effic": 1, "effici": [0, 3, 10, 13, 21, 22, 25, 28, 31], "effort": 19, "efron": [6, 32], "egrad": 13, "eig": [5, 11, 13, 22, 25, 28, 29, 30, 31], "eigen": 25, "eigenpair": [5, 11, 29, 30], "eigenvalu": [0, 5, 8, 11, 13, 22, 28, 29, 30, 31], "eigenvector": [5, 11, 13, 29, 30], "eight": [22, 28], "eigval": [22, 25, 28], "eigvalu": [11, 13, 30, 31], "eigvec": [22, 25, 28], "eigvector": [11, 13, 30, 31], "eir": [26, 28], "eispack": [22, 28], "either": [1, 5, 6, 7, 8, 9, 10, 11, 13, 18, 19, 23, 25, 28, 29, 30, 31, 32], "eivind": 26, "eivinsto": 26, "ekstr\u00f8m": 4, "elabor": 25, "elarn": 3, "electr": [0, 3, 12, 28], "electron": 28, "eleg": 11, "element": [1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 19, 20, 21, 22, 23, 27, 29, 31, 32], "elementari": [10, 13, 22], "elementwis": [3, 13], "elementwise_grad": [2, 13], "elessar": 28, "elif": 14, "elim": 22, "elimin": [3, 8], "elin": [26, 28], "ell_": [], "ellipsi": 16, "els": [1, 3, 4, 7, 9, 12, 13, 16, 22], "elu": 1, "elus": [0, 28], "em": [], "email": [20, 24, 26, 28], "emb": [], "embed": [0, 11, 29], "embodi": [6, 23, 32], "emit": 25, "emner": 27, "emph": 31, "emphas": [0, 10, 21, 28], "emphasi": [0, 21, 27, 28], "empir": [1, 11, 25], "emploi": [0, 1, 5, 6, 11, 13, 25, 28, 29, 30, 32], "employ": 0, "empti": [6, 10, 15, 32], "emul": 12, "en": [21, 23, 27], "enabl": [11, 31], "enbodi": [6, 32], "encod": [0, 3, 5, 9, 11, 14, 28, 29, 30], "encompass": [0, 23, 25], "encount": [0, 1, 5, 7, 13, 15, 23, 25, 28, 29, 30, 31], "encourag": [15, 23], "end": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 20, 22, 25, 26, 28, 29, 30, 31, 32], "endblock": [], "endfor": [], "endif": [], "endors": [], "endpoint": [3, 6], "energi": [0, 4, 6, 32], "enforc": 12, "eng": 27, "engin": [0, 1, 3, 4, 21, 28], "english": 23, "enjoi": 31, "enocurag": 23, "enorm": 3, "enough": [0, 6, 13, 28, 30, 31, 32], "ensembl": [1, 9, 28], "ensur": [0, 1, 2, 3, 5, 6, 11, 13, 18, 25, 29, 30, 31, 32], "entail": 28, "enter": [5, 6, 29, 30, 31], "enthought": [0, 21, 23, 28], "entir": [1, 3, 7, 9, 21, 25, 28, 31], "entireti": [], "entiti": [9, 12, 22, 28], "entri": [0, 5, 8, 11, 12, 22, 28, 29, 31, 32], "entropi": [1, 3, 7, 10, 13, 28, 30, 31], "enumer": [0, 1, 2, 3, 4, 6, 8, 28, 29, 31], "env": 25, "environ": [2, 21, 23, 28], "environemnt": 15, "eo": [0, 6, 32], "eol": 0, "eosfit": 0, "epoch": [0, 1, 3, 4, 12, 13, 28, 31], "eppstein": [], "epsilon": [0, 5, 6, 7, 13, 23, 28, 29, 30, 31, 32], "epsilon_": [0, 28], "epsilon_0": [0, 28], "epsilon_1": [0, 28], "epsilon_2": [0, 28], "epsilon_i": [0, 28, 29], "eq": [3, 13, 14, 22, 25, 30], "eqnarrai": [3, 5, 6, 32], "equal": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 16, 18, 22, 23, 25, 28, 29, 30, 31, 32], "equat": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 19, 22, 25, 28, 31, 32], "equilibrium": [2, 12], "equiv": [3, 13, 22, 25, 30, 31], "equival": [0, 1, 5, 7, 8, 11, 13, 21, 22, 28, 29, 30, 31, 32], "equivel": 19, "eras": [], "erf": 25, "eriador": 28, "eric": [], "err": [0, 10], "err_": [6, 32], "err_sqr": 2, "errat": [13, 30, 31], "erron": 2, "error": [1, 2, 4, 5, 6, 7, 9, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 25, 31], "error_estimate_corr_tim": 25, "error_hidden": 1, "error_output": 1, "escap": [13, 30, 31], "escapehtml": [], "especi": [1, 3, 9, 12, 13, 15, 18, 23, 31], "essenti": [0, 5, 6, 9, 10, 12, 14, 15, 23, 25, 29, 30, 31], "establish": [0, 6, 10, 11, 16, 23], "estim": [0, 1, 5, 6, 7, 10, 11, 13, 19, 21, 25, 28, 29, 30, 31], "estimated_mse_fold": [6, 32], "estimated_mse_kfold": [6, 32], "estimated_mse_sklearn": [6, 32], "et": [0, 2, 4, 16, 17, 20, 27, 28, 29, 30, 32], "eta": [0, 1, 3, 8, 12, 13, 18, 28, 30, 31], "eta0": [8, 13], "eta_": 13, "eta_j": 31, "eta_t": [13, 31], "eta_v": [0, 1, 3, 28], "etc": [0, 1, 3, 5, 7, 8, 9, 11, 12, 13, 14, 21, 22, 23, 25, 29, 30, 31], "ethic": 21, "etsim": 32, "euclidean": [0, 14, 29, 31], "euler": [], "evalu": [0, 2, 3, 4, 5, 6, 9, 13, 15, 16, 17, 19, 23, 25, 28, 29, 30, 31, 32], "evalut": [13, 23], "even": [0, 1, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 21, 22, 25, 28, 29, 30, 31, 32], "evenli": 4, "event": [5, 7, 10, 25, 32], "eventu": [0, 5, 6, 11, 12, 13, 23, 26, 29, 30, 31, 32], "everi": [0, 1, 2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 21, 25, 26, 28, 29, 30, 31, 32], "everyth": [4, 12, 16, 18], "everywher": [4, 13, 30], "evolv": 0, "exact": [0, 5, 11, 12, 13, 22, 25, 28, 29, 31], "exactli": [0, 3, 4, 6, 12, 18, 21, 29, 31, 32], "exam": 28, "examin": [6, 32], "exampl": [0, 5, 11, 12, 13, 15, 16, 18, 20, 21, 22, 23, 25, 27], "exce": [1, 12, 13, 31], "exceed": 31, "excel": [0, 1, 4, 5, 10, 20, 23, 28, 29], "except": [3, 4, 6, 8, 9, 22], "excess": [0, 28], "exchang": 31, "excit": 0, "exclud": [1, 6, 12, 29, 31, 32], "exclus": [0, 1, 3, 6, 25, 28, 32], "execut": [2, 5, 13, 15, 29, 30, 31], "exemplari": [], "exemplifi": [13, 31], "exercic": [26, 28], "exercis": [5, 21, 23, 24, 26, 28, 30, 31, 32], "exhaust": [6, 31, 32], "exhibit": [0, 5, 6, 8, 28, 29, 32], "exist": [0, 1, 2, 3, 5, 6, 7, 8, 9, 13, 19, 22, 23, 28, 30, 31, 32], "exit": [5, 22, 29, 30], "exp": [0, 1, 2, 5, 6, 7, 8, 10, 11, 12, 13, 16, 17, 19, 25, 29, 30, 31, 32], "exp_term": 1, "expand": [5, 7, 11, 13, 30], "expans": [0, 3, 5, 8, 10, 12, 13, 28, 29, 30], "expect": [0, 1, 5, 6, 7, 11, 12, 13, 15, 18, 21, 23, 28, 29, 31], "expectation_value_of_h_wrt_p": 25, "expens": [6, 10, 13, 16, 30, 31], "experi": [0, 1, 6, 8, 13, 15, 21, 23, 28, 29, 30, 31, 32], "experiment": [0, 4, 6, 9, 25, 28, 32], "expert": [1, 9], "explain": [0, 6, 9, 10, 11, 13, 16, 19, 23, 28, 30], "explained_variance_ratio_": 11, "explan": [], "explanatori": [0, 28], "explicit": [0, 3, 6, 13, 22, 23, 28, 29, 30, 31], "explicitli": [0, 4], "explod": 1, "exploit": [0, 3, 12, 13, 28, 31], "explor": [1, 4, 6, 8, 13, 18, 21, 23, 28, 30, 31], "expon": 1, "exponenti": [0, 1, 5, 6, 10, 13, 25, 28, 30], "export": [9, 15, 16, 19, 20], "export_graphviz": 9, "export_text": 9, "exporttext": 9, "expos": 21, "express": [0, 2, 3, 5, 6, 7, 10, 12, 13, 18, 22, 23, 25, 28, 30, 31, 32], "exptmean": 25, "exptvari": 25, "extend": [0, 2, 7, 11, 13, 21, 28, 31], "extend_path": [], "extens": [0, 12, 15, 21, 28], "extent": [0, 1, 6, 27, 32], "extern": [3, 6, 9], "extra": [1, 3, 5, 15, 26, 28, 29, 30], "extract": [0, 3, 5, 6, 7, 8, 11, 13, 16, 17, 22, 28, 29], "extrapol": [0, 28], "extrem": [0, 1, 4, 5, 6, 7, 8, 9, 13, 15, 16, 22, 29, 30, 31], "extremum": [13, 30], "extrins": 11, "ey": [0, 5, 6, 13, 14, 18, 22, 28, 29, 30, 31], "f": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 22, 25, 26, 28, 29, 30, 31, 32], "f1": 13, "f11": [0, 28], "f12": [0, 28], "f13": [0, 28], "f1_grad": 13, "f1d": 13, "f2": 13, "f26196": [], "f2_grad_x1": 13, "f2_grad_x1_analyt": 13, "f2_grad_x2": 13, "f2_grad_x2_analyt": 13, "f2f2f2": [], "f3": 13, "f3_grad": 13, "f3_grad_analyt": 13, "f4": 13, "f4_grad": 13, "f4_grad_analyt": 13, "f5": 13, "f5_grad": 13, "f5a394": [], "f5ab35": [], "f5f5f5": [], "f6": 13, "f6_for": 13, "f6_for_grad": 13, "f6_grad_analyt": 13, "f6_while": 13, "f6_while_grad": 13, "f7": 13, "f78c6c": [], "f7_grad": 13, "f7_grad_analyt": 13, "f8": 13, "f8_grad": 13, "f8f8f2": [], "f9": [0, 13, 28], "f9_altern": 13, "f9_alternative_grad": 13, "f9_grad": 13, "f_": 10, "f_0": [3, 10], "f_1": [10, 13, 30], "f_2": [12, 13, 30], "f_3": 12, "f_d": 25, "f_grad": 13, "f_grad_analyt": 13, "f_i": [0, 6, 12, 16, 32], "f_m": [3, 10], "f_n": 3, "f_vec": 2, "face": [13, 28, 30], "facecolor": [6, 8, 25, 32], "facil": [0, 21], "facilit": 12, "fact": [0, 1, 3, 5, 9, 11, 12, 13, 28, 29, 30, 31], "facto": 31, "factor": [0, 1, 3, 5, 6, 9, 10, 11, 13, 22, 25, 28, 29, 30], "factori": 13, "fad000": [], "fade": 6, "fae4c2": [], "fafab0": [9, 10], "fail": [0, 6, 13, 26, 28, 30, 32], "failur": 7, "fairli": [1, 2, 18, 25, 31], "faisal": [16, 29], "fake": 4, "fake_loss": 4, "fake_output": 4, "fall": [8, 9, 24], "fals": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 14, 16, 17, 22, 28, 29, 30, 31, 32], "famili": [0, 7, 8, 25, 29, 31], "familiar": [0, 3, 5, 6, 8, 15, 21, 22, 23, 25, 28, 32], "famou": [6, 12], "far": [0, 3, 4, 5, 6, 8, 11, 12, 13, 14, 16, 20, 28, 29, 30, 31], "fashion": [0, 9, 10, 28, 31], "fast": [1, 3, 6, 10, 12, 13, 21, 25, 28, 30, 31, 32], "faster": [1, 11, 13, 31], "fastest": [13, 22, 30], "fatal": [], "favor": [7, 31], "favorit": 25, "fc": 3, "fcfcfc": [], "fdac54": [], "fdf2e2": [], "featur": [0, 1, 3, 5, 6, 7, 8, 10, 11, 12, 13, 15, 17, 18, 19, 21, 25, 28, 30, 31, 32], "feature_nam": [1, 7, 9], "feautur": 9, "fed": 1, "feed": [0, 2, 3, 11, 21, 28], "feed_forward": 1, "feed_forward_out": 1, "feed_forward_train": 1, "feedback": [4, 20, 28], "feeddorward": 4, "feedforward": [1, 4, 12], "feel": [0, 5, 6, 11, 13, 15, 16, 18, 21, 23, 26, 28], "feet": [], "fefef": [], "fefeff": [], "felt": 23, "fenc": [], "fernando": [], "fetch": [6, 15], "few": [1, 3, 4, 5, 9, 17, 18, 19, 25, 28], "fewer": [0, 9, 11, 19, 28, 31], "ff7b72": [], "ff9492": [], "ffa07a": [], "ffa657": [], "ffb757": [], "ffd700": [], "ffd900": [], "ffd9002e": [], "ffffff": [], "ffnn": [1, 12], "fi": [], "field": [0, 3, 6, 12, 19, 21], "fieldmask": [], "fifth": [0, 6, 28], "fig": [0, 1, 2, 3, 4, 6, 7, 12, 13, 14, 23, 28], "fig_id": [0, 6, 7, 9, 28, 32], "figaxi": 25, "figsiz": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 28, 32], "figur": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 21, 23, 28, 29, 30, 31, 32], "figure_id": [0, 6, 7, 9, 28, 32], "figurefil": [0, 6, 7, 9, 28, 32], "file": [0, 4, 5, 6, 7, 9, 15, 20, 23, 28, 32], "file_prefix": 4, "filenam": 28, "fill": [5, 9, 18, 29, 30], "fill_valu": [], "filter": [3, 4], "final": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 18, 20, 23, 24, 25, 26, 28, 30, 32], "financ": 0, "find": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 21, 23, 25, 28, 29, 30, 31], "fine": [0, 14], "finish": [2, 20], "finit": [3, 5, 6, 12, 13, 17, 25, 29, 30, 32], "finnicki": 15, "fire": [], "first": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 22, 23, 25, 26, 27, 29, 31, 32], "first_moment": 31, "first_term": 31, "firsteigvector": 11, "fit": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 17, 18, 19, 23, 25, 29, 31, 32], "fit_beta": 29, "fit_intercept": [0, 5, 6, 16, 29, 30, 31, 32], "fit_mod": 9, "fit_theta": [6, 31], "fit_transform": [0, 6, 8, 9, 11, 15, 19, 32], "fiti": [0, 28], "five": [0, 9, 28, 29], "fix": [0, 3, 4, 6, 10, 11, 12, 13, 23, 28, 32], "flag": 4, "flat": [12, 13, 30, 31], "flatten": [1, 3, 4, 5, 22], "flavor": [], "flexibl": [1, 6, 8, 10, 12, 28, 31, 32], "flip": [26, 28], "float": [0, 3, 4, 5, 9, 11, 13, 14, 22, 28, 29, 30], "float32": [4, 9], "float64": [4, 22, 28], "flop": [5, 22, 29, 30], "flow": [1, 4, 12], "fluctuat": [5, 31], "fly": 11, "fm": 0, "fmax": 3, "fmesh": 13, "fn": 7, "focu": [0, 3, 4, 5, 6, 15, 21, 23, 27, 28, 29, 30, 31, 32], "focus": [1, 6, 7, 22, 29, 31], "fold": [6, 9, 23], "folder": [0, 4, 6, 15, 20, 23, 28], "follow": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32], "font": [7, 20, 25, 28], "fontdict": 25, "fontsiz": [1, 6, 8, 9, 10, 25], "fontweight": 1, "footprint": [3, 31], "foral": [8, 29], "forc": [0, 5, 6, 10, 11, 29, 30, 31], "forcast": 4, "forcier": [], "forecast": [4, 12], "forest": [0, 1, 9, 21, 28], "forget": [11, 31], "form": [0, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 21, 22, 23, 25, 28, 29, 30, 31, 32], "formal": [3, 4, 14, 18, 25], "format": [0, 1, 3, 4, 6, 7, 8, 9, 10, 11, 20, 21, 25, 27, 32], "format_data": 4, "formatstrformatt": [6, 13, 30, 31], "formatt": [], "formul": [4, 6, 11, 14], "formula": [3, 13, 25, 30], "forth": [4, 12], "fortran": [0, 21, 22, 28], "fortran2003": [21, 28], "fortran2008": 23, "fortran90": 25, "fortun": [0, 11, 29], "forward": [0, 3, 6, 21, 22, 28, 31, 32], "found": [1, 2, 4, 5, 6, 12, 13, 19, 20, 23, 28, 29, 31, 32], "foundat": [21, 28], "four": [4, 5, 6, 8, 12, 22, 24, 26, 28, 30], "fourier": [0, 28], "fourierdef1": 3, "fourierdef2": 3, "fourierseriessign": 3, "fourth": [12, 28, 29], "fp": 7, "frac": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 22, 23, 25, 28, 29, 30, 31, 32], "fraction": 9, "frame": [7, 31], "framework": [1, 8, 10, 25], "frank": [5, 11], "frankefunct": [5, 6, 11], "fredli": [26, 28], "free": [0, 6, 11, 13, 15, 16, 18, 21, 22, 23, 25, 26, 27, 28], "freecodecamp": 21, "freedom": [5, 30], "freeli": [0, 23], "freez": 15, "frequenc": [3, 6, 7, 25, 32], "frequent": [0, 8, 9, 13, 30], "frequentist": 21, "fresh": 10, "fridai": [15, 26, 28], "friedman": [6, 19, 23, 27, 28], "friendli": 4, "fro": 23, "frodo": 28, "frog": 3, "from": [0, 1, 2, 3, 4, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27], "from_cod": 9, "from_logit": [3, 4], "from_tensor_slic": 4, "front": [0, 4, 5, 28, 29, 30], "frustrat": 15, "fulfil": [2, 5, 12, 29, 30], "full": [1, 3, 5, 7, 9, 10, 13, 25, 28, 29, 30], "full_matric": [5, 29, 30], "fulli": [3, 6, 12, 25, 32], "fullnam": [], "fun": [21, 28], "func": 2, "function": [2, 3, 4, 5, 9, 14, 15, 16, 17, 18, 19, 20, 21, 22], "functionali": 11, "fundament": [0, 6, 21, 28, 32], "funtion": 2, "furnish": [], "further": [2, 7, 9, 19, 28], "furthermor": [0, 3, 5, 6, 7, 11, 12, 13, 21, 23, 28, 29, 30, 31, 32], "futur": [0, 4, 8, 9, 28], "fy": [15, 23, 24, 26, 27, 28], "fys4155": 23, "fys5419": [27, 28], "fys5429": [27, 28], "f\u00f8470": [26, 28], "g": [0, 1, 2, 3, 4, 6, 8, 9, 10, 11, 13, 15, 18, 19, 25, 28, 29, 30, 31, 32], "g0": 2, "g_": [2, 9, 10, 31], "g_0": 2, "g_1": [2, 10], "g_2": [2, 10], "g_analyt": 2, "g_dnn_ag": 2, "g_euler": 2, "g_i": 2, "g_m": [3, 10], "g_n": 3, "g_re": 2, "g_t": [2, 31], "g_t_d2t": 2, "g_t_d2x": 2, "g_t_dt": 2, "g_t_hessian": 2, "g_t_hessian_func": 2, "g_t_jacobian": 2, "g_t_jacobian_func": 2, "g_trial": 2, "g_trial_deep": 2, "g_vec": 2, "gain": [1, 5, 7, 9, 10, 13, 29, 30], "galleri": [0, 28], "game": 4, "gamge": 28, "gamma": [0, 2, 8, 9, 10, 11, 13, 28, 30], "gamma1": 8, "gamma2": 8, "gamma_": [0, 28], "gamma_0": 10, "gamma_1": 10, "gamma_1x": 10, "gamma_i": [0, 8, 25, 28], "gamma_j": 13, "gamma_k": [13, 30], "gamma_m": 10, "gamma_x": [0, 28], "gap": [8, 31], "gate": [4, 12], "gather": [0, 1, 12, 29], "gaug": 12, "gaussbacksub": 22, "gaussian": [4, 5, 6, 8, 14, 18, 25, 28, 32], "gaussian_point": 14, "gaussian_rbf": 8, "gave": [13, 31], "gavra": 28, "gbc": 28, "gca": [2, 6, 8, 13], "gd": [1, 30], "gd_clf": 10, "gdclassiffiercgain": 10, "gdclassiffierconfus": 10, "gdclassiffierroc": 10, "gdm": 13, "gdregress": 10, "ge": [1, 5, 7, 25, 29, 30], "gen_loss": 4, "gen_tap": 4, "gender": [0, 28], "genener": 4, "gener": [0, 1, 2, 3, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 23, 25, 27, 29, 30, 31, 32], "generaliz": 16, "generallay": 12, "generate_and_save_imag": 4, "generate_imag": 4, "generate_latent_point": 4, "generate_simple_clustering_dataset": 14, "generated_imag": 4, "generator_loss": 4, "generator_loss_list": 4, "generator_model": 4, "generator_optim": 4, "genom": 21, "geodes": 11, "geoff": 31, "geometr": [0, 13, 28, 31], "geometri": 5, "georg": 27, "geotif": 6, "geq": [2, 5, 8, 9, 13, 29, 30, 31], "gerard": [], "geron": [0, 27, 28], "get": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 15, 19, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32], "get_dummi": 9, "get_paramet": 2, "get_split": 9, "get_yaxi": 8, "get_yticklabel": 6, "getmask": [], "gh": 15, "giant": 31, "gibb": [21, 28], "gif": 4, "gini": 10, "gini_index": 9, "ginvers": 13, "git": [0, 15, 21, 28], "gitcdn": [], "giter": [13, 31], "github": [0, 20, 21, 23, 24, 26, 27, 28, 29], "gitignor": 15, "gitlab": [0, 15, 21, 23, 28], "give": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 18, 19, 21, 23, 25, 28, 29, 30, 31, 32], "given": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 19, 22, 25, 28, 29, 30, 31, 32], "global": [6, 7, 13, 30, 31], "glorot": 1, "gmail": [], "gnew": 13, "go": [0, 1, 3, 5, 6, 8, 9, 11, 12, 13, 15, 16, 18, 28, 29, 30, 32], "goal": [0, 7, 9, 28], "goe": [0, 1, 2, 5, 6, 13, 14, 15, 19, 22, 28, 29, 30, 31, 32], "goessner": [], "golden": 13, "gone": [5, 29, 30], "gong": 1, "good": [1, 3, 4, 5, 6, 9, 10, 11, 13, 15, 18, 21, 25, 27, 29, 30, 31], "goodfellow": [4, 27, 28, 29, 30], "googl": [1, 4, 21, 28], "got": [1, 6, 23], "gotten": 28, "gov": 6, "govern": 28, "gp": 27, "gpu": [1, 13, 21, 28, 31], "grad": [2, 13, 31], "grad_analyt": 13, "grad_ol": 18, "grad_ridg": 18, "grade": [23, 24], "gradient": [0, 3, 4, 7, 8, 9, 12, 21, 28, 29], "gradient_desc": 31, "gradientboostingclassifi": 10, "gradientboostingregressor": 10, "gradients_of_discrimin": 4, "gradients_of_gener": 4, "gradienttap": 4, "gradual": [1, 14], "grai": [4, 6], "granger": [], "grant": [], "graph": [1, 9, 11, 12, 13, 16, 20, 30, 31], "graph_from_dot_data": 9, "graphic": [0, 1, 9, 15, 28], "grasp": 0, "gray_r": [1, 3], "grayscal": 3, "great": [5, 13, 15, 30, 31], "greater": [1, 7, 25, 29], "greatli": 13, "greedi": 9, "green": [0, 3, 9, 25], "grei": 4, "grid": [1, 3, 6, 7, 8, 12, 25, 29, 31, 32], "grossli": [13, 30], "ground": [0, 28], "group": [0, 6, 7, 9, 14, 15, 20, 21, 23, 24, 26, 28, 32], "groupbi": [0, 28], "grow": [1, 3, 9, 10, 31], "growth": [0, 28], "gru": 4, "guarante": [0, 4, 13, 25, 28, 29, 30, 31], "guess": [1, 4, 10, 13, 14, 30, 31], "guestrin": 10, "gui": 15, "guid": 1, "guidelin": 20, "g\u00f6ssner": [], "h": [0, 1, 5, 6, 8, 13, 15, 19, 25, 26, 27, 28, 29, 30, 31], "h1": 2, "h_": [0, 13, 28, 30, 31], "h_0": 31, "h_1": [2, 13, 30], "h_2": [2, 13, 30], "h_m": 10, "h_t": 31, "ha": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23, 25, 28, 29, 30, 31, 32], "haanen": [26, 28], "habit": [0, 29], "had": [0, 1, 6, 7, 13, 28, 30, 31, 32], "hadamard": [1, 12, 13, 31], "half": [1, 8, 9], "halv": 10, "hand": [0, 1, 2, 3, 5, 11, 12, 13, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31], "handi": [3, 23], "handl": [0, 1, 2, 5, 9, 11, 15, 18, 21, 29, 30, 31], "handle_unknown": 9, "handsid": 12, "handwrit": 12, "handwritten": [1, 5], "happen": [1, 2, 3, 4, 5, 6, 10, 13, 25, 29, 30, 31], "hard": [1, 7, 8, 10, 13, 30, 31], "hardcopi": [21, 28], "harder": [0, 1, 19, 29], "harmon": 3, "hash": 31, "hasn": [], "hassl": [0, 21, 28], "hast": [21, 28], "hasti": [0, 6, 16, 17, 19, 20, 23, 27, 28, 29, 32], "hat": [0, 1, 5, 6, 7, 9, 10, 11, 12, 13, 16, 17, 18, 19, 22, 29, 30, 31, 32], "hauser": [], "have": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32], "have_sys_un_h": [], "haven": 1, "he": 7, "head": [4, 10, 25], "header": [0, 28], "heads_proba": 10, "health": [0, 29], "hear": [0, 13, 28, 31], "heart": [0, 7, 28], "heatmap": [0, 1, 3, 7, 17, 20, 28], "heavi": 31, "heavili": 0, "heavisid": 1, "height": [1, 3, 6, 29], "held": [13, 31], "help": [0, 1, 4, 12, 13, 15, 16, 23, 28, 31, 32], "helper": [4, 14], "henc": [0, 5, 6, 8, 9, 10, 12, 13, 28, 29, 30, 31, 32], "henrik": [26, 28], "her": 7, "here": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 21, 22, 23, 25, 28, 29, 30, 31, 32], "hereaft": [0, 8, 12, 28], "herebi": [], "hermitian": 22, "hessenberg": 22, "hessian": [0, 2, 5, 13], "heterogen": [9, 10], "hex": [], "hi": 7, "hidden": [1, 3, 4, 12], "hidden_bia": 1, "hidden_bias_gradi": 1, "hidden_layer_s": [0, 1, 28], "hidden_neuron": 4, "hidden_weight": 1, "hidden_weights_gradi": 1, "hierarch": [5, 29, 30], "high": [0, 1, 2, 3, 4, 5, 6, 9, 10, 11, 13, 14, 21, 22, 23, 28, 29, 30, 31, 32], "higher": [0, 1, 3, 5, 6, 8, 13, 18, 23, 28, 29, 30, 31, 32], "highest": [1, 2], "highli": [0, 3, 4, 10, 19, 21, 22, 27, 28, 29, 30, 31], "highlight": [], "highwai": [], "hing": 8, "hint": [13, 15, 16, 29, 30], "hinton": 31, "hip": 21, "hire": 0, "hist": [4, 6, 7, 25, 32], "histogram": [6, 7, 25], "histor": [7, 11], "histori": [3, 4, 12, 15, 31], "hitherto": 5, "hjorth": [26, 28, 29, 30, 31, 32], "hobbi": 25, "hoc": [5, 29, 30], "hoff": 27, "hold": [1, 3, 6, 13, 14, 30, 31, 32], "holder": [0, 28], "holdgraf_evidence_2014": [], "home": [], "homepag": [23, 28], "homework": [6, 13, 30, 31], "homogen": [1, 3, 9, 10, 13, 31], "honchar": 2, "hopefulli": [0, 11, 15, 19, 25, 28, 31], "horizont": 11, "horlyk": [26, 28], "hors": [3, 7, 28], "hot": [1, 9], "hour": [1, 21, 24, 25, 26, 28, 31, 32], "how": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 28, 29, 30, 31, 32], "howev": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 21, 22, 23, 25, 28, 29, 30, 31, 32], "href": [], "hspace": [0, 4, 8, 10, 25, 28], "hstack": 1, "htf": 28, "html": [0, 16, 20, 21, 23, 24, 26, 27, 28, 29, 30, 31], "http": [0, 3, 4, 6, 13, 15, 16, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32], "huang": [0, 28], "huber": [0, 28], "huge": [1, 3, 4, 21, 31], "human": [0, 1, 3, 6, 9, 12, 29], "humid": 9, "hundr": 1, "hungri": 1, "hybrid": 24, "hydrogen": [0, 28], "hyperbol": [1, 4, 12], "hyperparam": 8, "hyperparamet": [3, 4, 5, 6, 9, 13, 18, 23, 29, 30, 31], "hyperplan": 11, "h\u00f8rlyk": [26, 28], "i": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32], "i0": [0, 28], "i1": [0, 6, 8, 12, 28, 29, 31], "i2": [0, 8, 12, 28], "i3": [0, 12, 28], "i5": [0, 28], "i_": [13, 30, 31], "i_1": [5, 6, 32], "i_2": [5, 6, 32], "i_t": 31, "ian": 27, "ic": [1, 23], "id": [7, 13, 30, 31], "ida": [26, 28], "idea": [0, 1, 2, 3, 4, 6, 9, 10, 12, 13, 20, 22, 23, 29, 30, 31, 32], "ideal": [0, 2, 6, 8, 13, 25, 28, 31, 32], "idem": [6, 32], "ident": [5, 6, 12, 13, 17, 18, 22, 29, 30], "identical": 32, "identifi": [0, 1, 7, 9, 11, 12, 13, 14, 28, 29], "idx": [], "ieor": 25, "ifi": 27, "ifs": [21, 28], "ignor": [0, 1, 3, 9, 15, 29, 31], "ii": [22, 25], "iii": [22, 28], "ij": [0, 1, 3, 6, 8, 12, 14, 16, 22, 25, 28, 29, 31], "ik": [0, 22, 28, 29], "iki": [], "ill": 31, "illinoi": [], "illustr": [5, 7, 10, 12, 13, 14, 20, 21, 28], "ilsvrc": 31, "im": 6, "imag": [1, 3, 4, 6, 9, 11, 12, 14, 27, 28], "image_at_epoch_": 4, "image_batch": 4, "image_height": 3, "image_path": [0, 6, 7, 9, 28, 32], "image_width": 3, "imageio": 6, "imagenet": 31, "images_from_seed_imag": 4, "imagin": 1, "immedi": [0, 3, 4, 6, 21, 28, 31], "implement": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 19, 20, 23, 25, 28, 29, 30, 31], "impli": [3, 5, 6, 7, 13, 22, 29, 30, 31, 32], "implicit": [3, 31], "implicitli": [11, 25], "import": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 25, 31, 32], "importantli": 3, "importerror": [], "impos": [0, 6, 11, 12, 28], "imposs": [0, 5, 28, 29, 30], "impract": 31, "impress": [0, 12, 28], "improv": [0, 4, 5, 9, 10, 11, 13, 15, 23, 29, 30], "impur": 9, "imread": 6, "imshow": [1, 3, 4, 6], "in3050": [27, 28], "in3310": 28, "in4080": [27, 28], "in4300": [27, 28], "in4310": 27, "in5400": 3, "in5550": 27, "in_out_neuron": 4, "inaccur": [13, 30], "inact": 12, "inadequ": [0, 28], "inappropri": 31, "inch": [6, 29], "incident": [], "includ": [0, 1, 2, 3, 4, 5, 6, 7, 11, 12, 15, 16, 17, 18, 19, 20, 21, 25, 26, 27, 28, 29, 30, 32], "include_bia": [6, 9, 32], "incom": [12, 16], "incorrect": 1, "incoveni": 8, "increas": [0, 1, 3, 4, 5, 6, 9, 12, 13, 19, 23, 25, 28, 29, 31, 32], "increasingli": 25, "increment": 31, "ind": 6, "inde": [0, 2, 4, 5, 6, 13, 28, 29, 30], "indefinit": 4, "independ": [0, 5, 6, 7, 8, 12, 13, 25, 28, 29, 30, 31], "index": [0, 1, 3, 4, 10, 14, 21, 22, 23, 25, 27, 28], "index_col": [0, 28], "indic": [0, 1, 3, 4, 5, 6, 9, 10, 11, 13, 16, 23, 28, 29], "indirect": [], "indispens": [6, 32], "individu": [1, 6, 7, 10, 12, 25, 28, 29, 31, 32], "indu": [], "indx": 22, "indx1": 2, "indx2": 2, "indx3": 2, "ineffici": [3, 13], "inequ": [8, 13], "inequaltii": 30, "inertia": 13, "inexperi": [], "inf": [], "inf1000": [21, 28], "inf1100": [21, 28], "inf1100l": [21, 28], "inf1110": [21, 28], "inf3000": 28, "infeas": [9, 31], "infer": [0, 1, 4, 6, 27, 28, 32], "inferenc": 1, "infil": [0, 6, 7, 9, 28, 32], "infin": [5, 6, 7, 11, 19, 29, 30, 32], "infinit": [3, 31], "infinitesim": 25, "influenc": [6, 10, 18, 32], "influenti": 1, "info": 28, "inform": [0, 1, 3, 4, 6, 9, 11, 12, 13, 14, 22, 23, 27, 28, 30, 31, 32], "inforom": 15, "infrequ": 31, "infti": [3, 6, 13, 25, 30, 32], "ingeni": [13, 30, 31], "ingredi": [0, 9, 28], "inher": [6, 31, 32], "inherit": [22, 28, 31], "init": [], "initi": [0, 1, 2, 6, 10, 13, 14, 18, 22, 25, 28, 30, 31, 32], "inject": 14, "inlin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 22, 25, 28, 29, 30, 31, 32], "inner": [0, 13, 29], "innerhtml": [], "inp": 4, "inplac": 13, "input": [0, 1, 3, 4, 5, 6, 7, 8, 12, 13, 14, 16, 23, 25, 28, 29, 30, 31, 32], "input_dim": 1, "input_shap": [3, 4], "inputs": 1, "inputs_shuffl": [0, 1, 29], "inquiri": 20, "insert": [3, 5, 6, 8, 10, 25, 29, 30, 32], "insid": [4, 7], "insight": [0, 1, 5, 21, 28, 29, 30, 32], "insist": [6, 13, 29, 31], "inspir": [0, 1, 12, 23, 28], "instabl": 2, "instal": [0, 1, 5, 6, 9, 15, 20], "instanc": [0, 1, 2, 4, 6, 9, 11, 13, 16, 28, 29, 30, 31, 32], "instanti": 10, "instead": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 17, 20, 22, 25, 28, 29, 31, 32], "institut": 1, "instruct": [0, 1, 15], "int": [0, 1, 2, 3, 4, 5, 6, 11, 13, 14, 22, 25, 29, 31, 32], "int32": 10, "int_": [3, 6, 25, 32], "int_0": 25, "int_a": 25, "intak": [0, 29], "integ": [1, 2, 13, 14, 22, 25, 28], "integer_vector": 1, "integr": [3, 6, 25, 28, 32], "intellig": [0, 14, 27, 28], "intend": 10, "intens": [1, 18], "intention": 14, "interact": [0, 6, 9, 12, 21, 23, 28], "intercept": [0, 6, 8, 11, 13, 16, 17, 18, 19, 28, 29, 30, 31, 32], "intercept_": [0, 6, 8, 9, 13, 28, 29, 31], "interchang": [5, 12, 22], "interconnect": 1, "interesit": [], "interest": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 19, 21, 23, 25, 28, 29, 30, 32], "interfac": [0, 1, 15, 22, 29], "interior": [0, 9, 28], "intermedi": [22, 29, 31], "intern": [1, 10, 12], "internation": [], "interpol": [1, 3, 4, 6, 12], "interpr": [5, 29, 30], "interpret": [0, 1, 6, 9, 10, 12, 13, 15, 16, 22, 23, 25], "interrupt": [], "interv": [0, 3, 5, 6, 7, 13, 19, 25, 28, 29, 30], "intial": [13, 30], "intract": [0, 4, 29], "intrins": [3, 11, 22, 25, 28], "intro": [21, 27, 28], "introduc": [0, 1, 5, 6, 8, 10, 12, 22, 23, 25, 28, 30, 31, 32], "introduct": [1, 2, 4, 13, 27, 29, 30, 31], "introductori": [0, 4, 22, 27, 28, 29], "intuit": [0, 5, 6, 8, 12, 13, 23, 28, 31, 32], "inv": [0, 5, 13, 17, 28, 29, 30, 31], "invalid": [], "invalu": [0, 13, 21, 28, 30], "invari": 1, "invd": 5, "inver": 8, "invers": [0, 3, 6, 13, 28, 29, 30, 31], "inverse_transform": 8, "invert": [0, 5, 7, 10, 13, 16, 18, 28, 31], "investig": [], "invh": [13, 31], "invok": 8, "involv": [0, 2, 6, 7, 11, 12, 28, 29, 31, 32], "io": [0, 21, 23, 24, 26, 27, 28, 29], "ion": [], "ip": [0, 8, 25, 28], "ipca": 11, "ipynb": [21, 28], "ipython": [0, 5, 7, 9, 11, 14, 21, 23, 28, 29], "iq": [6, 32], "iri": [8, 9], "irreduc": [6, 32], "irrelev": [5, 29, 30], "irrespect": [0, 28], "irvin": 23, "isaac": [], "isaacmus": [], "iseffici": [], "isn": 5, "isnul": [], "isomap": 11, "issu": [1, 9, 15, 22, 31], "it_arrai": 13, "item": [0, 13, 28], "items": [22, 28], "iter": [1, 2, 4, 6, 8, 13, 14, 18, 23, 25, 30, 31, 32], "its": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 21, 22, 23, 25, 28, 30, 31, 32], "itself": [5, 6, 12, 23, 25, 28, 29, 32], "j": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 22, 23, 25, 27, 28, 29, 30, 31, 32], "j1": 22, "j_": 6, "j_41hld6ttu": 32, "j_lasso_sk": 6, "j_ridge_sk": 6, "j_sk": 6, "jackknif": [6, 21, 28, 32], "jacobian": [2, 13, 30], "janko": [], "jason": 4, "javascript": [], "jax": [21, 28, 31], "jeff": [], "jensen": [26, 28, 29, 30, 31, 32], "jerom": [19, 23, 27], "jhauser": [], "ji": [12, 22], "jit": 13, "jj": [0, 5, 6, 28, 32], "jk": [0, 1, 6, 12, 22, 28], "jl": [0, 28], "jm": 22, "jnp": 13, "job": [2, 8, 10, 15], "join": [0, 4, 6, 7, 9, 28, 32], "joint": [4, 5], "jonathan": [], "json": [], "judg": [13, 30], "judgement": 6, "julia": [21, 22, 23], "jump": [25, 31], "junk": 4, "jupit": 28, "jupyt": [0, 15, 16, 19, 21, 23, 27, 28, 32], "jupyterbook": [], "jupytext": [], "just": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 20, 21, 25, 28, 29, 30, 31, 32], "justif": 0, "justifi": [3, 10], "k": [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 21, 22, 23, 25, 26, 28, 29, 30, 31], "k0": 7, "k1": 7, "kaggl": [6, 23], "kappa_d": 25, "karl": [26, 28], "karush": 8, "katex": [], "katrin": [26, 28], "keep": [0, 1, 4, 5, 6, 11, 13, 14, 15, 18, 22, 23, 28, 29, 30, 31, 32], "keepdim": [1, 6, 10, 22, 32], "kei": [1, 3, 6, 12, 31], "kellei": [], "kenneth": [], "kept": [4, 6, 14, 32], "kera": [0, 4, 21, 23, 28], "kernel": [0, 1, 3, 21, 28, 29], "kernel_regular": [1, 3], "kernel_s": 4, "kernelpca": 11, "kev": [0, 28], "kevin": [27, 28], "kevinsheppard": [], "keyword": [18, 22, 28], "kfold": [6, 32], "kg": 1, "ki": 22, "kick": [1, 13, 31], "kiener": 2, "kilomet": [6, 29], "kim": [], "kind": [0, 2, 3, 4, 8, 12, 13, 14, 28, 29], "kingma": 31, "kj": [6, 12, 22, 29, 31], "kjm": [21, 28], "kkt": 8, "kl": 25, "km": [12, 28], "kmean": 14, "kmeanspoint": 14, "kn_k": 14, "know": [0, 1, 2, 5, 6, 8, 13, 15, 16, 17, 19, 20, 21, 28, 29, 30], "knowledg": [0, 21, 28], "known": [1, 3, 4, 5, 6, 7, 8, 9, 12, 18, 22, 23, 25, 27, 29, 31, 32], "kondev": [0, 28], "kp": 25, "kpca": 11, "kramdown": [], "kroneck": 14, "kt": [], "kuhn": 8, "kvalsund": [26, 28], "kwown": [0, 28], "l": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 22, 23, 25, 28, 30, 31], "l0": 7, "l1": [0, 1, 3, 7, 28], "l1_l2": [1, 3], "l1regl": 5, "l2": [1, 3], "l_": [22, 31], "l_1": 7, "l_2": [7, 13, 30, 31], "l_i": 31, "l_j": 12, "la": 13, "la_": [], "la_i": 12, "la_k": 12, "lab": [20, 21, 23, 28], "label": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 20, 21, 22, 23, 25, 28, 29, 30, 31, 32], "labelencod": [7, 10], "labels": [6, 8, 9], "labels_shuffl": [0, 1, 29], "laboratori": 24, "lack": [0, 28, 31], "lagari": 2, "lagrang": [8, 11], "lam": 18, "lambda": [0, 1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 17, 18, 19, 20, 23, 25, 28, 29, 30, 31, 32], "lambda_": 11, "lambda_0": 11, "lambda_1": [5, 8, 11, 29, 30], "lambda_2": [8, 11], "lambda_i": [8, 11], "lambda_iy_i": 8, "lambda_jy_iy_j": 8, "lambda_k": 8, "lambda_n": [5, 8, 29, 30], "lamda": 1, "land": 8, "landmark": 8, "landscap": [13, 18, 30, 31], "langl": [0, 6, 11, 25, 28, 29], "languag": [0, 1, 4, 8, 21, 22, 23, 27, 28], "lapack": [22, 28], "laplac": 5, "laptop": [15, 21], "larg": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 13, 18, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32], "larger": [0, 3, 5, 6, 8, 10, 11, 13, 17, 25, 28, 29, 30, 31, 32], "largest": [4, 8, 11], "lasso": [0, 7, 21, 28, 31, 32], "lasso_sk": 6, "last": [0, 1, 3, 4, 5, 6, 7, 8, 12, 16, 17, 19, 22, 23, 25, 26, 28, 30, 32], "latent": 4, "latent_dim": 4, "latent_point": 4, "latent_space_value_rang": 4, "later": [0, 1, 4, 7, 8, 12, 13, 14, 15, 19, 21, 23, 28, 31], "latest": [4, 15, 21], "latest_checkpoint": 4, "latex": [20, 28], "latexcodec": [], "latter": [0, 3, 6, 7, 8, 11, 13, 22, 25, 28, 29, 30, 31, 32], "lattic": 12, "law": 0, "layer": [0, 4, 13, 28, 31], "lbfg": [7, 9, 10], "lc_messag": [], "lcc": [5, 6, 32], "lda": 11, "ldot": [0, 6, 11, 23, 28, 32], "le": [5, 7, 10, 13, 17, 25, 29, 30, 31], "lead": [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 22, 25, 28, 29, 30, 31, 32], "leaf": 9, "leaki": 1, "leakyrelu": 4, "lear": [13, 30], "learn": [3, 4, 5, 6, 7, 8, 9, 10, 12, 22, 26, 27], "learnabl": 3, "learner": 10, "learnig": 28, "learning_r": [8, 10], "learning_rate_init": [0, 1, 28], "learning_schedul": [13, 31], "learnt": 23, "least": [0, 7, 8, 10, 11, 17, 18, 21, 22, 25, 32], "leat": [13, 31], "leav": [0, 1, 3, 5, 6, 9, 11, 28, 30, 32], "lectur": [0, 1, 5, 10, 11, 12, 13, 21, 22, 23, 24, 26, 27, 29], "lecturenot": [0, 21, 23, 27, 28], "left": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 22, 23, 25, 28, 29, 30, 31, 32], "leftarrow": [8, 12], "legend": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 15, 28, 29, 30, 31, 32], "leinonen": 28, "len": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 16, 17, 22, 28, 29, 30, 31, 32], "length": [0, 1, 3, 4, 8, 9, 13, 16, 21, 28, 29, 30, 31], "length_of_sequ": 4, "leq": [0, 5, 7, 8, 13, 14, 25, 28, 29, 30, 31], "less": [0, 1, 3, 4, 5, 6, 8, 9, 13, 21, 25, 28, 29, 30, 31, 32], "lessen": 1, "let": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 19, 22, 25, 28, 29, 30, 31, 32], "letter": [0, 16, 22, 25, 28, 29], "level": [0, 1, 5, 6, 9, 21, 22, 23, 24, 26, 28, 31, 32], "leverag": 31, "lexer": [], "li": [8, 11], "liabil": [], "liabl": [], "lib": [], "liberti": 31, "liblinear": 10, "librari": [0, 1, 2, 3, 4, 5, 6, 9, 10, 11, 22, 23, 25, 27, 29, 30, 31], "licenc": [], "licens": [0, 1, 21, 23, 28], "lie": [0, 6, 11, 25, 28, 29, 32], "life": [0, 1, 8, 12, 28], "lifetim": 13, "light": [], "like": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 15, 16, 20, 21, 22, 23, 25, 28, 29, 30, 31, 32], "likelihood": [0, 1, 5, 9, 28, 29], "lim_": 25, "limit": [0, 5, 6, 8, 12, 22, 23, 28, 29], "lin_clf": 8, "lin_model": [], "lin_reg": 9, "linalg": [0, 2, 5, 6, 8, 11, 13, 17, 22, 25, 28, 29, 30, 31], "line": [0, 3, 6, 8, 11, 13, 15, 16, 20, 28, 30, 31, 32], "line1": 8, "line2": 8, "line2d": [], "line3": 8, "line_model": 15, "line_ms": 15, "line_predict": 15, "linear": [1, 3, 5, 6, 7, 9, 10, 11, 12, 16, 17, 18, 19, 21, 23, 25, 31, 32], "linear_model": [0, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 28, 29, 30, 31, 32], "linear_regress": [6, 32], "linearli": [5, 29, 30, 31], "linearloc": [6, 13, 30, 31], "linearregress": [0, 6, 7, 9, 15, 16, 19, 28, 29, 31, 32], "linearsvc": 8, "lineat": 30, "liner": [1, 3], "linerar": 10, "linewidth": [0, 2, 4, 6, 8, 9, 10, 32], "link": [0, 4, 9, 12, 15, 20, 21, 23, 24, 26, 28], "linlag": 5, "linpack": [22, 28], "linreg": [0, 28], "linspac": [0, 2, 3, 4, 6, 8, 9, 10, 13, 16, 17, 19, 22, 25, 28, 29, 31, 32], "linu": 4, "linux": [0, 1, 21, 23, 28], "liquid": [0, 28], "list": [1, 2, 3, 4, 9, 15, 21, 23, 28, 31], "listedcolormap": [9, 10], "literatur": [1, 7, 14, 27, 32], "littl": [1, 3, 9, 12, 31], "live": [8, 16], "ll": [0, 18, 25, 28, 29], "lle": [0, 29], "llm": 20, "lloyd": [4, 14], "lmb": [0, 2, 5, 6, 29, 30, 31, 32], "lmbd": [0, 1, 3, 28], "lmbd_val": [0, 1, 3, 28], "lmbda": [13, 30, 31], "ln": [1, 13, 30], "load": [1, 4, 6, 7, 9, 10, 31], "load_boston": [], "load_breast_canc": [1, 7, 9, 10, 11], "load_data": [3, 4], "load_digit": [1, 3], "load_iri": [8, 9], "loc": [3, 6, 7, 8, 9, 10, 28, 32], "local": [0, 1, 3, 7, 12, 13, 15, 29, 30, 31], "locat": [2, 3, 8, 15], "log": [0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 13, 15, 20, 22, 23, 28, 31, 32], "log10": [0, 5, 6, 29, 30, 31, 32], "log_": [0, 28], "log_clf": 10, "logarithm": [0, 5, 7, 17, 22, 28, 32], "logbook": 23, "logic": [0, 1, 9, 28], "logical_or": [], "login": 15, "logist": [0, 1, 2, 8, 9, 10, 11, 12, 13, 21, 29, 30, 31], "logisticregress": [7, 9, 10, 11], "logit": 7, "logreg": [7, 9, 10, 11], "logspac": [0, 1, 3, 5, 6, 28, 29, 30, 31, 32], "long": [0, 1, 3, 4, 12, 13, 28, 30, 31], "longer": [2, 3, 8, 10, 14, 22, 25, 28, 31], "loocv": [6, 32], "look": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 20, 22, 23, 25, 28, 29, 30, 31, 32], "loop": [1, 4, 6, 10, 12, 14, 16, 17, 18, 21, 22, 28, 31, 32], "lose": 1, "loss": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 18, 22, 23, 28, 32], "loss_fil": 4, "lossfil": 4, "lost": 4, "lot": [1, 4, 6, 16, 19, 20, 31, 32], "low": [0, 6, 9, 10, 11, 23, 28, 29, 32], "lower": [0, 1, 3, 6, 9, 10, 16, 22, 29, 31], "lowercas": [22, 28], "lowest": [9, 13, 25, 31], "lr": [1, 3, 4, 10], "lstat": [], "lstm": 4, "lstm_2layer": 4, "lstsq": [0, 28, 29], "lt": [6, 32], "lu": [0, 5, 28, 29, 30], "lubksb": 22, "luckili": 2, "ludcmp": 22, "lux": 22, "lvert": 1, "lw": [0, 28], "m": [0, 1, 2, 3, 5, 6, 8, 9, 10, 11, 12, 13, 15, 22, 25, 26, 27, 28, 29, 30, 31, 32], "m_": [9, 12], "m_0": 31, "m_1": 14, "m_h": [0, 28], "m_k": 14, "m_l": 12, "m_n": [0, 28], "m_p": [0, 28], "m_t": [13, 31], "ma": 11, "machin": [1, 3, 4, 5, 6, 7, 9, 10, 11, 12, 15, 16, 22, 27, 29, 31, 32], "machinelearn": [0, 6, 16, 20, 21, 23, 24, 26, 27, 28, 29, 30], "machineri": [], "mackai": 27, "macro": [], "made": [0, 1, 3, 4, 5, 6, 7, 9, 11, 12, 23, 28, 29, 31], "mae": [0, 28], "magic": 4, "magnitud": [1, 6, 7, 13, 29, 31], "mai": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 19, 21, 22, 23, 25, 28, 29, 30, 31, 32], "mail": [24, 26], "main": [0, 1, 3, 4, 5, 6, 7, 9, 22, 23, 27, 29, 30, 31], "mainli": [0, 5, 6, 7, 9, 28, 29, 32], "maintain": [6, 31, 32], "major": [1, 6, 9, 10, 13, 22, 28, 30, 31, 32], "make": [1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 15, 16, 18, 19, 21, 22, 23, 25, 27, 28, 30, 31, 32], "make_axes_locat": 6, "make_moon": [8, 9, 10], "make_pipelin": [0, 6, 10, 29, 32], "makedir": [0, 6, 7, 9, 28, 32], "malcondit": 22, "malign": [1, 7, 9], "mammographi": 5, "manag": [0, 2, 3, 15, 21, 23, 28, 31], "mandatori": [26, 28], "mani": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32], "manifold": 11, "manner": 3, "manual": [6, 29, 31], "map": [0, 1, 2, 6, 7, 8, 11, 12, 14, 25, 28], "marc": 29, "marchant": [], "margin": [0, 5, 8], "marit": [0, 28], "mark": 28, "markdownfil": [], "markdownit": [], "markdownitdeflist": [], "markedli": [], "marker": [7, 22, 28], "markov": [21, 28], "markup": [], "marsaglia": 25, "mask_or": [], "masked_arrai": [], "maskedrecord": [], "mass": [0, 1, 5, 13, 29, 30], "massag": [0, 28], "masses2016": [0, 28], "masses2016ol": [0, 28], "masses2016tre": 0, "masseval2016": [0, 28], "master": [24, 26], "mat": [21, 28], "mat1100": [21, 28], "mat1110": [21, 28], "mat1120": [21, 28], "match": [1, 4, 5, 13, 14, 15, 29, 30, 31], "materi": [4, 5, 7, 13, 15, 22, 24, 26], "math": [3, 7, 12, 13, 22, 25, 27, 28, 31], "mathbb": [0, 4, 5, 6, 7, 8, 11, 12, 13, 14, 17, 19, 22, 23, 25, 28, 29, 30, 31, 32], "mathbf": [0, 5, 6, 7, 8, 13, 19, 22, 23, 28, 29, 30, 31, 32], "mathcal": [1, 5, 6, 7, 13, 23, 32], "matheemat": 3, "mathemat": [0, 6, 11, 12, 13, 21, 22, 25, 27, 28, 31], "mathemati": 28, "mathrm": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 23, 25, 28, 29, 30, 31, 32], "matmul": [1, 2, 5], "matnat": 27, "matplotlib": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 21, 22, 23, 25, 28, 29, 30, 31, 32], "matplotlibrc": [], "matric": [0, 1, 3, 4, 6, 7, 8, 11, 13, 16, 17, 21, 29, 30], "matrix": [0, 2, 3, 4, 6, 7, 8, 10, 13, 17, 18, 19, 23, 25, 32], "matshow": 1, "matter": [2, 3, 13, 29, 30, 31], "matthia": [], "max": [0, 1, 2, 3, 4, 9, 10, 12, 13, 26, 28, 30, 31], "max_depth": [0, 9, 10], "max_diff": 2, "max_diff1": 2, "max_diff2": 2, "max_it": [0, 1, 8, 13, 28], "max_iter": 14, "max_leaf_nod": 10, "max_sampl": 10, "maxdegre": [0, 6, 10, 29, 32], "maxdepth": 10, "maxim": [1, 4, 5, 7, 8, 11, 32], "maximum": [0, 2, 3, 5, 7, 8, 9, 10, 13, 14, 28, 29, 30, 31], "maxpolydegre": [5, 6, 29, 30, 31, 32], "maxpooling2d": 3, "mbox": [5, 6, 29, 30, 32], "mcculloch": 12, "md": 11, "mdoel": 4, "me": [], "mean": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 25, 28, 31, 32], "mean_absolute_error": [0, 28], "mean_divisor": 14, "mean_i": 25, "mean_matrix": 14, "mean_squared_error": [0, 4, 6, 7, 10, 15, 19, 28, 29, 32], "mean_squared_log_error": [0, 28], "mean_vector": 14, "mean_x": 25, "meaning": [0, 4, 7, 28], "meansquarederror": [0, 28], "meant": [3, 7, 10, 13], "meanwhil": 31, "measur": [0, 1, 2, 5, 6, 9, 11, 12, 14, 16, 18, 23, 25, 28, 29, 31, 32], "mechan": [0, 4, 25, 28, 31], "median": [0, 28, 29, 31], "medicin": 12, "medium": [4, 8, 13, 31], "medv": [], "meet": [0, 26], "mehta": [0, 28, 29, 30], "member": 20, "memori": [3, 4, 11, 12, 13, 18, 22], "mentat": [], "mention": [0, 12, 13, 23, 25, 28, 30, 31], "merchant": [], "mere": [0, 23], "merg": [], "meshgrid": [2, 5, 6, 8, 9, 10, 11], "mess": 15, "messag": [5, 13], "messi": 2, "met": [0, 3, 8, 29], "meta": [], "meteorolog": 9, "meter": [6, 29], "method": [0, 1, 2, 3, 4, 5, 7, 8, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 25, 27, 29], "metion": 6, "metric": [0, 1, 3, 6, 7, 9, 10, 14, 15, 28, 29, 32], "metropoli": [21, 28], "mev": [0, 25, 28], "mgd": [13, 31], "mglearn": [21, 28], "mgrid": 13, "mhjensen": [], "mi": 10, "mia": [26, 28], "michael": [], "microsoft": 27, "mid": 1, "midel": 4, "midnight": 15, "midpoint": 9, "might": [0, 1, 2, 4, 6, 9, 13, 15, 17, 18, 29, 30, 31], "migth": 17, "mild": 9, "millimet": [6, 29], "million": [0, 28, 29, 31], "mimic": 12, "min": [0, 2, 5, 8, 9, 30], "min_": [0, 2, 5, 14, 17, 28, 29, 30], "min_samples_leaf": 9, "mind": [0, 6, 13, 15, 18, 28, 29, 30, 31, 32], "mindboard": 4, "mine": [21, 28], "mini": [1, 11, 12, 13, 30], "minibatch": [1, 11, 13], "minibathc": [13, 31], "miniforge3": [], "minim": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 29, 30, 31, 32], "minima": [0, 1, 7, 13, 28, 30, 31], "minimum": [0, 1, 2, 6, 8, 9, 11, 13, 29, 30, 31, 32], "minmaxscal": [0, 29, 31], "minor": 25, "minst": 1, "minu": 7, "mirjalili": 28, "mirror": 9, "misc": 6, "misclassif": [8, 9, 10], "misclassifi": [8, 10], "miser": 0, "mismatch": 1, "miss": [7, 10], "mistak": [4, 19], "mit": 27, "mitig": 31, "mix": [1, 2, 28], "mixtur": [13, 31], "mk": [9, 22], "mkdir": [0, 6, 7, 9, 28, 32], "ml": [0, 1, 10, 13, 22, 23, 29, 30, 31], "mlab": 25, "mle": [5, 7], "mlp": 1, "mlpclassifi": 1, "mlpregressor": [0, 28], "mm": 22, "mml": 29, "mn": [12, 25], "mnist": [1, 11], "mo": [], "mod": 25, "mode": [24, 26, 28], "model": [2, 3, 5, 7, 8, 9, 10, 11, 13, 14, 16, 18, 19, 20, 21, 23, 25, 27, 29, 30, 31, 32], "model_select": [0, 1, 3, 5, 6, 7, 9, 10, 11, 15, 16, 17, 19, 28, 29, 30, 31, 32], "moder": [10, 31], "modern": [0, 6, 7, 21, 28, 31, 32], "modest": 31, "modif": [2, 12, 13], "modifi": [0, 1, 3, 5, 7, 8, 10, 12, 13, 28, 29, 30, 31], "modul": [0, 16, 22, 28], "modular": 25, "modulo": 25, "moe": [11, 29], "moment": [5, 6, 13, 25, 32], "mondai": [26, 28], "monitor": [13, 31], "monoton": [5, 12, 25, 32], "mont": [0, 6, 21, 25, 27, 28, 32], "montli": 16, "moor": [5, 6], "more": [0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 21, 25], "moreov": [0, 3], "morten": [26, 28, 29, 30, 31, 32], "mortenhj": 28, "most": [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 23, 25, 28, 29, 30, 31, 32], "mostli": [1, 11, 18, 31], "motion": [0, 13], "motiv": [1, 4], "moulin": 31, "move": [0, 4, 5, 6, 7, 9, 12, 13, 14, 15, 16, 23, 25, 29, 30, 32], "mpl": [7, 28], "mpl_toolkit": [2, 6, 13, 30, 31], "mplot3d": [2, 6, 13, 30, 31], "mplregressor": 1, "mr_": [], "mrecord": [], "mse": [0, 4, 5, 6, 9, 10, 15, 16, 17, 19, 20, 23, 28, 29, 30, 31, 32], "mse_simpletre": 10, "mselassopredict": [5, 30], "mselassotrain": [5, 30], "mseownridgepredict": [6, 29, 30, 31], "msepredict": [5, 30], "mseridgepredict": [0, 5, 6, 29, 30, 31], "msetrain": [5, 30], "msg": [], "msle": [0, 28], "mt": [7, 12], "mu": [0, 6, 11, 13, 25, 28, 31, 32], "mu0": 25, "mu1": 25, "mu2": 25, "mu_": [6, 25, 29, 31, 32], "mu_i": [6, 29, 31], "mu_n": 11, "mu_x": 25, "much": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 15, 20, 22, 23, 25, 28, 29, 30, 31, 32], "multi": [0, 1, 3, 7, 21, 28], "multiclass": [1, 7], "multidimension": [11, 12, 28], "multilay": 1, "multinomi": 7, "multipl": [2, 4, 5, 6, 7, 12, 13, 15, 25, 29, 30, 31, 32], "multipli": [3, 5, 6, 11, 13, 18, 22, 25, 29, 30, 31], "multiplum": 8, "multivari": [0, 2, 10, 11, 21, 25, 28], "multivariate_norm": [11, 14], "multpli": 16, "murphi": [11, 27, 28], "muse": [], "must": [1, 2, 5, 6, 8, 10, 12, 13, 14, 15, 20, 25, 29, 30, 31, 32], "mutat": 7, "mutual": [1, 3, 6, 13, 32], "mx_": 25, "my": 28, "myenv": [], "myriad": [0, 21, 28], "myself": [], "mz1": 25, "mz2": 25, "m\u00f8svatn": 6, "n": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 25, 28, 29, 30, 31, 32], "n1": 22, "n2": 22, "n8grai": [], "n_": [1, 2, 3, 8, 12, 25], "n_0": [12, 25], "n_boostrap": [6, 10, 32], "n_bootstrap": [6, 32], "n_categori": [1, 3], "n_cluster": 14, "n_compon": 11, "n_epoch": [13, 31], "n_estim": 10, "n_examples_to_gener": 4, "n_featur": [1, 18], "n_filter": 3, "n_hidden": 2, "n_hidden_neuron": [0, 1, 28], "n_i": 25, "n_input": [0, 1, 3, 29], "n_instanc": 9, "n_iter": 31, "n_job": 10, "n_k": 14, "n_l": [12, 25], "n_layer": 1, "n_m": 9, "n_neuron": 1, "n_neurons_connect": 3, "n_neurons_layer1": 1, "n_neurons_layer2": 1, "n_point": 14, "n_sampl": [6, 8, 9, 10, 14, 18, 32], "n_split": [6, 32], "n_step": 4, "n_t": 2, "n_x": 2, "nabla": [1, 13, 30, 31], "nabla_": [2, 13, 30, 31], "nabla_w": 13, "nag": 13, "naimi": [0, 28], "naiv": 7, "naive_kmean": 14, "name": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 18, 20, 21, 22, 23, 25, 26, 28, 29, 30, 32], "namespac": [], "nan": [], "narrow": [13, 31], "nathaniel": [], "nation": [1, 5], "nativ": [21, 28], "natur": [0, 1, 4, 8, 9, 12, 13, 23, 25, 27, 28, 30, 31], "navier": 12, "navig": [15, 31], "nb": 25, "nb_": 22, "nbconvert": 28, "nd": 14, "ndarrai": 6, "ne": [9, 10, 22, 25, 29, 30], "nearest": [1, 3, 6, 11], "nearli": [13, 30], "neat": 28, "neccesari": [6, 32], "necess": 2, "necessari": [0, 1, 3, 4, 8, 14, 18, 28], "necessarili": [0, 4, 11, 25, 28], "necesserali": 5, "neck": 7, "need": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 22, 25, 29, 30, 31, 32], "neg": [0, 1, 3, 5, 6, 7, 10, 13, 22, 25, 28, 30, 32], "neg_mean_squared_error": [6, 32], "neglect": [25, 31], "neglig": 25, "neighbor": [3, 6, 11], "neither": [4, 13, 31], "neq": [13, 14, 25, 30], "nervou": 12, "nest": [9, 12], "nesterov": 13, "net": [2, 4, 12], "netlib": [22, 28], "network": [0, 9, 13, 21, 27, 29], "neural": [0, 13, 21, 27, 29], "neural_network": [0, 1, 2, 28], "neuralnetwork": 1, "neuron": [1, 2, 3, 4, 12], "neutral": [0, 28], "neutron": [0, 28], "never": [1, 4, 6, 9, 25, 32], "new": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 20, 22, 28, 29, 30, 31], "new_chang": [13, 31], "new_hobbit": 28, "new_ma": [], "newaxi": [0, 3, 6, 9, 32], "newli": [0, 28], "newlin": [], "newton": [1, 7, 8, 13, 25], "next": [0, 1, 2, 3, 4, 5, 6, 8, 9, 13, 14, 15, 16, 28, 29, 30, 31, 32], "next_guess": 13, "next_input": 4, "ng": 1, "ni": 14, "nice": [0, 1, 5, 11, 28, 29, 30], "nicer": [18, 31], "nip": 31, "niter": [13, 30, 31], "nitric": [], "nlambda": [0, 5, 6, 29, 30, 31, 32], "nlp": 27, "nm": 25, "nm_n": [0, 28], "nmse": [6, 32], "nn": [2, 5, 6, 12, 22, 28, 32], "nn_model": 1, "nnmin": 2, "node": [1, 3, 9, 10, 12], "nois": [0, 4, 5, 6, 8, 9, 10, 13, 18, 19, 23, 28, 29, 30, 31, 32], "noise_dimens": 4, "noisi": [1, 6, 23, 31, 32], "nomask": [], "non": [0, 1, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 18, 22, 25, 28, 29, 30, 32], "nondifferenti": 31, "none": [0, 1, 2, 4, 5, 9, 10, 13, 25, 28, 29], "noninfring": [], "nonlinear": [3, 6, 8, 9, 11, 12, 32], "nonneg": [6, 9, 13, 30, 32], "nonparametr": 6, "nonsens": 25, "nonsingular": 22, "nonumb": [3, 7, 8, 13, 22], "nor": [1, 4, 13, 31], "norm": [0, 1, 5, 6, 8, 11, 13, 18, 28, 29, 30, 31, 32], "normal": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 21, 22, 23, 25, 28, 29, 30, 31], "normali": [22, 28], "norwai": [6, 23, 28, 30, 31, 32], "notabl": [], "notat": [0, 2, 5, 6, 13, 14, 25, 28, 29, 30, 32], "note": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 21, 22, 25, 27, 28, 31, 32], "notebook": [0, 1, 3, 9, 15, 16, 19, 20, 21, 23, 28, 32], "noteworthi": 31, "noth": [1, 2, 5, 8, 12, 14, 25, 29, 30], "notic": [4, 5, 12, 13, 22, 25, 28], "notion": 3, "novel": [3, 6, 10, 28], "novemb": [1, 26, 28], "now": [0, 2, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19, 21, 22, 23, 25, 28, 29], "nowadai": [0, 1, 3, 9, 21, 28], "nox": [], "np": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 22, 25, 28, 29, 30, 31, 32], "npm": [], "npr": 2, "nsampl": [6, 32], "nt": 2, "nu": 25, "nuclear": [5, 29, 30], "nuclei": [0, 25, 28], "nucleon": [0, 28], "nucleu": [0, 28], "num": 4, "num_coordin": 2, "num_hidden_neuron": 2, "num_it": [2, 18], "num_neuron": 2, "num_neurons_hidden": 2, "num_point": 2, "num_tre": 10, "num_valu": 2, "number": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 22, 23, 24, 26, 28, 30, 32], "numberid": 7, "numberparamet": 3, "numer": [0, 5, 6, 9, 10, 11, 12, 13, 21, 22, 27, 28, 29, 30, 31, 32], "numpi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 23, 25, 29, 30, 31, 32], "numpydocstr": [], "nunmpi": [5, 29], "nve_frngahw": 30, "nx": 2, "ny": 25, "o": [0, 1, 4, 5, 6, 7, 8, 9, 11, 22, 26, 27, 28, 29, 30, 31, 32], "obei": [6, 11, 13, 29, 31], "object": [0, 1, 4, 8, 10, 15, 19, 22, 28, 31], "obliqu": [5, 29, 30], "observ": [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 25, 28, 30, 31, 32], "obtain": [0, 1, 5, 6, 7, 8, 9, 10, 12, 13, 14, 17, 22, 23, 25, 28, 29, 30, 31, 32], "obviou": [5, 6, 11, 25, 29, 30], "obviouli": 28, "obvious": [0, 4, 5, 6, 22, 28, 32], "oc": [29, 30], "occupi": [], "occur": [0, 6, 8, 9, 22, 25, 28], "octob": [26, 28], "od": 0, "odd": [0, 3, 7, 28, 29, 31], "odenum": 2, "odesi": 2, "oen": 0, "off": [1, 3, 4, 5, 9, 13, 20, 25, 31, 32], "offer": [6, 11, 21, 22, 24, 26, 28, 32], "offic": [26, 28], "offici": [24, 28], "often": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 23, 25, 28, 29, 30, 31, 32], "ofter": [22, 28], "ol": [0, 13, 17, 19, 29, 31], "old": [1, 5, 10, 13, 15, 18], "old_ma": [], "oliph": [], "ols_paramet": 16, "ols_sk": 6, "ols_svd": 6, "olsbeta": 30, "olstheta": [0, 5], "omega": [2, 3, 6], "omega_0": 3, "omit": [0, 5, 28, 29, 30, 32], "onc": [1, 6, 9, 11, 13, 20, 32], "one": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 19, 20, 21, 22, 23, 25, 26, 28, 29, 31, 32], "onehot": 1, "onehot_vector": 1, "onehotencod": 9, "ones": [0, 2, 5, 6, 8, 9, 10, 11, 13, 16, 18, 22, 23, 28, 29, 30, 31, 32], "ones_lik": 4, "ong": 29, "onl": 3, "onli": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23, 25, 28, 29, 30, 31, 32], "onlin": [11, 15, 20, 24, 31], "onto": [5, 11, 29, 30], "open": [0, 1, 4, 6, 7, 9, 15, 21, 23, 24, 26, 28, 32], "oper": [0, 1, 3, 5, 6, 10, 11, 12, 13, 15, 16, 21, 25, 28, 29, 30, 31, 32], "operation": 25, "oplu": 25, "opmiz": [13, 31], "opportun": 0, "oppos": [6, 13], "opposit": [1, 5, 8, 29, 30], "opt": [1, 5, 23, 28, 30], "optim": [0, 2, 3, 4, 5, 6, 7, 9, 10, 11, 14, 16, 17, 19, 23, 32], "optimis": [1, 3], "option": [0, 1, 3, 5, 6, 8, 11, 15, 18, 22, 29, 31, 32], "optmiz": [1, 8, 13, 29], "oral": 28, "orang": 0, "order": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 15, 22, 23, 25, 28, 29, 30, 32], "ordinari": [0, 2, 3, 7, 11, 13, 17, 18, 21, 32], "oreilli": [27, 28], "org": [0, 3, 4, 16, 20, 21, 22, 23, 27, 28, 29, 30, 31], "organ": [6, 7, 10, 22, 32], "orient": [1, 5, 25, 29, 30], "origin": [0, 3, 5, 6, 8, 11, 12, 13, 15, 22, 28, 29, 30, 31, 32], "orthogn": [5, 29, 30], "orthogon": [0, 5, 6, 8, 11, 13, 22, 28, 29, 30], "orthonorm": [5, 29, 30], "os": [26, 28], "oscar": 1, "oscil": [3, 13, 31], "oskar": 28, "oskarlei": 28, "osl": 18, "oslo": [0, 21, 23, 24, 26, 28, 29, 30, 31, 32], "osx": [0, 21, 23, 28], "other": [0, 1, 2, 3, 5, 6, 7, 8, 10, 13, 14, 16, 19, 21, 24, 25, 26, 27, 29, 30, 31, 32], "otherwis": [0, 1, 4, 7, 13, 22, 28, 31], "ouput": [5, 7, 12, 32], "our": [1, 2, 3, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 19, 21, 22, 25, 31, 32], "ourmodel": 0, "ourselv": [0, 5, 6, 8, 11, 13, 28, 29, 30, 32], "out": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 21, 22, 23, 25, 28, 29, 31, 32], "out_fil": 9, "outcom": [0, 7, 9, 10, 12, 25, 29], "outdoor": 9, "outer": [6, 12, 13], "outfil": 4, "outlier": [0, 8, 28, 29, 31], "outlin": [6, 10, 11, 32], "outlook": 9, "outperform": [10, 31], "output": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 22, 23, 25, 28, 29, 30, 31, 32], "output_bia": 1, "output_bias_gradi": 1, "output_shap": 4, "output_weight": 1, "output_weights_gradi": 1, "outputlayer1": 12, "outputlayer2": 12, "outsid": 4, "over": [0, 1, 3, 4, 5, 6, 9, 10, 12, 13, 15, 16, 19, 22, 23, 28, 29, 30, 31, 32], "over1": 13, "overal": [1, 10, 31], "overcast": 9, "overcom": [12, 13], "overdetermin": [0, 28], "overfit": [0, 1, 3, 6, 9, 10, 13, 31, 32], "overflow": [5, 31, 32], "overhead": 12, "overlap": [3, 7, 8, 9], "overleaf": 20, "overlin": [0, 5, 6, 9, 10, 11, 14, 22, 28, 29, 31], "overshoot": 31, "overst": 0, "overtrain": 4, "overview": [3, 20], "own": [4, 5, 6, 8, 12, 13, 16, 18, 21, 22, 30, 31, 32], "owner": [], "ownmsepredict": 0, "ownmsetrain": 0, "ownridgebeta": 29, "ownridgetheta": [0, 6, 29, 30, 31], "ownypredictridg": 0, "ownytilderidg": 0, "ox": [], "oxid": [], "p": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 22, 25, 28, 29, 30, 31, 32], "p0": 2, "p1": 2, "p_": [2, 4, 8, 9], "p_hidden": 2, "p_i": [5, 25], "p_j": 25, "p_n": 25, "p_output": 2, "p_x": 25, "pack": [0, 28], "packag": [0, 1, 3, 4, 5, 8, 11, 13, 15, 20, 21, 23, 25, 29, 30, 31], "packtpub": 28, "packtpublish": 28, "pad": [3, 4], "page": [0, 21, 28, 30, 31, 32], "pai": [0, 1, 9, 13, 15, 31], "pair": [0, 2, 3, 9, 21, 25, 28], "paltform": 15, "panda": [0, 4, 5, 6, 7, 9, 11, 21, 23, 30, 31, 32], "pandoc": [], "panel": 28, "paper": [1, 31], "paper_fil": 31, "paradigm": [0, 28], "paragraph": 20, "parallel": [10, 13, 21, 22, 28], "param": 2, "paramat": 2, "paramet": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 16, 17, 18, 19, 23, 25, 30, 31, 32], "parameter": [0, 6, 10, 28, 29], "parametr": [0, 6, 28, 29, 32], "paramt": [3, 5, 32], "parser": [], "part": [0, 1, 3, 5, 6, 10, 17, 19, 20, 22, 24, 25, 26, 28, 29, 32], "partial": [0, 1, 5, 6, 7, 8, 10, 11, 12, 13, 16, 25, 28, 29, 30, 31], "particip": [15, 21, 24, 26, 28], "particl": [0, 4, 13, 25, 28], "particular": [0, 1, 2, 3, 5, 6, 9, 10, 11, 12, 13, 16, 23, 25, 27, 28, 29, 30, 31, 32], "particularli": [5, 6, 8, 11, 13, 25, 29, 30, 31, 32], "partit": [1, 4, 9], "partli": [6, 28], "partner": 15, "pass": [2, 3, 12, 14, 31], "password": 23, "past": [10, 25, 31], "patch": [6, 25, 32], "path": [0, 4, 6, 7, 9, 21, 28, 31, 32], "pathcollect": 17, "patholog": [], "patient": 7, "patter": 4, "pattern": [0, 3, 4, 12, 27, 28, 31], "paul": [], "pauli": [0, 28], "pav": [], "pc": [11, 15, 21], "pca": [0, 7, 21, 28, 29], "pd": [0, 4, 5, 6, 7, 9, 11, 28, 29, 30, 31, 32], "pde": 2, "pdf": [0, 3, 4, 5, 6, 9, 15, 16, 19, 20, 23, 27, 28, 32], "pedagog": [0, 28, 29], "penal": [6, 18, 29, 31], "penalti": [6, 13, 18, 23, 29, 31], "penros": [5, 6], "pentagon": [13, 30], "peopl": [1, 9, 13, 21, 31], "per": [0, 1, 6, 24, 26, 28, 31, 32], "percentag": [10, 11, 26], "perceptron": [0, 1, 7, 28], "peregrin": 28, "perez": [], "perfect": [0, 1, 13, 28, 31], "perfectli": [4, 6, 32], "perform": [0, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 16, 18, 19, 21, 22, 23, 25, 28, 29, 30, 31, 32], "performac": 4, "perhap": [0, 5, 13, 28, 29, 30, 31], "perimet": 1, "period": [1, 4, 25], "permiss": 15, "permit": [], "permut": 11, "persist": 13, "person": [5, 6, 7, 16, 20, 24, 26, 28, 29], "perspect": 27, "pertin": [12, 28], "petal": [8, 9], "peter": [27, 29], "phantom": 25, "phase": [6, 12], "phenomena": 25, "phenomenon": 31, "phi": 8, "phi_k": 8, "philipp": [], "philosophi": 13, "phone": [26, 28], "photo": [4, 28], "php": 23, "phrase": [0, 28], "physic": [0, 1, 4, 7, 12, 13, 25, 26, 27, 28, 29, 30, 31, 32], "pi": [2, 3, 5, 6, 7, 9, 12, 13, 25, 32], "pick": [1, 9, 10, 11, 13, 14, 31], "pickl": 1, "pictur": [0, 28], "pie": [21, 28], "piec": [11, 14], "pierr": [], "pillow": [0, 21, 23, 28], "pinv": [5, 6, 13, 23, 29, 30, 31], "pip": [0, 1, 15, 21, 23, 28], "pip3": [0, 1, 23, 28], "pipelin": [0, 6, 8, 10, 29, 32], "pippin": 28, "pit": 4, "pitfal": [6, 29], "pitt": 12, "pixel": [1, 3, 4, 28], "pixel_height": [1, 3], "pixel_width": [1, 3], "pkg_resourc": [], "pkgutil": [], "place": [0, 4, 6, 8, 13, 15, 22, 23, 28, 30, 32], "plai": [0, 3, 4, 5, 6, 8, 11, 18, 21, 23, 28, 29, 30, 32], "plain": [8, 10, 12, 13, 14, 30, 31], "plan": [6, 9, 26, 27, 28], "plane": [8, 9], "plateau": [5, 30, 31], "platform": [21, 28], "plausibl": 12, "pleas": [13, 23, 26, 28], "plenti": 1, "plethora": [3, 12], "plot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 20, 21, 22, 23, 25, 28, 29, 30, 31], "plot_all_sc": [23, 29], "plot_confusion_matrix": [7, 10], "plot_count": 6, "plot_cumulative_gain": [7, 10], "plot_data": 1, "plot_dataset": 8, "plot_decision_boundari": [9, 10], "plot_import": 10, "plot_max": 4, "plot_min": 4, "plot_model": 4, "plot_numb": 4, "plot_predict": 8, "plot_regression_predict": 9, "plot_result": 4, "plot_roc": [7, 10], "plot_surfac": [2, 6, 13], "plot_train": 9, "plot_tre": [9, 10], "plt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 22, 25, 28, 29, 30, 31, 32], "plu": [0, 3, 5, 7, 18, 28, 29], "plugin": [], "pm": [8, 32], "pmatrix": 2, "pml": 27, "pn": 3, "png": [0, 4, 6, 7, 9, 28, 32], "point": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 18, 19, 20, 22, 23, 25, 26, 28, 29, 30, 31, 32], "point_1": 4, "point_2": 4, "poisson": [21, 25, 28], "poli": [6, 8, 32], "poly100_kernel_svm_clf": 8, "poly3": 0, "poly3_plot": 0, "poly_featur": [8, 9, 15], "poly_features10": 9, "poly_fit": 9, "poly_fit10": 9, "poly_kernel_svm_clf": 8, "poly_model": 15, "poly_ms": 15, "poly_predict": 15, "polydegre": [0, 5, 6, 10, 29, 32], "polygon": [13, 30], "polym": 12, "polymi": 23, "polynomi": [0, 5, 6, 7, 8, 9, 10, 11, 15, 17, 19, 20, 23, 28, 29, 31, 32], "polynomial_featur": [6, 15, 16, 17, 32], "polynomial_svm_clf": 8, "polynomialfeatur": [0, 6, 8, 9, 15, 16, 19, 29, 32], "polytrop": [0, 6, 32], "pool": 3, "pool_siz": 3, "poor": [1, 13, 30, 31], "poorli": [0, 29], "popul": [0, 5, 28, 29], "popular": [0, 1, 3, 6, 7, 8, 9, 11, 12, 15, 21, 22, 23, 25, 29], "popularli": [0, 28], "portabl": 10, "portion": [11, 13, 31], "pose": [0, 4, 5, 6, 11, 25, 28, 32], "posit": [0, 1, 2, 3, 5, 7, 8, 10, 11, 13, 14, 22, 25, 28, 29, 30, 31], "possibl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32], "possibli": [6, 8, 13, 23], "post": [], "posterior": 5, "postpon": [0, 29], "postscript": 23, "postul": 5, "potenti": [0, 3, 5, 6, 12, 13, 29, 31, 32], "pott": 12, "power": [0, 1, 5, 6, 8, 9, 12, 13, 28, 29, 30, 31, 32], "pp": [5, 6, 19, 32], "practic": [0, 5, 6, 7, 8, 16, 18, 19, 23, 25, 29, 32], "practition": [0, 1, 3, 28, 31], "pre": 28, "preambl": [], "preced": [1, 11, 12, 25], "preceed": 4, "preceq": 8, "precis": [0, 2, 5, 11, 13, 22, 23, 25, 28, 29, 31, 32], "pred": [6, 32], "predicit": 0, "predict": [0, 1, 5, 6, 7, 8, 9, 10, 15, 16, 17, 19, 21, 23, 27, 28, 29, 30, 31, 32], "predict_prob": 1, "predict_proba": [7, 10], "predictor": [0, 5, 6, 7, 9, 10, 11, 28, 29, 31], "prefer": [0, 1, 6, 8, 9, 11, 13, 15, 20, 21, 23, 28], "prefil": [], "prepar": [0, 6, 22, 23, 28, 29], "preprocess": [0, 4, 6, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 23, 32], "prerequisit": 0, "prescript": 23, "presenc": 13, "present": [0, 5, 6, 7, 9, 12, 13, 22, 23, 25, 28, 29, 30, 31], "preserv": [3, 11, 22], "press": [13, 15, 27, 30], "pretrain": [1, 4], "pretti": [0, 4, 8, 9, 21, 23, 28], "prettier": [], "prev_centroid": 14, "prevent": [13, 25, 31], "previou": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 15, 16, 22, 23, 25, 29, 30, 31], "previous": [2, 3, 9, 10, 25], "price": [0, 4, 9, 13, 31], "primal": 8, "primari": [0, 7, 28], "prime": 25, "princip": [0, 5, 7, 21, 28, 29, 30], "principl": [0, 6, 7, 8, 14, 28, 32], "print": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 18, 22, 25, 28, 29, 30, 31, 32], "print_funct": [8, 9], "printout": [0, 28], "prior": [0, 5, 6, 28], "privat": 0, "prob": [1, 25], "probabilist": [0, 27, 28, 29], "probabl": [0, 1, 3, 4, 6, 7, 10, 13, 21, 28, 29, 31], "problem": [0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 17, 19, 21, 22, 23, 25, 32], "probml": 27, "proce": [0, 5, 6, 7, 8, 9, 10, 11, 13, 22, 28, 29, 32], "procedur": [2, 4, 5, 6, 8, 10, 11, 13, 29, 30, 31, 32], "proceed": 22, "process": [0, 2, 4, 6, 9, 10, 12, 13, 21, 22, 23, 25, 27, 28, 30, 31, 32], "procur": [], "prod": 27, "prod_": [1, 5, 7, 32], "produc": [0, 3, 4, 5, 6, 9, 10, 11, 12, 13, 18, 20, 21, 22, 25, 28, 29, 32], "product": [0, 1, 3, 5, 6, 7, 8, 12, 13, 16, 17, 21, 22, 28, 29, 31, 32], "profess": [0, 28], "profit": [], "program": [0, 1, 4, 5, 6, 8, 12, 14, 15, 21, 22, 24, 25, 26, 28, 29], "programm": 22, "progress": [1, 4, 14, 31], "prohibit": [6, 32], "project": [0, 1, 2, 3, 5, 11, 13, 15, 19, 21, 24, 29, 30, 31, 32], "project_root_dir": [0, 6, 7, 9, 28, 32], "promin": 12, "promis": 8, "promot": [26, 28], "prompt": 20, "prone": [9, 15], "pronounc": [13, 21, 28, 31], "proof": [0, 11, 12, 13, 28, 30, 32], "prop": 31, "prop_cycl": [], "propag": [2, 3, 13, 31], "proper": [0, 2, 6, 7, 20, 32], "properli": [1, 6, 8, 10, 13, 18, 20, 23, 31], "properti": [0, 1, 3, 12, 13, 16, 22, 28, 32], "proport": [0, 1, 5, 9, 11, 13, 25, 28, 29], "propos": [1, 4, 6, 10, 23, 28, 31], "propto": [5, 13, 30, 31], "proton": [0, 28], "prove": [3, 13, 30, 31], "provid": [0, 1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 20, 21, 22, 23, 25, 28, 29, 30, 31, 32], "proxi": [1, 13, 31], "prune": 9, "pseudo": [22, 25, 31], "pseudocod": 23, "pseudoinv": 5, "pseudoinvers": [5, 6, 23], "pseudorandom": [6, 25, 32], "psychologi": [0, 28], "pt": 13, "public": [0, 15, 21, 28], "publish": [], "pull": 15, "punish": [0, 1, 28], "pure": [3, 9, 25], "purest": 9, "puriti": 9, "purpos": [0, 3, 10, 12, 14, 28], "push": 15, "put": [1, 20, 31], "putmask": [], "py": 5, "pybtex": [], "pycod": 28, "pydata": 21, "pydevd_extension_api": [], "pydevd_plugin": [], "pydevd_plugin_plugin_nam": [], "pydot": 9, "pygment": [], "pyhton2": 28, "pylab": [7, 28], "pypi": 21, "pyplot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 22, 25, 28, 29, 30, 31, 32], "pythagora": 5, "python": [1, 2, 3, 5, 6, 8, 11, 12, 13, 14, 18, 20, 23, 25, 29, 31], "python2": [0, 23], "python3": [0, 21, 23, 28], "pythonpath": [], "pytorch": [0, 21, 23, 28], "pyzmq": [], "q": [5, 6, 8, 11, 25, 32], "qp": 8, "qquad": [2, 11, 13, 22, 31], "qr": [5, 6, 22, 29, 30], "quad": [1, 13, 22], "quadrat": [0, 8, 9, 13, 28], "qualit": [4, 9, 23, 25], "qualiti": [0, 9, 21, 28, 29], "quantifi": 1, "quantil": 10, "quantit": [0, 6, 9, 23, 28, 32], "quantiti": [0, 2, 5, 6, 7, 9, 10, 11, 12, 14, 16, 22, 25, 28, 29, 30, 31, 32], "quantum": [4, 12, 27, 28], "quartil": [0, 29, 31], "quench": 5, "queri": 9, "question": [0, 5, 6, 9, 11, 12, 13, 23, 26, 28, 29, 31, 32], "qugan": 4, "quick": [4, 25], "quicker": 31, "quickli": [1, 3, 9, 11, 13, 30, 31], "quit": [1, 5, 6, 9, 10, 12, 15, 29, 30, 32], "quot": 4, "r": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 21, 22, 23, 25, 29, 30, 31, 32], "r2": [0, 5, 6, 19, 28, 29, 30], "r2_score": [0, 28], "r2score": [0, 28], "r_": 31, "r_0": 31, "r_1": 9, "r_2": 9, "r_j": 9, "r_m": 9, "r_t": 31, "rad": [], "rade": [], "radial": [8, 12], "radioact": 25, "radiu": [0, 1, 29, 31], "radziej": [], "ragan": [], "rain": 9, "rais": [], "ram": 31, "ramanujam": [], "ramp": 1, "ran0": 25, "ran1": 25, "ran2": 25, "ran3": 25, "rand": [0, 4, 5, 6, 9, 10, 13, 15, 19, 22, 28, 29, 30, 31, 32], "randint": [6, 9, 13, 31, 32], "randn": [0, 1, 2, 5, 6, 9, 11, 13, 15, 18, 28, 29, 30, 31, 32], "random": [0, 1, 2, 3, 4, 5, 6, 8, 9, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 28, 29, 30, 31, 32], "random_forest_model": 10, "random_index": [13, 31], "random_indic": [1, 3], "random_st": [7, 8, 9, 10, 11], "randomforestclassifi": 10, "randomli": [1, 6, 9, 13, 14, 18, 30, 31, 32], "rang": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 18, 19, 22, 25, 28, 29, 30, 31, 32], "rangl": [0, 6, 11, 25, 28, 29], "rangle_x": 25, "rank": [5, 29, 30], "rankdir": 4, "raphson": [1, 8, 13], "rapidli": [0, 31], "rare": [1, 13, 31], "raschka": [28, 29, 32], "rasckha": 28, "rashcka": [30, 31], "rate": [1, 2, 3, 4, 8, 9, 10, 12, 13, 18, 30, 32], "rather": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 22, 25, 28, 29, 30, 32], "ratio": [4, 7, 9, 10, 11], "rational": [0, 28], "ravel": [5, 6, 7, 8, 9, 10, 11, 13, 22, 32], "raw": [3, 31], "rbf": [8, 11, 12], "rbf_kernel_svm_clf": 8, "rbf_pca": 11, "rc": 25, "rcond": [0, 28, 29], "rcparam": [1, 3, 7, 8, 9, 10, 25, 28], "re": [2, 4, 13, 15, 30], "reach": [1, 4, 5, 6, 9, 10, 12, 13, 14, 30, 31, 32], "react": [], "read": [0, 2, 3, 4, 5, 6, 7, 8, 11, 12, 16, 17, 19, 20, 22, 23, 25, 27, 30], "read_csv": [0, 6, 7, 9, 32], "read_fwf": [0, 28], "reader": [0, 6, 20, 22, 25, 28, 29, 31], "readi": [0, 1, 5, 6, 8, 10, 11, 12, 22, 28], "readili": 1, "readm": [15, 20], "readthedoc": 21, "real": [0, 1, 4, 7, 10, 11, 12, 16, 18, 19, 22, 29, 32], "real_loss": 4, "real_output": 4, "realist": [8, 28], "realiti": 25, "realiz": [1, 12], "realli": [0, 1, 28], "rearrang": 13, "reason": [0, 1, 3, 4, 10, 13, 27, 28, 30, 31], "reassign": 1, "recal": [5, 6, 9, 10, 11, 12, 22, 25, 28, 29, 30, 31, 32], "recarrai": [], "recast": 3, "receiv": [1, 3, 10, 12, 25], "recent": [0, 6, 13, 27, 31, 32], "recept": [3, 12], "receptive_field": 3, "recip": [0, 6, 7, 22, 23, 28, 29], "reciproc": 5, "recogn": [0, 4, 5, 10, 28, 32], "recognit": [0, 1, 3, 12, 27, 28], "recommen": 28, "recommend": [0, 2, 3, 4, 5, 6, 8, 13, 15, 19, 20, 21, 22, 23, 27, 30, 31, 32], "reconsid": 9, "reconstruct": 11, "record": [10, 23, 24, 26, 28], "recreat": 15, "rectangl": [9, 13, 30], "rectangular": [5, 29, 30], "rectifi": [1, 3, 12], "recur": [0, 21, 28], "recurr": [0, 1, 21, 28], "recurs": [9, 21, 22, 28], "red": [0, 3, 4, 6, 8, 9, 31, 32], "redefin": [0, 10, 28, 29, 30], "redefinit": 30, "redistribut": [], "reduc": [1, 3, 5, 6, 9, 10, 11, 13, 28, 30, 31, 32], "reduct": [0, 10, 11, 21, 25, 28, 29], "reegress": 23, "ref": 20, "refer": [0, 1, 2, 3, 5, 6, 11, 12, 13, 14, 20, 22, 27, 28, 29, 30, 31, 32], "referansestil": 20, "referenc": 2, "refin": 12, "refit": [6, 32], "reflect": [0, 1, 4, 5, 23, 25, 28], "refresh": [21, 28], "refreshprogrammingskil": 28, "reg": [10, 11], "regard": [1, 9, 13], "regardless": [12, 16], "regexp": [], "reggi": [], "regim": 31, "region": [3, 4, 6, 9, 12, 23, 31], "regist": [6, 25], "reglasso": [5, 30], "regr_1": [0, 9], "regr_2": [0, 9], "regr_3": [0, 9], "regress": [1, 8, 11, 12, 16, 20, 21, 22], "regressor": [0, 7, 10], "regret": [], "regridg": [0, 5, 6, 29, 30, 31], "regular": [0, 3, 4, 5, 6, 7, 9, 13, 17, 18, 26, 28, 29, 30, 31, 32], "regularli": 15, "reilli": [0, 27, 28], "reinforc": [0, 8, 21, 28], "reiter": 1, "reitz": [], "reject": 7, "rel": [0, 4, 6, 7, 9, 12, 13, 25, 28, 29, 31, 32], "relat": [0, 1, 3, 4, 5, 11, 13, 14, 19, 22, 25, 28, 29, 30, 32], "relationship": [0, 4, 9, 18, 28], "relativeerror": [0, 28, 29], "releas": [1, 21, 28], "relev": [0, 1, 5, 7, 11, 21, 23, 25, 28, 30, 31], "reli": [0, 6, 8, 31], "reliabilti": 23, "reliabl": [7, 25], "relu": [3, 4, 28], "remain": [1, 2, 4, 6, 12, 22, 25, 29, 31, 32], "remaind": 25, "reman": 2, "remark": 1, "rememb": [0, 8, 13, 20, 22, 23, 28, 31], "remind": [0, 5, 11, 13, 19, 22, 25, 32], "remot": 15, "remov": [4, 5, 6, 18, 29, 30, 31], "renam": 15, "render": [0, 28, 29], "reorder": [5, 7, 29, 30], "reorgan": [0, 28], "repeat": [0, 1, 3, 4, 5, 6, 9, 10, 11, 13, 14, 22, 23, 25, 28, 29, 30, 31, 32], "repeated": 28, "repeatedli": [0, 6, 10, 13, 32], "repet": 3, "repetit": [6, 28, 29, 32], "rephras": [13, 30], "replac": [0, 1, 3, 4, 5, 6, 10, 12, 14, 21, 23, 28, 29, 30, 32], "replica": [6, 32], "repo": [15, 23], "report": [28, 31], "repositori": [4, 20, 23, 28], "reposotori": [], "repres": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 23, 25, 28, 29, 30, 31, 32], "represent": [0, 1, 3, 6, 25, 28, 32], "representd": 3, "reproduc": [0, 5, 6, 9, 12, 15, 16, 18, 20, 21, 25, 28, 29], "repuls": [0, 28], "request": [0, 13, 31], "requir": [0, 1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 15, 17, 18, 19, 20, 22, 28, 29, 30, 31, 32], "res1": 2, "res2": 2, "res3": 2, "res_analyt": 2, "res_analytical1": 2, "res_analytical2": 2, "res_analytical3": 2, "resaml": 6, "resampl": [0, 7, 10, 21, 28, 29], "rescal": [0, 11, 12, 31], "rescu": 5, "reseach": 6, "research": [0, 4, 13, 21, 27, 28, 31], "resembl": [6, 25, 32], "reserv": [1, 5, 6, 25, 32], "reshap": [0, 1, 2, 3, 4, 6, 8, 9, 10, 22, 28, 29, 32], "resid": 31, "residenti": [], "residu": [0, 5, 13, 28], "resiz": [5, 29, 30], "resnet": 31, "resort": 31, "resourc": [28, 31], "respect": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 23, 25, 28, 29, 30, 31, 32], "respond": 12, "respons": [0, 7, 9, 12, 28, 29], "rest": [0, 5, 18, 29, 30, 31], "restat": [0, 12, 28], "restor": 4, "restored_discrimin": 4, "restored_gener": 4, "restrict": [0, 3, 9, 12, 28], "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 28, 31, 32], "retail": [], "retain": [5, 6, 29, 30, 31, 32], "rethink": 32, "return": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 22, 25, 28, 29, 30, 31, 32], "return_data": 14, "return_sequ": 4, "return_x_i": 9, "reus": [1, 3, 6, 19, 20, 23], "reveal": [0, 12, 28], "revers": [1, 22], "review": [21, 22], "revis": [], "revisit": 14, "revolut": 28, "reward": [0, 4, 28], "rewrit": [0, 3, 5, 6, 7, 8, 10, 11, 12, 13, 16, 19, 22, 23, 25, 30, 31], "rewritten": [2, 6, 8, 10, 25, 32], "rewrot": 13, "rf": 10, "rgb": 3, "rgoj5yh7evk": 21, "rh": [6, 32], "rho": [0, 10, 13, 31], "rho_1": 10, "rho_2": 10, "rho_m": 10, "rich": [0, 28], "rid": [], "ride": 9, "rideclass": 9, "ridedata": 9, "ridg": [7, 11, 13, 20, 21, 28, 32], "ridge_paramet": 17, "ridge_sk": 6, "ridgebeta": 30, "ridgetheta": 5, "right": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17, 19, 22, 23, 25, 28, 29, 30, 31, 32], "right_sid": 2, "rightarrow": [0, 1, 5, 6, 8, 11, 12, 13, 25, 28, 29, 30, 31, 32], "rigor": [0, 28, 29, 30], "ring": 6, "rise": [0, 28], "risk": [0, 13, 28, 30, 31], "rival": 4, "river": [], "rlm": 28, "rm": [25, 31], "rmse": [], "rmsporp": [13, 31], "rmsprop": [1, 3, 4, 13, 23, 32], "rnd_clf": 10, "rng": 25, "rnn": [4, 12], "rnn1": 4, "rnn2": 4, "rnn_2layer": 4, "rnn_input": 4, "rnn_output": 4, "rnn_train": 4, "rntrick1": 25, "rntrick2": 25, "rntrick3": 25, "rntrick4": 25, "ro": [0, 13, 28, 30, 31], "robert": [19, 23, 27], "robust": [0, 28, 31], "robustscal": [0, 29, 31], "roc": [7, 10], "role": [0, 2, 5, 6, 8, 18, 21, 23, 28, 29, 30, 31, 32], "roll": 6, "ronach": [], "room": [0, 26, 28], "root": [0, 5, 9, 13, 15, 25, 29, 30, 31], "root_directori": [], "rot": 28, "rotat": [1, 8, 9, 10], "rotation_matrix": 9, "roughli": [1, 3, 18], "round": [7, 9, 13], "routin": [13, 22, 28, 30], "row": [0, 1, 2, 5, 6, 9, 11, 16, 22, 28, 29, 30, 32], "rr": [5, 29, 30], "rrr": [5, 29, 30], "rubric": [], "rudg": [], "rug": [13, 30, 31], "rule": [0, 1, 5, 6, 13, 23, 28, 29, 30], "run": [0, 1, 2, 4, 5, 6, 8, 9, 11, 13, 15, 20, 21, 23, 28, 29, 30, 31, 32], "runtim": [1, 6, 14, 15], "rust": [0, 21, 22, 28], "rvert": 1, "rvert_2": 1, "s_": [3, 6], "s_1": 6, "s_i": [6, 7], "s_j": 6, "s_k": 6, "s_phenomenon": 23, "saddl": [13, 30, 31], "safeguard": [18, 31], "sai": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 19, 22, 23, 25, 28, 29, 30, 31, 32], "said": [6, 9, 13, 30], "sake": [0, 5, 7, 11, 28, 29, 30], "sale": [0, 28], "sam": 28, "same": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 14, 15, 16, 18, 20, 22, 23, 25, 28, 29, 30], "samm": 10, "sampl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 18, 19, 21, 22, 23, 25, 28, 29, 31, 32], "sample_vari": 14, "sampleexptvari": 25, "samwis": 28, "sandbox": [], "sasha": [], "sastri": 11, "satisfactori": [0, 28], "satisfi": [1, 2, 3, 6, 8, 13, 22, 25, 30, 32], "satur": [1, 6, 32], "save": [0, 4, 6, 7, 9, 13, 20, 28, 31, 32], "save_fig": [0, 6, 7, 9, 10, 28, 32], "savefig": [0, 4, 6, 7, 9, 25, 28, 32], "savetxt": 4, "saw": [5, 29], "scalabl": 10, "scalar": [2, 5, 6, 10, 29, 32], "scale": [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 21, 22, 23, 26, 28, 30], "scale_mean": 4, "scale_std": 4, "scaler": [0, 7, 8, 9, 10, 11, 17, 23, 29], "scan": [5, 7], "scari": 5, "scatter": [0, 1, 6, 7, 8, 9, 14, 15, 17, 28, 29, 31, 32], "scenario": [6, 13, 30, 31], "schedul": [13, 31], "scheme": [1, 13, 30, 31], "schrage": 25, "sch\u00f8yen": [6, 29, 31], "scienc": [0, 1, 10, 12, 13, 21, 24, 25, 26, 27, 30, 32], "scientif": [0, 20, 21, 23, 28], "scientist": [0, 28], "scikit": [3, 5, 6, 8, 9, 10, 13, 15, 16, 20, 21, 22, 23, 27], "scikit_learn": 0, "scikitlearn": 28, "scikitplot": [7, 10], "scipi": [0, 3, 5, 6, 13, 21, 22, 23, 28, 29, 30, 32], "scl": 6, "scm": 15, "score": [0, 1, 3, 6, 7, 9, 10, 11, 15, 16, 19, 23, 26, 28, 29, 31, 32], "scores_kfold": [6, 32], "scratch": [1, 13, 16], "script": [], "sdg": [13, 31], "sdv4f4s2sb8": [30, 31], "seaborn": [0, 1, 3, 6, 7, 28], "seamless": [0, 21, 23, 28], "search": [0, 1, 3, 5, 9, 13, 15, 28, 30, 31], "sebastian": 28, "sebastianraschka": 28, "sec": 6, "second": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 15, 16, 20, 21, 22, 25, 26, 28, 29, 30, 32], "second_mo": 31, "second_term": 31, "secondari": 31, "secondeigvector": 11, "secondli": 12, "section": [4, 11, 16, 20, 22, 23, 25, 29, 31], "sector": 0, "see": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 23, 25, 28, 29, 30, 31, 32], "seed": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 18, 20, 25, 28, 29, 30, 31, 32], "seed_imag": 4, "seek": [1, 2, 8], "seem": [1, 3, 4, 31], "seemingli": [0, 28], "seen": [0, 1, 3, 5, 10, 12, 25], "segment": [13, 30], "seismic": 6, "seldomli": [0, 28], "select": [1, 5, 6, 8, 9, 10, 11, 15, 20, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32], "selevet": 15, "self": [1, 5, 29], "sell": 4, "semest": [7, 24], "semi": [8, 13, 30, 31], "semilogx": 6, "send": [5, 12, 13, 26, 28], "senior": [24, 26], "sens": [0, 4, 6, 8, 28, 32], "sensibl": 3, "sensit": [0, 5, 6, 9, 13, 28, 29, 31, 32], "sent": 2, "sentenc": [4, 12], "separ": [0, 1, 2, 4, 6, 8, 9, 12, 14, 18, 21, 23, 25, 28, 31, 32], "septemb": [18, 23, 28], "sequenc": [3, 4, 7, 9, 10, 12, 13, 21, 22, 25, 28, 30], "sequenti": [1, 3, 4, 10, 12, 25], "seri": [0, 1, 2, 3, 4, 5, 6, 10, 11, 12, 13, 22, 28, 29, 30, 32], "serif": [7, 25, 28], "serv": [0, 1, 2, 3, 5, 7, 13, 27, 28, 29, 30, 31], "servic": 23, "session": [1, 15, 20, 23, 24, 26, 28], "set": [1, 4, 5, 6, 7, 8, 10, 11, 13, 14, 16, 17, 18, 21, 22, 23, 25, 26, 31, 32], "set_major_formatt": 6, "set_major_loc": 6, "set_tick": [1, 8], "set_ticklabel": 1, "set_titl": [0, 1, 2, 3, 7, 12, 14, 28], "set_xlabel": [0, 1, 2, 3, 7, 12, 28], "set_xlim": [7, 12], "set_xticklabel": 1, "set_ylabel": [0, 1, 2, 3, 7, 28], "set_ylim": [7, 12], "set_ytick": 7, "set_yticklabel": [1, 6], "set_zlim": 6, "seth": 4, "setminu": 6, "setosa": [8, 9], "setosa_or_versicolor": 8, "setp": [6, 32], "setup": [1, 4, 6, 8, 21, 28, 29, 30], "sever": [0, 3, 5, 6, 7, 8, 9, 11, 12, 13, 16, 21, 22, 23, 25, 28, 29, 30, 31, 32], "sgd": [1, 3, 30], "sgd_clf": 8, "sgdclassifi": 8, "sgdreg": 13, "sgdregressor": 13, "sgn": [5, 29, 30], "shall": [], "shallow": [13, 31], "shape": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 22, 28, 29, 30, 31, 32], "share": [1, 3, 15, 28], "share_mask": [], "shareabl": 15, "she": 7, "sheppard": [], "shibukawa": [], "shift": [1, 6, 12, 15, 18, 25, 29, 31], "ship": 3, "shire": 28, "short": [4, 5, 20, 23], "shortcom": [13, 30, 31], "shorten": 4, "shorter": 25, "shorthand": [28, 32], "shortli": [22, 28], "should": [0, 2, 3, 5, 6, 8, 9, 11, 12, 15, 18, 19, 20, 22, 23, 25, 28, 29, 31, 32], "shouldn": [], "show": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 23, 25, 28, 29, 30, 31, 32], "show_shap": 4, "shown": [0, 4, 5, 8, 12, 13, 22, 29, 30, 31], "shrink": [3, 5, 6, 8, 11, 29, 30, 31], "shrinkag": [5, 6, 29, 30], "shrunk": 11, "shuffl": [0, 1, 4, 6, 13, 29, 31, 32], "side": [0, 2, 5, 8, 12, 13, 22, 23, 28, 30], "sigh": [21, 28], "sigma": [0, 1, 5, 6, 7, 10, 11, 12, 13, 19, 22, 23, 25, 28, 29, 30, 31, 32], "sigma0": 25, "sigma1": 25, "sigma2": 25, "sigma_": [5, 22, 28, 29, 30, 32], "sigma_0": [5, 29, 30], "sigma_1": [5, 29, 30], "sigma_2": [5, 29, 30], "sigma_fn": [7, 12], "sigma_i": [0, 5, 28, 29, 30], "sigma_j": [5, 29, 30], "sigma_m": [6, 25, 32], "sigma_n": [11, 25], "sigma_t": 13, "sigma_x": 25, "sigmoid": [1, 2, 4, 7, 8, 10, 12], "sigmundson": [6, 29, 31], "sign": [1, 2, 7, 8, 10, 25, 26], "signal": [1, 3, 10, 12, 31], "signifi": 4, "signific": [1, 31], "significantli": [1, 13, 18, 25, 30, 31], "sim": [4, 5, 6, 13, 19, 25, 32], "similar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 18, 21, 22, 23, 28, 30, 32], "similarli": [0, 1, 3, 5, 8, 10, 13, 25, 28, 29, 30, 31], "simpl": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 14, 16, 17, 21, 22, 25, 32], "simple_plot": [], "simplepredict": 10, "simpler": [0, 1, 5, 6, 7, 13, 16, 21, 23, 28, 30, 31], "simplernn": 4, "simplest": [0, 1, 3, 4, 9, 10, 12, 14, 23, 28], "simpletre": 10, "simpli": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 12, 21, 22, 23, 25, 28, 29, 30, 31, 32], "simplic": [2, 5, 6, 7, 8, 9, 10, 11, 12, 14, 29, 30, 31], "simplicti": [5, 29, 30], "simplifi": [0, 6, 9, 18, 21, 23, 28, 29, 31, 32], "simplist": [3, 6, 25, 32], "simul": [6, 18, 31, 32], "simultan": [6, 31, 32], "sin": [0, 1, 2, 3, 4, 9, 12, 13, 22, 28], "sinc": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 16, 18, 22, 23, 25, 27, 28, 29, 30, 31, 32], "sine": [3, 12], "singl": [0, 1, 2, 3, 5, 6, 7, 8, 9, 12, 13, 18, 19, 22, 25, 28, 29, 30, 31, 32], "singular": [0, 6, 13, 22, 28, 32], "sinusoid": 3, "site": [0, 23, 24, 29], "situat": [0, 4, 5, 7, 13, 25, 28, 29, 30, 31], "six": [3, 25], "size": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 18, 20, 22, 23, 25, 28, 32], "sizesp": 31, "sketch": 10, "ski": 9, "skill": 0, "skip": 11, "skl": [0, 6, 28, 29, 31], "sklearn": [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 19, 20, 28, 29, 30, 31, 32], "skplt": [7, 10], "sl": [6, 29, 31], "slack": 8, "slender": [], "slice": [2, 22, 28], "slide": [0, 3, 16, 23, 25, 28, 29, 30], "slight": [6, 13, 32], "slightli": [1, 2, 3, 5, 6, 7, 10, 25, 29, 30, 32], "slope": [8, 11, 12], "slow": [0, 2, 8, 13, 18, 29, 30, 31], "slower": [5, 22, 28, 29, 30, 31], "slowest": 22, "slowli": [12, 31], "slp": 1, "small": [0, 1, 2, 3, 5, 6, 8, 9, 10, 11, 12, 13, 18, 21, 22, 25, 28, 29, 30, 31, 32], "smaller": [0, 1, 2, 5, 6, 8, 9, 11, 13, 25, 28, 29, 30, 31, 32], "smallest": [0, 4, 14, 28], "smallest_row_index": 14, "smodin": [], "smooth": [0, 3, 6, 13, 23, 28, 30, 31], "smoother": 31, "sn": [0, 1, 3, 6, 7, 28], "sne": 11, "so": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32], "soar": 6, "social": 0, "soft": [1, 7, 10, 12], "soften": 8, "softmax": [3, 7], "softwar": [0, 8, 21, 22], "sokogskriv": 20, "sol": 8, "sole": [0, 6, 28], "solid": [0, 7], "solut": [0, 1, 2, 3, 5, 6, 8, 10, 11, 13, 18, 22, 23, 25, 28, 29, 30, 31, 32], "solution_ev": 31, "soluton": 2, "solv": [0, 1, 3, 5, 6, 8, 10, 11, 12, 13, 16, 22, 23, 28, 29], "solve_expdec": 2, "solve_ode_deep_neural_network": 2, "solve_ode_neural_network": 2, "solve_pde_deep_neural_network": 2, "solveod": 2, "solveode_popul": 2, "solver": [2, 7, 8, 9, 10, 22, 28], "some": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 18, 19, 23, 25, 28, 31, 32], "some_model": [6, 29, 31], "somehow": 4, "someon": 16, "someth": [0, 1, 3, 4, 7, 9, 11, 15, 19, 20, 23, 25, 28, 29], "sometim": [0, 1, 11, 12, 13, 14, 19, 29, 31], "soon": [22, 26, 29], "sophist": [0, 28], "sopt": 13, "sort": [5, 6, 9, 11, 25, 32], "sound": [3, 5], "sourc": [0, 1, 3, 6, 21, 22, 23, 25, 28, 31, 32], "space": [0, 1, 4, 5, 8, 9, 11, 12, 13, 14, 25, 29, 30, 31], "span": [0, 3, 5, 9, 11, 22, 28, 29, 30], "spare": 1, "spars": [3, 6, 18, 22, 28, 31], "sparse_mtx": [22, 28], "sparsecategoricalcrossentropi": 3, "sparsiti": [10, 18], "spatial": [1, 2, 3, 12], "speak": 25, "special": [6, 7, 10, 12, 13, 22, 25, 28, 29, 30, 31], "specif": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 21, 22, 23, 25, 27, 28, 29, 30, 32], "specifi": [0, 3, 5, 6, 7, 9, 11, 13, 14, 25, 28, 30, 31, 32], "specifici": [0, 10, 28], "spectacular": 3, "spectral": 1, "speech": [0, 1, 3, 4, 12], "speed": [1, 2, 4, 13], "spend": [16, 25, 31], "spent": 23, "sphere": [0, 29, 31], "sphinx": [], "sphinx_book_them": [], "sphinxcontrib": [], "spike": 31, "spin": 6, "spite": 0, "spitzer": [], "spline": 8, "split": [1, 3, 4, 5, 6, 8, 9, 10, 11, 14, 16, 17, 20, 23, 25, 28, 30, 31, 32], "splite": 0, "splitter": [1, 10], "spoiler": [], "spontan": 25, "spot": 3, "spread": [0, 11, 25, 28, 29], "springer": [19, 23, 27, 28, 32], "spuriou": [13, 31], "sqquar": 30, "sqrsignal": 3, "sqrt": [3, 4, 5, 6, 8, 10, 11, 13, 25, 29, 30, 31, 32], "squar": [1, 2, 3, 4, 7, 8, 9, 11, 13, 14, 15, 17, 18, 21, 22, 25, 32], "squarederror": 10, "squaredeuclidean": 14, "squash": 12, "src": [], "srtm": 6, "srtm_data_norway_1": 6, "sso": 20, "stabil": [5, 23, 31], "stabl": [0, 4, 5, 6, 9, 16, 20, 21, 23, 28, 29, 30, 31], "stack": [3, 4], "stage": [5, 13, 15, 23, 31], "stagnat": 31, "stai": [0, 2, 4, 5, 11, 28, 29, 31], "stand": [0, 5, 9, 12, 28, 29, 30], "standard": [0, 1, 4, 5, 6, 7, 8, 10, 12, 17, 18, 19, 22, 23, 25, 28, 30, 31], "standardscal": [0, 6, 7, 8, 9, 10, 11, 17, 29, 31], "standpoint": 31, "stanford": [13, 30], "start": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 22, 25, 26, 28, 29, 30, 31, 32], "start_tim": 14, "starter": [], "stat": [6, 32], "state": [1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 21, 25, 28, 29, 30, 32], "statement": [0, 7, 22, 28], "static": [], "stationari": [30, 31], "statist": [0, 1, 3, 4, 7, 9, 10, 11, 12, 13, 14, 19, 22, 23, 27, 29, 30, 31], "statu": [0, 7, 15, 28], "stavang": 6, "stb": [], "std": [0, 4, 6, 18, 28, 29, 31, 32], "steep": [13, 30, 31], "steepest": 31, "stefan": [], "step": [0, 1, 2, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 18, 22, 23, 28, 30], "step_fn": [7, 12], "step_length": [13, 31], "step_siz": 31, "steps_list": 9, "stereo": 3, "sticki": [], "still": [0, 2, 3, 5, 6, 11, 13, 25, 29, 30, 31, 32], "stimuli": 12, "stk": [27, 28], "stk2100": [27, 28], "stk3155": [15, 23, 24, 26], "stk4021": [27, 28], "stk4051": [27, 28], "stk4155": [24, 26], "stk5000": 27, "stochast": [0, 1, 5, 6, 8, 11, 12, 30, 32], "stock": 4, "stoke": 12, "stone": [0, 7], "stop": [1, 4, 9, 13, 14, 18, 30], "storag": [5, 29, 30], "store": [0, 1, 2, 3, 6, 11, 13, 25, 28, 31], "storehaug": [26, 28], "stori": [], "str": [1, 3, 4], "straight": [0, 6, 8, 13, 28, 30, 32], "straightforward": [0, 2, 3, 5, 6, 8, 9, 10, 13, 22, 28, 29, 30, 32], "strategi": [0, 1, 9, 28], "stratifi": [6, 32], "stream": 31, "strength": [0, 5, 14, 29, 30], "stretch": 11, "strict": [8, 13, 30], "strictli": [8, 13, 30], "stride": [4, 22], "strike": 6, "string": 1, "stroke": 7, "strong": [3, 6, 9, 10, 12, 22, 25, 31, 32], "strongli": [0, 8, 15, 20, 21, 22], "stronli": [], "structur": [0, 1, 2, 3, 6, 9, 10, 12, 21, 28, 32], "stuck": [1, 13, 30, 31], "student": [0, 15, 23, 24, 26, 27, 28], "studi": [0, 3, 4, 5, 6, 7, 8, 11, 12, 13, 21, 23, 27, 28, 29, 30, 31], "studier": 27, "style": [7, 9, 20, 22, 28], "stylesheet": [], "st\u00f8land": 26, "sub": [9, 12, 31], "subarrai": [], "subclass": [], "subdivid": [0, 22, 28], "subfield": 0, "subgradi": 31, "subject": [6, 8, 25], "sublicens": [], "sublinear": 31, "submit": 28, "subplot": [0, 1, 3, 4, 6, 7, 8, 9, 10, 14, 28, 32], "subplots_adjust": [8, 25], "subprogram": [22, 28], "subproject": [], "subract": [0, 29], "subroutin": [0, 28], "subscript": 1, "subsequ": [1, 4, 5, 6, 12, 22, 25, 29, 30, 32], "subset": [1, 6, 9, 12, 13, 21, 28, 30, 31, 32], "subspac": [0, 8, 11, 29], "substanti": [9, 10, 31], "substep": 11, "substitut": [3, 6, 12, 16, 22, 32], "subsubset": 9, "subtask": 6, "subtl": 1, "subtract": [0, 4, 5, 6, 11, 13, 18, 19, 22, 23, 25, 29, 31, 32], "subtre": 9, "succeed": [0, 4, 28], "success": [3, 7, 9, 13, 25], "successfulli": [4, 9], "succinctli": 31, "sudo": [0, 21, 23, 28], "suffer": [0, 1, 2, 5, 10, 28, 29, 30], "suffici": [1, 6, 8, 11, 13, 30, 32], "suggest": [1, 13, 23, 27, 30, 31], "suit": [8, 12], "suitabl": [0, 15, 19, 25, 29, 31], "sum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19, 22, 25, 28, 29, 30, 31], "sum_": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 19, 22, 23, 25, 28, 29, 30, 31, 32], "sum_i": [0, 2, 5, 6, 8, 13, 19, 23, 29, 30, 31, 32], "sum_j": [6, 18, 31], "sum_ja_": 0, "sum_k": [6, 8, 12, 22], "sum_logist": 13, "sum_m": 3, "sum_n": 3, "sum_nx_": 3, "summar": [5, 6, 9, 32], "summari": [1, 3, 4, 10, 24, 30, 31], "summat": [0, 3, 16, 29, 30], "sunni": 9, "super": [5, 29, 30, 31], "superfici": 3, "superscript": [1, 12], "supervis": [0, 5, 6, 7, 9, 12, 21, 28, 29, 30, 32], "supplement": [7, 23], "suppli": [], "support": [0, 1, 9, 10, 11, 13, 20, 21, 28, 29, 31], "suppos": [0, 5, 6, 7, 8, 10, 11, 12, 13, 22, 28, 29, 30, 31, 32], "suppress": [5, 13, 30], "sure": [0, 1, 4, 6, 16, 20, 23], "surf": 6, "surfac": [0, 6, 28, 31], "surpass": 6, "surpris": [0, 28], "surround": [3, 21], "survei": [0, 5, 6, 28, 29], "svc": [8, 9, 10], "svd": [0, 6, 11, 28, 32], "svdinv": 5, "svm": [8, 9, 10, 11], "svm_clf": [8, 10], "svn": [], "swath": [5, 29, 30], "switch": 0, "sy": [13, 30, 31], "symbol": [1, 5, 11, 13, 21, 25, 28, 29, 30], "symmeteri": 1, "symmetr": [0, 5, 8, 11, 12, 13, 22, 28, 29], "symmetri": 6, "sympi": [0, 21, 23, 28], "synonim": 25, "syntax": 13, "system": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 15, 21, 22, 23, 28, 30, 31], "systemat": [4, 6, 32], "t": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 28, 30, 31, 32], "t0": [3, 6, 13, 31], "t1": [2, 13, 31], "t2": 2, "t3": 2, "t9jjwsmsd1o": 32, "t_": 2, "t_0": [2, 9, 13, 31], "t_1": [13, 31], "t_b": 10, "t_i": [1, 2, 5, 12, 29, 30], "t_j": 12, "t_k": 9, "tabl": [9, 23, 25, 26, 28], "tabul": [0, 28], "tabular": 28, "tackl": 4, "tag": [2, 3, 4, 5, 6, 7, 12, 13, 14, 22, 25, 29, 30], "taht": [0, 28], "tail": 25, "tailor": [2, 8, 11, 28], "taiwan": [0, 28], "take": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17, 19, 21, 22, 25, 28, 29, 30, 31, 32], "taken": [0, 1, 3, 6, 10, 13, 22, 32], "tan": 3, "tangent": [1, 4, 12, 13, 30], "tanh": [1, 4, 7, 8, 12], "target": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 16, 18, 19, 28, 29, 30, 31, 32], "target_nam": 9, "task": [0, 1, 3, 6, 9, 11, 12, 14, 23, 28, 31, 32], "tau": [3, 5, 25], "taught": 28, "tax": [], "taylor": [2, 13, 30], "taylornr": [13, 30], "tc": 8, "teach": [15, 24, 28, 32], "team": 1, "teaser": 0, "technic": [0, 5, 6, 13, 23, 30, 31, 32], "techniqu": [0, 1, 8, 10, 13, 21, 25, 27, 28, 29, 31, 32], "technologi": [0, 1], "tell": [0, 4, 6, 10, 11, 13, 16, 25, 31, 32], "temp": 1, "temp1": 1, "temp2": 1, "temperatur": [0, 9, 28], "templat": [18, 20], "temporari": [], "temporarili": 1, "ten": [3, 28], "tend": [3, 5, 6, 8, 9, 10, 12, 13, 14, 29, 31, 32], "tendenc": [0, 28], "tension": [6, 32], "tensor": 3, "tensorflow": [0, 2, 4, 8, 14, 21, 22, 23, 27, 28, 29], "term": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 23, 25, 28, 29, 30, 31], "term1": [5, 6, 11], "term2": [5, 6, 11], "term3": [5, 6, 11], "term4": [5, 6, 11], "termin": [0, 4, 5, 9, 10, 13, 15, 29, 30, 31], "terminarl": 15, "terrain": 6, "terrain1": 6, "test": [3, 4, 5, 6, 7, 8, 9, 10, 13, 16, 19, 20, 22, 23, 25, 28, 30, 31, 32], "test_acc": 3, "test_accuraci": [1, 3], "test_error": 6, "test_imag": [3, 4], "test_ind": [6, 32], "test_input": 4, "test_label": [3, 4], "test_loss": 3, "test_pr": 1, "test_predict": 1, "test_rnn": 4, "test_scor": [7, 10], "test_siz": [0, 1, 3, 5, 6, 10, 15, 17, 29, 30, 31, 32], "test_split": 9, "testerror": [0, 6, 29, 32], "testi": 4, "testpredict": 4, "testx": 4, "tex": [], "text": [0, 1, 2, 4, 5, 8, 9, 11, 13, 15, 18, 20, 22, 25, 27, 29, 30, 31, 32], "textbf": [], "textbook": [16, 23, 29, 30, 32], "textual": 9, "textur": 1, "tf": [1, 3, 4, 13, 14, 30], "th": [0, 1, 2, 5, 6, 7, 9, 12, 13, 14, 22, 23, 25, 28, 29, 31, 32], "than": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 17, 21, 25, 28, 29, 31, 32], "thank": [4, 6, 29, 31], "theano": [1, 21, 28], "thei": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 18, 20, 22, 23, 25, 28, 29, 30, 31, 32], "them": [0, 1, 3, 4, 6, 8, 9, 10, 11, 12, 13, 18, 22, 23, 28, 29], "theme": [0, 15, 28], "themselv": [0, 23, 25, 28, 31], "thenc": [6, 32], "theorem": [2, 6, 7, 29, 30], "theoret": [0, 4, 10], "theori": [0, 1, 3, 8, 9, 12, 13, 19, 21, 23, 27, 28, 31], "thereaft": [0, 5, 6, 11, 12, 22, 23, 28, 32], "therebi": [0, 5, 7, 11, 23, 28, 29, 30], "therefor": [0, 1, 2, 3, 4, 6, 7, 8, 11, 13, 19, 25, 28, 29, 30, 31, 32], "therein": 11, "thereof": [0, 6, 13, 28, 31, 32], "theta": [0, 1, 4, 5, 6, 7, 13, 16, 23, 25, 28, 29, 30, 31], "theta1": 31, "theta2": 31, "theta_": [0, 1, 6, 7, 13, 28, 29, 30, 31], "theta_0": [0, 5, 6, 7, 16, 28, 29, 30, 31], "theta_0x_": [0, 28, 29], "theta_1": [0, 5, 6, 7, 28, 29, 30, 31], "theta_1x_": [0, 28, 29], "theta_1x_0": [0, 28], "theta_1x_1": [0, 7, 28], "theta_1x_2": [0, 28], "theta_1x_i": [7, 29, 30, 31], "theta_2": [0, 28, 29], "theta_2x_": [0, 28, 29], "theta_2x_0": [0, 28], "theta_2x_1": [0, 28], "theta_2x_2": [0, 7, 28], "theta_2x_i": 29, "theta_3x_i": 29, "theta_4x_i": 29, "theta_closed_form": 18, "theta_closed_formol": 18, "theta_closed_formridg": 18, "theta_gdol": 18, "theta_gdridg": 18, "theta_i": [0, 1, 5, 28, 29, 30], "theta_j": [0, 5, 6, 18, 28, 29, 31], "theta_k": [30, 31], "theta_linreg": [13, 30, 31], "theta_ol": 18, "theta_p": 7, "theta_px_p": 7, "theta_ridg": 18, "theta_t": [13, 31], "theta_tru": 18, "thetaith": 31, "thetavalu": 5, "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 31, 32], "thing": [0, 1, 2, 4, 5, 7, 9, 15, 16, 18, 25, 28, 32], "think": [0, 1, 3, 4, 6, 9, 12, 13, 14, 25, 28, 29, 30, 31, 32], "third": [0, 3, 6, 13, 26, 28, 30, 31], "thirti": 7, "thorughout": 28, "those": [0, 3, 5, 6, 8, 9, 10, 11, 22, 23, 28, 29, 30, 31, 32], "though": [1, 2, 3, 4, 13, 16, 17, 19, 22, 25, 31], "thought": [6, 14, 23, 25, 32], "thousand": [0, 1, 23, 29, 31], "three": [0, 1, 3, 5, 6, 8, 9, 12, 22, 23, 24, 25, 26, 28, 29, 30, 32], "threshold": [1, 3, 9, 10, 11, 12, 13, 31], "through": [0, 1, 2, 3, 4, 5, 6, 8, 11, 12, 13, 14, 15, 21, 22, 23, 25, 28, 29, 30, 31, 32], "throughout": [0, 4, 5, 14, 15, 21, 22, 25, 28], "throw": [3, 6, 25, 32], "thu": [0, 1, 2, 5, 6, 7, 8, 10, 11, 12, 13, 26, 28, 29, 30, 31, 32], "thumb": [0, 6, 23, 29], "thursdai": [], "tibshirani": [6, 19, 23, 27, 28, 32], "tick_param": 6, "ticker": [6, 13, 25, 30, 31], "tif": 6, "tight_layout": [1, 7], "tightli": 11, "tild": [0, 5, 6, 7, 11, 19, 23, 25, 28, 29, 30, 31, 32], "till": [0, 4, 7, 8, 9, 10, 12, 22, 28, 29], "time": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 25, 28, 29, 30, 32], "timeit": 4, "timer": 4, "timeseri": [], "tini": [1, 31], "tip": 3, "titl": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 13, 15, 20, 25, 28, 30, 31, 32], "tm": [], "tmp": 13, "tn": [2, 3, 7], "to_categor": [1, 3, 4], "to_categorical_numpi": 1, "to_numer": [0, 6, 28, 32], "todai": 3, "togeth": [0, 3, 6, 8, 11, 13, 21, 28], "toi": 14, "token": [], "told": 13, "toler": [2, 14], "tolist": 4, "tomographi": 12, "too": [0, 2, 4, 5, 6, 9, 11, 13, 17, 18, 25, 27, 29, 30, 31, 32], "took": [8, 28], "tool": [0, 1, 3, 6, 13, 15, 21, 29, 32], "toolbox": 8, "top": [0, 3, 5, 6, 9, 10, 19, 21, 28, 32], "topic": [0, 5, 6, 7, 8, 21, 23, 29, 30, 32], "topolog": [3, 12], "topologi": [1, 12], "torkjellsdatt": [26, 28], "tort": [], "toss": [10, 25], "total": [0, 1, 2, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 22, 25, 26, 28, 29, 30, 31, 32], "total_loss": 4, "totalclustervari": 14, "totalscatt": 14, "toward": [1, 2, 7, 12, 13, 15, 30], "towardsdatasci": 31, "town": [], "tp": [4, 7], "tpng": 9, "tpu": [13, 21, 28], "tqdm": 6, "tr": [], "track": [3, 13, 14, 15, 22, 29, 30, 31], "tract": [], "tractabl": [0, 28, 29], "trade": [5, 9, 20, 31, 32], "tradeoff": [0, 5, 19, 23, 28, 29, 30], "tradit": [0, 1, 4, 6, 28, 32], "train": [2, 3, 5, 6, 8, 9, 10, 11, 12, 13, 16, 17, 20, 23, 30, 31, 32], "train_accuraci": [0, 1, 3, 28], "train_dataset": 4, "train_end": [0, 1, 29], "train_error": 6, "train_imag": [3, 4], "train_ind": [6, 32], "train_label": [3, 4], "train_pr": 1, "train_siz": [0, 1, 3, 29], "train_step": 4, "train_test_split": [0, 1, 3, 5, 6, 7, 9, 10, 11, 15, 16, 17, 19, 28, 29, 30, 31, 32], "train_test_split_numpi": [0, 1, 29], "trainable_vari": 4, "trained_model": [6, 29, 31], "trainerror": [0, 29], "traini": 4, "training_checkpoint": 4, "training_dataset": 4, "training_gradi": [13, 31], "trainingerror": [6, 32], "trainpredict": 4, "trainscor": 4, "trainx": 4, "trait": [0, 28], "trajectori": [4, 31], "transfer": [9, 28], "transform": [0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17, 21, 22, 28, 29, 30, 31, 32], "transit": [6, 12], "translat": [1, 4, 6, 10, 28, 29, 31], "transpos": [1, 5, 11, 22, 29, 30], "travers": [0, 5], "travi": [], "treat": [0, 1, 3, 6, 12, 13, 18, 25, 28, 29, 30, 31, 32], "tree": [0, 1, 21, 28], "tree_clf": [9, 10], "tree_clf_": 9, "tree_clf_sr": 9, "tree_reg": 9, "tree_reg1": 9, "tree_reg2": 9, "trend": 25, "treue": 7, "trevor": [19, 23, 27], "tri": [2, 3, 4, 9, 13, 16, 31], "triain": 0, "trial": [0, 2, 4, 6, 13, 25, 28, 30, 31, 32], "triangl": [13, 30], "triangular": 22, "trick": [3, 4, 8, 11, 13, 25, 31], "trickier": 25, "tridiagon": 22, "trillion": 21, "trim": [], "trivial": [0, 1, 5, 11, 25, 28, 30], "troffa": [], "troubl": [0, 8, 12, 15, 29, 31], "truck": 3, "true": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 19, 22, 23, 25, 28, 29, 30, 31, 32], "true_beta": 29, "true_fun": [6, 32], "true_theta": [6, 31], "truli": 28, "try": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 21, 22, 23, 25, 28, 29, 30, 31], "tr\u00f6ger": [], "tucker": 8, "tuesdai": [26, 28], "tumor": [7, 9], "tumour": 7, "tunabl": 1, "tune": [4, 9, 13, 22, 28, 31], "turn": [0, 1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 22, 23, 25, 28, 29, 30, 31, 32], "tutori": [1, 4], "tv": 2, "tveito": 2, "tweak": [1, 4, 10, 25], "twice": [13, 30], "twist": 11, "two": [0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 15, 17, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32], "tx": [13, 30, 31], "tx_1": [13, 30], "txt": [4, 15, 20], "ty": [13, 30], "type": [0, 1, 3, 6, 8, 10, 13, 22, 25, 29, 30, 31, 32], "typeset": 20, "typic": [0, 1, 2, 3, 4, 5, 7, 9, 10, 12, 13, 15, 16, 20, 25, 28, 29, 30, 31, 32], "typo": 23, "u": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 22, 23, 25, 27, 28, 29, 30, 31, 32], "u_": 22, "u_i": 12, "u_m": 10, "ua": [0, 28], "ubuntu": [0, 21, 23, 28], "uci": 23, "ufunc": [], "uio": [15, 20, 23, 26, 27], "uk": [], "un": 14, "unabl": 15, "unari": [22, 28], "unbalanc": [6, 9, 32], "unbias": [0, 5, 6, 28, 32], "uncent": [6, 29, 31], "uncertainti": [0, 5, 28], "uncertitud": 25, "unchang": [1, 3], "uncom": [], "uncorrel": [10, 25], "undefin": [5, 29, 30], "under": [0, 1, 5, 6, 10, 13, 21, 23, 28, 29, 30, 31, 32], "underdetermin": [0, 28], "underfit": [1, 6, 32], "underflowproblem": [5, 32], "undergo": 5, "undergradu": [24, 26], "underli": [0, 1, 9, 13, 18, 25, 28, 31], "underlin": [], "underscor": [], "underset": [4, 14], "understand": [0, 1, 3, 5, 6, 10, 13, 14, 15, 19, 20, 21, 28, 29, 30, 31], "understood": [8, 13], "underwai": [], "undesir": 8, "undetermin": [5, 8, 32], "undo": 4, "unexpect": [6, 32], "unexpected": 25, "unexplain": 18, "unfair": [6, 29], "unfortun": [1, 8, 9, 10], "unicode_liter": [8, 9], "uniform": [0, 1, 5, 6, 11, 13, 23, 25, 28, 30, 31], "uniformli": [13, 25, 30, 31], "unifrompdf": 25, "unimport": [13, 30], "union": [5, 6, 32], "uniqu": [0, 2, 6, 13, 14, 22, 28, 32], "unique_cluster_label": 14, "unit": [0, 1, 3, 4, 5, 10, 12, 18, 25, 28, 29, 30, 31], "unitari": [5, 6, 22, 29, 30], "unitarili": [22, 28], "uniti": 25, "univari": 25, "univers": [0, 1, 2, 13, 21, 23, 24, 26, 28, 29, 30, 31, 32], "unix": 1, "unknow": [0, 22, 28], "unknown": [0, 1, 3, 4, 5, 6, 8, 10, 13, 22, 23, 28, 29, 30, 31, 32], "unknowwn": 12, "unlabel": 1, "unless": [0, 3, 6, 11, 13, 23, 28, 30, 32], "unlik": [1, 3, 8, 13, 30, 31], "unnecessarili": 9, "unord": 3, "unpickl": [], "unpleas": [], "unpublish": 31, "unravel": 1, "unrol": [3, 11], "unscal": 19, "unseen": [0, 7, 9, 15], "unstabl": 1, "unsupervis": [0, 1, 4, 12, 21, 28], "unsymmetr": [22, 28], "until": [1, 2, 4, 9, 12, 13, 14, 30, 31], "untouch": 0, "unusu": 12, "up": [1, 3, 4, 5, 6, 8, 10, 11, 13, 14, 16, 18, 19, 20, 21, 22, 23, 25, 26, 31], "updat": [1, 2, 10, 12, 13, 14, 15, 18, 32], "uploa": 28, "upload": [15, 20, 21, 23, 27], "upon": [0, 1, 6, 7, 11, 22], "upper": [0, 8, 9, 16, 22, 29], "uppercas": [22, 28], "upsampl": 4, "upscal": 4, "upward": [], "url": [28, 29], "us": [4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 17, 20, 22, 25, 27, 32], "usag": [0, 8, 21, 28, 29], "usd": [], "usd10000": [], "use_bia": 4, "usecol": [0, 28], "useless": 1, "user": [0, 1, 2, 4, 6, 7, 15, 21, 22, 23, 28, 29], "usernam": [15, 23], "usetex": 25, "usg": 6, "usr": 25, "usual": [0, 3, 4, 7, 12, 13, 14, 28, 31], "ut": 5, "utf": [], "util": [1, 3, 4, 6, 7, 10, 14, 19, 28, 32], "ux": 22, "v": [2, 4, 5, 6, 11, 13, 15, 21, 29, 30, 32], "v0": 25, "v1": 25, "v2": 25, "v5": [], "v_": 31, "v_0": [11, 31], "v_t": 31, "va": 1, "vahid": 28, "val": 13, "val_accuraci": 3, "val_loss": 4, "vale": 2, "valid": [0, 1, 4, 7, 9, 10, 13, 21, 25, 28, 29, 31], "validation_data": 3, "validation_split": 4, "valu": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 20, 21, 22, 23, 28, 31], "valuat": 9, "valueerror": [], "valy": 4, "van": [0, 19, 23, 28, 29, 30, 31], "vandenbergh": [8, 13, 30], "vandermond": [0, 28], "vanilla": [0, 6, 11, 14, 29, 31], "vanish": [1, 4, 13, 25, 30], "var": [5, 6, 10, 11, 19, 23, 25, 29, 32], "var_x": 25, "varabl": 8, "varepsilon": [5, 6, 19, 32], "varepsilon_": [5, 6, 32], "varepsilon_i": [5, 6, 32], "vari": [0, 1, 3, 5, 6, 10, 28, 32], "variabl": [0, 1, 2, 5, 6, 7, 8, 10, 11, 12, 13, 14, 22, 28, 29, 31, 32], "varianc": [0, 1, 5, 7, 9, 10, 11, 13, 14, 18, 20, 21, 22, 25, 28, 29, 30, 31], "variance_i": [5, 11, 29], "variance_x": [5, 11, 29], "variant": [0, 1, 6, 8, 12, 13, 28, 29, 30, 31], "variat": [3, 4, 11, 28], "varieti": [0, 3, 12, 21, 23, 28], "variou": [1, 3, 5, 6, 7, 8, 9, 11, 12, 13, 16, 19, 20, 21, 22, 23, 25, 28, 29, 30, 31], "varydimens": 4, "vast": 31, "vastli": 3, "vaue": 1, "vault": 0, "vdot": [2, 13, 30, 31], "ve": [23, 31], "vec": [6, 32], "vector": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 17, 18, 21, 30, 31, 32], "vector_mean": 14, "ventur": [0, 8, 21, 28], "venv": 15, "verbos": [1, 3, 4], "veri": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 23, 25, 27, 28, 29, 30, 31, 32], "verifi": [3, 11, 22, 28], "versatil": [8, 28], "versicolor": [8, 9], "version": [0, 3, 10, 13, 14, 15, 21, 22, 23, 25, 28], "versu": [1, 31], "vert": [0, 1, 5, 6, 7, 8, 9, 11, 13, 16, 17, 28, 29, 30, 31, 32], "vert_1": [5, 6, 29, 30, 31], "vert_2": [5, 6, 11, 17, 29, 30, 31, 32], "via": [0, 5, 6, 7, 8, 9, 10, 11, 12, 19, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32], "vidal": 11, "video": [0, 1, 12, 21, 24, 26, 28, 29, 30], "view": [1, 3, 5, 6, 12, 13, 25, 27, 28, 30, 31, 32], "violat": 8, "virginica": 9, "viridi": [0, 1, 2, 3, 28], "virtanen": [], "virtual": [1, 31], "viscos": 13, "viscou": 13, "visibl": 15, "vision": [0, 3], "visit": 31, "visual": [0, 3, 11, 12, 18, 21, 28, 29], "visualis": 1, "visualstudio": [15, 16, 19], "viz": [6, 8, 25], "vmap": 13, "vmax": [1, 6], "vmh0zpt0tli": 31, "vmin": [1, 6], "voic": 3, "volatil": 31, "volum": [0, 3, 28], "vote": [10, 28], "voting_clf": 10, "votingclassifi": 10, "votingsimpl": 10, "vscode": [], "vstack": [5, 11, 22, 25, 28, 29], "vt": [5, 29, 30], "w": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 22, 25, 28, 29, 30, 31, 32], "w1": 8, "w2": [8, 11], "w3": 8, "w_": [1, 12], "w_1": [8, 22], "w_1x_": 8, "w_1x_1": 8, "w_2": [8, 22], "w_2x_": 8, "w_2x_2": 8, "w_3": 22, "w_4": 22, "w_hidden": 2, "w_i": [1, 2, 10], "w_ix_i": 12, "w_j": 22, "w_m": 22, "w_output": 2, "w_px_": 8, "w_px_p": 8, "w_t": [], "wa": [1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 17, 22, 28, 29, 31, 32], "wai": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 18, 19, 22, 25, 28, 29, 30, 31], "walk": 9, "walker": 25, "wall": 31, "walt": [], "wang": [0, 28], "want": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 23, 25, 28, 29, 30, 31, 32], "warn": 4, "warrant": [6, 32], "warranti": [], "wast": [3, 31], "watch": [21, 30, 31, 32], "wave": 3, "wavelet": 8, "wcag": [], "we": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 29, 30, 32], "weak": [9, 10, 14], "weaker": 31, "weather": [1, 12], "web": [21, 24, 26, 28], "webpag": 28, "websit": [6, 22, 23, 24, 28], "wedg": [8, 25], "wednesdai": [26, 28], "wee": 11, "week": [0, 5, 6, 7, 23, 24, 26], "weekli": [15, 16, 21, 23, 24, 26, 27, 28], "weight": [1, 2, 3, 6, 7, 9, 10, 12, 13, 18, 25, 31], "weigth": 2, "welcom": [8, 15, 21], "well": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 16, 20, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32], "went": 8, "were": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 25, 28, 31, 32], "wessel": [0, 19, 23, 28, 29, 30, 31], "what": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 25, 31], "whatev": 3, "when": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 22, 23, 25, 28, 29, 30, 32], "whenev": [13, 15, 25, 31], "where": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32], "wherea": [6, 25, 31, 32], "wherefrom": 23, "wherein": [1, 12], "whether": [0, 3, 5, 7, 9, 23, 25, 28], "which": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 32], "whichev": [1, 3], "while": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 19, 20, 25, 28, 29, 30, 31, 32], "white": 9, "whiteboad": 31, "whiteboard": [29, 30, 31], "who": [0, 15], "whole": [1, 3, 4, 5, 9, 11, 13, 31], "whom": [], "whose": [0, 6, 10, 25, 29, 32], "whow": [11, 29], "why": [0, 1, 3, 6, 13, 15, 16, 17, 19, 23, 29, 30], "wide": [0, 1, 3, 6, 7, 12, 21, 22, 23, 28, 32], "widehat": [6, 32], "width": [0, 3, 8, 9, 28], "wieringen": [0, 19, 23, 28, 29, 30, 31], "wiki": 23, "wikipedia": 23, "win": [10, 31], "wind": 9, "window": [], "wing": [26, 28], "winther": 2, "wiothout": 6, "wiscons": 7, "wisconsin": 10, "wisdom": [6, 29, 31], "wise": [1, 5, 12, 13, 29, 30, 31], "wish": [0, 2, 5, 7, 8, 11, 13, 14, 18, 22, 23, 28, 29, 30, 31], "with_std": [0, 29], "wither": 6, "within": [0, 2, 3, 4, 7, 9, 12, 13, 14, 25, 27, 28, 30], "withinclust": 14, "without": [0, 1, 5, 6, 8, 9, 11, 12, 13, 15, 18, 23, 28, 29, 30, 31, 32], "won": [0, 15, 28], "wonder": 8, "word": [0, 1, 3, 4, 5, 6, 7, 14, 19, 25, 28, 29, 30, 31], "work": [0, 1, 4, 6, 7, 8, 9, 13, 15, 16, 18, 19, 20, 21, 23, 24, 25, 26, 28, 29, 31, 32], "workabl": 31, "workaround": [], "workhors": 31, "workload": 31, "workshop": 28, "world": [0, 8, 16, 29], "worldwid": [0, 28], "worri": 15, "wors": [0, 1, 3, 4, 6, 28, 31, 32], "worth": [9, 19], "worthi": 23, "would": [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 18, 20, 22, 23, 25, 28, 29, 30, 31, 32], "wouldn": [], "wrap": [6, 22, 28], "write": [0, 1, 2, 3, 5, 6, 7, 8, 12, 13, 15, 16, 18, 22, 28, 29, 31, 32], "written": [0, 2, 3, 5, 11, 12, 13, 16, 21, 22, 23, 25, 28, 29, 30, 31], "wrong": [1, 8, 15], "wrongli": 10, "wrote": [5, 11, 29], "wrt": [10, 13, 31], "wth": [10, 13, 31], "www": [20, 21, 22, 23, 27, 28, 30, 31, 32], "wx_1": 8, "x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 25, 28, 30, 31, 32], "x0": 8, "x1": [4, 8, 9, 10, 13], "x1_exampl": 8, "x1d": 8, "x2": [8, 9, 10, 13], "x2d": [8, 11], "x2d_train": 11, "x2dsl": 11, "x3": 8, "x_": [0, 2, 3, 5, 6, 8, 10, 11, 13, 14, 22, 25, 28, 29, 30, 31, 32], "x_0": [0, 5, 11, 18, 22, 28, 29, 32], "x_1": [0, 2, 5, 6, 7, 8, 9, 10, 11, 13, 18, 22, 25, 28, 29, 30, 31, 32], "x_2": [0, 2, 5, 6, 7, 8, 9, 10, 11, 13, 22, 25, 28, 29, 30, 32], "x_3": [8, 22, 25], "x_4": 22, "x_6": 18, "x_center": 11, "x_data": 1, "x_data_ful": 1, "x_hidden": 2, "x_i": [0, 1, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 22, 25, 28, 29, 30, 31, 32], "x_input": 2, "x_ix_": [0, 28], "x_iy_i": 8, "x_j": [0, 2, 8, 9, 12, 16, 25, 29, 31], "x_jy_j": 8, "x_k": [12, 14, 22, 25, 29], "x_l": 25, "x_m": [6, 12, 22, 25, 32], "x_mean": [18, 31], "x_n": [0, 2, 3, 6, 8, 11, 12, 13, 22, 25, 28, 30, 32], "x_new": [9, 10], "x_norm": [18, 31], "x_offset": [6, 29, 31], "x_output": 2, "x_p": [3, 7, 9], "x_poli": 9, "x_poly10": 9, "x_pred": 4, "x_prev": 2, "x_reduc": 11, "x_sampl": [], "x_scale": 8, "x_small": 13, "x_std": [18, 31], "x_t": 31, "x_test": [0, 1, 3, 5, 6, 7, 9, 10, 11, 15, 16, 17, 19, 29, 30, 31, 32], "x_test_": 17, "x_test_own": 6, "x_test_scal": [0, 6, 7, 9, 10, 11, 29, 31], "x_tot": 4, "x_train": [0, 1, 3, 4, 5, 6, 7, 9, 10, 11, 15, 16, 17, 19, 28, 29, 30, 31, 32], "x_train_": 17, "x_train_mean": [6, 29, 31], "x_train_own": 6, "x_train_r": 19, "x_train_scal": [0, 6, 7, 9, 10, 11, 29, 31], "x_val": 1, "xarrai": [21, 28], "xavier": 1, "xbnew": [13, 30, 31], "xcode": [0, 21, 23, 28], "xdclassiffierconfus": 10, "xdclassiffierroc": 10, "xg_clf": 10, "xgb": 10, "xgbclassifi": 10, "xgboost": 9, "xgboot": 10, "xgbregressor": 10, "xgparam": 10, "xgtree": 10, "xi": [8, 13, 31], "xi_": 8, "xi_1": 8, "xi_i": 8, "xk": 8, "xla": [13, 21, 28], "xlabel": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 25, 28, 29, 30, 31, 32], "xlim": [6, 10, 32], "xm": 9, "xmesh": 13, "xnew": [0, 13, 28, 30, 31], "xp": 25, "xpanda": [0, 29], "xpd": [5, 11, 29], "xplot": 0, "xscale": [0, 29], "xsr": 9, "xt_x": [13, 30, 31], "xtest": [6, 32], "xtick": [3, 6, 8, 9, 32], "xtrain": [6, 32], "xu": [0, 28], "xx": [0, 22, 28], "xy": [0, 6, 8, 22, 28], "xytext": 8, "xyz": [], "xz": [22, 28], "y": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 25, 28, 29, 30, 31, 32], "y1": 4, "y2": 4, "y3": 4, "y_": [0, 1, 5, 6, 10, 11, 22, 28, 29, 32], "y_0": [0, 5, 11, 22, 28, 29, 32], "y_1": [0, 5, 8, 9, 11, 13, 22, 28, 29, 30, 31, 32], "y_1y_1": 8, "y_1y_1k": 8, "y_1y_2": 8, "y_1y_2k": 8, "y_1y_n": 8, "y_1y_nk": 8, "y_2": [0, 5, 8, 9, 11, 22, 28, 29], "y_2y_1": 8, "y_2y_1k": 8, "y_2y_2": 8, "y_2y_2k": 8, "y_3": [0, 9, 22], "y_4": 22, "y_center": [18, 31], "y_data": [0, 1, 5, 6, 28, 29, 30, 31], "y_data_ful": 1, "y_decis": 8, "y_fit": [0, 29], "y_i": [0, 1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 19, 22, 23, 28, 29, 30, 31, 32], "y_if_": 10, "y_ix_": [0, 28], "y_ix_i": [7, 8, 13, 29, 30, 31], "y_iy_jk": 8, "y_j": [6, 8, 12, 23, 32], "y_k": 12, "y_m": 22, "y_mean": [18, 31], "y_model": [0, 4, 5, 6, 28, 29, 30, 31], "y_n": [8, 13, 30, 31], "y_ny_1": 8, "y_ny_1k": 8, "y_ny_2": 8, "y_ny_2k": 8, "y_ny_n": 8, "y_ny_nk": 8, "y_offset": [6, 17, 29, 31], "y_plot": 9, "y_pred": [0, 1, 4, 6, 7, 8, 9, 10, 29, 31, 32], "y_pred1": 9, "y_pred2": 9, "y_pred_rf": 10, "y_pred_tre": 10, "y_proba": [7, 10], "y_sampl": [], "y_scaler": [6, 29, 31], "y_test": [0, 1, 3, 4, 5, 6, 7, 9, 10, 11, 15, 16, 17, 19, 29, 30, 31, 32], "y_test_onehot": 1, "y_test_predict": [], "y_tot": 4, "y_train": [0, 1, 3, 4, 5, 6, 7, 9, 10, 11, 15, 16, 17, 19, 28, 29, 30, 31, 32], "y_train_mean": [6, 29, 31], "y_train_onehot": 1, "y_train_predict": [], "y_train_r": 19, "y_train_scal": [6, 29, 31], "y_val": 1, "ye": [3, 6, 7, 32], "year": [0, 21, 28], "yet": [0, 1, 6, 8, 11, 13, 20, 28], "yi": [13, 31], "yield": [0, 2, 5, 6, 8, 10, 12, 13, 14, 22, 25, 28, 30, 31, 32], "yk": 8, "ylabel": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 25, 28, 29, 30, 31, 32], "ylim": [3, 6, 32], "ym": 9, "ymesh": 13, "yn": 0, "yo": [8, 9, 10], "yoshiki": [], "yoshua": [1, 27], "you": [0, 1, 3, 4, 5, 6, 8, 9, 10, 11, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32], "young": 0, "your": [1, 2, 4, 5, 6, 8, 11, 13, 15, 17, 19, 20, 21, 22, 28, 30, 31, 32], "your_model_object": 16, "yourself": [11, 13, 28, 30], "youtu": [29, 30, 32], "youtub": [21, 30, 31, 32], "ypred": [6, 32], "ypredict": [0, 13, 28, 29, 30, 31], "ypredict2": [13, 30, 31], "ypredictlasso": [5, 30], "ypredictol": [0, 5, 30], "ypredictown": [6, 29, 31], "ypredictownridg": [6, 29, 30, 31], "ypredictridg": [0, 5, 6, 29, 30, 31], "ypredictskl": [6, 29, 31], "ytest": [6, 32], "ytick": [3, 6, 8, 9, 32], "ytild": [0, 6, 28, 29, 32], "ytildelasso": [5, 30], "ytildenp": [0, 28, 29], "ytildeol": [0, 5, 30], "ytildeownridg": [6, 29, 30, 31], "ytilderidg": [5, 6, 29, 30, 31], "ytrain": [6, 32], "yuxi": 28, "yx": [22, 28], "yy": [22, 28], "yz": [22, 28], "z": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 22, 25, 28, 29, 32], "z_": [1, 2, 12, 22, 28], "z_0": [22, 28], "z_1": [22, 28], "z_2": [22, 28], "z_c": 1, "z_h": 1, "z_hidden": 2, "z_i": [1, 12], "z_j": [1, 12], "z_k": [12, 29], "z_m": 1, "z_mod": 9, "z_o": 1, "z_output": 2, "za": [], "zaman": 25, "zaxi": 6, "zero": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 22, 23, 25, 28, 29, 30, 31, 32], "zeros_lik": 4, "zeroth": 29, "zfill": 4, "zip": [4, 6], "zm_h": [0, 28], "zn": [], "zone": [], "zoom": 28, "zscout": [], "zx": [22, 28], "zy": [22, 28], "zz": [22, 28], "\u00f8yvind": [6, 29, 31]}, "titles": ["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", "Exercises week 34", "Exercises week 35", "Exercises week 36", "Exercises week 37", "Exercises week 38", "Exercises week 39", "Applied Data Analysis and Machine Learning", "2. Linear Algebra, Handling of Arrays and more Python Features", "Project 1 on Machine Learning, deadline October 6 (midnight), 2025", "Course setting", "1. Elements of Probability Theory and Statistical Data Analysis", "Teachers and Grading", "Textbooks", "Week 34: Introduction to the course, Logistics and Practicalities", "Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression", "Week 36: Linear Regression and Gradient descent", "Week 37: Gradient descent methods", "Week 38: Statistical analysis, bias-variance tradeoff and resampling methods"], "titleterms": {"": [8, 10, 30, 31, 32], "0": [], "04": [], "05": [], "06": [], "07": [], "1": [0, 15, 16, 17, 18, 19, 20, 23, 29], "11": [], "15": [19, 32], "19": 19, "1a": 18, "2": [0, 15, 16, 17, 18, 19, 20, 28, 29, 30], "20": [], "2017": [], "2018": [], "2019": [], "2023": 26, "2025": 23, "27": [], "2a": [], "2b": [], "3": [0, 15, 16, 17, 18, 19, 20, 29], "34": [15, 28], "35": [16, 29], "36": [17, 30], "37": [18, 31], "38": [19, 32], "39": 20, "3a": 18, "3b": 18, "4": [0, 15, 16, 17, 18, 19, 20, 29], "4a": 18, "4b": 18, "5": [0, 16, 18, 19, 20], "6": 23, "8": 31, "A": [0, 1, 4, 8, 9, 28, 32], "And": [28, 29, 31], "But": 31, "In": 26, "Ising": 6, "The": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 15, 21, 28, 29, 30, 31, 32], "To": 28, "With": [4, 30], "a11i": [], "about": [28, 29, 30], "abov": 30, "abstract": 20, "accuraci": 31, "across": 31, "activ": [1, 12], "ad": [0, 6, 20, 23, 28, 29], "adaboost": 10, "adagrad": [13, 31], "adam": [13, 31], "adapt": [10, 31], "add": [], "adjust": 1, "advanc": 23, "adversari": 4, "again": [3, 9], "ai": [23, 28], "aim": [8, 9, 28], "aka": 28, "al": 31, "algebra": [22, 28], "algorithm": [9, 10, 11, 12, 28, 29, 30, 31], "algortithm": [13, 30], "all": 8, "an": [0, 4, 10, 15, 20, 28], "analys": [5, 29, 30], "analysi": [0, 5, 6, 11, 21, 23, 25, 28, 29, 30, 32], "analyt": [0, 16, 18], "ani": [13, 30], "anoth": [9, 30, 32], "api": [], "appli": 21, "approach": [0, 8, 14, 28, 31, 32], "approxim": 12, "architectur": 1, "arrai": [22, 28], "assist": 26, "assumpt": 32, "august": [], "author": [], "autocorrel": 25, "autograd": [2, 13, 31], "automat": [13, 31], "avail": 20, "avali": [], "averag": 31, "b": 23, "back": [1, 11, 12, 29, 30], "background": [21, 23, 32], "bag": 10, "base": [13, 31, 32], "basic": [0, 5, 7, 9, 10, 11, 22, 29, 30], "batch": [1, 31], "bay": 5, "befor": 11, "beta": [], "better": 8, "bia": [6, 19, 23, 31, 32], "binari": 1, "bind": 28, "bird": 10, "blind": [], "block": [], "boldsymbol": [18, 29, 32], "book": 19, "boost": 10, "bootstrap": [6, 10, 32], "boston": [], "breast": 1, "brief": [28, 32], "bring": 12, "browser": [], "bsd": [], "build": [1, 3, 9], "c": [23, 28], "calcul": [18, 29, 30], "can": [28, 31, 32], "cancer": [1, 7, 9, 11], "cart": 9, "case": [8, 10, 25, 29, 30, 31], "cdn": [], "cell": [], "central": [13, 21, 25, 30, 32], "chain": 12, "challeng": 31, "chang": 10, "changelog": [], "channel": 28, "chi": [0, 28], "choic": 17, "choos": [1, 31], "cifar01": 3, "citat": [], "classic": 11, "classif": [1, 9, 10], "classifi": 8, "claus": [], "clip": 1, "cluster": 14, "cnn": 3, "code": [1, 2, 5, 9, 11, 12, 13, 14, 15, 16, 20, 23, 28, 29, 30, 31, 32], "collect": [1, 3], "color": [], "colorblind": [], "combin": 31, "commun": 28, "compar": [2, 10, 16], "comparison": [30, 31], "compet": 31, "compil": [], "complet": 29, "complex": [0, 6, 23, 29], "complic": 6, "compon": 11, "comput": [9, 19, 31], "computation": 32, "computerlab": 28, "con": [9, 31], "concept": 25, "condit": 30, "confid": 32, "conjug": 13, "constraint": 31, "contain": [], "content": [], "contn": 28, "contrast": [], "contributor": [], "converg": 31, "convex": [8, 13, 30, 31], "convolut": [3, 12], "copyright": [], "core": [], "correct": 31, "correl": [11, 29], "correspond": [], "cost": [1, 10, 29, 30, 31, 32], "cours": [21, 24, 27, 28], "covari": [5, 11, 25, 29], "cover": 28, "creat": [16, 20], "creator": [], "cross": [6, 23, 32], "cython": 28, "d": 23, "dark": [], "data": [0, 1, 3, 6, 7, 9, 11, 15, 17, 18, 21, 25, 28, 29], "dataset": [1, 3, 18], "david": 28, "deadlin": [23, 28], "deadllin": 26, "decai": [2, 31], "decis": [9, 10], "decomposit": [5, 11, 22, 29, 30], "deeep": [], "deep": [1, 2, 28, 31], "defin": [1, 28], "definit": 19, "deflist": [], "degre": [0, 17, 29], "deliver": [15, 16, 19, 20], "deliveri": 23, "delta": 32, "dens": 0, "depend": [], "deriv": [5, 12, 16, 17, 19, 29, 30, 31, 32], "descent": [2, 10, 13, 18, 23, 30, 31], "design": 29, "detail": [3, 28], "develop": 1, "diagon": 11, "differ": [8, 31], "differenti": [2, 13, 31], "diffus": 2, "dimens": 31, "dimension": [2, 3, 8, 18], "direct": [], "disadvantag": 9, "discret": 25, "discrimin": 28, "distribut": [5, 25, 32], "do": [1, 31], "document": 20, "doe": [29, 30], "domain": 25, "down": 1, "dropout": 1, "e": 23, "economi": [29, 30], "electron": 23, "element": [0, 25, 28], "elimin": 22, "empir": 31, "energi": 28, "ensembl": 10, "entropi": 9, "environ": [0, 15], "equat": [0, 2, 12, 29, 30], "error": [0, 10, 28, 29, 30, 32], "essenti": 28, "estim": 32, "et": 31, "etc": 28, "euler": 2, "evalu": 1, "evid": 31, "exampl": [1, 2, 3, 4, 6, 7, 8, 9, 10, 28, 29, 30, 31, 32], "exercis": [0, 6, 15, 16, 17, 18, 19, 20, 29], "expect": [19, 25, 32], "expens": 32, "experi": 25, "explor": 0, "exponenti": [2, 31], "express": [16, 17, 19, 29], "extend": 30, "extrapol": 4, "extrem": [10, 28], "ey": 10, "f": 23, "fall": 26, "famili": [1, 28], "famou": 22, "fantast": [29, 30], "faq": [], "featur": [9, 16, 22, 29], "februari": [], "feed": [1, 12], "figur": 20, "file": [], "fill": [], "final": [12, 29, 31], "find": [16, 18, 32], "fine": 1, "first": [4, 12, 28, 30], "fit": [0, 10, 15, 16, 28, 30], "fix": [29, 30, 31], "fold": 32, "forc": 3, "forest": 10, "form": 18, "format": [23, 28], "formula": 18, "forward": [1, 2, 12], "foster": 28, "fourier": 3, "frank": 6, "freedom": [0, 17, 29], "frequent": [29, 31], "frequentist": [0, 28], "from": [5, 10, 12, 28, 29, 30, 31, 32], "full": [2, 31], "function": [0, 1, 6, 7, 8, 10, 11, 12, 13, 23, 25, 28, 29, 30, 31, 32], "further": [3, 5, 29, 30], "g": 23, "gan": 4, "gaussian": 22, "gd": [13, 31], "gener": [4, 9, 28], "geometr": [11, 30], "get": 20, "gini": 9, "github": 15, "goal": [15, 16, 17, 18, 19, 20], "good": [0, 20, 28], "goodfellow": 31, "gotthard": [], "grade": [26, 28], "gradient": [1, 2, 10, 13, 18, 23, 30, 31], "greativ": [], "growth": 2, "guid": [], "h": 23, "ha": 21, "handl": [22, 28], "happen": 32, "hessian": [29, 30, 31], "hidden": 2, "high": [], "histogram": 32, "histori": [], "hous": [], "how": 16, "hyperparamet": [1, 17], "hyperplan": 8, "i": [0, 1, 28], "id3": 9, "idea": 11, "ideal": 30, "ident": 32, "identifi": 32, "ii": 28, "iid": 32, "illustr": 30, "implement": [1, 16, 17, 18], "implic": [5, 29, 30], "import": [5, 22, 28, 29, 30], "improv": [1, 31], "includ": [13, 23, 31], "incorpor": [], "increment": 11, "independ": 32, "index": 9, "inform": 26, "input": 2, "instal": [21, 23, 28], "instructor": 26, "interpret": [5, 11, 19, 28, 29, 30, 32], "interv": 32, "introduc": [11, 13, 29], "introduct": [0, 6, 20, 21, 22, 23, 28], "invers": [5, 22], "invert": [29, 30], "ipython": [], "iter": 10, "its": 29, "j": [], "jacobian": 29, "januari": [], "jax": 13, "julia": 28, "jungl": 10, "jupyt": [], "k": 32, "kera": [1, 3], "kernel": [8, 11], "lab": [30, 31, 32], "lagrangian": 8, "lasso": [5, 6, 23, 29, 30], "last": [29, 31], "later": [5, 29, 30], "layer": [1, 2, 3, 12], "learn": [0, 1, 2, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 28, 29, 30, 31, 32], "least": [5, 6, 16, 19, 23, 28, 29, 30, 31], "lectur": [28, 30, 31, 32], "level": 10, "librari": [21, 28], "licens": [], "light": [], "likelihood": [7, 32], "limit": [1, 13, 25, 30, 31, 32], "linear": [0, 8, 13, 15, 22, 28, 29, 30], "link": [5, 11, 27, 29, 32], "literatur": 23, "logist": [7, 28], "loss": [29, 30, 31], "lu": 22, "ma": [], "machin": [0, 8, 13, 21, 23, 28, 30], "made": 32, "main": [25, 28], "make": [0, 9, 10, 20, 29], "mani": [10, 12], "markdown": [], "mask": [], "maskedarrai": [], "mass": 28, "materi": [23, 28, 29, 30, 31, 32], "math": [5, 29, 30], "mathemat": [3, 5, 8, 29, 30], "matplotlib": [], "matric": [5, 22, 28], "matrix": [1, 5, 11, 12, 16, 22, 28, 29, 30, 31], "matter": 0, "max": 29, "maximum": 32, "me": [], "mean": [0, 29, 30], "meet": [5, 10, 25, 28, 29], "memori": 31, "mercer": 8, "metadata": [], "method": [6, 9, 10, 13, 23, 28, 30, 31, 32], "metric": 19, "midnight": 23, "min": 29, "mini": 31, "minibatch": 31, "minim": 28, "mit": [], "ml": 28, "mle": 32, "mlp": 12, "mnist": [3, 4], "model": [0, 1, 4, 6, 12, 15, 17, 28], "moment": 31, "momentum": [13, 23, 31], "mondai": [30, 31, 32], "moon": [8, 9], "more": [3, 6, 22, 23, 28, 29, 30, 31, 32], "motiv": 31, "move": 31, "multilay": 12, "multipl": [1, 3, 17], "multipli": 8, "myst": [], "ncsa": [], "need": [23, 28], "network": [1, 2, 3, 4, 7, 12, 28, 31], "neural": [1, 2, 3, 4, 7, 12, 28, 31], "new": [4, 18, 32], "newton": [30, 31], "node": [], "non": [8, 31], "none": 31, "normal": [0, 1, 32], "notat": 12, "note": [23, 29, 30], "notebook": [], "novemb": [], "now": [1, 9, 13, 30, 31, 32], "nuclear": [0, 28], "numba": 28, "number": [0, 2, 25, 29, 31], "numer": [2, 23, 25], "numpi": [22, 28], "object": 3, "obtain": 11, "octob": 23, "od": 2, "off": [6, 19, 23], "ol": [5, 6, 15, 16, 18, 23, 30, 32], "one": [2, 12, 18, 30], "open": [], "oper": 22, "optim": [1, 8, 13, 18, 21, 28, 29, 30, 31], "order": [13, 18, 31], "ordinari": [5, 6, 16, 19, 23, 28, 29, 30, 31], "organ": [0, 28], "oslo": 27, "other": [4, 9, 11, 12, 22, 23, 28], "our": [0, 4, 5, 11, 13, 23, 28, 29, 30], "outcom": [21, 28], "output": 2, "overarch": [0, 4, 8, 9, 28, 29], "overview": [10, 28, 31], "own": [0, 10, 11, 23, 28, 29], "packag": [22, 28], "panda": [28, 29], "paramet": [28, 29], "paramt": 18, "part": [13, 21, 23, 30], "partial": 2, "pass": 1, "pca": 11, "pdf": 25, "perceptron": 12, "perform": [1, 9], "period": 3, "perspect": 1, "pitaya": [], "plan": [29, 30, 31, 32], "plethora": 28, "plot": 32, "point": 4, "poisson": 2, "polici": [], "polynomi": [3, 16, 18, 30], "popul": 2, "popular": 28, "practic": [13, 26, 28, 31], "pre": [1, 3], "preambl": 23, "predict": 4, "preprocess": [29, 31], "prerequisit": [3, 21, 28], "present": 20, "princip": 11, "principl": 3, "pro": [9, 31], "probabl": [5, 25, 32], "problem": [1, 2, 13, 28, 29, 30, 31], "procedur": [9, 28], "process": [1, 3], "program": [2, 13, 23, 30, 31], "project": [6, 20, 23, 26, 28], "prop": 13, "propag": [1, 12], "properti": [5, 25, 29, 30, 31], "python": [0, 9, 15, 21, 22, 28], "quick": 8, "quickli": [], "r": 28, "random": [10, 11, 25], "raphson": 30, "rate": [23, 31], "read": [9, 28, 29, 31, 32], "real": [6, 28], "recommend": [28, 29], "record": [], "recurr": [4, 12], "reduc": [0, 29], "reduct": 3, "refer": 23, "referenc": 20, "reformul": 2, "regress": [0, 5, 6, 7, 9, 10, 13, 15, 17, 18, 19, 23, 28, 29, 30, 31, 32], "regular": 1, "relat": [], "relev": [27, 29], "relu": 1, "remark": 3, "remind": [6, 8, 28, 29, 30, 31], "replac": [13, 31], "report": [20, 23], "repositori": [15, 32], "requir": [2, 21], "resampl": [6, 19, 23, 32], "rescal": [6, 29], "residu": [29, 30], "resourc": 2, "result": [29, 30], "revis": [], "revisit": [13, 30, 31], "rewrit": [28, 29, 32], "ridg": [0, 5, 6, 17, 18, 19, 23, 29, 30, 31], "rm": 13, "rmsprop": 31, "role": [], "rule": [12, 31], "rung": 23, "same": [13, 31, 32], "sampl": 11, "scalabl": 31, "scale": [17, 18, 19, 29, 31], "schedul": 28, "schemat": 9, "scheme": 2, "scienc": 28, "scikit": [0, 1, 11, 28, 29, 30, 31, 32], "second": [13, 18, 31], "semest": 26, "sensit": 30, "septemb": [19, 30, 31, 32], "session": [30, 31, 32], "set": [0, 2, 3, 9, 12, 15, 24, 28, 29, 30], "setup": 15, "sgd": [13, 31], "should": 1, "show": [], "similar": [13, 31], "simpl": [0, 4, 9, 13, 18, 28, 29, 30, 31], "simplest": 18, "singl": 10, "singular": [5, 11, 29, 30], "size": [29, 30, 31], "sklearn": 16, "slightli": 31, "smoothi": [], "sneak": 31, "soft": 8, "softmax": 1, "softwar": [23, 28], "solv": [2, 30], "solver": 13, "some": [13, 22, 29, 30], "sourc": [], "specifi": 2, "speed": 31, "sphinx": [], "split": [0, 15, 29], "squar": [0, 5, 6, 10, 16, 19, 23, 28, 29, 30, 31], "standard": [13, 29, 32], "start": 20, "state": 0, "statist": [5, 6, 21, 25, 28, 32], "steepest": [10, 13, 30], "step": [31, 32], "stochast": [13, 23, 25, 31], "stop": 31, "strongli": [28, 31], "structur": [], "suggest": 28, "sum": 32, "summari": [26, 28], "superposit": 3, "supervis": 1, "support": 8, "svd": [5, 29, 30], "synthet": 18, "systemat": 3, "t": 29, "take": 16, "taken": [28, 31], "teach": 26, "teacher": [26, 28], "team": [], "technic": 29, "techniqu": [6, 11, 23], "technologi": 21, "tensorflow": [1, 3], "tent": [26, 28], "term": 32, "test": [0, 1, 15, 17, 29], "texmath": [], "text": 28, "textbook": [27, 28], "than": 30, "thank": [], "theorem": [5, 8, 11, 12, 25, 32], "theoret": 31, "theori": 25, "theta": [18, 32], "thi": 28, "time": 31, "tip": [13, 31], "todo": [], "togeth": 12, "tool": [23, 28], "top": 1, "topic": 28, "toward": 11, "trade": [6, 19, 23], "tradeoff": [6, 32], "train": [0, 1, 4, 15, 28, 29], "transform": 3, "translat": [], "tree": [9, 10], "tuesdai": 30, "tune": 1, "two": [3, 8, 21], "type": [2, 4, 12, 28], "uio": 28, "understand": 32, "univers": [12, 27], "unsupervis": 14, "up": [0, 2, 9, 12, 15, 28, 29, 30, 32], "updat": [23, 31], "us": [0, 1, 2, 3, 7, 13, 16, 18, 19, 21, 23, 28, 29, 30, 31], "usag": 31, "v": [3, 31], "valid": [6, 23, 32], "valu": [5, 11, 19, 25, 29, 30, 32], "vari": 31, "variabl": [25, 30], "varianc": [6, 19, 23, 32], "variou": [0, 32], "vector": [8, 12, 16, 22, 28, 29], "versu": 28, "video": [31, 32], "view": [0, 4, 10, 29], "virtual": 15, "visual": [1, 9], "wai": [9, 23, 32], "wave": 2, "we": [28, 31], "wednesdai": 30, "week": [15, 16, 17, 18, 19, 20, 28, 29, 30, 31, 32], "weekli": [], "welcom": [], "what": [0, 28, 29, 30, 32], "when": 31, "which": [1, 31], "why": [28, 31, 32], "wisconsin": 7, "workflow": [], "wrap": 32, "write": [4, 11, 20, 23, 30], "x": 29, "xgboost": 10, "yaml": [], "yet": 30, "your": [0, 10, 16, 18, 23, 29]}}) \ No newline at end of file +Search.setIndex({"alltitles": {"1a)": [[18, "a"]], "3a)": [[18, "id1"]], "3b)": [[18, "b"]], "4a)": [[18, "id2"]], "4b)": [[18, "id3"]], "A Classification Tree": [[9, "a-classification-tree"]], "A Frequentist approach to data analysis": [[0, "a-frequentist-approach-to-data-analysis"], [28, "a-frequentist-approach-to-data-analysis"]], "A better approach": [[8, "a-better-approach"]], "A first summary": [[28, "a-first-summary"]], "A new Cost Function": [[32, "a-new-cost-function"]], "A quick Reminder on Lagrangian Multipliers": [[8, "a-quick-reminder-on-lagrangian-multipliers"]], "A simple example": [[4, "a-simple-example"]], "A soft classifier": [[8, "a-soft-classifier"]], "A top-down perspective on Neural networks": [[1, "a-top-down-perspective-on-neural-networks"]], "A way to Read the Bias-Variance Tradeoff": [[32, "a-way-to-read-the-bias-variance-tradeoff"]], "ADAM algorithm, taken from Goodfellow et al": [[31, "adam-algorithm-taken-from-goodfellow-et-al"]], "ADAM optimizer": [[13, "adam-optimizer"], [31, "id2"]], "Accuracy": [[31, "accuracy"]], "Activation functions": [[12, "activation-functions"]], "AdaGrad Properties": [[31, "adagrad-properties"]], "AdaGrad Update Rule Derivation": [[31, "adagrad-update-rule-derivation"]], "AdaGrad algorithm, taken from Goodfellow et al": [[31, "adagrad-algorithm-taken-from-goodfellow-et-al"]], "Adam Optimizer": [[31, "adam-optimizer"]], "Adam vs. AdaGrad and RMSProp": [[31, "adam-vs-adagrad-and-rmsprop"]], "Adam: Bias Correction": [[31, "adam-bias-correction"]], "Adam: Exponential Moving Averages (Moments)": [[31, "adam-exponential-moving-averages-moments"]], "Adam: Update Rule Derivation": [[31, "adam-update-rule-derivation"]], "Adaptive boosting: AdaBoost, Basic Algorithm": [[10, "adaptive-boosting-adaboost-basic-algorithm"]], "Adaptivity Across Dimensions": [[31, "adaptivity-across-dimensions"]], "Adding error analysis and training set up": [[28, "adding-error-analysis-and-training-set-up"], [29, "adding-error-analysis-and-training-set-up"]], "Adjust hyperparameters": [[1, "adjust-hyperparameters"]], "Algorithms and codes for Adagrad, RMSprop and Adam": [[31, "algorithms-and-codes-for-adagrad-rmsprop-and-adam"]], "Algorithms for Setting up Decision Trees": [[9, "algorithms-for-setting-up-decision-trees"]], "An Overview of Ensemble Methods": [[10, "an-overview-of-ensemble-methods"]], "An extrapolation example": [[4, "an-extrapolation-example"]], "An optimization/minimization problem": [[28, "an-optimization-minimization-problem"]], "And finally \\boldsymbol{X}\\boldsymbol{X}^T": [[29, "and-finally-boldsymbol-x-boldsymbol-x-t"]], "And finally ADAM": [[31, "and-finally-adam"]], "And what about using neural networks?": [[28, "and-what-about-using-neural-networks"]], "Another Example from Scikit-Learn\u2019s Repository": [[32, "another-example-from-scikit-learn-s-repository"]], "Another Example, now with a polynomial fit": [[30, "another-example-now-with-a-polynomial-fit"]], "Another example, the moons again": [[9, "another-example-the-moons-again"]], "Applied Data Analysis and Machine Learning": [[21, null]], "Assumptions made": [[32, "assumptions-made"]], "Autocorrelation function": [[25, "autocorrelation-function"]], "Automatic differentiation": [[13, "automatic-differentiation"]], "Back to Ridge and LASSO Regression": [[29, "back-to-ridge-and-lasso-regression"], [30, "back-to-ridge-and-lasso-regression"]], "Back to the Cancer Data": [[11, "back-to-the-cancer-data"]], "Background literature": [[23, "background-literature"]], "Bagging": [[10, "bagging"]], "Bagging Examples": [[10, "bagging-examples"]], "Basic Matrix Features": [[22, "basic-matrix-features"]], "Basic ideas of the Principal Component Analysis (PCA)": [[11, null]], "Basic math of the SVD": [[5, "basic-math-of-the-svd"], [29, "basic-math-of-the-svd"], [30, "basic-math-of-the-svd"]], "Basics": [[7, "basics"]], "Basics of a tree": [[9, "basics-of-a-tree"]], "Batch Normalization": [[1, "batch-normalization"]], "Batches and mini-batches": [[31, "batches-and-mini-batches"]], "Bayes\u2019 Theorem and Ridge and Lasso Regression": [[5, "bayes-theorem-and-ridge-and-lasso-regression"]], "Boosting, a Bird\u2019s Eye View": [[10, "boosting-a-bird-s-eye-view"]], "Bootstrap": [[6, "bootstrap"]], "Bringing it together, first back propagation equation": [[12, "bringing-it-together-first-back-propagation-equation"]], "Building a Feed Forward Neural Network": [[1, null]], "Building a tree, regression": [[9, "building-a-tree-regression"]], "Building neural networks in Tensorflow and Keras": [[1, "building-neural-networks-in-tensorflow-and-keras"]], "But none of these can compete with Newton\u2019s method": [[31, "but-none-of-these-can-compete-with-newton-s-method"]], "CNNs in more detail, building convolutional neural networks in Tensorflow and Keras": [[3, "cnns-in-more-detail-building-convolutional-neural-networks-in-tensorflow-and-keras"]], "Cancer Data again now with Decision Trees and other Methods": [[9, "cancer-data-again-now-with-decision-trees-and-other-methods"]], "Challenge: Choosing a Fixed Learning Rate": [[31, "challenge-choosing-a-fixed-learning-rate"]], "Choose cost function and optimizer": [[1, "choose-cost-function-and-optimizer"]], "Classical PCA Theorem": [[11, "classical-pca-theorem"]], "Clustering and Unsupervised Learning": [[14, null]], "Code Example for Cross-validation and k-fold Cross-validation": [[32, "code-example-for-cross-validation-and-k-fold-cross-validation"]], "Code example for the Bootstrap method": [[32, "code-example-for-the-bootstrap-method"]], "Code for SVD and Inversion of Matrices": [[5, "code-for-svd-and-inversion-of-matrices"]], "Code with a Number of Minibatches which varies": [[31, "code-with-a-number-of-minibatches-which-varies"]], "Codes and Approaches": [[14, "codes-and-approaches"]], "Codes for the SVD": [[5, "codes-for-the-svd"], [29, "codes-for-the-svd"], [30, "codes-for-the-svd"]], "Coding Setup and Linear Regression": [[15, "coding-setup-and-linear-regression"]], "Collect and pre-process data": [[1, "collect-and-pre-process-data"]], "Communication channels": [[28, "communication-channels"]], "Compare Bagging on Trees with Random Forests": [[10, "compare-bagging-on-trees-with-random-forests"]], "Comparing with a numerical scheme": [[2, "comparing-with-a-numerical-scheme"]], "Comparison with OLS": [[30, "comparison-with-ols"]], "Computation of gradients": [[31, "computation-of-gradients"]], "Computing the Gini index": [[9, "computing-the-gini-index"]], "Conditions on convex functions": [[30, "conditions-on-convex-functions"]], "Confidence Intervals": [[32, "confidence-intervals"]], "Conjugate gradient method": [[13, "conjugate-gradient-method"]], "Convergence rates": [[31, "convergence-rates"]], "Convex function": [[30, "convex-function"]], "Convex functions": [[13, "convex-functions"], [30, "convex-functions"]], "Convolution Examples: Polynomial multiplication": [[3, "convolution-examples-polynomial-multiplication"]], "Convolution Examples: Principle of Superposition and Periodic Forces (Fourier Transforms)": [[3, "convolution-examples-principle-of-superposition-and-periodic-forces-fourier-transforms"]], "Convolutional Neural Network": [[12, "convolutional-neural-network"]], "Convolutional Neural Networks": [[3, null]], "Correlation Function and Design/Feature Matrix": [[29, "correlation-function-and-design-feature-matrix"]], "Correlation Matrix": [[11, "correlation-matrix"], [29, "correlation-matrix"]], "Correlation Matrix with Pandas": [[29, "correlation-matrix-with-pandas"]], "Course Format": [[28, "course-format"]], "Course setting": [[24, null]], "Covariance Matrix Examples": [[29, "covariance-matrix-examples"]], "Covariance and Correlation Matrix": [[29, "covariance-and-correlation-matrix"]], "Cross-validation": [[6, "cross-validation"]], "Cross-validation in brief": [[32, "cross-validation-in-brief"]], "Deadlines for projects (tentative)": [[28, "deadlines-for-projects-tentative"]], "Decision trees, overarching aims": [[9, null]], "Deep Neural Networks": [[31, "deep-neural-networks"]], "Deep learning methods": [[28, "deep-learning-methods"]], "Define model and architecture": [[1, "define-model-and-architecture"]], "Defining the cost function": [[1, "defining-the-cost-function"]], "Definitions": [[19, "definitions"]], "Deliverables": [[15, "deliverables"], [16, "deliverables"], [19, "deliverables"], [20, "deliverables"]], "Derivation of the AdaGrad Algorithm": [[31, "derivation-of-the-adagrad-algorithm"]], "Derivatives and the chain rule": [[12, "derivatives-and-the-chain-rule"]], "Derivatives, example 1": [[29, "derivatives-example-1"]], "Deriving OLS from a probability distribution": [[5, "deriving-ols-from-a-probability-distribution"], [32, "deriving-ols-from-a-probability-distribution"]], "Deriving and Implementing Ordinary Least Squares": [[16, "deriving-and-implementing-ordinary-least-squares"]], "Deriving and Implementing Ridge Regression": [[17, "deriving-and-implementing-ridge-regression"]], "Deriving the Lasso Regression Equations": [[29, "deriving-the-lasso-regression-equations"], [30, "deriving-the-lasso-regression-equations"], [30, "id6"]], "Deriving the Ridge Regression Equations": [[29, "deriving-the-ridge-regression-equations"], [30, "deriving-the-ridge-regression-equations"], [30, "id3"]], "Deriving the back propagation code for a multilayer perceptron model": [[12, "deriving-the-back-propagation-code-for-a-multilayer-perceptron-model"]], "Developing a code for doing neural networks with back propagation": [[1, "developing-a-code-for-doing-neural-networks-with-back-propagation"]], "Diagonalize the sample covariance matrix to obtain the principal components": [[11, "diagonalize-the-sample-covariance-matrix-to-obtain-the-principal-components"]], "Different kernels and Mercer\u2019s theorem": [[8, "different-kernels-and-mercer-s-theorem"]], "Disadvantages": [[9, "disadvantages"]], "Discriminative Modeling": [[28, "discriminative-modeling"]], "Domains and probabilities": [[25, "domains-and-probabilities"]], "Dropout": [[1, "dropout"]], "Economy-size SVD": [[29, "economy-size-svd"], [30, "economy-size-svd"]], "Elements of Probability Theory and Statistical Data Analysis": [[25, null]], "Empirical Evidence: Convergence Time and Memory in Practice": [[31, "empirical-evidence-convergence-time-and-memory-in-practice"]], "Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods": [[10, null]], "Entropy and the ID3 algorithm": [[9, "entropy-and-the-id3-algorithm"]], "Essential elements of ML": [[28, "essential-elements-of-ml"]], "Evaluate model performance on test data": [[1, "evaluate-model-performance-on-test-data"]], "Example 2": [[29, "example-2"]], "Example 3": [[29, "example-3"]], "Example 4": [[29, "example-4"]], "Example Matrix": [[29, "example-matrix"], [30, "example-matrix"]], "Example code for Bias-Variance tradeoff": [[32, "example-code-for-bias-variance-tradeoff"]], "Example of discriminative modeling, taken from Generative Deep Learning by David Foster": [[28, "example-of-discriminative-modeling-taken-from-generative-deep-learning-by-david-foster"]], "Example of generative modeling, taken from Generative Deep Learning by David Foster": [[28, "example-of-generative-modeling-taken-from-generative-deep-learning-by-david-foster"]], "Example of own Standard scaling": [[29, "example-of-own-standard-scaling"]], "Example relevant for the exercises": [[29, "example-relevant-for-the-exercises"]], "Example: Exponential decay": [[2, "example-exponential-decay"]], "Example: Population growth": [[2, "example-population-growth"]], "Example: The diffusion equation": [[2, "example-the-diffusion-equation"]], "Example: binary classification problem": [[1, "example-binary-classification-problem"]], "Examples": [[28, "examples"]], "Examples of likelihood functions used in logistic regression and neural networks": [[7, "examples-of-likelihood-functions-used-in-logistic-regression-and-neural-networks"]], "Exercise 1 - Choice of model and degrees of freedom": [[17, "exercise-1-choice-of-model-and-degrees-of-freedom"]], "Exercise 1 - Finding the derivative of Matrix-Vector expressions": [[16, "exercise-1-finding-the-derivative-of-matrix-vector-expressions"]], "Exercise 1 - Github Setup": [[15, "exercise-1-github-setup"]], "Exercise 1, scale your data": [[18, "exercise-1-scale-your-data"]], "Exercise 1: Creating the report document": [[20, "exercise-1-creating-the-report-document"]], "Exercise 1: Expectation values for ordinary least squares expressions": [[19, "exercise-1-expectation-values-for-ordinary-least-squares-expressions"]], "Exercise 1: Setting up various Python environments": [[0, "exercise-1-setting-up-various-python-environments"]], "Exercise 2 - Deriving the expression for OLS": [[16, "exercise-2-deriving-the-expression-for-ols"]], "Exercise 2 - Deriving the expression for Ridge Regression": [[17, "exercise-2-deriving-the-expression-for-ridge-regression"]], "Exercise 2 - Setting up a Github repository": [[15, "exercise-2-setting-up-a-github-repository"]], "Exercise 2, calculate the gradients": [[18, "exercise-2-calculate-the-gradients"]], "Exercise 2: Adding good figures": [[20, "exercise-2-adding-good-figures"]], "Exercise 2: Expectation values for Ridge regression": [[19, "exercise-2-expectation-values-for-ridge-regression"]], "Exercise 2: making your own data and exploring scikit-learn": [[0, "exercise-2-making-your-own-data-and-exploring-scikit-learn"]], "Exercise 3 - Creating feature matrix and implementing OLS using the analytical expression": [[16, "exercise-3-creating-feature-matrix-and-implementing-ols-using-the-analytical-expression"]], "Exercise 3 - Fitting an OLS model to data": [[15, "exercise-3-fitting-an-ols-model-to-data"]], "Exercise 3 - Scaling data": [[17, "exercise-3-scaling-data"]], "Exercise 3 - Setting up a Python virtual environment": [[15, "exercise-3-setting-up-a-python-virtual-environment"]], "Exercise 3, using the analytical formulae for OLS and Ridge regression to find the optimal paramters \\boldsymbol{\\theta}": [[18, "exercise-3-using-the-analytical-formulae-for-ols-and-ridge-regression-to-find-the-optimal-paramters-boldsymbol-theta"]], "Exercise 3: Deriving the expression for the Bias-Variance Trade-off": [[19, "exercise-3-deriving-the-expression-for-the-bias-variance-trade-off"]], "Exercise 3: Normalizing our data": [[0, "exercise-3-normalizing-our-data"]], "Exercise 3: Writing an abstract and introduction": [[20, "exercise-3-writing-an-abstract-and-introduction"]], "Exercise 4 - Fitting a polynomial": [[16, "exercise-4-fitting-a-polynomial"]], "Exercise 4 - Implementing Ridge Regression": [[17, "exercise-4-implementing-ridge-regression"]], "Exercise 4 - Testing multiple hyperparameters": [[17, "exercise-4-testing-multiple-hyperparameters"]], "Exercise 4 - The train-test split": [[15, "exercise-4-the-train-test-split"]], "Exercise 4, Implementing the simplest form for gradient descent": [[18, "exercise-4-implementing-the-simplest-form-for-gradient-descent"]], "Exercise 4: Adding Ridge Regression": [[0, "exercise-4-adding-ridge-regression"]], "Exercise 4: Computing the Bias and Variance": [[19, "exercise-4-computing-the-bias-and-variance"]], "Exercise 4: Making the code available and presentable": [[20, "exercise-4-making-the-code-available-and-presentable"]], "Exercise 5 - Comparing your code with sklearn": [[16, "exercise-5-comparing-your-code-with-sklearn"]], "Exercise 5, Ridge regression and a new Synthetic Dataset": [[18, "exercise-5-ridge-regression-and-a-new-synthetic-dataset"]], "Exercise 5: Analytical exercises": [[0, "exercise-5-analytical-exercises"]], "Exercise 5: Interpretation of scaling and metrics": [[19, "exercise-5-interpretation-of-scaling-and-metrics"]], "Exercise 5: Referencing": [[20, "exercise-5-referencing"]], "Exercise: Cross-validation as resampling techniques, adding more complexity": [[6, "exercise-cross-validation-as-resampling-techniques-adding-more-complexity"]], "Exercise: Analysis of real data": [[6, "exercise-analysis-of-real-data"]], "Exercise: Bias-variance trade-off and resampling techniques": [[6, "exercise-bias-variance-trade-off-and-resampling-techniques"]], "Exercise: Lasso Regression on the Franke function with resampling": [[6, "exercise-lasso-regression-on-the-franke-function-with-resampling"]], "Exercise: Ordinary Least Square (OLS) on the Franke function": [[6, "exercise-ordinary-least-square-ols-on-the-franke-function"]], "Exercise: Ridge Regression on the Franke function with resampling": [[6, "exercise-ridge-regression-on-the-franke-function-with-resampling"]], "Exercises": [[0, "exercises"]], "Exercises and Projects": [[6, "exercises-and-projects"]], "Exercises week 34": [[15, null]], "Exercises week 35": [[16, null]], "Exercises week 36": [[17, null]], "Exercises week 37": [[18, null]], "Exercises week 38": [[19, null]], "Exercises week 39": [[20, null]], "Expectation value and variance": [[32, "expectation-value-and-variance"]], "Expectation value and variance for \\boldsymbol{\\theta}": [[32, "expectation-value-and-variance-for-boldsymbol-theta"]], "Expectation values": [[25, "expectation-values"]], "Extending to more than one variable": [[30, "extending-to-more-than-one-variable"]], "Extremely useful tools, strongly recommended": [[28, "extremely-useful-tools-strongly-recommended"]], "Feed-forward neural networks": [[12, "feed-forward-neural-networks"]], "Feed-forward pass": [[1, "feed-forward-pass"]], "Final back propagating equation": [[12, "final-back-propagating-equation"]], "Finding the Limit": [[32, "finding-the-limit"]], "Fine-tuning neural network hyperparameters": [[1, "fine-tuning-neural-network-hyperparameters"]], "Fitting an Equation of State for Dense Nuclear Matter": [[0, "fitting-an-equation-of-state-for-dense-nuclear-matter"]], "Fixing the singularity": [[29, "fixing-the-singularity"], [30, "fixing-the-singularity"]], "Format for electronic delivery of report and programs": [[23, "format-for-electronic-delivery-of-report-and-programs"]], "Frequently used scaling functions": [[29, "frequently-used-scaling-functions"], [31, "frequently-used-scaling-functions"]], "From OLS to Ridge and Lasso": [[30, "from-ols-to-ridge-and-lasso"]], "From one to many layers, the universal approximation theorem": [[12, "from-one-to-many-layers-the-universal-approximation-theorem"]], "Functionality in Scikit-Learn": [[29, "functionality-in-scikit-learn"], [31, "functionality-in-scikit-learn"]], "Further Dimensionality Remarks": [[3, "further-dimensionality-remarks"]], "Further properties (important for our analyses later)": [[5, "further-properties-important-for-our-analyses-later"], [29, "further-properties-important-for-our-analyses-later"], [30, "further-properties-important-for-our-analyses-later"]], "Gaussian Elimination": [[22, "gaussian-elimination"]], "General Features": [[9, "general-features"]], "General linear models and linear algebra": [[28, "general-linear-models-and-linear-algebra"]], "Generalizing the fitting procedure as a linear algebra problem": [[28, "generalizing-the-fitting-procedure-as-a-linear-algebra-problem"], [28, "id1"]], "Generative Adversarial Networks": [[4, "generative-adversarial-networks"]], "Generative Models": [[4, "generative-models"]], "Generative Versus Discriminative Modeling": [[28, "generative-versus-discriminative-modeling"]], "Geometric Interpretation and link with Singular Value Decomposition": [[11, "geometric-interpretation-and-link-with-singular-value-decomposition"]], "Getting started with project 1": [[20, "getting-started-with-project-1"]], "Gradient Boosting, Classification Example": [[10, "gradient-boosting-classification-example"]], "Gradient Boosting, Examples of Regression": [[10, "gradient-boosting-examples-of-regression"]], "Gradient Clipping": [[1, "gradient-clipping"]], "Gradient Descent Example": [[30, "id1"], [31, "id1"]], "Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent": [[10, "gradient-boosting-basics-with-steepest-descent-functional-gradient-descent"]], "Gradient descent": [[2, "gradient-descent"]], "Gradient descent and Ridge": [[30, "gradient-descent-and-ridge"], [31, "gradient-descent-and-ridge"]], "Gradient descent and revisiting Ordinary Least Squares from last week": [[31, "gradient-descent-and-revisiting-ordinary-least-squares-from-last-week"]], "Gradient descent example": [[30, "gradient-descent-example"], [31, "gradient-descent-example"]], "Grading": [[26, "grading"], [26, "id2"], [28, "grading"]], "How to take derivatives of Matrix-Vector expressions": [[16, "how-to-take-derivatives-of-matrix-vector-expressions"]], "Hyperplanes and all that": [[8, "hyperplanes-and-all-that"]], "Identifying Terms": [[32, "identifying-terms"]], "Important Matrix and vector handling packages": [[22, "important-matrix-and-vector-handling-packages"]], "Important technicalities: More on Rescaling data": [[29, "important-technicalities-more-on-rescaling-data"]], "Improving gradient descent with momentum": [[31, "improving-gradient-descent-with-momentum"]], "Improving performance": [[1, "improving-performance"]], "In summary": [[26, "in-summary"]], "Including Stochastic Gradient Descent with Autograd": [[13, "including-stochastic-gradient-descent-with-autograd"], [31, "including-stochastic-gradient-descent-with-autograd"]], "Incremental PCA": [[11, "incremental-pca"]], "Independent and Identically Distributed (iid)": [[32, "independent-and-identically-distributed-iid"]], "Installing R, C++, cython or Julia": [[28, "installing-r-c-cython-or-julia"]], "Installing R, C++, cython, Numba etc": [[28, "installing-r-c-cython-numba-etc"]], "Instructor information": [[26, "instructor-information"]], "Interpretations and optimizing our parameters": [[28, "interpretations-and-optimizing-our-parameters"], [28, "id2"], [28, "id3"], [29, "interpretations-and-optimizing-our-parameters"], [29, "id1"], [29, "id2"]], "Interpreting the Ridge results": [[29, "interpreting-the-ridge-results"], [30, "interpreting-the-ridge-results"], [30, "id4"]], "Introducing JAX": [[13, "introducing-jax"]], "Introducing the Covariance and Correlation functions": [[11, "introducing-the-covariance-and-correlation-functions"], [29, "introducing-the-covariance-and-correlation-functions"]], "Introduction": [[0, "introduction"], [6, "introduction"], [21, "introduction"], [22, "introduction"]], "Introduction to numerical projects": [[23, "introduction-to-numerical-projects"]], "Iterative Fitting, Classification and AdaBoost": [[10, "iterative-fitting-classification-and-adaboost"]], "Iterative Fitting, Regression and Squared-error Cost Function": [[10, "iterative-fitting-regression-and-squared-error-cost-function"]], "Kernel PCA": [[11, "kernel-pca"]], "Kernels and non-linearity": [[8, "kernels-and-non-linearity"]], "LU Decomposition, the inverse of a matrix": [[22, "lu-decomposition-the-inverse-of-a-matrix"]], "Lasso Regression": [[30, "lasso-regression"]], "Lasso case": [[30, "lasso-case"]], "Layers": [[1, "layers"]], "Layers used to build CNNs": [[3, "layers-used-to-build-cnns"]], "Learning goals": [[15, "learning-goals"], [16, "learning-goals"], [17, "learning-goals"], [18, "learning-goals"], [19, "learning-goals"], [20, "learning-goals"]], "Learning outcomes": [[21, "learning-outcomes"], [28, "learning-outcomes"]], "Lectures and ComputerLab": [[28, "lectures-and-computerlab"]], "Limitations of supervised learning with deep networks": [[1, "limitations-of-supervised-learning-with-deep-networks"]], "Linear Algebra, Handling of Arrays and more Python Features": [[22, null]], "Linear Regression": [[0, null]], "Linear Regression Problems": [[29, "linear-regression-problems"], [30, "linear-regression-problems"]], "Linear Regression and the SVD": [[30, "linear-regression-and-the-svd"]], "Linear Regression, basic elements": [[0, "linear-regression-basic-elements"]], "Linking Bayes\u2019 Theorem with Ridge and Lasso Regression": [[5, "linking-bayes-theorem-with-ridge-and-lasso-regression"]], "Linking the regression analysis with a statistical interpretation": [[5, "linking-the-regression-analysis-with-a-statistical-interpretation"], [32, "linking-the-regression-analysis-with-a-statistical-interpretation"]], "Linking with the SVD": [[5, "linking-with-the-svd"], [29, "linking-with-the-svd"]], "Links to relevant courses at the University of Oslo": [[27, "links-to-relevant-courses-at-the-university-of-oslo"]], "Logistic Regression": [[7, null], [7, "id1"]], "MNIST and GANs": [[4, "mnist-and-gans"]], "Machine Learning": [[28, "machine-learning"]], "Machine learning": [[21, "machine-learning"]], "Main textbooks": [[28, "main-textbooks"]], "Making a tree": [[9, "making-a-tree"]], "Making your own Bootstrap: Changing the Level of the Decision Tree": [[10, "making-your-own-bootstrap-changing-the-level-of-the-decision-tree"]], "Making your own test-train splitting": [[29, "making-your-own-test-train-splitting"]], "Material for exercises week 35": [[29, "material-for-exercises-week-35"]], "Material for lab sessions sessions Tuesday and Wednesday": [[30, "material-for-lab-sessions-sessions-tuesday-and-wednesday"]], "Material for lecture Monday September 2": [[30, "material-for-lecture-monday-september-2"]], "Material for lecture Monday September 8": [[31, "material-for-lecture-monday-september-8"]], "Material for the lab sessions": [[31, "material-for-the-lab-sessions"], [32, "material-for-the-lab-sessions"]], "Mathematical Interpretation of Ordinary Least Squares": [[5, "mathematical-interpretation-of-ordinary-least-squares"], [29, "mathematical-interpretation-of-ordinary-least-squares"], [30, "mathematical-interpretation-of-ordinary-least-squares"]], "Mathematical optimization of convex functions": [[8, "mathematical-optimization-of-convex-functions"]], "Mathematics of CNNs": [[3, "mathematics-of-cnns"]], "Mathematics of the SVD and implications": [[5, "mathematics-of-the-svd-and-implications"], [29, "mathematics-of-the-svd-and-implications"], [30, "mathematics-of-the-svd-and-implications"]], "Matrices in Python": [[28, "matrices-in-python"]], "Matrix multiplication": [[1, "matrix-multiplication"]], "Matrix-vector notation and activation": [[12, "matrix-vector-notation-and-activation"]], "Maximum Likelihood Estimation (MLE)": [[32, "maximum-likelihood-estimation-mle"]], "Meet the covariance!": [[25, "meet-the-covariance"]], "Meet the Covariance Matrix": [[5, "meet-the-covariance-matrix"], [29, "meet-the-covariance-matrix"]], "Meet the Hessian Matrix": [[29, "meet-the-hessian-matrix"]], "Meet the Pandas": [[28, "meet-the-pandas"]], "Memory Usage and Scalability": [[31, "memory-usage-and-scalability"]], "Memory constraints": [[31, "memory-constraints"]], "Min-Max Scaling": [[29, "min-max-scaling"]], "Momentum based GD": [[13, "momentum-based-gd"], [31, "momentum-based-gd"]], "More complicated Example: The Ising model": [[6, "more-complicated-example-the-ising-model"]], "More examples on bootstrap and cross-validation and errors": [[32, "more-examples-on-bootstrap-and-cross-validation-and-errors"]], "More interpretations": [[29, "more-interpretations"], [30, "more-interpretations"], [30, "id5"]], "More on Dimensionalities": [[3, "more-on-dimensionalities"]], "More on Rescaling data": [[6, "more-on-rescaling-data"]], "More on Steepest descent": [[30, "more-on-steepest-descent"]], "More on convex functions": [[30, "more-on-convex-functions"]], "More preprocessing": [[29, "more-preprocessing"], [31, "more-preprocessing"]], "Motivation for Adaptive Step Sizes": [[31, "motivation-for-adaptive-step-sizes"]], "Multilayer perceptrons": [[12, "multilayer-perceptrons"]], "Network requirements": [[2, "network-requirements"]], "Neural Networks vs CNNs": [[3, "neural-networks-vs-cnns"]], "Neural networks": [[12, null]], "Non-Convex Problems": [[31, "non-convex-problems"]], "Note about SVD Calculations": [[29, "note-about-svd-calculations"], [30, "note-about-svd-calculations"]], "Note on Scikit-Learn": [[30, "note-on-scikit-learn"]], "Numerical experiments and the covariance, central limit theorem": [[25, "numerical-experiments-and-the-covariance-central-limit-theorem"]], "Numpy and arrays": [[22, "numpy-and-arrays"], [28, "numpy-and-arrays"]], "Numpy examples and Important Matrix and vector handling packages": [[28, "numpy-examples-and-important-matrix-and-vector-handling-packages"]], "Optimization and gradient descent, the central part of any Machine Learning algortithm": [[30, "optimization-and-gradient-descent-the-central-part-of-any-machine-learning-algortithm"]], "Optimization, the central part of any Machine Learning algortithm": [[13, null]], "Optimizing our parameters": [[28, "optimizing-our-parameters"]], "Optimizing our parameters, more details": [[28, "optimizing-our-parameters-more-details"]], "Optimizing the cost function": [[1, "optimizing-the-cost-function"]], "Organizing our data": [[0, "organizing-our-data"], [28, "organizing-our-data"]], "Other Matrix and Vector Operations": [[22, "other-matrix-and-vector-operations"]], "Other Types of Recurrent Neural Networks": [[4, "other-types-of-recurrent-neural-networks"]], "Other courses on Data science and Machine Learning at UiO": [[28, "other-courses-on-data-science-and-machine-learning-at-uio"]], "Other courses on Data science and Machine Learning at UiO, contn": [[28, "other-courses-on-data-science-and-machine-learning-at-uio-contn"]], "Other popular texts": [[28, "other-popular-texts"]], "Other techniques": [[11, "other-techniques"]], "Other types of networks": [[12, "other-types-of-networks"]], "Other ways of visualizing the trees": [[9, "other-ways-of-visualizing-the-trees"]], "Our model for the nuclear binding energies": [[28, "our-model-for-the-nuclear-binding-energies"]], "Overview of first week": [[28, "overview-of-first-week"]], "Overview video on Stochastic Gradient Descent (SGD)": [[31, "overview-video-on-stochastic-gradient-descent-sgd"]], "Own code for Ordinary Least Squares": [[28, "own-code-for-ordinary-least-squares"], [29, "own-code-for-ordinary-least-squares"]], "PCA and scikit-learn": [[11, "pca-and-scikit-learn"]], "Pandas AI": [[28, "pandas-ai"]], "Part a : Ordinary Least Square (OLS) for the Runge function": [[23, "part-a-ordinary-least-square-ols-for-the-runge-function"]], "Part b: Adding Ridge regression for the Runge function": [[23, "part-b-adding-ridge-regression-for-the-runge-function"]], "Part c: Writing your own gradient descent code": [[23, "part-c-writing-your-own-gradient-descent-code"]], "Part d: Including momentum and more advanced ways to update the learning the rate": [[23, "part-d-including-momentum-and-more-advanced-ways-to-update-the-learning-the-rate"]], "Part e: Writing our own code for Lasso regression": [[23, "part-e-writing-our-own-code-for-lasso-regression"]], "Part f: Stochastic gradient descent": [[23, "part-f-stochastic-gradient-descent"]], "Part g: Bias-variance trade-off and resampling techniques": [[23, "part-g-bias-variance-trade-off-and-resampling-techniques"]], "Part h): Cross-validation as resampling techniques, adding more complexity": [[23, "part-h-cross-validation-as-resampling-techniques-adding-more-complexity"]], "Partial Differential Equations": [[2, "partial-differential-equations"]], "Plans for week 35": [[29, "plans-for-week-35"]], "Plans for week 36": [[30, "plans-for-week-36"]], "Plans for week 37, lecture Monday": [[31, "plans-for-week-37-lecture-monday"]], "Plans for week 38, lecture Monday September 15": [[32, "plans-for-week-38-lecture-monday-september-15"]], "Plotting the Histogram": [[32, "plotting-the-histogram"]], "Practical tips": [[13, "practical-tips"], [31, "practical-tips"]], "Practicalities": [[26, "practicalities"], [26, "id1"]], "Preamble: Note on writing reports, using reference material, AI and other tools": [[23, "preamble-note-on-writing-reports-using-reference-material-ai-and-other-tools"]], "Predicting New Points With A Trained Recurrent Neural Network": [[4, "predicting-new-points-with-a-trained-recurrent-neural-network"]], "Preprocessing our data": [[29, "preprocessing-our-data"]], "Prerequisites": [[28, "prerequisites"]], "Prerequisites and background": [[21, "prerequisites-and-background"]], "Prerequisites: Collect and pre-process data": [[3, "prerequisites-collect-and-pre-process-data"]], "Probability Distribution Functions": [[25, "probability-distribution-functions"]], "Program example for gradient descent with Ridge Regression": [[30, "program-example-for-gradient-descent-with-ridge-regression"], [31, "program-example-for-gradient-descent-with-ridge-regression"]], "Program for stochastic gradient": [[13, "program-for-stochastic-gradient"]], "Project 1 on Machine Learning, deadline October 6 (midnight), 2025": [[23, null]], "Properties of PDFs": [[25, "properties-of-pdfs"]], "Pros and cons": [[31, "pros-and-cons"]], "Pros and cons of trees, pros": [[9, "pros-and-cons-of-trees-pros"]], "Python installers": [[21, "python-installers"], [28, "python-installers"]], "RMS prop": [[13, "rms-prop"]], "RMSProp algorithm, taken from Goodfellow et al": [[31, "rmsprop-algorithm-taken-from-goodfellow-et-al"]], "RMSProp: Adaptive Learning Rates": [[31, "rmsprop-adaptive-learning-rates"]], "RMSprop for adaptive learning rate with Stochastic Gradient Descent": [[31, "rmsprop-for-adaptive-learning-rate-with-stochastic-gradient-descent"]], "Random Numbers": [[25, "random-numbers"]], "Random forests": [[10, "random-forests"]], "Randomized PCA": [[11, "randomized-pca"]], "Reading material": [[28, "reading-material"]], "Reading recommendations:": [[29, "reading-recommendations"]], "Reading suggestions week 34": [[28, "reading-suggestions-week-34"]], "Readings and Videos": [[32, "readings-and-videos"]], "Readings and Videos:": [[31, "readings-and-videos"]], "Recurrent neural networks": [[12, "recurrent-neural-networks"]], "Recurrent neural networks: Overarching view": [[4, null]], "Reducing the number of degrees of freedom, overarching view": [[0, "reducing-the-number-of-degrees-of-freedom-overarching-view"], [29, "reducing-the-number-of-degrees-of-freedom-overarching-view"]], "Reformulating the problem": [[2, "reformulating-the-problem"]], "Regression Case": [[10, "regression-case"]], "Regression analysis and resampling methods": [[23, "regression-analysis-and-resampling-methods"]], "Regression analysis, overarching aims": [[28, "regression-analysis-overarching-aims"]], "Regression analysis, overarching aims II": [[28, "regression-analysis-overarching-aims-ii"]], "Regularization": [[1, "regularization"]], "Reminder from last week": [[29, "reminder-from-last-week"]], "Reminder on Newton-Raphson\u2019s method": [[30, "reminder-on-newton-raphson-s-method"]], "Reminder on Statistics": [[6, "reminder-on-statistics"]], "Reminder on different scaling methods": [[31, "reminder-on-different-scaling-methods"]], "Replace or not": [[13, "replace-or-not"], [31, "replace-or-not"]], "Required Technologies": [[21, "required-technologies"]], "Resampling Methods": [[6, null]], "Resampling and the Bias-Variance Trade-off": [[19, "resampling-and-the-bias-variance-trade-off"]], "Resampling approaches can be computationally expensive": [[32, "resampling-approaches-can-be-computationally-expensive"]], "Resampling methods": [[6, "id1"], [32, "resampling-methods"], [32, "id2"]], "Resampling methods: Bootstrap": [[32, "resampling-methods-bootstrap"]], "Resampling methods: Bootstrap approach": [[32, "resampling-methods-bootstrap-approach"]], "Resampling methods: Bootstrap background": [[32, "resampling-methods-bootstrap-background"]], "Resampling methods: Bootstrap steps": [[32, "resampling-methods-bootstrap-steps"]], "Resampling methods: More Bootstrap background": [[32, "resampling-methods-more-bootstrap-background"]], "Residual Error": [[29, "residual-error"], [30, "residual-error"]], "Resources on differential equations and deep learning": [[2, "resources-on-differential-equations-and-deep-learning"]], "Revisiting Ordinary Least Squares": [[30, "revisiting-ordinary-least-squares"]], "Revisiting our Linear Regression Solvers": [[13, "revisiting-our-linear-regression-solvers"]], "Rewriting the Covariance and/or Correlation Matrix": [[29, "rewriting-the-covariance-and-or-correlation-matrix"]], "Rewriting the \\delta-function": [[32, "rewriting-the-delta-function"]], "Rewriting the fitting procedure as a linear algebra problem": [[28, "rewriting-the-fitting-procedure-as-a-linear-algebra-problem"]], "Rewriting the fitting procedure as a linear algebra problem, more details": [[28, "rewriting-the-fitting-procedure-as-a-linear-algebra-problem-more-details"]], "Ridge Regression": [[30, "ridge-regression"]], "Ridge and LASSO Regression": [[29, "ridge-and-lasso-regression"], [30, "ridge-and-lasso-regression"], [30, "id2"]], "Ridge and Lasso Regression": [[5, null], [5, "id1"]], "SGD example": [[31, "sgd-example"]], "SGD vs Full-Batch GD: Convergence Speed and Memory Comparison": [[31, "sgd-vs-full-batch-gd-convergence-speed-and-memory-comparison"]], "SVD analysis": [[30, "svd-analysis"]], "Same code but now with momentum gradient descent": [[13, "same-code-but-now-with-momentum-gradient-descent"], [31, "same-code-but-now-with-momentum-gradient-descent"], [31, "id3"], [31, "id4"]], "Schedule first week": [[28, "schedule-first-week"]], "Schematic Regression Procedure": [[9, "schematic-regression-procedure"]], "Second moment of the gradient": [[31, "second-moment-of-the-gradient"]], "September 15-19": [[19, "september-15-19"]], "Setting up the Back propagation algorithm": [[12, "setting-up-the-back-propagation-algorithm"]], "Setting up the Matrix to be inverted": [[29, "setting-up-the-matrix-to-be-inverted"], [30, "setting-up-the-matrix-to-be-inverted"]], "Setting up the network using Autograd; The full program": [[2, "setting-up-the-network-using-autograd-the-full-program"]], "Similar (second order function now) problem but now with AdaGrad": [[13, "similar-second-order-function-now-problem-but-now-with-adagrad"], [31, "similar-second-order-function-now-problem-but-now-with-adagrad"]], "Simple Python Code to read in Data and perform Classification": [[9, "simple-python-code-to-read-in-data-and-perform-classification"]], "Simple case": [[29, "simple-case"], [30, "simple-case"]], "Simple code for solving the above problem": [[30, "simple-code-for-solving-the-above-problem"]], "Simple example code": [[31, "simple-example-code"]], "Simple example to illustrate Ordinary Least Squares, Ridge and Lasso Regression": [[30, "simple-example-to-illustrate-ordinary-least-squares-ridge-and-lasso-regression"]], "Simple geometric interpretation": [[30, "simple-geometric-interpretation"]], "Simple linear regression model using scikit-learn": [[0, "simple-linear-regression-model-using-scikit-learn"], [28, "simple-linear-regression-model-using-scikit-learn"]], "Simple one-dimensional second-order polynomial": [[18, "simple-one-dimensional-second-order-polynomial"]], "Simple program": [[30, "simple-program"], [31, "simple-program"]], "Slightly different approach": [[31, "slightly-different-approach"]], "Sneaking in automatic differentiation using Autograd": [[31, "sneaking-in-automatic-differentiation-using-autograd"]], "Software and needed installations": [[23, "software-and-needed-installations"], [28, "software-and-needed-installations"]], "Solving Differential Equations with Deep Learning": [[2, null]], "Solving the one dimensional Poisson equation": [[2, "solving-the-one-dimensional-poisson-equation"]], "Solving the wave equation with Neural Networks": [[2, "solving-the-wave-equation-with-neural-networks"]], "Some famous Matrices": [[22, "some-famous-matrices"]], "Some simple problems": [[13, "some-simple-problems"], [30, "some-simple-problems"]], "Some useful matrix and vector expressions": [[29, "some-useful-matrix-and-vector-expressions"]], "Splitting our Data in Training and Test data": [[0, "splitting-our-data-in-training-and-test-data"], [29, "splitting-our-data-in-training-and-test-data"]], "Standard Approach based on the Normal Distribution": [[32, "standard-approach-based-on-the-normal-distribution"]], "Standard steepest descent": [[13, "standard-steepest-descent"]], "Statistical analysis": [[32, "statistical-analysis"]], "Statistical analysis and optimization of data": [[21, "statistical-analysis-and-optimization-of-data"], [28, "statistical-analysis-and-optimization-of-data"]], "Steepest descent": [[13, "steepest-descent"], [30, "steepest-descent"]], "Stochastic Gradient Descent": [[31, "stochastic-gradient-descent"]], "Stochastic Gradient Descent (SGD)": [[13, "stochastic-gradient-descent-sgd"], [31, "stochastic-gradient-descent-sgd"]], "Stochastic variables and the main concepts, the discrete case": [[25, "stochastic-variables-and-the-main-concepts-the-discrete-case"]], "Strongly Convex Case": [[31, "strongly-convex-case"]], "Summing up": [[32, "summing-up"]], "Support Vector Machines, overarching aims": [[8, null]], "Systematic reduction": [[3, "systematic-reduction"]], "Teachers": [[28, "teachers"]], "Teachers and Grading": [[26, null]], "Teaching Assistants Fall semester 2023": [[26, "teaching-assistants-fall-semester-2023"]], "Tentative deadllines for projects": [[26, "tentative-deadllines-for-projects"]], "Testing the Means Squared Error as function of Complexity": [[0, "testing-the-means-squared-error-as-function-of-complexity"], [29, "testing-the-means-squared-error-as-function-of-complexity"]], "Textbooks": [[27, null]], "The Algorithm before theorem": [[11, "the-algorithm-before-theorem"]], "The Breast Cancer Data, now with Keras": [[1, "the-breast-cancer-data-now-with-keras"]], "The CART algorithm for Classification": [[9, "the-cart-algorithm-for-classification"]], "The CART algorithm for Regression": [[9, "the-cart-algorithm-for-regression"]], "The CIFAR01 data set": [[3, "the-cifar01-data-set"]], "The Central Limit Theorem": [[32, "the-central-limit-theorem"]], "The Hessian matrix": [[30, "the-hessian-matrix"], [31, "the-hessian-matrix"]], "The Hessian matrix for Ridge Regression": [[30, "the-hessian-matrix-for-ridge-regression"], [31, "the-hessian-matrix-for-ridge-regression"]], "The Jacobian": [[29, "the-jacobian"]], "The MNIST dataset again": [[3, "the-mnist-dataset-again"]], "The OLS case": [[30, "the-ols-case"]], "The RELU function family": [[1, "the-relu-function-family"]], "The Ridge case": [[30, "the-ridge-case"]], "The SVD, a Fantastic Algorithm": [[29, "the-svd-a-fantastic-algorithm"], [30, "the-svd-a-fantastic-algorithm"]], "The Softmax function": [[1, "the-softmax-function"]], "The \\chi^2 function": [[0, "the-chi-2-function"], [28, "the-chi-2-function"], [28, "id4"], [28, "id5"], [28, "id6"], [28, "id7"], [28, "id8"]], "The bias-variance tradeoff": [[6, "the-bias-variance-tradeoff"], [32, "the-bias-variance-tradeoff"]], "The code for solving the ODE": [[2, "the-code-for-solving-the-ode"]], "The complete code with a simple data set": [[29, "the-complete-code-with-a-simple-data-set"]], "The cost/loss function": [[29, "the-cost-loss-function"]], "The course has two central parts": [[21, "the-course-has-two-central-parts"]], "The derivative of the cost/loss function": [[30, "the-derivative-of-the-cost-loss-function"], [31, "the-derivative-of-the-cost-loss-function"]], "The equations": [[30, "the-equations"]], "The equations for ordinary least squares": [[29, "the-equations-for-ordinary-least-squares"]], "The first Case": [[30, "the-first-case"]], "The gradient step": [[31, "the-gradient-step"]], "The ideal": [[30, "the-ideal"]], "The logistic function": [[7, "the-logistic-function"]], "The mean squared error and its derivative": [[29, "the-mean-squared-error-and-its-derivative"]], "The moons example": [[8, "the-moons-example"]], "The multilayer perceptron (MLP)": [[12, "the-multilayer-perceptron-mlp"]], "The network with one input layer, specified number of hidden layers, and one output layer": [[2, "the-network-with-one-input-layer-specified-number-of-hidden-layers-and-one-output-layer"]], "The plethora of machine learning algorithms/methods": [[28, "the-plethora-of-machine-learning-algorithms-methods"]], "The same example but now with cross-validation": [[32, "the-same-example-but-now-with-cross-validation"]], "The sensitiveness of the gradient descent": [[30, "the-sensitiveness-of-the-gradient-descent"]], "The singular value decomposition": [[5, "the-singular-value-decomposition"], [29, "the-singular-value-decomposition"], [30, "the-singular-value-decomposition"]], "The two-dimensional case": [[8, "the-two-dimensional-case"]], "Theoretical Convergence Speed and convex optimization": [[31, "theoretical-convergence-speed-and-convex-optimization"]], "Time decay rate": [[31, "time-decay-rate"]], "To our real data: nuclear binding energies. Brief reminder on masses and binding energies": [[28, "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": [[28, "topics-covered-in-this-course-statistical-analysis-and-optimization-of-data"]], "Towards the PCA theorem": [[11, "towards-the-pca-theorem"]], "Train and test datasets": [[1, "train-and-test-datasets"]], "Two-dimensional Objects": [[3, "two-dimensional-objects"]], "Type of problem": [[2, "type-of-problem"]], "Types of Machine Learning": [[28, "types-of-machine-learning"]], "Understanding what happens": [[32, "understanding-what-happens"]], "Use the books!": [[19, "use-the-books"]], "Useful Python libraries": [[21, "useful-python-libraries"], [28, "useful-python-libraries"]], "Using Autograd": [[13, "using-autograd"]], "Using forward Euler to solve the ODE": [[2, "using-forward-euler-to-solve-the-ode"]], "Using gradient descent methods, limitations": [[13, "using-gradient-descent-methods-limitations"], [30, "using-gradient-descent-methods-limitations"], [31, "using-gradient-descent-methods-limitations"]], "Various steps in cross-validation": [[32, "various-steps-in-cross-validation"]], "Visualization": [[1, "visualization"], [1, "id1"]], "Visualizing the Tree, Classification": [[9, "visualizing-the-tree-classification"]], "Week 34: Introduction to the course, Logistics and Practicalities": [[28, null]], "Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression": [[29, null]], "Week 36: Linear Regression and Gradient descent": [[30, null]], "Week 37: Gradient descent methods": [[31, null]], "Week 38: Statistical analysis, bias-variance tradeoff and resampling methods": [[32, null]], "What Is Generative Modeling?": [[28, "what-is-generative-modeling"]], "What does it mean?": [[29, "what-does-it-mean"], [30, "what-does-it-mean"]], "What is Machine Learning?": [[0, "what-is-machine-learning"]], "What is a good model?": [[0, "what-is-a-good-model"], [28, "what-is-a-good-model"]], "What is a good model? Can we define it?": [[28, "what-is-a-good-model-can-we-define-it"]], "When do we stop?": [[31, "when-do-we-stop"]], "Which activation function should I use?": [[1, "which-activation-function-should-i-use"]], "Why Combine Momentum and RMSProp?": [[31, "why-combine-momentum-and-rmsprop"]], "Why Linear Regression (aka Ordinary Least Squares and family)": [[28, "why-linear-regression-aka-ordinary-least-squares-and-family"]], "Why resampling methods": [[32, "why-resampling-methods"]], "Why resampling methods ?": [[32, "id1"]], "Wisconsin Cancer Data": [[7, "wisconsin-cancer-data"]], "With Lasso Regression": [[30, "with-lasso-regression"]], "Wrapping it up": [[32, "wrapping-it-up"]], "Writing Our First Generative Adversarial Network": [[4, "writing-our-first-generative-adversarial-network"]], "Writing our own PCA code": [[11, "writing-our-own-pca-code"]], "Writing the Cost Function": [[30, "writing-the-cost-function"]], "XGBoost: Extreme Gradient Boosting": [[10, "xgboost-extreme-gradient-boosting"]], "Yet another Example": [[30, "yet-another-example"]], "a) Expression for Ridge regression": [[17, "a-expression-for-ridge-regression"]], "scikit-learn implementation": [[1, "scikit-learn-implementation"]]}, "docnames": ["chapter1", "chapter10", "chapter11", "chapter12", "chapter13", "chapter2", "chapter3", "chapter4", "chapter5", "chapter6", "chapter7", "chapter8", "chapter9", "chapteroptimization", "clustering", "exercisesweek34", "exercisesweek35", "exercisesweek36", "exercisesweek37", "exercisesweek38", "exercisesweek39", "intro", "linalg", "project1", "schedule", "statistics", "teachers", "textbooks", "week34", "week35", "week36", "week37", "week38"], "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": ["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", "exercisesweek34.ipynb", "exercisesweek35.ipynb", "exercisesweek36.ipynb", "exercisesweek37.ipynb", "exercisesweek38.ipynb", "exercisesweek39.ipynb", "intro.md", "linalg.ipynb", "project1.ipynb", "schedule.md", "statistics.ipynb", "teachers.md", "textbooks.md", "week34.ipynb", "week35.ipynb", "week36.ipynb", "week37.ipynb", "week38.ipynb"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 13, 15, 16, 17, 19, 21, 22, 23, 25, 26, 28, 29], "0": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 25, 26, 28, 29, 30, 31, 32], "00": [0, 1, 5, 11, 28, 29], "000": [1, 3], "000000": [], "00000000e": [], "001": [2, 8, 13, 30, 31], "004": 5, "004113634617443131": 29, "004113634617443139": 29, "00411363461744314": 29, "004113634617443147": 29, "005b82": [], "00622f": [], "00727646693": [0, 28], "0072b2": [], "00749c": [], "008561": [], "0086649156": [0, 28], "00e0e0": [], "01": [0, 1, 2, 5, 9, 11, 13, 17, 27, 28, 29, 31], "010726": [], "0110": 25, "01719003e": [], "02": [0, 4, 7, 12, 28], "02334824": [], "023b95": [], "024c1a": [], "02857": 4, "02f": 6, "03077640549": 4, "03097597e": [], "031": 5, "04": 11, "0458": 9, "05": [4, 6], "0550ae": [], "062292565": 4, "062435": [], "06730814": [], "07": [], "0713": [0, 28], "07285": 3, "08": 25, "08078025e": [], "080808": [], "08336233266": 4, "08376632": 29, "083766322923899": 29, "0837663229239043": 29, "0917": 9, "0969da4a": [], "0d1117": [], "0n": [0, 28], "0x113e21950": 17, "1": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 22, 24, 25, 26, 27, 28, 30, 31, 32], "10": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 22, 24, 25, 26, 28, 29, 30, 31, 32], "100": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 22, 25, 26, 28, 29, 30, 31, 32], "1000": [0, 1, 2, 4, 5, 8, 11, 13, 14, 18, 19, 21, 25, 28, 30, 31], "10000": [2, 5, 6, 10, 11, 13, 25, 32], "100000": 8, "10001": 10, "1001": 25, "1002": 25, "1003": 25, "1005": 25, "1007": 32, "1009": 25, "101": 16, "1011": 25, "1013": 25, "1013904243": 25, "1015": 25, "102": 16, "1023": 25, "1024": 3, "1026": 25, "1027": 25, "103": 1, "1030": 25, "1037": 25, "1038": 25, "1040": 25, "1047": 25, "107": 16, "108": [], "10th": 9, "10x": [0, 28], "11": [0, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 22, 23, 25, 27, 28, 29, 30, 31, 32], "110": [], "1100": 25, "1101": 25, "111": [1, 7, 12], "112": 16, "11340253": [], "11590451": [], "116": 16, "116329": [], "116633": [], "117": 16, "118": 16, "12": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 18, 22, 25, 27, 28, 29, 30, 31, 32], "120": 3, "121": [8, 9, 10, 16], "1215pm": [26, 28], "122": [8, 9, 10], "124": [0, 28], "125": 16, "127": [4, 16], "128": [3, 4, 13, 31], "129": 16, "1298": 9, "12pm": [26, 28], "13": [0, 2, 9, 12, 22, 25, 28], "131": 16, "133": 7, "135": 16, "136": 16, "14": [0, 2, 4, 6, 8, 9, 10, 12, 22, 25, 27, 29, 32], "141": 16, "1412": 31, "141414": [], "143": 16, "1446729567": 4, "149": 16, "14g": [6, 32], "15": [0, 2, 4, 6, 7, 8, 9, 12, 13, 23, 25, 28, 30, 31], "150": [4, 8], "152": 16, "153760": [], "156": 16, "157": [], "158": [], "159": 16, "15g": [6, 32], "15pm": 28, "16": [1, 2, 3, 4, 5, 8, 9, 10, 25, 28, 30, 32], "160": 16, "1603": 3, "161": 16, "162": 16, "16231451": 4, "163": 16, "16384": 3, "164": 16, "167": 16, "17": [1, 2, 8, 25], "172": 16, "173": 16, "175": 32, "176": 16, "178": 16, "179": 16, "1797": 1, "18": [2, 6, 7, 8, 9, 10, 25, 28, 32], "1807": 4, "181036": [], "18392847": [], "18c1c4": [], "19": [2, 25, 28, 32], "192": 32, "1940": [], "1943": 12, "19569961": 29, "19680801": [], "1970": [22, 28], "1973": 9, "1979": [6, 32], "1_1": 12, "1_2": 12, "1_3": 12, "1cm": [0, 8, 10, 25, 28], "1d": [1, 2, 3], "1e": [2, 4, 13, 14, 31], "1e10": 14, "1e1e1": [], "1e4": 6, "1f": 1, "1k": 22, "1n": [0, 28], "1x": [0, 28], "2": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 21, 22, 23, 25, 27, 31, 32], "20": [0, 1, 2, 6, 7, 8, 16, 17, 25, 26, 28, 29, 30, 31, 32], "200": [0, 2, 3, 4, 8, 9, 10], "2000": [0, 29], "2001": [], "2004": [13, 30], "2006": 27, "2007": [], "20072279": [], "2008": [28, 31], "2009": [], "2010": 1, "2011": [1, 31], "2012": 31, "2013": [], "2014": [4, 31], "2015": 1, "2016": [0, 28], "2018": [0, 6, 29, 32], "2019": [], "2020": [], "2021": [6, 14, 29, 31], "2022": 28, "2024": 32, "2025": [18, 28, 29, 30, 31, 32], "21": [0, 1, 5, 7, 9, 12, 22, 28, 29, 30], "2116753732": 4, "215pm": [26, 28], "2167072": [], "22": [0, 1, 5, 12, 13, 22, 28, 29, 30], "221": 8, "225": 4, "22948497": [], "23": [1, 12, 22], "24": [0, 1, 22, 28], "242424": [], "24292f": [], "25": [2, 3, 4, 5, 6, 8, 9, 11, 29], "250": [2, 4, 7, 9], "25000": [], "250154": [], "252124": [], "253775": [], "255": 3, "256": [4, 31], "25x": 23, "26": [], "26303845": [], "264": [], "265": [], "265109911": 4, "266": [], "269": [], "27": 1, "270": [], "278": [30, 31], "27n_": 25, "28": [1, 3, 4], "283": [30, 31], "2830637392": 4, "2861": 25, "2873": 9, "2882": 25, "2886": 25, "2890": [0, 28], "2892": 25, "29": 29, "2915": 25, "2931": 28, "29364655": [], "294399745619595": [], "296247": [], "2968": 28, "2980": 28, "298273": [], "298375": [], "2990": 28, "2_": 12, "2_1": 12, "2_2": 12, "2_3": 12, "2_i": 12, "2_m": [6, 25, 32], "2_t": 13, "2_x": 25, "2a": 17, "2a1968": [], "2b": 25, "2b2b2b": [], "2c8f433990d1": 31, "2cm": 8, "2d": [1, 3, 11, 12, 21, 28], "2e": [6, 32], "2f": [0, 7, 9, 10, 11, 12, 28], "2g": 2, "2g_i": 2, "2k": 3, "2m": [6, 32], "2mvizaqfst8": 29, "2n": [0, 2, 3, 28, 29], "2nd": 9, "2p": 25, "2pt": 4, "2x": [0, 3, 8, 13, 28], "2x_ix_jy_iy_j": 8, "2x_j": 8, "2y_i": 10, "2y_j": 8, "3": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 21, 22, 23, 24, 25, 26, 28, 30, 31, 32], "30": [0, 1, 4, 6, 7, 10, 13, 26, 31, 32], "30000": [0, 28], "3072": 3, "31": [12, 22, 25], "315": [6, 29, 31], "3155": [0, 5, 6, 29, 30, 31, 32], "32": [3, 4, 6, 12, 13, 22, 25, 31], "3200": 1, "3250": 1, "3297": [], "33": [12, 22, 26], "3303": [], "3310": [], "332331": [], "333": 7, "3331": [], "3337": [], "34": 22, "3436": [0, 28], "3437": [0, 28], "35": [0, 6, 23, 28, 30, 31], "3581341341": 4, "359": [5, 30], "36": [0, 5, 6, 18, 23, 25], "37": [23, 30, 32], "370782966": 4, "38": [23, 25], "387": 32, "39": [0, 26, 28], "3d": [2, 3, 4, 6, 13, 16, 32], "3d73a9": [], "3f": [1, 3, 9], "3n": 22, "3x": [2, 8], "3x_i": 2, "3y": 8, "4": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 22, 23, 25, 28, 30, 31, 32], "40": [1, 6, 26, 28, 32], "400": 4, "4000": 28, "40008b9a5380fcacce3976bf7c08af5b": 31, "4050": [27, 28], "41": 22, "4155": [2, 15], "41589548": [], "42": [1, 4, 8, 9, 10, 22], "43": [0, 7, 22], "4310": 28, "436462435": 4, "437a6b": [], "44": [0, 22, 30, 31], "45": [26, 28], "46": [26, 28], "462": 7, "47": [26, 28], "473d18": [], "479465113": 4, "47958494": [], "48": [], "48257387": [26, 28], "49": [5, 6, 11], "49152": 3, "4940954": [0, 28], "4990": 25, "4992": 25, "4997": 25, "4c4b4be8": [], "4c4c7f": [9, 10], "4d": 3, "4f": 6, "4pm": [26, 28], "4y": 8, "4y_i": 10, "5": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 22, 23, 25, 28, 29, 30, 31, 32], "50": [1, 2, 3, 4, 6, 7, 8, 10, 13, 28, 29, 31, 32], "500": [1, 3, 4, 6, 9, 10, 13, 31, 32], "5018": 25, "506": [], "507d50": [9, 10], "50j": 13, "50x10": 1, "51": 10, "510": 1, "512132": [], "515151": [], "5177783846": 4, "53": 9, "5391cf": [], "54": [6, 25], "5411205": [], "54894451": [], "55": 1, "56": 1, "56536": [0, 28], "569": 1, "57": [0, 8, 26, 28], "571": [5, 30], "576": 32, "58": [10, 26, 28], "58a6ff70": [], "591317992": 4, "5ca7e4": [], "5cm": 25, "5f": [8, 31], "5x": [8, 18], "5y": 8, "6": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 18, 22, 25, 26, 28, 29, 30, 31, 32], "60": [1, 3], "60000": 4, "6019067271": 4, "606439": [], "622cbc": [], "625": 7, "63": 1, "64": [1, 3, 4, 13, 22, 28, 31], "64x50": 1, "65": [1, 8, 9], "66666691": [], "66707b": [], "66ccee": [], "66e9ec": [], "6730c5": [], "6887363571": 4, "69": [16, 25], "69069n_": 25, "691": [], "6980": 31, "6e7681": [], "6e7781": [], "6f98b3": [], "6n_": 25, "7": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 22, 23, 25, 27, 28, 29, 31, 32], "70": [1, 7], "702c00": [], "70653767": 4, "71": 1, "724": 3, "72f088": [], "73": [], "7304881": [], "737373": [], "75": [5, 6, 8, 11, 32], "76": [26, 28], "765": 7, "77": [26, 28], "7718": 9, "7782028952": 4, "77893972": [], "78": [], "797979": [], "7998f2": [], "79c0ff": [], "7d7d58": [9, 10], "7ee787": [], "7f4707": [], "8": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 18, 19, 22, 25, 26, 28, 30], "80": [0, 1, 5, 8, 17, 29], "800": [4, 7], "8045e5": [], "81": 1, "815am": [26, 28], "81b19b": [], "8250df": [], "84858": 32, "85": 1, "8702784034": 4, "8786ac": [], "88": 28, "8a4600": [], "8b949e": [], "8c8c8c": [], "8f": [6, 32], "8g": [6, 32], "8n": 22, "8x8": 1, "9": [0, 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 22, 25, 28, 31], "90": 1, "9040": 9, "91": [26, 28], "912583": [], "91cbff": [], "92": [26, 28], "93": 16, "931": [0, 28], "933": [5, 30], "937": 25, "938": 25, "939": [0, 25, 28], "94": 25, "95": [1, 11, 32], "953800": [], "954": 25, "955820c21e8b": 4, "96": [6, 32], "960": 25, "961": 25, "962": 25, "9649652536": 4, "96611194e": [], "974eb7": [], "978": 32, "9780387310732": 27, "9780387848570": 27, "9781098134174": 28, "9781492032632": 27, "9781801819312": 28, "97898392": 29, "98": [0, 1, 16], "985": 25, "986": 25, "98661b": [], "989": 25, "9898ff": [9, 10], "99": [13, 16, 31, 32], "991": 25, "992": 25, "993": 25, "996": 5, "996b00": [], "999": [9, 25, 31], "999999": [], "9e86c8": [], "9e8741": [], "9f4e55": [], "9x": 6, "9y": 6, "A": [2, 3, 5, 6, 7, 10, 11, 12, 13, 15, 16, 19, 20, 21, 22, 24, 25, 26, 27, 29, 30, 31], "AND": 2, "AS": [], "AT": [], "And": [0, 3, 4, 5, 6, 9, 13, 20, 21, 23, 25, 30], "As": [0, 1, 2, 3, 4, 5, 6, 8, 10, 12, 13, 15, 16, 22, 23, 25, 28, 29, 30, 31, 32], "At": [0, 4, 6, 13, 20, 28, 31], "BE": [0, 28], "BUT": [], "BY": [], "Be": [2, 18, 21, 28], "Being": 13, "But": [0, 1, 2, 3, 5, 6, 9, 10, 16, 25, 29, 32], "By": [0, 3, 5, 6, 12, 13, 17, 19, 22, 28, 29, 30, 31, 32], "FOR": [], "For": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 19, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32], "IF": [6, 29, 31], "IN": 27, "If": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 21, 22, 23, 25, 28, 29, 30, 31, 32], "In": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32], "Ising": [5, 12, 29, 30], "It": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 20, 21, 22, 23, 25, 28, 29, 30, 31, 32], "Its": [1, 2, 4, 11], "NO": [], "NOT": [], "No": [6, 9, 28, 29, 31], "Not": [0, 1, 5, 6, 29, 30, 31, 32], "OF": [], "ON": [], "OR": 25, "Of": 25, "On": [0, 3, 23, 25, 26, 27, 28, 31, 32], "One": [0, 1, 3, 4, 5, 6, 7, 8, 11, 12, 13, 17, 25, 29, 30, 31, 32], "Or": [0, 1, 6, 28], "SUCH": [], "Such": [0, 6, 12, 16, 25, 31, 32], "THE": [], "TO": [], "That": [0, 5, 7, 10, 11, 12, 14, 23, 25, 28, 32], "The": [4, 10, 13, 14, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27], "Then": [0, 1, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 22, 28, 30, 31, 32], "There": [0, 3, 4, 5, 6, 8, 9, 11, 12, 14, 15, 22, 23, 25, 26, 28, 29, 30, 31], "These": [0, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 17, 18, 22, 23, 25, 26, 28, 29, 30, 31], "To": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 20, 22, 25, 29, 30, 31, 32], "WITH": [], "With": [0, 5, 6, 8, 9, 10, 11, 12, 14, 16, 19, 22, 23, 25, 28, 29, 32], "_": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 22, 23, 28, 29, 30, 31, 32], "_0": [5, 8, 10, 11, 13, 29, 30], "_1": [2, 5, 6, 8, 10, 11, 12, 13, 14, 22, 29, 30, 31], "_2": [2, 5, 8, 11, 12, 13, 22, 29, 31], "_3": 22, "_4": 22, "_9": [13, 31], "__array_finalize__": [], "__class__": 10, "__doc__": [6, 32], "__future__": [8, 9], "__getattribute__": [], "__import__": [], "__init__": 1, "__main__": 2, "__name__": [2, 10], "__new__": [], "__path__": [], "_auto1": [2, 3, 4, 5, 6, 7, 12, 13, 22, 25, 29, 30], "_auto10": [6, 12], "_auto11": 6, "_auto12": 6, "_auto2": [2, 3, 4, 5, 6, 12, 13, 22, 25], "_auto3": [3, 4, 5, 6, 12, 13, 22], "_auto4": [4, 6, 12, 13, 22], "_auto5": [4, 6, 12, 13, 22], "_auto6": [4, 6, 12, 22], "_auto7": [4, 6, 12, 22], "_auto8": [6, 12], "_auto9": [6, 12], "_build": [0, 21, 23, 27, 28], "_c": 1, "_center": [], "_compile_transl": [], "_compon": 11, "_data": [], "_depth": 9, "_export": [15, 16, 19], "_fraction": 9, "_i": [0, 1, 2, 5, 6, 7, 8, 11, 12, 13, 19, 23, 28, 29, 30, 31, 32], "_j": [0, 1, 2, 3, 5, 6, 8, 13, 19, 23, 29, 30, 31, 32], "_k": [13, 30, 31], "_l": 12, "_lambda": 6, "_leaf": 9, "_m": 10, "_mask": [], "_multilayer_perceptron": [], "_n": [2, 5, 8, 11, 13, 29, 30, 31], "_node": 9, "_norm": [], "_p": [5, 8, 29, 30], "_parse_numpydoc_see_also_sect": [], "_pydevd_bundl": [], "_ratio": 11, "_sampl": 9, "_split": [6, 9, 23], "_t": [13, 31], "_test": [6, 23], "_varianc": 11, "_weight": 9, "a0": 3, "a0111f": [], "a0faa0": [9, 10], "a1": [0, 28], "a11": [], "a12236": [], "a2": [0, 28], "a25e53": [], "a2bffc": [], "a3": [0, 28], "a4": [0, 28], "a5d6ff": [], "a_": [0, 1, 16, 22, 28, 29], "a_0": [0, 28], "a_1a": [0, 28], "a_2a": [0, 28], "a_3": [0, 28], "a_3a": [0, 28], "a_4": [0, 28], "a_4a": [0, 28], "a_h": 1, "a_i": [0, 1, 2, 12, 28], "a_j": [1, 12], "a_k": [0, 1, 12], "aa": [], "aaa": [], "aaron": 27, "ab": [0, 2, 5, 13, 14, 28, 29, 31], "ab6369": [], "ab_channel": 21, "abandon": 1, "abe338": [], "abid": 25, "abil": [0, 10], "abl": [0, 1, 4, 5, 6, 7, 10, 12, 13, 16, 18, 20, 23, 29, 30, 31], "about": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 19, 20, 21, 22, 23, 26, 31, 32], "abov": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 25, 27, 28, 29, 31, 32], "abovement": [6, 23, 28, 32], "abscissa": [13, 30], "absent": 31, "absolut": [0, 2, 5, 6, 13, 28, 29, 30, 32], "absorb": [29, 30], "abstract": [1, 31], "abund": 31, "ac": [], "acceler": [13, 31], "accept": [0, 3, 6, 9, 23, 29, 31], "access": [3, 11, 25, 28, 31], "accid": [4, 6, 32], "accompani": [0, 28, 29], "accomplish": [8, 9, 13, 31], "accord": [0, 1, 2, 5, 6, 9, 12, 13, 14, 25, 28, 30, 31, 32], "accordingli": 11, "account": [0, 3, 5, 13, 15, 16, 20, 25, 28, 31], "accumul": [12, 13, 25, 31], "accur": [0, 3, 4, 6, 10, 13, 31, 32], "accuraci": [0, 1, 3, 4, 5, 6, 7, 9, 10, 11, 12, 28, 29, 30], "accuracy_scor": [0, 1, 10, 28], "accuracy_score_numpi": 1, "achiev": [0, 1, 5, 6, 8, 12, 22, 28, 31, 32], "aco": 25, "acquaint": 21, "acquir": [1, 21, 28], "acr": [], "across": [1, 3, 6, 9, 17, 21, 28, 32], "act": [1, 3, 22, 31], "action": 25, "activ": [0, 2, 3, 4, 9, 15, 24, 26, 28, 31], "activest": [], "actual": [0, 1, 4, 5, 6, 8, 11, 15, 16, 18, 22, 25, 28, 29, 30, 31, 32], "ad": [1, 3, 4, 5, 8, 13, 15, 16, 22, 30, 31, 32], "ada_clf": 10, "adaboostclassifi": 10, "adadelta": [13, 31], "adagrad": [23, 32], "adam": [1, 3, 4, 23, 28, 32], "adapt": [4, 6, 13, 17, 27, 30, 32], "add": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 15, 16, 17, 18, 20, 25, 26, 28, 29, 30, 31, 32], "add6ff": [], "add_": [], "add_subplot": [1, 7, 12, 14], "addendum": 5, "addeventlisten": [], "addit": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 15, 21, 22, 23, 25, 26, 27, 28, 29, 32], "addition": [12, 13, 30, 31], "address": [1, 9, 11, 13, 28, 31], "adjac": [3, 12], "adjoint": [5, 29], "adjust": [0, 5, 12, 13, 30, 31], "admir": [0, 28], "advanc": [4, 6, 12, 27, 28, 31, 32], "advantag": [1, 3, 5, 6, 10, 13, 19, 22, 30, 31, 32], "adversari": 28, "advis": [], "afecionado": 28, "affect": [3, 15, 19], "affin": [0, 3, 8, 11, 29], "afford": 3, "aficionado": 28, "aforement": 14, "african": [], "after": [0, 1, 2, 4, 5, 6, 9, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 28, 29, 30, 31, 32], "afterward": [0, 28], "ag": [0, 7, 28, 29], "ag_0": 2, "again": [0, 1, 4, 5, 6, 7, 8, 10, 11, 12, 13, 23, 25, 28, 29, 30, 32], "against": [1, 4, 7, 10], "agegroup": 7, "agegroupmean": 7, "aggreg": [9, 10, 31], "agorithm": 10, "agre": [5, 6, 25, 29, 30, 31, 32], "agreement": [13, 31], "ahead": 9, "ai": [0, 27], "aid": [11, 20, 31], "aim": [0, 1, 4, 6, 7, 11, 14, 16, 17, 19, 20, 21, 22, 23, 29, 32], "ainv": 5, "airplan": 3, "aka": 5, "al": [0, 2, 4, 16, 17, 20, 27, 28, 29, 30, 32], "alarm": [5, 7], "aldo": 29, "algebra": [0, 3, 5, 13, 21, 29, 30, 32], "algorithm": [0, 1, 2, 4, 5, 6, 7, 8, 13, 14, 16, 21, 22, 23, 25, 27, 32], "align": [0, 2, 5, 6, 7, 8, 13, 25, 28, 29, 30, 32], "all": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32], "allevi": [1, 13, 30], "alloc": [3, 22], "allow": [0, 1, 2, 3, 5, 6, 8, 10, 13, 15, 21, 22, 23, 28, 29, 30, 31, 32], "almost": [0, 1, 6, 8, 11, 13, 25, 30, 31, 32], "alon": [2, 9, 31], "along": [2, 3, 4, 5, 6, 9, 10, 11, 15, 20, 21, 22, 28, 29, 30, 32], "alpha": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 13, 14, 25, 28, 29, 30, 31, 32], "alpha_": [10, 31], "alpha_0": 3, "alpha_1": 3, "alpha_2": 3, "alpha_i": [3, 13], "alpha_k": 13, "alpha_m": 10, "alpha_n": 3, "alpha_opt": 13, "alreadi": [2, 3, 4, 5, 6, 10, 12, 15, 21, 22, 25, 28, 29, 30], "also": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 23, 25, 28, 29, 30, 31, 32], "alter": 1, "altern": [0, 1, 4, 5, 6, 8, 9, 11, 13, 15, 18, 22, 23, 28, 29, 31, 32], "although": [0, 1, 5, 6, 8, 10, 13, 16, 19, 20, 28, 31, 32], "alwai": [0, 3, 5, 6, 12, 13, 16, 19, 23, 25, 28, 29, 30, 31, 32], "am": 4, "ame2016": [0, 28], "american": [], "amjith": [], "among": [0, 3, 5, 9, 10, 12, 22, 28, 29], "amongst": [5, 32], "amount": [0, 1, 3, 4, 6, 8, 10, 14, 21, 32], "an": [1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 29, 30, 31, 32], "an_": 25, "anaconda": [0, 1, 21, 23, 28], "analogi": 13, "analys": [6, 32], "analysi": [1, 3, 4, 7, 14, 19, 22, 27, 31], "analyt": [2, 3, 5, 6, 7, 12, 13, 17, 21, 23, 28, 29, 30, 31, 32], "analyz": [0, 1, 3, 4, 5, 6, 16, 23, 25, 29, 30, 31], "andrew": 1, "angl": [0, 3, 9, 29, 31], "anharmon": 3, "ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 19, 25, 28, 29, 31, 32], "anim": [4, 12], "ann": 12, "annot": [0, 1, 3, 7, 8, 28], "announc": 28, "anom": [], "anomali": [], "anonym": 18, "anoth": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 22, 23, 25, 28, 29, 31], "ansatz": [0, 18, 28], "answer": [0, 1, 3, 5, 6, 19, 22, 23, 26, 28, 32], "antialias": [2, 6], "anticip": 4, "anymor": [1, 8], "anyon": [4, 8, 15], "anyth": [1, 15, 16, 25], "anytim": [26, 28], "anywai": [], "apach": 1, "apart": [11, 13, 30, 31], "api": [1, 21, 28], "appar": 2, "appear": [0, 1, 3, 13, 22, 25], "append": [1, 3, 4, 8, 9, 13, 19, 28, 31], "appendix": 23, "appli": [0, 1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 18, 23, 25, 27, 28, 29, 31, 32], "applic": [0, 1, 3, 4, 5, 6, 7, 9, 12, 13, 16, 22, 25, 27, 28, 29, 30, 31, 32], "apply_gradi": 4, "approach": [1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 15, 16, 18, 21, 23, 25, 27, 29, 30], "approch": 23, "appropri": [2, 6, 9, 12, 13, 17, 21, 25, 31, 32], "approv": 28, "approx": [0, 2, 3, 6, 10, 11, 13, 18, 23, 25, 28, 30, 31, 32], "approxim": [0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 13, 19, 23, 25, 28, 29, 30, 31, 32], "apt": [0, 21, 23, 28], "aq": 25, "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, 24, 25, 26, 27, 28, 29, 30, 31, 32], "aragorn": 28, "arang": [1, 3, 4, 6, 7, 9, 10, 12, 13, 28, 31], "arbitrari": [1, 4, 6, 8, 12, 13, 25, 30, 32], "arbitrarili": [0, 1, 11, 28, 31], "arc": 6, "architectur": [3, 4, 12], "archiv": 23, "area": [0, 3, 6, 27, 28], "argmax": [1, 11], "argmin": [4, 10, 14], "argsort": 11, "argu": [1, 13], "arguement": 19, "argument": [0, 2, 3, 5, 11, 12, 13, 17, 28, 29, 31, 32], "aris": [0, 6, 12, 13, 25, 28, 30, 32], "arithmet": [0, 13, 22, 28], "arm": [6, 29, 31], "armadillo": 22, "armin": [], "around": [0, 1, 4, 5, 6, 11, 18, 23, 25, 28, 32], "arrai": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 16, 18, 21, 23, 25, 29, 30, 31, 32], "arrang": [3, 28], "arraybox": 13, "arriv": [0, 6, 9, 11, 22, 25, 28, 32], "arrow": 12, "arrowprop": 8, "art": [0, 1, 21], "articl": [0, 3, 4, 6, 10, 19, 28, 29, 30, 31, 32], "artifici": [0, 2, 7, 12, 27, 28], "artificialneuron": 12, "arug": 13, "arxiv": [3, 4, 31], "asarrai": [0, 6, 9, 29, 31], "asid": 29, "ask": [5, 6, 11, 12, 15, 19, 23, 32], "aspect": [0, 6, 21, 28, 29], "assembl": 3, "assembli": [0, 28], "assert": 4, "assess": [0, 6, 23, 28, 29, 32], "asset": [], "assici": 4, "assign": [0, 7, 8, 9, 12, 13, 14, 15, 24, 26, 27, 28], "associ": [0, 6, 9, 12, 14, 25, 28, 32], "assum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 19, 22, 23, 25, 28, 29, 30, 31, 32], "assumpt": [0, 3, 5, 6, 9, 11, 25, 28, 29], "ast": [0, 5, 6, 28, 32], "astyp": [4, 9, 10], "asymmetri": [0, 28], "asymptot": [4, 6, 31, 32], "atom": [0, 28], "attain": 31, "attempt": [0, 4, 6, 7, 8, 10, 28, 29, 31], "attend": 28, "attent": [0, 22, 28], "attract": [0, 10, 28], "attribut": [0, 9, 28], "audi": [0, 28], "audio": [3, 4], "august": [28, 29], "aurelien": [0, 27, 28], "austfjel": 6, "auth": 15, "authent": 15, "author": [0, 1, 10, 25], "authour": 28, "auto": [9, 10, 25], "auto_exampl": [23, 29], "autocor": 25, "autocorrelation_tim": 25, "autocorrelform": 25, "autocovari": 25, "autoencod": [4, 21, 28], "autoencond": 21, "autograd": [21, 28], "autom": [0, 21, 27, 28], "automac": 22, "automag": 28, "automat": [0, 1, 2, 3, 4, 11, 16, 21, 22, 28], "automobil": 3, "autonom": 4, "avail": [0, 1, 4, 6, 10, 11, 21, 22, 23, 24, 26, 27, 28, 32], "avali": 20, "averag": [0, 1, 3, 6, 9, 10, 13, 14, 25, 26, 28, 29, 32], "avoid": [0, 4, 5, 6, 9, 11, 13, 18, 22, 29, 31, 32], "awai": [2, 3, 6, 29, 31], "awar": [2, 10], "award": [26, 28], "ax": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 20, 22, 23, 28, 32], "axes3d": [2, 6, 13, 30, 31], "axes_grid1": 6, "axhlin": 8, "axi": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 22, 25, 28, 29, 30, 31, 32], "axiom": 5, "axvlin": [4, 8], "axvspan": 4, "b": [0, 1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 17, 19, 20, 25, 26, 28, 29, 30, 31, 32], "b1": 8, "b19db4": [], "b1bac4": [], "b2": 8, "b3": 8, "b35900": [], "b89784": [], "b_": [0, 1, 22], "b_0": 0, "b_1": [0, 2, 12, 13, 31], "b_2": [0, 13], "b_5": [13, 31], "b_group": 9, "b_i": [0, 1, 2, 12, 28], "b_ia_": [0, 28], "b_ia_i": 0, "b_index": 9, "b_j": [1, 12], "b_k": [0, 1, 12, 13, 31], "b_m": 12, "b_score": 9, "b_valu": 9, "ba": 31, "babcock": 28, "bach": 31, "bachelor": [24, 26], "back": [0, 3, 4, 5, 6, 8, 9, 10, 15, 16, 22, 25, 28, 31], "backbon": 22, "backend": [1, 4], "background": [27, 28], "backpropag": [1, 31], "backslash": [], "backtrack": 9, "backup": 22, "backward": [1, 2, 4, 12, 22, 31], "bad": [6, 17, 29], "badli": 25, "bag": [9, 21, 28], "bag_clf": 10, "baggin": 28, "baggingboot": 10, "baggingclassifi": 10, "baggingtre": 10, "bailei": [], "balanc": [6, 31, 32], "ballpark": 18, "band": 22, "bandwidth": 22, "banner": [], "bar": [0, 6, 11, 23, 28], "barber": 27, "bare": [4, 10], "base": [0, 1, 3, 4, 5, 7, 8, 9, 10, 14, 15, 16, 17, 21, 25, 26, 27, 28, 29, 30], "basi": [5, 7, 8, 10, 11, 12, 13, 22, 29, 30], "basic": [6, 8, 12, 13, 14, 15, 21, 23, 25, 28, 32], "basin": 31, "batch": [3, 4, 11, 12, 13, 30], "batch_shap": 4, "batch_siz": [1, 3, 4], "batchnorm": 4, "bay": 7, "bayesian": [5, 21, 27, 28], "bbbbbb": [], "beauti": [], "becam": [], "becaus": [0, 1, 2, 3, 4, 5, 6, 8, 9, 12, 13, 14, 28, 29, 30, 31, 32], "becom": [0, 1, 2, 5, 6, 7, 9, 12, 13, 19, 25, 28, 29, 30, 31, 32], "been": [0, 1, 2, 3, 4, 5, 6, 11, 12, 13, 20, 21, 22, 23, 28, 29, 31, 32], "befor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 12, 13, 14, 16, 17, 18, 19, 20, 22, 23, 25, 28, 29, 31, 32], "beforehand": [0, 25, 28], "began": [], "begin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 22, 25, 26, 28, 29, 30, 31, 32], "behav": [1, 6, 13, 30, 32], "behavior": [0, 1, 13, 28, 30, 31], "behaviour": [12, 31], "behind": [0, 1, 6, 8, 13, 28, 30], "being": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 13, 17, 20, 25, 28, 29, 30, 31], "believ": [9, 22], "belong": [7, 8, 9, 13, 14, 30], "below": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 18, 22, 23, 25, 28, 29, 30, 31, 32], "benchmark": 10, "benefici": [1, 13], "benefit": [0, 1, 4, 11, 13, 21, 28, 30, 31], "bengio": [1, 27, 28, 29, 31], "benign": [1, 7], "besid": [4, 5, 30], "bessel": [5, 29, 32], "best": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 16, 18, 26, 28, 29, 30, 31, 32], "beta": [1, 3, 10, 11, 13, 16, 17, 19, 28, 29, 30], "beta1": [], "beta2": [], "beta_": [3, 13, 17, 29], "beta_0": [1, 3, 13, 29], "beta_1": [1, 3, 10, 13, 29, 31], "beta_1m_": 31, "beta_1x_i": 13, "beta_2": [3, 13, 31], "beta_2v_": 31, "beta_3": 3, "beta_i": [3, 31], "beta_j": [13, 29], "beta_k": 13, "beta_linreg": 13, "beta_m": 10, "beta_mg_m": 10, "beta_n": 3, "better": [0, 1, 2, 3, 4, 6, 9, 10, 11, 12, 13, 19, 20, 28, 29, 31, 32], "between": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 25, 28, 29, 30, 31, 32], "beyond": [0, 1, 5, 6, 8, 13, 28, 29, 30, 31], "bf": [13, 14, 22, 25, 30], "bf5400": [], "bg": 28, "bgd": [13, 31], "bia": [0, 1, 2, 3, 5, 8, 9, 10, 12, 13, 20, 28, 29, 30], "bias": [1, 2, 3, 5, 6, 9, 12, 19, 31, 32], "bib": [], "bibliographi": 23, "bibtex": [], "big": [0, 1, 2, 5, 6, 14, 19, 31, 32], "bigger": [1, 6, 29], "bigr": 12, "bike": 9, "bilbo": 28, "billion": [3, 12, 21, 31], "bin": [7, 25], "binari": [0, 3, 5, 7, 9, 10, 12, 28], "binarycrossentropi": 4, "bind": 0, "binomi": [21, 25, 28], "binsboot": [6, 32], "bioinformat": 0, "biolog": [1, 12], "bios1100": [21, 28], "bird": [0, 3], "birth": 28, "bishop": [27, 28], "bit": [1, 4, 19, 22, 25, 28], "bitwis": 25, "bivari": 2, "bk": [13, 31], "bla": [22, 28], "black": [8, 9, 14], "blame": [], "block": [6, 10, 21, 22, 25, 28, 32], "blockquot": [], "blog": 28, "blogpost": 4, "blue": [0, 3], "bm": [], "bmatrix": [0, 1, 3, 5, 7, 8, 11, 13, 22, 28, 29, 30, 31], "bmi": 1, "bodi": [0, 1, 4, 12], "bold": 1, "boldfac": [0, 5, 16, 29, 30], "boldsymbol": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 13, 14, 16, 17, 19, 23, 28, 30, 31], "boltzmann": [12, 21, 28], "book": [17, 23, 27, 28, 29, 32], "book1": 27, "bool": [], "boolean": [4, 17], "boost": [1, 9, 21, 28], "boostrap": 10, "bootstrap": [1, 13, 19, 21, 23, 28, 31], "born": 31, "borrow": 28, "boston_dataset": [], "bot": 8, "both": [0, 1, 4, 5, 6, 8, 9, 10, 13, 14, 15, 16, 17, 19, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32], "bottl": 7, "bottou": 31, "bound": [8, 12, 31], "boundari": [2, 4, 8, 11, 12], "bousquet": 31, "bower": [], "box": [4, 9], "boyd": [8, 13, 30], "bracket": [4, 25], "brain": [1, 7, 12], "branch": [9, 28], "break": [0, 4, 6, 11, 14, 28, 31], "breast": [5, 7, 11], "breviti": 13, "brew": [0, 21, 23, 28], "brg": 8, "brian": [], "brief": [23, 29], "briefli": [0, 16, 19, 28, 32], "bring": [0, 5, 6, 10, 29, 31], "britt": [26, 28], "broad": 0, "broadli": 28, "brought": [13, 21, 28], "brownle": 4, "browser": [15, 28], "brute": [3, 5, 11, 29], "bsd": [], "budget": 31, "buffer_s": 4, "bug": [], "bugfix": [], "bui": 4, "build": [0, 4, 5, 6, 10, 16, 22, 25, 28, 32], "built": [1, 3, 4, 6, 32], "bunch": 11, "bundl": [], "busi": [], "byte": [22, 28], "c": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 29, 30, 31, 32], "c1": [8, 11], "c2": [8, 11], "c4a2f5": [], "c5e478": [], "c9d1d9": [], "c_": [8, 9, 10, 13, 25, 30, 31], "c_0": 25, "c_1": 12, "c_2": 12, "c_3": 12, "c_4": 12, "c_i": [12, 13, 31], "c_k": 25, "ca": [1, 28], "caab6d": [], "cach": 10, "cal": [0, 8, 10, 12, 13, 30, 31], "calcul": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 19, 22, 25, 28, 31, 32], "california": 23, "call": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32], "calor": [0, 29], "caltech": [], "cambridg": [13, 27, 30], "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 29, 30], "cancel": [0, 13, 28, 29], "cancer": [5, 10], "cancerpd": 7, "candid": [8, 9, 10, 31], "cannot": [0, 1, 4, 5, 6, 7, 8, 9, 23, 25, 29, 30, 31], "canopi": [0, 21, 23, 28], "canva": [15, 16, 19, 20, 23, 28], "cap": 5, "capabl": [0, 1, 8, 13, 21, 28], "capac": [2, 26], "capita": [], "caption": [20, 23], "captur": [4, 11, 12, 28], "car": [3, 4], "card": [0, 7, 28], "cardin": 1, "care": [11, 15, 19, 31], "carefulli": [13, 31], "carlo": [0, 6, 21, 25, 27, 28, 32], "carri": [2, 6, 7, 23, 32], "cart": 10, "case": [0, 1, 2, 3, 4, 5, 6, 7, 11, 12, 13, 14, 15, 16, 21, 22, 23, 28, 32], "casella": 27, "cast": 1, "cat": [3, 4], "catch": 0, "categor": [0, 1, 3, 9, 11, 28], "categori": [0, 1, 3, 7, 10, 12, 14, 28], "categorical_crossentropi": [1, 3], "caus": [0, 5, 6, 25, 28, 29, 30, 31, 32], "causal": 0, "causat": [0, 28], "cax": 1, "cb": [6, 28], "cbar": 1, "cc": [0, 1, 5, 13, 28, 29, 30, 31], "cc398b": [], "ccbb44": [], "ccc": [5, 12, 30], "cdf": 25, "cdot": [0, 2, 6, 12, 13, 14, 22, 25, 28, 30, 31, 32], "celebr": [13, 30], "cell": 4, "center": [0, 1, 6, 7, 8, 9, 11, 14, 18, 23, 25, 28, 29, 31, 32], "central": [0, 3, 5, 6, 8, 16, 20, 22, 28, 29], "centroid": [14, 25], "centroid_differ": 14, "centuri": 3, "certain": [0, 3, 6, 7, 9, 25, 28, 29, 32], "certainti": 32, "cf": [], "cf222e": [], "cffi": [], "cg": 13, "cha": [], "chain": [0, 1, 13, 21, 25, 28], "challeng": 15, "chanc": [1, 5, 13, 25, 31], "chang": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 19, 22, 23, 25, 28, 29, 30, 31, 32], "changelog": [], "channel": 3, "chapter": [0, 6, 10, 11, 16, 17, 19, 22, 23, 27, 28, 29, 30, 31, 32], "chapter3": [0, 23], "charact": [0, 3, 5, 28, 29, 30], "character": [8, 9, 10, 12, 25], "characterist": [0, 1, 3, 10, 13, 28], "charg": [0, 28], "charl": [], "charset": [], "chase": 4, "chatgpt": [15, 23], "chd": 7, "chddata": 7, "cheap": [5, 29, 30, 31], "cheaper": [1, 13, 31], "check": [1, 3, 4, 5, 11, 13, 15, 16, 19, 22, 28, 31], "checkmark": 3, "checkpoint": 4, "checkpoint_dir": 4, "checkpoint_prefix": 4, "chen": 10, "cheng": 29, "chiaramont": 2, "childcar": 16, "children": 16, "choic": [0, 1, 2, 3, 4, 6, 9, 12, 13, 14, 20, 22, 28, 29, 30, 31, 32], "choleski": [5, 22, 29, 30], "choos": [2, 3, 6, 9, 10, 11, 13, 14, 15, 18, 19, 23, 30, 32], "chosen": [0, 1, 2, 6, 8, 9, 10, 13, 16, 25, 28, 30, 31, 32], "chosen_datapoint": 1, "christian": 27, "christoph": [27, 28], "chunk": 31, "cifar": 3, "cifar10": 3, "circ": [1, 12, 31], "circl": [0, 8, 12, 29, 31], "circuit": 3, "circumfer": 9, "circumv": [1, 5, 13, 29, 30, 31], "citat": [], "cite": [20, 23], "ckpt": 4, "claim": [], "clariti": 25, "class": [0, 1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 25, 28, 32], "class_nam": [3, 9], "class_val": 9, "class_valu": 9, "classic": [7, 9, 13], "classif": [0, 3, 5, 6, 7, 8, 11, 12, 21, 23, 27, 28, 29, 32], "classifi": [0, 1, 4, 7, 9, 10, 11, 28], "classificaton": 1, "classifii": 10, "claus": [], "clean": 1, "clear": [1, 5, 10, 12, 13, 31], "clearli": [0, 3, 5, 6, 7, 8, 25, 29, 30, 32], "clever": [1, 10], "clf": [0, 6, 8, 9, 10, 28, 29], "clf3": 0, "clf_lasso": 6, "clf_ridg": 6, "cli": 15, "click": [], "clip": [3, 25, 31], "clock": 31, "clone": [15, 26], "close": [0, 1, 2, 4, 6, 8, 9, 11, 12, 13, 14, 18, 25, 27, 28, 30, 31, 32], "closer": [3, 5, 13, 29, 30, 31], "closest": [8, 11, 13, 14], "closur": [21, 28], "cloud": [21, 28], "cluster": [0, 1, 4, 6, 11, 21, 28, 32], "cluster_label": 14, "cm": [1, 2, 3, 6, 8, 13, 30, 31], "cmap": [0, 1, 2, 3, 4, 6, 8, 9, 10, 28], "cmap_arg": 6, "cmd": [9, 15], "cn_": 25, "cnn": 12, "cnn_kera": 3, "cntk": [21, 28], "co": [0, 2, 3, 6, 9, 13, 28, 32], "code": [0, 3, 4, 6, 7, 8, 18, 19, 21, 22, 25, 27], "codec": [], "coef": [0, 28], "coef0": 8, "coef_": [0, 5, 6, 8, 9, 13, 16, 28, 29, 30, 31], "coeff": 5, "coeffici": [0, 3, 5, 6, 7, 8, 9, 13, 18, 22, 28, 29, 31, 32], "coerc": [0, 6, 28, 32], "coin": [10, 25], "coin_toss": 10, "col": [0, 11, 28, 29], "colab": [21, 28], "cold": 9, "colinear": [], "collabor": [20, 23], "collaps": 8, "collect": [2, 6, 10, 11, 17, 21, 25, 27, 28, 32], "collinear": [5, 29, 30], "color": [0, 3, 4, 6, 8, 9, 10, 25, 31], "color_channel": 3, "color_cod": 6, "colorbar": [1, 6, 20], "colsample_bytre": 10, "colsaobject": 10, "column": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 16, 17, 18, 19, 22, 28, 29, 30, 31, 32], "columntransform": 9, "com": [4, 6, 15, 16, 19, 20, 21, 23, 27, 28, 30, 31, 32], "combin": [1, 2, 5, 6, 7, 10, 15, 18, 25, 32], "come": [0, 1, 3, 4, 5, 12, 13, 14, 15, 28, 29, 30, 31], "comfort": [], "command": [0, 1, 15], "comment": [0, 4, 5, 6, 20, 23], "commerci": [0, 21, 23, 28], "commit": 15, "commod": [0, 28], "common": [0, 1, 3, 5, 6, 7, 9, 11, 13, 14, 16, 23, 25, 28, 29, 30, 31, 32], "commonli": [0, 1, 4, 6, 7, 9, 13, 14, 29, 31, 32], "commonmark": [], "commun": [0, 12, 15, 23], "commut": 3, "commutatitav": 3, "compact": [0, 1, 3, 5, 6, 7, 9, 11, 12, 13, 14, 28, 29, 32], "compair": 0, "compar": [0, 3, 4, 5, 6, 11, 13, 18, 22, 23, 28, 29, 30, 31, 32], "comparison": [2, 4, 13], "compat": 7, "compens": 31, "compet": 0, "competit": 10, "compil": [0, 1, 3, 4, 13, 21, 22, 28], "complet": [0, 2, 3, 4, 9, 12, 15, 16, 17, 18, 19, 20, 28], "completenn": 12, "complex": [1, 5, 8, 9, 11, 12, 13, 16, 19, 28, 30, 31, 32], "complianc": [], "complic": [0, 1, 9, 13, 23, 28, 30, 31, 32], "compoment": 29, "compon": [0, 1, 3, 4, 5, 6, 7, 9, 14, 16, 21, 28, 29, 30, 32], "components_": 11, "compos": [9, 12, 13, 14, 21, 28], "compphys": [0, 6, 16, 20, 21, 23, 24, 26, 27, 28, 29, 30], "compress": [0, 28, 29], "compris": 6, "compromis": [5, 29, 30], "compulsori": [21, 28], "comput": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 18, 21, 22, 23, 24, 25, 27, 28, 29, 30, 32], "computation": [0, 3, 6, 9, 13, 25, 28, 30, 31], "computationalscienceuio": 28, "computerlab": 23, "concaten": [2, 4, 6, 14], "concav": [1, 13, 29, 30], "concentr": 10, "concept": [0, 2, 21, 28, 29], "conceptu": [12, 13, 30], "concern": [0, 1, 4, 7, 28, 30], "concic": 28, "conclud": [0, 5, 13, 31], "conclus": 1, "cond": 2, "conda": [0, 1, 21, 23, 28], "condis": 29, "condit": [0, 2, 4, 5, 6, 8, 9, 11, 13, 25, 28, 29, 31, 32], "conduct": 21, "condwav": 2, "confid": [0, 5, 6, 7, 8, 19, 28, 29], "configur": 3, "confirm": [5, 12], "conform": [], "confus": [5, 6, 7, 10, 22, 29, 32], "confusion_matrix": 9, "congruenti": 25, "conjug": [4, 8], "conjugaci": 13, "conjunct": 3, "connect": [0, 1, 3, 4, 9, 11, 12, 13, 22, 28, 29, 30], "consensu": 31, "consequ": [5, 6, 8, 10, 12, 13, 29, 30, 31, 32], "consequenti": [], "conserv": [5, 14, 29, 30], "consid": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 16, 19, 22, 23, 25, 28, 29, 30, 31, 32], "consider": [0, 1, 5, 13, 28, 29, 30, 32], "consist": [1, 2, 3, 4, 6, 12, 13, 23, 25, 29, 30, 32], "consol": [], "const": [], "constant": [0, 2, 4, 5, 6, 8, 12, 13, 16, 18, 25, 28, 29, 30, 31], "constitu": [0, 28], "constitut": [2, 6, 32], "constrain": [1, 3, 5, 7, 11, 30], "constraint": [5, 6, 8, 13, 29, 30, 32], "construct": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 22, 25, 28, 29, 32], "constructor": [], "consum": 31, "contact": [0, 28], "contain": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 18, 19, 22, 23, 25, 27, 28, 29, 30, 31, 32], "contemporari": 28, "content": [1, 15, 20, 21, 22, 28, 30, 31], "context": [6, 10, 13, 23, 30, 31, 32], "contigu": 22, "contin": 19, "continu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 19, 22, 23, 25, 28, 29, 30, 31, 32], "contour": [9, 10, 13], "contourf": [8, 9, 10], "contract": [], "contrast": [1, 4, 9, 10, 12, 28, 31], "contribut": [0, 3, 5, 13, 18, 25, 28, 29, 30, 31], "contributor": [0, 23], "control": [0, 1, 3, 9, 13, 15, 21, 28], "conv": [3, 4], "conv2d": [3, 4], "conv2dtranspos": 4, "convei": 28, "conveni": [5, 6, 12, 13, 22, 23, 28, 30, 31, 32], "convent": [12, 29], "converg": [1, 2, 4, 5, 8, 13, 14, 18, 29, 30], "convergencewarn": [], "convers": [20, 31], "convert": [0, 1, 4, 5, 9, 11, 13, 22, 28, 29, 30], "converttomatrix": 4, "convex": [4, 5, 7, 29], "convinc": [13, 30], "convolut": [1, 4, 21, 28], "cool": [4, 9], "coolwarm": 6, "coordin": [5, 12, 14, 29, 30, 31], "coorel": [], "copi": [0, 1, 14, 15, 29], "copyright": [], "core": 10, "corel": 28, "coronari": 7, "corr": [5, 7, 11, 29], "correalt": [11, 21], "correct": [0, 1, 2, 3, 4, 5, 7, 13, 15, 19, 20, 22, 25, 28, 29, 30, 32], "correctli": [1, 2, 6, 7, 10, 18, 19, 23, 32], "correl": [0, 1, 3, 5, 6, 7, 10, 12, 13, 21, 25, 28, 30, 31, 32], "correlation_matrix": [5, 7, 11, 29], "correspond": [0, 3, 5, 6, 8, 9, 11, 12, 21, 22, 23, 25, 28, 29, 30, 32], "cortex": 12, "cosin": [3, 6, 32], "cost": [0, 2, 3, 5, 6, 7, 8, 9, 12, 13, 16, 17, 18, 19, 23, 28], "cost_deep_grad": 2, "cost_funct": 2, "cost_function_deep": 2, "cost_function_deep_grad": 2, "cost_function_grad": 2, "cost_grad": 2, "cost_histori": [], "cost_ol": [], "cost_ridg": [], "cost_sum": 2, "costli": 31, "costol": [13, 31], "could": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 25, 28, 29, 30, 31, 32], "coulomb": [0, 28], "count": [0, 9, 15, 24, 25, 26, 28], "counteract": 31, "counterpart": 28, "countor": 13, "coupl": [4, 5, 6, 32], "cours": [0, 1, 3, 5, 11, 15, 16, 17, 19, 20, 23, 26, 29, 32], "coursework": 15, "courvil": [27, 28, 29, 31], "cov": [5, 6, 11, 22, 25, 28, 29, 32], "cov_xi": [5, 11, 29], "cov_xx": [5, 11, 29], "cov_yi": [5, 11, 29], "covari": [0, 7, 21, 22, 28, 30], "covariance_matrix": [5, 11, 14], "cover": [0, 5, 21, 26, 27, 29, 30, 32], "covert": [0, 28], "covxi": 25, "covxx": 25, "covxz": 25, "covyi": 25, "covyz": 25, "covzz": 25, "cpu": 1, "craft": 3, "crash": 31, "creat": [1, 3, 4, 5, 9, 10, 11, 12, 15, 18, 19, 21, 28, 31], "create_biases_and_weight": 1, "create_convolutional_neural_network_kera": 3, "create_neural_network_kera": 1, "create_x": [5, 11], "creation": [], "credit": [0, 7, 26, 28], "crim": [], "crime": [], "criteria": [0, 4, 9, 10, 14, 25, 28], "criterion": [9, 10, 13, 18, 30, 31], "critic": [6, 23, 29], "critiqu": 23, "cross": [0, 1, 3, 7, 9, 10, 13, 15, 21, 25, 28, 29, 30, 31], "cross_entropi": 4, "cross_val_scor": [6, 32], "cross_valid": [7, 10], "crossvalid": [6, 32], "crucial": [1, 25, 31], "cs231": 3, "csr_matrix": [22, 28], "css": [], "csv": [0, 4, 6, 7, 9, 32], "ctnk": 1, "cubic": 0, "culprit": [], "cumbersom": [5, 32], "cumprod": [], "cumsum": [10, 11, 28], "cumul": [7, 10, 25, 31], "cumulative_heads_ratio": 10, "cup": 5, "current": [1, 2, 3, 4, 13, 14, 15, 16, 27, 30, 31], "curs": [0, 29], "curv": [6, 7, 10, 12, 23], "curvatur": [13, 30, 31], "custom": [6, 14], "custom_cmap": [9, 10], "custom_cmap2": [9, 10], "custom_lin": [], "cutpoint": 9, "cv": [6, 7, 10, 32], "cvxbook": [13, 30], "cvxopt": [5, 8, 29], "cycl": [1, 12], "cycler": [], "d": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 22, 25, 26, 28, 29, 30, 31, 32], "d1": [], "d166a3": [], "d2": [], "d2_g_t": 2, "d2a8ff": [], "d4d0ab": [], "d71835": [], "d9dee3": [], "d_f": [13, 30], "d_g_t": 2, "d_net_out": 2, "da": 3, "dagger": [5, 22, 29, 30], "dai": [1, 9, 21], "damag": [], "damp": 3, "darget": 9, "darkr": 25, "dat": [0, 28], "dat_id": [0, 6, 7, 9, 28, 32], "data": [2, 4, 5, 8, 10, 12, 13, 14, 16, 19, 20, 22, 23, 27, 30, 31, 32], "data1": 14, "data2": 14, "data3": 14, "data4": 14, "data_id": [0, 6, 7, 9, 28, 32], "data_indic": 1, "data_panda": 28, "data_path": [0, 6, 7, 9, 28, 32], "databas": 1, "datafil": [0, 6, 7, 9, 28, 32], "datafram": [0, 4, 5, 7, 9, 11, 28, 29], "datapoint": [1, 5, 6, 7, 11, 13, 16, 30, 31, 32], "datasci": [15, 16, 19], "dataset": [0, 4, 6, 7, 8, 9, 10, 11, 13, 14, 16, 23, 28, 30, 31, 32], "datatyp": 4, "date": [15, 18, 23, 28, 29, 30, 31, 32], "daughter": 10, "davi": [], "david": 27, "davison": 32, "dbb7ff": [], "dbh": 1, "dbo": 1, "dcc6e0": [], "dcomposit": 22, "ddot": 2, "de": 31, "dead": 1, "deadlin": [15, 20], "deal": [0, 1, 3, 5, 6, 8, 11, 13, 14, 19, 22, 25, 28, 29, 30, 31], "dealt": 0, "debt": 7, "debug": [0, 5, 6, 29, 30, 31, 32], "debugg": [], "decad": [0, 3, 31], "decai": [0, 13, 25, 28], "decemb": [26, 28], "decent": 10, "decid": [0, 2, 3, 5, 6, 9, 18, 29, 30, 31, 32], "decim": [0, 28], "decis": [0, 1, 8, 11, 21, 27, 28], "decision_funct": 8, "decision_tre": 9, "decisiontreeclassifi": [9, 10], "decisiontreeregressor": [0, 9, 10], "declar": [0, 4, 20, 22, 28], "declare_namespac": [], "decompos": [5, 6, 22, 29, 30], "decomposit": [0, 6, 12, 28], "decompost": [5, 29, 30], "deconvolut": 3, "decorrel": [10, 13, 31], "decreas": [1, 2, 4, 5, 6, 10, 11, 13, 19, 30, 31, 32], "dedic": 20, "deduc": [0, 28], "deep": [3, 7, 12, 13, 21, 27, 29, 30], "deep_neural_network": 2, "deep_param": 2, "deep_tree_clf": [9, 10], "deep_tree_clf1": 9, "deep_tree_clf2": 9, "deepen": [5, 21, 28], "deeper": [0, 3, 4, 28], "deeplearningbook": [27, 28, 30, 31], "deer": 3, "def": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 25, 28, 29, 30, 31, 32], "def_covari": 25, "default": [0, 1, 2, 4, 6, 7, 22, 28, 29], "default_tim": 4, "defect": [5, 29, 30], "defici": [5, 29, 30], "defin": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 22, 23, 25, 29, 30, 31, 32], "definit": [1, 2, 5, 6, 7, 8, 10, 11, 12, 13, 22, 25, 29, 30, 31, 32], "defint": 25, "degre": [3, 5, 6, 8, 9, 10, 11, 15, 16, 19, 20, 23, 25, 28, 30, 31, 32], "deisenroth": 29, "del": 1, "delet": [6, 15], "delimit": 4, "deliv": [15, 24, 28], "delta": [0, 2, 3, 6, 8, 12, 13, 14, 28, 31], "delta_": [1, 22], "delta_0": 3, "delta_1": 3, "delta_2": 3, "delta_3": 3, "delta_4": 3, "delta_5": 3, "delta_h": [0, 1, 28], "delta_j": [3, 12], "delta_k": 12, "delta_l": [1, 3], "delta_momentum": [13, 31], "delta_n": [0, 3, 28], "delug": 21, "delv": 0, "demand": [13, 30], "demonstr": [0, 3, 5, 6, 7, 11, 12, 19, 21, 28, 29, 30, 31, 32], "den": 4, "denomin": [1, 5, 31], "denot": [1, 2, 6, 7, 13, 25, 30, 31], "dens": [1, 3, 4], "densiti": [0, 2, 6, 25, 32], "depart": [26, 28, 29, 30, 31, 32], "depend": [0, 1, 2, 4, 5, 6, 7, 8, 11, 12, 13, 15, 16, 21, 22, 23, 25, 28, 29, 30, 31], "depict": 25, "deploy": [0, 21, 23, 28], "depth": [0, 3, 9, 10, 22, 32], "der": [], "deriv": [0, 1, 2, 6, 7, 8, 10, 11, 13, 18, 21, 23, 28], "derivati": 13, "derivative_fn": 13, "descend": [5, 9, 11, 29, 30], "descent": [0, 1, 3, 7, 8, 12, 28, 29], "describ": [0, 2, 4, 5, 6, 8, 10, 11, 12, 13, 19, 20, 22, 23, 28, 31, 32], "descript": [0, 8, 9, 20, 23, 28], "design": [0, 1, 3, 4, 5, 6, 7, 10, 11, 12, 13, 17, 18, 23, 28, 30, 31, 32], "designmatrix": [0, 28], "desir": [0, 2, 4, 5, 13, 14, 28, 29, 30, 31], "desktop": 15, "despit": [1, 12, 31], "destroi": 22, "det": [5, 22, 29, 30], "detail": [0, 6, 11, 13, 14, 18, 22, 23, 29, 30, 31], "detect": [3, 8, 12], "determin": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 18, 22, 25, 28, 29, 30, 31, 32], "determinist": [7, 13, 25, 30, 31], "dev": [1, 23], "develop": [0, 3, 5, 8, 10, 11, 12, 21, 22, 23, 28, 29], "deviat": [0, 1, 2, 4, 5, 6, 17, 18, 19, 23, 25, 28, 29, 31, 32], "devis": 12, "df": [4, 8, 11, 13, 28], "df1": 28, "di": [], "diag": [5, 8, 29, 30, 31], "diagnost": [1, 10], "diagon": [0, 5, 7, 13, 18, 19, 22, 25, 28, 29, 30, 31], "diagonaliz": [5, 29, 30], "diagram": 10, "diagsvd": 6, "dice": [6, 25, 32], "dict": [6, 8], "dictionari": [], "did": [0, 1, 5, 6, 7, 10, 11, 14, 16, 23, 28, 32], "die": 1, "diff": 2, "diff1": 2, "diff2": 2, "diff_ag": 2, "diffeent": 8, "differ": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 27, 28, 29, 30, 32], "differenti": [0, 3, 16, 21, 22, 28, 29, 30], "difficult": [0, 1, 6, 10, 13, 25, 28, 31, 32], "difficulti": [0, 1, 13, 28, 30, 31], "diffonedim": 2, "digit": [0, 1, 3, 4, 6, 26, 28], "dilemma": [13, 31], "dilut": 1, "dim": [4, 11, 14, 22], "dimens": [0, 1, 2, 3, 4, 5, 8, 11, 14, 16, 22, 28, 29, 30], "dimension": [0, 4, 5, 6, 9, 11, 13, 14, 19, 21, 22, 23, 28, 29, 30, 31, 32], "dimensionless": [0, 3, 28], "diment": 22, "diminish": 31, "dimnsion": 4, "diod": 3, "direct": [0, 1, 2, 4, 11, 12, 13, 14, 28, 29, 30, 31], "directli": [1, 4, 5, 6, 18, 25, 29, 30], "directori": [], "disadvantag": [0, 28, 31], "disappear": [3, 6, 32], "disc_loss": 4, "disc_tap": 4, "discard": [6, 11, 31, 32], "disciplin": [0, 3, 12], "disclaim": 25, "discord": 28, "discourag": [13, 15, 30], "discov": [0, 28], "discover": 5, "discret": [1, 3, 5, 7, 13], "discrimin": [4, 7, 10, 11], "discriminator_loss": 4, "discriminator_loss_list": 4, "discriminator_model": 4, "discriminator_optim": 4, "discuss": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32], "diseas": 7, "disguis": [6, 29, 31], "disk": 31, "disord": [1, 7], "displai": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 23, 25, 28, 29, 31, 32], "displaystyl": [0, 5, 17, 28, 29, 30, 31], "disregard": [0, 28], "dissimilar": [11, 14], "dist": 14, "distanc": [8, 9, 11, 14, 25], "distance_list": 9, "distinct": [3, 7, 8, 9, 10, 14], "distinctli": 8, "distinguish": [0, 4, 7, 8, 25, 28], "distplot": [], "distribut": [0, 1, 4, 6, 7, 10, 11, 13, 14, 18, 19, 21, 22, 23, 28, 29, 30, 31], "distrubut": [0, 21, 23, 28], "div": [], "dive": [0, 8, 22, 28], "diverg": [1, 13, 30, 31], "divid": [0, 1, 3, 5, 6, 7, 8, 9, 11, 12, 18, 19, 25, 28, 29, 31, 32], "divis": [6, 8, 9, 13, 18, 22, 25, 31, 32], "dl": [], "dm": [], "dna": 7, "dnn": [0, 1, 2, 4, 12, 28], "dnn1": 4, "dnn2_gru2": 4, "dnn_kera": 1, "dnn_model": 1, "dnn_numpi": 1, "dnn_scikit": [0, 1, 28], "do": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 22, 23, 28, 29, 30, 32], "doc": [0, 15, 16, 19, 21, 23, 24, 26, 27, 28], "document": [4, 13, 15], "docutil": [], "doe": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 15, 16, 17, 18, 19, 22, 23, 25, 28, 31, 32], "doesn": [3, 9, 12, 28, 31], "dog": [1, 3, 4], "dollar": [], "domain": [5, 8, 13, 23, 30, 32], "domcontentload": [], "domin": [0, 28], "don": [0, 1, 3, 5, 6, 8, 11, 13, 15, 16, 21, 23, 28, 29, 31], "done": [0, 2, 3, 4, 5, 6, 9, 10, 11, 13, 16, 20, 22, 23, 28, 29, 30, 31, 32], "dot": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 18, 22, 23, 25, 28, 29, 30, 31, 32], "doubl": [3, 4, 16, 22, 28], "doubli": 1, "doubt": 23, "down": [0, 3, 6, 9, 11, 12, 13, 30, 31], "download": [0, 1, 3, 5, 6, 15, 20, 22, 27, 28], "downsampl": 3, "dozen": 1, "dq": [6, 32], "draft": 20, "drag": 13, "dragon": [], "dramat": 11, "drastic": 4, "draw": [4, 6, 10, 13, 30, 32], "drawback": [0, 1, 3, 13, 29, 30, 31], "drawn": [1, 4, 6, 7, 11, 25, 28, 32], "drive": [3, 4], "driven": 3, "drop": [0, 1, 5, 6, 11, 13, 25, 28, 29, 30, 32], "dropna": [0, 6, 28, 32], "dropout": 4, "dt": [2, 3, 13, 25], "dtype": [0, 1, 3, 4, 14, 22, 28], "dual": [], "dub": [0, 28], "duboi": [], "due": [1, 2, 5, 6, 8, 10, 12, 13, 18, 26, 28, 29, 30, 31, 32], "dugard": [], "dummi": [], "dure": [0, 1, 3, 4, 8, 9, 11, 20, 21, 23, 28, 31, 32], "dwell": [], "dwh": 1, "dwo": 1, "dx": [2, 3, 8, 25], "dx_1": 25, "dx_1p": [6, 32], "dx_2p": [6, 32], "dx_mp": [6, 32], "dx_n": 25, "dxp": [6, 32], "dy": [1, 8, 25], "dynam": 4, "dz": 8, "e": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 25, 26, 28, 29, 30, 31, 32], "e1e1e1": [], "e_": [0, 2, 28], "each": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 21, 22, 24, 25, 26, 28, 29, 30, 31, 32], "eager": 32, "eapprox": [0, 28], "earli": [1, 13, 31], "earlier": [0, 5, 7, 8, 9, 11, 12, 13, 20, 28, 29], "earthexplor": 6, "eas": [6, 9, 14, 32], "easi": [0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 21, 22, 28, 29, 30, 31, 32], "easier": [5, 6, 8, 9, 13, 15, 20, 23, 25, 28, 29, 30, 32], "easiest": [13, 18], "easili": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 22, 23, 28, 29, 30, 31, 32], "eastern": [26, 28], "ebind": [0, 28], "eblock": 9, "ec8e2c": [], "econom": [], "econometr": 28, "economi": 5, "ecosystem": [21, 28], "ect": 24, "edg": 3, "edgecolor": [6, 32], "edit": [], "editor": [15, 20], "edu": [13, 23, 30], "educ": [0, 23, 28, 32], "ee6677": [], "eff": 25, "effect": [1, 4, 10, 13, 16, 17, 18, 25, 31], "effic": 1, "effici": [0, 3, 10, 13, 21, 22, 25, 28, 31], "effort": 19, "efron": [6, 32], "egrad": 13, "eig": [5, 11, 13, 22, 25, 28, 29, 30, 31], "eigen": 25, "eigenpair": [5, 11, 29, 30], "eigenvalu": [0, 5, 8, 11, 13, 22, 28, 29, 30, 31], "eigenvector": [5, 11, 13, 29, 30], "eight": [22, 28], "eigval": [22, 25, 28], "eigvalu": [11, 13, 30, 31], "eigvec": [22, 25, 28], "eigvector": [11, 13, 30, 31], "eir": [26, 28], "eispack": [22, 28], "either": [1, 5, 6, 7, 8, 9, 10, 11, 13, 18, 19, 23, 25, 28, 29, 30, 31, 32], "eivind": 26, "eivinsto": 26, "ekstr\u00f8m": 4, "elabor": 25, "elarn": 3, "electr": [0, 3, 12, 28], "electron": 28, "eleg": 11, "element": [1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 19, 20, 21, 22, 23, 27, 29, 31, 32], "elementari": [10, 13, 22], "elementwis": [3, 13], "elementwise_grad": [2, 13], "elessar": 28, "elif": 14, "elim": 22, "elimin": [3, 8], "elin": [26, 28], "ell_": [], "ellipsi": 16, "els": [1, 3, 4, 7, 9, 12, 13, 16, 22], "elu": 1, "elus": [0, 28], "em": [], "email": [20, 24, 26, 28], "emb": [], "embed": [0, 11, 29], "embodi": [6, 23, 32], "emit": 25, "emner": 27, "emph": 31, "emphas": [0, 10, 21, 28], "emphasi": [0, 21, 27, 28], "empir": [1, 11, 25], "emploi": [0, 1, 5, 6, 11, 13, 25, 28, 29, 30, 32], "employ": 0, "empti": [6, 10, 15, 32], "emul": 12, "en": [21, 23, 27], "enabl": [11, 31], "enbodi": [6, 32], "encod": [0, 3, 5, 9, 11, 14, 28, 29, 30], "encompass": [0, 23, 25], "encount": [0, 1, 5, 7, 13, 15, 23, 25, 28, 29, 30, 31], "encourag": [15, 23], "end": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 20, 22, 25, 26, 28, 29, 30, 31, 32], "endblock": [], "endfor": [], "endif": [], "endors": [], "endpoint": [3, 6], "energi": [0, 4, 6, 32], "enforc": 12, "eng": 27, "engin": [0, 1, 3, 4, 21, 28], "english": 23, "enjoi": 31, "enocurag": 23, "enorm": 3, "enough": [0, 6, 13, 28, 30, 31, 32], "ensembl": [1, 9, 28], "ensur": [0, 1, 2, 3, 5, 6, 11, 13, 18, 25, 29, 30, 31, 32], "entail": 28, "enter": [5, 6, 29, 30, 31], "enthought": [0, 21, 23, 28], "entir": [1, 3, 7, 9, 21, 25, 28, 31], "entireti": [], "entiti": [9, 12, 22, 28], "entri": [0, 5, 8, 11, 12, 22, 28, 29, 31, 32], "entropi": [1, 3, 7, 10, 13, 28, 30, 31], "enumer": [0, 1, 2, 3, 4, 6, 8, 28, 29, 31], "env": 25, "environ": [2, 21, 23, 28], "environemnt": 15, "eo": [0, 6, 32], "eol": 0, "eosfit": 0, "epoch": [0, 1, 3, 4, 12, 13, 28, 31], "eppstein": [], "epsilon": [0, 5, 6, 7, 13, 23, 28, 29, 30, 31, 32], "epsilon_": [0, 28], "epsilon_0": [0, 28], "epsilon_1": [0, 28], "epsilon_2": [0, 28], "epsilon_i": [0, 28, 29], "eq": [3, 13, 14, 22, 25, 30], "eqnarrai": [3, 5, 6, 32], "equal": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 16, 18, 22, 23, 25, 28, 29, 30, 31, 32], "equat": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 19, 22, 25, 28, 31, 32], "equilibrium": [2, 12], "equiv": [3, 13, 22, 25, 30, 31], "equival": [0, 1, 5, 7, 8, 11, 13, 21, 22, 28, 29, 30, 31, 32], "equivel": 19, "eras": [], "erf": 25, "eriador": 28, "eric": [], "err": [0, 10], "err_": [6, 32], "err_sqr": 2, "errat": [13, 30, 31], "erron": 2, "error": [1, 2, 4, 5, 6, 7, 9, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 25, 31], "error_estimate_corr_tim": 25, "error_hidden": 1, "error_output": 1, "escap": [13, 30, 31], "escapehtml": [], "especi": [1, 3, 9, 12, 13, 15, 18, 23, 31], "essenti": [0, 5, 6, 9, 10, 12, 14, 15, 23, 25, 29, 30, 31], "establish": [0, 6, 10, 11, 16, 23], "estim": [0, 1, 5, 6, 7, 10, 11, 13, 19, 21, 25, 28, 29, 30, 31], "estimated_mse_fold": [6, 32], "estimated_mse_kfold": [6, 32], "estimated_mse_sklearn": [6, 32], "et": [0, 2, 4, 16, 17, 20, 27, 28, 29, 30, 32], "eta": [0, 1, 3, 8, 12, 13, 18, 28, 30, 31], "eta0": [8, 13], "eta_": 13, "eta_j": 31, "eta_t": [13, 31], "eta_v": [0, 1, 3, 28], "etc": [0, 1, 3, 5, 7, 8, 9, 11, 12, 13, 14, 21, 22, 23, 25, 29, 30, 31], "ethic": 21, "etsim": 32, "euclidean": [0, 14, 29, 31], "euler": [], "evalu": [0, 2, 3, 4, 5, 6, 9, 13, 15, 16, 17, 19, 23, 25, 28, 29, 30, 31, 32], "evalut": [13, 23], "even": [0, 1, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 21, 22, 25, 28, 29, 30, 31, 32], "evenli": 4, "event": [5, 7, 10, 25, 32], "eventu": [0, 5, 6, 11, 12, 13, 23, 26, 29, 30, 31, 32], "everi": [0, 1, 2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 21, 25, 26, 28, 29, 30, 31, 32], "everyth": [4, 12, 16, 18], "everywher": [4, 13, 30], "evolv": 0, "exact": [0, 5, 11, 12, 13, 22, 25, 28, 29, 31], "exactli": [0, 3, 4, 6, 12, 18, 21, 29, 31, 32], "exam": 28, "examin": [6, 32], "exampl": [0, 5, 11, 12, 13, 15, 16, 18, 20, 21, 22, 23, 25, 27], "exce": [1, 12, 13, 31], "exceed": 31, "excel": [0, 1, 4, 5, 10, 20, 23, 28, 29], "except": [3, 4, 6, 8, 9, 22], "excess": [0, 28], "exchang": 31, "excit": 0, "exclud": [1, 6, 12, 29, 31, 32], "exclus": [0, 1, 3, 6, 25, 28, 32], "execut": [2, 5, 13, 15, 29, 30, 31], "exemplari": [], "exemplifi": [13, 31], "exercic": [26, 28], "exercis": [5, 21, 23, 24, 26, 28, 30, 31, 32], "exhaust": [6, 31, 32], "exhibit": [0, 5, 6, 8, 28, 29, 32], "exist": [0, 1, 2, 3, 5, 6, 7, 8, 9, 13, 19, 22, 23, 28, 30, 31, 32], "exit": [5, 22, 29, 30], "exp": [0, 1, 2, 5, 6, 7, 8, 10, 11, 12, 13, 16, 17, 19, 25, 29, 30, 31, 32], "exp_term": 1, "expand": [5, 7, 11, 13, 30], "expans": [0, 3, 5, 8, 10, 12, 13, 28, 29, 30], "expect": [0, 1, 5, 6, 7, 11, 12, 13, 15, 18, 21, 23, 28, 29, 31], "expectation_value_of_h_wrt_p": 25, "expens": [6, 10, 13, 16, 30, 31], "experi": [0, 1, 6, 8, 13, 15, 21, 23, 28, 29, 30, 31, 32], "experiment": [0, 4, 6, 9, 25, 28, 32], "expert": [1, 9], "explain": [0, 6, 9, 10, 11, 13, 16, 19, 23, 28, 30], "explained_variance_ratio_": 11, "explan": [], "explanatori": [0, 28], "explicit": [0, 3, 6, 13, 22, 23, 28, 29, 30, 31], "explicitli": [0, 4], "explod": 1, "exploit": [0, 3, 12, 13, 28, 31], "explor": [1, 4, 6, 8, 13, 18, 21, 23, 28, 30, 31], "expon": 1, "exponenti": [0, 1, 5, 6, 10, 13, 25, 28, 30], "export": [9, 15, 16, 19, 20], "export_graphviz": 9, "export_text": 9, "exporttext": 9, "expos": 21, "express": [0, 2, 3, 5, 6, 7, 10, 12, 13, 18, 22, 23, 25, 28, 30, 31, 32], "exptmean": 25, "exptvari": 25, "extend": [0, 2, 7, 11, 13, 21, 28, 31], "extend_path": [], "extens": [0, 12, 15, 21, 28], "extent": [0, 1, 6, 27, 32], "extern": [3, 6, 9], "extra": [1, 3, 5, 15, 26, 28, 29, 30], "extract": [0, 3, 5, 6, 7, 8, 11, 13, 16, 17, 22, 28, 29], "extrapol": [0, 28], "extrem": [0, 1, 4, 5, 6, 7, 8, 9, 13, 15, 16, 22, 29, 30, 31], "extremum": [13, 30], "extrins": 11, "ey": [0, 5, 6, 13, 14, 18, 22, 28, 29, 30, 31], "f": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 22, 25, 26, 28, 29, 30, 31, 32], "f1": 13, "f11": [0, 28], "f12": [0, 28], "f13": [0, 28], "f1_grad": 13, "f1d": 13, "f2": 13, "f26196": [], "f2_grad_x1": 13, "f2_grad_x1_analyt": 13, "f2_grad_x2": 13, "f2_grad_x2_analyt": 13, "f2f2f2": [], "f3": 13, "f3_grad": 13, "f3_grad_analyt": 13, "f4": 13, "f4_grad": 13, "f4_grad_analyt": 13, "f5": 13, "f5_grad": 13, "f5a394": [], "f5ab35": [], "f5f5f5": [], "f6": 13, "f6_for": 13, "f6_for_grad": 13, "f6_grad_analyt": 13, "f6_while": 13, "f6_while_grad": 13, "f7": 13, "f78c6c": [], "f7_grad": 13, "f7_grad_analyt": 13, "f8": 13, "f8_grad": 13, "f8f8f2": [], "f9": [0, 13, 28], "f9_altern": 13, "f9_alternative_grad": 13, "f9_grad": 13, "f_": 10, "f_0": [3, 10], "f_1": [10, 13, 30], "f_2": [12, 13, 30], "f_3": 12, "f_d": 25, "f_grad": 13, "f_grad_analyt": 13, "f_i": [0, 6, 12, 16, 32], "f_m": [3, 10], "f_n": 3, "f_vec": 2, "face": [13, 28, 30], "facecolor": [6, 8, 25, 32], "facil": [0, 21], "facilit": 12, "fact": [0, 1, 3, 5, 9, 11, 12, 13, 28, 29, 30, 31], "facto": 31, "factor": [0, 1, 3, 5, 6, 9, 10, 11, 13, 22, 25, 28, 29, 30], "factori": 13, "fad000": [], "fade": 6, "fae4c2": [], "fafab0": [9, 10], "fail": [0, 6, 13, 26, 28, 30, 32], "failur": 7, "fairli": [1, 2, 18, 25, 31], "faisal": [16, 29], "fake": 4, "fake_loss": 4, "fake_output": 4, "fall": [8, 9, 24], "fals": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 14, 16, 17, 22, 28, 29, 30, 31, 32], "famili": [0, 7, 8, 25, 29, 31], "familiar": [0, 3, 5, 6, 8, 15, 21, 22, 23, 25, 28, 32], "famou": [6, 12], "far": [0, 3, 4, 5, 6, 8, 11, 12, 13, 14, 16, 20, 28, 29, 30, 31], "fashion": [0, 9, 10, 28, 31], "fast": [1, 3, 6, 10, 12, 13, 21, 25, 28, 30, 31, 32], "faster": [1, 11, 13, 31], "fastest": [13, 22, 30], "fatal": [], "favor": [7, 31], "favorit": 25, "fc": 3, "fcfcfc": [], "fdac54": [], "fdf2e2": [], "featur": [0, 1, 3, 5, 6, 7, 8, 10, 11, 12, 13, 15, 17, 18, 19, 21, 25, 28, 30, 31, 32], "feature_nam": [1, 7, 9], "feautur": 9, "fed": 1, "feed": [0, 2, 3, 11, 21, 28], "feed_forward": 1, "feed_forward_out": 1, "feed_forward_train": 1, "feedback": [4, 20, 28], "feeddorward": 4, "feedforward": [1, 4, 12], "feel": [0, 5, 6, 11, 13, 15, 16, 18, 21, 23, 26, 28], "feet": [], "fefef": [], "fefeff": [], "felt": 23, "fenc": [], "fernando": [], "fetch": [6, 15], "few": [1, 3, 4, 5, 9, 17, 18, 19, 25, 28], "fewer": [0, 9, 11, 19, 28, 31], "ff7b72": [], "ff9492": [], "ffa07a": [], "ffa657": [], "ffb757": [], "ffd700": [], "ffd900": [], "ffd9002e": [], "ffffff": [], "ffnn": [1, 12], "fi": [], "field": [0, 3, 6, 12, 19, 21], "fieldmask": [], "fifth": [0, 6, 28], "fig": [0, 1, 2, 3, 4, 6, 7, 12, 13, 14, 23, 28], "fig_id": [0, 6, 7, 9, 28, 32], "figaxi": 25, "figsiz": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 28, 32], "figur": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 21, 23, 28, 29, 30, 31, 32], "figure_id": [0, 6, 7, 9, 28, 32], "figurefil": [0, 6, 7, 9, 28, 32], "file": [0, 4, 5, 6, 7, 9, 15, 20, 23, 28, 32], "file_prefix": 4, "filenam": 28, "fill": [5, 9, 18, 29, 30], "fill_valu": [], "filter": [3, 4], "final": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 18, 20, 23, 24, 25, 26, 28, 30, 32], "financ": 0, "find": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 21, 23, 25, 28, 29, 30, 31], "fine": [0, 14], "finish": [2, 20], "finit": [3, 5, 6, 12, 13, 17, 25, 29, 30, 32], "finnicki": 15, "fire": [], "first": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 22, 23, 25, 26, 27, 29, 31, 32], "first_moment": 31, "first_term": 31, "firsteigvector": 11, "fit": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 17, 18, 19, 23, 25, 29, 31, 32], "fit_beta": 29, "fit_intercept": [0, 5, 6, 16, 29, 30, 31, 32], "fit_mod": 9, "fit_theta": [6, 31], "fit_transform": [0, 6, 8, 9, 11, 15, 19, 32], "fiti": [0, 28], "five": [0, 9, 28, 29], "fix": [0, 3, 4, 6, 10, 11, 12, 13, 23, 28, 32], "flag": 4, "flat": [12, 13, 30, 31], "flatten": [1, 3, 4, 5, 22], "flavor": [], "flexibl": [1, 6, 8, 10, 12, 28, 31, 32], "flip": [26, 28], "float": [0, 3, 4, 5, 9, 11, 13, 14, 22, 28, 29, 30], "float32": [4, 9], "float64": [4, 22, 28], "flop": [5, 22, 29, 30], "flow": [1, 4, 12], "fluctuat": [5, 31], "fly": 11, "fm": 0, "fmax": 3, "fmesh": 13, "fn": 7, "focu": [0, 3, 4, 5, 6, 15, 21, 23, 27, 28, 29, 30, 31, 32], "focus": [1, 6, 7, 22, 29, 31], "fold": [6, 9, 23], "folder": [0, 4, 6, 15, 20, 23, 28], "follow": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32], "font": [7, 20, 25, 28], "fontdict": 25, "fontsiz": [1, 6, 8, 9, 10, 25], "fontweight": 1, "footprint": [3, 31], "foral": [8, 29], "forc": [0, 5, 6, 10, 11, 29, 30, 31], "forcast": 4, "forcier": [], "forecast": [4, 12], "forest": [0, 1, 9, 21, 28], "forget": [11, 31], "form": [0, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 21, 22, 23, 25, 28, 29, 30, 31, 32], "formal": [3, 4, 14, 18, 25], "format": [0, 1, 3, 4, 6, 7, 8, 9, 10, 11, 20, 21, 25, 27, 32], "format_data": 4, "formatstrformatt": [6, 13, 30, 31], "formatt": [], "formul": [4, 6, 11, 14], "formula": [3, 13, 25, 30], "forth": [4, 12], "fortran": [0, 21, 22, 28], "fortran2003": [21, 28], "fortran2008": 23, "fortran90": 25, "fortun": [0, 11, 29], "forward": [0, 3, 6, 21, 22, 28, 31, 32], "found": [1, 2, 4, 5, 6, 12, 13, 19, 20, 23, 28, 29, 31, 32], "foundat": [21, 28], "four": [4, 5, 6, 8, 12, 22, 24, 26, 28, 30], "fourier": [0, 28], "fourierdef1": 3, "fourierdef2": 3, "fourierseriessign": 3, "fourth": [12, 28, 29], "fp": 7, "frac": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 22, 23, 25, 28, 29, 30, 31, 32], "fraction": 9, "frame": [7, 31], "framework": [1, 8, 10, 25], "frank": [5, 11], "frankefunct": [5, 6, 11], "fredli": [26, 28], "free": [0, 6, 11, 13, 15, 16, 18, 21, 22, 23, 25, 26, 27, 28], "freecodecamp": 21, "freedom": [5, 30], "freeli": [0, 23], "freez": 15, "frequenc": [3, 6, 7, 25, 32], "frequent": [0, 8, 9, 13, 30], "frequentist": 21, "fresh": 10, "fridai": [15, 26, 28], "friedman": [6, 19, 23, 27, 28], "friendli": 4, "fro": 23, "frodo": 28, "frog": 3, "from": [0, 1, 2, 3, 4, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27], "from_cod": 9, "from_logit": [3, 4], "from_tensor_slic": 4, "front": [0, 4, 5, 28, 29, 30], "frustrat": 15, "fulfil": [2, 5, 12, 29, 30], "full": [1, 3, 5, 7, 9, 10, 13, 25, 28, 29, 30], "full_matric": [5, 29, 30], "fulli": [3, 6, 12, 25, 32], "fullnam": [], "fun": [21, 28], "func": 2, "function": [2, 3, 4, 5, 9, 14, 15, 16, 17, 18, 19, 20, 21, 22], "functionali": 11, "fundament": [0, 6, 21, 28, 32], "funtion": 2, "furnish": [], "further": [2, 7, 9, 19, 28], "furthermor": [0, 3, 5, 6, 7, 11, 12, 13, 21, 23, 28, 29, 30, 31, 32], "futur": [0, 4, 8, 9, 28], "fy": [15, 23, 24, 26, 27, 28], "fys4155": 23, "fys5419": [27, 28], "fys5429": [27, 28], "f\u00f8470": [26, 28], "g": [0, 1, 2, 3, 4, 6, 8, 9, 10, 11, 13, 15, 18, 19, 25, 28, 29, 30, 31, 32], "g0": 2, "g_": [2, 9, 10, 31], "g_0": 2, "g_1": [2, 10], "g_2": [2, 10], "g_analyt": 2, "g_dnn_ag": 2, "g_euler": 2, "g_i": 2, "g_m": [3, 10], "g_n": 3, "g_re": 2, "g_t": [2, 31], "g_t_d2t": 2, "g_t_d2x": 2, "g_t_dt": 2, "g_t_hessian": 2, "g_t_hessian_func": 2, "g_t_jacobian": 2, "g_t_jacobian_func": 2, "g_trial": 2, "g_trial_deep": 2, "g_vec": 2, "gain": [1, 5, 7, 9, 10, 13, 29, 30], "galleri": [0, 28], "game": 4, "gamge": 28, "gamma": [0, 2, 8, 9, 10, 11, 13, 28, 30], "gamma1": 8, "gamma2": 8, "gamma_": [0, 28], "gamma_0": 10, "gamma_1": 10, "gamma_1x": 10, "gamma_i": [0, 8, 25, 28], "gamma_j": 13, "gamma_k": [13, 30], "gamma_m": 10, "gamma_x": [0, 28], "gap": [8, 31], "gate": [4, 12], "gather": [0, 1, 12, 29], "gaug": 12, "gaussbacksub": 22, "gaussian": [4, 5, 6, 8, 14, 18, 25, 28, 32], "gaussian_point": 14, "gaussian_rbf": 8, "gave": [13, 31], "gavra": 28, "gbc": 28, "gca": [2, 6, 8, 13], "gd": [1, 30], "gd_clf": 10, "gdclassiffiercgain": 10, "gdclassiffierconfus": 10, "gdclassiffierroc": 10, "gdm": 13, "gdregress": 10, "ge": [1, 5, 7, 25, 29, 30], "gen_loss": 4, "gen_tap": 4, "gender": [0, 28], "genener": 4, "gener": [0, 1, 2, 3, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 23, 25, 27, 29, 30, 31, 32], "generaliz": 16, "generallay": 12, "generate_and_save_imag": 4, "generate_imag": 4, "generate_latent_point": 4, "generate_simple_clustering_dataset": 14, "generated_imag": 4, "generator_loss": 4, "generator_loss_list": 4, "generator_model": 4, "generator_optim": 4, "genom": 21, "geodes": 11, "geoff": 31, "geometr": [0, 13, 28, 31], "geometri": 5, "georg": 27, "geotif": 6, "geq": [2, 5, 8, 9, 13, 29, 30, 31], "gerard": [], "geron": [0, 27, 28], "get": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 15, 19, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32], "get_dummi": 9, "get_paramet": 2, "get_split": 9, "get_yaxi": 8, "get_yticklabel": 6, "getmask": [], "gh": 15, "giant": 31, "gibb": [21, 28], "gif": 4, "gini": 10, "gini_index": 9, "ginvers": 13, "git": [0, 15, 21, 28], "gitcdn": [], "giter": [13, 31], "github": [0, 20, 21, 23, 24, 26, 27, 28, 29], "gitignor": 15, "gitlab": [0, 15, 21, 23, 28], "give": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 18, 19, 21, 23, 25, 28, 29, 30, 31, 32], "given": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 19, 22, 25, 28, 29, 30, 31, 32], "global": [6, 7, 13, 30, 31], "glorot": 1, "gmail": [], "gnew": 13, "go": [0, 1, 3, 5, 6, 8, 9, 11, 12, 13, 15, 16, 18, 28, 29, 30, 32], "goal": [0, 7, 9, 28], "goe": [0, 1, 2, 5, 6, 13, 14, 15, 19, 22, 28, 29, 30, 31, 32], "goessner": [], "golden": 13, "gone": [5, 29, 30], "gong": 1, "good": [1, 3, 4, 5, 6, 9, 10, 11, 13, 15, 18, 21, 25, 27, 29, 30, 31], "goodfellow": [4, 27, 28, 29, 30], "googl": [1, 4, 21, 28], "got": [1, 6, 23], "gotten": 28, "gov": 6, "govern": 28, "gp": 27, "gpu": [1, 13, 21, 28, 31], "grad": [2, 13, 31], "grad_analyt": 13, "grad_ol": 18, "grad_ridg": 18, "grade": [23, 24], "gradient": [0, 3, 4, 7, 8, 9, 12, 21, 28, 29], "gradient_desc": 31, "gradientboostingclassifi": 10, "gradientboostingregressor": 10, "gradients_of_discrimin": 4, "gradients_of_gener": 4, "gradienttap": 4, "gradual": [1, 14], "grai": [4, 6], "granger": [], "grant": [], "graph": [1, 9, 11, 12, 13, 16, 20, 30, 31], "graph_from_dot_data": 9, "graphic": [0, 1, 9, 15, 28], "grasp": 0, "gray_r": [1, 3], "grayscal": 3, "great": [5, 13, 15, 30, 31], "greater": [1, 7, 25, 29], "greatli": 13, "greedi": 9, "green": [0, 3, 9, 25], "grei": 4, "grid": [1, 3, 6, 7, 8, 12, 25, 29, 31, 32], "grossli": [13, 30], "ground": [0, 28], "group": [0, 6, 7, 9, 14, 15, 20, 21, 23, 24, 26, 28, 32], "groupbi": [0, 28], "grow": [1, 3, 9, 10, 31], "growth": [0, 28], "gru": 4, "guarante": [0, 4, 13, 25, 28, 29, 30, 31], "guess": [1, 4, 10, 13, 14, 30, 31], "guestrin": 10, "gui": 15, "guid": 1, "guidelin": 20, "g\u00f6ssner": [], "h": [0, 1, 5, 6, 8, 13, 15, 19, 25, 26, 27, 28, 29, 30, 31], "h1": 2, "h_": [0, 13, 28, 30, 31], "h_0": 31, "h_1": [2, 13, 30], "h_2": [2, 13, 30], "h_m": 10, "h_t": 31, "ha": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23, 25, 28, 29, 30, 31, 32], "haanen": [26, 28], "habit": [0, 29], "had": [0, 1, 6, 7, 13, 28, 30, 31, 32], "hadamard": [1, 12, 13, 31], "half": [1, 8, 9], "halv": 10, "hand": [0, 1, 2, 3, 5, 11, 12, 13, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31], "handi": [3, 23], "handl": [0, 1, 2, 5, 9, 11, 15, 18, 21, 29, 30, 31], "handle_unknown": 9, "handsid": 12, "handwrit": 12, "handwritten": [1, 5], "happen": [1, 2, 3, 4, 5, 6, 10, 13, 25, 29, 30, 31], "hard": [1, 7, 8, 10, 13, 30, 31], "hardcopi": [21, 28], "harder": [0, 1, 19, 29], "harmon": 3, "hash": 31, "hasn": [], "hassl": [0, 21, 28], "hast": [21, 28], "hasti": [0, 6, 16, 17, 19, 20, 23, 27, 28, 29, 32], "hat": [0, 1, 5, 6, 7, 9, 10, 11, 12, 13, 16, 17, 18, 19, 22, 29, 30, 31, 32], "hauser": [], "have": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32], "have_sys_un_h": [], "haven": 1, "he": 7, "head": [4, 10, 25], "header": [0, 28], "heads_proba": 10, "health": [0, 29], "hear": [0, 13, 28, 31], "heart": [0, 7, 28], "heatmap": [0, 1, 3, 7, 17, 20, 28], "heavi": 31, "heavili": 0, "heavisid": 1, "height": [1, 3, 6, 29], "held": [13, 31], "help": [0, 1, 4, 12, 13, 15, 16, 23, 28, 31, 32], "helper": [4, 14], "henc": [0, 5, 6, 8, 9, 10, 12, 13, 28, 29, 30, 31, 32], "henrik": [26, 28], "her": 7, "here": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 21, 22, 23, 25, 28, 29, 30, 31, 32], "hereaft": [0, 8, 12, 28], "herebi": [], "hermitian": 22, "hessenberg": 22, "hessian": [0, 2, 5, 13], "heterogen": [9, 10], "hex": [], "hi": 7, "hidden": [1, 3, 4, 12], "hidden_bia": 1, "hidden_bias_gradi": 1, "hidden_layer_s": [0, 1, 28], "hidden_neuron": 4, "hidden_weight": 1, "hidden_weights_gradi": 1, "hierarch": [5, 29, 30], "high": [0, 1, 2, 3, 4, 5, 6, 9, 10, 11, 13, 14, 21, 22, 23, 28, 29, 30, 31, 32], "higher": [0, 1, 3, 5, 6, 8, 13, 18, 23, 28, 29, 30, 31, 32], "highest": [1, 2], "highli": [0, 3, 4, 10, 19, 21, 22, 27, 28, 29, 30, 31], "highlight": [], "highwai": [], "hing": 8, "hint": [13, 15, 16, 29, 30], "hinton": 31, "hip": 21, "hire": 0, "hist": [4, 6, 7, 25, 32], "histogram": [6, 7, 25], "histor": [7, 11], "histori": [3, 4, 12, 15, 31], "hitherto": 5, "hjorth": [26, 28, 29, 30, 31, 32], "hobbi": 25, "hoc": [5, 29, 30], "hoff": 27, "hold": [1, 3, 6, 13, 14, 30, 31, 32], "holder": [0, 28], "holdgraf_evidence_2014": [], "home": [], "homepag": [23, 28], "homework": [6, 13, 30, 31], "homogen": [1, 3, 9, 10, 13, 31], "honchar": 2, "hopefulli": [0, 11, 15, 19, 25, 28, 31], "horizont": 11, "horlyk": [26, 28], "hors": [3, 7, 28], "hot": [1, 9], "hour": [1, 21, 24, 25, 26, 28, 31, 32], "how": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 28, 29, 30, 31, 32], "howev": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 21, 22, 23, 25, 28, 29, 30, 31, 32], "href": [], "hspace": [0, 4, 8, 10, 25, 28], "hstack": 1, "htf": 28, "html": [0, 16, 20, 21, 23, 24, 26, 27, 28, 29, 30, 31], "http": [0, 3, 4, 6, 13, 15, 16, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32], "huang": [0, 28], "huber": [0, 28], "huge": [1, 3, 4, 21, 31], "human": [0, 1, 3, 6, 9, 12, 29], "humid": 9, "hundr": 1, "hungri": 1, "hybrid": 24, "hydrogen": [0, 28], "hyperbol": [1, 4, 12], "hyperparam": 8, "hyperparamet": [3, 4, 5, 6, 9, 13, 18, 23, 29, 30, 31], "hyperplan": 11, "h\u00f8rlyk": [26, 28], "i": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32], "i0": [0, 28], "i1": [0, 6, 8, 12, 28, 29, 31], "i2": [0, 8, 12, 28], "i3": [0, 12, 28], "i5": [0, 28], "i_": [13, 30, 31], "i_1": [5, 6, 32], "i_2": [5, 6, 32], "i_t": 31, "ian": 27, "ic": [1, 23], "id": [7, 13, 30, 31], "ida": [26, 28], "idea": [0, 1, 2, 3, 4, 6, 9, 10, 12, 13, 20, 22, 23, 29, 30, 31, 32], "ideal": [0, 2, 6, 8, 13, 25, 28, 31, 32], "idem": [6, 32], "ident": [5, 6, 12, 13, 17, 18, 22, 29, 30], "identical": 32, "identifi": [0, 1, 7, 9, 11, 12, 13, 14, 28, 29], "idx": [], "ieor": 25, "ifi": 27, "ifs": [21, 28], "ignor": [0, 1, 3, 9, 15, 29, 31], "ii": [22, 25], "iii": [22, 28], "ij": [0, 1, 3, 6, 8, 12, 14, 16, 22, 25, 28, 29, 31], "ik": [0, 22, 28, 29], "iki": [], "ill": 31, "illinoi": [], "illustr": [5, 7, 10, 12, 13, 14, 20, 21, 28], "ilsvrc": 31, "im": 6, "imag": [1, 3, 4, 6, 9, 11, 12, 14, 27, 28], "image_at_epoch_": 4, "image_batch": 4, "image_height": 3, "image_path": [0, 6, 7, 9, 28, 32], "image_width": 3, "imageio": 6, "imagenet": 31, "images_from_seed_imag": 4, "imagin": 1, "immedi": [0, 3, 4, 6, 21, 28, 31], "implement": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 19, 20, 23, 25, 28, 29, 30, 31], "impli": [3, 5, 6, 7, 13, 22, 29, 30, 31, 32], "implicit": [3, 31], "implicitli": [11, 25], "import": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 25, 31, 32], "importantli": 3, "importerror": [], "impos": [0, 6, 11, 12, 28], "imposs": [0, 5, 28, 29, 30], "impract": 31, "impress": [0, 12, 28], "improv": [0, 4, 5, 9, 10, 11, 13, 15, 23, 29, 30], "impur": 9, "imread": 6, "imshow": [1, 3, 4, 6], "in3050": [27, 28], "in3310": 28, "in4080": [27, 28], "in4300": [27, 28], "in4310": 27, "in5400": 3, "in5550": 27, "in_out_neuron": 4, "inaccur": [13, 30], "inact": 12, "inadequ": [0, 28], "inappropri": 31, "inch": [6, 29], "incident": [], "includ": [0, 1, 2, 3, 4, 5, 6, 7, 11, 12, 15, 16, 17, 18, 19, 20, 21, 25, 26, 27, 28, 29, 30, 32], "include_bia": [6, 9, 32], "incom": [12, 16], "incorrect": 1, "incoveni": 8, "increas": [0, 1, 3, 4, 5, 6, 9, 12, 13, 19, 23, 25, 28, 29, 31, 32], "increasingli": 25, "increment": 31, "ind": 6, "inde": [0, 2, 4, 5, 6, 13, 28, 29, 30], "indefinit": 4, "independ": [0, 5, 6, 7, 8, 12, 13, 25, 28, 29, 30, 31], "index": [0, 1, 3, 4, 10, 14, 21, 22, 23, 25, 27, 28], "index_col": [0, 28], "indic": [0, 1, 3, 4, 5, 6, 9, 10, 11, 13, 16, 23, 28, 29], "indirect": [], "indispens": [6, 32], "individu": [1, 6, 7, 10, 12, 25, 28, 29, 31, 32], "indu": [], "indx": 22, "indx1": 2, "indx2": 2, "indx3": 2, "ineffici": [3, 13], "inequ": [8, 13], "inequaltii": 30, "inertia": 13, "inexperi": [], "inf": [], "inf1000": [21, 28], "inf1100": [21, 28], "inf1100l": [21, 28], "inf1110": [21, 28], "inf3000": 28, "infeas": [9, 31], "infer": [0, 1, 4, 6, 27, 28, 32], "inferenc": 1, "infil": [0, 6, 7, 9, 28, 32], "infin": [5, 6, 7, 11, 19, 29, 30, 32], "infinit": [3, 31], "infinitesim": 25, "influenc": [6, 10, 18, 32], "influenti": 1, "info": 28, "inform": [0, 1, 3, 4, 6, 9, 11, 12, 13, 14, 22, 23, 27, 28, 30, 31, 32], "inforom": 15, "infrequ": 31, "infti": [3, 6, 13, 25, 30, 32], "ingeni": [13, 30, 31], "ingredi": [0, 9, 28], "inher": [6, 31, 32], "inherit": [22, 28, 31], "init": [], "initi": [0, 1, 2, 6, 10, 13, 14, 18, 22, 25, 28, 30, 31, 32], "inject": 14, "inlin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 22, 25, 28, 29, 30, 31, 32], "inner": [0, 13, 29], "innerhtml": [], "inp": 4, "inplac": 13, "input": [0, 1, 3, 4, 5, 6, 7, 8, 12, 13, 14, 16, 23, 25, 28, 29, 30, 31, 32], "input_dim": 1, "input_shap": [3, 4], "inputs": 1, "inputs_shuffl": [0, 1, 29], "inquiri": 20, "insert": [3, 5, 6, 8, 10, 25, 29, 30, 32], "insid": [4, 7], "insight": [0, 1, 5, 21, 28, 29, 30, 32], "insist": [6, 13, 29, 31], "inspir": [0, 1, 12, 23, 28], "instabl": 2, "instal": [0, 1, 5, 6, 9, 15, 20], "instanc": [0, 1, 2, 4, 6, 9, 11, 13, 16, 28, 29, 30, 31, 32], "instanti": 10, "instead": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 17, 20, 22, 25, 28, 29, 31, 32], "institut": 1, "instruct": [0, 1, 15], "int": [0, 1, 2, 3, 4, 5, 6, 11, 13, 14, 22, 25, 29, 31, 32], "int32": 10, "int_": [3, 6, 25, 32], "int_0": 25, "int_a": 25, "intak": [0, 29], "integ": [1, 2, 13, 14, 22, 25, 28], "integer_vector": 1, "integr": [3, 6, 25, 28, 32], "intellig": [0, 14, 27, 28], "intend": 10, "intens": [1, 18], "intention": 14, "interact": [0, 6, 9, 12, 21, 23, 28], "intercept": [0, 6, 8, 11, 13, 16, 17, 18, 19, 28, 29, 30, 31, 32], "intercept_": [0, 6, 8, 9, 13, 28, 29, 31], "interchang": [5, 12, 22], "interconnect": 1, "interesit": [], "interest": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 19, 21, 23, 25, 28, 29, 30, 32], "interfac": [0, 1, 15, 22, 29], "interior": [0, 9, 28], "intermedi": [22, 29, 31], "intern": [1, 10, 12], "internation": [], "interpol": [1, 3, 4, 6, 12], "interpr": [5, 29, 30], "interpret": [0, 1, 6, 9, 10, 12, 13, 15, 16, 22, 23, 25], "interrupt": [], "interv": [0, 3, 5, 6, 7, 13, 19, 25, 28, 29, 30], "intial": [13, 30], "intract": [0, 4, 29], "intrins": [3, 11, 22, 25, 28], "intro": [21, 27, 28], "introduc": [0, 1, 5, 6, 8, 10, 12, 22, 23, 25, 28, 30, 31, 32], "introduct": [1, 2, 4, 13, 27, 29, 30, 31], "introductori": [0, 4, 22, 27, 28, 29], "intuit": [0, 5, 6, 8, 12, 13, 23, 28, 31, 32], "inv": [0, 5, 13, 17, 28, 29, 30, 31], "invalid": [], "invalu": [0, 13, 21, 28, 30], "invari": 1, "invd": 5, "inver": 8, "invers": [0, 3, 6, 13, 28, 29, 30, 31], "inverse_transform": 8, "invert": [0, 5, 7, 10, 13, 16, 18, 28, 31], "investig": [], "invh": [13, 31], "invok": 8, "involv": [0, 2, 6, 7, 11, 12, 28, 29, 31, 32], "io": [0, 21, 23, 24, 26, 27, 28, 29], "ion": [], "ip": [0, 8, 25, 28], "ipca": 11, "ipynb": [21, 28], "ipython": [0, 5, 7, 9, 11, 14, 21, 23, 28, 29], "iq": [6, 32], "iri": [8, 9], "irreduc": [6, 32], "irrelev": [5, 29, 30], "irrespect": [0, 28], "irvin": 23, "isaac": [], "isaacmus": [], "iseffici": [], "isn": 5, "isnul": [], "isomap": 11, "issu": [1, 9, 15, 22, 31], "it_arrai": 13, "item": [0, 13, 28], "items": [22, 28], "iter": [1, 2, 4, 6, 8, 13, 14, 18, 23, 25, 30, 31, 32], "its": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 21, 22, 23, 25, 28, 30, 31, 32], "itself": [5, 6, 12, 23, 25, 28, 29, 32], "j": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 22, 23, 25, 27, 28, 29, 30, 31, 32], "j1": 22, "j_": 6, "j_41hld6ttu": 32, "j_lasso_sk": 6, "j_ridge_sk": 6, "j_sk": 6, "jackknif": [6, 21, 28, 32], "jacobian": [2, 13, 30], "janko": [], "jason": 4, "javascript": [], "jax": [21, 28, 31], "jeff": [], "jensen": [26, 28, 29, 30, 31, 32], "jerom": [19, 23, 27], "jhauser": [], "ji": [12, 22], "jit": 13, "jj": [0, 5, 6, 28, 32], "jk": [0, 1, 6, 12, 22, 28], "jl": [0, 28], "jm": 22, "jnp": 13, "job": [2, 8, 10, 15], "join": [0, 4, 6, 7, 9, 28, 32], "joint": [4, 5], "jonathan": [], "json": [], "judg": [13, 30], "judgement": 6, "julia": [21, 22, 23], "jump": [25, 31], "junk": 4, "jupit": 28, "jupyt": [0, 15, 16, 19, 21, 23, 27, 28, 32], "jupyterbook": [], "jupytext": [], "just": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 20, 21, 25, 28, 29, 30, 31, 32], "justif": 0, "justifi": [3, 10], "k": [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 21, 22, 23, 25, 26, 28, 29, 30, 31], "k0": 7, "k1": 7, "kaggl": [6, 23], "kappa_d": 25, "karl": [26, 28], "karush": 8, "katex": [], "katrin": [26, 28], "keep": [0, 1, 4, 5, 6, 11, 13, 14, 15, 18, 22, 23, 28, 29, 30, 31, 32], "keepdim": [1, 6, 10, 22, 32], "kei": [1, 3, 6, 12, 31], "kellei": [], "kenneth": [], "kept": [4, 6, 14, 32], "kera": [0, 4, 21, 23, 28], "kernel": [0, 1, 3, 21, 28, 29], "kernel_regular": [1, 3], "kernel_s": 4, "kernelpca": 11, "kev": [0, 28], "kevin": [27, 28], "kevinsheppard": [], "keyword": [18, 22, 28], "kfold": [6, 32], "kg": 1, "ki": 22, "kick": [1, 13, 31], "kiener": 2, "kilomet": [6, 29], "kim": [], "kind": [0, 2, 3, 4, 8, 12, 13, 14, 28, 29], "kingma": 31, "kj": [6, 12, 22, 29, 31], "kjm": [21, 28], "kkt": 8, "kl": 25, "km": [12, 28], "kmean": 14, "kmeanspoint": 14, "kn_k": 14, "know": [0, 1, 2, 5, 6, 8, 13, 15, 16, 17, 19, 20, 21, 28, 29, 30], "knowledg": [0, 21, 28], "known": [1, 3, 4, 5, 6, 7, 8, 9, 12, 18, 22, 23, 25, 27, 29, 31, 32], "kondev": [0, 28], "kp": 25, "kpca": 11, "kramdown": [], "kroneck": 14, "kt": [], "kuhn": 8, "kvalsund": [26, 28], "kwown": [0, 28], "l": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 22, 23, 25, 28, 30, 31], "l0": 7, "l1": [0, 1, 3, 7, 28], "l1_l2": [1, 3], "l1regl": 5, "l2": [1, 3], "l_": [22, 31], "l_1": 7, "l_2": [7, 13, 30, 31], "l_i": 31, "l_j": 12, "la": 13, "la_": [], "la_i": 12, "la_k": 12, "lab": [20, 21, 23, 28], "label": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 20, 21, 22, 23, 25, 28, 29, 30, 31, 32], "labelencod": [7, 10], "labels": [6, 8, 9], "labels_shuffl": [0, 1, 29], "laboratori": 24, "lack": [0, 28, 31], "lagari": 2, "lagrang": [8, 11], "lam": 18, "lambda": [0, 1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 17, 18, 19, 20, 23, 25, 28, 29, 30, 31, 32], "lambda_": 11, "lambda_0": 11, "lambda_1": [5, 8, 11, 29, 30], "lambda_2": [8, 11], "lambda_i": [8, 11], "lambda_iy_i": 8, "lambda_jy_iy_j": 8, "lambda_k": 8, "lambda_n": [5, 8, 29, 30], "lamda": 1, "land": 8, "landmark": 8, "landscap": [13, 18, 30, 31], "langl": [0, 6, 11, 25, 28, 29], "languag": [0, 1, 4, 8, 21, 22, 23, 27, 28], "lapack": [22, 28], "laplac": 5, "laptop": [15, 21], "larg": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 13, 18, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32], "larger": [0, 3, 5, 6, 8, 10, 11, 13, 17, 25, 28, 29, 30, 31, 32], "largest": [4, 8, 11], "lasso": [0, 7, 21, 28, 31, 32], "lasso_sk": 6, "last": [0, 1, 3, 4, 5, 6, 7, 8, 12, 16, 17, 19, 22, 23, 25, 26, 28, 30, 32], "latent": 4, "latent_dim": 4, "latent_point": 4, "latent_space_value_rang": 4, "later": [0, 1, 4, 7, 8, 12, 13, 14, 15, 19, 21, 23, 28, 31], "latest": [4, 15, 21], "latest_checkpoint": 4, "latex": [20, 28], "latexcodec": [], "latter": [0, 3, 6, 7, 8, 11, 13, 22, 25, 28, 29, 30, 31, 32], "lattic": 12, "law": 0, "layer": [0, 4, 13, 28, 31], "lbfg": [7, 9, 10], "lc_messag": [], "lcc": [5, 6, 32], "lda": 11, "ldot": [0, 6, 11, 23, 28, 32], "le": [5, 7, 10, 13, 17, 25, 29, 30, 31], "lead": [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 22, 25, 28, 29, 30, 31, 32], "leaf": 9, "leaki": 1, "leakyrelu": 4, "lear": [13, 30], "learn": [3, 4, 5, 6, 7, 8, 9, 10, 12, 22, 26, 27], "learnabl": 3, "learner": 10, "learnig": 28, "learning_r": [8, 10], "learning_rate_init": [0, 1, 28], "learning_schedul": [13, 31], "learnt": 23, "least": [0, 7, 8, 10, 11, 17, 18, 21, 22, 25, 32], "leat": [13, 31], "leav": [0, 1, 3, 5, 6, 9, 11, 28, 30, 32], "lectur": [0, 1, 5, 10, 11, 12, 13, 21, 22, 23, 24, 26, 27, 29], "lecturenot": [0, 21, 23, 27, 28], "left": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 22, 23, 25, 28, 29, 30, 31, 32], "leftarrow": [8, 12], "legend": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 15, 28, 29, 30, 31, 32], "leinonen": 28, "len": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 16, 17, 22, 28, 29, 30, 31, 32], "length": [0, 1, 3, 4, 8, 9, 13, 16, 21, 28, 29, 30, 31], "length_of_sequ": 4, "leq": [0, 5, 7, 8, 13, 14, 25, 28, 29, 30, 31], "less": [0, 1, 3, 4, 5, 6, 8, 9, 13, 21, 25, 28, 29, 30, 31, 32], "lessen": 1, "let": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 19, 22, 25, 28, 29, 30, 31, 32], "letter": [0, 16, 22, 25, 28, 29], "level": [0, 1, 5, 6, 9, 21, 22, 23, 24, 26, 28, 31, 32], "leverag": 31, "lexer": [], "li": [8, 11], "liabil": [], "liabl": [], "lib": [], "liberti": 31, "liblinear": 10, "librari": [0, 1, 2, 3, 4, 5, 6, 9, 10, 11, 22, 23, 25, 27, 29, 30, 31], "licenc": [], "licens": [0, 1, 21, 23, 28], "lie": [0, 6, 11, 25, 28, 29, 32], "life": [0, 1, 8, 12, 28], "lifetim": 13, "light": [], "like": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 15, 16, 20, 21, 22, 23, 25, 28, 29, 30, 31, 32], "likelihood": [0, 1, 5, 9, 28, 29], "lim_": 25, "limit": [0, 5, 6, 8, 12, 22, 23, 28, 29], "lin_clf": 8, "lin_model": [], "lin_reg": 9, "linalg": [0, 2, 5, 6, 8, 11, 13, 17, 22, 25, 28, 29, 30, 31], "line": [0, 3, 6, 8, 11, 13, 15, 16, 20, 28, 30, 31, 32], "line1": 8, "line2": 8, "line2d": [], "line3": 8, "line_model": 15, "line_ms": 15, "line_predict": 15, "linear": [1, 3, 5, 6, 7, 9, 10, 11, 12, 16, 17, 18, 19, 21, 23, 25, 31, 32], "linear_model": [0, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 28, 29, 30, 31, 32], "linear_regress": [6, 32], "linearli": [5, 29, 30, 31], "linearloc": [6, 13, 30, 31], "linearregress": [0, 6, 7, 9, 15, 16, 19, 28, 29, 31, 32], "linearsvc": 8, "lineat": 30, "liner": [1, 3], "linerar": 10, "linewidth": [0, 2, 4, 6, 8, 9, 10, 32], "link": [0, 4, 9, 12, 15, 20, 21, 23, 24, 26, 28], "linlag": 5, "linpack": [22, 28], "linreg": [0, 28], "linspac": [0, 2, 3, 4, 6, 8, 9, 10, 13, 16, 17, 19, 22, 25, 28, 29, 31, 32], "linu": 4, "linux": [0, 1, 21, 23, 28], "liquid": [0, 28], "list": [1, 2, 3, 4, 9, 15, 21, 23, 28, 31], "listedcolormap": [9, 10], "literatur": [1, 7, 14, 27, 32], "littl": [1, 3, 9, 12, 31], "live": [8, 16], "ll": [0, 18, 25, 28, 29], "lle": [0, 29], "llm": 20, "lloyd": [4, 14], "lmb": [0, 2, 5, 6, 29, 30, 31, 32], "lmbd": [0, 1, 3, 28], "lmbd_val": [0, 1, 3, 28], "lmbda": [13, 30, 31], "ln": [1, 13, 30], "load": [1, 4, 6, 7, 9, 10, 31], "load_boston": [], "load_breast_canc": [1, 7, 9, 10, 11], "load_data": [3, 4], "load_digit": [1, 3], "load_iri": [8, 9], "loc": [3, 6, 7, 8, 9, 10, 28, 32], "local": [0, 1, 3, 7, 12, 13, 15, 29, 30, 31], "locat": [2, 3, 8, 15], "log": [0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 13, 15, 20, 22, 23, 28, 31, 32], "log10": [0, 5, 6, 29, 30, 31, 32], "log_": [0, 28], "log_clf": 10, "logarithm": [0, 5, 7, 17, 22, 28, 32], "logbook": 23, "logic": [0, 1, 9, 28], "logical_or": [], "login": 15, "logist": [0, 1, 2, 8, 9, 10, 11, 12, 13, 21, 29, 30, 31], "logisticregress": [7, 9, 10, 11], "logit": 7, "logreg": [7, 9, 10, 11], "logspac": [0, 1, 3, 5, 6, 28, 29, 30, 31, 32], "long": [0, 1, 3, 4, 12, 13, 28, 30, 31], "longer": [2, 3, 8, 10, 14, 22, 25, 28, 31], "loocv": [6, 32], "look": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 20, 22, 23, 25, 28, 29, 30, 31, 32], "loop": [1, 4, 6, 10, 12, 14, 16, 17, 18, 21, 22, 28, 31, 32], "lose": 1, "loss": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 18, 22, 23, 28, 32], "loss_fil": 4, "lossfil": 4, "lost": 4, "lot": [1, 4, 6, 16, 19, 20, 31, 32], "low": [0, 6, 9, 10, 11, 23, 28, 29, 32], "lower": [0, 1, 3, 6, 9, 10, 16, 22, 29, 31], "lowercas": [22, 28], "lowest": [9, 13, 25, 31], "lr": [1, 3, 4, 10], "lstat": [], "lstm": 4, "lstm_2layer": 4, "lstsq": [0, 28, 29], "lt": [6, 32], "lu": [0, 5, 28, 29, 30], "lubksb": 22, "luckili": 2, "ludcmp": 22, "lux": 22, "lvert": 1, "lw": [0, 28], "m": [0, 1, 2, 3, 5, 6, 8, 9, 10, 11, 12, 13, 15, 22, 25, 26, 27, 28, 29, 30, 31, 32], "m_": [9, 12], "m_0": 31, "m_1": 14, "m_h": [0, 28], "m_k": 14, "m_l": 12, "m_n": [0, 28], "m_p": [0, 28], "m_t": [13, 31], "ma": 11, "machin": [1, 3, 4, 5, 6, 7, 9, 10, 11, 12, 15, 16, 22, 27, 29, 31, 32], "machinelearn": [0, 6, 16, 20, 21, 23, 24, 26, 27, 28, 29, 30], "machineri": [], "mackai": 27, "macro": [], "made": [0, 1, 3, 4, 5, 6, 7, 9, 11, 12, 23, 28, 29, 31], "mae": [0, 28], "magic": 4, "magnitud": [1, 6, 7, 13, 29, 31], "mai": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 19, 21, 22, 23, 25, 28, 29, 30, 31, 32], "mail": [24, 26], "main": [0, 1, 3, 4, 5, 6, 7, 9, 22, 23, 27, 29, 30, 31], "mainli": [0, 5, 6, 7, 9, 28, 29, 32], "maintain": [6, 31, 32], "major": [1, 6, 9, 10, 13, 22, 28, 30, 31, 32], "make": [1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 15, 16, 18, 19, 21, 22, 23, 25, 27, 28, 30, 31, 32], "make_axes_locat": 6, "make_moon": [8, 9, 10], "make_pipelin": [0, 6, 10, 29, 32], "makedir": [0, 6, 7, 9, 28, 32], "malcondit": 22, "malign": [1, 7, 9], "mammographi": 5, "manag": [0, 2, 3, 15, 21, 23, 28, 31], "mandatori": [26, 28], "mani": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32], "manifold": 11, "manner": 3, "manual": [6, 29, 31], "map": [0, 1, 2, 6, 7, 8, 11, 12, 14, 25, 28], "marc": 29, "marchant": [], "margin": [0, 5, 8], "marit": [0, 28], "mark": 28, "markdownfil": [], "markdownit": [], "markdownitdeflist": [], "markedli": [], "marker": [7, 22, 28], "markov": [21, 28], "markup": [], "marsaglia": 25, "mask_or": [], "masked_arrai": [], "maskedrecord": [], "mass": [0, 1, 5, 13, 29, 30], "massag": [0, 28], "masses2016": [0, 28], "masses2016ol": [0, 28], "masses2016tre": 0, "masseval2016": [0, 28], "master": [24, 26], "mat": [21, 28], "mat1100": [21, 28], "mat1110": [21, 28], "mat1120": [21, 28], "match": [1, 4, 5, 13, 14, 15, 29, 30, 31], "materi": [4, 5, 7, 13, 15, 22, 24, 26], "math": [3, 7, 12, 13, 22, 25, 27, 28, 31], "mathbb": [0, 4, 5, 6, 7, 8, 11, 12, 13, 14, 17, 19, 22, 23, 25, 28, 29, 30, 31, 32], "mathbf": [0, 5, 6, 7, 8, 13, 19, 22, 23, 28, 29, 30, 31, 32], "mathcal": [1, 5, 6, 7, 13, 23, 32], "matheemat": 3, "mathemat": [0, 6, 11, 12, 13, 21, 22, 25, 27, 28, 31], "mathemati": 28, "mathrm": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 23, 25, 28, 29, 30, 31, 32], "matmul": [1, 2, 5], "matnat": 27, "matplotlib": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 21, 22, 23, 25, 28, 29, 30, 31, 32], "matplotlibrc": [], "matric": [0, 1, 3, 4, 6, 7, 8, 11, 13, 16, 17, 21, 29, 30], "matrix": [0, 2, 3, 4, 6, 7, 8, 10, 13, 17, 18, 19, 23, 25, 32], "matshow": 1, "matter": [2, 3, 13, 29, 30, 31], "matthia": [], "max": [0, 1, 2, 3, 4, 9, 10, 12, 13, 26, 28, 30, 31], "max_depth": [0, 9, 10], "max_diff": 2, "max_diff1": 2, "max_diff2": 2, "max_it": [0, 1, 8, 13, 28], "max_iter": 14, "max_leaf_nod": 10, "max_sampl": 10, "maxdegre": [0, 6, 10, 29, 32], "maxdepth": 10, "maxim": [1, 4, 5, 7, 8, 11, 32], "maximum": [0, 2, 3, 5, 7, 8, 9, 10, 13, 14, 28, 29, 30, 31], "maxpolydegre": [5, 6, 29, 30, 31, 32], "maxpooling2d": 3, "mbox": [5, 6, 29, 30, 32], "mcculloch": 12, "md": 11, "mdoel": 4, "me": [], "mean": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 25, 28, 31, 32], "mean_absolute_error": [0, 28], "mean_divisor": 14, "mean_i": 25, "mean_matrix": 14, "mean_squared_error": [0, 4, 6, 7, 10, 15, 19, 28, 29, 32], "mean_squared_log_error": [0, 28], "mean_vector": 14, "mean_x": 25, "meaning": [0, 4, 7, 28], "meansquarederror": [0, 28], "meant": [3, 7, 10, 13], "meanwhil": 31, "measur": [0, 1, 2, 5, 6, 9, 11, 12, 14, 16, 18, 23, 25, 28, 29, 31, 32], "mechan": [0, 4, 25, 28, 31], "median": [0, 28, 29, 31], "medicin": 12, "medium": [4, 8, 13, 31], "medv": [], "meet": [0, 26], "mehta": [0, 28, 29, 30], "member": 20, "memori": [3, 4, 11, 12, 13, 18, 22], "mentat": [], "mention": [0, 12, 13, 23, 25, 28, 30, 31], "merchant": [], "mere": [0, 23], "merg": [], "meshgrid": [2, 5, 6, 8, 9, 10, 11], "mess": 15, "messag": [5, 13], "messi": 2, "met": [0, 3, 8, 29], "meta": [], "meteorolog": 9, "meter": [6, 29], "method": [0, 1, 2, 3, 4, 5, 7, 8, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 25, 27, 29], "metion": 6, "metric": [0, 1, 3, 6, 7, 9, 10, 14, 15, 28, 29, 32], "metropoli": [21, 28], "mev": [0, 25, 28], "mgd": [13, 31], "mglearn": [21, 28], "mgrid": 13, "mhjensen": [], "mi": 10, "mia": [26, 28], "michael": [], "microsoft": 27, "mid": 1, "midel": 4, "midnight": 15, "midpoint": 9, "might": [0, 1, 2, 4, 6, 9, 13, 15, 17, 18, 29, 30, 31], "migth": 17, "mild": 9, "millimet": [6, 29], "million": [0, 28, 29, 31], "mimic": 12, "min": [0, 2, 5, 8, 9, 30], "min_": [0, 2, 5, 14, 17, 28, 29, 30], "min_samples_leaf": 9, "mind": [0, 6, 13, 15, 18, 28, 29, 30, 31, 32], "mindboard": 4, "mine": [21, 28], "mini": [1, 11, 12, 13, 30], "minibatch": [1, 11, 13], "minibathc": [13, 31], "miniforge3": [], "minim": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 29, 30, 31, 32], "minima": [0, 1, 7, 13, 28, 30, 31], "minimum": [0, 1, 2, 6, 8, 9, 11, 13, 29, 30, 31, 32], "minmaxscal": [0, 29, 31], "minor": 25, "minst": 1, "minu": 7, "mirjalili": 28, "mirror": 9, "misc": 6, "misclassif": [8, 9, 10], "misclassifi": [8, 10], "miser": 0, "mismatch": 1, "miss": [7, 10], "mistak": [4, 19], "mit": 27, "mitig": 31, "mix": [1, 2, 28], "mixtur": [13, 31], "mk": [9, 22], "mkdir": [0, 6, 7, 9, 28, 32], "ml": [0, 1, 10, 13, 22, 23, 29, 30, 31], "mlab": 25, "mle": [5, 7], "mlp": 1, "mlpclassifi": 1, "mlpregressor": [0, 28], "mm": 22, "mml": 29, "mn": [12, 25], "mnist": [1, 11], "mo": [], "mod": 25, "mode": [24, 26, 28], "model": [2, 3, 5, 7, 8, 9, 10, 11, 13, 14, 16, 18, 19, 20, 21, 23, 25, 27, 29, 30, 31, 32], "model_select": [0, 1, 3, 5, 6, 7, 9, 10, 11, 15, 16, 17, 19, 28, 29, 30, 31, 32], "moder": [10, 31], "modern": [0, 6, 7, 21, 28, 31, 32], "modest": 31, "modif": [2, 12, 13], "modifi": [0, 1, 3, 5, 7, 8, 10, 12, 13, 28, 29, 30, 31], "modul": [0, 16, 22, 28], "modular": 25, "modulo": 25, "moe": [11, 29], "moment": [5, 6, 13, 25, 32], "mondai": [26, 28], "monitor": [13, 31], "monoton": [5, 12, 25, 32], "mont": [0, 6, 21, 25, 27, 28, 32], "montli": 16, "moor": [5, 6], "more": [0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 21, 25], "moreov": [0, 3], "morten": [26, 28, 29, 30, 31, 32], "mortenhj": 28, "most": [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 23, 25, 28, 29, 30, 31, 32], "mostli": [1, 11, 18, 31], "motion": [0, 13], "motiv": [1, 4], "moulin": 31, "move": [0, 4, 5, 6, 7, 9, 12, 13, 14, 15, 16, 23, 25, 29, 30, 32], "mpl": [7, 28], "mpl_toolkit": [2, 6, 13, 30, 31], "mplot3d": [2, 6, 13, 30, 31], "mplregressor": 1, "mr_": [], "mrecord": [], "mse": [0, 4, 5, 6, 9, 10, 15, 16, 17, 19, 20, 23, 28, 29, 30, 31, 32], "mse_simpletre": 10, "mselassopredict": [5, 30], "mselassotrain": [5, 30], "mseownridgepredict": [6, 29, 30, 31], "msepredict": [5, 30], "mseridgepredict": [0, 5, 6, 29, 30, 31], "msetrain": [5, 30], "msg": [], "msle": [0, 28], "mt": [7, 12], "mu": [0, 6, 11, 13, 25, 28, 31, 32], "mu0": 25, "mu1": 25, "mu2": 25, "mu_": [6, 25, 29, 31, 32], "mu_i": [6, 29, 31], "mu_n": 11, "mu_x": 25, "much": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 15, 20, 22, 23, 25, 28, 29, 30, 31, 32], "multi": [0, 1, 3, 7, 21, 28], "multiclass": [1, 7], "multidimension": [11, 12, 28], "multilay": 1, "multinomi": 7, "multipl": [2, 4, 5, 6, 7, 12, 13, 15, 25, 29, 30, 31, 32], "multipli": [3, 5, 6, 11, 13, 18, 22, 25, 29, 30, 31], "multiplum": 8, "multivari": [0, 2, 10, 11, 21, 25, 28], "multivariate_norm": [11, 14], "multpli": 16, "murphi": [11, 27, 28], "muse": [], "must": [1, 2, 5, 6, 8, 10, 12, 13, 14, 15, 20, 25, 29, 30, 31, 32], "mutat": 7, "mutual": [1, 3, 6, 13, 32], "mx_": 25, "my": 28, "myenv": [], "myriad": [0, 21, 28], "myself": [], "mz1": 25, "mz2": 25, "m\u00f8svatn": 6, "n": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 25, 28, 29, 30, 31, 32], "n1": 22, "n2": 22, "n8grai": [], "n_": [1, 2, 3, 8, 12, 25], "n_0": [12, 25], "n_boostrap": [6, 10, 32], "n_bootstrap": [6, 32], "n_categori": [1, 3], "n_cluster": 14, "n_compon": 11, "n_epoch": [13, 31], "n_estim": 10, "n_examples_to_gener": 4, "n_featur": [1, 18], "n_filter": 3, "n_hidden": 2, "n_hidden_neuron": [0, 1, 28], "n_i": 25, "n_input": [0, 1, 3, 29], "n_instanc": 9, "n_iter": 31, "n_job": 10, "n_k": 14, "n_l": [12, 25], "n_layer": 1, "n_m": 9, "n_neuron": 1, "n_neurons_connect": 3, "n_neurons_layer1": 1, "n_neurons_layer2": 1, "n_point": 14, "n_sampl": [6, 8, 9, 10, 14, 18, 32], "n_split": [6, 32], "n_step": 4, "n_t": 2, "n_x": 2, "nabla": [1, 13, 30, 31], "nabla_": [2, 13, 30, 31], "nabla_w": 13, "nag": 13, "naimi": [0, 28], "naiv": 7, "naive_kmean": 14, "name": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 18, 20, 21, 22, 23, 25, 26, 28, 29, 30, 32], "namespac": [], "nan": [], "narrow": [13, 31], "nathaniel": [], "nation": [1, 5], "nativ": [21, 28], "natur": [0, 1, 4, 8, 9, 12, 13, 23, 25, 27, 28, 30, 31], "navier": 12, "navig": [15, 31], "nb": 25, "nb_": 22, "nbconvert": 28, "nd": 14, "ndarrai": 6, "ne": [9, 10, 22, 25, 29, 30], "nearest": [1, 3, 6, 11], "nearli": [13, 30], "neat": 28, "neccesari": [6, 32], "necess": 2, "necessari": [0, 1, 3, 4, 8, 14, 18, 28], "necessarili": [0, 4, 11, 25, 28], "necesserali": 5, "neck": 7, "need": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 22, 25, 29, 30, 31, 32], "neg": [0, 1, 3, 5, 6, 7, 10, 13, 22, 25, 28, 30, 32], "neg_mean_squared_error": [6, 32], "neglect": [25, 31], "neglig": 25, "neighbor": [3, 6, 11], "neither": [4, 13, 31], "neq": [13, 14, 25, 30], "nervou": 12, "nest": [9, 12], "nesterov": 13, "net": [2, 4, 12], "netlib": [22, 28], "network": [0, 9, 13, 21, 27, 29], "neural": [0, 13, 21, 27, 29], "neural_network": [0, 1, 2, 28], "neuralnetwork": 1, "neuron": [1, 2, 3, 4, 12], "neutral": [0, 28], "neutron": [0, 28], "never": [1, 4, 6, 9, 25, 32], "new": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 20, 22, 28, 29, 30, 31], "new_chang": [13, 31], "new_hobbit": 28, "new_ma": [], "newaxi": [0, 3, 6, 9, 32], "newli": [0, 28], "newlin": [], "newton": [1, 7, 8, 13, 25], "next": [0, 1, 2, 3, 4, 5, 6, 8, 9, 13, 14, 15, 16, 28, 29, 30, 31, 32], "next_guess": 13, "next_input": 4, "ng": 1, "ni": 14, "nice": [0, 1, 5, 11, 28, 29, 30], "nicer": [18, 31], "nip": 31, "niter": [13, 30, 31], "nitric": [], "nlambda": [0, 5, 6, 29, 30, 31, 32], "nlp": 27, "nm": 25, "nm_n": [0, 28], "nmse": [6, 32], "nn": [2, 5, 6, 12, 22, 28, 32], "nn_model": 1, "nnmin": 2, "node": [1, 3, 9, 10, 12], "nois": [0, 4, 5, 6, 8, 9, 10, 13, 18, 19, 23, 28, 29, 30, 31, 32], "noise_dimens": 4, "noisi": [1, 6, 23, 31, 32], "nomask": [], "non": [0, 1, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 18, 22, 25, 28, 29, 30, 32], "nondifferenti": 31, "none": [0, 1, 2, 4, 5, 9, 10, 13, 25, 28, 29], "noninfring": [], "nonlinear": [3, 6, 8, 9, 11, 12, 32], "nonneg": [6, 9, 13, 30, 32], "nonparametr": 6, "nonsens": 25, "nonsingular": 22, "nonumb": [3, 7, 8, 13, 22], "nor": [1, 4, 13, 31], "norm": [0, 1, 5, 6, 8, 11, 13, 18, 28, 29, 30, 31, 32], "normal": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 21, 22, 23, 25, 28, 29, 30, 31], "normali": [22, 28], "norwai": [6, 23, 28, 30, 31, 32], "notabl": [], "notat": [0, 2, 5, 6, 13, 14, 25, 28, 29, 30, 32], "note": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 21, 22, 25, 27, 28, 31, 32], "notebook": [0, 1, 3, 9, 15, 16, 19, 20, 21, 23, 28, 32], "noteworthi": 31, "noth": [1, 2, 5, 8, 12, 14, 25, 29, 30], "notic": [4, 5, 12, 13, 22, 25, 28], "notion": 3, "novel": [3, 6, 10, 28], "novemb": [1, 26, 28], "now": [0, 2, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19, 21, 22, 23, 25, 28, 29], "nowadai": [0, 1, 3, 9, 21, 28], "nox": [], "np": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 22, 25, 28, 29, 30, 31, 32], "npm": [], "npr": 2, "nsampl": [6, 32], "nt": 2, "nu": 25, "nuclear": [5, 29, 30], "nuclei": [0, 25, 28], "nucleon": [0, 28], "nucleu": [0, 28], "num": 4, "num_coordin": 2, "num_hidden_neuron": 2, "num_it": [2, 18], "num_neuron": 2, "num_neurons_hidden": 2, "num_point": 2, "num_tre": 10, "num_valu": 2, "number": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 22, 23, 24, 26, 28, 30, 32], "numberid": 7, "numberparamet": 3, "numer": [0, 5, 6, 9, 10, 11, 12, 13, 21, 22, 27, 28, 29, 30, 31, 32], "numpi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 23, 25, 29, 30, 31, 32], "numpydocstr": [], "nunmpi": [5, 29], "nve_frngahw": 30, "nx": 2, "ny": 25, "o": [0, 1, 4, 5, 6, 7, 8, 9, 11, 22, 26, 27, 28, 29, 30, 31, 32], "obei": [6, 11, 13, 29, 31], "object": [0, 1, 4, 8, 10, 15, 19, 22, 28, 31], "obliqu": [5, 29, 30], "observ": [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 25, 28, 30, 31, 32], "obtain": [0, 1, 5, 6, 7, 8, 9, 10, 12, 13, 14, 17, 22, 23, 25, 28, 29, 30, 31, 32], "obviou": [5, 6, 11, 25, 29, 30], "obviouli": 28, "obvious": [0, 4, 5, 6, 22, 28, 32], "oc": [29, 30], "occupi": [], "occur": [0, 6, 8, 9, 22, 25, 28], "octob": [26, 28], "od": 0, "odd": [0, 3, 7, 28, 29, 31], "odenum": 2, "odesi": 2, "oen": 0, "off": [1, 3, 4, 5, 9, 13, 20, 25, 31, 32], "offer": [6, 11, 21, 22, 24, 26, 28, 32], "offic": [26, 28], "offici": [24, 28], "often": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 23, 25, 28, 29, 30, 31, 32], "ofter": [22, 28], "ol": [0, 13, 17, 19, 29, 31], "old": [1, 5, 10, 13, 15, 18], "old_ma": [], "oliph": [], "ols_paramet": 16, "ols_sk": 6, "ols_svd": 6, "olsbeta": 30, "olstheta": [0, 5], "omega": [2, 3, 6], "omega_0": 3, "omit": [0, 5, 28, 29, 30, 32], "onc": [1, 6, 9, 11, 13, 20, 32], "one": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 19, 20, 21, 22, 23, 25, 26, 28, 29, 31, 32], "onehot": 1, "onehot_vector": 1, "onehotencod": 9, "ones": [0, 2, 5, 6, 8, 9, 10, 11, 13, 16, 18, 22, 23, 28, 29, 30, 31, 32], "ones_lik": 4, "ong": 29, "onl": 3, "onli": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23, 25, 28, 29, 30, 31, 32], "onlin": [11, 15, 20, 24, 31], "onto": [5, 11, 29, 30], "open": [0, 1, 4, 6, 7, 9, 15, 21, 23, 24, 26, 28, 32], "oper": [0, 1, 3, 5, 6, 10, 11, 12, 13, 15, 16, 21, 25, 28, 29, 30, 31, 32], "operation": 25, "oplu": 25, "opmiz": [13, 31], "opportun": 0, "oppos": [6, 13], "opposit": [1, 5, 8, 29, 30], "opt": [1, 5, 23, 28, 30], "optim": [0, 2, 3, 4, 5, 6, 7, 9, 10, 11, 14, 16, 17, 19, 23, 32], "optimis": [1, 3], "option": [0, 1, 3, 5, 6, 8, 11, 15, 18, 22, 29, 31, 32], "optmiz": [1, 8, 13, 29], "oral": 28, "orang": 0, "order": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 15, 22, 23, 25, 28, 29, 30, 32], "ordinari": [0, 2, 3, 7, 11, 13, 17, 18, 21, 32], "oreilli": [27, 28], "org": [0, 3, 4, 16, 20, 21, 22, 23, 27, 28, 29, 30, 31], "organ": [6, 7, 10, 22, 32], "orient": [1, 5, 25, 29, 30], "origin": [0, 3, 5, 6, 8, 11, 12, 13, 15, 22, 28, 29, 30, 31, 32], "orthogn": [5, 29, 30], "orthogon": [0, 5, 6, 8, 11, 13, 22, 28, 29, 30], "orthonorm": [5, 29, 30], "os": [26, 28], "oscar": 1, "oscil": [3, 13, 31], "oskar": 28, "oskarlei": 28, "osl": 18, "oslo": [0, 21, 23, 24, 26, 28, 29, 30, 31, 32], "osx": [0, 21, 23, 28], "other": [0, 1, 2, 3, 5, 6, 7, 8, 10, 13, 14, 16, 19, 21, 24, 25, 26, 27, 29, 30, 31, 32], "otherwis": [0, 1, 4, 7, 13, 22, 28, 31], "ouput": [5, 7, 12, 32], "our": [1, 2, 3, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 19, 21, 22, 25, 31, 32], "ourmodel": 0, "ourselv": [0, 5, 6, 8, 11, 13, 28, 29, 30, 32], "out": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 21, 22, 23, 25, 28, 29, 31, 32], "out_fil": 9, "outcom": [0, 7, 9, 10, 12, 25, 29], "outdoor": 9, "outer": [6, 12, 13], "outfil": 4, "outlier": [0, 8, 28, 29, 31], "outlin": [6, 10, 11, 32], "outlook": 9, "outperform": [10, 31], "output": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 22, 23, 25, 28, 29, 30, 31, 32], "output_bia": 1, "output_bias_gradi": 1, "output_shap": 4, "output_weight": 1, "output_weights_gradi": 1, "outputlayer1": 12, "outputlayer2": 12, "outsid": 4, "over": [0, 1, 3, 4, 5, 6, 9, 10, 12, 13, 15, 16, 19, 22, 23, 28, 29, 30, 31, 32], "over1": 13, "overal": [1, 10, 31], "overcast": 9, "overcom": [12, 13], "overdetermin": [0, 28], "overfit": [0, 1, 3, 6, 9, 10, 13, 31, 32], "overflow": [5, 31, 32], "overhead": 12, "overlap": [3, 7, 8, 9], "overleaf": 20, "overlin": [0, 5, 6, 9, 10, 11, 14, 22, 28, 29, 31], "overshoot": 31, "overst": 0, "overtrain": 4, "overview": [3, 20], "own": [4, 5, 6, 8, 12, 13, 16, 18, 21, 22, 30, 31, 32], "owner": [], "ownmsepredict": 0, "ownmsetrain": 0, "ownridgebeta": 29, "ownridgetheta": [0, 6, 29, 30, 31], "ownypredictridg": 0, "ownytilderidg": 0, "ox": [], "oxid": [], "p": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 22, 25, 28, 29, 30, 31, 32], "p0": 2, "p1": 2, "p_": [2, 4, 8, 9], "p_hidden": 2, "p_i": [5, 25], "p_j": 25, "p_n": 25, "p_output": 2, "p_x": 25, "pack": [0, 28], "packag": [0, 1, 3, 4, 5, 8, 11, 13, 15, 20, 21, 23, 25, 29, 30, 31], "packtpub": 28, "packtpublish": 28, "pad": [3, 4], "page": [0, 21, 28, 30, 31, 32], "pai": [0, 1, 9, 13, 15, 31], "pair": [0, 2, 3, 9, 21, 25, 28], "paltform": 15, "panda": [0, 4, 5, 6, 7, 9, 11, 21, 23, 30, 31, 32], "pandoc": [], "panel": 28, "paper": [1, 31], "paper_fil": 31, "paradigm": [0, 28], "paragraph": 20, "parallel": [10, 13, 21, 22, 28], "param": 2, "paramat": 2, "paramet": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 16, 17, 18, 19, 23, 25, 30, 31, 32], "parameter": [0, 6, 10, 28, 29], "parametr": [0, 6, 28, 29, 32], "paramt": [3, 5, 32], "parser": [], "part": [0, 1, 3, 5, 6, 10, 17, 19, 20, 22, 24, 25, 26, 28, 29, 32], "partial": [0, 1, 5, 6, 7, 8, 10, 11, 12, 13, 16, 25, 28, 29, 30, 31], "particip": [15, 21, 24, 26, 28], "particl": [0, 4, 13, 25, 28], "particular": [0, 1, 2, 3, 5, 6, 9, 10, 11, 12, 13, 16, 23, 25, 27, 28, 29, 30, 31, 32], "particularli": [5, 6, 8, 11, 13, 25, 29, 30, 31, 32], "partit": [1, 4, 9], "partli": [6, 28], "partner": 15, "pass": [2, 3, 12, 14, 31], "password": 23, "past": [10, 25, 31], "patch": [6, 25, 32], "path": [0, 4, 6, 7, 9, 21, 28, 31, 32], "pathcollect": 17, "patholog": [], "patient": 7, "patter": 4, "pattern": [0, 3, 4, 12, 27, 28, 31], "paul": [], "pauli": [0, 28], "pav": [], "pc": [11, 15, 21], "pca": [0, 7, 21, 28, 29], "pd": [0, 4, 5, 6, 7, 9, 11, 28, 29, 30, 31, 32], "pde": 2, "pdf": [0, 3, 4, 5, 6, 9, 15, 16, 19, 20, 23, 27, 28, 32], "pedagog": [0, 28, 29], "penal": [6, 18, 29, 31], "penalti": [6, 13, 18, 23, 29, 31], "penros": [5, 6], "pentagon": [13, 30], "peopl": [1, 9, 13, 21, 31], "per": [0, 1, 6, 24, 26, 28, 31, 32], "percentag": [10, 11, 26], "perceptron": [0, 1, 7, 28], "peregrin": 28, "perez": [], "perfect": [0, 1, 13, 28, 31], "perfectli": [4, 6, 32], "perform": [0, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 16, 18, 19, 21, 22, 23, 25, 28, 29, 30, 31, 32], "performac": 4, "perhap": [0, 5, 13, 28, 29, 30, 31], "perimet": 1, "period": [1, 4, 25], "permiss": 15, "permit": [], "permut": 11, "persist": 13, "person": [5, 6, 7, 16, 20, 24, 26, 28, 29], "perspect": 27, "pertin": [12, 28], "petal": [8, 9], "peter": [27, 29], "phantom": 25, "phase": [6, 12], "phenomena": 25, "phenomenon": 31, "phi": 8, "phi_k": 8, "philipp": [], "philosophi": 13, "phone": [26, 28], "photo": [4, 28], "php": 23, "phrase": [0, 28], "physic": [0, 1, 4, 7, 12, 13, 25, 26, 27, 28, 29, 30, 31, 32], "pi": [2, 3, 5, 6, 7, 9, 12, 13, 25, 32], "pick": [1, 9, 10, 11, 13, 14, 31], "pickl": 1, "pictur": [0, 28], "pie": [21, 28], "piec": [11, 14], "pierr": [], "pillow": [0, 21, 23, 28], "pinv": [5, 6, 13, 23, 29, 30, 31], "pip": [0, 1, 15, 21, 23, 28], "pip3": [0, 1, 23, 28], "pipelin": [0, 6, 8, 10, 29, 32], "pippin": 28, "pit": 4, "pitfal": [6, 29], "pitt": 12, "pixel": [1, 3, 4, 28], "pixel_height": [1, 3], "pixel_width": [1, 3], "pkg_resourc": [], "pkgutil": [], "place": [0, 4, 6, 8, 13, 15, 22, 23, 28, 30, 32], "plai": [0, 3, 4, 5, 6, 8, 11, 18, 21, 23, 28, 29, 30, 32], "plain": [8, 10, 12, 13, 14, 30, 31], "plan": [6, 9, 26, 27, 28], "plane": [8, 9], "plateau": [5, 30, 31], "platform": [21, 28], "plausibl": 12, "pleas": [13, 23, 26, 28], "plenti": 1, "plethora": [3, 12], "plot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 20, 21, 22, 23, 25, 28, 29, 30, 31], "plot_all_sc": [23, 29], "plot_confusion_matrix": [7, 10], "plot_count": 6, "plot_cumulative_gain": [7, 10], "plot_data": 1, "plot_dataset": 8, "plot_decision_boundari": [9, 10], "plot_import": 10, "plot_max": 4, "plot_min": 4, "plot_model": 4, "plot_numb": 4, "plot_predict": 8, "plot_regression_predict": 9, "plot_result": 4, "plot_roc": [7, 10], "plot_surfac": [2, 6, 13], "plot_train": 9, "plot_tre": [9, 10], "plt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 22, 25, 28, 29, 30, 31, 32], "plu": [0, 3, 5, 7, 18, 28, 29], "plugin": [], "pm": [8, 32], "pmatrix": 2, "pml": 27, "pn": 3, "png": [0, 4, 6, 7, 9, 28, 32], "point": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 18, 19, 20, 22, 23, 25, 26, 28, 29, 30, 31, 32], "point_1": 4, "point_2": 4, "poisson": [21, 25, 28], "poli": [6, 8, 32], "poly100_kernel_svm_clf": 8, "poly3": 0, "poly3_plot": 0, "poly_featur": [8, 9, 15], "poly_features10": 9, "poly_fit": 9, "poly_fit10": 9, "poly_kernel_svm_clf": 8, "poly_model": 15, "poly_ms": 15, "poly_predict": 15, "polydegre": [0, 5, 6, 10, 29, 32], "polygon": [13, 30], "polym": 12, "polymi": 23, "polynomi": [0, 5, 6, 7, 8, 9, 10, 11, 15, 17, 19, 20, 23, 28, 29, 31, 32], "polynomial_featur": [6, 15, 16, 17, 32], "polynomial_svm_clf": 8, "polynomialfeatur": [0, 6, 8, 9, 15, 16, 19, 29, 32], "polytrop": [0, 6, 32], "pool": 3, "pool_siz": 3, "poor": [1, 13, 30, 31], "poorli": [0, 29], "popul": [0, 5, 28, 29], "popular": [0, 1, 3, 6, 7, 8, 9, 11, 12, 15, 21, 22, 23, 25, 29], "popularli": [0, 28], "portabl": 10, "portion": [11, 13, 31], "pose": [0, 4, 5, 6, 11, 25, 28, 32], "posit": [0, 1, 2, 3, 5, 7, 8, 10, 11, 13, 14, 22, 25, 28, 29, 30, 31], "possibl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32], "possibli": [6, 8, 13, 23], "post": [], "posterior": 5, "postpon": [0, 29], "postscript": 23, "postul": 5, "potenti": [0, 3, 5, 6, 12, 13, 29, 31, 32], "pott": 12, "power": [0, 1, 5, 6, 8, 9, 12, 13, 28, 29, 30, 31, 32], "pp": [5, 6, 19, 32], "practic": [0, 5, 6, 7, 8, 16, 18, 19, 23, 25, 29, 32], "practition": [0, 1, 3, 28, 31], "pre": 28, "preambl": [], "preced": [1, 11, 12, 25], "preceed": 4, "preceq": 8, "precis": [0, 2, 5, 11, 13, 22, 23, 25, 28, 29, 31, 32], "pred": [6, 32], "predicit": 0, "predict": [0, 1, 5, 6, 7, 8, 9, 10, 15, 16, 17, 19, 21, 23, 27, 28, 29, 30, 31, 32], "predict_prob": 1, "predict_proba": [7, 10], "predictor": [0, 5, 6, 7, 9, 10, 11, 28, 29, 31], "prefer": [0, 1, 6, 8, 9, 11, 13, 15, 20, 21, 23, 28], "prefil": [], "prepar": [0, 6, 22, 23, 28, 29], "preprocess": [0, 4, 6, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 23, 32], "prerequisit": 0, "prescript": 23, "presenc": 13, "present": [0, 5, 6, 7, 9, 12, 13, 22, 23, 25, 28, 29, 30, 31], "preserv": [3, 11, 22], "press": [13, 15, 27, 30], "pretrain": [1, 4], "pretti": [0, 4, 8, 9, 21, 23, 28], "prettier": [], "prev_centroid": 14, "prevent": [13, 25, 31], "previou": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 15, 16, 22, 23, 25, 29, 30, 31], "previous": [2, 3, 9, 10, 25], "price": [0, 4, 9, 13, 31], "primal": 8, "primari": [0, 7, 28], "prime": 25, "princip": [0, 5, 7, 21, 28, 29, 30], "principl": [0, 6, 7, 8, 14, 28, 32], "print": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 18, 22, 25, 28, 29, 30, 31, 32], "print_funct": [8, 9], "printout": [0, 28], "prior": [0, 5, 6, 28], "privat": 0, "prob": [1, 25], "probabilist": [0, 27, 28, 29], "probabl": [0, 1, 3, 4, 6, 7, 10, 13, 21, 28, 29, 31], "problem": [0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 17, 19, 21, 22, 23, 25, 32], "probml": 27, "proce": [0, 5, 6, 7, 8, 9, 10, 11, 13, 22, 28, 29, 32], "procedur": [2, 4, 5, 6, 8, 10, 11, 13, 29, 30, 31, 32], "proceed": 22, "process": [0, 2, 4, 6, 9, 10, 12, 13, 21, 22, 23, 25, 27, 28, 30, 31, 32], "procur": [], "prod": 27, "prod_": [1, 5, 7, 32], "produc": [0, 3, 4, 5, 6, 9, 10, 11, 12, 13, 18, 20, 21, 22, 25, 28, 29, 32], "product": [0, 1, 3, 5, 6, 7, 8, 12, 13, 16, 17, 21, 22, 28, 29, 31, 32], "profess": [0, 28], "profit": [], "program": [0, 1, 4, 5, 6, 8, 12, 14, 15, 21, 22, 24, 25, 26, 28, 29], "programm": 22, "progress": [1, 4, 14, 31], "prohibit": [6, 32], "project": [0, 1, 2, 3, 5, 11, 13, 15, 19, 21, 24, 29, 30, 31, 32], "project_root_dir": [0, 6, 7, 9, 28, 32], "promin": 12, "promis": 8, "promot": [26, 28], "prompt": 20, "prone": [9, 15], "pronounc": [13, 21, 28, 31], "proof": [0, 11, 12, 13, 28, 30, 32], "prop": 31, "prop_cycl": [], "propag": [2, 3, 13, 31], "proper": [0, 2, 6, 7, 20, 32], "properli": [1, 6, 8, 10, 13, 18, 20, 23, 31], "properti": [0, 1, 3, 12, 13, 16, 22, 28, 32], "proport": [0, 1, 5, 9, 11, 13, 25, 28, 29], "propos": [1, 4, 6, 10, 23, 28, 31], "propto": [5, 13, 30, 31], "proton": [0, 28], "prove": [3, 13, 30, 31], "provid": [0, 1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 20, 21, 22, 23, 25, 28, 29, 30, 31, 32], "proxi": [1, 13, 31], "prune": 9, "pseudo": [22, 25, 31], "pseudocod": 23, "pseudoinv": 5, "pseudoinvers": [5, 6, 23], "pseudorandom": [6, 25, 32], "psychologi": [0, 28], "pt": 13, "public": [0, 15, 21, 28], "publish": [], "pull": 15, "punish": [0, 1, 28], "pure": [3, 9, 25], "purest": 9, "puriti": 9, "purpos": [0, 3, 10, 12, 14, 28], "push": 15, "put": [1, 20, 31], "putmask": [], "py": 5, "pybtex": [], "pycod": 28, "pydata": 21, "pydevd_extension_api": [], "pydevd_plugin": [], "pydevd_plugin_plugin_nam": [], "pydot": 9, "pygment": [], "pyhton2": 28, "pylab": [7, 28], "pypi": 21, "pyplot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 22, 25, 28, 29, 30, 31, 32], "pythagora": 5, "python": [1, 2, 3, 5, 6, 8, 11, 12, 13, 14, 18, 20, 23, 25, 29, 31], "python2": [0, 23], "python3": [0, 21, 23, 28], "pythonpath": [], "pytorch": [0, 21, 23, 28], "pyzmq": [], "q": [5, 6, 8, 11, 25, 32], "qp": 8, "qquad": [2, 11, 13, 22, 31], "qr": [5, 6, 22, 29, 30], "quad": [1, 13, 22], "quadrat": [0, 8, 9, 13, 28], "qualit": [4, 9, 23, 25], "qualiti": [0, 9, 21, 28, 29], "quantifi": 1, "quantil": 10, "quantit": [0, 6, 9, 23, 28, 32], "quantiti": [0, 2, 5, 6, 7, 9, 10, 11, 12, 14, 16, 22, 25, 28, 29, 30, 31, 32], "quantum": [4, 12, 27, 28], "quartil": [0, 29, 31], "quench": 5, "queri": 9, "question": [0, 5, 6, 9, 11, 12, 13, 23, 26, 28, 29, 31, 32], "qugan": 4, "quick": [4, 25], "quicker": 31, "quickli": [1, 3, 9, 11, 13, 30, 31], "quit": [1, 5, 6, 9, 10, 12, 15, 29, 30, 32], "quot": 4, "r": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 21, 22, 23, 25, 29, 30, 31, 32], "r2": [0, 5, 6, 19, 28, 29, 30], "r2_score": [0, 28], "r2score": [0, 28], "r_": 31, "r_0": 31, "r_1": 9, "r_2": 9, "r_j": 9, "r_m": 9, "r_t": 31, "rad": [], "rade": [], "radial": [8, 12], "radioact": 25, "radiu": [0, 1, 29, 31], "radziej": [], "ragan": [], "rain": 9, "rais": [], "ram": 31, "ramanujam": [], "ramp": 1, "ran0": 25, "ran1": 25, "ran2": 25, "ran3": 25, "rand": [0, 4, 5, 6, 9, 10, 13, 15, 19, 22, 28, 29, 30, 31, 32], "randint": [6, 9, 13, 31, 32], "randn": [0, 1, 2, 5, 6, 9, 11, 13, 15, 18, 28, 29, 30, 31, 32], "random": [0, 1, 2, 3, 4, 5, 6, 8, 9, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 28, 29, 30, 31, 32], "random_forest_model": 10, "random_index": [13, 31], "random_indic": [1, 3], "random_st": [7, 8, 9, 10, 11], "randomforestclassifi": 10, "randomli": [1, 6, 9, 13, 14, 18, 30, 31, 32], "rang": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 18, 19, 22, 25, 28, 29, 30, 31, 32], "rangl": [0, 6, 11, 25, 28, 29], "rangle_x": 25, "rank": [5, 29, 30], "rankdir": 4, "raphson": [1, 8, 13], "rapidli": [0, 31], "rare": [1, 13, 31], "raschka": [28, 29, 32], "rasckha": 28, "rashcka": [30, 31], "rate": [1, 2, 3, 4, 8, 9, 10, 12, 13, 18, 30, 32], "rather": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 22, 25, 28, 29, 30, 32], "ratio": [4, 7, 9, 10, 11], "rational": [0, 28], "ravel": [5, 6, 7, 8, 9, 10, 11, 13, 22, 32], "raw": [3, 31], "rbf": [8, 11, 12], "rbf_kernel_svm_clf": 8, "rbf_pca": 11, "rc": 25, "rcond": [0, 28, 29], "rcparam": [1, 3, 7, 8, 9, 10, 25, 28], "re": [2, 4, 13, 15, 30], "reach": [1, 4, 5, 6, 9, 10, 12, 13, 14, 30, 31, 32], "react": [], "read": [0, 2, 3, 4, 5, 6, 7, 8, 11, 12, 16, 17, 19, 20, 22, 23, 25, 27, 30], "read_csv": [0, 6, 7, 9, 32], "read_fwf": [0, 28], "reader": [0, 6, 20, 22, 25, 28, 29, 31], "readi": [0, 1, 5, 6, 8, 10, 11, 12, 22, 28], "readili": 1, "readm": [15, 20], "readthedoc": 21, "real": [0, 1, 4, 7, 10, 11, 12, 16, 18, 19, 22, 29, 32], "real_loss": 4, "real_output": 4, "realist": [8, 28], "realiti": 25, "realiz": [1, 12], "realli": [0, 1, 28], "rearrang": 13, "reason": [0, 1, 3, 4, 10, 13, 27, 28, 30, 31], "reassign": 1, "recal": [5, 6, 9, 10, 11, 12, 22, 25, 28, 29, 30, 31, 32], "recarrai": [], "recast": 3, "receiv": [1, 3, 10, 12, 25], "recent": [0, 6, 13, 27, 31, 32], "recept": [3, 12], "receptive_field": 3, "recip": [0, 6, 7, 22, 23, 28, 29], "reciproc": 5, "recogn": [0, 4, 5, 10, 28, 32], "recognit": [0, 1, 3, 12, 27, 28], "recommen": 28, "recommend": [0, 2, 3, 4, 5, 6, 8, 13, 15, 19, 20, 21, 22, 23, 27, 30, 31, 32], "reconsid": 9, "reconstruct": 11, "record": [10, 23, 24, 26, 28], "recreat": 15, "rectangl": [9, 13, 30], "rectangular": [5, 29, 30], "rectifi": [1, 3, 12], "recur": [0, 21, 28], "recurr": [0, 1, 21, 28], "recurs": [9, 21, 22, 28], "red": [0, 3, 4, 6, 8, 9, 31, 32], "redefin": [0, 10, 28, 29, 30], "redefinit": 30, "redistribut": [], "reduc": [1, 3, 5, 6, 9, 10, 11, 13, 28, 30, 31, 32], "reduct": [0, 10, 11, 21, 25, 28, 29], "reegress": 23, "ref": 20, "refer": [0, 1, 2, 3, 5, 6, 11, 12, 13, 14, 20, 22, 27, 28, 29, 30, 31, 32], "referansestil": 20, "referenc": 2, "refin": 12, "refit": [6, 32], "reflect": [0, 1, 4, 5, 23, 25, 28], "refresh": [21, 28], "refreshprogrammingskil": 28, "reg": [10, 11], "regard": [1, 9, 13], "regardless": [12, 16], "regexp": [], "reggi": [], "regim": 31, "region": [3, 4, 6, 9, 12, 23, 31], "regist": [6, 25], "reglasso": [5, 30], "regr_1": [0, 9], "regr_2": [0, 9], "regr_3": [0, 9], "regress": [1, 8, 11, 12, 16, 20, 21, 22], "regressor": [0, 7, 10], "regret": [], "regridg": [0, 5, 6, 29, 30, 31], "regular": [0, 3, 4, 5, 6, 7, 9, 13, 17, 18, 26, 28, 29, 30, 31, 32], "regularli": 15, "reilli": [0, 27, 28], "reinforc": [0, 8, 21, 28], "reiter": 1, "reitz": [], "reject": 7, "rel": [0, 4, 6, 7, 9, 12, 13, 25, 28, 29, 31, 32], "relat": [0, 1, 3, 4, 5, 11, 13, 14, 19, 22, 25, 28, 29, 30, 32], "relationship": [0, 4, 9, 18, 28], "relativeerror": [0, 28, 29], "releas": [1, 21, 28], "relev": [0, 1, 5, 7, 11, 21, 23, 25, 28, 30, 31], "reli": [0, 6, 8, 31], "reliabilti": 23, "reliabl": [7, 25], "relu": [3, 4, 28], "remain": [1, 2, 4, 6, 12, 22, 25, 29, 31, 32], "remaind": 25, "reman": 2, "remark": 1, "rememb": [0, 8, 13, 20, 22, 23, 28, 31], "remind": [0, 5, 11, 13, 19, 22, 25, 32], "remot": 15, "remov": [4, 5, 6, 18, 29, 30, 31], "renam": 15, "render": [0, 28, 29], "reorder": [5, 7, 29, 30], "reorgan": [0, 28], "repeat": [0, 1, 3, 4, 5, 6, 9, 10, 11, 13, 14, 22, 23, 25, 28, 29, 30, 31, 32], "repeated": 28, "repeatedli": [0, 6, 10, 13, 32], "repet": 3, "repetit": [6, 28, 29, 32], "rephras": [13, 30], "replac": [0, 1, 3, 4, 5, 6, 10, 12, 14, 21, 23, 28, 29, 30, 32], "replica": [6, 32], "repo": [15, 23], "report": [28, 31], "repositori": [4, 20, 23, 28], "reposotori": [], "repres": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 23, 25, 28, 29, 30, 31, 32], "represent": [0, 1, 3, 6, 25, 28, 32], "representd": 3, "reproduc": [0, 5, 6, 9, 12, 15, 16, 18, 20, 21, 25, 28, 29], "repuls": [0, 28], "request": [0, 13, 31], "requir": [0, 1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 15, 17, 18, 19, 20, 22, 28, 29, 30, 31, 32], "res1": 2, "res2": 2, "res3": 2, "res_analyt": 2, "res_analytical1": 2, "res_analytical2": 2, "res_analytical3": 2, "resaml": 6, "resampl": [0, 7, 10, 21, 28, 29], "rescal": [0, 11, 12, 31], "rescu": 5, "reseach": 6, "research": [0, 4, 13, 21, 27, 28, 31], "resembl": [6, 25, 32], "reserv": [1, 5, 6, 25, 32], "reshap": [0, 1, 2, 3, 4, 6, 8, 9, 10, 22, 28, 29, 32], "resid": 31, "residenti": [], "residu": [0, 5, 13, 28], "resiz": [5, 29, 30], "resnet": 31, "resort": 31, "resourc": [28, 31], "respect": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 23, 25, 28, 29, 30, 31, 32], "respond": 12, "respons": [0, 7, 9, 12, 28, 29], "rest": [0, 5, 18, 29, 30, 31], "restat": [0, 12, 28], "restor": 4, "restored_discrimin": 4, "restored_gener": 4, "restrict": [0, 3, 9, 12, 28], "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 28, 31, 32], "retail": [], "retain": [5, 6, 29, 30, 31, 32], "rethink": 32, "return": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 22, 25, 28, 29, 30, 31, 32], "return_data": 14, "return_sequ": 4, "return_x_i": 9, "reus": [1, 3, 6, 19, 20, 23], "reveal": [0, 12, 28], "revers": [1, 22], "review": [21, 22], "revis": [], "revisit": 14, "revolut": 28, "reward": [0, 4, 28], "rewrit": [0, 3, 5, 6, 7, 8, 10, 11, 12, 13, 16, 19, 22, 23, 25, 30, 31], "rewritten": [2, 6, 8, 10, 25, 32], "rewrot": 13, "rf": 10, "rgb": 3, "rgoj5yh7evk": 21, "rh": [6, 32], "rho": [0, 10, 13, 31], "rho_1": 10, "rho_2": 10, "rho_m": 10, "rich": [0, 28], "rid": [], "ride": 9, "rideclass": 9, "ridedata": 9, "ridg": [7, 11, 13, 20, 21, 28, 32], "ridge_paramet": 17, "ridge_sk": 6, "ridgebeta": 30, "ridgetheta": 5, "right": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17, 19, 22, 23, 25, 28, 29, 30, 31, 32], "right_sid": 2, "rightarrow": [0, 1, 5, 6, 8, 11, 12, 13, 25, 28, 29, 30, 31, 32], "rigor": [0, 28, 29, 30], "ring": 6, "rise": [0, 28], "risk": [0, 13, 28, 30, 31], "rival": 4, "river": [], "rlm": 28, "rm": [25, 31], "rmse": [], "rmsporp": [13, 31], "rmsprop": [1, 3, 4, 13, 23, 32], "rnd_clf": 10, "rng": 25, "rnn": [4, 12], "rnn1": 4, "rnn2": 4, "rnn_2layer": 4, "rnn_input": 4, "rnn_output": 4, "rnn_train": 4, "rntrick1": 25, "rntrick2": 25, "rntrick3": 25, "rntrick4": 25, "ro": [0, 13, 28, 30, 31], "robert": [19, 23, 27], "robust": [0, 28, 31], "robustscal": [0, 29, 31], "roc": [7, 10], "role": [0, 2, 5, 6, 8, 18, 21, 23, 28, 29, 30, 31, 32], "roll": 6, "ronach": [], "room": [0, 26, 28], "root": [0, 5, 9, 13, 15, 25, 29, 30, 31], "root_directori": [], "rot": 28, "rotat": [1, 8, 9, 10], "rotation_matrix": 9, "roughli": [1, 3, 18], "round": [7, 9, 13], "routin": [13, 22, 28, 30], "row": [0, 1, 2, 5, 6, 9, 11, 16, 22, 28, 29, 30, 32], "rr": [5, 29, 30], "rrr": [5, 29, 30], "rubric": [], "rudg": [], "rug": [13, 30, 31], "rule": [0, 1, 5, 6, 13, 23, 28, 29, 30], "run": [0, 1, 2, 4, 5, 6, 8, 9, 11, 13, 15, 20, 21, 23, 28, 29, 30, 31, 32], "runtim": [1, 6, 14, 15], "rust": [0, 21, 22, 28], "rvert": 1, "rvert_2": 1, "s_": [3, 6], "s_1": 6, "s_i": [6, 7], "s_j": 6, "s_k": 6, "s_phenomenon": 23, "saddl": [13, 30, 31], "safeguard": [18, 31], "sai": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 19, 22, 23, 25, 28, 29, 30, 31, 32], "said": [6, 9, 13, 30], "sake": [0, 5, 7, 11, 28, 29, 30], "sale": [0, 28], "sam": 28, "same": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 14, 15, 16, 18, 20, 22, 23, 25, 28, 29, 30], "samm": 10, "sampl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 18, 19, 21, 22, 23, 25, 28, 29, 31, 32], "sample_vari": 14, "sampleexptvari": 25, "samwis": 28, "sandbox": [], "sasha": [], "sastri": 11, "satisfactori": [0, 28], "satisfi": [1, 2, 3, 6, 8, 13, 22, 25, 30, 32], "satur": [1, 6, 32], "save": [0, 4, 6, 7, 9, 13, 20, 28, 31, 32], "save_fig": [0, 6, 7, 9, 10, 28, 32], "savefig": [0, 4, 6, 7, 9, 25, 28, 32], "savetxt": 4, "saw": [5, 29], "scalabl": 10, "scalar": [2, 5, 6, 10, 29, 32], "scale": [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 21, 22, 23, 26, 28, 30], "scale_mean": 4, "scale_std": 4, "scaler": [0, 7, 8, 9, 10, 11, 17, 23, 29], "scan": [5, 7], "scari": 5, "scatter": [0, 1, 6, 7, 8, 9, 14, 15, 17, 28, 29, 31, 32], "scenario": [6, 13, 30, 31], "schedul": [13, 31], "scheme": [1, 13, 30, 31], "schrage": 25, "sch\u00f8yen": [6, 29, 31], "scienc": [0, 1, 10, 12, 13, 21, 24, 25, 26, 27, 30, 32], "scientif": [0, 20, 21, 23, 28], "scientist": [0, 28], "scikit": [3, 5, 6, 8, 9, 10, 13, 15, 16, 20, 21, 22, 23, 27], "scikit_learn": 0, "scikitlearn": 28, "scikitplot": [7, 10], "scipi": [0, 3, 5, 6, 13, 21, 22, 23, 28, 29, 30, 32], "scl": 6, "scm": 15, "score": [0, 1, 3, 6, 7, 9, 10, 11, 15, 16, 19, 23, 26, 28, 29, 31, 32], "scores_kfold": [6, 32], "scratch": [1, 13, 16], "script": [], "sdg": [13, 31], "sdv4f4s2sb8": [30, 31], "seaborn": [0, 1, 3, 6, 7, 28], "seamless": [0, 21, 23, 28], "search": [0, 1, 3, 5, 9, 13, 15, 28, 30, 31], "sebastian": 28, "sebastianraschka": 28, "sec": 6, "second": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 15, 16, 20, 21, 22, 25, 26, 28, 29, 30, 32], "second_mo": 31, "second_term": 31, "secondari": 31, "secondeigvector": 11, "secondli": 12, "section": [4, 11, 16, 20, 22, 23, 25, 29, 31], "sector": 0, "see": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 23, 25, 28, 29, 30, 31, 32], "seed": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 18, 20, 25, 28, 29, 30, 31, 32], "seed_imag": 4, "seek": [1, 2, 8], "seem": [1, 3, 4, 31], "seemingli": [0, 28], "seen": [0, 1, 3, 5, 10, 12, 25], "segment": [13, 30], "seismic": 6, "seldomli": [0, 28], "select": [1, 5, 6, 8, 9, 10, 11, 15, 20, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32], "selevet": 15, "self": [1, 5, 29], "sell": 4, "semest": [7, 24], "semi": [8, 13, 30, 31], "semilogx": 6, "send": [5, 12, 13, 26, 28], "senior": [24, 26], "sens": [0, 4, 6, 8, 28, 32], "sensibl": 3, "sensit": [0, 5, 6, 9, 13, 28, 29, 31, 32], "sent": 2, "sentenc": [4, 12], "separ": [0, 1, 2, 4, 6, 8, 9, 12, 14, 18, 21, 23, 25, 28, 31, 32], "septemb": [18, 23, 28], "sequenc": [3, 4, 7, 9, 10, 12, 13, 21, 22, 25, 28, 30], "sequenti": [1, 3, 4, 10, 12, 25], "seri": [0, 1, 2, 3, 4, 5, 6, 10, 11, 12, 13, 22, 28, 29, 30, 32], "serif": [7, 25, 28], "serv": [0, 1, 2, 3, 5, 7, 13, 27, 28, 29, 30, 31], "servic": 23, "session": [1, 15, 20, 23, 24, 26, 28], "set": [1, 4, 5, 6, 7, 8, 10, 11, 13, 14, 16, 17, 18, 21, 22, 23, 25, 26, 31, 32], "set_major_formatt": 6, "set_major_loc": 6, "set_tick": [1, 8], "set_ticklabel": 1, "set_titl": [0, 1, 2, 3, 7, 12, 14, 28], "set_xlabel": [0, 1, 2, 3, 7, 12, 28], "set_xlim": [7, 12], "set_xticklabel": 1, "set_ylabel": [0, 1, 2, 3, 7, 28], "set_ylim": [7, 12], "set_ytick": 7, "set_yticklabel": [1, 6], "set_zlim": 6, "seth": 4, "setminu": 6, "setosa": [8, 9], "setosa_or_versicolor": 8, "setp": [6, 32], "setup": [1, 4, 6, 8, 21, 28, 29, 30], "sever": [0, 3, 5, 6, 7, 8, 9, 11, 12, 13, 16, 21, 22, 23, 25, 28, 29, 30, 31, 32], "sgd": [1, 3, 30], "sgd_clf": 8, "sgdclassifi": 8, "sgdreg": 13, "sgdregressor": 13, "sgn": [5, 29, 30], "shall": [], "shallow": [13, 31], "shape": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 22, 28, 29, 30, 31, 32], "share": [1, 3, 15, 28], "share_mask": [], "shareabl": 15, "she": 7, "sheppard": [], "shibukawa": [], "shift": [1, 6, 12, 15, 18, 25, 29, 31], "ship": 3, "shire": 28, "short": [4, 5, 20, 23], "shortcom": [13, 30, 31], "shorten": 4, "shorter": 25, "shorthand": [28, 32], "shortli": [22, 28], "should": [0, 2, 3, 5, 6, 8, 9, 11, 12, 15, 18, 19, 20, 22, 23, 25, 28, 29, 31, 32], "shouldn": [], "show": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 23, 25, 28, 29, 30, 31, 32], "show_shap": 4, "shown": [0, 4, 5, 8, 12, 13, 22, 29, 30, 31], "shrink": [3, 5, 6, 8, 11, 29, 30, 31], "shrinkag": [5, 6, 29, 30], "shrunk": 11, "shuffl": [0, 1, 4, 6, 13, 29, 31, 32], "side": [0, 2, 5, 8, 12, 13, 22, 23, 28, 30], "sigh": [21, 28], "sigma": [0, 1, 5, 6, 7, 10, 11, 12, 13, 19, 22, 23, 25, 28, 29, 30, 31, 32], "sigma0": 25, "sigma1": 25, "sigma2": 25, "sigma_": [5, 22, 28, 29, 30, 32], "sigma_0": [5, 29, 30], "sigma_1": [5, 29, 30], "sigma_2": [5, 29, 30], "sigma_fn": [7, 12], "sigma_i": [0, 5, 28, 29, 30], "sigma_j": [5, 29, 30], "sigma_m": [6, 25, 32], "sigma_n": [11, 25], "sigma_t": 13, "sigma_x": 25, "sigmoid": [1, 2, 4, 7, 8, 10, 12], "sigmundson": [6, 29, 31], "sign": [1, 2, 7, 8, 10, 25, 26], "signal": [1, 3, 10, 12, 31], "signifi": 4, "signific": [1, 31], "significantli": [1, 13, 18, 25, 30, 31], "sim": [4, 5, 6, 13, 19, 25, 32], "similar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 18, 21, 22, 23, 28, 30, 32], "similarli": [0, 1, 3, 5, 8, 10, 13, 25, 28, 29, 30, 31], "simpl": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 14, 16, 17, 21, 22, 25, 32], "simple_plot": [], "simplepredict": 10, "simpler": [0, 1, 5, 6, 7, 13, 16, 21, 23, 28, 30, 31], "simplernn": 4, "simplest": [0, 1, 3, 4, 9, 10, 12, 14, 23, 28], "simpletre": 10, "simpli": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 12, 21, 22, 23, 25, 28, 29, 30, 31, 32], "simplic": [2, 5, 6, 7, 8, 9, 10, 11, 12, 14, 29, 30, 31], "simplicti": [5, 29, 30], "simplifi": [0, 6, 9, 18, 21, 23, 28, 29, 31, 32], "simplist": [3, 6, 25, 32], "simul": [6, 18, 31, 32], "simultan": [6, 31, 32], "sin": [0, 1, 2, 3, 4, 9, 12, 13, 22, 28], "sinc": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 16, 18, 22, 23, 25, 27, 28, 29, 30, 31, 32], "sine": [3, 12], "singl": [0, 1, 2, 3, 5, 6, 7, 8, 9, 12, 13, 18, 19, 22, 25, 28, 29, 30, 31, 32], "singular": [0, 6, 13, 22, 28, 32], "sinusoid": 3, "site": [0, 23, 24, 29], "situat": [0, 4, 5, 7, 13, 25, 28, 29, 30, 31], "six": [3, 25], "size": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 18, 20, 22, 23, 25, 28, 32], "sizesp": 31, "sketch": 10, "ski": 9, "skill": 0, "skip": 11, "skl": [0, 6, 28, 29, 31], "sklearn": [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 19, 20, 28, 29, 30, 31, 32], "skplt": [7, 10], "sl": [6, 29, 31], "slack": 8, "slender": [], "slice": [2, 22, 28], "slide": [0, 3, 16, 23, 25, 28, 29, 30], "slight": [6, 13, 32], "slightli": [1, 2, 3, 5, 6, 7, 10, 25, 29, 30, 32], "slope": [8, 11, 12], "slow": [0, 2, 8, 13, 18, 29, 30, 31], "slower": [5, 22, 28, 29, 30, 31], "slowest": 22, "slowli": [12, 31], "slp": 1, "small": [0, 1, 2, 3, 5, 6, 8, 9, 10, 11, 12, 13, 18, 21, 22, 25, 28, 29, 30, 31, 32], "smaller": [0, 1, 2, 5, 6, 8, 9, 11, 13, 25, 28, 29, 30, 31, 32], "smallest": [0, 4, 14, 28], "smallest_row_index": 14, "smodin": [], "smooth": [0, 3, 6, 13, 23, 28, 30, 31], "smoother": 31, "sn": [0, 1, 3, 6, 7, 28], "sne": 11, "so": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32], "soar": 6, "social": 0, "soft": [1, 7, 10, 12], "soften": 8, "softmax": [3, 7], "softwar": [0, 8, 21, 22], "sokogskriv": 20, "sol": 8, "sole": [0, 6, 28], "solid": [0, 7], "solut": [0, 1, 2, 3, 5, 6, 8, 10, 11, 13, 18, 22, 23, 25, 28, 29, 30, 31, 32], "solution_ev": 31, "soluton": 2, "solv": [0, 1, 3, 5, 6, 8, 10, 11, 12, 13, 16, 22, 23, 28, 29], "solve_expdec": 2, "solve_ode_deep_neural_network": 2, "solve_ode_neural_network": 2, "solve_pde_deep_neural_network": 2, "solveod": 2, "solveode_popul": 2, "solver": [2, 7, 8, 9, 10, 22, 28], "some": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 18, 19, 23, 25, 28, 31, 32], "some_model": [6, 29, 31], "somehow": 4, "someon": 16, "someth": [0, 1, 3, 4, 7, 9, 11, 15, 19, 20, 23, 25, 28, 29], "sometim": [0, 1, 11, 12, 13, 14, 19, 29, 31], "soon": [22, 26, 29], "sophist": [0, 28], "sopt": 13, "sort": [5, 6, 9, 11, 25, 32], "sound": [3, 5], "sourc": [0, 1, 3, 6, 21, 22, 23, 25, 28, 31, 32], "space": [0, 1, 4, 5, 8, 9, 11, 12, 13, 14, 25, 29, 30, 31], "span": [0, 3, 5, 9, 11, 22, 28, 29, 30], "spare": 1, "spars": [3, 6, 18, 22, 28, 31], "sparse_mtx": [22, 28], "sparsecategoricalcrossentropi": 3, "sparsiti": [10, 18], "spatial": [1, 2, 3, 12], "speak": 25, "special": [6, 7, 10, 12, 13, 22, 25, 28, 29, 30, 31], "specif": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 21, 22, 23, 25, 27, 28, 29, 30, 32], "specifi": [0, 3, 5, 6, 7, 9, 11, 13, 14, 25, 28, 30, 31, 32], "specifici": [0, 10, 28], "spectacular": 3, "spectral": 1, "speech": [0, 1, 3, 4, 12], "speed": [1, 2, 4, 13], "spend": [16, 25, 31], "spent": 23, "sphere": [0, 29, 31], "sphinx": [], "sphinx_book_them": [], "sphinxcontrib": [], "spike": 31, "spin": 6, "spite": 0, "spitzer": [], "spline": 8, "split": [1, 3, 4, 5, 6, 8, 9, 10, 11, 14, 16, 17, 20, 23, 25, 28, 30, 31, 32], "splite": 0, "splitter": [1, 10], "spoiler": [], "spontan": 25, "spot": 3, "spread": [0, 11, 25, 28, 29], "springer": [19, 23, 27, 28, 32], "spuriou": [13, 31], "sqquar": 30, "sqrsignal": 3, "sqrt": [3, 4, 5, 6, 8, 10, 11, 13, 25, 29, 30, 31, 32], "squar": [1, 2, 3, 4, 7, 8, 9, 11, 13, 14, 15, 17, 18, 21, 22, 25, 32], "squarederror": 10, "squaredeuclidean": 14, "squash": 12, "src": [], "srtm": 6, "srtm_data_norway_1": 6, "sso": 20, "stabil": [5, 23, 31], "stabl": [0, 4, 5, 6, 9, 16, 20, 21, 23, 28, 29, 30, 31], "stack": [3, 4], "stage": [5, 13, 15, 23, 31], "stagnat": 31, "stai": [0, 2, 4, 5, 11, 28, 29, 31], "stand": [0, 5, 9, 12, 28, 29, 30], "standard": [0, 1, 4, 5, 6, 7, 8, 10, 12, 17, 18, 19, 22, 23, 25, 28, 30, 31], "standardscal": [0, 6, 7, 8, 9, 10, 11, 17, 29, 31], "standpoint": 31, "stanford": [13, 30], "start": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 22, 25, 26, 28, 29, 30, 31, 32], "start_tim": 14, "starter": [], "stat": [6, 32], "state": [1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 21, 25, 28, 29, 30, 32], "statement": [0, 7, 22, 28], "static": [], "stationari": [30, 31], "statist": [0, 1, 3, 4, 7, 9, 10, 11, 12, 13, 14, 19, 22, 23, 27, 29, 30, 31], "statu": [0, 7, 15, 28], "stavang": 6, "stb": [], "std": [0, 4, 6, 18, 28, 29, 31, 32], "steep": [13, 30, 31], "steepest": 31, "stefan": [], "step": [0, 1, 2, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 18, 22, 23, 28, 30], "step_fn": [7, 12], "step_length": [13, 31], "step_siz": 31, "steps_list": 9, "stereo": 3, "sticki": [], "still": [0, 2, 3, 5, 6, 11, 13, 25, 29, 30, 31, 32], "stimuli": 12, "stk": [27, 28], "stk2100": [27, 28], "stk3155": [15, 23, 24, 26], "stk4021": [27, 28], "stk4051": [27, 28], "stk4155": [24, 26], "stk5000": 27, "stochast": [0, 1, 5, 6, 8, 11, 12, 30, 32], "stock": 4, "stoke": 12, "stone": [0, 7], "stop": [1, 4, 9, 13, 14, 18, 30], "storag": [5, 29, 30], "store": [0, 1, 2, 3, 6, 11, 13, 25, 28, 31], "storehaug": [26, 28], "stori": [], "str": [1, 3, 4], "straight": [0, 6, 8, 13, 28, 30, 32], "straightforward": [0, 2, 3, 5, 6, 8, 9, 10, 13, 22, 28, 29, 30, 32], "strategi": [0, 1, 9, 28], "stratifi": [6, 32], "stream": 31, "strength": [0, 5, 14, 29, 30], "stretch": 11, "strict": [8, 13, 30], "strictli": [8, 13, 30], "stride": [4, 22], "strike": 6, "string": 1, "stroke": 7, "strong": [3, 6, 9, 10, 12, 22, 25, 31, 32], "strongli": [0, 8, 15, 20, 21, 22], "stronli": [], "structur": [0, 1, 2, 3, 6, 9, 10, 12, 21, 28, 32], "stuck": [1, 13, 30, 31], "student": [0, 15, 23, 24, 26, 27, 28], "studi": [0, 3, 4, 5, 6, 7, 8, 11, 12, 13, 21, 23, 27, 28, 29, 30, 31], "studier": 27, "style": [7, 9, 20, 22, 28], "stylesheet": [], "st\u00f8land": 26, "sub": [9, 12, 31], "subarrai": [], "subclass": [], "subdivid": [0, 22, 28], "subfield": 0, "subgradi": 31, "subject": [6, 8, 25], "sublicens": [], "sublinear": 31, "submit": 28, "subplot": [0, 1, 3, 4, 6, 7, 8, 9, 10, 14, 28, 32], "subplots_adjust": [8, 25], "subprogram": [22, 28], "subproject": [], "subract": [0, 29], "subroutin": [0, 28], "subscript": 1, "subsequ": [1, 4, 5, 6, 12, 22, 25, 29, 30, 32], "subset": [1, 6, 9, 12, 13, 21, 28, 30, 31, 32], "subspac": [0, 8, 11, 29], "substanti": [9, 10, 31], "substep": 11, "substitut": [3, 6, 12, 16, 22, 32], "subsubset": 9, "subtask": 6, "subtl": 1, "subtract": [0, 4, 5, 6, 11, 13, 18, 19, 22, 23, 25, 29, 31, 32], "subtre": 9, "succeed": [0, 4, 28], "success": [3, 7, 9, 13, 25], "successfulli": [4, 9], "succinctli": 31, "sudo": [0, 21, 23, 28], "suffer": [0, 1, 2, 5, 10, 28, 29, 30], "suffici": [1, 6, 8, 11, 13, 30, 32], "suggest": [1, 13, 23, 27, 30, 31], "suit": [8, 12], "suitabl": [0, 15, 19, 25, 29, 31], "sum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19, 22, 25, 28, 29, 30, 31], "sum_": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 19, 22, 23, 25, 28, 29, 30, 31, 32], "sum_i": [0, 2, 5, 6, 8, 13, 19, 23, 29, 30, 31, 32], "sum_j": [6, 18, 31], "sum_ja_": 0, "sum_k": [6, 8, 12, 22], "sum_logist": 13, "sum_m": 3, "sum_n": 3, "sum_nx_": 3, "summar": [5, 6, 9, 32], "summari": [1, 3, 4, 10, 24, 30, 31], "summat": [0, 3, 16, 29, 30], "sunni": 9, "super": [5, 29, 30, 31], "superfici": 3, "superscript": [1, 12], "supervis": [0, 5, 6, 7, 9, 12, 21, 28, 29, 30, 32], "supplement": [7, 23], "suppli": [], "support": [0, 1, 9, 10, 11, 13, 20, 21, 28, 29, 31], "suppos": [0, 5, 6, 7, 8, 10, 11, 12, 13, 22, 28, 29, 30, 31, 32], "suppress": [5, 13, 30], "sure": [0, 1, 4, 6, 16, 20, 23], "surf": 6, "surfac": [0, 6, 28, 31], "surpass": 6, "surpris": [0, 28], "surround": [3, 21], "survei": [0, 5, 6, 28, 29], "svc": [8, 9, 10], "svd": [0, 6, 11, 28, 32], "svdinv": 5, "svm": [8, 9, 10, 11], "svm_clf": [8, 10], "svn": [], "swath": [5, 29, 30], "switch": 0, "sy": [13, 30, 31], "symbol": [1, 5, 11, 13, 21, 25, 28, 29, 30], "symmeteri": 1, "symmetr": [0, 5, 8, 11, 12, 13, 22, 28, 29], "symmetri": 6, "sympi": [0, 21, 23, 28], "synonim": 25, "syntax": 13, "system": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 15, 21, 22, 23, 28, 30, 31], "systemat": [4, 6, 32], "t": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 28, 30, 31, 32], "t0": [3, 6, 13, 31], "t1": [2, 13, 31], "t2": 2, "t3": 2, "t9jjwsmsd1o": 32, "t_": 2, "t_0": [2, 9, 13, 31], "t_1": [13, 31], "t_b": 10, "t_i": [1, 2, 5, 12, 29, 30], "t_j": 12, "t_k": 9, "tabl": [9, 23, 25, 26, 28], "tabul": [0, 28], "tabular": 28, "tackl": 4, "tag": [2, 3, 4, 5, 6, 7, 12, 13, 14, 22, 25, 29, 30], "taht": [0, 28], "tail": 25, "tailor": [2, 8, 11, 28], "taiwan": [0, 28], "take": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17, 19, 21, 22, 25, 28, 29, 30, 31, 32], "taken": [0, 1, 3, 6, 10, 13, 22, 32], "tan": 3, "tangent": [1, 4, 12, 13, 30], "tanh": [1, 4, 7, 8, 12], "target": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 16, 18, 19, 28, 29, 30, 31, 32], "target_nam": 9, "task": [0, 1, 3, 6, 9, 11, 12, 14, 23, 28, 31, 32], "tau": [3, 5, 25], "taught": 28, "tax": [], "taylor": [2, 13, 30], "taylornr": [13, 30], "tc": 8, "teach": [15, 24, 28, 32], "team": 1, "teaser": 0, "technic": [0, 5, 6, 13, 23, 30, 31, 32], "techniqu": [0, 1, 8, 10, 13, 21, 25, 27, 28, 29, 31, 32], "technologi": [0, 1], "tell": [0, 4, 6, 10, 11, 13, 16, 25, 31, 32], "temp": 1, "temp1": 1, "temp2": 1, "temperatur": [0, 9, 28], "templat": [18, 20], "temporari": [], "temporarili": 1, "ten": [3, 28], "tend": [3, 5, 6, 8, 9, 10, 12, 13, 14, 29, 31, 32], "tendenc": [0, 28], "tension": [6, 32], "tensor": 3, "tensorflow": [0, 2, 4, 8, 14, 21, 22, 23, 27, 28, 29], "term": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 23, 25, 28, 29, 30, 31], "term1": [5, 6, 11], "term2": [5, 6, 11], "term3": [5, 6, 11], "term4": [5, 6, 11], "termin": [0, 4, 5, 9, 10, 13, 15, 29, 30, 31], "terminarl": 15, "terrain": 6, "terrain1": 6, "test": [3, 4, 5, 6, 7, 8, 9, 10, 13, 16, 19, 20, 22, 23, 25, 28, 30, 31, 32], "test_acc": 3, "test_accuraci": [1, 3], "test_error": 6, "test_imag": [3, 4], "test_ind": [6, 32], "test_input": 4, "test_label": [3, 4], "test_loss": 3, "test_pr": 1, "test_predict": 1, "test_rnn": 4, "test_scor": [7, 10], "test_siz": [0, 1, 3, 5, 6, 10, 15, 17, 29, 30, 31, 32], "test_split": 9, "testerror": [0, 6, 29, 32], "testi": 4, "testpredict": 4, "testx": 4, "tex": [], "text": [0, 1, 2, 4, 5, 8, 9, 11, 13, 15, 18, 20, 22, 25, 27, 29, 30, 31, 32], "textbf": [], "textbook": [16, 23, 29, 30, 32], "textual": 9, "textur": 1, "tf": [1, 3, 4, 13, 14, 30], "th": [0, 1, 2, 5, 6, 7, 9, 12, 13, 14, 22, 23, 25, 28, 29, 31, 32], "than": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 17, 21, 25, 28, 29, 31, 32], "thank": [4, 6, 29, 31], "theano": [1, 21, 28], "thei": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 18, 20, 22, 23, 25, 28, 29, 30, 31, 32], "them": [0, 1, 3, 4, 6, 8, 9, 10, 11, 12, 13, 18, 22, 23, 28, 29], "theme": [0, 15, 28], "themselv": [0, 23, 25, 28, 31], "thenc": [6, 32], "theorem": [2, 6, 7, 29, 30], "theoret": [0, 4, 10], "theori": [0, 1, 3, 8, 9, 12, 13, 19, 21, 23, 27, 28, 31], "thereaft": [0, 5, 6, 11, 12, 22, 23, 28, 32], "therebi": [0, 5, 7, 11, 23, 28, 29, 30], "therefor": [0, 1, 2, 3, 4, 6, 7, 8, 11, 13, 19, 25, 28, 29, 30, 31, 32], "therein": 11, "thereof": [0, 6, 13, 28, 31, 32], "theta": [0, 1, 4, 5, 6, 7, 13, 16, 23, 25, 28, 29, 30, 31], "theta1": 31, "theta2": 31, "theta_": [0, 1, 6, 7, 13, 28, 29, 30, 31], "theta_0": [0, 5, 6, 7, 16, 28, 29, 30, 31], "theta_0x_": [0, 28, 29], "theta_1": [0, 5, 6, 7, 28, 29, 30, 31], "theta_1x_": [0, 28, 29], "theta_1x_0": [0, 28], "theta_1x_1": [0, 7, 28], "theta_1x_2": [0, 28], "theta_1x_i": [7, 29, 30, 31], "theta_2": [0, 28, 29], "theta_2x_": [0, 28, 29], "theta_2x_0": [0, 28], "theta_2x_1": [0, 28], "theta_2x_2": [0, 7, 28], "theta_2x_i": 29, "theta_3x_i": 29, "theta_4x_i": 29, "theta_closed_form": 18, "theta_closed_formol": 18, "theta_closed_formridg": 18, "theta_gdol": 18, "theta_gdridg": 18, "theta_i": [0, 1, 5, 28, 29, 30], "theta_j": [0, 5, 6, 18, 28, 29, 31], "theta_k": [30, 31], "theta_linreg": [13, 30, 31], "theta_ol": 18, "theta_p": 7, "theta_px_p": 7, "theta_ridg": 18, "theta_t": [13, 31], "theta_tru": 18, "thetaith": 31, "thetavalu": 5, "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 31, 32], "thing": [0, 1, 2, 4, 5, 7, 9, 15, 16, 18, 25, 28, 32], "think": [0, 1, 3, 4, 6, 9, 12, 13, 14, 25, 28, 29, 30, 31, 32], "third": [0, 3, 6, 13, 26, 28, 30, 31], "thirti": 7, "thorughout": 28, "those": [0, 3, 5, 6, 8, 9, 10, 11, 22, 23, 28, 29, 30, 31, 32], "though": [1, 2, 3, 4, 13, 16, 17, 19, 22, 25, 31], "thought": [6, 14, 23, 25, 32], "thousand": [0, 1, 23, 29, 31], "three": [0, 1, 3, 5, 6, 8, 9, 12, 22, 23, 24, 25, 26, 28, 29, 30, 32], "threshold": [1, 3, 9, 10, 11, 12, 13, 31], "through": [0, 1, 2, 3, 4, 5, 6, 8, 11, 12, 13, 14, 15, 21, 22, 23, 25, 28, 29, 30, 31, 32], "throughout": [0, 4, 5, 14, 15, 21, 22, 25, 28], "throw": [3, 6, 25, 32], "thu": [0, 1, 2, 5, 6, 7, 8, 10, 11, 12, 13, 26, 28, 29, 30, 31, 32], "thumb": [0, 6, 23, 29], "thursdai": [], "tibshirani": [6, 19, 23, 27, 28, 32], "tick_param": 6, "ticker": [6, 13, 25, 30, 31], "tif": 6, "tight_layout": [1, 7], "tightli": 11, "tild": [0, 5, 6, 7, 11, 19, 23, 25, 28, 29, 30, 31, 32], "till": [0, 4, 7, 8, 9, 10, 12, 22, 28, 29], "time": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 25, 28, 29, 30, 32], "timeit": 4, "timer": 4, "timeseri": [], "tini": [1, 31], "tip": 3, "titl": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 13, 15, 20, 25, 28, 30, 31, 32], "tm": [], "tmp": 13, "tn": [2, 3, 7], "to_categor": [1, 3, 4], "to_categorical_numpi": 1, "to_numer": [0, 6, 28, 32], "todai": 3, "togeth": [0, 3, 6, 8, 11, 13, 21, 28], "toi": 14, "token": [], "told": 13, "toler": [2, 14], "tolist": 4, "tomographi": 12, "too": [0, 2, 4, 5, 6, 9, 11, 13, 17, 18, 25, 27, 29, 30, 31, 32], "took": [8, 28], "tool": [0, 1, 3, 6, 13, 15, 21, 29, 32], "toolbox": 8, "top": [0, 3, 5, 6, 9, 10, 19, 21, 28, 32], "topic": [0, 5, 6, 7, 8, 21, 23, 29, 30, 32], "topolog": [3, 12], "topologi": [1, 12], "torkjellsdatt": [26, 28], "tort": [], "toss": [10, 25], "total": [0, 1, 2, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 22, 25, 26, 28, 29, 30, 31, 32], "total_loss": 4, "totalclustervari": 14, "totalscatt": 14, "toward": [1, 2, 7, 12, 13, 15, 30], "towardsdatasci": 31, "town": [], "tp": [4, 7], "tpng": 9, "tpu": [13, 21, 28], "tqdm": 6, "tr": [], "track": [3, 13, 14, 15, 22, 29, 30, 31], "tract": [], "tractabl": [0, 28, 29], "trade": [5, 9, 20, 31, 32], "tradeoff": [0, 5, 19, 23, 28, 29, 30], "tradit": [0, 1, 4, 6, 28, 32], "train": [2, 3, 5, 6, 8, 9, 10, 11, 12, 13, 16, 17, 20, 23, 30, 31, 32], "train_accuraci": [0, 1, 3, 28], "train_dataset": 4, "train_end": [0, 1, 29], "train_error": 6, "train_imag": [3, 4], "train_ind": [6, 32], "train_label": [3, 4], "train_pr": 1, "train_siz": [0, 1, 3, 29], "train_step": 4, "train_test_split": [0, 1, 3, 5, 6, 7, 9, 10, 11, 15, 16, 17, 19, 28, 29, 30, 31, 32], "train_test_split_numpi": [0, 1, 29], "trainable_vari": 4, "trained_model": [6, 29, 31], "trainerror": [0, 29], "traini": 4, "training_checkpoint": 4, "training_dataset": 4, "training_gradi": [13, 31], "trainingerror": [6, 32], "trainpredict": 4, "trainscor": 4, "trainx": 4, "trait": [0, 28], "trajectori": [4, 31], "transfer": [9, 28], "transform": [0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17, 21, 22, 28, 29, 30, 31, 32], "transit": [6, 12], "translat": [1, 4, 6, 10, 28, 29, 31], "transpos": [1, 5, 11, 22, 29, 30], "travers": [0, 5], "travi": [], "treat": [0, 1, 3, 6, 12, 13, 18, 25, 28, 29, 30, 31, 32], "tree": [0, 1, 21, 28], "tree_clf": [9, 10], "tree_clf_": 9, "tree_clf_sr": 9, "tree_reg": 9, "tree_reg1": 9, "tree_reg2": 9, "trend": 25, "treue": 7, "trevor": [19, 23, 27], "tri": [2, 3, 4, 9, 13, 16, 31], "triain": 0, "trial": [0, 2, 4, 6, 13, 25, 28, 30, 31, 32], "triangl": [13, 30], "triangular": 22, "trick": [3, 4, 8, 11, 13, 25, 31], "trickier": 25, "tridiagon": 22, "trillion": 21, "trim": [], "trivial": [0, 1, 5, 11, 25, 28, 30], "troffa": [], "troubl": [0, 8, 12, 15, 29, 31], "truck": 3, "true": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 19, 22, 23, 25, 28, 29, 30, 31, 32], "true_beta": 29, "true_fun": [6, 32], "true_theta": [6, 31], "truli": 28, "try": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 21, 22, 23, 25, 28, 29, 30, 31], "tr\u00f6ger": [], "tucker": 8, "tuesdai": [26, 28], "tumor": [7, 9], "tumour": 7, "tunabl": 1, "tune": [4, 9, 13, 22, 28, 31], "turn": [0, 1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 22, 23, 25, 28, 29, 30, 31, 32], "tutori": [1, 4], "tv": 2, "tveito": 2, "tweak": [1, 4, 10, 25], "twice": [13, 30], "twist": 11, "two": [0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 15, 17, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32], "tx": [13, 30, 31], "tx_1": [13, 30], "txt": [4, 15, 20], "ty": [13, 30], "type": [0, 1, 3, 6, 8, 10, 13, 22, 25, 29, 30, 31, 32], "typeset": 20, "typic": [0, 1, 2, 3, 4, 5, 7, 9, 10, 12, 13, 15, 16, 20, 25, 28, 29, 30, 31, 32], "typo": 23, "u": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 22, 23, 25, 27, 28, 29, 30, 31, 32], "u_": 22, "u_i": 12, "u_m": 10, "ua": [0, 28], "ubuntu": [0, 21, 23, 28], "uci": 23, "ufunc": [], "uio": [15, 20, 23, 26, 27], "uk": [], "un": 14, "unabl": 15, "unari": [22, 28], "unbalanc": [6, 9, 32], "unbias": [0, 5, 6, 28, 32], "uncent": [6, 29, 31], "uncertainti": [0, 5, 28], "uncertitud": 25, "unchang": [1, 3], "uncom": [], "uncorrel": [10, 25], "undefin": [5, 29, 30], "under": [0, 1, 5, 6, 10, 13, 21, 23, 28, 29, 30, 31, 32], "underdetermin": [0, 28], "underfit": [1, 6, 32], "underflowproblem": [5, 32], "undergo": 5, "undergradu": [24, 26], "underli": [0, 1, 9, 13, 18, 25, 28, 31], "underlin": [], "underscor": [], "underset": [4, 14], "understand": [0, 1, 3, 5, 6, 10, 13, 14, 15, 19, 20, 21, 28, 29, 30, 31], "understood": [8, 13], "underwai": [], "undesir": 8, "undetermin": [5, 8, 32], "undo": 4, "unexpect": [6, 32], "unexpected": 25, "unexplain": 18, "unfair": [6, 29], "unfortun": [1, 8, 9, 10], "unicode_liter": [8, 9], "uniform": [0, 1, 5, 6, 11, 13, 23, 25, 28, 30, 31], "uniformli": [13, 25, 30, 31], "unifrompdf": 25, "unimport": [13, 30], "union": [5, 6, 32], "uniqu": [0, 2, 6, 13, 14, 22, 28, 32], "unique_cluster_label": 14, "unit": [0, 1, 3, 4, 5, 10, 12, 18, 25, 28, 29, 30, 31], "unitari": [5, 6, 22, 29, 30], "unitarili": [22, 28], "uniti": 25, "univari": 25, "univers": [0, 1, 2, 13, 21, 23, 24, 26, 28, 29, 30, 31, 32], "unix": 1, "unknow": [0, 22, 28], "unknown": [0, 1, 3, 4, 5, 6, 8, 10, 13, 22, 23, 28, 29, 30, 31, 32], "unknowwn": 12, "unlabel": 1, "unless": [0, 3, 6, 11, 13, 23, 28, 30, 32], "unlik": [1, 3, 8, 13, 30, 31], "unnecessarili": 9, "unord": 3, "unpickl": [], "unpleas": [], "unpublish": 31, "unravel": 1, "unrol": [3, 11], "unscal": 19, "unseen": [0, 7, 9, 15], "unstabl": 1, "unsupervis": [0, 1, 4, 12, 21, 28], "unsymmetr": [22, 28], "until": [1, 2, 4, 9, 12, 13, 14, 30, 31], "untouch": 0, "unusu": 12, "up": [1, 3, 4, 5, 6, 8, 10, 11, 13, 14, 16, 18, 19, 20, 21, 22, 23, 25, 26, 31], "updat": [1, 2, 10, 12, 13, 14, 15, 18, 32], "uploa": 28, "upload": [15, 20, 21, 23, 27], "upon": [0, 1, 6, 7, 11, 22], "upper": [0, 8, 9, 16, 22, 29], "uppercas": [22, 28], "upsampl": 4, "upscal": 4, "upward": [], "url": [28, 29], "us": [4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 17, 20, 22, 25, 27, 32], "usag": [0, 8, 21, 28, 29], "usd": [], "usd10000": [], "use_bia": 4, "usecol": [0, 28], "useless": 1, "user": [0, 1, 2, 4, 6, 7, 15, 21, 22, 23, 28, 29], "usernam": [15, 23], "usetex": 25, "usg": 6, "usr": 25, "usual": [0, 3, 4, 7, 12, 13, 14, 28, 31], "ut": 5, "utf": [], "util": [1, 3, 4, 6, 7, 10, 14, 19, 28, 32], "ux": 22, "v": [2, 4, 5, 6, 11, 13, 15, 21, 29, 30, 32], "v0": 25, "v1": 25, "v2": 25, "v5": [], "v_": 31, "v_0": [11, 31], "v_t": 31, "va": 1, "vahid": 28, "val": 13, "val_accuraci": 3, "val_loss": 4, "vale": 2, "valid": [0, 1, 4, 7, 9, 10, 13, 21, 25, 28, 29, 31], "validation_data": 3, "validation_split": 4, "valu": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 20, 21, 22, 23, 28, 31], "valuat": 9, "valueerror": [], "valy": 4, "van": [0, 19, 23, 28, 29, 30, 31], "vandenbergh": [8, 13, 30], "vandermond": [0, 28], "vanilla": [0, 6, 11, 14, 29, 31], "vanish": [1, 4, 13, 25, 30], "var": [5, 6, 10, 11, 19, 23, 25, 29, 32], "var_x": 25, "varabl": 8, "varepsilon": [5, 6, 19, 32], "varepsilon_": [5, 6, 32], "varepsilon_i": [5, 6, 32], "vari": [0, 1, 3, 5, 6, 10, 28, 32], "variabl": [0, 1, 2, 5, 6, 7, 8, 10, 11, 12, 13, 14, 22, 28, 29, 31, 32], "varianc": [0, 1, 5, 7, 9, 10, 11, 13, 14, 18, 20, 21, 22, 25, 28, 29, 30, 31], "variance_i": [5, 11, 29], "variance_x": [5, 11, 29], "variant": [0, 1, 6, 8, 12, 13, 28, 29, 30, 31], "variat": [3, 4, 11, 28], "varieti": [0, 3, 12, 21, 23, 28], "variou": [1, 3, 5, 6, 7, 8, 9, 11, 12, 13, 16, 19, 20, 21, 22, 23, 25, 28, 29, 30, 31], "varydimens": 4, "vast": 31, "vastli": 3, "vaue": 1, "vault": 0, "vdot": [2, 13, 30, 31], "ve": [23, 31], "vec": [6, 32], "vector": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 17, 18, 21, 30, 31, 32], "vector_mean": 14, "ventur": [0, 8, 21, 28], "venv": 15, "verbos": [1, 3, 4], "veri": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 23, 25, 27, 28, 29, 30, 31, 32], "verifi": [3, 11, 22, 28], "versatil": [8, 28], "versicolor": [8, 9], "version": [0, 3, 10, 13, 14, 15, 21, 22, 23, 25, 28], "versu": [1, 31], "vert": [0, 1, 5, 6, 7, 8, 9, 11, 13, 16, 17, 28, 29, 30, 31, 32], "vert_1": [5, 6, 29, 30, 31], "vert_2": [5, 6, 11, 17, 29, 30, 31, 32], "via": [0, 5, 6, 7, 8, 9, 10, 11, 12, 19, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32], "vidal": 11, "video": [0, 1, 12, 21, 24, 26, 28, 29, 30], "view": [1, 3, 5, 6, 12, 13, 25, 27, 28, 30, 31, 32], "violat": 8, "virginica": 9, "viridi": [0, 1, 2, 3, 28], "virtanen": [], "virtual": [1, 31], "viscos": 13, "viscou": 13, "visibl": 15, "vision": [0, 3], "visit": 31, "visual": [0, 3, 11, 12, 18, 21, 28, 29], "visualis": 1, "visualstudio": [15, 16, 19], "viz": [6, 8, 25], "vmap": 13, "vmax": [1, 6], "vmh0zpt0tli": 31, "vmin": [1, 6], "voic": 3, "volatil": 31, "volum": [0, 3, 28], "vote": [10, 28], "voting_clf": 10, "votingclassifi": 10, "votingsimpl": 10, "vscode": [], "vstack": [5, 11, 22, 25, 28, 29], "vt": [5, 29, 30], "w": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 22, 25, 28, 29, 30, 31, 32], "w1": 8, "w2": [8, 11], "w3": 8, "w_": [1, 12], "w_1": [8, 22], "w_1x_": 8, "w_1x_1": 8, "w_2": [8, 22], "w_2x_": 8, "w_2x_2": 8, "w_3": 22, "w_4": 22, "w_hidden": 2, "w_i": [1, 2, 10], "w_ix_i": 12, "w_j": 22, "w_m": 22, "w_output": 2, "w_px_": 8, "w_px_p": 8, "w_t": [], "wa": [1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 17, 22, 28, 29, 31, 32], "wai": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 18, 19, 22, 25, 28, 29, 30, 31], "walk": 9, "walker": 25, "wall": 31, "walt": [], "wang": [0, 28], "want": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 23, 25, 28, 29, 30, 31, 32], "warn": 4, "warrant": [6, 32], "warranti": [], "wast": [3, 31], "watch": [21, 30, 31, 32], "wave": 3, "wavelet": 8, "wcag": [], "we": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 29, 30, 32], "weak": [9, 10, 14], "weaker": 31, "weather": [1, 12], "web": [21, 24, 26, 28], "webpag": 28, "websit": [6, 22, 23, 24, 28], "wedg": [8, 25], "wednesdai": [26, 28], "wee": 11, "week": [0, 5, 6, 7, 23, 24, 26], "weekli": [15, 16, 21, 23, 24, 26, 27, 28], "weight": [1, 2, 3, 6, 7, 9, 10, 12, 13, 18, 25, 31], "weigth": 2, "welcom": [8, 15, 21], "well": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 16, 20, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32], "went": 8, "were": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 25, 28, 31, 32], "wessel": [0, 19, 23, 28, 29, 30, 31], "what": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 25, 31], "whatev": 3, "when": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 22, 23, 25, 28, 29, 30, 32], "whenev": [13, 15, 25, 31], "where": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32], "wherea": [6, 25, 31, 32], "wherefrom": 23, "wherein": [1, 12], "whether": [0, 3, 5, 7, 9, 23, 25, 28], "which": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 32], "whichev": [1, 3], "while": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 19, 20, 25, 28, 29, 30, 31, 32], "white": 9, "whiteboad": 31, "whiteboard": [29, 30, 31, 32], "who": [0, 15], "whole": [1, 3, 4, 5, 9, 11, 13, 31], "whom": [], "whose": [0, 6, 10, 25, 29, 32], "whow": [11, 29], "why": [0, 1, 3, 6, 13, 15, 16, 17, 19, 23, 29, 30], "wide": [0, 1, 3, 6, 7, 12, 21, 22, 23, 28, 32], "widehat": [6, 32], "width": [0, 3, 8, 9, 28], "wieringen": [0, 19, 23, 28, 29, 30, 31], "wiki": 23, "wikipedia": 23, "win": [10, 31], "wind": 9, "window": [], "wing": [26, 28], "winther": 2, "wiothout": 6, "wiscons": 7, "wisconsin": 10, "wisdom": [6, 29, 31], "wise": [1, 5, 12, 13, 29, 30, 31], "wish": [0, 2, 5, 7, 8, 11, 13, 14, 18, 22, 23, 28, 29, 30, 31], "with_std": [0, 29], "wither": 6, "within": [0, 2, 3, 4, 7, 9, 12, 13, 14, 25, 27, 28, 30], "withinclust": 14, "without": [0, 1, 5, 6, 8, 9, 11, 12, 13, 15, 18, 23, 28, 29, 30, 31, 32], "won": [0, 15, 28], "wonder": 8, "word": [0, 1, 3, 4, 5, 6, 7, 14, 19, 25, 28, 29, 30, 31], "work": [0, 1, 4, 6, 7, 8, 9, 13, 15, 16, 18, 19, 20, 21, 23, 24, 25, 26, 28, 29, 31, 32], "workabl": 31, "workaround": [], "workhors": 31, "workload": 31, "workshop": 28, "world": [0, 8, 16, 29], "worldwid": [0, 28], "worri": 15, "wors": [0, 1, 3, 4, 6, 28, 31, 32], "worth": [9, 19], "worthi": 23, "would": [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 18, 20, 22, 23, 25, 28, 29, 30, 31, 32], "wouldn": [], "wrap": [6, 22, 28], "write": [0, 1, 2, 3, 5, 6, 7, 8, 12, 13, 15, 16, 18, 22, 28, 29, 31, 32], "written": [0, 2, 3, 5, 11, 12, 13, 16, 21, 22, 23, 25, 28, 29, 30, 31], "wrong": [1, 8, 15], "wrongli": 10, "wrote": [5, 11, 29], "wrt": [10, 13, 31], "wth": [10, 13, 31], "www": [20, 21, 22, 23, 27, 28, 30, 31, 32], "wx_1": 8, "x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 25, 28, 30, 31, 32], "x0": 8, "x1": [4, 8, 9, 10, 13], "x1_exampl": 8, "x1d": 8, "x2": [8, 9, 10, 13], "x2d": [8, 11], "x2d_train": 11, "x2dsl": 11, "x3": 8, "x_": [0, 2, 3, 5, 6, 8, 10, 11, 13, 14, 22, 25, 28, 29, 30, 31, 32], "x_0": [0, 5, 11, 18, 22, 28, 29, 32], "x_1": [0, 2, 5, 6, 7, 8, 9, 10, 11, 13, 18, 22, 25, 28, 29, 30, 31, 32], "x_2": [0, 2, 5, 6, 7, 8, 9, 10, 11, 13, 22, 25, 28, 29, 30, 32], "x_3": [8, 22, 25], "x_4": 22, "x_6": 18, "x_center": 11, "x_data": 1, "x_data_ful": 1, "x_hidden": 2, "x_i": [0, 1, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 22, 25, 28, 29, 30, 31, 32], "x_input": 2, "x_ix_": [0, 28], "x_iy_i": 8, "x_j": [0, 2, 8, 9, 12, 16, 25, 29, 31], "x_jy_j": 8, "x_k": [12, 14, 22, 25, 29], "x_l": 25, "x_m": [6, 12, 22, 25, 32], "x_mean": [18, 31], "x_n": [0, 2, 3, 6, 8, 11, 12, 13, 22, 25, 28, 30, 32], "x_new": [9, 10], "x_norm": [18, 31], "x_offset": [6, 29, 31], "x_output": 2, "x_p": [3, 7, 9], "x_poli": 9, "x_poly10": 9, "x_pred": 4, "x_prev": 2, "x_reduc": 11, "x_sampl": [], "x_scale": 8, "x_small": 13, "x_std": [18, 31], "x_t": 31, "x_test": [0, 1, 3, 5, 6, 7, 9, 10, 11, 15, 16, 17, 19, 29, 30, 31, 32], "x_test_": 17, "x_test_own": 6, "x_test_scal": [0, 6, 7, 9, 10, 11, 29, 31], "x_tot": 4, "x_train": [0, 1, 3, 4, 5, 6, 7, 9, 10, 11, 15, 16, 17, 19, 28, 29, 30, 31, 32], "x_train_": 17, "x_train_mean": [6, 29, 31], "x_train_own": 6, "x_train_r": 19, "x_train_scal": [0, 6, 7, 9, 10, 11, 29, 31], "x_val": 1, "xarrai": [21, 28], "xavier": 1, "xbnew": [13, 30, 31], "xcode": [0, 21, 23, 28], "xdclassiffierconfus": 10, "xdclassiffierroc": 10, "xg_clf": 10, "xgb": 10, "xgbclassifi": 10, "xgboost": 9, "xgboot": 10, "xgbregressor": 10, "xgparam": 10, "xgtree": 10, "xi": [8, 13, 31], "xi_": 8, "xi_1": 8, "xi_i": 8, "xk": 8, "xla": [13, 21, 28], "xlabel": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 25, 28, 29, 30, 31, 32], "xlim": [6, 10, 32], "xm": 9, "xmesh": 13, "xnew": [0, 13, 28, 30, 31], "xp": 25, "xpanda": [0, 29], "xpd": [5, 11, 29], "xplot": 0, "xscale": [0, 29], "xsr": 9, "xt_x": [13, 30, 31], "xtest": [6, 32], "xtick": [3, 6, 8, 9, 32], "xtrain": [6, 32], "xu": [0, 28], "xx": [0, 22, 28], "xy": [0, 6, 8, 22, 28], "xytext": 8, "xyz": [], "xz": [22, 28], "y": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 25, 28, 29, 30, 31, 32], "y1": 4, "y2": 4, "y3": 4, "y_": [0, 1, 5, 6, 10, 11, 22, 28, 29, 32], "y_0": [0, 5, 11, 22, 28, 29, 32], "y_1": [0, 5, 8, 9, 11, 13, 22, 28, 29, 30, 31, 32], "y_1y_1": 8, "y_1y_1k": 8, "y_1y_2": 8, "y_1y_2k": 8, "y_1y_n": 8, "y_1y_nk": 8, "y_2": [0, 5, 8, 9, 11, 22, 28, 29], "y_2y_1": 8, "y_2y_1k": 8, "y_2y_2": 8, "y_2y_2k": 8, "y_3": [0, 9, 22], "y_4": 22, "y_center": [18, 31], "y_data": [0, 1, 5, 6, 28, 29, 30, 31], "y_data_ful": 1, "y_decis": 8, "y_fit": [0, 29], "y_i": [0, 1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 19, 22, 23, 28, 29, 30, 31, 32], "y_if_": 10, "y_ix_": [0, 28], "y_ix_i": [7, 8, 13, 29, 30, 31], "y_iy_jk": 8, "y_j": [6, 8, 12, 23, 32], "y_k": 12, "y_m": 22, "y_mean": [18, 31], "y_model": [0, 4, 5, 6, 28, 29, 30, 31], "y_n": [8, 13, 30, 31], "y_ny_1": 8, "y_ny_1k": 8, "y_ny_2": 8, "y_ny_2k": 8, "y_ny_n": 8, "y_ny_nk": 8, "y_offset": [6, 17, 29, 31], "y_plot": 9, "y_pred": [0, 1, 4, 6, 7, 8, 9, 10, 29, 31, 32], "y_pred1": 9, "y_pred2": 9, "y_pred_rf": 10, "y_pred_tre": 10, "y_proba": [7, 10], "y_sampl": [], "y_scaler": [6, 29, 31], "y_test": [0, 1, 3, 4, 5, 6, 7, 9, 10, 11, 15, 16, 17, 19, 29, 30, 31, 32], "y_test_onehot": 1, "y_test_predict": [], "y_tot": 4, "y_train": [0, 1, 3, 4, 5, 6, 7, 9, 10, 11, 15, 16, 17, 19, 28, 29, 30, 31, 32], "y_train_mean": [6, 29, 31], "y_train_onehot": 1, "y_train_predict": [], "y_train_r": 19, "y_train_scal": [6, 29, 31], "y_val": 1, "ye": [3, 6, 7, 32], "year": [0, 21, 28], "yet": [0, 1, 6, 8, 11, 13, 20, 28], "yi": [13, 31], "yield": [0, 2, 5, 6, 8, 10, 12, 13, 14, 22, 25, 28, 30, 31, 32], "yk": 8, "ylabel": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 25, 28, 29, 30, 31, 32], "ylim": [3, 6, 32], "ym": 9, "ymesh": 13, "yn": 0, "yo": [8, 9, 10], "yoshiki": [], "yoshua": [1, 27], "you": [0, 1, 3, 4, 5, 6, 8, 9, 10, 11, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32], "young": 0, "your": [1, 2, 4, 5, 6, 8, 11, 13, 15, 17, 19, 20, 21, 22, 28, 30, 31, 32], "your_model_object": 16, "yourself": [11, 13, 28, 30], "youtu": [29, 30, 32], "youtub": [21, 30, 31, 32], "ypred": [6, 32], "ypredict": [0, 13, 28, 29, 30, 31], "ypredict2": [13, 30, 31], "ypredictlasso": [5, 30], "ypredictol": [0, 5, 30], "ypredictown": [6, 29, 31], "ypredictownridg": [6, 29, 30, 31], "ypredictridg": [0, 5, 6, 29, 30, 31], "ypredictskl": [6, 29, 31], "ytest": [6, 32], "ytick": [3, 6, 8, 9, 32], "ytild": [0, 6, 28, 29, 32], "ytildelasso": [5, 30], "ytildenp": [0, 28, 29], "ytildeol": [0, 5, 30], "ytildeownridg": [6, 29, 30, 31], "ytilderidg": [5, 6, 29, 30, 31], "ytrain": [6, 32], "yuxi": 28, "yx": [22, 28], "yy": [22, 28], "yz": [22, 28], "z": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 22, 25, 28, 29, 32], "z_": [1, 2, 12, 22, 28], "z_0": [22, 28], "z_1": [22, 28], "z_2": [22, 28], "z_c": 1, "z_h": 1, "z_hidden": 2, "z_i": [1, 12], "z_j": [1, 12], "z_k": [12, 29], "z_m": 1, "z_mod": 9, "z_o": 1, "z_output": 2, "za": [], "zaman": 25, "zaxi": 6, "zero": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 22, 23, 25, 28, 29, 30, 31, 32], "zeros_lik": 4, "zeroth": 29, "zfill": 4, "zip": [4, 6], "zm_h": [0, 28], "zn": [], "zone": [], "zoom": 28, "zscout": [], "zx": [22, 28], "zy": [22, 28], "zz": [22, 28], "\u00f8yvind": [6, 29, 31]}, "titles": ["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", "Exercises week 34", "Exercises week 35", "Exercises week 36", "Exercises week 37", "Exercises week 38", "Exercises week 39", "Applied Data Analysis and Machine Learning", "2. Linear Algebra, Handling of Arrays and more Python Features", "Project 1 on Machine Learning, deadline October 6 (midnight), 2025", "Course setting", "1. Elements of Probability Theory and Statistical Data Analysis", "Teachers and Grading", "Textbooks", "Week 34: Introduction to the course, Logistics and Practicalities", "Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression", "Week 36: Linear Regression and Gradient descent", "Week 37: Gradient descent methods", "Week 38: Statistical analysis, bias-variance tradeoff and resampling methods"], "titleterms": {"": [8, 10, 30, 31, 32], "0": [], "04": [], "05": [], "06": [], "07": [], "1": [0, 15, 16, 17, 18, 19, 20, 23, 29], "11": [], "15": [19, 32], "19": 19, "1a": 18, "2": [0, 15, 16, 17, 18, 19, 20, 28, 29, 30], "20": [], "2017": [], "2018": [], "2019": [], "2023": 26, "2025": 23, "27": [], "2a": [], "2b": [], "3": [0, 15, 16, 17, 18, 19, 20, 29], "34": [15, 28], "35": [16, 29], "36": [17, 30], "37": [18, 31], "38": [19, 32], "39": 20, "3a": 18, "3b": 18, "4": [0, 15, 16, 17, 18, 19, 20, 29], "4a": 18, "4b": 18, "5": [0, 16, 18, 19, 20], "6": 23, "8": 31, "A": [0, 1, 4, 8, 9, 28, 32], "And": [28, 29, 31], "But": 31, "In": 26, "Ising": 6, "The": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 15, 21, 28, 29, 30, 31, 32], "To": 28, "With": [4, 30], "a11i": [], "about": [28, 29, 30], "abov": 30, "abstract": 20, "accuraci": 31, "across": 31, "activ": [1, 12], "ad": [0, 6, 20, 23, 28, 29], "adaboost": 10, "adagrad": [13, 31], "adam": [13, 31], "adapt": [10, 31], "add": [], "adjust": 1, "advanc": 23, "adversari": 4, "again": [3, 9], "ai": [23, 28], "aim": [8, 9, 28], "aka": 28, "al": 31, "algebra": [22, 28], "algorithm": [9, 10, 11, 12, 28, 29, 30, 31], "algortithm": [13, 30], "all": 8, "an": [0, 4, 10, 15, 20, 28], "analys": [5, 29, 30], "analysi": [0, 5, 6, 11, 21, 23, 25, 28, 29, 30, 32], "analyt": [0, 16, 18], "ani": [13, 30], "anoth": [9, 30, 32], "api": [], "appli": 21, "approach": [0, 8, 14, 28, 31, 32], "approxim": 12, "architectur": 1, "arrai": [22, 28], "assist": 26, "assumpt": 32, "august": [], "author": [], "autocorrel": 25, "autograd": [2, 13, 31], "automat": [13, 31], "avail": 20, "avali": [], "averag": 31, "b": 23, "back": [1, 11, 12, 29, 30], "background": [21, 23, 32], "bag": 10, "base": [13, 31, 32], "basic": [0, 5, 7, 9, 10, 11, 22, 29, 30], "batch": [1, 31], "bay": 5, "befor": 11, "beta": [], "better": 8, "bia": [6, 19, 23, 31, 32], "binari": 1, "bind": 28, "bird": 10, "blind": [], "block": [], "boldsymbol": [18, 29, 32], "book": 19, "boost": 10, "bootstrap": [6, 10, 32], "boston": [], "breast": 1, "brief": [28, 32], "bring": 12, "browser": [], "bsd": [], "build": [1, 3, 9], "c": [23, 28], "calcul": [18, 29, 30], "can": [28, 31, 32], "cancer": [1, 7, 9, 11], "cart": 9, "case": [8, 10, 25, 29, 30, 31], "cdn": [], "cell": [], "central": [13, 21, 25, 30, 32], "chain": 12, "challeng": 31, "chang": 10, "changelog": [], "channel": 28, "chi": [0, 28], "choic": 17, "choos": [1, 31], "cifar01": 3, "citat": [], "classic": 11, "classif": [1, 9, 10], "classifi": 8, "claus": [], "clip": 1, "cluster": 14, "cnn": 3, "code": [1, 2, 5, 9, 11, 12, 13, 14, 15, 16, 20, 23, 28, 29, 30, 31, 32], "collect": [1, 3], "color": [], "colorblind": [], "combin": 31, "commun": 28, "compar": [2, 10, 16], "comparison": [30, 31], "compet": 31, "compil": [], "complet": 29, "complex": [0, 6, 23, 29], "complic": 6, "compon": 11, "comput": [9, 19, 31], "computation": 32, "computerlab": 28, "con": [9, 31], "concept": 25, "condit": 30, "confid": 32, "conjug": 13, "constraint": 31, "contain": [], "content": [], "contn": 28, "contrast": [], "contributor": [], "converg": 31, "convex": [8, 13, 30, 31], "convolut": [3, 12], "copyright": [], "core": [], "correct": 31, "correl": [11, 29], "correspond": [], "cost": [1, 10, 29, 30, 31, 32], "cours": [21, 24, 27, 28], "covari": [5, 11, 25, 29], "cover": 28, "creat": [16, 20], "creator": [], "cross": [6, 23, 32], "cython": 28, "d": 23, "dark": [], "data": [0, 1, 3, 6, 7, 9, 11, 15, 17, 18, 21, 25, 28, 29], "dataset": [1, 3, 18], "david": 28, "deadlin": [23, 28], "deadllin": 26, "decai": [2, 31], "decis": [9, 10], "decomposit": [5, 11, 22, 29, 30], "deeep": [], "deep": [1, 2, 28, 31], "defin": [1, 28], "definit": 19, "deflist": [], "degre": [0, 17, 29], "deliver": [15, 16, 19, 20], "deliveri": 23, "delta": 32, "dens": 0, "depend": [], "deriv": [5, 12, 16, 17, 19, 29, 30, 31, 32], "descent": [2, 10, 13, 18, 23, 30, 31], "design": 29, "detail": [3, 28], "develop": 1, "diagon": 11, "differ": [8, 31], "differenti": [2, 13, 31], "diffus": 2, "dimens": 31, "dimension": [2, 3, 8, 18], "direct": [], "disadvantag": 9, "discret": 25, "discrimin": 28, "distribut": [5, 25, 32], "do": [1, 31], "document": 20, "doe": [29, 30], "domain": 25, "down": 1, "dropout": 1, "e": 23, "economi": [29, 30], "electron": 23, "element": [0, 25, 28], "elimin": 22, "empir": 31, "energi": 28, "ensembl": 10, "entropi": 9, "environ": [0, 15], "equat": [0, 2, 12, 29, 30], "error": [0, 10, 28, 29, 30, 32], "essenti": 28, "estim": 32, "et": 31, "etc": 28, "euler": 2, "evalu": 1, "evid": 31, "exampl": [1, 2, 3, 4, 6, 7, 8, 9, 10, 28, 29, 30, 31, 32], "exercis": [0, 6, 15, 16, 17, 18, 19, 20, 29], "expect": [19, 25, 32], "expens": 32, "experi": 25, "explor": 0, "exponenti": [2, 31], "express": [16, 17, 19, 29], "extend": 30, "extrapol": 4, "extrem": [10, 28], "ey": 10, "f": 23, "fall": 26, "famili": [1, 28], "famou": 22, "fantast": [29, 30], "faq": [], "featur": [9, 16, 22, 29], "februari": [], "feed": [1, 12], "figur": 20, "file": [], "fill": [], "final": [12, 29, 31], "find": [16, 18, 32], "fine": 1, "first": [4, 12, 28, 30], "fit": [0, 10, 15, 16, 28, 30], "fix": [29, 30, 31], "fold": 32, "forc": 3, "forest": 10, "form": 18, "format": [23, 28], "formula": 18, "forward": [1, 2, 12], "foster": 28, "fourier": 3, "frank": 6, "freedom": [0, 17, 29], "frequent": [29, 31], "frequentist": [0, 28], "from": [5, 10, 12, 28, 29, 30, 31, 32], "full": [2, 31], "function": [0, 1, 6, 7, 8, 10, 11, 12, 13, 23, 25, 28, 29, 30, 31, 32], "further": [3, 5, 29, 30], "g": 23, "gan": 4, "gaussian": 22, "gd": [13, 31], "gener": [4, 9, 28], "geometr": [11, 30], "get": 20, "gini": 9, "github": 15, "goal": [15, 16, 17, 18, 19, 20], "good": [0, 20, 28], "goodfellow": 31, "gotthard": [], "grade": [26, 28], "gradient": [1, 2, 10, 13, 18, 23, 30, 31], "greativ": [], "growth": 2, "guid": [], "h": 23, "ha": 21, "handl": [22, 28], "happen": 32, "hessian": [29, 30, 31], "hidden": 2, "high": [], "histogram": 32, "histori": [], "hous": [], "how": 16, "hyperparamet": [1, 17], "hyperplan": 8, "i": [0, 1, 28], "id3": 9, "idea": 11, "ideal": 30, "ident": 32, "identifi": 32, "ii": 28, "iid": 32, "illustr": 30, "implement": [1, 16, 17, 18], "implic": [5, 29, 30], "import": [5, 22, 28, 29, 30], "improv": [1, 31], "includ": [13, 23, 31], "incorpor": [], "increment": 11, "independ": 32, "index": 9, "inform": 26, "input": 2, "instal": [21, 23, 28], "instructor": 26, "interpret": [5, 11, 19, 28, 29, 30, 32], "interv": 32, "introduc": [11, 13, 29], "introduct": [0, 6, 20, 21, 22, 23, 28], "invers": [5, 22], "invert": [29, 30], "ipython": [], "iter": 10, "its": 29, "j": [], "jacobian": 29, "januari": [], "jax": 13, "julia": 28, "jungl": 10, "jupyt": [], "k": 32, "kera": [1, 3], "kernel": [8, 11], "lab": [30, 31, 32], "lagrangian": 8, "lasso": [5, 6, 23, 29, 30], "last": [29, 31], "later": [5, 29, 30], "layer": [1, 2, 3, 12], "learn": [0, 1, 2, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 28, 29, 30, 31, 32], "least": [5, 6, 16, 19, 23, 28, 29, 30, 31], "lectur": [28, 30, 31, 32], "level": 10, "librari": [21, 28], "licens": [], "light": [], "likelihood": [7, 32], "limit": [1, 13, 25, 30, 31, 32], "linear": [0, 8, 13, 15, 22, 28, 29, 30], "link": [5, 11, 27, 29, 32], "literatur": 23, "logist": [7, 28], "loss": [29, 30, 31], "lu": 22, "ma": [], "machin": [0, 8, 13, 21, 23, 28, 30], "made": 32, "main": [25, 28], "make": [0, 9, 10, 20, 29], "mani": [10, 12], "markdown": [], "mask": [], "maskedarrai": [], "mass": 28, "materi": [23, 28, 29, 30, 31, 32], "math": [5, 29, 30], "mathemat": [3, 5, 8, 29, 30], "matplotlib": [], "matric": [5, 22, 28], "matrix": [1, 5, 11, 12, 16, 22, 28, 29, 30, 31], "matter": 0, "max": 29, "maximum": 32, "me": [], "mean": [0, 29, 30], "meet": [5, 10, 25, 28, 29], "memori": 31, "mercer": 8, "metadata": [], "method": [6, 9, 10, 13, 23, 28, 30, 31, 32], "metric": 19, "midnight": 23, "min": 29, "mini": 31, "minibatch": 31, "minim": 28, "mit": [], "ml": 28, "mle": 32, "mlp": 12, "mnist": [3, 4], "model": [0, 1, 4, 6, 12, 15, 17, 28], "moment": 31, "momentum": [13, 23, 31], "mondai": [30, 31, 32], "moon": [8, 9], "more": [3, 6, 22, 23, 28, 29, 30, 31, 32], "motiv": 31, "move": 31, "multilay": 12, "multipl": [1, 3, 17], "multipli": 8, "myst": [], "ncsa": [], "need": [23, 28], "network": [1, 2, 3, 4, 7, 12, 28, 31], "neural": [1, 2, 3, 4, 7, 12, 28, 31], "new": [4, 18, 32], "newton": [30, 31], "node": [], "non": [8, 31], "none": 31, "normal": [0, 1, 32], "notat": 12, "note": [23, 29, 30], "notebook": [], "novemb": [], "now": [1, 9, 13, 30, 31, 32], "nuclear": [0, 28], "numba": 28, "number": [0, 2, 25, 29, 31], "numer": [2, 23, 25], "numpi": [22, 28], "object": 3, "obtain": 11, "octob": 23, "od": 2, "off": [6, 19, 23], "ol": [5, 6, 15, 16, 18, 23, 30, 32], "one": [2, 12, 18, 30], "open": [], "oper": 22, "optim": [1, 8, 13, 18, 21, 28, 29, 30, 31], "order": [13, 18, 31], "ordinari": [5, 6, 16, 19, 23, 28, 29, 30, 31], "organ": [0, 28], "oslo": 27, "other": [4, 9, 11, 12, 22, 23, 28], "our": [0, 4, 5, 11, 13, 23, 28, 29, 30], "outcom": [21, 28], "output": 2, "overarch": [0, 4, 8, 9, 28, 29], "overview": [10, 28, 31], "own": [0, 10, 11, 23, 28, 29], "packag": [22, 28], "panda": [28, 29], "paramet": [28, 29], "paramt": 18, "part": [13, 21, 23, 30], "partial": 2, "pass": 1, "pca": 11, "pdf": 25, "perceptron": 12, "perform": [1, 9], "period": 3, "perspect": 1, "pitaya": [], "plan": [29, 30, 31, 32], "plethora": 28, "plot": 32, "point": 4, "poisson": 2, "polici": [], "polynomi": [3, 16, 18, 30], "popul": 2, "popular": 28, "practic": [13, 26, 28, 31], "pre": [1, 3], "preambl": 23, "predict": 4, "preprocess": [29, 31], "prerequisit": [3, 21, 28], "present": 20, "princip": 11, "principl": 3, "pro": [9, 31], "probabl": [5, 25, 32], "problem": [1, 2, 13, 28, 29, 30, 31], "procedur": [9, 28], "process": [1, 3], "program": [2, 13, 23, 30, 31], "project": [6, 20, 23, 26, 28], "prop": 13, "propag": [1, 12], "properti": [5, 25, 29, 30, 31], "python": [0, 9, 15, 21, 22, 28], "quick": 8, "quickli": [], "r": 28, "random": [10, 11, 25], "raphson": 30, "rate": [23, 31], "read": [9, 28, 29, 31, 32], "real": [6, 28], "recommend": [28, 29], "record": [], "recurr": [4, 12], "reduc": [0, 29], "reduct": 3, "refer": 23, "referenc": 20, "reformul": 2, "regress": [0, 5, 6, 7, 9, 10, 13, 15, 17, 18, 19, 23, 28, 29, 30, 31, 32], "regular": 1, "relat": [], "relev": [27, 29], "relu": 1, "remark": 3, "remind": [6, 8, 28, 29, 30, 31], "replac": [13, 31], "report": [20, 23], "repositori": [15, 32], "requir": [2, 21], "resampl": [6, 19, 23, 32], "rescal": [6, 29], "residu": [29, 30], "resourc": 2, "result": [29, 30], "revis": [], "revisit": [13, 30, 31], "rewrit": [28, 29, 32], "ridg": [0, 5, 6, 17, 18, 19, 23, 29, 30, 31], "rm": 13, "rmsprop": 31, "role": [], "rule": [12, 31], "rung": 23, "same": [13, 31, 32], "sampl": 11, "scalabl": 31, "scale": [17, 18, 19, 29, 31], "schedul": 28, "schemat": 9, "scheme": 2, "scienc": 28, "scikit": [0, 1, 11, 28, 29, 30, 31, 32], "second": [13, 18, 31], "semest": 26, "sensit": 30, "septemb": [19, 30, 31, 32], "session": [30, 31, 32], "set": [0, 2, 3, 9, 12, 15, 24, 28, 29, 30], "setup": 15, "sgd": [13, 31], "should": 1, "show": [], "similar": [13, 31], "simpl": [0, 4, 9, 13, 18, 28, 29, 30, 31], "simplest": 18, "singl": 10, "singular": [5, 11, 29, 30], "size": [29, 30, 31], "sklearn": 16, "slightli": 31, "smoothi": [], "sneak": 31, "soft": 8, "softmax": 1, "softwar": [23, 28], "solv": [2, 30], "solver": 13, "some": [13, 22, 29, 30], "sourc": [], "specifi": 2, "speed": 31, "sphinx": [], "split": [0, 15, 29], "squar": [0, 5, 6, 10, 16, 19, 23, 28, 29, 30, 31], "standard": [13, 29, 32], "start": 20, "state": 0, "statist": [5, 6, 21, 25, 28, 32], "steepest": [10, 13, 30], "step": [31, 32], "stochast": [13, 23, 25, 31], "stop": 31, "strongli": [28, 31], "structur": [], "suggest": 28, "sum": 32, "summari": [26, 28], "superposit": 3, "supervis": 1, "support": 8, "svd": [5, 29, 30], "synthet": 18, "systemat": 3, "t": 29, "take": 16, "taken": [28, 31], "teach": 26, "teacher": [26, 28], "team": [], "technic": 29, "techniqu": [6, 11, 23], "technologi": 21, "tensorflow": [1, 3], "tent": [26, 28], "term": 32, "test": [0, 1, 15, 17, 29], "texmath": [], "text": 28, "textbook": [27, 28], "than": 30, "thank": [], "theorem": [5, 8, 11, 12, 25, 32], "theoret": 31, "theori": 25, "theta": [18, 32], "thi": 28, "time": 31, "tip": [13, 31], "todo": [], "togeth": 12, "tool": [23, 28], "top": 1, "topic": 28, "toward": 11, "trade": [6, 19, 23], "tradeoff": [6, 32], "train": [0, 1, 4, 15, 28, 29], "transform": 3, "translat": [], "tree": [9, 10], "tuesdai": 30, "tune": 1, "two": [3, 8, 21], "type": [2, 4, 12, 28], "uio": 28, "understand": 32, "univers": [12, 27], "unsupervis": 14, "up": [0, 2, 9, 12, 15, 28, 29, 30, 32], "updat": [23, 31], "us": [0, 1, 2, 3, 7, 13, 16, 18, 19, 21, 23, 28, 29, 30, 31], "usag": 31, "v": [3, 31], "valid": [6, 23, 32], "valu": [5, 11, 19, 25, 29, 30, 32], "vari": 31, "variabl": [25, 30], "varianc": [6, 19, 23, 32], "variou": [0, 32], "vector": [8, 12, 16, 22, 28, 29], "versu": 28, "video": [31, 32], "view": [0, 4, 10, 29], "virtual": 15, "visual": [1, 9], "wai": [9, 23, 32], "wave": 2, "we": [28, 31], "wednesdai": 30, "week": [15, 16, 17, 18, 19, 20, 28, 29, 30, 31, 32], "weekli": [], "welcom": [], "what": [0, 28, 29, 30, 32], "when": 31, "which": [1, 31], "why": [28, 31, 32], "wisconsin": 7, "workflow": [], "wrap": 32, "write": [4, 11, 20, 23, 30], "x": 29, "xgboost": 10, "yaml": [], "yet": 30, "your": [0, 10, 16, 18, 23, 29]}}) \ No newline at end of file diff --git a/doc/LectureNotes/_build/html/week38.html b/doc/LectureNotes/_build/html/week38.html index 183739715..6f81f5ea5 100644 --- a/doc/LectureNotes/_build/html/week38.html +++ b/doc/LectureNotes/_build/html/week38.html @@ -452,9 +452,10 @@ doconce format html week38.do.txt --no_mako -->
  • Statistical interpretation of OLS and various expectation values

  • Resampling techniques, Bootstrap and cross validation and bias-variance tradeoff

  • The material we did not cover last week, that is on more advanced methods for updating the learning rate, are covered by its own video. We will briefly discuss these topics at the beginning of the lecture and during the lab sessions. See video on ADAgrad, RMSprop and ADAM (material from last week not covered during lecture) at https://youtu.be/J_41Hld6tTU

  • +
  • Video of Lecture

  • +
  • Whiteboard notes

  • - - +

    Readings and Videos#

      @@ -684,12 +685,12 @@ is equivalent to the maximization/minimization of the function itself.

      We could now define a new cost function to minimize, namely the negative logarithm of the above PDF

      \[ -C(\boldsymbol{\theta}=-\log{\prod_{i=0}^{n-1}p(y_i,\boldsymbol{X}\vert\boldsymbol{\theta})}=-\sum_{i=0}^{n-1}\log{p(y_i,\boldsymbol{X}\vert\boldsymbol{\theta})}, +C(\boldsymbol{\theta})=-\log{\prod_{i=0}^{n-1}p(y_i,\boldsymbol{X}\vert\boldsymbol{\theta})}=-\sum_{i=0}^{n-1}\log{p(y_i,\boldsymbol{X}\vert\boldsymbol{\theta})}, \]

      which becomes

      \[ -C(\boldsymbol{\theta}=\frac{n}{2}\log{2\pi\sigma^2}+\frac{\vert\vert (\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta})\vert\vert_2^2}{2\sigma^2}. +C(\boldsymbol{\theta})=\frac{n}{2}\log{2\pi\sigma^2}+\frac{\vert\vert (\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta})\vert\vert_2^2}{2\sigma^2}. \]

      Taking the derivative of the new cost function with respect to the parameters \(\theta\) we recognize our familiar OLS equation, namely

      diff --git a/doc/LectureNotes/_build/jupyter_execute/week38.ipynb b/doc/LectureNotes/_build/jupyter_execute/week38.ipynb index 7dd2e229a..c9b413443 100644 --- a/doc/LectureNotes/_build/jupyter_execute/week38.ipynb +++ b/doc/LectureNotes/_build/jupyter_execute/week38.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "169923b3", + "id": "8f27372d", "metadata": { "editable": true }, @@ -14,7 +14,7 @@ }, { "cell_type": "markdown", - "id": "47013ee7", + "id": "fff8ca30", "metadata": { "editable": true }, @@ -27,7 +27,7 @@ }, { "cell_type": "markdown", - "id": "d1fb5464", + "id": "7ee7e714", "metadata": { "editable": true }, @@ -41,13 +41,15 @@ "2. Resampling techniques, Bootstrap and cross validation and bias-variance tradeoff\n", "\n", "3. The material we did not cover last week, that is on more advanced methods for updating the learning rate, are covered by its own video. We will briefly discuss these topics at the beginning of the lecture and during the lab sessions. See video on ADAgrad, RMSprop and ADAM (material from last week not covered during lecture) at \n", - "\n", - "" + "\n", + "4. [Video of Lecture](https://youtu.be/4Fo7ITVA7V4)\n", + "\n", + "5. [Whiteboard notes](https://github.com/CompPhysics/MachineLearning/blob/master/doc/HandWrittenNotes/2025/FYSSTKweek38.pdf)" ] }, { "cell_type": "markdown", - "id": "1a34a7ce", + "id": "3b5ac440", "metadata": { "editable": true }, @@ -68,7 +70,7 @@ }, { "cell_type": "markdown", - "id": "c6f56f83", + "id": "6d5dba52", "metadata": { "editable": true }, @@ -96,7 +98,7 @@ }, { "cell_type": "markdown", - "id": "3ece0c04", + "id": "bfc2983a", "metadata": { "editable": true }, @@ -112,7 +114,7 @@ }, { "cell_type": "markdown", - "id": "d36cf6db", + "id": "2b5f5980", "metadata": { "editable": true }, @@ -131,7 +133,7 @@ }, { "cell_type": "markdown", - "id": "5903d2be", + "id": "3464c7e8", "metadata": { "editable": true }, @@ -145,7 +147,7 @@ }, { "cell_type": "markdown", - "id": "37f4e199", + "id": "ed0fd2df", "metadata": { "editable": true }, @@ -157,7 +159,7 @@ }, { "cell_type": "markdown", - "id": "7a7b084f", + "id": "feb9d4c2", "metadata": { "editable": true }, @@ -168,7 +170,7 @@ }, { "cell_type": "markdown", - "id": "1ec511a1", + "id": "eb6d71f8", "metadata": { "editable": true }, @@ -180,7 +182,7 @@ }, { "cell_type": "markdown", - "id": "ffe76935", + "id": "566399f6", "metadata": { "editable": true }, @@ -192,7 +194,7 @@ }, { "cell_type": "markdown", - "id": "e569274a", + "id": "6b33f497", "metadata": { "editable": true }, @@ -208,7 +210,7 @@ }, { "cell_type": "markdown", - "id": "c4dd2623", + "id": "5f2f79f2", "metadata": { "editable": true }, @@ -219,7 +221,7 @@ }, { "cell_type": "markdown", - "id": "df2f8936", + "id": "199121b0", "metadata": { "editable": true }, @@ -242,7 +244,7 @@ }, { "cell_type": "markdown", - "id": "0a3e5956", + "id": "9a1cc529", "metadata": { "editable": true }, @@ -253,7 +255,7 @@ }, { "cell_type": "markdown", - "id": "973e45a3", + "id": "149e63be", "metadata": { "editable": true }, @@ -265,7 +267,7 @@ }, { "cell_type": "markdown", - "id": "ff486d1e", + "id": "6a6fb04a", "metadata": { "editable": true }, @@ -277,7 +279,7 @@ }, { "cell_type": "markdown", - "id": "e4307815", + "id": "79420d06", "metadata": { "editable": true }, @@ -291,7 +293,7 @@ }, { "cell_type": "markdown", - "id": "490b2cbf", + "id": "0e3de992", "metadata": { "editable": true }, @@ -322,7 +324,7 @@ }, { "cell_type": "markdown", - "id": "5d8dd6bc", + "id": "d3ea2897", "metadata": { "editable": true }, @@ -344,7 +346,7 @@ }, { "cell_type": "markdown", - "id": "3594078a", + "id": "da5e3927", "metadata": { "editable": true }, @@ -356,7 +358,7 @@ }, { "cell_type": "markdown", - "id": "43007b7a", + "id": "7ab5488b", "metadata": { "editable": true }, @@ -369,7 +371,7 @@ }, { "cell_type": "markdown", - "id": "3cd4e7da", + "id": "f904a739", "metadata": { "editable": true }, @@ -381,7 +383,7 @@ }, { "cell_type": "markdown", - "id": "5816b21e", + "id": "10fd648b", "metadata": { "editable": true }, @@ -393,7 +395,7 @@ }, { "cell_type": "markdown", - "id": "b58b8607", + "id": "4812c2a4", "metadata": { "editable": true }, @@ -405,7 +407,7 @@ }, { "cell_type": "markdown", - "id": "c843db7f", + "id": "199d8531", "metadata": { "editable": true }, @@ -417,7 +419,7 @@ }, { "cell_type": "markdown", - "id": "e81b1c39", + "id": "96c16676", "metadata": { "editable": true }, @@ -440,7 +442,7 @@ }, { "cell_type": "markdown", - "id": "ea9719e3", + "id": "a2a1a004", "metadata": { "editable": true }, @@ -452,7 +454,7 @@ }, { "cell_type": "markdown", - "id": "c28b598f", + "id": "5aad445b", "metadata": { "editable": true }, @@ -465,7 +467,7 @@ }, { "cell_type": "markdown", - "id": "88063ed7", + "id": "d197c8bb", "metadata": { "editable": true }, @@ -477,7 +479,7 @@ }, { "cell_type": "markdown", - "id": "a34e4c28", + "id": "e2e7462f", "metadata": { "editable": true }, @@ -489,7 +491,7 @@ }, { "cell_type": "markdown", - "id": "1fc7ae0a", + "id": "eb635d3d", "metadata": { "editable": true }, @@ -501,7 +503,7 @@ }, { "cell_type": "markdown", - "id": "30d5a1be", + "id": "445ed13e", "metadata": { "editable": true }, @@ -512,7 +514,7 @@ }, { "cell_type": "markdown", - "id": "1d29fd29", + "id": "319bfc6c", "metadata": { "editable": true }, @@ -524,7 +526,7 @@ }, { "cell_type": "markdown", - "id": "289a116c", + "id": "90abf35a", "metadata": { "editable": true }, @@ -535,7 +537,7 @@ }, { "cell_type": "markdown", - "id": "d1cfbb56", + "id": "04b66fbd", "metadata": { "editable": true }, @@ -547,7 +549,7 @@ }, { "cell_type": "markdown", - "id": "e089fc0e", + "id": "4a27b5a7", "metadata": { "editable": true }, @@ -557,7 +559,7 @@ }, { "cell_type": "markdown", - "id": "32cf9944", + "id": "8d12543f", "metadata": { "editable": true }, @@ -588,7 +590,7 @@ }, { "cell_type": "markdown", - "id": "ee8a9544", + "id": "2e5cd118", "metadata": { "editable": true }, @@ -600,19 +602,19 @@ }, { "cell_type": "markdown", - "id": "4bfeb203", + "id": "c71a5edf", "metadata": { "editable": true }, "source": [ "$$\n", - "C(\\boldsymbol{\\theta}=-\\log{\\prod_{i=0}^{n-1}p(y_i,\\boldsymbol{X}\\vert\\boldsymbol{\\theta})}=-\\sum_{i=0}^{n-1}\\log{p(y_i,\\boldsymbol{X}\\vert\\boldsymbol{\\theta})},\n", + "C(\\boldsymbol{\\theta})=-\\log{\\prod_{i=0}^{n-1}p(y_i,\\boldsymbol{X}\\vert\\boldsymbol{\\theta})}=-\\sum_{i=0}^{n-1}\\log{p(y_i,\\boldsymbol{X}\\vert\\boldsymbol{\\theta})},\n", "$$" ] }, { "cell_type": "markdown", - "id": "256143f9", + "id": "e663bf2e", "metadata": { "editable": true }, @@ -622,19 +624,19 @@ }, { "cell_type": "markdown", - "id": "60d75bb1", + "id": "c4bc4873", "metadata": { "editable": true }, "source": [ "$$\n", - "C(\\boldsymbol{\\theta}=\\frac{n}{2}\\log{2\\pi\\sigma^2}+\\frac{\\vert\\vert (\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta})\\vert\\vert_2^2}{2\\sigma^2}.\n", + "C(\\boldsymbol{\\theta})=\\frac{n}{2}\\log{2\\pi\\sigma^2}+\\frac{\\vert\\vert (\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta})\\vert\\vert_2^2}{2\\sigma^2}.\n", "$$" ] }, { "cell_type": "markdown", - "id": "7b111014", + "id": "f5bc59b8", "metadata": { "editable": true }, @@ -644,7 +646,7 @@ }, { "cell_type": "markdown", - "id": "0f42a0b5", + "id": "4f6ddf4a", "metadata": { "editable": true }, @@ -656,7 +658,7 @@ }, { "cell_type": "markdown", - "id": "39a9276b", + "id": "afda0a6b", "metadata": { "editable": true }, @@ -666,7 +668,7 @@ }, { "cell_type": "markdown", - "id": "84c63927", + "id": "b5335dc0", "metadata": { "editable": true }, @@ -678,7 +680,7 @@ }, { "cell_type": "markdown", - "id": "c087ef22", + "id": "4f86a52d", "metadata": { "editable": true }, @@ -688,7 +690,7 @@ }, { "cell_type": "markdown", - "id": "79503987", + "id": "5cdb1767", "metadata": { "editable": true }, @@ -707,7 +709,7 @@ }, { "cell_type": "markdown", - "id": "c165025b", + "id": "69435d77", "metadata": { "editable": true }, @@ -735,7 +737,7 @@ }, { "cell_type": "markdown", - "id": "efb63405", + "id": "cefbb559", "metadata": { "editable": true }, @@ -761,7 +763,7 @@ }, { "cell_type": "markdown", - "id": "88d4bfd8", + "id": "2659401a", "metadata": { "editable": true }, @@ -778,7 +780,7 @@ }, { "cell_type": "markdown", - "id": "6a0795e0", + "id": "4d5d7748", "metadata": { "editable": true }, @@ -798,7 +800,7 @@ }, { "cell_type": "markdown", - "id": "d815fdf3", + "id": "54df92b3", "metadata": { "editable": true }, @@ -827,7 +829,7 @@ }, { "cell_type": "markdown", - "id": "a5b26ed1", + "id": "5b1a1390", "metadata": { "editable": true }, @@ -852,7 +854,7 @@ }, { "cell_type": "markdown", - "id": "e5783b81", + "id": "39f233e4", "metadata": { "editable": true }, @@ -872,7 +874,7 @@ }, { "cell_type": "markdown", - "id": "9bdfff4f", + "id": "361320d8", "metadata": { "editable": true }, @@ -884,7 +886,7 @@ }, { "cell_type": "markdown", - "id": "bd1e4a83", + "id": "a363db1e", "metadata": { "editable": true }, @@ -894,7 +896,7 @@ }, { "cell_type": "markdown", - "id": "66d14a83", + "id": "92967efc", "metadata": { "editable": true }, @@ -909,7 +911,7 @@ }, { "cell_type": "markdown", - "id": "ac38d462", + "id": "1bffca97", "metadata": { "editable": true }, @@ -922,7 +924,7 @@ }, { "cell_type": "markdown", - "id": "65488a60", + "id": "0dacb6fc", "metadata": { "editable": true }, @@ -935,7 +937,7 @@ }, { "cell_type": "markdown", - "id": "9c8686d8", + "id": "baeedf81", "metadata": { "editable": true }, @@ -947,7 +949,7 @@ }, { "cell_type": "markdown", - "id": "585dbaff", + "id": "20cc7770", "metadata": { "editable": true }, @@ -960,7 +962,7 @@ }, { "cell_type": "markdown", - "id": "a8093a3e", + "id": "f67d3b94", "metadata": { "editable": true }, @@ -971,7 +973,7 @@ }, { "cell_type": "markdown", - "id": "ec844baa", + "id": "17f59fb6", "metadata": { "editable": true }, @@ -985,7 +987,7 @@ }, { "cell_type": "markdown", - "id": "7f2b563b", + "id": "5f899fbe", "metadata": { "editable": true }, @@ -995,7 +997,7 @@ }, { "cell_type": "markdown", - "id": "5a75bbe4", + "id": "19a1f5bb", "metadata": { "editable": true }, @@ -1009,7 +1011,7 @@ }, { "cell_type": "markdown", - "id": "8d00a9ff", + "id": "1db8fcf2", "metadata": { "editable": true }, @@ -1022,7 +1024,7 @@ }, { "cell_type": "markdown", - "id": "cae54a40", + "id": "bfadf7e5", "metadata": { "editable": true }, @@ -1035,7 +1037,7 @@ }, { "cell_type": "markdown", - "id": "ef87a15a", + "id": "7c65ce24", "metadata": { "editable": true }, @@ -1045,7 +1047,7 @@ }, { "cell_type": "markdown", - "id": "5bfaef5d", + "id": "8cd5650a", "metadata": { "editable": true }, @@ -1058,7 +1060,7 @@ }, { "cell_type": "markdown", - "id": "0aab5f59", + "id": "11fdc936", "metadata": { "editable": true }, @@ -1068,7 +1070,7 @@ }, { "cell_type": "markdown", - "id": "71269afb", + "id": "ed88642e", "metadata": { "editable": true }, @@ -1081,7 +1083,7 @@ }, { "cell_type": "markdown", - "id": "4d809fab", + "id": "82c61b81", "metadata": { "editable": true }, @@ -1093,7 +1095,7 @@ }, { "cell_type": "markdown", - "id": "734f7c5e", + "id": "bc43db46", "metadata": { "editable": true }, @@ -1112,7 +1114,7 @@ }, { "cell_type": "markdown", - "id": "f4ff2861", + "id": "25418113", "metadata": { "editable": true }, @@ -1125,7 +1127,7 @@ }, { "cell_type": "markdown", - "id": "fd66a47c", + "id": "e5d3c3eb", "metadata": { "editable": true }, @@ -1137,7 +1139,7 @@ }, { "cell_type": "markdown", - "id": "51e5434b", + "id": "c504cba4", "metadata": { "editable": true }, @@ -1150,7 +1152,7 @@ }, { "cell_type": "markdown", - "id": "9129f7a5", + "id": "079ded2a", "metadata": { "editable": true }, @@ -1170,7 +1172,7 @@ }, { "cell_type": "markdown", - "id": "e5fa7f9c", + "id": "e8534a50", "metadata": { "editable": true }, @@ -1193,7 +1195,7 @@ }, { "cell_type": "markdown", - "id": "f5bbafe6", + "id": "2fc73431", "metadata": { "editable": true }, @@ -1208,7 +1210,7 @@ }, { "cell_type": "markdown", - "id": "0cc93a0c", + "id": "0f8b0845", "metadata": { "editable": true }, @@ -1220,7 +1222,7 @@ }, { "cell_type": "markdown", - "id": "8dd4f5e0", + "id": "25105753", "metadata": { "editable": true }, @@ -1240,7 +1242,7 @@ }, { "cell_type": "markdown", - "id": "f51c546c", + "id": "89be6eea", "metadata": { "editable": true }, @@ -1260,7 +1262,7 @@ }, { "cell_type": "markdown", - "id": "e44fcf6d", + "id": "6c240b38", "metadata": { "editable": true }, @@ -1284,7 +1286,7 @@ }, { "cell_type": "markdown", - "id": "3bd69373", + "id": "fbd95a5c", "metadata": { "editable": true }, @@ -1305,7 +1307,7 @@ }, { "cell_type": "markdown", - "id": "e7f867d9", + "id": "dc50d43a", "metadata": { "editable": true }, @@ -1335,7 +1337,7 @@ }, { "cell_type": "markdown", - "id": "5c2c3909", + "id": "283068cc", "metadata": { "editable": true }, @@ -1359,7 +1361,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "a32faf6a", + "id": "ff4790ba", "metadata": { "collapsed": false, "editable": true @@ -1398,7 +1400,7 @@ }, { "cell_type": "markdown", - "id": "bc95505d", + "id": "3e6adc2f", "metadata": { "editable": true }, @@ -1408,7 +1410,7 @@ }, { "cell_type": "markdown", - "id": "355f62af", + "id": "6ec8223c", "metadata": { "editable": true }, @@ -1419,7 +1421,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "39fd1fa8", + "id": "3cf4144d", "metadata": { "collapsed": false, "editable": true @@ -1439,7 +1441,7 @@ }, { "cell_type": "markdown", - "id": "237b4db3", + "id": "db5a8f91", "metadata": { "editable": true }, @@ -1457,7 +1459,7 @@ }, { "cell_type": "markdown", - "id": "0c13e5b0", + "id": "327bce6a", "metadata": { "editable": true }, @@ -1469,7 +1471,7 @@ }, { "cell_type": "markdown", - "id": "a086aa7e", + "id": "1c671d4e", "metadata": { "editable": true }, @@ -1486,7 +1488,7 @@ }, { "cell_type": "markdown", - "id": "c3837d89", + "id": "6e05fc43", "metadata": { "editable": true }, @@ -1498,7 +1500,7 @@ }, { "cell_type": "markdown", - "id": "7c7cd0a7", + "id": "c45e0752", "metadata": { "editable": true }, @@ -1508,7 +1510,7 @@ }, { "cell_type": "markdown", - "id": "b9db0cd5", + "id": "bafa4ab6", "metadata": { "editable": true }, @@ -1520,7 +1522,7 @@ }, { "cell_type": "markdown", - "id": "00482b2d", + "id": "ea0bc471", "metadata": { "editable": true }, @@ -1537,7 +1539,7 @@ }, { "cell_type": "markdown", - "id": "2e7c7291", + "id": "08b603f3", "metadata": { "editable": true }, @@ -1549,7 +1551,7 @@ }, { "cell_type": "markdown", - "id": "9a8d29b5", + "id": "4114d10e", "metadata": { "editable": true }, @@ -1559,7 +1561,7 @@ }, { "cell_type": "markdown", - "id": "9a8e2084", + "id": "8890c666", "metadata": { "editable": true }, @@ -1571,7 +1573,7 @@ }, { "cell_type": "markdown", - "id": "4a191c5c", + "id": "7d5b7ce4", "metadata": { "editable": true }, @@ -1581,7 +1583,7 @@ }, { "cell_type": "markdown", - "id": "c37713f8", + "id": "3913c5b9", "metadata": { "editable": true }, @@ -1593,7 +1595,7 @@ }, { "cell_type": "markdown", - "id": "82ca4a7b", + "id": "5e0067b1", "metadata": { "editable": true }, @@ -1603,7 +1605,7 @@ }, { "cell_type": "markdown", - "id": "2765a841", + "id": "326bc8f1", "metadata": { "editable": true }, @@ -1619,7 +1621,7 @@ }, { "cell_type": "markdown", - "id": "321964c1", + "id": "d3713eca", "metadata": { "editable": true }, @@ -1630,7 +1632,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "5942226f", + "id": "01c3b507", "metadata": { "collapsed": false, "editable": true @@ -1695,7 +1697,7 @@ }, { "cell_type": "markdown", - "id": "cf2af19d", + "id": "949e3a5e", "metadata": { "editable": true }, @@ -1706,7 +1708,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "7b371a0c", + "id": "7e7f4926", "metadata": { "collapsed": false, "editable": true @@ -1763,7 +1765,7 @@ }, { "cell_type": "markdown", - "id": "6f583fcd", + "id": "33c5cae5", "metadata": { "editable": true }, @@ -1801,7 +1803,7 @@ }, { "cell_type": "markdown", - "id": "37766c51", + "id": "f931f0f2", "metadata": { "editable": true }, @@ -1828,7 +1830,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "0eac5ca9", + "id": "58daa28d", "metadata": { "collapsed": false, "editable": true @@ -1890,7 +1892,7 @@ }, { "cell_type": "markdown", - "id": "d698096e", + "id": "3bbcf741", "metadata": { "editable": true }, @@ -1915,7 +1917,7 @@ }, { "cell_type": "markdown", - "id": "3e37a4d2", + "id": "4b0ffe06", "metadata": { "editable": true }, @@ -1943,7 +1945,7 @@ }, { "cell_type": "markdown", - "id": "e7e43cf9", + "id": "b11baed6", "metadata": { "editable": true }, @@ -1956,7 +1958,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "7aa6a568", + "id": "39e76d49", "metadata": { "collapsed": false, "editable": true @@ -2056,7 +2058,7 @@ }, { "cell_type": "markdown", - "id": "9a90aec7", + "id": "e7d12ef0", "metadata": { "editable": true }, @@ -2067,7 +2069,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "93b3af24", + "id": "47f6ae18", "metadata": { "collapsed": false, "editable": true @@ -2156,7 +2158,7 @@ }, { "cell_type": "markdown", - "id": "90657c6d", + "id": "9c1d4754", "metadata": { "editable": true }, @@ -2166,7 +2168,7 @@ }, { "cell_type": "markdown", - "id": "a88b86e7", + "id": "b698ac66", "metadata": { "editable": true }, @@ -2179,7 +2181,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "89f45188", + "id": "0a2409b0", "metadata": { "collapsed": false, "editable": true @@ -2257,7 +2259,7 @@ }, { "cell_type": "markdown", - "id": "75496517", + "id": "56f130b5", "metadata": { "editable": true }, diff --git a/doc/LectureNotes/week38.ipynb b/doc/LectureNotes/week38.ipynb index 544d286d0..1d25f9941 100644 --- a/doc/LectureNotes/week38.ipynb +++ b/doc/LectureNotes/week38.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "169923b3", + "id": "8f27372d", "metadata": { "editable": true }, @@ -14,7 +14,7 @@ }, { "cell_type": "markdown", - "id": "47013ee7", + "id": "fff8ca30", "metadata": { "editable": true }, @@ -27,7 +27,7 @@ }, { "cell_type": "markdown", - "id": "d1fb5464", + "id": "7ee7e714", "metadata": { "editable": true }, @@ -41,13 +41,15 @@ "2. Resampling techniques, Bootstrap and cross validation and bias-variance tradeoff\n", "\n", "3. The material we did not cover last week, that is on more advanced methods for updating the learning rate, are covered by its own video. We will briefly discuss these topics at the beginning of the lecture and during the lab sessions. See video on ADAgrad, RMSprop and ADAM (material from last week not covered during lecture) at \n", - "\n", - "" + "\n", + "4. [Video of Lecture](https://youtu.be/4Fo7ITVA7V4)\n", + "\n", + "5. [Whiteboard notes](https://github.com/CompPhysics/MachineLearning/blob/master/doc/HandWrittenNotes/2025/FYSSTKweek38.pdf)" ] }, { "cell_type": "markdown", - "id": "1a34a7ce", + "id": "3b5ac440", "metadata": { "editable": true }, @@ -68,7 +70,7 @@ }, { "cell_type": "markdown", - "id": "c6f56f83", + "id": "6d5dba52", "metadata": { "editable": true }, @@ -96,7 +98,7 @@ }, { "cell_type": "markdown", - "id": "3ece0c04", + "id": "bfc2983a", "metadata": { "editable": true }, @@ -112,7 +114,7 @@ }, { "cell_type": "markdown", - "id": "d36cf6db", + "id": "2b5f5980", "metadata": { "editable": true }, @@ -131,7 +133,7 @@ }, { "cell_type": "markdown", - "id": "5903d2be", + "id": "3464c7e8", "metadata": { "editable": true }, @@ -145,7 +147,7 @@ }, { "cell_type": "markdown", - "id": "37f4e199", + "id": "ed0fd2df", "metadata": { "editable": true }, @@ -157,7 +159,7 @@ }, { "cell_type": "markdown", - "id": "7a7b084f", + "id": "feb9d4c2", "metadata": { "editable": true }, @@ -168,7 +170,7 @@ }, { "cell_type": "markdown", - "id": "1ec511a1", + "id": "eb6d71f8", "metadata": { "editable": true }, @@ -180,7 +182,7 @@ }, { "cell_type": "markdown", - "id": "ffe76935", + "id": "566399f6", "metadata": { "editable": true }, @@ -192,7 +194,7 @@ }, { "cell_type": "markdown", - "id": "e569274a", + "id": "6b33f497", "metadata": { "editable": true }, @@ -208,7 +210,7 @@ }, { "cell_type": "markdown", - "id": "c4dd2623", + "id": "5f2f79f2", "metadata": { "editable": true }, @@ -219,7 +221,7 @@ }, { "cell_type": "markdown", - "id": "df2f8936", + "id": "199121b0", "metadata": { "editable": true }, @@ -242,7 +244,7 @@ }, { "cell_type": "markdown", - "id": "0a3e5956", + "id": "9a1cc529", "metadata": { "editable": true }, @@ -253,7 +255,7 @@ }, { "cell_type": "markdown", - "id": "973e45a3", + "id": "149e63be", "metadata": { "editable": true }, @@ -265,7 +267,7 @@ }, { "cell_type": "markdown", - "id": "ff486d1e", + "id": "6a6fb04a", "metadata": { "editable": true }, @@ -277,7 +279,7 @@ }, { "cell_type": "markdown", - "id": "e4307815", + "id": "79420d06", "metadata": { "editable": true }, @@ -291,7 +293,7 @@ }, { "cell_type": "markdown", - "id": "490b2cbf", + "id": "0e3de992", "metadata": { "editable": true }, @@ -322,7 +324,7 @@ }, { "cell_type": "markdown", - "id": "5d8dd6bc", + "id": "d3ea2897", "metadata": { "editable": true }, @@ -344,7 +346,7 @@ }, { "cell_type": "markdown", - "id": "3594078a", + "id": "da5e3927", "metadata": { "editable": true }, @@ -356,7 +358,7 @@ }, { "cell_type": "markdown", - "id": "43007b7a", + "id": "7ab5488b", "metadata": { "editable": true }, @@ -369,7 +371,7 @@ }, { "cell_type": "markdown", - "id": "3cd4e7da", + "id": "f904a739", "metadata": { "editable": true }, @@ -381,7 +383,7 @@ }, { "cell_type": "markdown", - "id": "5816b21e", + "id": "10fd648b", "metadata": { "editable": true }, @@ -393,7 +395,7 @@ }, { "cell_type": "markdown", - "id": "b58b8607", + "id": "4812c2a4", "metadata": { "editable": true }, @@ -405,7 +407,7 @@ }, { "cell_type": "markdown", - "id": "c843db7f", + "id": "199d8531", "metadata": { "editable": true }, @@ -417,7 +419,7 @@ }, { "cell_type": "markdown", - "id": "e81b1c39", + "id": "96c16676", "metadata": { "editable": true }, @@ -440,7 +442,7 @@ }, { "cell_type": "markdown", - "id": "ea9719e3", + "id": "a2a1a004", "metadata": { "editable": true }, @@ -452,7 +454,7 @@ }, { "cell_type": "markdown", - "id": "c28b598f", + "id": "5aad445b", "metadata": { "editable": true }, @@ -465,7 +467,7 @@ }, { "cell_type": "markdown", - "id": "88063ed7", + "id": "d197c8bb", "metadata": { "editable": true }, @@ -477,7 +479,7 @@ }, { "cell_type": "markdown", - "id": "a34e4c28", + "id": "e2e7462f", "metadata": { "editable": true }, @@ -489,7 +491,7 @@ }, { "cell_type": "markdown", - "id": "1fc7ae0a", + "id": "eb635d3d", "metadata": { "editable": true }, @@ -501,7 +503,7 @@ }, { "cell_type": "markdown", - "id": "30d5a1be", + "id": "445ed13e", "metadata": { "editable": true }, @@ -512,7 +514,7 @@ }, { "cell_type": "markdown", - "id": "1d29fd29", + "id": "319bfc6c", "metadata": { "editable": true }, @@ -524,7 +526,7 @@ }, { "cell_type": "markdown", - "id": "289a116c", + "id": "90abf35a", "metadata": { "editable": true }, @@ -535,7 +537,7 @@ }, { "cell_type": "markdown", - "id": "d1cfbb56", + "id": "04b66fbd", "metadata": { "editable": true }, @@ -547,7 +549,7 @@ }, { "cell_type": "markdown", - "id": "e089fc0e", + "id": "4a27b5a7", "metadata": { "editable": true }, @@ -557,7 +559,7 @@ }, { "cell_type": "markdown", - "id": "32cf9944", + "id": "8d12543f", "metadata": { "editable": true }, @@ -588,7 +590,7 @@ }, { "cell_type": "markdown", - "id": "ee8a9544", + "id": "2e5cd118", "metadata": { "editable": true }, @@ -600,19 +602,19 @@ }, { "cell_type": "markdown", - "id": "4bfeb203", + "id": "c71a5edf", "metadata": { "editable": true }, "source": [ "$$\n", - "C(\\boldsymbol{\\theta}=-\\log{\\prod_{i=0}^{n-1}p(y_i,\\boldsymbol{X}\\vert\\boldsymbol{\\theta})}=-\\sum_{i=0}^{n-1}\\log{p(y_i,\\boldsymbol{X}\\vert\\boldsymbol{\\theta})},\n", + "C(\\boldsymbol{\\theta})=-\\log{\\prod_{i=0}^{n-1}p(y_i,\\boldsymbol{X}\\vert\\boldsymbol{\\theta})}=-\\sum_{i=0}^{n-1}\\log{p(y_i,\\boldsymbol{X}\\vert\\boldsymbol{\\theta})},\n", "$$" ] }, { "cell_type": "markdown", - "id": "256143f9", + "id": "e663bf2e", "metadata": { "editable": true }, @@ -622,19 +624,19 @@ }, { "cell_type": "markdown", - "id": "60d75bb1", + "id": "c4bc4873", "metadata": { "editable": true }, "source": [ "$$\n", - "C(\\boldsymbol{\\theta}=\\frac{n}{2}\\log{2\\pi\\sigma^2}+\\frac{\\vert\\vert (\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta})\\vert\\vert_2^2}{2\\sigma^2}.\n", + "C(\\boldsymbol{\\theta})=\\frac{n}{2}\\log{2\\pi\\sigma^2}+\\frac{\\vert\\vert (\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta})\\vert\\vert_2^2}{2\\sigma^2}.\n", "$$" ] }, { "cell_type": "markdown", - "id": "7b111014", + "id": "f5bc59b8", "metadata": { "editable": true }, @@ -644,7 +646,7 @@ }, { "cell_type": "markdown", - "id": "0f42a0b5", + "id": "4f6ddf4a", "metadata": { "editable": true }, @@ -656,7 +658,7 @@ }, { "cell_type": "markdown", - "id": "39a9276b", + "id": "afda0a6b", "metadata": { "editable": true }, @@ -666,7 +668,7 @@ }, { "cell_type": "markdown", - "id": "84c63927", + "id": "b5335dc0", "metadata": { "editable": true }, @@ -678,7 +680,7 @@ }, { "cell_type": "markdown", - "id": "c087ef22", + "id": "4f86a52d", "metadata": { "editable": true }, @@ -688,7 +690,7 @@ }, { "cell_type": "markdown", - "id": "79503987", + "id": "5cdb1767", "metadata": { "editable": true }, @@ -707,7 +709,7 @@ }, { "cell_type": "markdown", - "id": "c165025b", + "id": "69435d77", "metadata": { "editable": true }, @@ -735,7 +737,7 @@ }, { "cell_type": "markdown", - "id": "efb63405", + "id": "cefbb559", "metadata": { "editable": true }, @@ -761,7 +763,7 @@ }, { "cell_type": "markdown", - "id": "88d4bfd8", + "id": "2659401a", "metadata": { "editable": true }, @@ -778,7 +780,7 @@ }, { "cell_type": "markdown", - "id": "6a0795e0", + "id": "4d5d7748", "metadata": { "editable": true }, @@ -798,7 +800,7 @@ }, { "cell_type": "markdown", - "id": "d815fdf3", + "id": "54df92b3", "metadata": { "editable": true }, @@ -827,7 +829,7 @@ }, { "cell_type": "markdown", - "id": "a5b26ed1", + "id": "5b1a1390", "metadata": { "editable": true }, @@ -852,7 +854,7 @@ }, { "cell_type": "markdown", - "id": "e5783b81", + "id": "39f233e4", "metadata": { "editable": true }, @@ -872,7 +874,7 @@ }, { "cell_type": "markdown", - "id": "9bdfff4f", + "id": "361320d8", "metadata": { "editable": true }, @@ -884,7 +886,7 @@ }, { "cell_type": "markdown", - "id": "bd1e4a83", + "id": "a363db1e", "metadata": { "editable": true }, @@ -894,7 +896,7 @@ }, { "cell_type": "markdown", - "id": "66d14a83", + "id": "92967efc", "metadata": { "editable": true }, @@ -909,7 +911,7 @@ }, { "cell_type": "markdown", - "id": "ac38d462", + "id": "1bffca97", "metadata": { "editable": true }, @@ -922,7 +924,7 @@ }, { "cell_type": "markdown", - "id": "65488a60", + "id": "0dacb6fc", "metadata": { "editable": true }, @@ -935,7 +937,7 @@ }, { "cell_type": "markdown", - "id": "9c8686d8", + "id": "baeedf81", "metadata": { "editable": true }, @@ -947,7 +949,7 @@ }, { "cell_type": "markdown", - "id": "585dbaff", + "id": "20cc7770", "metadata": { "editable": true }, @@ -960,7 +962,7 @@ }, { "cell_type": "markdown", - "id": "a8093a3e", + "id": "f67d3b94", "metadata": { "editable": true }, @@ -971,7 +973,7 @@ }, { "cell_type": "markdown", - "id": "ec844baa", + "id": "17f59fb6", "metadata": { "editable": true }, @@ -985,7 +987,7 @@ }, { "cell_type": "markdown", - "id": "7f2b563b", + "id": "5f899fbe", "metadata": { "editable": true }, @@ -995,7 +997,7 @@ }, { "cell_type": "markdown", - "id": "5a75bbe4", + "id": "19a1f5bb", "metadata": { "editable": true }, @@ -1009,7 +1011,7 @@ }, { "cell_type": "markdown", - "id": "8d00a9ff", + "id": "1db8fcf2", "metadata": { "editable": true }, @@ -1022,7 +1024,7 @@ }, { "cell_type": "markdown", - "id": "cae54a40", + "id": "bfadf7e5", "metadata": { "editable": true }, @@ -1035,7 +1037,7 @@ }, { "cell_type": "markdown", - "id": "ef87a15a", + "id": "7c65ce24", "metadata": { "editable": true }, @@ -1045,7 +1047,7 @@ }, { "cell_type": "markdown", - "id": "5bfaef5d", + "id": "8cd5650a", "metadata": { "editable": true }, @@ -1058,7 +1060,7 @@ }, { "cell_type": "markdown", - "id": "0aab5f59", + "id": "11fdc936", "metadata": { "editable": true }, @@ -1068,7 +1070,7 @@ }, { "cell_type": "markdown", - "id": "71269afb", + "id": "ed88642e", "metadata": { "editable": true }, @@ -1081,7 +1083,7 @@ }, { "cell_type": "markdown", - "id": "4d809fab", + "id": "82c61b81", "metadata": { "editable": true }, @@ -1093,7 +1095,7 @@ }, { "cell_type": "markdown", - "id": "734f7c5e", + "id": "bc43db46", "metadata": { "editable": true }, @@ -1112,7 +1114,7 @@ }, { "cell_type": "markdown", - "id": "f4ff2861", + "id": "25418113", "metadata": { "editable": true }, @@ -1125,7 +1127,7 @@ }, { "cell_type": "markdown", - "id": "fd66a47c", + "id": "e5d3c3eb", "metadata": { "editable": true }, @@ -1137,7 +1139,7 @@ }, { "cell_type": "markdown", - "id": "51e5434b", + "id": "c504cba4", "metadata": { "editable": true }, @@ -1150,7 +1152,7 @@ }, { "cell_type": "markdown", - "id": "9129f7a5", + "id": "079ded2a", "metadata": { "editable": true }, @@ -1170,7 +1172,7 @@ }, { "cell_type": "markdown", - "id": "e5fa7f9c", + "id": "e8534a50", "metadata": { "editable": true }, @@ -1193,7 +1195,7 @@ }, { "cell_type": "markdown", - "id": "f5bbafe6", + "id": "2fc73431", "metadata": { "editable": true }, @@ -1208,7 +1210,7 @@ }, { "cell_type": "markdown", - "id": "0cc93a0c", + "id": "0f8b0845", "metadata": { "editable": true }, @@ -1220,7 +1222,7 @@ }, { "cell_type": "markdown", - "id": "8dd4f5e0", + "id": "25105753", "metadata": { "editable": true }, @@ -1240,7 +1242,7 @@ }, { "cell_type": "markdown", - "id": "f51c546c", + "id": "89be6eea", "metadata": { "editable": true }, @@ -1260,7 +1262,7 @@ }, { "cell_type": "markdown", - "id": "e44fcf6d", + "id": "6c240b38", "metadata": { "editable": true }, @@ -1284,7 +1286,7 @@ }, { "cell_type": "markdown", - "id": "3bd69373", + "id": "fbd95a5c", "metadata": { "editable": true }, @@ -1305,7 +1307,7 @@ }, { "cell_type": "markdown", - "id": "e7f867d9", + "id": "dc50d43a", "metadata": { "editable": true }, @@ -1335,7 +1337,7 @@ }, { "cell_type": "markdown", - "id": "5c2c3909", + "id": "283068cc", "metadata": { "editable": true }, @@ -1359,7 +1361,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "a32faf6a", + "id": "ff4790ba", "metadata": { "collapsed": false, "editable": true @@ -1398,7 +1400,7 @@ }, { "cell_type": "markdown", - "id": "bc95505d", + "id": "3e6adc2f", "metadata": { "editable": true }, @@ -1408,7 +1410,7 @@ }, { "cell_type": "markdown", - "id": "355f62af", + "id": "6ec8223c", "metadata": { "editable": true }, @@ -1419,7 +1421,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "39fd1fa8", + "id": "3cf4144d", "metadata": { "collapsed": false, "editable": true @@ -1439,7 +1441,7 @@ }, { "cell_type": "markdown", - "id": "237b4db3", + "id": "db5a8f91", "metadata": { "editable": true }, @@ -1457,7 +1459,7 @@ }, { "cell_type": "markdown", - "id": "0c13e5b0", + "id": "327bce6a", "metadata": { "editable": true }, @@ -1469,7 +1471,7 @@ }, { "cell_type": "markdown", - "id": "a086aa7e", + "id": "1c671d4e", "metadata": { "editable": true }, @@ -1486,7 +1488,7 @@ }, { "cell_type": "markdown", - "id": "c3837d89", + "id": "6e05fc43", "metadata": { "editable": true }, @@ -1498,7 +1500,7 @@ }, { "cell_type": "markdown", - "id": "7c7cd0a7", + "id": "c45e0752", "metadata": { "editable": true }, @@ -1508,7 +1510,7 @@ }, { "cell_type": "markdown", - "id": "b9db0cd5", + "id": "bafa4ab6", "metadata": { "editable": true }, @@ -1520,7 +1522,7 @@ }, { "cell_type": "markdown", - "id": "00482b2d", + "id": "ea0bc471", "metadata": { "editable": true }, @@ -1537,7 +1539,7 @@ }, { "cell_type": "markdown", - "id": "2e7c7291", + "id": "08b603f3", "metadata": { "editable": true }, @@ -1549,7 +1551,7 @@ }, { "cell_type": "markdown", - "id": "9a8d29b5", + "id": "4114d10e", "metadata": { "editable": true }, @@ -1559,7 +1561,7 @@ }, { "cell_type": "markdown", - "id": "9a8e2084", + "id": "8890c666", "metadata": { "editable": true }, @@ -1571,7 +1573,7 @@ }, { "cell_type": "markdown", - "id": "4a191c5c", + "id": "7d5b7ce4", "metadata": { "editable": true }, @@ -1581,7 +1583,7 @@ }, { "cell_type": "markdown", - "id": "c37713f8", + "id": "3913c5b9", "metadata": { "editable": true }, @@ -1593,7 +1595,7 @@ }, { "cell_type": "markdown", - "id": "82ca4a7b", + "id": "5e0067b1", "metadata": { "editable": true }, @@ -1603,7 +1605,7 @@ }, { "cell_type": "markdown", - "id": "2765a841", + "id": "326bc8f1", "metadata": { "editable": true }, @@ -1619,7 +1621,7 @@ }, { "cell_type": "markdown", - "id": "321964c1", + "id": "d3713eca", "metadata": { "editable": true }, @@ -1630,7 +1632,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "5942226f", + "id": "01c3b507", "metadata": { "collapsed": false, "editable": true @@ -1695,7 +1697,7 @@ }, { "cell_type": "markdown", - "id": "cf2af19d", + "id": "949e3a5e", "metadata": { "editable": true }, @@ -1706,7 +1708,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "7b371a0c", + "id": "7e7f4926", "metadata": { "collapsed": false, "editable": true @@ -1763,7 +1765,7 @@ }, { "cell_type": "markdown", - "id": "6f583fcd", + "id": "33c5cae5", "metadata": { "editable": true }, @@ -1801,7 +1803,7 @@ }, { "cell_type": "markdown", - "id": "37766c51", + "id": "f931f0f2", "metadata": { "editable": true }, @@ -1828,7 +1830,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "0eac5ca9", + "id": "58daa28d", "metadata": { "collapsed": false, "editable": true @@ -1890,7 +1892,7 @@ }, { "cell_type": "markdown", - "id": "d698096e", + "id": "3bbcf741", "metadata": { "editable": true }, @@ -1915,7 +1917,7 @@ }, { "cell_type": "markdown", - "id": "3e37a4d2", + "id": "4b0ffe06", "metadata": { "editable": true }, @@ -1943,7 +1945,7 @@ }, { "cell_type": "markdown", - "id": "e7e43cf9", + "id": "b11baed6", "metadata": { "editable": true }, @@ -1956,7 +1958,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "7aa6a568", + "id": "39e76d49", "metadata": { "collapsed": false, "editable": true @@ -2056,7 +2058,7 @@ }, { "cell_type": "markdown", - "id": "9a90aec7", + "id": "e7d12ef0", "metadata": { "editable": true }, @@ -2067,7 +2069,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "93b3af24", + "id": "47f6ae18", "metadata": { "collapsed": false, "editable": true @@ -2156,7 +2158,7 @@ }, { "cell_type": "markdown", - "id": "90657c6d", + "id": "9c1d4754", "metadata": { "editable": true }, @@ -2166,7 +2168,7 @@ }, { "cell_type": "markdown", - "id": "a88b86e7", + "id": "b698ac66", "metadata": { "editable": true }, @@ -2179,7 +2181,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "89f45188", + "id": "0a2409b0", "metadata": { "collapsed": false, "editable": true @@ -2257,7 +2259,7 @@ }, { "cell_type": "markdown", - "id": "75496517", + "id": "56f130b5", "metadata": { "editable": true }, diff --git a/doc/pub/week38/html/._week38-bs001.html b/doc/pub/week38/html/._week38-bs001.html index ed985caeb..a04cfdd61 100644 --- a/doc/pub/week38/html/._week38-bs001.html +++ b/doc/pub/week38/html/._week38-bs001.html @@ -259,9 +259,9 @@ MathJax.Hub.Config({
      1. Statistical interpretation of OLS and various expectation values
      2. Resampling techniques, Bootstrap and cross validation and bias-variance tradeoff
      3. -
      4. The material we did not cover last week, that is on more advanced methods for updating the learning rate, are covered by its own video. We will briefly discuss these topics at the beginning of the lecture and during the lab sessions. See video on ADAgrad, RMSprop and ADAM (material from last week not covered during lecture) at https://youtu.be/J_41Hld6tTU - -
      5. +
      6. The material we did not cover last week, that is on more advanced methods for updating the learning rate, are covered by its own video. We will briefly discuss these topics at the beginning of the lecture and during the lab sessions. See video on ADAgrad, RMSprop and ADAM (material from last week not covered during lecture) at https://youtu.be/J_41Hld6tTU
      7. +
      8. Video of Lecture
      9. +
      10. Whiteboard notes
      diff --git a/doc/pub/week38/html/week38-reveal.html b/doc/pub/week38/html/week38-reveal.html index 94ba9db0a..0271e775a 100644 --- a/doc/pub/week38/html/week38-reveal.html +++ b/doc/pub/week38/html/week38-reveal.html @@ -200,9 +200,9 @@ MathJax.Hub.Config({

      1. Statistical interpretation of OLS and various expectation values
      2. Resampling techniques, Bootstrap and cross validation and bias-variance tradeoff
      3. -

      4. The material we did not cover last week, that is on more advanced methods for updating the learning rate, are covered by its own video. We will briefly discuss these topics at the beginning of the lecture and during the lab sessions. See video on ADAgrad, RMSprop and ADAM (material from last week not covered during lecture) at https://youtu.be/J_41Hld6tTU - -
      5. +

      6. The material we did not cover last week, that is on more advanced methods for updating the learning rate, are covered by its own video. We will briefly discuss these topics at the beginning of the lecture and during the lab sessions. See video on ADAgrad, RMSprop and ADAM (material from last week not covered during lecture) at https://youtu.be/J_41Hld6tTU
      7. +

      8. Video of Lecture
      9. +

      10. Whiteboard notes
    diff --git a/doc/pub/week38/html/week38-solarized.html b/doc/pub/week38/html/week38-solarized.html index bb7857a3f..43f7fbd86 100644 --- a/doc/pub/week38/html/week38-solarized.html +++ b/doc/pub/week38/html/week38-solarized.html @@ -238,9 +238,9 @@ MathJax.Hub.Config({
    1. Statistical interpretation of OLS and various expectation values
    2. Resampling techniques, Bootstrap and cross validation and bias-variance tradeoff
    3. -
    4. The material we did not cover last week, that is on more advanced methods for updating the learning rate, are covered by its own video. We will briefly discuss these topics at the beginning of the lecture and during the lab sessions. See video on ADAgrad, RMSprop and ADAM (material from last week not covered during lecture) at https://youtu.be/J_41Hld6tTU - -
    5. +
    6. The material we did not cover last week, that is on more advanced methods for updating the learning rate, are covered by its own video. We will briefly discuss these topics at the beginning of the lecture and during the lab sessions. See video on ADAgrad, RMSprop and ADAM (material from last week not covered during lecture) at https://youtu.be/J_41Hld6tTU
    7. +
    8. Video of Lecture
    9. +
    10. Whiteboard notes
    diff --git a/doc/pub/week38/html/week38.html b/doc/pub/week38/html/week38.html index fb0c0fad3..57e0831cb 100644 --- a/doc/pub/week38/html/week38.html +++ b/doc/pub/week38/html/week38.html @@ -315,9 +315,9 @@ MathJax.Hub.Config({
    1. Statistical interpretation of OLS and various expectation values
    2. Resampling techniques, Bootstrap and cross validation and bias-variance tradeoff
    3. -
    4. The material we did not cover last week, that is on more advanced methods for updating the learning rate, are covered by its own video. We will briefly discuss these topics at the beginning of the lecture and during the lab sessions. See video on ADAgrad, RMSprop and ADAM (material from last week not covered during lecture) at https://youtu.be/J_41Hld6tTU - -
    5. +
    6. The material we did not cover last week, that is on more advanced methods for updating the learning rate, are covered by its own video. We will briefly discuss these topics at the beginning of the lecture and during the lab sessions. See video on ADAgrad, RMSprop and ADAM (material from last week not covered during lecture) at https://youtu.be/J_41Hld6tTU
    7. +
    8. Video of Lecture
    9. +
    10. Whiteboard notes
    diff --git a/doc/pub/week38/ipynb/.ipynb_checkpoints/week38-checkpoint.ipynb b/doc/pub/week38/ipynb/.ipynb_checkpoints/week38-checkpoint.ipynb index 43e3b26d9..9f7e9120b 100644 --- a/doc/pub/week38/ipynb/.ipynb_checkpoints/week38-checkpoint.ipynb +++ b/doc/pub/week38/ipynb/.ipynb_checkpoints/week38-checkpoint.ipynb @@ -2,172 +2,1914 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "id": "799137cd", + "metadata": { + "editable": true + }, "source": [ - "\n", - "# Data Analysis and Machine Learning: Logistic Regression\n", - "\n", - " \n", - "**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n", - "\n", -<<<<<<< HEAD - "Date: **Sep 16, 2020**\n", -======= - "Date: **Sep 18, 2020**\n", ->>>>>>> 9b0e2e75096cc1acee65bfac25f4eff818140252 - "\n", - "Copyright 1999-2020, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license\n", - "\n", - "\n", - "\n", - "\n", -<<<<<<< HEAD - "## To do for log reg\n", - "\n", - "* Develop code for log reg step by step, with link to gradient descent part\n", - "\n", - "* show how to read and set up design matrix\n", - "\n", - "* use breast cancer data as example\n", - "\n", - "* develop other classification examples, pulsar example\n", -======= - "## Plans for week 38\n", - "\n", - "* Thursday: Summary of regression methods and discussion of project 1. We revisit also cross-validation and bootstrap as resampling techniques with examples. Recommended reading: [Hastie et al](https://www.springer.com/gp/book/9780387848570) chapters 3 and 7.1-7.6 and 7.10-7.12.\n", - "\n", - "* Friday: Logistic Regression. Recommended reading: [Hastie et al](https://www.springer.com/gp/book/9780387848570) chapters 4.1-4.4 and [Murphy](https://mitpress.mit.edu/books/machine-learning-1) chapter 8.1-8.2\n", - "\n", - "## Thursday September 17\n", - "\n", - "[Video of Lecture](https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h20/forelesningsvideoer/LectureSeptember17.mp4?vrtx=view-as-webpage) and [link to handwritten notes](https://github.com/CompPhysics/MachineLearning/blob/master/doc/HandWrittenNotes/NotesSeptember17.pdf).\n", - "\n", - "## Ridge and LASSO Regression, reminder\n", - "\n", - "The expression for the standard Mean Squared Error (MSE) which we used to define our cost function and the equations for the ordinary least squares (OLS) method, that is \n", - "our optimization problem is" + "\n", + "" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "f5b17715", + "metadata": { + "editable": true + }, + "source": [ + "# Week 38: Statistical analysis, bias-variance tradeoff and resampling methods\n", + "**Morten Hjorth-Jensen**, Department of Physics and Center for Computing in Science Education, University of Oslo, Norway\n", + "\n", + "Date: **September 15-19, 2025**" + ] + }, + { + "cell_type": "markdown", + "id": "cc859721", + "metadata": { + "editable": true + }, + "source": [ + "## Plans for week 38, lecture Monday September 15\n", + "\n", + "**Material for the lecture on Monday September 15.**\n", + "\n", + "1. Statistical interpretation of OLS and various expectation values\n", + "\n", + "2. Resampling techniques, Bootstrap and cross validation and bias-variance tradeoff\n", + "\n", + "3. The material we did not cover last week, that is on more advanced methods for updating the learning rate, are covered by its own video. We will briefly discuss these topics at the beginning of the lecture and during the lab sessions. See video on ADAgrad, RMSprop and ADAM (material from last week not covered during lecture) at \n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "a3ecb019", + "metadata": { + "editable": true + }, + "source": [ + "## Readings and Videos\n", + "1. Raschka et al, pages 175-192\n", + "\n", + "2. Hastie et al Chapter 7, here we recommend 7.1-7.5 and 7.10 (cross-validation) and 7.11 (bootstrap). See .\n", + "\n", + "3. [Video on bias-variance tradeoff](https://www.youtube.com/watch?v=EuBBz3bI-aA)\n", + "\n", + "4. [Video on Bootstrapping](https://www.youtube.com/watch?v=Xz0x-8-cgaQ)\n", + "\n", + "5. [Video on cross validation](https://www.youtube.com/watch?v=fSytzGwwBVw)\n", + "\n", + "For the lab session, the following video on cross validation (from 2024), could be helpful, see " + ] + }, + { + "cell_type": "markdown", + "id": "f128464d", + "metadata": { + "editable": true + }, + "source": [ + "## Linking the regression analysis with a statistical interpretation\n", + "\n", + "We will now couple the discussions of ordinary least squares, Ridge\n", + "and Lasso regression with a statistical interpretation, that is we\n", + "move from a linear algebra analysis to a statistical analysis. In\n", + "particular, we will focus on what the regularization terms can result\n", + "in. We will amongst other things show that the regularization\n", + "parameter can reduce considerably the variance of the parameters\n", + "$\\theta$.\n", + "\n", + "On of the advantages of doing linear regression is that we actually end up with\n", + "analytical expressions for several statistical quantities. \n", + "Standard least squares and Ridge regression allow us to\n", + "derive quantities like the variance and other expectation values in a\n", + "rather straightforward way.\n", + "\n", + "It is assumed that $\\varepsilon_i\n", + "\\sim \\mathcal{N}(0, \\sigma^2)$ and the $\\varepsilon_{i}$ are\n", + "independent, i.e.:" + ] + }, + { + "cell_type": "markdown", + "id": "981db0b8", + "metadata": { + "editable": true + }, "source": [ "$$\n", - "{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in {\\mathbb{R}}^{p}}}\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)\\right\\}.\n", + "\\begin{align*} \n", + "\\mbox{Cov}(\\varepsilon_{i_1},\n", + "\\varepsilon_{i_2}) & = \\left\\{ \\begin{array}{lcc} \\sigma^2 & \\mbox{if}\n", + "& i_1 = i_2, \\\\ 0 & \\mbox{if} & i_1 \\not= i_2. \\end{array} \\right.\n", + "\\end{align*}\n", "$$" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "85cc8db5", + "metadata": { + "editable": true + }, "source": [ - "or we can state it as" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in\n", - "{\\mathbb{R}}^{p}}}\\frac{1}{n}\\sum_{i=0}^{n-1}\\left(y_i-\\tilde{y}_i\\right)^2=\\frac{1}{n}\\vert\\vert \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\vert\\vert_2^2,\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "where we have used the definition of a norm-2 vector, that is" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\vert\\vert \\boldsymbol{x}\\vert\\vert_2 = \\sqrt{\\sum_i x_i^2}.\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "By minimizing the above equation with respect to the parameters\n", - "$\\boldsymbol{\\beta}$ we could then obtain an analytical expression for the\n", - "parameters $\\boldsymbol{\\beta}$. We can add a regularization parameter $\\lambda$ by\n", - "defining a new cost function to be optimized, that is" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in\n", - "{\\mathbb{R}}^{p}}}\\frac{1}{n}\\vert\\vert \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\vert\\vert_2^2+\\lambda\\vert\\vert \\boldsymbol{\\beta}\\vert\\vert_2^2\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "which leads to the Ridge regression minimization problem where we\n", - "require that $\\vert\\vert \\boldsymbol{\\beta}\\vert\\vert_2^2\\le t$, where $t$ is\n", - "a finite number larger than zero. By defining" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "C(\\boldsymbol{X},\\boldsymbol{\\beta})=\\frac{1}{n}\\vert\\vert \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\vert\\vert_2^2+\\lambda\\vert\\vert \\boldsymbol{\\beta}\\vert\\vert_1,\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "we have a new optimization equation" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in\n", - "{\\mathbb{R}}^{p}}}\\frac{1}{n}\\vert\\vert \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\vert\\vert_2^2+\\lambda\\vert\\vert \\boldsymbol{\\beta}\\vert\\vert_1\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "which leads to Lasso regression. Lasso stands for least absolute shrinkage and selection operator. \n", + "The randomness of $\\varepsilon_i$ implies that\n", + "$\\mathbf{y}_i$ is also a random variable. In particular,\n", + "$\\mathbf{y}_i$ is normally distributed, because $\\varepsilon_i \\sim\n", + "\\mathcal{N}(0, \\sigma^2)$ and $\\mathbf{X}_{i,\\ast} \\, \\boldsymbol{\\theta}$ is a\n", + "non-random scalar. To specify the parameters of the distribution of\n", + "$\\mathbf{y}_i$ we need to calculate its first two moments. \n", "\n", - "Here we have defined the norm-1 as" + "Recall that $\\boldsymbol{X}$ is a matrix of dimensionality $n\\times p$. The\n", + "notation above $\\mathbf{X}_{i,\\ast}$ means that we are looking at the\n", + "row number $i$ and perform a sum over all values $p$." ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "96a431a6", + "metadata": { + "editable": true + }, + "source": [ + "## Assumptions made\n", + "\n", + "The assumption we have made here can be summarized as (and this is going to be useful when we discuss the bias-variance trade off)\n", + "that there exists a function $f(\\boldsymbol{x})$ and a normal distributed error $\\boldsymbol{\\varepsilon}\\sim \\mathcal{N}(0, \\sigma^2)$\n", + "which describe our data" + ] + }, + { + "cell_type": "markdown", + "id": "b6bf35de", + "metadata": { + "editable": true + }, "source": [ "$$\n", - "\\vert\\vert \\boldsymbol{x}\\vert\\vert_1 = \\sum_i \\vert x_i\\vert.\n", + "\\boldsymbol{y} = f(\\boldsymbol{x})+\\boldsymbol{\\varepsilon}\n", "$$" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "a4133715", + "metadata": { + "editable": true + }, + "source": [ + "We approximate this function with our model from the solution of the linear regression equations, that is our\n", + "function $f$ is approximated by $\\boldsymbol{\\tilde{y}}$ where we want to minimize $(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2$, our MSE, with" + ] + }, + { + "cell_type": "markdown", + "id": "9d8eea64", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\boldsymbol{\\tilde{y}} = \\boldsymbol{X}\\boldsymbol{\\theta}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "0707109a", + "metadata": { + "editable": true + }, + "source": [ + "## Expectation value and variance\n", + "\n", + "We can calculate the expectation value of $\\boldsymbol{y}$ for a given element $i$" + ] + }, + { + "cell_type": "markdown", + "id": "c84ee75e", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\begin{align*} \n", + "\\mathbb{E}(y_i) & =\n", + "\\mathbb{E}(\\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\theta}) + \\mathbb{E}(\\varepsilon_i)\n", + "\\, \\, \\, = \\, \\, \\, \\mathbf{X}_{i, \\ast} \\, \\theta, \n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "eceb2fb1", + "metadata": { + "editable": true + }, + "source": [ + "while\n", + "its variance is" + ] + }, + { + "cell_type": "markdown", + "id": "571c857b", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\begin{align*} \\mbox{Var}(y_i) & = \\mathbb{E} \\{ [y_i\n", + "- \\mathbb{E}(y_i)]^2 \\} \\, \\, \\, = \\, \\, \\, \\mathbb{E} ( y_i^2 ) -\n", + "[\\mathbb{E}(y_i)]^2 \\\\ & = \\mathbb{E} [ ( \\mathbf{X}_{i, \\ast} \\,\n", + "\\theta + \\varepsilon_i )^2] - ( \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\theta})^2 \\\\ &\n", + "= \\mathbb{E} [ ( \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\theta})^2 + 2 \\varepsilon_i\n", + "\\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\theta} + \\varepsilon_i^2 ] - ( \\mathbf{X}_{i,\n", + "\\ast} \\, \\theta)^2 \\\\ & = ( \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\theta})^2 + 2\n", + "\\mathbb{E}(\\varepsilon_i) \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\theta} +\n", + "\\mathbb{E}(\\varepsilon_i^2 ) - ( \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\theta})^2 \n", + "\\\\ & = \\mathbb{E}(\\varepsilon_i^2 ) \\, \\, \\, = \\, \\, \\,\n", + "\\mbox{Var}(\\varepsilon_i) \\, \\, \\, = \\, \\, \\, \\sigma^2. \n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "fa94afa6", + "metadata": { + "editable": true + }, + "source": [ + "Hence, $y_i \\sim \\mathcal{N}( \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\theta}, \\sigma^2)$, that is $\\boldsymbol{y}$ follows a normal distribution with \n", + "mean value $\\boldsymbol{X}\\boldsymbol{\\theta}$ and variance $\\sigma^2$ (not be confused with the singular values of the SVD)." + ] + }, + { + "cell_type": "markdown", + "id": "ae5807fe", + "metadata": { + "editable": true + }, + "source": [ + "## Expectation value and variance for $\\boldsymbol{\\theta}$\n", + "\n", + "With the OLS expressions for the optimal parameters $\\boldsymbol{\\hat{\\theta}}$ we can evaluate the expectation value" + ] + }, + { + "cell_type": "markdown", + "id": "9b7dbfc6", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\mathbb{E}(\\boldsymbol{\\hat{\\theta}}) = \\mathbb{E}[ (\\mathbf{X}^{\\top} \\mathbf{X})^{-1}\\mathbf{X}^{T} \\mathbf{Y}]=(\\mathbf{X}^{T} \\mathbf{X})^{-1}\\mathbf{X}^{T} \\mathbb{E}[ \\mathbf{Y}]=(\\mathbf{X}^{T} \\mathbf{X})^{-1} \\mathbf{X}^{T}\\mathbf{X}\\boldsymbol{\\theta}=\\boldsymbol{\\theta}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "a469ecb5", + "metadata": { + "editable": true + }, + "source": [ + "This means that the estimator of the regression parameters is unbiased.\n", + "\n", + "We can also calculate the variance\n", + "\n", + "The variance of the optimal value $\\boldsymbol{\\hat{\\theta}}$ is" + ] + }, + { + "cell_type": "markdown", + "id": "a22a5899", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\begin{eqnarray*}\n", + "\\mbox{Var}(\\boldsymbol{\\hat{\\theta}}) & = & \\mathbb{E} \\{ [\\boldsymbol{\\theta} - \\mathbb{E}(\\boldsymbol{\\theta})] [\\boldsymbol{\\theta} - \\mathbb{E}(\\boldsymbol{\\theta})]^{T} \\}\n", + "\\\\\n", + "& = & \\mathbb{E} \\{ [(\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\mathbf{Y} - \\boldsymbol{\\theta}] \\, [(\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\mathbf{Y} - \\boldsymbol{\\theta}]^{T} \\}\n", + "\\\\\n", + "% & = & \\mathbb{E} \\{ [(\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\mathbf{Y}] \\, [(\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\mathbf{Y}]^{T} \\} - \\boldsymbol{\\theta} \\, \\boldsymbol{\\theta}^{T}\n", + "% \\\\\n", + "% & = & \\mathbb{E} \\{ (\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\mathbf{Y} \\, \\mathbf{Y}^{T} \\, \\mathbf{X} \\, (\\mathbf{X}^{T} \\mathbf{X})^{-1} \\} - \\boldsymbol{\\theta} \\, \\boldsymbol{\\theta}^{T}\n", + "% \\\\\n", + "& = & (\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\, \\mathbb{E} \\{ \\mathbf{Y} \\, \\mathbf{Y}^{T} \\} \\, \\mathbf{X} \\, (\\mathbf{X}^{T} \\mathbf{X})^{-1} - \\boldsymbol{\\theta} \\, \\boldsymbol{\\theta}^{T}\n", + "\\\\\n", + "& = & (\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\, \\{ \\mathbf{X} \\, \\boldsymbol{\\theta} \\, \\boldsymbol{\\theta}^{T} \\, \\mathbf{X}^{T} + \\sigma^2 \\} \\, \\mathbf{X} \\, (\\mathbf{X}^{T} \\mathbf{X})^{-1} - \\boldsymbol{\\theta} \\, \\boldsymbol{\\theta}^{T}\n", + "% \\\\\n", + "% & = & (\\mathbf{X}^T \\mathbf{X})^{-1} \\, \\mathbf{X}^T \\, \\mathbf{X} \\, \\boldsymbol{\\theta} \\, \\boldsymbol{\\theta}^T \\, \\mathbf{X}^T \\, \\mathbf{X} \\, (\\mathbf{X}^T % \\mathbf{X})^{-1}\n", + "% \\\\\n", + "% & & + \\, \\, \\sigma^2 \\, (\\mathbf{X}^T \\mathbf{X})^{-1} \\, \\mathbf{X}^T \\, \\mathbf{X} \\, (\\mathbf{X}^T \\mathbf{X})^{-1} - \\boldsymbol{\\theta} \\boldsymbol{\\theta}^T\n", + "\\\\\n", + "& = & \\boldsymbol{\\theta} \\, \\boldsymbol{\\theta}^{T} + \\sigma^2 \\, (\\mathbf{X}^{T} \\mathbf{X})^{-1} - \\boldsymbol{\\theta} \\, \\boldsymbol{\\theta}^{T}\n", + "\\, \\, \\, = \\, \\, \\, \\sigma^2 \\, (\\mathbf{X}^{T} \\mathbf{X})^{-1},\n", + "\\end{eqnarray*}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "f7b64841", + "metadata": { + "editable": true + }, + "source": [ + "where we have used that $\\mathbb{E} (\\mathbf{Y} \\mathbf{Y}^{T}) =\n", + "\\mathbf{X} \\, \\boldsymbol{\\theta} \\, \\boldsymbol{\\theta}^{T} \\, \\mathbf{X}^{T} +\n", + "\\sigma^2 \\, \\mathbf{I}_{nn}$. From $\\mbox{Var}(\\boldsymbol{\\theta}) = \\sigma^2\n", + "\\, (\\mathbf{X}^{T} \\mathbf{X})^{-1}$, one obtains an estimate of the\n", + "variance of the estimate of the $j$-th regression coefficient:\n", + "$\\boldsymbol{\\sigma}^2 (\\boldsymbol{\\theta}_j ) = \\boldsymbol{\\sigma}^2 [(\\mathbf{X}^{T} \\mathbf{X})^{-1}]_{jj} $. This may be used to\n", + "construct a confidence interval for the estimates.\n", + "\n", + "In a similar way, we can obtain analytical expressions for say the\n", + "expectation values of the parameters $\\boldsymbol{\\theta}$ and their variance\n", + "when we employ Ridge regression, allowing us again to define a confidence interval. \n", + "\n", + "It is rather straightforward to show that" + ] + }, + { + "cell_type": "markdown", + "id": "26d50d5c", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\mathbb{E} \\big[ \\boldsymbol{\\theta}^{\\mathrm{Ridge}} \\big]=(\\mathbf{X}^{T} \\mathbf{X} + \\lambda \\mathbf{I}_{pp})^{-1} (\\mathbf{X}^{\\top} \\mathbf{X})\\boldsymbol{\\theta}^{\\mathrm{OLS}}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "e2e18a10", + "metadata": { + "editable": true + }, + "source": [ + "We see clearly that \n", + "$\\mathbb{E} \\big[ \\boldsymbol{\\theta}^{\\mathrm{Ridge}} \\big] \\not= \\boldsymbol{\\theta}^{\\mathrm{OLS}}$ for any $\\lambda > 0$. We say then that the ridge estimator is biased.\n", + "\n", + "We can also compute the variance as" + ] + }, + { + "cell_type": "markdown", + "id": "9a97e0bb", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\mbox{Var}[\\boldsymbol{\\theta}^{\\mathrm{Ridge}}]=\\sigma^2[ \\mathbf{X}^{T} \\mathbf{X} + \\lambda \\mathbf{I} ]^{-1} \\mathbf{X}^{T} \\mathbf{X} \\{ [ \\mathbf{X}^{\\top} \\mathbf{X} + \\lambda \\mathbf{I} ]^{-1}\\}^{T},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "53cef62d", + "metadata": { + "editable": true + }, + "source": [ + "and it is easy to see that if the parameter $\\lambda$ goes to infinity then the variance of Ridge parameters $\\boldsymbol{\\theta}$ goes to zero. \n", + "\n", + "With this, we can compute the difference" + ] + }, + { + "cell_type": "markdown", + "id": "c8ec4ab0", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\mbox{Var}[\\boldsymbol{\\theta}^{\\mathrm{OLS}}]-\\mbox{Var}(\\boldsymbol{\\theta}^{\\mathrm{Ridge}})=\\sigma^2 [ \\mathbf{X}^{T} \\mathbf{X} + \\lambda \\mathbf{I} ]^{-1}[ 2\\lambda\\mathbf{I} + \\lambda^2 (\\mathbf{X}^{T} \\mathbf{X})^{-1} ] \\{ [ \\mathbf{X}^{T} \\mathbf{X} + \\lambda \\mathbf{I} ]^{-1}\\}^{T}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "1e5e5e07", + "metadata": { + "editable": true + }, + "source": [ + "The difference is non-negative definite since each component of the\n", + "matrix product is non-negative definite. \n", + "This means the variance we obtain with the standard OLS will always for $\\lambda > 0$ be larger than the variance of $\\boldsymbol{\\theta}$ obtained with the Ridge estimator. This has interesting consequences when we discuss the so-called bias-variance trade-off below." + ] + }, + { + "cell_type": "markdown", + "id": "b1ea4ea7", + "metadata": { + "editable": true + }, + "source": [ + "## Deriving OLS from a probability distribution\n", + "\n", + "Our basic assumption when we derived the OLS equations was to assume\n", + "that our output is determined by a given continuous function\n", + "$f(\\boldsymbol{x})$ and a random noise $\\boldsymbol{\\epsilon}$ given by the normal\n", + "distribution with zero mean value and an undetermined variance\n", + "$\\sigma^2$.\n", + "\n", + "We found above that the outputs $\\boldsymbol{y}$ have a mean value given by\n", + "$\\boldsymbol{X}\\hat{\\boldsymbol{\\theta}}$ and variance $\\sigma^2$. Since the entries to\n", + "the design matrix are not stochastic variables, we can assume that the\n", + "probability distribution of our targets is also a normal distribution\n", + "but now with mean value $\\boldsymbol{X}\\hat{\\boldsymbol{\\theta}}$. This means that a\n", + "single output $y_i$ is given by the Gaussian distribution" + ] + }, + { + "cell_type": "markdown", + "id": "d9c8dd38", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "y_i\\sim \\mathcal{N}(\\boldsymbol{X}_{i,*}\\boldsymbol{\\theta}, \\sigma^2)=\\frac{1}{\\sqrt{2\\pi\\sigma^2}}\\exp{\\left[-\\frac{(y_i-\\boldsymbol{X}_{i,*}\\boldsymbol{\\theta})^2}{2\\sigma^2}\\right]}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "7abb690f", + "metadata": { + "editable": true + }, + "source": [ + "## Independent and Identically Distributed (iid)\n", + "\n", + "We assume now that the various $y_i$ values are stochastically distributed according to the above Gaussian distribution. \n", + "We define this distribution as" + ] + }, + { + "cell_type": "markdown", + "id": "417c8406", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "p(y_i, \\boldsymbol{X}\\vert\\boldsymbol{\\theta})=\\frac{1}{\\sqrt{2\\pi\\sigma^2}}\\exp{\\left[-\\frac{(y_i-\\boldsymbol{X}_{i,*}\\boldsymbol{\\theta})^2}{2\\sigma^2}\\right]},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "fb01419c", + "metadata": { + "editable": true + }, + "source": [ + "which reads as finding the likelihood of an event $y_i$ with the input variables $\\boldsymbol{X}$ given the parameters (to be determined) $\\boldsymbol{\\theta}$.\n", + "\n", + "Since these events are assumed to be independent and identicall distributed we can build the probability distribution function (PDF) for all possible event $\\boldsymbol{y}$ as the product of the single events, that is we have" + ] + }, + { + "cell_type": "markdown", + "id": "dbe14673", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "p(\\boldsymbol{y},\\boldsymbol{X}\\vert\\boldsymbol{\\theta})=\\prod_{i=0}^{n-1}\\frac{1}{\\sqrt{2\\pi\\sigma^2}}\\exp{\\left[-\\frac{(y_i-\\boldsymbol{X}_{i,*}\\boldsymbol{\\theta})^2}{2\\sigma^2}\\right]}=\\prod_{i=0}^{n-1}p(y_i,\\boldsymbol{X}\\vert\\boldsymbol{\\theta}).\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "a19153fe", + "metadata": { + "editable": true + }, + "source": [ + "We will write this in a more compact form reserving $\\boldsymbol{D}$ for the domain of events, including the ouputs (targets) and the inputs. That is\n", + "in case we have a simple one-dimensional input and output case" + ] + }, + { + "cell_type": "markdown", + "id": "017ca4ca", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\boldsymbol{D}=[(x_0,y_0), (x_1,y_1),\\dots, (x_{n-1},y_{n-1})].\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "85c7bc4a", + "metadata": { + "editable": true + }, + "source": [ + "In the more general case the various inputs should be replaced by the possible features represented by the input data set $\\boldsymbol{X}$. \n", + "We can now rewrite the above probability as" + ] + }, + { + "cell_type": "markdown", + "id": "ad6066d5", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "p(\\boldsymbol{D}\\vert\\boldsymbol{\\theta})=\\prod_{i=0}^{n-1}\\frac{1}{\\sqrt{2\\pi\\sigma^2}}\\exp{\\left[-\\frac{(y_i-\\boldsymbol{X}_{i,*}\\boldsymbol{\\theta})^2}{2\\sigma^2}\\right]}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "7d9872d8", + "metadata": { + "editable": true + }, + "source": [ + "It is a conditional probability (see below) and reads as the likelihood of a domain of events $\\boldsymbol{D}$ given a set of parameters $\\boldsymbol{\\theta}$." + ] + }, + { + "cell_type": "markdown", + "id": "e3973752", + "metadata": { + "editable": true + }, + "source": [ + "## Maximum Likelihood Estimation (MLE)\n", + "\n", + "In statistics, maximum likelihood estimation (MLE) is a method of\n", + "estimating the parameters of an assumed probability distribution,\n", + "given some observed data. This is achieved by maximizing a likelihood\n", + "function so that, under the assumed statistical model, the observed\n", + "data is the most probable. \n", + "\n", + "We will assume here that our events are given by the above Gaussian\n", + "distribution and we will determine the optimal parameters $\\theta$ by\n", + "maximizing the above PDF. However, computing the derivatives of a\n", + "product function is cumbersome and can easily lead to overflow and/or\n", + "underflowproblems, with potentials for loss of numerical precision.\n", + "\n", + "In practice, it is more convenient to maximize the logarithm of the\n", + "PDF because it is a monotonically increasing function of the argument.\n", + "Alternatively, and this will be our option, we will minimize the\n", + "negative of the logarithm since this is a monotonically decreasing\n", + "function.\n", + "\n", + "Note also that maximization/minimization of the logarithm of the PDF\n", + "is equivalent to the maximization/minimization of the function itself." + ] + }, + { + "cell_type": "markdown", + "id": "5adedf8a", + "metadata": { + "editable": true + }, + "source": [ + "## A new Cost Function\n", + "\n", + "We could now define a new cost function to minimize, namely the negative logarithm of the above PDF" + ] + }, + { + "cell_type": "markdown", + "id": "23e01c9e", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "C(\\boldsymbol{\\theta})=-\\log{\\prod_{i=0}^{n-1}p(y_i,\\boldsymbol{X}\\vert\\boldsymbol{\\theta})}=-\\sum_{i=0}^{n-1}\\log{p(y_i,\\boldsymbol{X}\\vert\\boldsymbol{\\theta})},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "94cc3cc3", + "metadata": { + "editable": true + }, + "source": [ + "which becomes" + ] + }, + { + "cell_type": "markdown", + "id": "0e3f94c9", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "C(\\boldsymbol{\\theta})=\\frac{n}{2}\\log{2\\pi\\sigma^2}+\\frac{\\vert\\vert (\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta})\\vert\\vert_2^2}{2\\sigma^2}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "b8dcd25e", + "metadata": { + "editable": true + }, + "source": [ + "Taking the derivative of the *new* cost function with respect to the parameters $\\theta$ we recognize our familiar OLS equation, namely" + ] + }, + { + "cell_type": "markdown", + "id": "9140542c", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\boldsymbol{X}^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\theta}\\right) =0,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "294a8ce0", + "metadata": { + "editable": true + }, + "source": [ + "which leads to the well-known OLS equation for the optimal paramters $\\theta$" + ] + }, + { + "cell_type": "markdown", + "id": "a8c1b097", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\hat{\\boldsymbol{\\theta}}^{\\mathrm{OLS}}=\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}!\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "4180c17f", + "metadata": { + "editable": true + }, + "source": [ + "Next week we will make a similar analysis for Ridge and Lasso regression" + ] + }, + { + "cell_type": "markdown", + "id": "6a48bb05", + "metadata": { + "editable": true + }, + "source": [ + "## Why resampling methods\n", + "\n", + "Before we proceed, we need to rethink what we have been doing. In our\n", + "eager to fit the data, we have omitted several important elements in\n", + "our regression analysis. In what follows we will\n", + "1. look at statistical properties, including a discussion of mean values, variance and the so-called bias-variance tradeoff\n", + "\n", + "2. introduce resampling techniques like cross-validation, bootstrapping and jackknife and more\n", + "\n", + "and discuss how to select a given model (one of the difficult parts in machine learning)." + ] + }, + { + "cell_type": "markdown", + "id": "d053a5c8", + "metadata": { + "editable": true + }, + "source": [ + "## Resampling methods\n", + "Resampling methods are an indispensable tool in modern\n", + "statistics. They involve repeatedly drawing samples from a training\n", + "set and refitting a model of interest on each sample in order to\n", + "obtain additional information about the fitted model. For example, in\n", + "order to estimate the variability of a linear regression fit, we can\n", + "repeatedly draw different samples from the training data, fit a linear\n", + "regression to each new sample, and then examine the extent to which\n", + "the resulting fits differ. Such an approach may allow us to obtain\n", + "information that would not be available from fitting the model only\n", + "once using the original training sample.\n", + "\n", + "Two resampling methods are often used in Machine Learning analyses,\n", + "1. The **bootstrap method**\n", + "\n", + "2. and **Cross-Validation**\n", + "\n", + "In addition there are several other methods such as the Jackknife and the Blocking methods. We will discuss in particular\n", + "cross-validation and the bootstrap method." + ] + }, + { + "cell_type": "markdown", + "id": "8cb550a1", + "metadata": { + "editable": true + }, + "source": [ + "## Resampling approaches can be computationally expensive\n", + "\n", + "Resampling approaches can be computationally expensive, because they\n", + "involve fitting the same statistical method multiple times using\n", + "different subsets of the training data. However, due to recent\n", + "advances in computing power, the computational requirements of\n", + "resampling methods generally are not prohibitive. In this chapter, we\n", + "discuss two of the most commonly used resampling methods,\n", + "cross-validation and the bootstrap. Both methods are important tools\n", + "in the practical application of many statistical learning\n", + "procedures. For example, cross-validation can be used to estimate the\n", + "test error associated with a given statistical learning method in\n", + "order to evaluate its performance, or to select the appropriate level\n", + "of flexibility. The process of evaluating a model’s performance is\n", + "known as model assessment, whereas the process of selecting the proper\n", + "level of flexibility for a model is known as model selection. The\n", + "bootstrap is widely used." + ] + }, + { + "cell_type": "markdown", + "id": "96be5396", + "metadata": { + "editable": true + }, + "source": [ + "## Why resampling methods ?\n", + "**Statistical analysis.**\n", + "\n", + "* Our simulations can be treated as *computer experiments*. This is particularly the case for Monte Carlo methods which are widely used in statistical analyses.\n", + "\n", + "* The results can be analysed with the same statistical tools as we would use when analysing experimental data.\n", + "\n", + "* As in all experiments, we are looking for expectation values and an estimate of how accurate they are, i.e., possible sources for errors." + ] + }, + { + "cell_type": "markdown", + "id": "f8a288b4", + "metadata": { + "editable": true + }, + "source": [ + "## Statistical analysis\n", + "\n", + "* As in other experiments, many numerical experiments have two classes of errors:\n", + "\n", + " * Statistical errors\n", + "\n", + " * Systematical errors\n", + "\n", + "* Statistical errors can be estimated using standard tools from statistics\n", + "\n", + "* Systematical errors are method specific and must be treated differently from case to case." + ] + }, + { + "cell_type": "markdown", + "id": "ee8bd2f9", + "metadata": { + "editable": true + }, + "source": [ + "## Resampling methods\n", + "\n", + "With all these analytical equations for both the OLS and Ridge\n", + "regression, we will now outline how to assess a given model. This will\n", + "lead to a discussion of the so-called bias-variance tradeoff (see\n", + "below) and so-called resampling methods.\n", + "\n", + "One of the quantities we have discussed as a way to measure errors is\n", + "the mean-squared error (MSE), mainly used for fitting of continuous\n", + "functions. Another choice is the absolute error.\n", + "\n", + "In the discussions below we will focus on the MSE and in particular since we will split the data into test and training data,\n", + "we discuss the\n", + "1. prediction error or simply the **test error** $\\mathrm{Err_{Test}}$, where we have a fixed training set and the test error is the MSE arising from the data reserved for testing. We discuss also the \n", + "\n", + "2. training error $\\mathrm{Err_{Train}}$, which is the average loss over the training data.\n", + "\n", + "As our model becomes more and more complex, more of the training data tends to used. The training may thence adapt to more complicated structures in the data. This may lead to a decrease in the bias (see below for code example) and a slight increase of the variance for the test error.\n", + "For a certain level of complexity the test error will reach minimum, before starting to increase again. The\n", + "training error reaches a saturation." + ] + }, + { + "cell_type": "markdown", + "id": "1037fcf3", + "metadata": { + "editable": true + }, + "source": [ + "## Resampling methods: Bootstrap\n", + "Bootstrapping is a [non-parametric approach](https://en.wikipedia.org/wiki/Nonparametric_statistics) to statistical inference\n", + "that substitutes computation for more traditional distributional\n", + "assumptions and asymptotic results. Bootstrapping offers a number of\n", + "advantages: \n", + "1. The bootstrap is quite general, although there are some cases in which it fails. \n", + "\n", + "2. Because it does not require distributional assumptions (such as normally distributed errors), the bootstrap can provide more accurate inferences when the data are not well behaved or when the sample size is small. \n", + "\n", + "3. It is possible to apply the bootstrap to statistics with sampling distributions that are difficult to derive, even asymptotically. \n", + "\n", + "4. It is relatively simple to apply the bootstrap to complex data-collection plans (such as stratified and clustered samples).\n", + "\n", + "The textbook by [Davison on the Bootstrap Methods and their Applications](https://www.cambridge.org/core/books/bootstrap-methods-and-their-application/ED2FD043579F27952363566DC09CBD6A) provides many more insights and proofs. In this course we will take a more practical approach and use the results and theorems provided in the literature. For those interested in reading more about the bootstrap methods, we recommend the above text and the one by [Efron and Tibshirani](https://www.routledge.com/An-Introduction-to-the-Bootstrap/Efron-Tibshirani/p/book/9780412042317).\n", + "\n", + "Before we proceed however, we need to remind ourselves about a central theorem in statistics, namely the so-called **central limit theorem**." + ] + }, + { + "cell_type": "markdown", + "id": "2653d9e3", + "metadata": { + "editable": true + }, + "source": [ + "## The Central Limit Theorem\n", + "\n", + "Suppose we have a PDF $p(x)$ from which we generate a series $N$\n", + "of averages $\\mathbb{E}[x_i]$. Each mean value $\\mathbb{E}[x_i]$\n", + "is viewed as the average of a specific measurement, e.g., throwing \n", + "dice 100 times and then taking the average value, or producing a certain\n", + "amount of random numbers. \n", + "For notational ease, we set $\\mathbb{E}[x_i]=x_i$ in the discussion\n", + "which follows. We do the same for $\\mathbb{E}[z]=z$.\n", + "\n", + "If we compute the mean $z$ of $m$ such mean values $x_i$" + ] + }, + { + "cell_type": "markdown", + "id": "33e4596e", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "z=\\frac{x_1+x_2+\\dots+x_m}{m},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "137d3cd6", + "metadata": { + "editable": true + }, + "source": [ + "the question we pose is which is the PDF of the new variable $z$." + ] + }, + { + "cell_type": "markdown", + "id": "4c9853b7", + "metadata": { + "editable": true + }, + "source": [ + "## Finding the Limit\n", + "\n", + "The probability of obtaining an average value $z$ is the product of the \n", + "probabilities of obtaining arbitrary individual mean values $x_i$,\n", + "but with the constraint that the average is $z$. We can express this through\n", + "the following expression" + ] + }, + { + "cell_type": "markdown", + "id": "493028c4", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\tilde{p}(z)=\\int dx_1p(x_1)\\int dx_2p(x_2)\\dots\\int dx_mp(x_m)\n", + " \\delta(z-\\frac{x_1+x_2+\\dots+x_m}{m}),\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "c819e616", + "metadata": { + "editable": true + }, + "source": [ + "where the $\\delta$-function enbodies the constraint that the mean is $z$.\n", + "All measurements that lead to each individual $x_i$ are expected to\n", + "be independent, which in turn means that we can express $\\tilde{p}$ as the \n", + "product of individual $p(x_i)$. The independence assumption is important in the derivation of the central limit theorem." + ] + }, + { + "cell_type": "markdown", + "id": "f0385e1a", + "metadata": { + "editable": true + }, + "source": [ + "## Rewriting the $\\delta$-function\n", + "\n", + "If we use the integral expression for the $\\delta$-function" + ] + }, + { + "cell_type": "markdown", + "id": "4310a9b4", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\delta(z-\\frac{x_1+x_2+\\dots+x_m}{m})=\\frac{1}{2\\pi}\\int_{-\\infty}^{\\infty}\n", + " dq\\exp{\\left(iq(z-\\frac{x_1+x_2+\\dots+x_m}{m})\\right)},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "1e3932be", + "metadata": { + "editable": true + }, + "source": [ + "and inserting $e^{i\\mu q-i\\mu q}$ where $\\mu$ is the mean value\n", + "we arrive at" + ] + }, + { + "cell_type": "markdown", + "id": "91e64919", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\tilde{p}(z)=\\frac{1}{2\\pi}\\int_{-\\infty}^{\\infty}\n", + " dq\\exp{\\left(iq(z-\\mu)\\right)}\\left[\\int_{-\\infty}^{\\infty}\n", + " dxp(x)\\exp{\\left(iq(\\mu-x)/m\\right)}\\right]^m,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "c83a8ca5", + "metadata": { + "editable": true + }, + "source": [ + "with the integral over $x$ resulting in" + ] + }, + { + "cell_type": "markdown", + "id": "16c94c48", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\int_{-\\infty}^{\\infty}dxp(x)\\exp{\\left(iq(\\mu-x)/m\\right)}=\n", + " \\int_{-\\infty}^{\\infty}dxp(x)\n", + " \\left[1+\\frac{iq(\\mu-x)}{m}-\\frac{q^2(\\mu-x)^2}{2m^2}+\\dots\\right].\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "63bc9d16", + "metadata": { + "editable": true + }, + "source": [ + "## Identifying Terms\n", + "\n", + "The second term on the rhs disappears since this is just the mean and \n", + "employing the definition of $\\sigma^2$ we have" + ] + }, + { + "cell_type": "markdown", + "id": "710fedd5", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\int_{-\\infty}^{\\infty}dxp(x)e^{\\left(iq(\\mu-x)/m\\right)}=\n", + " 1-\\frac{q^2\\sigma^2}{2m^2}+\\dots,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "8c47e8f8", + "metadata": { + "editable": true + }, + "source": [ + "resulting in" + ] + }, + { + "cell_type": "markdown", + "id": "c0e43db3", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\left[\\int_{-\\infty}^{\\infty}dxp(x)\\exp{\\left(iq(\\mu-x)/m\\right)}\\right]^m\\approx\n", + " \\left[1-\\frac{q^2\\sigma^2}{2m^2}+\\dots \\right]^m,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "e9a40705", + "metadata": { + "editable": true + }, + "source": [ + "and in the limit $m\\rightarrow \\infty$ we obtain" + ] + }, + { + "cell_type": "markdown", + "id": "de6040d9", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\tilde{p}(z)=\\frac{1}{\\sqrt{2\\pi}(\\sigma/\\sqrt{m})}\n", + " \\exp{\\left(-\\frac{(z-\\mu)^2}{2(\\sigma/\\sqrt{m})^2}\\right)},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "f2907638", + "metadata": { + "editable": true + }, + "source": [ + "which is the normal distribution with variance\n", + "$\\sigma^2_m=\\sigma^2/m$, where $\\sigma$ is the variance of the PDF $p(x)$\n", + "and $\\mu$ is also the mean of the PDF $p(x)$." + ] + }, + { + "cell_type": "markdown", + "id": "9e53d173", + "metadata": { + "editable": true + }, + "source": [ + "## Wrapping it up\n", + "\n", + "Thus, the central limit theorem states that the PDF $\\tilde{p}(z)$ of\n", + "the average of $m$ random values corresponding to a PDF $p(x)$ \n", + "is a normal distribution whose mean is the \n", + "mean value of the PDF $p(x)$ and whose variance is the variance\n", + "of the PDF $p(x)$ divided by $m$, the number of values used to compute $z$.\n", + "\n", + "The central limit theorem leads to the well-known expression for the\n", + "standard deviation, given by" + ] + }, + { + "cell_type": "markdown", + "id": "959c77be", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\sigma_m=\n", + "\\frac{\\sigma}{\\sqrt{m}}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "6470ab77", + "metadata": { + "editable": true + }, + "source": [ + "The latter is true only if the average value is known exactly. This is obtained in the limit\n", + "$m\\rightarrow \\infty$ only. Because the mean and the variance are measured quantities we obtain \n", + "the familiar expression in statistics (the so-called Bessel correction)" + ] + }, + { + "cell_type": "markdown", + "id": "720c157a", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\sigma_m\\approx \n", + "\\frac{\\sigma}{\\sqrt{m-1}}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "62c153d3", + "metadata": { + "editable": true + }, + "source": [ + "In many cases however the above estimate for the standard deviation,\n", + "in particular if correlations are strong, may be too simplistic. Keep\n", + "in mind that we have assumed that the variables $x$ are independent\n", + "and identically distributed. This is obviously not always the\n", + "case. For example, the random numbers (or better pseudorandom numbers)\n", + "we generate in various calculations do always exhibit some\n", + "correlations.\n", + "\n", + "The theorem is satisfied by a large class of PDFs. Note however that for a\n", + "finite $m$, it is not always possible to find a closed form /analytic expression for\n", + "$\\tilde{p}(x)$." + ] + }, + { + "cell_type": "markdown", + "id": "cfd10bd9", + "metadata": { + "editable": true + }, + "source": [ + "## Confidence Intervals\n", + "\n", + "Confidence intervals are used in statistics and represent a type of estimate\n", + "computed from the observed data. This gives a range of values for an\n", + "unknown parameter such as the parameters $\\boldsymbol{\\theta}$ from linear regression.\n", + "\n", + "With the OLS expressions for the parameters $\\boldsymbol{\\theta}$ we found \n", + "$\\mathbb{E}(\\boldsymbol{\\theta}) = \\boldsymbol{\\theta}$, which means that the estimator of the regression parameters is unbiased.\n", + "\n", + "In the exercises this week we show that the variance of the estimate of the $j$-th regression coefficient is\n", + "$\\boldsymbol{\\sigma}^2 (\\boldsymbol{\\theta}_j ) = \\boldsymbol{\\sigma}^2 [(\\mathbf{X}^{T} \\mathbf{X})^{-1}]_{jj} $.\n", + "\n", + "This quantity can be used to\n", + "construct a confidence interval for the estimates." + ] + }, + { + "cell_type": "markdown", + "id": "40dc022d", + "metadata": { + "editable": true + }, + "source": [ + "## Standard Approach based on the Normal Distribution\n", + "\n", + "We will assume that the parameters $\\theta$ follow a normal\n", + "distribution. We can then define the confidence interval. Here we will be using as\n", + "shorthands $\\mu_{\\theta}$ for the above mean value and $\\sigma_{\\theta}$\n", + "for the standard deviation. We have then a confidence interval" + ] + }, + { + "cell_type": "markdown", + "id": "242bfa08", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\left(\\mu_{\\theta}\\pm \\frac{z\\sigma_{\\theta}}{\\sqrt{n}}\\right),\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "7dd4616b", + "metadata": { + "editable": true + }, + "source": [ + "where $z$ defines the level of certainty (or confidence). For a normal\n", + "distribution typical parameters are $z=2.576$ which corresponds to a\n", + "confidence of $99\\%$ while $z=1.96$ corresponds to a confidence of\n", + "$95\\%$. A confidence level of $95\\%$ is commonly used and it is\n", + "normally referred to as a *two-sigmas* confidence level, that is we\n", + "approximate $z\\approx 2$.\n", + "\n", + "For more discussions of confidence intervals (and in particular linked with a discussion of the bootstrap method), see chapter 5 of the textbook by [Davison on the Bootstrap Methods and their Applications](https://www.cambridge.org/core/books/bootstrap-methods-and-their-application/ED2FD043579F27952363566DC09CBD6A)\n", + "\n", + "In this text you will also find an in-depth discussion of the\n", + "Bootstrap method, why it works and various theorems related to it." + ] + }, + { + "cell_type": "markdown", + "id": "00b509e4", + "metadata": { + "editable": true + }, + "source": [ + "## Resampling methods: Bootstrap background\n", + "\n", + "Since $\\widehat{\\theta} = \\widehat{\\theta}(\\boldsymbol{X})$ is a function of random variables,\n", + "$\\widehat{\\theta}$ itself must be a random variable. Thus it has\n", + "a pdf, call this function $p(\\boldsymbol{t})$. The aim of the bootstrap is to\n", + "estimate $p(\\boldsymbol{t})$ by the relative frequency of\n", + "$\\widehat{\\theta}$. You can think of this as using a histogram\n", + "in the place of $p(\\boldsymbol{t})$. If the relative frequency closely\n", + "resembles $p(\\vec{t})$, then using numerics, it is straight forward to\n", + "estimate all the interesting parameters of $p(\\boldsymbol{t})$ using point\n", + "estimators." + ] + }, + { + "cell_type": "markdown", + "id": "941834ae", + "metadata": { + "editable": true + }, + "source": [ + "## Resampling methods: More Bootstrap background\n", + "\n", + "In the case that $\\widehat{\\theta}$ has\n", + "more than one component, and the components are independent, we use the\n", + "same estimator on each component separately. If the probability\n", + "density function of $X_i$, $p(x)$, had been known, then it would have\n", + "been straightforward to do this by: \n", + "1. Drawing lots of numbers from $p(x)$, suppose we call one such set of numbers $(X_1^*, X_2^*, \\cdots, X_n^*)$. \n", + "\n", + "2. Then using these numbers, we could compute a replica of $\\widehat{\\theta}$ called $\\widehat{\\theta}^*$. \n", + "\n", + "By repeated use of the above two points, many\n", + "estimates of $\\widehat{\\theta}$ can be obtained. The\n", + "idea is to use the relative frequency of $\\widehat{\\theta}^*$\n", + "(think of a histogram) as an estimate of $p(\\boldsymbol{t})$." + ] + }, + { + "cell_type": "markdown", + "id": "69ba3346", + "metadata": { + "editable": true + }, + "source": [ + "## Resampling methods: Bootstrap approach\n", + "\n", + "But\n", + "unless there is enough information available about the process that\n", + "generated $X_1,X_2,\\cdots,X_n$, $p(x)$ is in general\n", + "unknown. Therefore, [Efron in 1979](https://projecteuclid.org/euclid.aos/1176344552) asked the\n", + "question: What if we replace $p(x)$ by the relative frequency\n", + "of the observation $X_i$?\n", + "\n", + "If we draw observations in accordance with\n", + "the relative frequency of the observations, will we obtain the same\n", + "result in some asymptotic sense? The answer is yes." + ] + }, + { + "cell_type": "markdown", + "id": "99f1499e", + "metadata": { + "editable": true + }, + "source": [ + "## Resampling methods: Bootstrap steps\n", + "\n", + "The independent bootstrap works like this: \n", + "\n", + "1. Draw with replacement $n$ numbers for the observed variables $\\boldsymbol{x} = (x_1,x_2,\\cdots,x_n)$. \n", + "\n", + "2. Define a vector $\\boldsymbol{x}^*$ containing the values which were drawn from $\\boldsymbol{x}$. \n", + "\n", + "3. Using the vector $\\boldsymbol{x}^*$ compute $\\widehat{\\theta}^*$ by evaluating $\\widehat \\theta$ under the observations $\\boldsymbol{x}^*$. \n", + "\n", + "4. Repeat this process $k$ times. \n", + "\n", + "When you are done, you can draw a histogram of the relative frequency\n", + "of $\\widehat \\theta^*$. This is your estimate of the probability\n", + "distribution $p(t)$. Using this probability distribution you can\n", + "estimate any statistics thereof. In principle you never draw the\n", + "histogram of the relative frequency of $\\widehat{\\theta}^*$. Instead\n", + "you use the estimators corresponding to the statistic of interest. For\n", + "example, if you are interested in estimating the variance of $\\widehat\n", + "\\theta$, apply the etsimator $\\widehat \\sigma^2$ to the values\n", + "$\\widehat \\theta^*$." + ] + }, + { + "cell_type": "markdown", + "id": "c817851a", + "metadata": { + "editable": true + }, + "source": [ + "## Code example for the Bootstrap method\n", + "\n", + "The following code starts with a Gaussian distribution with mean value\n", + "$\\mu =100$ and variance $\\sigma=15$. We use this to generate the data\n", + "used in the bootstrap analysis. The bootstrap analysis returns a data\n", + "set after a given number of bootstrap operations (as many as we have\n", + "data points). This data set consists of estimated mean values for each\n", + "bootstrap operation. The histogram generated by the bootstrap method\n", + "shows that the distribution for these mean values is also a Gaussian,\n", + "centered around the mean value $\\mu=100$ but with standard deviation\n", + "$\\sigma/\\sqrt{n}$, where $n$ is the number of bootstrap samples (in\n", + "this case the same as the number of original data points). The value\n", + "of the standard deviation is what we expect from the central limit\n", + "theorem." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "4b9647f3", + "metadata": { + "collapsed": false, + "editable": true, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "\n", + "import numpy as np\n", + "from time import time\n", + "from scipy.stats import norm\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Returns mean of bootstrap samples \n", + "# Bootstrap algorithm\n", + "def bootstrap(data, datapoints):\n", + " t = np.zeros(datapoints)\n", + " n = len(data)\n", + " # non-parametric bootstrap \n", + " for i in range(datapoints):\n", + " t[i] = np.mean(data[np.random.randint(0,n,n)])\n", + " # analysis \n", + " print(\"Bootstrap Statistics :\")\n", + " print(\"original bias std. error\")\n", + " print(\"%8g %8g %14g %15g\" % (np.mean(data), np.std(data),np.mean(t),np.std(t)))\n", + " return t\n", + "\n", + "# We set the mean value to 100 and the standard deviation to 15\n", + "mu, sigma = 100, 15\n", + "datapoints = 10000\n", + "# We generate random numbers according to the normal distribution\n", + "x = mu + sigma*np.random.randn(datapoints)\n", + "# bootstrap returns the data sample \n", + "t = bootstrap(x, datapoints)" + ] + }, + { + "cell_type": "markdown", + "id": "26cf7fd4", + "metadata": { + "editable": true + }, + "source": [ + "We see that our new variance and from that the standard deviation, agrees with the central limit theorem." + ] + }, + { + "cell_type": "markdown", + "id": "b2205188", + "metadata": { + "editable": true + }, + "source": [ + "## Plotting the Histogram" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "be6f7ced", + "metadata": { + "collapsed": false, + "editable": true, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "# the histogram of the bootstrapped data (normalized data if density = True)\n", + "n, binsboot, patches = plt.hist(t, 50, density=True, facecolor='red', alpha=0.75)\n", + "# add a 'best fit' line \n", + "y = norm.pdf(binsboot, np.mean(t), np.std(t))\n", + "lt = plt.plot(binsboot, y, 'b', linewidth=1)\n", + "plt.xlabel('x')\n", + "plt.ylabel('Probability')\n", + "plt.grid(True)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "69bcb406", + "metadata": { + "editable": true + }, + "source": [ + "## The bias-variance tradeoff\n", + "\n", + "We will discuss the bias-variance tradeoff in the context of\n", + "continuous predictions such as regression. However, many of the\n", + "intuitions and ideas discussed here also carry over to classification\n", + "tasks. Consider a dataset $\\mathcal{D}$ consisting of the data\n", + "$\\mathbf{X}_\\mathcal{D}=\\{(y_j, \\boldsymbol{x}_j), j=0\\ldots n-1\\}$. \n", + "\n", + "Let us assume that the true data is generated from a noisy model" + ] + }, + { + "cell_type": "markdown", + "id": "ce87dc4f", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\boldsymbol{y}=f(\\boldsymbol{x}) + \\boldsymbol{\\epsilon}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "b8d1371c", + "metadata": { + "editable": true + }, + "source": [ + "where $\\epsilon$ is normally distributed with mean zero and standard deviation $\\sigma^2$.\n", + "\n", + "In our derivation of the ordinary least squares method we defined then\n", + "an approximation to the function $f$ in terms of the parameters\n", + "$\\boldsymbol{\\theta}$ and the design matrix $\\boldsymbol{X}$ which embody our model,\n", + "that is $\\boldsymbol{\\tilde{y}}=\\boldsymbol{X}\\boldsymbol{\\theta}$. \n", + "\n", + "Thereafter we found the parameters $\\boldsymbol{\\theta}$ by optimizing the means squared error via the so-called cost function" + ] + }, + { + "cell_type": "markdown", + "id": "c95f3051", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "C(\\boldsymbol{X},\\boldsymbol{\\theta}) =\\frac{1}{n}\\sum_{i=0}^{n-1}(y_i-\\tilde{y}_i)^2=\\mathbb{E}\\left[(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2\\right].\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "107fab0a", + "metadata": { + "editable": true + }, + "source": [ + "We can rewrite this as" + ] + }, + { + "cell_type": "markdown", + "id": "d56b4bd7", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\mathbb{E}\\left[(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2\\right]=\\frac{1}{n}\\sum_i(f_i-\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right])^2+\\frac{1}{n}\\sum_i(\\tilde{y}_i-\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right])^2+\\sigma^2.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "4712d813", + "metadata": { + "editable": true + }, + "source": [ + "The three terms represent the square of the bias of the learning\n", + "method, which can be thought of as the error caused by the simplifying\n", + "assumptions built into the method. The second term represents the\n", + "variance of the chosen model and finally the last terms is variance of\n", + "the error $\\boldsymbol{\\epsilon}$.\n", + "\n", + "To derive this equation, we need to recall that the variance of $\\boldsymbol{y}$ and $\\boldsymbol{\\epsilon}$ are both equal to $\\sigma^2$. The mean value of $\\boldsymbol{\\epsilon}$ is by definition equal to zero. Furthermore, the function $f$ is not a stochastics variable, idem for $\\boldsymbol{\\tilde{y}}$.\n", + "We use a more compact notation in terms of the expectation value" + ] + }, + { + "cell_type": "markdown", + "id": "43a58a59", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\mathbb{E}\\left[(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2\\right]=\\mathbb{E}\\left[(\\boldsymbol{f}+\\boldsymbol{\\epsilon}-\\boldsymbol{\\tilde{y}})^2\\right],\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "6333f694", + "metadata": { + "editable": true + }, + "source": [ + "and adding and subtracting $\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right]$ we get" + ] + }, + { + "cell_type": "markdown", + "id": "24e27c2b", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\mathbb{E}\\left[(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2\\right]=\\mathbb{E}\\left[(\\boldsymbol{f}+\\boldsymbol{\\epsilon}-\\boldsymbol{\\tilde{y}}+\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right]-\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right])^2\\right],\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "0462c197", + "metadata": { + "editable": true + }, + "source": [ + "which, using the abovementioned expectation values can be rewritten as" + ] + }, + { + "cell_type": "markdown", + "id": "965cd453", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\mathbb{E}\\left[(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2\\right]=\\mathbb{E}\\left[(\\boldsymbol{y}-\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right])^2\\right]+\\mathrm{Var}\\left[\\boldsymbol{\\tilde{y}}\\right]+\\sigma^2,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "4426c74e", + "metadata": { + "editable": true + }, + "source": [ + "that is the rewriting in terms of the so-called bias, the variance of the model $\\boldsymbol{\\tilde{y}}$ and the variance of $\\boldsymbol{\\epsilon}$." + ] + }, + { + "cell_type": "markdown", + "id": "d68ec470", + "metadata": { + "editable": true + }, + "source": [ + "## A way to Read the Bias-Variance Tradeoff\n", + "\n", + "\n", + "\n", + "\n", + "

    Figure 1:

    \n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "0198c371", + "metadata": { + "editable": true + }, + "source": [ + "## Example code for Bias-Variance tradeoff" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "af517050", + "metadata": { + "collapsed": false, + "editable": true, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from sklearn.linear_model import LinearRegression, Ridge, Lasso\n", + "from sklearn.preprocessing import PolynomialFeatures\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.pipeline import make_pipeline\n", + "from sklearn.utils import resample\n", + "\n", + "np.random.seed(2018)\n", + "\n", + "n = 500\n", + "n_boostraps = 100\n", + "degree = 18 # A quite high value, just to show.\n", + "noise = 0.1\n", + "\n", + "# Make data set.\n", + "x = np.linspace(-1, 3, n).reshape(-1, 1)\n", + "y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2) + np.random.normal(0, 0.1, x.shape)\n", + "\n", + "# Hold out some test data that is never used in training.\n", + "x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2)\n", + "\n", + "# Combine x transformation and model into one operation.\n", + "# Not neccesary, but convenient.\n", + "model = make_pipeline(PolynomialFeatures(degree=degree), LinearRegression(fit_intercept=False))\n", + "\n", + "# The following (m x n_bootstraps) matrix holds the column vectors y_pred\n", + "# for each bootstrap iteration.\n", + "y_pred = np.empty((y_test.shape[0], n_boostraps))\n", + "for i in range(n_boostraps):\n", + " x_, y_ = resample(x_train, y_train)\n", + "\n", + " # Evaluate the new model on the same test data each time.\n", + " y_pred[:, i] = model.fit(x_, y_).predict(x_test).ravel()\n", + "\n", + "# Note: Expectations and variances taken w.r.t. different training\n", + "# data sets, hence the axis=1. Subsequent means are taken across the test data\n", + "# set in order to obtain a total value, but before this we have error/bias/variance\n", + "# calculated per data point in the test set.\n", + "# Note 2: The use of keepdims=True is important in the calculation of bias as this \n", + "# maintains the column vector form. Dropping this yields very unexpected results.\n", + "error = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) )\n", + "bias = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 )\n", + "variance = np.mean( np.var(y_pred, axis=1, keepdims=True) )\n", + "print('Error:', error)\n", + "print('Bias^2:', bias)\n", + "print('Var:', variance)\n", + "print('{} >= {} + {} = {}'.format(error, bias, variance, bias+variance))\n", + "\n", + "plt.plot(x[::5, :], y[::5, :], label='f(x)')\n", + "plt.scatter(x_test, y_test, label='Data points')\n", + "plt.scatter(x_test, np.mean(y_pred, axis=1), label='Pred')\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "2b502d1d", + "metadata": { + "editable": true + }, + "source": [ + "## Understanding what happens" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "9a5194fb", + "metadata": { + "collapsed": false, + "editable": true, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from sklearn.linear_model import LinearRegression, Ridge, Lasso\n", + "from sklearn.preprocessing import PolynomialFeatures\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.pipeline import make_pipeline\n", + "from sklearn.utils import resample\n", + "\n", + "np.random.seed(2018)\n", + "\n", + "n = 40\n", + "n_boostraps = 100\n", + "maxdegree = 14\n", + "\n", + "\n", + "# Make data set.\n", + "x = np.linspace(-3, 3, n).reshape(-1, 1)\n", + "y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)\n", + "error = np.zeros(maxdegree)\n", + "bias = np.zeros(maxdegree)\n", + "variance = np.zeros(maxdegree)\n", + "polydegree = np.zeros(maxdegree)\n", + "x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2)\n", + "\n", + "for degree in range(maxdegree):\n", + " model = make_pipeline(PolynomialFeatures(degree=degree), LinearRegression(fit_intercept=False))\n", + " y_pred = np.empty((y_test.shape[0], n_boostraps))\n", + " for i in range(n_boostraps):\n", + " x_, y_ = resample(x_train, y_train)\n", + " y_pred[:, i] = model.fit(x_, y_).predict(x_test).ravel()\n", + "\n", + " polydegree[degree] = degree\n", + " error[degree] = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) )\n", + " bias[degree] = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 )\n", + " variance[degree] = np.mean( np.var(y_pred, axis=1, keepdims=True) )\n", + " print('Polynomial degree:', degree)\n", + " print('Error:', error[degree])\n", + " print('Bias^2:', bias[degree])\n", + " print('Var:', variance[degree])\n", + " print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree]))\n", + "\n", + "plt.plot(polydegree, error, label='Error')\n", + "plt.plot(polydegree, bias, label='bias')\n", + "plt.plot(polydegree, variance, label='Variance')\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "727c7723", + "metadata": { + "editable": true + }, + "source": [ + "## Summing up\n", + "\n", + "The bias-variance tradeoff summarizes the fundamental tension in\n", + "machine learning, particularly supervised learning, between the\n", + "complexity of a model and the amount of training data needed to train\n", + "it. Since data is often limited, in practice it is often useful to\n", + "use a less-complex model with higher bias, that is a model whose asymptotic\n", + "performance is worse than another model because it is easier to\n", + "train and less sensitive to sampling noise arising from having a\n", + "finite-sized training dataset (smaller variance). \n", + "\n", + "The above equations tell us that in\n", + "order to minimize the expected test error, we need to select a\n", + "statistical learning method that simultaneously achieves low variance\n", + "and low bias. Note that variance is inherently a nonnegative quantity,\n", + "and squared bias is also nonnegative. Hence, we see that the expected\n", + "test MSE can never lie below $Var(\\epsilon)$, the irreducible error.\n", + "\n", + "What do we mean by the variance and bias of a statistical learning\n", + "method? The variance refers to the amount by which our model would change if we\n", + "estimated it using a different training data set. Since the training\n", + "data are used to fit the statistical learning method, different\n", + "training data sets will result in a different estimate. But ideally the\n", + "estimate for our model should not vary too much between training\n", + "sets. However, if a method has high variance then small changes in\n", + "the training data can result in large changes in the model. In general, more\n", + "flexible statistical methods have higher variance.\n", + "\n", + "You may also find this recent [article](https://www.pnas.org/content/116/32/15849) of interest." + ] + }, + { + "cell_type": "markdown", + "id": "7e90566c", + "metadata": { + "editable": true + }, + "source": [ + "## Another Example from Scikit-Learn's Repository\n", + "\n", + "This example demonstrates the problems of underfitting and overfitting and\n", + "how we can use linear regression with polynomial features to approximate\n", + "nonlinear functions. The plot shows the function that we want to approximate,\n", + "which is a part of the cosine function. In addition, the samples from the\n", + "real function and the approximations of different models are displayed. The\n", + "models have polynomial features of different degrees. We can see that a\n", + "linear function (polynomial with degree 1) is not sufficient to fit the\n", + "training samples. This is called **underfitting**. A polynomial of degree 4\n", + "approximates the true function almost perfectly. However, for higher degrees\n", + "the model will **overfit** the training data, i.e. it learns the noise of the\n", + "training data.\n", + "We evaluate quantitatively overfitting and underfitting by using\n", + "cross-validation. We calculate the mean squared error (MSE) on the validation\n", + "set, the higher, the less likely the model generalizes correctly from the\n", + "training data." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "7c760f15", + "metadata": { + "collapsed": false, + "editable": true, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "\n", + "\n", + "#print(__doc__)\n", + "\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.preprocessing import PolynomialFeatures\n", + "from sklearn.linear_model import LinearRegression\n", + "from sklearn.model_selection import cross_val_score\n", + "\n", + "\n", + "def true_fun(X):\n", + " return np.cos(1.5 * np.pi * X)\n", + "\n", + "np.random.seed(0)\n", + "\n", + "n_samples = 30\n", + "degrees = [1, 4, 15]\n", + "\n", + "X = np.sort(np.random.rand(n_samples))\n", + "y = true_fun(X) + np.random.randn(n_samples) * 0.1\n", + "\n", + "plt.figure(figsize=(14, 5))\n", + "for i in range(len(degrees)):\n", + " ax = plt.subplot(1, len(degrees), i + 1)\n", + " plt.setp(ax, xticks=(), yticks=())\n", + "\n", + " polynomial_features = PolynomialFeatures(degree=degrees[i],\n", + " include_bias=False)\n", + " linear_regression = LinearRegression()\n", + " pipeline = Pipeline([(\"polynomial_features\", polynomial_features),\n", + " (\"linear_regression\", linear_regression)])\n", + " pipeline.fit(X[:, np.newaxis], y)\n", + "\n", + " # Evaluate the models using crossvalidation\n", + " scores = cross_val_score(pipeline, X[:, np.newaxis], y,\n", + " scoring=\"neg_mean_squared_error\", cv=10)\n", + "\n", + " X_test = np.linspace(0, 1, 100)\n", + " plt.plot(X_test, pipeline.predict(X_test[:, np.newaxis]), label=\"Model\")\n", + " plt.plot(X_test, true_fun(X_test), label=\"True function\")\n", + " plt.scatter(X, y, edgecolor='b', s=20, label=\"Samples\")\n", + " plt.xlabel(\"x\")\n", + " plt.ylabel(\"y\")\n", + " plt.xlim((0, 1))\n", + " plt.ylim((-2, 2))\n", + " plt.legend(loc=\"best\")\n", + " plt.title(\"Degree {}\\nMSE = {:.2e}(+/- {:.2e})\".format(\n", + " degrees[i], -scores.mean(), scores.std()))\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "2619ab70", + "metadata": { + "editable": true + }, "source": [ - "\n", "## Various steps in cross-validation\n", "\n", "When the repetitive splitting of the data set is done randomly,\n", @@ -183,56 +1925,15 @@ "test set over the splits. Still the division into the $k$ subsets\n", "involves a degree of randomness. This may be fully excluded when\n", "choosing $k=n$. This particular case is referred to as leave-one-out\n", - "cross-validation (LOOCV). \n", - "\n", - "\n", - "## How to set up the cross-validation for Ridge and/or Lasso\n", - "\n", - "* Define a range of interest for the penalty parameter.\n", - "\n", - "* Divide the data set into training and test set comprising samples $\\{1, \\ldots, n\\} \\setminus i$ and $\\{ i \\}$, respectively.\n", - "\n", - "* Fit the linear regression model by means of ridge estimation for each $\\lambda$ in the grid using the training set, and the corresponding estimate of the error variance $\\boldsymbol{\\sigma}_{-i}^2(\\lambda)$, as" + "cross-validation (LOOCV)." ] }, { "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\begin{align*}\n", - "\\boldsymbol{\\beta}_{-i}(\\lambda) & = ( \\boldsymbol{X}_{-i, \\ast}^{T}\n", - "\\boldsymbol{X}_{-i, \\ast} + \\lambda \\boldsymbol{I}_{pp})^{-1}\n", - "\\boldsymbol{X}_{-i, \\ast}^{T} \\boldsymbol{y}_{-i}\n", - "\\end{align*}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "* Evaluate the prediction performance of these models on the test set by $\\log\\{L[y_i, \\boldsymbol{X}_{i, \\ast}; \\boldsymbol{\\beta}_{-i}(\\lambda), \\boldsymbol{\\sigma}_{-i}^2(\\lambda)]\\}$. Or, by the prediction error $|y_i - \\boldsymbol{X}_{i, \\ast} \\boldsymbol{\\beta}_{-i}(\\lambda)|$, the relative error, the error squared or the R2 score function.\n", - "\n", - "* Repeat the first three steps such that each sample plays the role of the test set once.\n", - "\n", - "* Average the prediction performances of the test sets at each grid point of the penalty bias/parameter. It is an estimate of the prediction performance of the model corresponding to this value of the penalty parameter on novel data. It is defined as" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\begin{align*}\n", - "\\frac{1}{n} \\sum_{i = 1}^n \\log\\{L[y_i, \\mathbf{X}_{i, \\ast}; \\boldsymbol{\\beta}_{-i}(\\lambda), \\boldsymbol{\\sigma}_{-i}^2(\\lambda)]\\}.\n", - "\\end{align*}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, + "id": "3e4d0bdb", + "metadata": { + "editable": true + }, "source": [ "## Cross-validation in brief\n", "\n", @@ -252,9 +1953,16 @@ "\n", "d. Retain the evaluation score and discard the model\n", "\n", - "\n", - "5. Summarize the model using the sample of model evaluation scores\n", - "\n", + "5. Summarize the model using the sample of model evaluation scores" + ] + }, + { + "cell_type": "markdown", + "id": "65d5f3f5", + "metadata": { + "editable": true + }, + "source": [ "## Code Example for Cross-validation and $k$-fold Cross-validation\n", "\n", "The code here uses Ridge regression with cross-validation (CV) resampling and $k$-fold CV in order to fit a specific polynomial." @@ -262,12 +1970,17 @@ }, { "cell_type": "code", - "execution_count": 1, - "metadata": {}, + "execution_count": 6, + "id": "66c55986", + "metadata": { + "collapsed": false, + "editable": true, + "jupyter": { + "outputs_hidden": false + } + }, "outputs": [], "source": [ - "%matplotlib inline\n", - "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from sklearn.model_selection import KFold\n", @@ -361,1365 +2074,26 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8bd8e7a8", + "metadata": { + "editable": true + }, "source": [ - "## Bias-Variance tradeoff with Bootstrap" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "import numpy as np\n", - "from sklearn.linear_model import LinearRegression, Ridge, Lasso\n", - "from sklearn.preprocessing import PolynomialFeatures\n", - "from sklearn.model_selection import train_test_split\n", - "from sklearn.pipeline import make_pipeline\n", - "from sklearn.utils import resample\n", - "\n", - "np.random.seed(2018)\n", - "\n", - "n = 40\n", - "n_boostraps = 100\n", - "maxdegree = 14\n", - "\n", - "\n", - "# Make data set.\n", - "x = np.linspace(-3, 3, n).reshape(-1, 1)\n", - "y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)\n", - "error = np.zeros(maxdegree)\n", - "bias = np.zeros(maxdegree)\n", - "variance = np.zeros(maxdegree)\n", - "polydegree = np.zeros(maxdegree)\n", - "x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2)\n", - "\n", - "for degree in range(maxdegree):\n", - " model = make_pipeline(PolynomialFeatures(degree=degree), LinearRegression(fit_intercept=False))\n", - " y_pred = np.empty((y_test.shape[0], n_boostraps))\n", - " for i in range(n_boostraps):\n", - " x_, y_ = resample(x_train, y_train)\n", - " y_pred[:, i] = model.fit(x_, y_).predict(x_test).ravel()\n", - "\n", - " polydegree[degree] = degree\n", - " error[degree] = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) )\n", - " bias[degree] = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 )\n", - " variance[degree] = np.mean( np.var(y_pred, axis=1, keepdims=True) )\n", - " print('Polynomial degree:', degree)\n", - " print('Error:', error[degree])\n", - " print('Bias^2:', bias[degree])\n", - " print('Var:', variance[degree])\n", - " print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree]))\n", - "\n", - "plt.plot(polydegree, error, label='Error')\n", - "plt.plot(polydegree, bias, label='bias')\n", - "plt.plot(polydegree, variance, label='Variance')\n", - "plt.legend()\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Another Example from Scikit-Learn's Repository" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "============================\n", - "Underfitting vs. Overfitting\n", - "============================\n", - "\n", - "This example demonstrates the problems of underfitting and overfitting and\n", - "how we can use linear regression with polynomial features to approximate\n", - "nonlinear functions. The plot shows the function that we want to approximate,\n", - "which is a part of the cosine function. In addition, the samples from the\n", - "real function and the approximations of different models are displayed. The\n", - "models have polynomial features of different degrees. We can see that a\n", - "linear function (polynomial with degree 1) is not sufficient to fit the\n", - "training samples. This is called **underfitting**. A polynomial of degree 4\n", - "approximates the true function almost perfectly. However, for higher degrees\n", - "the model will **overfit** the training data, i.e. it learns the noise of the\n", - "training data.\n", - "We evaluate quantitatively **overfitting** / **underfitting** by using\n", - "cross-validation. We calculate the mean squared error (MSE) on the validation\n", - "set, the higher, the less likely the model generalizes correctly from the\n", - "training data.\n", - "\"\"\"\n", - "\n", - "print(__doc__)\n", - "\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "from sklearn.pipeline import Pipeline\n", - "from sklearn.preprocessing import PolynomialFeatures\n", - "from sklearn.linear_model import LinearRegression\n", - "from sklearn.model_selection import cross_val_score\n", - "\n", - "\n", - "def true_fun(X):\n", - " return np.cos(1.5 * np.pi * X)\n", - "\n", - "np.random.seed(0)\n", - "\n", - "n_samples = 30\n", - "degrees = [1, 4, 15]\n", - "\n", - "X = np.sort(np.random.rand(n_samples))\n", - "y = true_fun(X) + np.random.randn(n_samples) * 0.1\n", - "\n", - "plt.figure(figsize=(14, 5))\n", - "for i in range(len(degrees)):\n", - " ax = plt.subplot(1, len(degrees), i + 1)\n", - " plt.setp(ax, xticks=(), yticks=())\n", - "\n", - " polynomial_features = PolynomialFeatures(degree=degrees[i],\n", - " include_bias=False)\n", - " linear_regression = LinearRegression()\n", - " pipeline = Pipeline([(\"polynomial_features\", polynomial_features),\n", - " (\"linear_regression\", linear_regression)])\n", - " pipeline.fit(X[:, np.newaxis], y)\n", - "\n", - " # Evaluate the models using crossvalidation\n", - " scores = cross_val_score(pipeline, X[:, np.newaxis], y,\n", - " scoring=\"neg_mean_squared_error\", cv=10)\n", - "\n", - " X_test = np.linspace(0, 1, 100)\n", - " plt.plot(X_test, pipeline.predict(X_test[:, np.newaxis]), label=\"Model\")\n", - " plt.plot(X_test, true_fun(X_test), label=\"True function\")\n", - " plt.scatter(X, y, edgecolor='b', s=20, label=\"Samples\")\n", - " plt.xlabel(\"x\")\n", - " plt.ylabel(\"y\")\n", - " plt.xlim((0, 1))\n", - " plt.ylim((-2, 2))\n", - " plt.legend(loc=\"best\")\n", - " plt.title(\"Degree {}\\nMSE = {:.2e}(+/- {:.2e})\".format(\n", - " degrees[i], -scores.mean(), scores.std()))\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Cross-validation with Ridge" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "from sklearn.model_selection import KFold\n", - "from sklearn.linear_model import Ridge\n", - "from sklearn.model_selection import cross_val_score\n", - "from sklearn.preprocessing import PolynomialFeatures\n", - "\n", - "# A seed just to ensure that the random numbers are the same for every run.\n", - "np.random.seed(3155)\n", - "# Generate the data.\n", - "n = 100\n", - "x = np.linspace(-3, 3, n).reshape(-1, 1)\n", - "y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)\n", - "# Decide degree on polynomial to fit\n", - "poly = PolynomialFeatures(degree = 10)\n", - "\n", - "# Decide which values of lambda to use\n", - "nlambdas = 500\n", - "lambdas = np.logspace(-3, 5, nlambdas)\n", - "# Initialize a KFold instance\n", - "k = 5\n", - "kfold = KFold(n_splits = k)\n", - "estimated_mse_sklearn = np.zeros(nlambdas)\n", - "i = 0\n", - "for lmb in lambdas:\n", - " ridge = Ridge(alpha = lmb)\n", - " estimated_mse_folds = cross_val_score(ridge, x, y, scoring='neg_mean_squared_error', cv=kfold)\n", - " estimated_mse_sklearn[i] = np.mean(-estimated_mse_folds)\n", - " i += 1\n", - "plt.figure()\n", - "plt.plot(np.log10(lambdas), estimated_mse_sklearn, label = 'cross_val_score')\n", - "plt.xlabel('log10(lambda)')\n", - "plt.ylabel('MSE')\n", - "plt.legend()\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## The Ising model\n", - "\n", - "The one-dimensional Ising model with nearest neighbor interaction, no\n", - "external field and a constant coupling constant $J$ is given by" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "
    \n", - "\n", - "$$\n", - "\\begin{equation}\n", - " H = -J \\sum_{k}^L s_k s_{k + 1},\n", - "\\label{_auto1} \\tag{1}\n", - "\\end{equation}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "where $s_i \\in \\{-1, 1\\}$ and $s_{N + 1} = s_1$. The number of spins\n", - "in the system is determined by $L$. For the one-dimensional system\n", - "there is no phase transition.\n", - "\n", - "We will look at a system of $L = 40$ spins with a coupling constant of\n", - "$J = 1$. To get enough training data we will generate 10000 states\n", - "with their respective energies." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "from mpl_toolkits.axes_grid1 import make_axes_locatable\n", - "import seaborn as sns\n", - "import scipy.linalg as scl\n", - "from sklearn.model_selection import train_test_split\n", - "import tqdm\n", - "sns.set(color_codes=True)\n", - "cmap_args=dict(vmin=-1., vmax=1., cmap='seismic')\n", - "\n", - "L = 40\n", - "n = int(1e4)\n", - "\n", - "spins = np.random.choice([-1, 1], size=(n, L))\n", - "J = 1.0\n", - "\n", - "energies = np.zeros(n)\n", - "\n", - "for i in range(n):\n", - " energies[i] = - J * np.dot(spins[i], np.roll(spins[i], 1))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here we use ordinary least squares\n", - "regression to predict the energy for the nearest neighbor\n", - "one-dimensional Ising model on a ring, i.e., the endpoints wrap\n", - "around. We will use linear regression to fit a value for\n", - "the coupling constant to achieve this.\n", - "\n", - "## Reformulating the problem to suit regression\n", - "\n", - "A more general form for the one-dimensional Ising model is" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "
    \n", - "\n", - "$$\n", - "\\begin{equation}\n", - " H = - \\sum_j^L \\sum_k^L s_j s_k J_{jk}.\n", - "\\label{_auto2} \\tag{2}\n", - "\\end{equation}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here we allow for interactions beyond the nearest neighbors and a state dependent\n", - "coupling constant. This latter expression can be formulated as\n", - "a matrix-product" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "
    \n", - "\n", - "$$\n", - "\\begin{equation}\n", - " \\boldsymbol{H} = \\boldsymbol{X} J,\n", - "\\label{_auto3} \\tag{3}\n", - "\\end{equation}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "where $X_{jk} = s_j s_k$ and $J$ is a matrix which consists of the\n", - "elements $-J_{jk}$. This form of writing the energy fits perfectly\n", - "with the form utilized in linear regression, that is" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "
    \n", - "\n", - "$$\n", - "\\begin{equation}\n", - " \\boldsymbol{y} = \\boldsymbol{X}\\boldsymbol{\\beta} + \\boldsymbol{\\epsilon},\n", - "\\label{_auto4} \\tag{4}\n", - "\\end{equation}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We split the data in training and test data as discussed in the previous example" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "X = np.zeros((n, L ** 2))\n", - "for i in range(n):\n", - " X[i] = np.outer(spins[i], spins[i]).ravel()\n", - "y = energies\n", - "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Linear regression\n", - "\n", - "In the ordinary least squares method we choose the cost function" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "
    \n", - "\n", - "$$\n", - "\\begin{equation}\n", - " C(\\boldsymbol{X}, \\boldsymbol{\\beta})= \\frac{1}{n}\\left\\{(\\boldsymbol{X}\\boldsymbol{\\beta} - \\boldsymbol{y})^T(\\boldsymbol{X}\\boldsymbol{\\beta} - \\boldsymbol{y})\\right\\}.\n", - "\\label{_auto5} \\tag{5}\n", - "\\end{equation}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We then find the extremal point of $C$ by taking the derivative with respect to $\\boldsymbol{\\beta}$ as discussed above.\n", - "This yields the expression for $\\boldsymbol{\\beta}$ to be" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\boldsymbol{\\beta} = \\frac{\\boldsymbol{X}^T \\boldsymbol{y}}{\\boldsymbol{X}^T \\boldsymbol{X}},\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "which immediately imposes some requirements on $\\boldsymbol{X}$ as there must exist\n", - "an inverse of $\\boldsymbol{X}^T \\boldsymbol{X}$. If the expression we are modeling contains an\n", - "intercept, i.e., a constant term, we must make sure that the\n", - "first column of $\\boldsymbol{X}$ consists of $1$. We do this here" + "## More examples on bootstrap and cross-validation and errors" ] }, { "cell_type": "code", "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "X_train_own = np.concatenate(\n", - " (np.ones(len(X_train))[:, np.newaxis], X_train),\n", - " axis=1\n", - ")\n", - "X_test_own = np.concatenate(\n", - " (np.ones(len(X_test))[:, np.newaxis], X_test),\n", - " axis=1\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "def ols_inv(x: np.ndarray, y: np.ndarray) -> np.ndarray:\n", - " return scl.inv(x.T @ x) @ (x.T @ y)\n", - "beta = ols_inv(X_train_own, y_train)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Singular Value decomposition\n", - "\n", - "Doing the inversion directly turns out to be a bad idea since the matrix\n", - "$\\boldsymbol{X}^T\\boldsymbol{X}$ is singular. An alternative approach is to use the **singular\n", - "value decomposition**. Using the definition of the Moore-Penrose\n", - "pseudoinverse we can write the equation for $\\boldsymbol{\\beta}$ as" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\boldsymbol{\\beta} = \\boldsymbol{X}^{+}\\boldsymbol{y},\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "where the pseudoinverse of $\\boldsymbol{X}$ is given by" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\boldsymbol{X}^{+} = \\frac{\\boldsymbol{X}^T}{\\boldsymbol{X}^T\\boldsymbol{X}}.\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Using singular value decomposition we can decompose the matrix $\\boldsymbol{X} = \\boldsymbol{U}\\boldsymbol{\\Sigma} \\boldsymbol{V}^T$,\n", - "where $\\boldsymbol{U}$ and $\\boldsymbol{V}$ are orthogonal(unitary) matrices and $\\boldsymbol{\\Sigma}$ contains the singular values (more details below).\n", - "where $X^{+} = V\\Sigma^{+} U^T$. This reduces the equation for\n", - "$\\omega$ to" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "
    \n", - "\n", - "$$\n", - "\\begin{equation}\n", - " \\boldsymbol{\\beta} = \\boldsymbol{V}\\boldsymbol{\\Sigma}^{+} \\boldsymbol{U}^T \\boldsymbol{y}.\n", - "\\label{_auto6} \\tag{6}\n", - "\\end{equation}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Note that solving this equation by actually doing the pseudoinverse\n", - "(which is what we will do) is not a good idea as this operation scales\n", - "as $\\mathcal{O}(n^3)$, where $n$ is the number of elements in a\n", - "general matrix. Instead, doing $QR$-factorization and solving the\n", - "linear system as an equation would reduce this down to\n", - "$\\mathcal{O}(n^2)$ operations." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "def ols_svd(x: np.ndarray, y: np.ndarray) -> np.ndarray:\n", - " u, s, v = scl.svd(x)\n", - " return v.T @ scl.pinv(scl.diagsvd(s, u.shape[0], v.shape[0])) @ u.T @ y" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "beta = ols_svd(X_train_own,y_train)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When extracting the $J$-matrix we need to make sure that we remove the intercept, as is done here" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "J = beta[1:].reshape(L, L)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "A way of looking at the coefficients in $J$ is to plot the matrices as images." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "fig = plt.figure(figsize=(20, 14))\n", - "im = plt.imshow(J, **cmap_args)\n", - "plt.title(\"OLS\", fontsize=18)\n", - "plt.xticks(fontsize=18)\n", - "plt.yticks(fontsize=18)\n", - "cb = fig.colorbar(im)\n", - "cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "It is interesting to note that OLS\n", - "considers both $J_{j, j + 1} = -0.5$ and $J_{j, j - 1} = -0.5$ as\n", - "valid matrix elements for $J$.\n", - "In our discussion below on hyperparameters and Ridge and Lasso regression we will see that\n", - "this problem can be removed, partly and only with Lasso regression. \n", - "\n", - "In this case our matrix inversion was actually possible. The obvious question now is what is the mathematics behind the SVD?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "## The one-dimensional Ising model\n", - "\n", - "Let us bring back the Ising model again, but now with an additional\n", - "focus on Ridge and Lasso regression as well. We repeat some of the\n", - "basic parts of the Ising model and the setup of the training and test\n", - "data. The one-dimensional Ising model with nearest neighbor\n", - "interaction, no external field and a constant coupling constant $J$ is\n", - "given by" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "
    \n", - "\n", - "$$\n", - "\\begin{equation}\n", - " H = -J \\sum_{k}^L s_k s_{k + 1},\n", - "\\label{_auto7} \\tag{7}\n", - "\\end{equation}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "where $s_i \\in \\{-1, 1\\}$ and $s_{N + 1} = s_1$. The number of spins in the system is determined by $L$. For the one-dimensional system there is no phase transition.\n", - "\n", - "We will look at a system of $L = 40$ spins with a coupling constant of $J = 1$. To get enough training data we will generate 10000 states with their respective energies." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "from mpl_toolkits.axes_grid1 import make_axes_locatable\n", - "import seaborn as sns\n", - "import scipy.linalg as scl\n", - "from sklearn.model_selection import train_test_split\n", - "import sklearn.linear_model as skl\n", - "import tqdm\n", - "sns.set(color_codes=True)\n", - "cmap_args=dict(vmin=-1., vmax=1., cmap='seismic')\n", - "\n", - "L = 40\n", - "n = int(1e4)\n", - "\n", - "spins = np.random.choice([-1, 1], size=(n, L))\n", - "J = 1.0\n", - "\n", - "energies = np.zeros(n)\n", - "\n", - "for i in range(n):\n", - " energies[i] = - J * np.dot(spins[i], np.roll(spins[i], 1))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "A more general form for the one-dimensional Ising model is" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "
    \n", - "\n", - "$$\n", - "\\begin{equation}\n", - " H = - \\sum_j^L \\sum_k^L s_j s_k J_{jk}.\n", - "\\label{_auto8} \\tag{8}\n", - "\\end{equation}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here we allow for interactions beyond the nearest neighbors and a more\n", - "adaptive coupling matrix. This latter expression can be formulated as\n", - "a matrix-product on the form" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "
    \n", - "\n", - "$$\n", - "\\begin{equation}\n", - " H = X J,\n", - "\\label{_auto9} \\tag{9}\n", - "\\end{equation}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "where $X_{jk} = s_j s_k$ and $J$ is the matrix consisting of the\n", - "elements $-J_{jk}$. This form of writing the energy fits perfectly\n", - "with the form utilized in linear regression, viz." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "
    \n", - "\n", - "$$\n", - "\\begin{equation}\n", - " \\boldsymbol{y} = \\boldsymbol{X}\\boldsymbol{\\beta} + \\boldsymbol{\\epsilon}.\n", - "\\label{_auto10} \\tag{10}\n", - "\\end{equation}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We organize the data as we did above" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "X = np.zeros((n, L ** 2))\n", - "for i in range(n):\n", - " X[i] = np.outer(spins[i], spins[i]).ravel()\n", - "y = energies\n", - "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.96)\n", - "\n", - "X_train_own = np.concatenate(\n", - " (np.ones(len(X_train))[:, np.newaxis], X_train),\n", - " axis=1\n", - ")\n", - "\n", - "X_test_own = np.concatenate(\n", - " (np.ones(len(X_test))[:, np.newaxis], X_test),\n", - " axis=1\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will do all fitting with **Scikit-Learn**," - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "clf = skl.LinearRegression().fit(X_train, y_train)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When extracting the $J$-matrix we make sure to remove the intercept" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "J_sk = clf.coef_.reshape(L, L)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And then we plot the results" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "fig = plt.figure(figsize=(20, 14))\n", - "im = plt.imshow(J_sk, **cmap_args)\n", - "plt.title(\"LinearRegression from Scikit-learn\", fontsize=18)\n", - "plt.xticks(fontsize=18)\n", - "plt.yticks(fontsize=18)\n", - "cb = fig.colorbar(im)\n", - "cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The results perfectly with our previous discussion where we used our own code.\n", - "\n", - "## Ridge regression\n", - "\n", - "Having explored the ordinary least squares we move on to ridge\n", - "regression. In ridge regression we include a **regularizer**. This\n", - "involves a new cost function which leads to a new estimate for the\n", - "weights $\\boldsymbol{\\beta}$. This results in a penalized regression problem. The\n", - "cost function is given by" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "2\n", - "2\n", - " \n", - "<\n", - "<\n", - "<\n", - "!\n", - "!\n", - "M\n", - "A\n", - "T\n", - "H\n", - "_\n", - "B\n", - "L\n", - "O\n", - "C\n", - "K" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "_lambda = 0.1\n", - "clf_ridge = skl.Ridge(alpha=_lambda).fit(X_train, y_train)\n", - "J_ridge_sk = clf_ridge.coef_.reshape(L, L)\n", - "fig = plt.figure(figsize=(20, 14))\n", - "im = plt.imshow(J_ridge_sk, **cmap_args)\n", - "plt.title(\"Ridge from Scikit-learn\", fontsize=18)\n", - "plt.xticks(fontsize=18)\n", - "plt.yticks(fontsize=18)\n", - "cb = fig.colorbar(im)\n", - "cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## LASSO regression\n", - "\n", - "In the **Least Absolute Shrinkage and Selection Operator** (LASSO)-method we get a third cost function." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "
    \n", - "\n", - "$$\n", - "\\begin{equation}\n", - " C(\\boldsymbol{X}, \\boldsymbol{\\beta}; \\lambda) = (\\boldsymbol{X}\\boldsymbol{\\beta} - \\boldsymbol{y})^T(\\boldsymbol{X}\\boldsymbol{\\beta} - \\boldsymbol{y}) + \\lambda \\sqrt{\\boldsymbol{\\beta}^T\\boldsymbol{\\beta}}.\n", - "\\label{_auto12} \\tag{12}\n", - "\\end{equation}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finding the extremal point of this cost function is not so straight-forward as in least squares and ridge. We will therefore rely solely on the function ``Lasso`` from **Scikit-Learn**." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "clf_lasso = skl.Lasso(alpha=_lambda).fit(X_train, y_train)\n", - "J_lasso_sk = clf_lasso.coef_.reshape(L, L)\n", - "fig = plt.figure(figsize=(20, 14))\n", - "im = plt.imshow(J_lasso_sk, **cmap_args)\n", - "plt.title(\"Lasso from Scikit-learn\", fontsize=18)\n", - "plt.xticks(fontsize=18)\n", - "plt.yticks(fontsize=18)\n", - "cb = fig.colorbar(im)\n", - "cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "It is quite striking how LASSO breaks the symmetry of the coupling\n", - "constant as opposed to ridge and OLS. We get a sparse solution with\n", - "$J_{j, j + 1} = -1$.\n", - "\n", - "\n", - "\n", - "## Performance as function of the regularization parameter\n", - "\n", - "We see how the different models perform for a different set of values for $\\lambda$." - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "lambdas = np.logspace(-4, 5, 10)\n", - "\n", - "train_errors = {\n", - " \"ols_sk\": np.zeros(lambdas.size),\n", - " \"ridge_sk\": np.zeros(lambdas.size),\n", - " \"lasso_sk\": np.zeros(lambdas.size)\n", - "}\n", - "\n", - "test_errors = {\n", - " \"ols_sk\": np.zeros(lambdas.size),\n", - " \"ridge_sk\": np.zeros(lambdas.size),\n", - " \"lasso_sk\": np.zeros(lambdas.size)\n", - "}\n", - "\n", - "plot_counter = 1\n", - "\n", - "fig = plt.figure(figsize=(32, 54))\n", - "\n", - "for i, _lambda in enumerate(tqdm.tqdm(lambdas)):\n", - " for key, method in zip(\n", - " [\"ols_sk\", \"ridge_sk\", \"lasso_sk\"],\n", - " [skl.LinearRegression(), skl.Ridge(alpha=_lambda), skl.Lasso(alpha=_lambda)]\n", - " ):\n", - " method = method.fit(X_train, y_train)\n", - "\n", - " train_errors[key][i] = method.score(X_train, y_train)\n", - " test_errors[key][i] = method.score(X_test, y_test)\n", - "\n", - " omega = method.coef_.reshape(L, L)\n", - "\n", - " plt.subplot(10, 5, plot_counter)\n", - " plt.imshow(omega, **cmap_args)\n", - " plt.title(r\"%s, $\\lambda = %.4f$\" % (key, _lambda))\n", - " plot_counter += 1\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We see that LASSO reaches a good solution for low\n", - "values of $\\lambda$, but will \"wither\" when we increase $\\lambda$ too\n", - "much. Ridge is more stable over a larger range of values for\n", - "$\\lambda$, but eventually also fades away.\n", - "\n", - "## Finding the optimal value of $\\lambda$\n", - "\n", - "To determine which value of $\\lambda$ is best we plot the accuracy of\n", - "the models when predicting the training and the testing set. We expect\n", - "the accuracy of the training set to be quite good, but if the accuracy\n", - "of the testing set is much lower this tells us that we might be\n", - "subject to an overfit model. The ideal scenario is an accuracy on the\n", - "testing set that is close to the accuracy of the training set." - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [], - "source": [ - "fig = plt.figure(figsize=(20, 14))\n", - "\n", - "colors = {\n", - " \"ols_sk\": \"r\",\n", - " \"ridge_sk\": \"y\",\n", - " \"lasso_sk\": \"c\"\n", - "}\n", - "\n", - "for key in train_errors:\n", - " plt.semilogx(\n", - " lambdas,\n", - " train_errors[key],\n", - " colors[key],\n", - " label=\"Train {0}\".format(key),\n", - " linewidth=4.0\n", - " )\n", - "\n", - "for key in test_errors:\n", - " plt.semilogx(\n", - " lambdas,\n", - " test_errors[key],\n", - " colors[key] + \"--\",\n", - " label=\"Test {0}\".format(key),\n", - " linewidth=4.0\n", - " )\n", - "plt.legend(loc=\"best\", fontsize=18)\n", - "plt.xlabel(r\"$\\lambda$\", fontsize=18)\n", - "plt.ylabel(r\"$R^2$\", fontsize=18)\n", - "plt.tick_params(labelsize=18)\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From the above figure we can see that LASSO with $\\lambda = 10^{-2}$\n", - "achieves a very good accuracy on the test set. This by far surpasses the\n", - "other models for all values of $\\lambda$.\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "## Friday September 18: Intro to Logistic Regression\n", - "\n", - "[Video of Lecture](https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h20/forelesningsvideoer/LectureSeptember18.mp4?vrtx=view-as-webpage) and [link to handwritten notes](https://github.com/CompPhysics/MachineLearning/blob/master/doc/HandWrittenNotes/NotesSeptember18.pdf).\n", - "\n", - "\n", ->>>>>>> 9b0e2e75096cc1acee65bfac25f4eff818140252 - "\n", - "\n", - "## Logistic Regression\n", - "\n", - "In linear regression our main interest was centered on learning the\n", - "coefficients of a functional fit (say a polynomial) in order to be\n", - "able to predict the response of a continuous variable on some unseen\n", - "data. The fit to the continuous variable $y_i$ is based on some\n", - "independent variables $\\hat{x}_i$. Linear regression resulted in\n", - "analytical expressions for standard ordinary Least Squares or Ridge\n", - "regression (in terms of matrices to invert) for several quantities,\n", - "ranging from the variance and thereby the confidence intervals of the\n", - "parameters $\\hat{\\beta}$ to the mean squared error. If we can invert\n", - "the product of the design matrices, linear regression gives then a\n", - "simple recipe for fitting our data.\n", - "\n", - "\n", - "## Classification problems\n", - "\n", - "\n", - "Classification problems, however, are concerned with outcomes taking\n", - "the form of discrete variables (i.e. categories). We may for example,\n", - "on the basis of DNA sequencing for a number of patients, like to find\n", - "out which mutations are important for a certain disease; or based on\n", - "scans of various patients' brains, figure out if there is a tumor or\n", - "not; or given a specific physical system, we'd like to identify its\n", - "state, say whether it is an ordered or disordered system (typical\n", - "situation in solid state physics); or classify the status of a\n", - "patient, whether she/he has a stroke or not and many other similar\n", - "situations.\n", - "\n", - "The most common situation we encounter when we apply logistic\n", - "regression is that of two possible outcomes, normally denoted as a\n", - "binary outcome, true or false, positive or negative, success or\n", - "failure etc.\n", - "\n", - "## Optimization and Deep learning\n", - "\n", - "Logistic regression will also serve as our stepping stone towards\n", - "neural network algorithms and supervised deep learning. For logistic\n", - "learning, the minimization of the cost function leads to a non-linear\n", - "equation in the parameters $\\hat{\\beta}$. The optimization of the\n", - "problem calls therefore for minimization algorithms. This forms the\n", - "bottle neck of all machine learning algorithms, namely how to find\n", - "reliable minima of a multi-variable function. This leads us to the\n", - "family of gradient descent methods. The latter are the working horses\n", - "of basically all modern machine learning algorithms.\n", - "\n", - "We note also that many of the topics discussed here on logistic \n", - "regression are also commonly used in modern supervised Deep Learning\n", - "models, as we will see later.\n", - "\n", - "\n", - "\n", - "## Basics\n", - "\n", - "We consider the case where the dependent variables, also called the\n", - "responses or the outcomes, $y_i$ are discrete and only take values\n", - "from $k=0,\\dots,K-1$ (i.e. $K$ classes).\n", - "\n", - "The goal is to predict the\n", - "output classes from the design matrix $\\hat{X}\\in\\mathbb{R}^{n\\times p}$\n", - "made of $n$ samples, each of which carries $p$ features or predictors. The\n", - "primary goal is to identify the classes to which new unseen samples\n", - "belong.\n", - "\n", - "Let us specialize to the case of two classes only, with outputs\n", - "$y_i=0$ and $y_i=1$. Our outcomes could represent the status of a\n", - "credit card user that could default or not on her/his credit card\n", - "debt. That is" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "y_i = \\begin{bmatrix} 0 & \\mathrm{no}\\\\ 1 & \\mathrm{yes} \\end{bmatrix}.\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Linear classifier\n", - "\n", - "Before moving to the logistic model, let us try to use our linear\n", - "regression model to classify these two outcomes. We could for example\n", - "fit a linear model to the default case if $y_i > 0.5$ and the no\n", - "default case $y_i \\leq 0.5$.\n", - "\n", - "We would then have our \n", - "weighted linear combination, namely" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", -<<<<<<< HEAD - "
    \n", -======= - "
    \n", ->>>>>>> 9b0e2e75096cc1acee65bfac25f4eff818140252 - "\n", - "$$\n", - "\\begin{equation}\n", - "\\hat{y} = \\hat{X}^T\\hat{\\beta} + \\hat{\\epsilon},\n", -<<<<<<< HEAD - "\\label{_auto1} \\tag{1}\n", -======= - "\\label{_auto13} \\tag{13}\n", ->>>>>>> 9b0e2e75096cc1acee65bfac25f4eff818140252 - "\\end{equation}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "where $\\hat{y}$ is a vector representing the possible outcomes, $\\hat{X}$ is our\n", - "$n\\times p$ design matrix and $\\hat{\\beta}$ represents our estimators/predictors.\n", - "\n", - "## Some selected properties\n", - "\n", - "The main problem with our function is that it takes values on the\n", - "entire real axis. In the case of logistic regression, however, the\n", - "labels $y_i$ are discrete variables. A typical example is the credit\n", - "card data discussed below here, where we can set the state of\n", - "defaulting the debt to $y_i=1$ and not to $y_i=0$ for one the persons\n", - "in the data set (see the full example below).\n", - "\n", - "One simple way to get a discrete output is to have sign\n", - "functions that map the output of a linear regressor to values $\\{0,1\\}$,\n", - "$f(s_i)=sign(s_i)=1$ if $s_i\\ge 0$ and 0 if otherwise. \n", -<<<<<<< HEAD - "We will encounter this model in our first demonstration of neural networks. Historically it is called the \"perceptron\" model in the machine learning\n", -======= - "We will encounter this model in our first demonstration of neural networks. Historically it is called the ``perceptron\" model in the machine learning\n", ->>>>>>> 9b0e2e75096cc1acee65bfac25f4eff818140252 - "literature. This model is extremely simple. However, in many cases it is more\n", - "favorable to use a ``soft\" classifier that outputs\n", - "the probability of a given category. This leads us to the logistic function.\n", - "\n", -<<<<<<< HEAD - "\n", - "## The logistic function\n", - "\n", - "The perceptron is an example of a ``hard classification\" model. We\n", - "will encounter this model when we discuss neural networks as\n", - "well. Each datapoint is deterministically assigned to a category (i.e\n", - "$y_i=0$ or $y_i=1$). In many cases, it is favorable to have a \"soft\"\n", -======= - "## Simple example\n", - "\n", - "The following example on data for coronary heart disease (CHD) as function of age may serve as an illustration. In the code here we read and plot whether a person has had CHD (output = 1) or not (output = 0). This ouput is plotted the person's against age. Clearly, the figure shows that attempting to make a standard linear regression fit may not be very meaningful." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    IDAgeAgegroupCHD
    012110
    122310
    232511
    342910
    452110
    ...............
    95966181
    96976981
    97986581
    98996481
    991006380
    \n", - "

    100 rows × 4 columns

    \n", - "
    " - ], - "text/plain": [ - " ID Age Agegroup CHD\n", - "0 1 21 1 0\n", - "1 2 23 1 0\n", - "2 3 25 1 1\n", - "3 4 29 1 0\n", - "4 5 21 1 0\n", - ".. ... ... ... ...\n", - "95 96 61 8 1\n", - "96 97 69 8 1\n", - "97 98 65 8 1\n", - "98 99 64 8 1\n", - "99 100 63 8 0\n", - "\n", - "[100 rows x 4 columns]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfgAAAFnCAYAAABKGFvpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deWBU5dn38d9kmRCSQMIQIBEFBEHZt1ojLkCtgsW61VoX3kdc4gYuCCgiS6mKwIMLKgrS2mqxVYuAiLJoG0AWI5AAyg6yhiVMyDLZJpOc94808xBIMkPmTBIP389fTM6Z+1znOstv5p4hsRmGYQgAAFhKSH0XAAAAzEfAAwBgQQQ8AAAWRMADAGBBBDwAABZEwAMAYEEEPGq0aNEi9e3bV263O+jbSklJ0aBBgzR06FDvzyZMmKCFCxeato0NGzbo/vvvlyR98803Z23PzPEbqj/96U/q27evPvvss2rXKS0t1ezZs/WHP/xBQ4cO1e9//3uNGzdOW7ZsqcNK68aWLVt08803a+DAgfVdSpWOHz+u3//+9+rUqZP3Z4sXL9a4cePqsSr8LBhADZ544gmjR48exjfffFMn25s/f75x7733eh+7XC6jpKTE5/PuvfdeY/78+T7XKysrM3Jzc6vd3rnq2LGjcejQoWrHb6h89WvUqFHGM888YxQXFxuGYRjFxcXGc889Z/z2t7+tqxLr1Pr1640BAwbU2fb8PV8rHDp0yOjYsaP3scfjMVwuVzBKg4XwDh7VcrlcCg0N1YABA/TVV1/VSw1RUVEKCwszbTybzaaYmBjTxqvr8evCd999p+XLl2vixImy2+2SJLvdrnHjxnkfo36FhoYqKiqqvstAA2fenROW8/XXX+v6669XWFiYxowZo+LiYkVEREiS3n33XS1evFgtW7bUFVdcoRkzZujyyy/Xn//8Z9lsNr366qtKS0uTzWZTv3799Pjjj8tms521jYKCAo0fP1579+5Vq1atKk1DLly4UDNnztTll1+uV155RYWFhXruuefkdDpVWlqq7t27a+zYsZoxY4a2b9+uzMxMLViwQA888IBSUlL0xRdf6N5779WePXu0ceNGDRo0SD/++KM2b96snTt3erdjGIZefPFF/fjjjyouLtaf/vQndenSRdOmTdMnn3yi559/XrfddpsmTJigBQsWaO7cufrlL3+pBx98UJI0cuRIRURE6JVXXtHTTz9daXyXy6WXX35ZP/30k8rKynTdddfpwQcfVElJiR544AGlpqZqwoQJSklJ0U8//aRnn31Wv/71r6s8Hh9//LEWLFggu90um82m8ePHq0OHDtqyZYvGjx+vvLw83X333UpJSVFOTo5mzpypdu3aSZK2bt2qiRMnKiIiQt26dZNRwy+wXLZsmbp3737WC5Xo6Gi9//773serVq3SrFmzFBoaqkaNGmnChAlq06aNPv74Y82ePVs9evRQVFSUNm7cqObNm+vDDz/06zkxMTHaunWrmjdvrrfeeksRERHKz8/XpEmTdPjwYdlsNl1yySUaP368wsLC9NZbb+kf//iHBg0apOzsbKWlpSknJ0fh4eFq3LixxowZo0GDBunuu+/WwYMHNXXqVPXr16/KfZ87d26V/Tt48KAmTZokt9utsrIyjRo1Sr179z6n4/L1118rLS1NycnJZ52v/fv3P6uWimusVatWuvbaa70/37lzp8aMGaO8vDz9+9//liS99dZbWr16tex2uxwOh55//nm1aNFC+fn5evHFF7V//34ZhqGbb75Zd911l6Tyj5NmzpwpwzBUUlKiBx98UNddd50kadOmTZo+fbrCw8NlGIbuv/9+DRgwQFL5dfnRRx/JbrerZcuW+uMf/6jo6OhqzyfUo3qdP0CDNnLkSKOoqMgoLi42+vbta6xYscIwDMNISUkx+vXrZ5w6dcowDMOYMmVKpenDWbNmGUOHDjU8Ho/hdruNO++801i4cGGV25g6darxwAMPGKWlpUZxcbFx1113VZoynzlzpvHss88ahmEYf//7340JEyYYhlE+RXnbbbd516tqyvPee+81hg0bZng8HmPPnj3GJ598ctZU5/z5842uXbsaO3bsMAzDMD7//HNjwIABhtvtrnLcAQMGGOvXr/c+PnOK/szxx44d662/sLDQGDJkiLFgwYJKz58zZ45hGIaxZMkS4/rrr6+yT4ZhGP/4xz+8U+br16837rrrLu+y9evXG126dDG+//57wzAMY+LEicb48eMNwyifXr/mmmuMxYsXG4ZhGNu2bTO6du1a7RTxAw88YIwcObLaOgzDMA4ePGj07NnT2Ldvn2EYhrFw4ULjhhtu8H6cMnPmTOPKK680nE6n4fF4jGnTpvn1nKuuusrI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L7/8UomJierVq1e149bmORXatGmjHTt2yO12y+PxaN26dX7t+3XXXadjx47p008/1VVXXeXXc87Uo0cPJSQkaPny5ZLKQ/zxxx/X/v37a31cfJ2vZ15jX3zxRbVjbdmyRTNnzpRU/mKuXbt2Ki0t9Z5/p3889s4773h/r8RFF12kzZs3S5J27NhRadbqiSeeUGFhocLCwtS7d2/vtXzrrbdq5cqVysnJkSTt27dPjz76qF/7jLoXOmnSpEn1XQQajry8PA0dOlQHDhxQmzZtvJ/VpqSk6NNPP9UPP/ygyMhI9evXT1OmTNG///1vdenSRatXr9aIESMkld8Qd+7cqZkzZ+rzzz9Xdna2xo4dW+kFQ4VevXpp3bp1euedd5SSkqLOnTtr1apVysjIUHZ2tv72t79p3759crvd6tevn2bPnq0FCxZo3rx5GjBggO68805J5dO577zzjlauXKm7775bH330kVauXKnt27erpKREvXr1UlZWlkaMGKHjx48rNTVVTZo00Ztvvqm2bdvq8OHDmjNnjjZt2qRp06YpISFBUvlN8M9//rO+/PJLNW7cWPv27VNqaqq6deumFi1ayOVyafbs2dq1a5f+53/+R08//bR3/JtvvllXXHGFvv32W82dO1efffaZ99vcNptN999/vw4dOqTNmzdr0KBBevzxx3X8+HGlpaV5P++t0LhxYzVr1kzTp0/X2rVrZbPZtHnzZqWlpalLly4aP368jhw5omPHjsnhcOiVV17RwYMHlZ2drWuuuUZ9+vTR66+/rgULFigjI0N2u11r1qxRQkKCLr744rOOS//+/bV//35Nnz5dixcv1oIFCzR48GDdc889ksqnjLt06aKXX35ZCxYs0J49ezR9+nQ1a9ZMixcv1vvvv699+/Zp586d3u9V+PucyMhIbdu2TZ9++ql2796tZs2a6aabbtLGjRv1zjvvaMOGDYqMjFRqaqpCQkKUnp6uhQsXavfu3Tp+/Hilb8iHhYXpwIEDatu2bZXfVJekPXv21Ni/q6++WldffbXefvttffrpp/rss890880365prrvH7uKxbt04DBw70TpWfeb62bt26Uk1t27ZVSUmJpkyZoq+//lqXXHKJ1q1bp9TUVHXu3FkTJ07UkSNHtGPHDt1yyy366quvNG/ePH3yyScKCwvT6NGjFRERoV/+8pf6z3/+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pKRK6+3du1d79+4NVhkAAJyXgjZFn56ersTERNntdklS7969lZKSUmmdwsJCzZ07V48//niwygAA4LwUtHfwTqez0nR7dHS0nE5npXVee+01PfbYY94XAf6Ii2ussLDQgOuLj48JeAycjb4GB30NDvoaHPS1YQhawDscDuXn53sfu1wuORwO7+OjR48qNzdXX331lfdn77//vq699lp169at2nFPnSoIuLb4+BhlZuYFPA4qo6/BQV+Dg74GB301X21fMAUt4Hv27KmMjAy53W7Z7XZt2rRJd999t7KzsxUWFqaEhAS98sor3vVnzJihYcOG8SU7AABMELTP4CMjIzVp0iS9+OKLeu2119SpUyclJSVpzpw5+uijj7zrZWVladasWZKkuXPn6vjx48EqCQCA84bNMAyjvos4F2ZM/TCFFBz0NTjoa3DQ1+Cgr+ar7RQ9v+gGAAALIuABALAgAh4AAAsi4AEAsCACHgAACyLgAQCwIAIeAAALIuABALAgAh4AAAsi4AEAsCACHgAACyLgAQCwIAIeAAALIuABALAgAh4AAAsi4AEAsCACHgAACyLgAQCwIAIeAAALIuABALAgAh4AAAsi4AEAsCACHgAACyLgAQCwIAIeAAALIuABALAgAh4AAAsi4AEAsCACHgAACyLgAQCwIAIeAAALIuABALAgAh4AAAsi4AEAsCACHgAACyLgAQCwIAIeAAALIuABALCgsGAOvnbtWi1fvlwOh0M2m03Dhw+vtHzOnDk6efKkmjdvrh9//FFPPPGE2rdvH8ySAAA4LwQt4AsLCzVx4kQtWbJEdrtdI0aM0Lp165SUlORdp6CgQGPHjpXNZtOXX36p6dOn69133w1WSQAAnDeCNkWfnp6uxMRE2e12SVLv3r2VkpJSaZ2nnnpKNptNklRWVqbGjRsHqxwAAM4rQXsH73Q6FRUV5X0cHR0tp9NZ5bput1sLFizQxIkTfY4bF9dYYWGhAdcXHx8T8Bg4G30NDvoaHPQ1OOhrwxC0gHc4HMrPz/c+drlccjgcZ63ndrs1adIkPf3007rooot8jnvqVEHAtcXHxygzMy/gcVAZfQ0O+hoc9DU46Kv5avuCKWhT9D179lRGRobcbrckadOmTerfv7+ys7PlcrkkSUVFRZo4caKGDRumrl27atmyZcEqBwCA80rQ3sFHRkZq0qRJ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ktxut3744Qf17du3Vn21/BT96VasWKGrrrpK7du3l9PpVFRUlCQpOjpaOTk58ng8Cgs7r1oSkNWrV+uvf/2r+vfvr27dutHTAO3Zs0f79u3TyJEjtXPnTu/P6WvgHnroIXXv3l2lpaW65557FBUVRV8DlJGRofT0dL366quKiYnRqFGjFB4eTl9NtHjxYv3mN7+RVLv7gOXfwVdYv369vvvuOz3//POSJIfDofz8fEnln3E0bdqUE/AcXX311frzn/+sw4cPa968efQ0QCtWrJDdbtecOXO0ceNGbdmyRX/961/pqwm6d+8uSQoNDVXfvn313Xff0dcARUVF6eKLL1ZMTIwkqU+fPkpNTaWvJlq6dKluvPFGSbXLrPOi6ykpKdqwYYPGjRunEydOKCMjQ9dee63S0tKUkJCgTZs26dprr63vMn829uzZo8OHD6t///6SpNatW+vw4cP0NECPPvqo99/FxcUqKCjQfffdp3379tHXAOzdu1ebNm3SHXfcIUk6cOCAfv3rX3O+BqhHjx7Kzs5WaWmpQkNDlZGRobZt28put9NXE6xfv169evVSeHi4JNXqfLX8H5v54YcfNHToUHXt2lWSVFBQoHvuuUcDBw7U//7v/yoxMVGHDh3SM888wzc9/XTw4EFNmzZNnTt3lsfj0d69e/XCCy8oPDycnppg2bJlmjdvnkpKSnTPPffoqquuoq8BOH78uCZPnqzOnTvL5XLJ4/Fo7Nixys3Npa8BWrFihdavX6+4uDgdPXpU48ePV1FREX01wciRI/XCCy+oWbNmkqTs7Oxz7qvlAx4AgPPRefMZPAAA5xMCHgAACyLgAQCwIAIeAAALIuABALAgAh6A1yOPPKIJEybUdxkATEDAA5AkZWZm6ujRo1qyZIkKCwvruxwAAeL/wQOQJM2ZM0e9e/fW6NGj9eSTT+qWW26RJH344Ydavny5LrnkEtlsNi1fvlyPPfaY7rrrLn355Zdau3atYmNjdfz4cY0ZM0bx8fH1vCcAJN7BA/ivtLQ09e3bV7fccovmz58vSdq5c6feffddvffee5owYYKio6PVtm1b3XXXXdq3b5/efvttTZ48WaNGjdLll1+u6dOn1/NeAKhwXvwuegA127Bhg3r27ClJuu222/Tuu+/qwIED+u6779S1a1c1atRIktS3b19t2rRJkrR27VoVFxdr0qRJkqT8/HyVlJTUS/0AzkbAA9DChQtVVlaml156SZIUHx+v+fPny+FwyGazVfkcwzDUtm1bTZ482fuzir92BaD+EfDAeS4/P9/7B0Iq9OjRQ1OnTtV7772nOXPmqKioSI0aNdLGjRu961x55ZV6++235XK5FB0drW3btumjjz7Siy++WB+7AeAMBDxwHisqKtIzzzyj/Px8HT9+XC1btpQk7d69WydOnNCcOXOUnJysBx98UJdddplCQkK8f76yffv2Gj9+vMaMGaOLLrpIubm5Gj16dH3uDoDT8C16ADVauXKl929Pz5s3T0eOHNGYMWPquSoAvvAOHkCNPvnkE61evVo2m005OTl64YUX6rskAH7gHTwAABbE/4MHAMCCCHgAACyIgAcAwIIIeAAALIiABwDAggh4AAAs6P8DlYAGgR9VzfYAAAAASUVORK5CYII=\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" + "id": "2b363d73", + "metadata": { + "collapsed": false, + "editable": true, + "jupyter": { + "outputs_hidden": false } - ], + }, + "outputs": [], "source": [ "# Common imports\n", "import os\n", @@ -1730,10 +2104,122 @@ "from sklearn.model_selection import train_test_split\n", "from sklearn.utils import resample\n", "from sklearn.metrics import mean_squared_error\n", - "from IPython.display import display\n", - "from pylab import plt, mpl\n", - "plt.style.use('seaborn')\n", - "mpl.rcParams['font.family'] = 'serif'\n", + "# Where to save the figures and data files\n", + "PROJECT_ROOT_DIR = \"Results\"\n", + "FIGURE_ID = \"Results/FigureFiles\"\n", + "DATA_ID = \"DataFiles/\"\n", + "\n", + "if not os.path.exists(PROJECT_ROOT_DIR):\n", + " os.mkdir(PROJECT_ROOT_DIR)\n", + "\n", + "if not os.path.exists(FIGURE_ID):\n", + " os.makedirs(FIGURE_ID)\n", + "\n", + "if not os.path.exists(DATA_ID):\n", + " os.makedirs(DATA_ID)\n", + "\n", + "def image_path(fig_id):\n", + " return os.path.join(FIGURE_ID, fig_id)\n", + "\n", + "def data_path(dat_id):\n", + " return os.path.join(DATA_ID, dat_id)\n", + "\n", + "def save_fig(fig_id):\n", + " plt.savefig(image_path(fig_id) + \".png\", format='png')\n", + "\n", + "infile = open(data_path(\"EoS.csv\"),'r')\n", + "\n", + "# Read the EoS data as csv file and organize the data into two arrays with density and energies\n", + "EoS = pd.read_csv(infile, names=('Density', 'Energy'))\n", + "EoS['Energy'] = pd.to_numeric(EoS['Energy'], errors='coerce')\n", + "EoS = EoS.dropna()\n", + "Energies = EoS['Energy']\n", + "Density = EoS['Density']\n", + "# The design matrix now as function of various polytrops\n", + "\n", + "Maxpolydegree = 30\n", + "X = np.zeros((len(Density),Maxpolydegree))\n", + "X[:,0] = 1.0\n", + "testerror = np.zeros(Maxpolydegree)\n", + "trainingerror = np.zeros(Maxpolydegree)\n", + "polynomial = np.zeros(Maxpolydegree)\n", + "\n", + "trials = 100\n", + "for polydegree in range(1, Maxpolydegree):\n", + " polynomial[polydegree] = polydegree\n", + " for degree in range(polydegree):\n", + " X[:,degree] = Density**(degree/3.0)\n", + "\n", + "# loop over trials in order to estimate the expectation value of the MSE\n", + " testerror[polydegree] = 0.0\n", + " trainingerror[polydegree] = 0.0\n", + " for samples in range(trials):\n", + " x_train, x_test, y_train, y_test = train_test_split(X, Energies, test_size=0.2)\n", + " model = LinearRegression(fit_intercept=False).fit(x_train, y_train)\n", + " ypred = model.predict(x_train)\n", + " ytilde = model.predict(x_test)\n", + " testerror[polydegree] += mean_squared_error(y_test, ytilde)\n", + " trainingerror[polydegree] += mean_squared_error(y_train, ypred) \n", + "\n", + " testerror[polydegree] /= trials\n", + " trainingerror[polydegree] /= trials\n", + " print(\"Degree of polynomial: %3d\"% polynomial[polydegree])\n", + " print(\"Mean squared error on training data: %.8f\" % trainingerror[polydegree])\n", + " print(\"Mean squared error on test data: %.8f\" % testerror[polydegree])\n", + "\n", + "plt.plot(polynomial, np.log10(trainingerror), label='Training Error')\n", + "plt.plot(polynomial, np.log10(testerror), label='Test Error')\n", + "plt.xlabel('Polynomial degree')\n", + "plt.ylabel('log10[MSE]')\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "de30ce89", + "metadata": { + "editable": true + }, + "source": [ + "Note that we kept the intercept column in the fitting here. This means that we need to set the **intercept** in the call to the **Scikit-Learn** function as **False**. Alternatively, we could have set up the design matrix $X$ without the first column of ones." + ] + }, + { + "cell_type": "markdown", + "id": "936b8f0f", + "metadata": { + "editable": true + }, + "source": [ + "## The same example but now with cross-validation\n", + "\n", + "In this example we keep the intercept column again but add cross-validation in order to estimate the best possible value of the means squared error." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "399b09d4", + "metadata": { + "collapsed": false, + "editable": true, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "# Common imports\n", + "import os\n", + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.linear_model import LinearRegression, Ridge, Lasso\n", + "from sklearn.metrics import mean_squared_error\n", + "from sklearn.model_selection import KFold\n", + "from sklearn.model_selection import cross_val_score\n", + "\n", "\n", "# Where to save the figures and data files\n", "PROJECT_ROOT_DIR = \"Results\"\n", @@ -1758,994 +2244,64 @@ "def save_fig(fig_id):\n", " plt.savefig(image_path(fig_id) + \".png\", format='png')\n", "\n", - "infile = open(data_path(\"chddata.csv\"),'r')\n", + "infile = open(data_path(\"EoS.csv\"),'r')\n", "\n", - "# Read the chd data as csv file and organize the data into arrays with age group, age, and chd\n", - "chd = pd.read_csv(infile, names=('ID', 'Age', 'Agegroup', 'CHD'))\n", - "chd.columns = ['ID', 'Age', 'Agegroup', 'CHD']\n", - "output = chd['CHD']\n", - "age = chd['Age']\n", - "agegroup = chd['Agegroup']\n", - "numberID = chd['ID'] \n", - "display(chd)\n", + "# Read the EoS data as csv file and organize the data into two arrays with density and energies\n", + "EoS = pd.read_csv(infile, names=('Density', 'Energy'))\n", + "EoS['Energy'] = pd.to_numeric(EoS['Energy'], errors='coerce')\n", + "EoS = EoS.dropna()\n", + "Energies = EoS['Energy']\n", + "Density = EoS['Density']\n", + "# The design matrix now as function of various polytrops\n", "\n", - "plt.scatter(age, output, marker='o')\n", - "plt.axis([18,70.0,-0.1, 1.2])\n", - "plt.xlabel(r'Age')\n", - "plt.ylabel(r'CHD')\n", - "plt.title(r'Age distribution and Coronary heart disease')\n", + "Maxpolydegree = 30\n", + "X = np.zeros((len(Density),Maxpolydegree))\n", + "X[:,0] = 1.0\n", + "estimated_mse_sklearn = np.zeros(Maxpolydegree)\n", + "polynomial = np.zeros(Maxpolydegree)\n", + "k =5\n", + "kfold = KFold(n_splits = k)\n", + "\n", + "for polydegree in range(1, Maxpolydegree):\n", + " polynomial[polydegree] = polydegree\n", + " for degree in range(polydegree):\n", + " X[:,degree] = Density**(degree/3.0)\n", + " OLS = LinearRegression(fit_intercept=False)\n", + "# loop over trials in order to estimate the expectation value of the MSE\n", + " estimated_mse_folds = cross_val_score(OLS, X, Energies, scoring='neg_mean_squared_error', cv=kfold)\n", + "#[:, np.newaxis]\n", + " estimated_mse_sklearn[polydegree] = np.mean(-estimated_mse_folds)\n", + "\n", + "plt.plot(polynomial, np.log10(estimated_mse_sklearn), label='Test Error')\n", + "plt.xlabel('Polynomial degree')\n", + "plt.ylabel('log10[MSE]')\n", + "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "ded3c9a0", + "metadata": { + "editable": true + }, "source": [ - "## Plotting the mean value for each group\n", + "## Material for the lab sessions\n", "\n", - "What we could attempt however is to plot the mean value for each group." + "This week we will discuss during the first hour of each lab session\n", + "some technicalities related to the project and methods for updating\n", + "the learning like ADAgrad, RMSprop and ADAM. As teaching material, see\n", + "the jupyter-notebook from week 37 (September 12-16).\n", + "\n", + "For the lab session, the following video on cross validation (from 2024), could be helpful, see \n", + "\n", + "See also video on ADAgrad, RMSprop and ADAM (material from last week not covered during lecture) at " ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "agegroupmean = np.array([0.1, 0.133, 0.250, 0.333, 0.462, 0.625, 0.765, 0.800])\n", - "group = np.array([1, 2, 3, 4, 5, 6, 7, 8])\n", - "plt.plot(group, agegroupmean, \"r-\")\n", - "plt.axis([0,9,0, 1.0])\n", - "plt.xlabel(r'Age group')\n", - "plt.ylabel(r'CHD mean values')\n", - "plt.title(r'Mean values for each age group')\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We are now trying to find a function $f(y\\vert x)$, that is a function which gives us an expected value for the output $y$ with a given input $x$.\n", - "In standard linear regression with a linear dependence on $x$, we would write this in terms of our model" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "f(y_i\\vert x_i)=\\beta_0+\\beta_1 x_i.\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This expression implies however that $f(y_i\\vert x_i)$ could take any\n", - "value from minus infinity to plus infinity. If we however let\n", - "$f(y\\vert y)$ be represented by the mean value, the above example\n", - "shows us that we can constrain the function to take values between\n", - "zero and one, that is we have $0 \\le f(y_i\\vert x_i) \\le 1$. Looking\n", - "at our last curve we see also that it has an S-shaped form. This leads\n", - "us to a very popular model for the function $f$, namely the so-called\n", - "Sigmoid function or logistic model. We will consider this function as\n", - "representing the probability for finding a value of $y_i$ with a given\n", - "$x_i$.\n", - "\n", - "## The logistic function\n", - "\n", - "Another widely studied model, is the so-called \n", - "perceptron model, which is an example of a \"hard classification\" model. We\n", - "will encounter this model when we discuss neural networks as\n", - "well. Each datapoint is deterministically assigned to a category (i.e\n", - "$y_i=0$ or $y_i=1$). In many cases, and the coronary heart disease data forms one of many such examples, it is favorable to have a \"soft\"\n", ->>>>>>> 9b0e2e75096cc1acee65bfac25f4eff818140252 - "classifier that outputs the probability of a given category rather\n", - "than a single value. For example, given $x_i$, the classifier\n", - "outputs the probability of being in a category $k$. Logistic regression\n", - "is the most common example of a so-called soft classifier. In logistic\n", - "regression, the probability that a data point $x_i$\n", - "belongs to a category $y_i=\\{0,1\\}$ is given by the so-called logit function (or Sigmoid) which is meant to represent the likelihood for a given event," - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "p(t) = \\frac{1}{1+\\mathrm \\exp{-t}}=\\frac{\\exp{t}}{1+\\mathrm \\exp{t}}.\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Note that $1-p(t)= p(-t)$.\n", - "\n", - "## Examples of likelihood functions used in logistic regression and nueral networks\n", - "\n", - "\n", - "The following code plots the logistic function, the step function and other functions we will encounter from here and on." - ] - }, - { - "cell_type": "code", -<<<<<<< HEAD - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "%matplotlib inline\n", - "\n", -======= - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfIAAAFnCAYAAABdOssgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3df3RU9Z3/8dckIZgfQJJJ+JkEkG8bAY3AUiBVIPw4xePxrKYsPWyLrUUbD5ZoRVYQXZO6LgvRUA5FFoNYqcUfB8Ggiz2glBAqEZEJa8EQqEqATZEQEmDygxByv3+wuW5EyKWTmbl38nyc03Ny535m5p1PI6/5fO5nPtdlGIYhAADgSGHBLgAAAPz9CHIAAByMIAcAwMEIcgAAHIwgBwDAwQhyAAAcjCAHIEnau3evsrKy9E//9E9auHBhQN/76aefVlFRUUDfEwgVBDngEAsXLtRvf/tbv73+b37zG82ePVtvvfWW0tPT/fY+mzZt0r333tvusQULFuiuu+7y23sCoSwi2AUAsIeTJ0+qd+/ekqQf//jHAX3vmJiYgL4fEEpc7OwG2Edra6t+/etf6/DhwwoPD9fAgQP15JNPasOGDSosLFT37t01YMAA/eM//qNmzJihAwcO6D/+4z/kcrkUHh6up59+WkOGDNHKlSv1+uuvKzMzU7W1tfrqq6/kdru1ZMkSJSQkXPG+c+fO1c6dO3XjjTcqKSlJt912m1566SXNnDlTOTk5WrFihX7/+99r0aJF+uEPf2i+/rRp03Tu3DkdOnRIw4cP19KlS83XfOedd/SHP/xBN9xwgyRpzpw5Zo2nT5/W0KFD9d3vfle33HKLVqxYoTFjxmjJkiWSpE8//VT5+fkyDEMul0uPP/640tPTtX37dj333HNKTEzUrbfeqr179yosLEwvvPCC3G53YP5PAuzGAGAbxcXFxv33328eP/TQQ8bx48cNwzCMBQsWGCtWrDDPnTt3zhg7dqyxe/duwzAMY8eOHcYPfvAD49KlS2b7qVOnGufPnzcMwzCeeuopY968eVd970mTJhkfffSRefzN95s1a5axcePGdufvvvtu48KFC0ZTU5MxZswYw+PxGIZhGPv27TO+//3vGzU1NYZhGMYf//hHY8GCBYZhGMbGjRuNWbNmtXvvFStWmOfPnTtnjBkzxqxl7969xpgxY4yzZ8+az7/11luNY8eOGYZhGA888ICxevXqa3UrENK4Rg7YSM+ePXX48GF9+OGHam1t1bJly9S/f/9vbbtjxw5FR0crIyNDkpSZmanTp0/rv//7v802EydOVGxsrCTp7rvv1tatW3Xp0qVOq3fs2LGKjIxU9+7dNXDgQJ04cULS5evgEyZMMEf/U6dO1T//8z9bes0dO3YoNjZWY8eOlSSNHj1avXr10p/+9CezzeDBg5WSkiJJSktLM98X6IoIcsBGRo4cqX/7t3/TmjVrNGnSJK1du1bGVa5+nTx5UmfPntW9995r/i8hIUF1dXVmm169epk/x8XF6eLFi6qtre20ets+JEhS9+7ddfHiRbO2/zuFHxERoVtvvdXSa37zuZKUkJCgkydPdvi+QFfEYjfARs6fP68xY8Zo4sSJOnbsmB544AH16dNH06dPv6Jtv3791LdvX7366qvmY16vV5GRkebx2bNnzZ9ra2vVrVs3xcfHW6qlW7duam5uNo/PnTtn+ffo16+fzpw5Yx63tLTor3/9q2666abrfq4knTlzRn379rX8/kBXwogcsJH3339fb775piQpNTVVffr0UWtrq6TLK7sbGxvV0NCgxx57TJMmTVJdXZ0+/fRTSVJDQ4N++tOfyuv1mq/35z//2TwuKirStGnTFB4ebqmW5ORkHTlyRJJUWVmpyspKy79HVlaWSkpKzEB+7733tGnTpna/hyTl5OSopaWl3XMnTZqk+vp67d27V5Lk8Xh09uxZTZ482fL7A11JeF5eXl6wiwBwWffu3fX6669rw4YNWr9+vYYMGaIHH3xQ4eHh6tmzp1566SVt2bJF99xzj2655RaNHTtW+fn52rRpk9555x3NmTNHw4YNkyR98MEHGjx4sP7rv/5LL730klpbW/XMM88oKirqivedO3euPvvsMx04cED19fUaNWqUBg0apI0bN2rDhg2qra2VYRjatWuXkpOTtWPHDhUVFenIkSPq37+//vjHP+qDDz5QeXm5hgwZojFjxigxMVFLlizRO++8o7/97W9atGiRIiMjlZSUpLfffltFRUW68cYbVVdXp3Xr1umLL75Qc3OzbrvtNo0bN07Lli3Txo0b9dFHH2np0qVKTU1VaWmpli1bpmPHjqmpqUler1eFhYX64osvFBYWppEjRwb6/zIg6Pj6GRCi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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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rXYXbPa2+3yllEsRFx2B3jo1tNERiI+JREJcJPSxKiTERSIhNhIyKZdKJaLQ5VeQDxkypMMxe/fuRXZ2tmfrZ/jw4dizZw9SUlJw4MABDB06FAAwYsQIvPrqqz4F+Qu//9afsimAyGVSRCikUCpkUEcqoIuJRIRCBlWE/PJ/MkRFyqGJVECtUkAdqUB0lALRaiViohSIUMi4ZU1EYa3DIJ8xYwbq6+uvun/OnDmYOHFih2/Q0NDQbrpcrVbDYDCgsbERkZHfT29qNBoYDAafit624kGfxhHdKL0+WuwSAhZ74x174x17452/vekwyNevX+/XG8THx6O8vNxz22w2Iy0tDVqtFq2trRAEARKJBCaTCTodLzZBRETUGd2y89DtdqO6uhoAMG7cOBQWFnr21RYUFOC2226DQqHA6NGjceLECQBAfn4+xo8f3x3lEBERhSyJIFzvMKvra2pqwsaNG/Hhhx/iwQcfxH333Ydhw4ahqKgIL730ErZt2wag7aj1kydPQiaTISMjo91R63/4wx+QmpqKixcvYsGCBTxqnYiIqBP8CnIiIiISF8/LISIiCmIMciIioiAW8ku02u12fPjhh1CpVDh79iy0Wi1+9atfiV1WQFm9ejU2bNiAAwcOiF1KwFiyZAlUKhWioqJQXFyMV155BXq9XuyyRLNv3z7s2LEDOp0OEokEs2bNErukgHHhwgWsXLkSQ4YMQU1NDeLi4tifH2htbcXDDz+MsWPHYv78+WKXE1DOnz+P7du3IyIiAocOHcLs2bORk5PT6dcJ+SBft24dbr31VowaNQpA22p09L0DBw6gublZ7DICjkql8vzBt3btWrz//vt47bXXRK5KHFarFYsWLcL27duhVCoxe/Zs5OXlITc3V+zSAoLRaMTkyZNx5513AgAmT56MCRMm4KabbhK5ssBw5Y8cas/lcuE3v/kN3n//fUilUjz00EOQy28skkM+yL/88kskJyejsLAQRqMRTzzxhNglBYz6+nps374dM2fOxObNm8UuJ6D8cNZGEARERUWJWI24jh49iuTkZCiVSgBtqzDu2rWLQX7Zj7eg3G73dZetDidbtmzBiBEjUFJSAovFInY5AeXEiRMQBAEff/wxWltbERcXh0ceeeSGXiskgvx6q89VVVVBIpHgqaeewr59+/Diiy/i448/FqFKcVyvNzt37sT8+fPR0hKeV/ryZdXC5uZmfPvtt3j33Xd7uryAYTAY2p0W2plVGMPNN998g7Fjx6Jfv35ilyK6s2fP4vz585g7dy5KSkrELifgVFdX4+jRo3jnnXcQHR2NefPmQaFQYOrUqZ1+rZAI8uutPqfRaDx/Md9yyy04fPgwXC4XZDJZT5UnKm+9OXHiBORyOT777DM0NTXBZrNh7dq1uPvuu5GRkdGzRYqko1ULW1pa8Otf/xpLlixBXFxcD1UVeHQ6Hcxms+c2V2G8tv379+PAgQN45ZVXxC4lIHzzzTdQKpVYu3Ytjhw5AofDgY8++ghPPfWU2KUFBLVajb59+yI6um151ltuuQUHDx4M3yC/ntzcXFRUVKBv376oqqpCWlpa2IT49QwdOtRzwZrKykr89a9/xcyZM0WuKnA0NDRgyZIleOmll5CUlISvv/4akyZNErssUQwbNgzV1dWw2+1QKpXIz8/Ho48+KnZZAWXXrl04fPgwFi5ciEuXLqG6uhrDhw8XuyxRPffcc56vbTYbLBYLQ/wHbr75ZhiNRs+GZXV19Q1vRIX8gjC1tbX4/e9/j7S0NJw7dw6PP/74DR0VGKrKy8vx6aef4s9//jNmzpyJp556Kqz3B18xZcoUOJ1Oz5a4Wq3G+++/L3JV4vnuu+/w9ddfQ6vVQqFQ8KjsHzh58iSeeOIJz8FtFosFjz322A1tWYWir7/+Ghs3boTD4cBjjz2G++67T+ySAsY333yD/fv3Q6vV4uLFi3jttdcQGRnZ6dcJ+SAnIiIKZVwQhoiIKIgxyImIiIIYg5yIiCiIMciJiIiCGIOciIgoiDHIiYiIghiDnIiIKIiF/MpuROS/TZs2YefOnUhKSkJTUxP+/ve/Y+vWrRg4cKDYpRGFPS4IQ0QdKigoQFxcHDIzMzF79mykpaXhf/7nf8Qui4jAICeiTvj888/xySef4LPPPvNc1pSIxMWpdSLySWlpKVasWIGNGzcyxIkCCA92I6IOORwO/Pd//zdmz56Nfv364dy5czh8+LDYZRERuEVORD746KOPcO7cOZw7dw5vvPEGamtrMXHiRIwcOVLs0ojCHveRExERBTFOrRMREQUxBjkREVEQY5ATEREFMQY5ERFREGOQExERBTEGORERURBjkBMREQUxBjkREVEQ+/+RA+hyZdAJPAAAAABJRU5ErkJggg==\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ ->>>>>>> 9b0e2e75096cc1acee65bfac25f4eff818140252 - "\"\"\"The sigmoid function (or the logistic curve) is a\n", - "function that takes any real number, z, and outputs a number (0,1).\n", - "It is useful in neural networks for assigning weights on a relative scale.\n", - "The value z is the weighted sum of parameters involved in the learning algorithm.\"\"\"\n", - "\n", - "import numpy\n", - "import matplotlib.pyplot as plt\n", - "import math as mt\n", - "\n", - "z = numpy.arange(-5, 5, .1)\n", - "sigma_fn = numpy.vectorize(lambda z: 1/(1+numpy.exp(-z)))\n", - "sigma = sigma_fn(z)\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.add_subplot(111)\n", - "ax.plot(z, sigma)\n", - "ax.set_ylim([-0.1, 1.1])\n", - "ax.set_xlim([-5,5])\n", - "ax.grid(True)\n", - "ax.set_xlabel('z')\n", - "ax.set_title('sigmoid function')\n", - "\n", - "plt.show()\n", - "\n", - "\"\"\"Step Function\"\"\"\n", - "z = numpy.arange(-5, 5, .02)\n", - "step_fn = numpy.vectorize(lambda z: 1.0 if z >= 0.0 else 0.0)\n", - "step = step_fn(z)\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.add_subplot(111)\n", - "ax.plot(z, step)\n", - "ax.set_ylim([-0.5, 1.5])\n", - "ax.set_xlim([-5,5])\n", - "ax.grid(True)\n", - "ax.set_xlabel('z')\n", - "ax.set_title('step function')\n", - "\n", - "plt.show()\n", - "\n", - "\"\"\"tanh Function\"\"\"\n", - "z = numpy.arange(-2*mt.pi, 2*mt.pi, 0.1)\n", - "t = numpy.tanh(z)\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.add_subplot(111)\n", - "ax.plot(z, t)\n", - "ax.set_ylim([-1.0, 1.0])\n", - "ax.set_xlim([-2*mt.pi,2*mt.pi])\n", - "ax.grid(True)\n", - "ax.set_xlabel('z')\n", - "ax.set_title('tanh function')\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Two parameters\n", - "\n", - "We assume now that we have two classes with $y_i$ either $0$ or $1$. Furthermore we assume also that we have only two parameters $\\beta$ in our fitting of the Sigmoid function, that is we define probabilities" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\begin{align*}\n", - "p(y_i=1|x_i,\\hat{\\beta}) &= \\frac{\\exp{(\\beta_0+\\beta_1x_i)}}{1+\\exp{(\\beta_0+\\beta_1x_i)}},\\nonumber\\\\\n", - "p(y_i=0|x_i,\\hat{\\beta}) &= 1 - p(y_i=1|x_i,\\hat{\\beta}),\n", - "\\end{align*}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "where $\\hat{\\beta}$ are the weights we wish to extract from data, in our case $\\beta_0$ and $\\beta_1$. \n", - "\n", - "Note that we used" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "p(y_i=0\\vert x_i, \\hat{\\beta}) = 1-p(y_i=1\\vert x_i, \\hat{\\beta}).\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "## Maximum likelihood\n", - "\n", - "In order to define the total likelihood for all possible outcomes from a \n", - "dataset $\\mathcal{D}=\\{(y_i,x_i)\\}$, with the binary labels\n", - "$y_i\\in\\{0,1\\}$ and where the data points are drawn independently, we use the so-called [Maximum Likelihood Estimation](https://en.wikipedia.org/wiki/Maximum_likelihood_estimation) (MLE) principle. \n", - "We aim thus at maximizing \n", - "the probability of seeing the observed data. We can then approximate the \n", - "likelihood in terms of the product of the individual probabilities of a specific outcome $y_i$, that is" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\begin{align*}\n", - "P(\\mathcal{D}|\\hat{\\beta})& = \\prod_{i=1}^n \\left[p(y_i=1|x_i,\\hat{\\beta})\\right]^{y_i}\\left[1-p(y_i=1|x_i,\\hat{\\beta}))\\right]^{1-y_i}\\nonumber \\\\\n", - "\\end{align*}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "from which we obtain the log-likelihood and our **cost/loss** function" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\mathcal{C}(\\hat{\\beta}) = \\sum_{i=1}^n \\left( y_i\\log{p(y_i=1|x_i,\\hat{\\beta})} + (1-y_i)\\log\\left[1-p(y_i=1|x_i,\\hat{\\beta}))\\right]\\right).\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## The cost function rewritten\n", - "\n", - "Reordering the logarithms, we can rewrite the **cost/loss** function as" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\mathcal{C}(\\hat{\\beta}) = \\sum_{i=1}^n \\left(y_i(\\beta_0+\\beta_1x_i) -\\log{(1+\\exp{(\\beta_0+\\beta_1x_i)})}\\right).\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The maximum likelihood estimator is defined as the set of parameters that maximize the log-likelihood where we maximize with respect to $\\beta$.\n", - "Since the cost (error) function is just the negative log-likelihood, for logistic regression we have that" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\mathcal{C}(\\hat{\\beta})=-\\sum_{i=1}^n \\left(y_i(\\beta_0+\\beta_1x_i) -\\log{(1+\\exp{(\\beta_0+\\beta_1x_i)})}\\right).\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This equation is known in statistics as the **cross entropy**. Finally, we note that just as in linear regression, \n", - "in practice we often supplement the cross-entropy with additional regularization terms, usually $L_1$ and $L_2$ regularization as we did for Ridge and Lasso regression.\n", - "\n", - "## Minimizing the cross entropy\n", - "\n", - "The cross entropy is a convex function of the weights $\\hat{\\beta}$ and,\n", - "therefore, any local minimizer is a global minimizer. \n", - "\n", - "\n", - "Minimizing this\n", - "cost function with respect to the two parameters $\\beta_0$ and $\\beta_1$ we obtain" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\frac{\\partial \\mathcal{C}(\\hat{\\beta})}{\\partial \\beta_0} = -\\sum_{i=1}^n \\left(y_i -\\frac{\\exp{(\\beta_0+\\beta_1x_i)}}{1+\\exp{(\\beta_0+\\beta_1x_i)}}\\right),\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "and" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\frac{\\partial \\mathcal{C}(\\hat{\\beta})}{\\partial \\beta_1} = -\\sum_{i=1}^n \\left(y_ix_i -x_i\\frac{\\exp{(\\beta_0+\\beta_1x_i)}}{1+\\exp{(\\beta_0+\\beta_1x_i)}}\\right).\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## A more compact expression\n", - "\n", - "Let us now define a vector $\\hat{y}$ with $n$ elements $y_i$, an\n", - "$n\\times p$ matrix $\\hat{X}$ which contains the $x_i$ values and a\n", - "vector $\\hat{p}$ of fitted probabilities $p(y_i\\vert x_i,\\hat{\\beta})$. We can rewrite in a more compact form the first\n", - "derivative of cost function as" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\frac{\\partial \\mathcal{C}(\\hat{\\beta})}{\\partial \\hat{\\beta}} = -\\hat{X}^T\\left(\\hat{y}-\\hat{p}\\right).\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If we in addition define a diagonal matrix $\\hat{W}$ with elements \n", - "$p(y_i\\vert x_i,\\hat{\\beta})(1-p(y_i\\vert x_i,\\hat{\\beta})$, we can obtain a compact expression of the second derivative as" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\frac{\\partial^2 \\mathcal{C}(\\hat{\\beta})}{\\partial \\hat{\\beta}\\partial \\hat{\\beta}^T} = \\hat{X}^T\\hat{W}\\hat{X}.\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Extending to more predictors\n", - "\n", - "Within a binary classification problem, we can easily expand our model to include multiple predictors. Our ratio between likelihoods is then with $p$ predictors" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\log{ \\frac{p(\\hat{\\beta}\\hat{x})}{1-p(\\hat{\\beta}\\hat{x})}} = \\beta_0+\\beta_1x_1+\\beta_2x_2+\\dots+\\beta_px_p.\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here we defined $\\hat{x}=[1,x_1,x_2,\\dots,x_p]$ and $\\hat{\\beta}=[\\beta_0, \\beta_1, \\dots, \\beta_p]$ leading to" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "p(\\hat{\\beta}\\hat{x})=\\frac{ \\exp{(\\beta_0+\\beta_1x_1+\\beta_2x_2+\\dots+\\beta_px_p)}}{1+\\exp{(\\beta_0+\\beta_1x_1+\\beta_2x_2+\\dots+\\beta_px_p)}}.\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Including more classes\n", - "\n", - "Till now we have mainly focused on two classes, the so-called binary\n", - "system. Suppose we wish to extend to $K$ classes. Let us for the sake\n", -<<<<<<< HEAD - "of simplicity assume we have only two predictors. We have then\n", - "following model" -======= - "of simplicity assume we have only two predictors. We have then following model" ->>>>>>> 9b0e2e75096cc1acee65bfac25f4eff818140252 - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ -<<<<<<< HEAD - "1\n", - "5\n", - " \n", - "<\n", - "<\n", - "<\n", - "!\n", - "!\n", - "M\n", - "A\n", - "T\n", - "H\n", - "_\n", - "B\n", - "L\n", - "O\n", - "C\n", - "K" -======= - "$$\n", - "\\log{\\frac{p(C=1\\vert x)}{p(K\\vert x)}} = \\beta_{10}+\\beta_{11}x_1,\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "and" ->>>>>>> 9b0e2e75096cc1acee65bfac25f4eff818140252 - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\log{\\frac{p(C=2\\vert x)}{p(K\\vert x)}} = \\beta_{20}+\\beta_{21}x_1,\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "and so on till the class $C=K-1$ class" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "\\log{\\frac{p(C=K-1\\vert x)}{p(K\\vert x)}} = \\beta_{(K-1)0}+\\beta_{(K-1)1}x_1,\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "and the model is specified in term of $K-1$ so-called log-odds or\n", - "**logit** transformations.\n", - "\n", - "\n", - "## More classes\n", - "\n", - "In our discussion of neural networks we will encounter the above again\n", - "in terms of a slightly modified function, the so-called **Softmax** function.\n", - "\n", - "The softmax function is used in various multiclass classification\n", - "methods, such as multinomial logistic regression (also known as\n", - "softmax regression), multiclass linear discriminant analysis, naive\n", - "Bayes classifiers, and artificial neural networks. Specifically, in\n", - "multinomial logistic regression and linear discriminant analysis, the\n", - "input to the function is the result of $K$ distinct linear functions,\n", - "and the predicted probability for the $k$-th class given a sample\n", - "vector $\\hat{x}$ and a weighting vector $\\hat{\\beta}$ is (with two\n", - "predictors):" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "p(C=k\\vert \\mathbf {x} )=\\frac{\\exp{(\\beta_{k0}+\\beta_{k1}x_1)}}{1+\\sum_{l=1}^{K-1}\\exp{(\\beta_{l0}+\\beta_{l1}x_1)}}.\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "It is easy to extend to more predictors. The final class is" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$$\n", - "p(C=K\\vert \\mathbf {x} )=\\frac{1}{1+\\sum_{l=1}^{K-1}\\exp{(\\beta_{l0}+\\beta_{l1}x_1)}},\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "and they sum to one. Our earlier discussions were all specialized to\n", - "the case with two classes only. It is easy to see from the above that\n", - "what we derived earlier is compatible with these equations.\n", - "\n", - "To find the optimal parameters we would typically use a gradient\n", - "descent method. Newton's method and gradient descent methods are\n", - "discussed in the material on [optimization\n", - "methods](https://compphysics.github.io/MachineLearning/doc/pub/Splines/html/Splines-bs.html).\n", - "\n", -<<<<<<< HEAD - "\n", - "\n", - "\n", - "## A simple classification problem" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "from sklearn import datasets, linear_model\n", - "import matplotlib.pyplot as plt\n", - "\n", - "\n", - "def generate_data():\n", - " np.random.seed(0)\n", - " X, y = datasets.make_moons(200, noise=0.20)\n", - " return X, y\n", - "\n", - "\n", - "def visualize(X, y, clf):\n", - " plot_decision_boundary(lambda x: clf.predict(x), X, y)\n", - "\n", - "def plot_decision_boundary(pred_func, X, y):\n", - " # Set min and max values and give it some padding\n", - " x_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5\n", - " y_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5\n", - " h = 0.01\n", - " # Generate a grid of points with distance h between them\n", - " xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n", - " # Predict the function value for the whole gid\n", - " Z = pred_func(np.c_[xx.ravel(), yy.ravel()])\n", - " Z = Z.reshape(xx.shape)\n", - " # Plot the contour and training examples\n", - " plt.contourf(xx, yy, Z, cmap=plt.cm.Spectral)\n", - " plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Spectral)\n", - " plt.show()\n", - "\n", - "\n", - "def classify(X, y):\n", - " clf = linear_model.LogisticRegressionCV()\n", - " clf.fit(X, y)\n", - " return clf\n", - "\n", - "\n", - "def main():\n", - " X, y = generate_data()\n", - " # visualize(X, y)\n", - " clf = classify(X, y)\n", - " visualize(X, y, clf)\n", - "\n", - "if __name__ == \"__main__\":\n", - " main()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Cancer Data again now with Decision Trees and other Methods" -======= - "This will be discussed next week. Before we develop our own codes for logistic regression, we end this lecture by studying the functionality that **Scikit-learn** offers. \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "## Wisconsin Cancer Data\n", - "\n", - "We show here how we can use a simple regression case on the breast\n", - "cancer data using Logistic regression as our algorithm for\n", - "classification." ->>>>>>> 9b0e2e75096cc1acee65bfac25f4eff818140252 - ] - }, - { - "cell_type": "code", -<<<<<<< HEAD - "execution_count": 3, - "metadata": {}, - "outputs": [], -======= - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(426, 30)\n", - "(143, 30)\n", - "Test set accuracy with Logistic Regression: 0.95\n", - "Test set accuracy Logistic Regression with scaled data: 0.96\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/linear_model/_logistic.py:762: ConvergenceWarning: lbfgs failed to converge (status=1):\n", - "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", - "\n", - "Increase the number of iterations (max_iter) or scale the data as shown in:\n", - " https://scikit-learn.org/stable/modules/preprocessing.html\n", - "Please also refer to the documentation for alternative solver options:\n", - " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", - " n_iter_i = _check_optimize_result(\n" - ] - } - ], ->>>>>>> 9b0e2e75096cc1acee65bfac25f4eff818140252 - "source": [ - "import matplotlib.pyplot as plt\n", - "import numpy as np\n", - "from sklearn.model_selection import train_test_split \n", - "from sklearn.datasets import load_breast_cancer\n", - "from sklearn.linear_model import LogisticRegression\n", - "\n", - "# Load the data\n", - "cancer = load_breast_cancer()\n", - "\n", - "X_train, X_test, y_train, y_test = train_test_split(cancer.data,cancer.target,random_state=0)\n", - "print(X_train.shape)\n", - "print(X_test.shape)\n", - "# Logistic Regression\n", - "logreg = LogisticRegression(solver='lbfgs')\n", - "logreg.fit(X_train, y_train)\n", - "print(\"Test set accuracy with Logistic Regression: {:.2f}\".format(logreg.score(X_test,y_test)))\n", - "#now scale the data\n", - "from sklearn.preprocessing import StandardScaler\n", - "scaler = StandardScaler()\n", - "scaler.fit(X_train)\n", - "X_train_scaled = scaler.transform(X_train)\n", - "X_test_scaled = scaler.transform(X_test)\n", - "# Logistic Regression\n", - "logreg.fit(X_train_scaled, y_train)\n", - "print(\"Test set accuracy Logistic Regression with scaled data: {:.2f}\".format(logreg.score(X_test_scaled,y_test)))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ -<<<<<<< HEAD - "## Other measures in classification studies: Cancer Data again" -======= - "## Using the correlation matrix\n", - "\n", - "In addition to the above scores, we could also study the covariance (and the correlation matrix).\n", - "We use **Pandas** to compute the correlation matrix." ->>>>>>> 9b0e2e75096cc1acee65bfac25f4eff818140252 - ] - }, - { - "cell_type": "code", -<<<<<<< HEAD - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ -======= - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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LVmyBAAvLy/CwsIAOHv2LJGRkcW6bW9vb5KTkzlx4gQAu3fvtiyrV68ePj4+bNiwAbjS+7F3794Cy6pRowYuLi78+uuvAOzatSvP8jFjxpCdnY2zszM+Pj6W+oqIlISSamtdXV1JS0vDGMO4ceNo06YNnp6ebNu2DbjSCTFu3Diio6MB2LlzJ40aNWLGjBmkpaXxySef5CkrPT2d4OBgVq5cedN2Nj+1a9fG19fX0pYDzJgxQ7eIk5tymDlz5sybrfTMM89Qt25dGjZsaP2IpMz6+uuvWbFiBVFRUbi4uLBz506+++47IiIiaNWqFW+++SZRUVGEhYXxwAMP0KlTJyIjIwkMDGTjxo0kJSUxdepUHB0dufPOO1mzZg3r1q0jMjKS9PR09u3bR5MmTVi4cCFhYWGEh4fj6+vL9OnT85Tr7OxsienYsWO8+uqrnD59mp9++on77rsPZ2dnatWqRVZWFm+99RbBwcE4OTlx4MABoqOjeeCBB+jcuTPLly/niy++4JdffqFu3brs3r0bZ2dnNm3axK5du4iIiKB+/fo0btyYypUrExAQwE8//USLFi344YcfOHLkCP369SMqKorFixezYcMGwsPDmTFjBjVr1izFIyUiZZkttrUA1atXZ9WqVWzcuJFu3bpxzz330L17dxYtWsSXX37JunXrGDBgAD169ODDDz8kICAAT09PWrduzZo1a/juu+84d+4cPXr0ICcnhyVLlnDgwAFGjBiBh4dHge1sly5dGD9+vKUjw8fHx9JT7Ovry+eff86qVatYu3Ytbdq04YknniiNwyZliJ0xxtxspUWLFuHt7c0PP/xAixYtePzxx/OMxxQRERERKQ8KlRxfa8+ePUyePJkuXbowbNgw2rRpY63YRERERERKVKGS49WrV3PXXXexevVqduzYQZ8+fRg0aBBhYWGcOnWKV155pSRiFRERERGxqkIlx23btsXT05MhQ4YwaNAgy61SjDGMHz+eRYsWWT1QERERERFrK9St3B5//PF8e4fPnDlDhw4dij0oEREREZHSUKie4/379xMZGWl5nvqXX37JI488ct0vVa9KSLj5/QfLumrVKnH+fGpph2GTtG/yp/2Sv9tpv3h4uN18pVtUXO1ueTke5aUeUH7qonrYltulHrfS7hbqPsdLly6lfv36lulatWrx5ptvFnlj5UmFCg6l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6SQkJHDw4EGdM7ny2zc6Z2xHeTlPy+o5VV7ajvLwf37s2DF27Nhhma5fvz6nTp0qk8ejoLqUpWPi7+/P+PHjGT16NHfffTc+Pj6MGDHCKsejUI+Pvt3t3buXoKAgdu/ezdChQxk5ciTp6em8/fbb1K1bl9jYWF588UWb/7WqNeS3bxYtWkRaWho1atTg119/ZcKECbfVMJzw8HD8/Pxo3bo1AKmpqQwbNoz77rvvtj9nCto3J06cuK3PmdJSXtq28tIOlZe2o7z8n588eZJ58+bRsmVLsrKyOH78OK+88gqOjo5l6nhAwXX55JNPytQxAdi6dSurV68mMzOTYcOG4evrW+zHQ8mxiIiIiEguDasQEREREcml5FhEREREJJeSYxERERGRXEqORURERERyKTkWEREREcml5FgsDhw4gJ+fH127duW1116z/A0aNIhTp07dUpl+fn75Pta1vPnHP/7Brl27AAgJCcHPz6/IZcTFxTFmzJhbeq+IiIgUj7LxSBcpEXfffTcDBw7k888/5/XXX7fMX716NY6OjqUYme2bMmUK1apV+1Nl1KlTh2eeeYb333+/mKISERGRolJyLDe0cOFCBg4cSO3atdmyZQt79uzB3d2d+Ph4Xn75ZTw8PNi8eTPfffcd9erV48yZM4wdO5Y77riDDRs2EB0dzSeffMLWrVsZMGAA7777LnXq1GHu3Ln8+9//5q233mLjxo1Ur16dUaNGER8fz6BBg9i1axcZGRkEBQXxySefEB0dTcWKFUlJSWHq1KmW56hfFRgYyKpVq3jqqac4fPgw0dHRzJw5k2+++YZDhw7RvHlz5syZA1BgvADffvstK1eupHnz5ri5ubF69WpGjx5N48aNCQgIoFOnTqSlpREREcHTTz/N0KFDCQkJ4a233qJnz574+flZ4n399ddp164diYmJBAYGsnHjRuzt7Zk2bZplHwCsWrWKrVu30rhx4+vqVdA+FxERESsxItdYu3at6dixo5k4caKZOHGi6d+/v4mNjTXHjx83Dz30kMnOzjbGGPPFF1+Yl156yRhjzI4dO0xKSooxxpiwsDAzatQoS3nDhw83wcHBecqfPHmyZbpXr14mNjbWGGNMbGysufPOO83hw4eNMcZ8+umnZs+ePebpp5+2rD9//nyzYMGCfGMfPny4ee+99yzxdevWzSQlJZns7GzTs2dPc+LEiRvG+/vvv5t77rnHxMfHW8ro1auXpfzAwEAzfPhwk5OTY6Kioky3bt3yLAsMDDTGGBMcHGyGDx+eJ7Zr63ntPjhy5Ijp2rWrSUtLs9Tv6ntvtM9FRETEOtRzLNfx9vbm3XffBSAoKAhnZ2d27NjB5cuXmTlzJgCXLl0iMzMTuPKM9jlz5uDi4sKlS5eIjo6+5W1Xr16dO++8E4Bhw4YREBDA+fPnee211wBISkq6Yc9pu3btAGjQoAH16tWjatWqlhgTEhJo2LBhgfGGhoZSu3ZtatWqBVwZZvJHbdu2xc7ODi8vL37//WfOfZwAACAASURBVPdbrudVISEhtG7dGmdnZwDuuecefv75ZwD27NlT4D4XERER61ByLDf02GOPAWCMoWHDhnnGIl+6dAmAsWPH8sILL/Dggw9y6tQpnnrqqQLLs7OzIycnxzL9x2TPyckpz7QxhrZt2zJr1izLdFpaWoHlX32/nZ1dnrKu3W5B8RpjsLOzK7Dsa8t3cHDAFPHJ61fXz8rKyjOvoG3eaJ+LiIiIdehuFVIoXbt2JTw8nIsXLwJw+PBhyxjepKQk3N3dAfjtt9/yvM/JyYmcnBzCw8OJjIykZs2aJCQkAHD27FkSExNvuN0ePXoQEhJiSSi/++47Vq5c+afqUlC87dq147fffuPs2bPAlbt33IqKFSuSnZ0NwNq1awHw8PCwlBsREWFZt1OnTvzyyy+kp6dft80b7XMRERGxDoeZV6/Zym3v4MGDlh+TnT59mk6dOlGhwpWLC9WrV8fT05PFixfzyy+/sG/fPiZNmoSLiwu1atVi0aJFHD9+nIiICA4dOoSzszNt27YlIyODL774ggMHDtCvXz/uuOMOtmzZQnBwMBcuXODYsWOcOnWKbt26MW/ePA4fPkx8fDzdunXD3t6eBg0akJWVxcqVKwkLCyM6Oprnn3/eEtdVQUFBfPPNN8TFxdGqVSs++OADIiMjqVGjBpGRkWzZsoW4uDi6dOmCt7d3vvF26dIFLy8v5s6dS0REBJmZmRw/fhw/Pz8OHjzIqlWriImJoVWrVqxbt47g4GBLb/Bnn31GTEwM3t7etGrVig0bNnDgwAHs7e3p2LEj1apVY9GiRURFReHg4EBISAgeHh507twZJycn3n33XcLDw8nMzOTAgQO4uLjQo0ePAve5iIiIWIedKeq1YZFybOfOnfTs2ROAHTt2sH79et57771SjkpERERKisYci1zjP//5D99//z0uLi6cPXuWyZMnl3ZIIiIiUoLUcywiIiIikks/yBMRERERyaXkWEREREQkl5JjEREREZFcSo5FRERERHIpORYRERERyaXkWEREREQkl5JjEREREZFcSo5FRERERHIpORYRERERyaXkWCTXI488QkxMTGmHISIiIqVIj48WyZWcnEyVKlWKvdwpU6ZQr149nn/++WIvW0RERIqXeo5FclkjMRYREZGypUJpByC2bc2aNSxdupQ2bdrg5ubGzz//TIsWLRg/fjzz588nIiKCESNGMGzYMAAyMzOZP38+Bw8exM7Ojm7dujFu3Djs7Ow4evQoAQEBpKenk5mZyaBBgxg8eDAA48ePZ+fOnTz//POEhoZy9OjRPOVe6/vvv+ett96iWrVqNG3alF9//ZWMjAzeeOMNWrVqBcDJkyeZOXMmGRkZ5OTkMGnSJNq3b295b82aNbnrrrv46aefSE5Opk+fPnz11VdMmzaNQYMG5Ynn559/5ujRo0yaNInLly+zbt06zp8/z8KFC2nYsOENt7dy5Up2795NxYoV2bt3L48++ihPPPEE4eHhzJkzBzs7OxwcHHjttddo0qRJnv3t6urKgQMHqFmzJqtWrSqZAy4i5YIttt0A27dvZ8WKFTg4OJCTk8MLL7zA3XffzZkzZ5g4cSJhYWHMmTOHoKAg9u/fz7Zt23BxcWHGjBmcP3+e7Oxsnn32We6///4blifypxiRmwgMDDQ9evQwycnJ5vLly6ZLly5m+vTpJicnx4SHh5u2bduazMxMY4wxixcvNn5+fiYrK8tkZGSYwYMHm6CgIGOMMaGhoSY0NNQYY0xGRobp27evOXHihGU7vXr1MjNmzDDGGBMWFpan3D9au3atufPOO82RI0eMMcZs3LjR9OrVy2RkZJisrCzTt29f8+WXXxpjjImIiDAdO3Y0KSkplvf6+PiYY8eOGWOMmTt3rjHGmOHDh5u1a9fmieeNN94wxhizfft207lzZ7Nt2zZjjDFvvPGGefXVV40x5qbbmzx5sgkMDLSUm5ycbDp16mT27NljjDHmhx9+MH369DHZ2dmW/d21a1eTmJhosrKyzLx58wp7qERELGyx7Q4KCjLnz583xhgTGxtrevbsaVkWGxtrmjVrZtavX2+MMWb58uUmPj7ePPPMM2bBggXGGGPi4+NNx44dTWxs7E3LE7lVGlYhheLj44ObmxtOTk54e3vTvHlz7OzsaN68OampqSQmJgKwfv16Bg4ciIODA46OjvTt25eNGzcC4O3tzVdffcWQIUMYOXIkCQkJHD58OM92unfvDnBdufm54447aN68OQAPPfQQZ8+eJTQ0lNDQUGJjYxkwYAAALVq0oHbt2uzYscPy3kaNGtGkSRMAJk+eXOA2unbtCkDTpk05d+4cXbp0scR36tQpgEJt71o//PADlSpVspR177338vvvvxMWFmZZp23btlSvXh0HBwdeeumlAuMTEbkRW2u7W7RowdSpUxk6dChTp07lt99+u27d3r17AzBy5EiMMfz44488/vjjANSqVYv27duzefPmQpcnUlQaViGF4urqanldoUIFy3SFCldOoczMTADi4uJYsWIF69atA+DSpUuWsbxz584lOTmZ1atX4+DggJ+fH+np6Xm2U7lyZQAqVqyYp9z8VK1a1fLawcEBNzc3EhISLPNGjhxpeZ2RkUFKSopl2s3NrUj1dnBwyBOfg4ODJbb4+Pibbu9acXFxXLhwAT8/P8u86tWrk5SUVOT4RERuxNbabn9/f4YNG8aoUaOAK8l0WlpannWubf/i4uKAK50YdnZ2AJw/f55mzZoVujyRolJyLMXK09MTf39/+vXrB0BOTg7JyckAHDp0iCeffNKSaN4o8S2Ma5PJrKwsUlJS8PDwsPR8XDtONzU1FXt761woqVOnTpG25+npSZ06dfKsf/HiRZycnKwSn4jIzZRE252YmMjp06ctvcyFKadOnToABAYGUr16dQAuX75MVlbWLZUnUhgaViHFauDAgWzatIns7GzgyqW6JUuWAODl5WUZOnD27FkiIyP/1Laio6MtZWzevJlatWrRtm1b2rRpg6enJ9u2bQOuJM7jxo0jOjr6T22vIDfbnqurK2lpaaSmpvLiiy/Sq1cvkpKSOHToEHAlkX7qqae4ePGiVeITEbmZkmi73d3dqVKliqWs3bt33/Q9tWvXxtfXlw0bNljmzZgxg5CQkFsqT6QwHGbOnDmztIMQ2/X111+zYsUKoqKicHFxYefOnXz33XdERETQqlUr3nzzTaKioggLC+OBBx6gU6dOREZGEhgYyMaNG0lKSmLq1Kk4Ojpy5513smbN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RERqLI6JiIiIiNRYHBMRERERqbE4JiIiIiJSY3FMRERERKTG4piIiIiISI3FMRERERGRGotjIiIiIiI1FsdERERERGosjomIiIiI1FgcExERERGpsTgmIiIiIlJjcUxEREREpMbimIiIiIhIjcUxEREREZEai2MiIiIiIjUWx0REREREaiyOiYiIiIjUWBwTGVhWVhbefPNNU4dBRETPYH6mqlgIIYSpgyCq6/Ly8vDSSy8BAPbs2YPIyEhs377dxFEREdHT+flFFi1ahFatWmHu3LkGjopMiTPHREagbeIlIiLjYn6mZ3HmmF4oPDwcoaGh8Pb2RqNGjZCQkICOHTvC398f69evR2pqKqZPn44//elPAICSkhKsX78e58+fh4WFBfr06YMPP/wQFhYWuHLlClavXo2ioiKUlJRgwoQJmDhxIgDA398fsbGxmDt3LhITE3HlypVKx31WQUEBVq5ciWvXrgEA2rVrh/nz58PJyQnXr1/HF198gaKiIpSVleGDDz5A//79ceHCBSxduhSPHj3ClClTcPToUfz+++8IDg5Gu3btAACZmZlYvny5FGPfvn0xd+5cFBQUICgoCFlZWbCwsMCrr76KpUuX4t69e5gxYwYePnyISZMm4dNPP8WaNWsQERGBmTNn4sSJE4iLi0NMTAxu3bqFZcuW4cGDB+jUqRM6dOiAa9eu4dSpUxg4cCBCQ0MRFRWFtWvXwsfHB8HBwUb4DRORvjFv6pY3Z82ahaioKHz//fewsbFBs2bN8Pnnn8PBwaFSe1QqFWbOnInTp0/jk08+QXx8PO7evYuxY8di1qxZz/UtAHTr1g2ffPIJrK2t8e6770r52dLSEvPmzUNSUhJWrVqFvXv34vbt21i5ciV8fHzw3XffISwsDA0aNECrVq0wZswYvPXWW1i0aBGUSiXKysrg5eWFxYsX639AkXEJIi0EBweL/v37i7y8PFFcXCzeeOMNERAQIMrLy0VycrLo2rWrKCkpEUII8fXXX4upU6eK0tJSoVKpxMSJE0VUVJQQQojExESRmJgohBBCpVKJESNGiIyMDOk8gwYNEoGBgUIIIZKSkiod91lLliwRixYtEkIIUVZWJmbPni3i4uJESUmJGD58uIiIiBBCCHHjxg3RrVs3cePGDSGEEHFxccLT01OcOXNGCCFEYGCgWLp0qRBCiNLSUjFy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rnK6d9s36jkSIqKGgXmXiBoijjkmIiIiIlJicUxEREREpMTimIiIiIhIicUxEREREZESi2MiIiIiIiUWx0RERERESiyOiYiIiIiU9OY5x0REpBnqnmdMRNQQ6X1xzIfUExEREVFd4bAKIiIiIiIlFsdEREREREp6P6xCHQ63ICIiIqLaYs8xEREREZESi2MiIiIiIiUWx0RERERESiyOiYiIiIiUWBwTERERESmxOCYiIiIiUmJxTERERESkZLDPOVaHzz8mIiIiInXYc0xEREREpKRzPcfqenaJiIiIiDSNPcdEREREREosjomIiIiIlFgcExEREREp6dyYY20JOZeicvpb/dvWcyREREREpC0sjomIqFb4SEwiMmQGWxxfSctTOb1DK/t6joSIiIiI9IXBFsfqqCua28nqORAiIiIi0jkNrjhWJ7nigsrpIedqtx2OUSaihorf3SAiQ8DimIiIVFL3SZs6/ASOiAyB3hfHtU3emqau50SV6WM8NRgJEZFuqE1eBNjTTETapffFsSHiR5NERDX3eM60tjZHUVEpcyYRPRO9KY611UOsbiyyOu1kPWu87PfHrqCoqLS2IT03Ft9EpAnq8mVt8iLAHEVE2qU3xTFpHt+QiEiX1XZ4BodzENGzYHFcx2rT02z6wATlFfInpqvrZaltotc0TcXDj0SJ6pemP5mrqx5lTdNkjmU+I9IfRkIIoe0giIiIiIh0gbG2AyAiIiIi0hUsjomIiIiIlFgcExEREREpsTgmIiIiIlJicUxEREREpMTimIiIiIhIicUxEREREZGSxn8EJCIiAsePH4ejoyOMjIzg6+ur6V3qhbfffhvm5uYAAGNjY+zdu1fLEWlHdnY20T/XNwAAIABJREFUvvzyS1y5cgVBQUEAgPz8fGzcuBEtW7ZEamoqFixYgCZNmmg50vql6rhs3rwZMTEx0jKzZs1C3759tRWiVqSlpeHLL79Ep06dkJmZicaNG8PX15fXTC0YQk6ubd7YtWsXCgsLUVBQgL59++K1117TZvjVepZrXF/ap1AoMGvWLHh4eKC8vBzp6elYvXo1SkpK9L5tlUpKSjBu3Dj069cPfn5+BnHeKqmqWwypfVUIDSouLhaDBw8WpaWlQgghfH19RUREhCZ3qTcCAgK0HYJO+OWXX8SpU6fE6NGjpWnLli0TR44cEUIIcerUKbFw4UJthac1qo4Lrxkh4uPjxYkTJ6TXw4YNE3/88QevmRoylJxcm7wRFxcnpk2bJoQQoqysTLz++uvi3r179R90DdX2Gten9lVUVIitW7dKr2fNmiVCQ0MNom2V1qxZIxYtWiTWrl0rhDCc61II1e9BhtS+R2l0WEVcXBxcXFxgZmYGAOjevTvOnDmjyV3qjWvXriEwMBCbN29u0Mdk6NChsLa2rjItPDwc3bp1A/DwmgkPD9dGaFql6rgAwPbt27F7924EBgbiwYMHWohMuzw8PDB48GDptUKhgKWlJa+ZGjKUnFybvHH69Gl07doVAGBqaoq2bdviwgXVP2etC2p7jetT+4yNjTFnzhwAgFwuR1ZWFtq0aWMQbQOAkJAQdO/eHS1atJCmGUrbANV1iyG171EaHVaRk5NTJYHZ2NggJydHk7vUG9OnT4eHhwcqKirw7rvvwtraGj179tR2WDrh0evGxsYG9+7dg1wuh4mJxkcB6bShQ4fC1dUVVlZW2LdvHz777DOsXr1a22FpzYkTJ9CvXz+0a9eO10wNGXJOVncN5Obmom3bttJyNjY2yM3N1VaYtVKTa1wf23fu3Dl888038PLyQpcuXQyibUlJSUhJScGCBQtw9epVabohtK2SqrrFkNr3KI32HDs6OqKoqEh6XVhYCEdHR03uUm94eHgAAGQyGV566SVER0drOSLd8eh1U1hYCDs7OxY5AP72t7/BysoKANC7d29ERUVpOSLtiYqKQnR0NJYsWQKA10xNGXJOVncNODg4PNFmBwcHbYVZYzW9xvWxff3798fu3buRkZGBffv2GUTbTpw4ATMzMwQGBuLSpUtISEjAN998YxBtq6SqbjGk9j1Ko8Vx165dcfv2bZSVlQEAfv/9d3h5eWlyl3ohOTkZBw4ckF7fvHkTrVq10mJEumXAgAGIjY0F8PCaGTBggJYj0g3r1q2T/r558yZat26txWi058yZM/jtt9/g7++P7OxsxMbG8pqpIUPOyequgYEDByIuLg7Aw4/yk5OTdf5Tutpc4/rUvqSkpCrDeFq0aIGMjAyDaNvs2bPh6+uLGTNmoEePHvDw8MDkyZMNom2A+rrFUNr3OCMhhNDkDs6fP49jx47B3t4epqamevnN6LqWlZWFVatWoVOnTigsLIRcLsfixYthbNzwnqwXExODkJAQnDt3DuPHj8eUKVNQUlKC//mf/4GLiwvS09Pxz3/+s8E9eUDVcdm6dSsePHgAR0dHXLt2DXPnzkWbNm20HWq9SkxMxMSJE9G5c2cAQHFxMd59910MGjSowV8zNWUIObm2eWPXrl0oKCjAvXv38Oqrr+r0t+af5RrXl/alpaVh/fr16NSpk1QwLV26FKampnrftkrHjh3Dvn37UF5ejnfffRf9+vUziLapq1sKCgoMon2P03hxTERERESkLxpeVyURERERkRosjomIiIiIlFgcExEREREpsTgmIiIiIlJicUxEREREpMTimIiIiIhIicUxEREREZESi2MiIiIiIiUWx0RERERESiyOiYiIiIiUWBwTERERESmxOCYiIiIiUmJxTERERESkxOKYiIiIiEiJxTERERERkRKLYyIiIiIiJRbHRERERERKLI6JiIiIiJRYHBMRERERKbE4JiIiIiJSYnFMRERERKTE4piIiIiISInFMRERERGREotjIiIiIiIlFsdEREREREosjomIiIiIlFgck05bsWIFXnrpJRw8eFDboRAREVEDwOKYdMrEiROrFMIrVqxAx44dtRgRERE96vE8TWRoWBwTERERESmZaDsA0h0KhQIrV67EtWvXIJPJ0Lp1a/j7+yMyMhIbNmxAkyZN4OHhgaioKNjb2+Ozzz7DF198gT/++ANDhgzBRx99BAAQQmD37t04fvw4ZDIZXnjhBfj7+8PGxgYAcPbsWWzbtg0ymQwWFhZYvnw5WrdujY0bN+Ly5cvIzs5GcHAwpk6dCi8vLwBAWloa5s6di6tXr2LIkCFYsGABysrKMHXqVMTExGD58uU4c+YMbty4AT8/P7z++usAgKKiInz++edITU2FEAKjRo3C+PHjAQAnT57Ezp07YWFhAWNjY8ydOxfdunXD77//jg0bNsDU1BRCCEyZMgUDBw5Uecx27dqF48ePw8TEBB07doSfnx/MzMzg6+uL8PBwzJs3DxcvXkRMTAymTJmCs2fPIj4+HmvWrEFISAguXryI48ePw8LCAitXrkRubi7Ky8sxfvx4jB49Grdv38b8+fNVrtOiRQsNXxFEpClpaWlYtWoVSkpKUF5ejn79+uHDDz8EoD5H7t+/Hzt27ICnpycaNWqE33//HR06dICvry82bdqEy5cvY/LkyXj33XeRkJCAZcuW4f79+xgxYgQuXbqE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zJgxAzNmzED79u3Rt29fjB07Vqdj7tWrF27duiVt6/bt23jhhRd0Nt7MzEw0bdpU2lbTpk2l7Wg7ZnV09d6rjq7ee+o8y70nW7FixYq6Cl4XmZqaol27dtizZw/i4uLQrFkzjB07FgEBAbh+/Tp69OgBd3d3HD16FH/99RfCw8OxaNEi2Nvbw8bGBlZWVggKCkJERAT69u2Lfv36AQDCwsIQFxeH33//HVeuXMHHH3+s0bFYz9MOADh58iSOHj2KGzduoKioCD169AAA9OjRA19//TWuXbuGmzdvYt68edKYHn1qR32fj+dty8mTJ7FixQoUFhYiODgYhw4dQo8ePdCiRQu9OifVtUPfzsndu3exe/du3Lx5E+Hh4SgsLMTs2bNhampa7+fkWWgq1+livNVdd7oac6X//Oc/OH36NHJzc9GoUSONF5vPE7ODgwPKyspw9OhRxMTEwNzcHO+//740xEjX4n3xxRdx6tQp/Pnnn4iJicHdu3fh6+ur8TGxNYlZCIHt27cjOjoaRUVFsLS0ROvWrXX23lMXry7fe+pirlSbe89IVP67QkRERETUwBn8sAoiIiIioppicUxEREREpMTimIiIiIhIicUxEREREZESi2MiIiIiIiUWx0RERERESiyOiYiIiIiUWBwTERERESmxOCYiIiIiUmJxTERERESkxOKYiIiIiEiJxTERERERkRKLYyIiIiIiJRbHRERERERKLI6JiIiIiJRYHBMRERERKbE4JiIiIiJSYnFMRERERKTE4piIiIiISInFMRERERGREotjIiIiIiIlFsdEREREREosjomIiIiIlFgcExEREREpsTgmIiIiIlJicUxEREREpMTimAzO4cOH4e/vr+0wiIjoMczPpA+MhBBC20EQ1aWKigqUlJTA2toaAPDJJ5/A1dUVH374oZYjIyJq2B7Pz08zaNAgrFmzBr169dJwZET/jz3HZHBkMlmNEy8REdUf5mfSB+w5phpLS0vDqlWrUFK2gVvYAAAgAElEQVRSgvLycvTr10/qjT179iy2bdsGmUwGCwsLLF++HK1bt8b+/fuxY8cOeHp6olGjRvjjjz/QpEkTbNmyBebm5gCA8+fPY/PmzTA1NYVCoYCPjw+GDRuG69evY926ddL+xowZg3feeQenTp3C0qVLYWlpiYULF+LNN9/ExIkTkZKSglmz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+mhJyrr/LEFJ21ijRg3MmzdPqX/Aw5nH5s2bmzJ2qemyL9u3b4/ExEQAD5upgoKCIrXLEuiynTdv3lS2q2LFirC2toZarTZZZn2x1Pqjmjlz5kxTh9CVra0tGjRogODgYMTGxqJatWoYOnQoli9fjgsXLqBNmzbw8PDAb7/9hrNnz2Lfvn2YNm0aqlSpgpdffhl79uzBmTNnEBMTg5SUFPj6+uptvaAu2UQEq1atwqFDh/DgwQM4Ojqibt26cHZ2RoUKFRASEoIDBw6gQ4cO6Nixo15ylTXb7t27MXPmTGRkZCA0NBQRERFo06aN3tanliVboS1btmDv3r1IS0uDi4uLXhvQsuRzdXVFbm4ufvvtN8TExMDe3h4ffPCBshbSlNnM4XiYPHkyzpw5gyNHjiA0NBTR0dF49913zeJ40JbN0MeDobdLW320JGXZf5ZCl20EHi5BCg4OxqFDh6BSqVCvXj2zbTaKo8t2NmvWDBEREYiPj8f27dsxYcIEi/vmEV22s0GDBvjhhx9w9epVREREYMCAAWjXrp2po5dKTEyM8k1D2dnZaN68Ob799luLrD9WUjg9Q0RERET0nLOoZRVERERERIbE5piIiIiISIPNMRERERGRBptjIiIiIiINNsdERERERBpsjomIiIiINNgcExERERFpsDkmIiIiItJgc0xEREREpMHmmIiIiIhIg80xEREREZEGm2MiIiIiIg02x0REREREGmyOiYiIiIg02BwTEREREWmwOSYiIiIi0mBzTERERESkweaYiIiIiEiDzTERERERkQabYyIiIiIiDTbHREREREQabI6JiIiIiDTYHBMRERERabA5JiIiIiLSYHNMRERERKTB5piIiIiISIPNMZERbNu2DYGBgaaOQUREj2BtpuJYiYiYOgRRcbZu3YrQ0FBs3LjR1FHKrKCgANnZ2XBycgIA+Pv7o1atWvj4449NnIyIyovyVDON5fHaXJJu3bph7ty5eO211wycjEyJM8dERqBSqXQuvkREZByszVQczhxTifz9/REaGopXX30VGzZsQGJiIry9vREVFYXbt29j7NixyM3NxY8//gg7OzvMmTMHly9fhlqtRo8ePTBmzBjk5eVh9OjRiImJwYwZM7B3714cOnQI69atw5UrVxASEgJHR0c4ODhg2rRpSE1NxYwZM5CSkoImTZqgYcOG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CAgRERERkQabYyIiIiIiDTbHREREREQabI6JiIiIiDTYHBMRERERabA5JiIiIiLSYHNMRERERKTB5piIiIiISIPNMRERERGRBptjIiIiIiINNsdERERERBpsjomIiIiINNgcExERERFpsDkmIiIiItJgc0xEREREpMHmmIiIiIhIg80xEREREZEGm2MiIiIiIg02x0REREREGmyOiYiIiIg02BwTEREREWmwOSYiIiIi0mBzTERERESkweaYiIiIiEiDzTERERERkQabYyIiIiIiDTbHRERE5UhmZibGjRuHYcOGYeDAgbh+/brJsnzzzTfo0KEDVqxYUeJtCwoK4OPjg0aNGuHatWsAgCNHjmDUqFGGjqmza9eu4c033zR1DDIwNsdkdrZu3QofHx9Tx9CbRws9EVFZ6FIfd+zYgfz8fPznP//B5MmTYW2t37d6f39/nZpdAPD19UWnTp10uq1KpcLGjRuLXNemTRt8/fXXpc5oKC+++CL+85//mDoGGZiNqQMQERGR/iQlJaFatWoAgK5du5o4TdlYWVnBxcXF1DGKqFixoqkjkIGxOSat/P39ERoaildffRUbNmxAYmIivL29ERUVhdu3b2Ps2LHIzc3Fjz/+CDs7O8yZMweXL1+GWq1Gjx49MGbMGOTl5WH06NGIiYnBjBkzsHfvXhw6dAjr1q3DlStXEBISAkdHRzg4OGDatGlITU1FUFAQUlJS4OPjg4YNG2L69OlFcqnVasyaNQvnz5+HSqVC3bp1ERgYiIkTJ+LgwYPw8vLCmjVrEBYWhkWLFqF169Zo2LAhfvrpJ/Tq1Qvp6ek4deoUevTogV69emH16tU4f/48/P390aNHD5w8eRLTp0/H/fv38d5772H37t3Iz8/HsmXLEBQUhOPHj6Np06aYP3++kiksLEwZh+rVq2PWrFlwdnbGmDFjAABTp06Fvb095s2bB39//yfG44UXXkBCQgJatmyJf//734iNjcWMGTNQqVIlbN261aj7nYhKZq71cfPmzdi6dStycnLg4+ODjz/+GCtWrCj2OdLT0xEcHAyVSgW1Wo2pU6eiTZs2AKDUvCNHjsDGxgZubm745JNP8OeffyIqKgr29vaIiYnBgAED8Pbbb2PmzJk4d+4cbG1t4e7ujtmzZ8PZ2VmnsQwJCUFwcDCqVq2Kvn37KtenpaVhwoQJOHHi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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "import numpy as np\n", - "from sklearn.model_selection import train_test_split \n", - "from sklearn.datasets import load_breast_cancer\n", - "from sklearn.linear_model import LogisticRegression\n", - "cancer = load_breast_cancer()\n", - "import pandas as pd\n", - "# Making a data frame\n", - "cancerpd = pd.DataFrame(cancer.data, columns=cancer.feature_names)\n", - "\n", - "fig, axes = plt.subplots(15,2,figsize=(10,20))\n", - "malignant = cancer.data[cancer.target == 0]\n", - "benign = cancer.data[cancer.target == 1]\n", - "ax = axes.ravel()\n", - "\n", - "for i in range(30):\n", - " _, bins = np.histogram(cancer.data[:,i], bins =50)\n", - " ax[i].hist(malignant[:,i], bins = bins, alpha = 0.5)\n", - " ax[i].hist(benign[:,i], bins = bins, alpha = 0.5)\n", - " ax[i].set_title(cancer.feature_names[i])\n", - " ax[i].set_yticks(())\n", - "ax[0].set_xlabel(\"Feature magnitude\")\n", - "ax[0].set_ylabel(\"Frequency\")\n", - "ax[0].legend([\"Malignant\", \"Benign\"], loc =\"best\")\n", - "fig.tight_layout()\n", - "plt.show()\n", - "\n", - "import seaborn as sns\n", - "correlation_matrix = cancerpd.corr().round(1)\n", - "# use the heatmap function from seaborn to plot the correlation matrix\n", - "# annot = True to print the values inside the square\n", - "plt.figure(figsize=(15,8))\n", - "sns.heatmap(data=correlation_matrix, annot=True)\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Discussing the correlation data\n", - "\n", - "In the above example we note two things. In the first plot we display\n", - "the overlap of benign and malignant tumors as functions of the various\n", - "features in the Wisconsing breast cancer data set. We see that for\n", - "some of the features we can distinguish clearly the benign and\n", - "malignant cases while for other features we cannot. This can point to\n", - "us which features may be of greater interest when we wish to classify\n", - "a benign or not benign tumour.\n", - "\n", - "In the second figure we have computed the so-called correlation\n", - "matrix, which in our case with thirty features becomes a $30\\times 30$\n", - "matrix.\n", - "\n", - "We constructed this matrix using **pandas** via the statements" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "cancerpd = pd.DataFrame(cancer.data, columns=cancer.feature_names)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "and then" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "correlation_matrix = cancerpd.corr().round(1)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Diagonalizing this matrix we can in turn say something about which\n", - "features are of relevance and which are not. This leads us to\n", - "the classical Principal Component Analysis (PCA) theorem with\n", - "applications. This will be discussed later this semester ([week 43](https://compphysics.github.io/MachineLearning/doc/pub/week43/html/week43-bs.html)).\n", - "\n", - "\n", - "\n", - "## Other measures in classification studies: Cancer Data again" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(426, 30)\n", - "(143, 30)\n", - "Test set accuracy with Logistic Regression: 0.95\n", - "Test set accuracy Logistic Regression with scaled data: 0.96\n", - "[1. 1. 1. 1. 1. 1.\n", - " 1. 1. 0.92857143 0.92857143]\n", - "Test set accuracy with Logistic Regression and scaled data: 0.96\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/linear_model/_logistic.py:762: ConvergenceWarning: lbfgs failed to converge (status=1):\n", - "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", - "\n", - "Increase the number of iterations (max_iter) or scale the data as shown in:\n", - " https://scikit-learn.org/stable/modules/preprocessing.html\n", - "Please also refer to the documentation for alternative solver options:\n", - " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", - " n_iter_i = _check_optimize_result(\n" - ] - }, - { - "ename": "ModuleNotFoundError", - "evalue": "No module named 'scikitplot'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 34\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 35\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 36\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mscikitplot\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mskplt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 37\u001b[0m \u001b[0my_pred\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlogreg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_test_scaled\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 38\u001b[0m \u001b[0mskplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmetrics\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot_confusion_matrix\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my_test\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_pred\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnormalize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'scikitplot'" - ] - } - ], - "source": [ ->>>>>>> 9b0e2e75096cc1acee65bfac25f4eff818140252 - "import matplotlib.pyplot as plt\n", - "import numpy as np\n", - "from sklearn.model_selection import train_test_split \n", - "from sklearn.datasets import load_breast_cancer\n", - "from sklearn.linear_model import LogisticRegression\n", - "\n", - "# Load the data\n", - "cancer = load_breast_cancer()\n", - "\n", - "X_train, X_test, y_train, y_test = train_test_split(cancer.data,cancer.target,random_state=0)\n", - "print(X_train.shape)\n", - "print(X_test.shape)\n", - "# Logistic Regression\n", - "logreg = LogisticRegression(solver='lbfgs')\n", - "logreg.fit(X_train, y_train)\n", - "print(\"Test set accuracy with Logistic Regression: {:.2f}\".format(logreg.score(X_test,y_test)))\n", - "#now scale the data\n", - "from sklearn.preprocessing import StandardScaler\n", - "scaler = StandardScaler()\n", - "scaler.fit(X_train)\n", - "X_train_scaled = scaler.transform(X_train)\n", - "X_test_scaled = scaler.transform(X_test)\n", - "# Logistic Regression\n", - "logreg.fit(X_train_scaled, y_train)\n", - "print(\"Test set accuracy Logistic Regression with scaled data: {:.2f}\".format(logreg.score(X_test_scaled,y_test)))\n", - "\n", - "\n", - "from sklearn.preprocessing import LabelEncoder\n", - "from sklearn.model_selection import cross_validate\n", - "#Cross validation\n", - "accuracy = cross_validate(logreg,X_test_scaled,y_test,cv=10)['test_score']\n", - "print(accuracy)\n", - "print(\"Test set accuracy with Logistic Regression and scaled data: {:.2f}\".format(logreg.score(X_test_scaled,y_test)))\n", - "\n", - "\n", - "import scikitplot as skplt\n", - "y_pred = logreg.predict(X_test_scaled)\n", - "skplt.metrics.plot_confusion_matrix(y_test, y_pred, normalize=True)\n", - "plt.show()\n", - "y_probas = logreg.predict_proba(X_test_scaled)\n", - "skplt.metrics.plot_roc(y_test, y_probas)\n", - "plt.show()\n", - "skplt.metrics.plot_cumulative_gain(y_test, y_probas)\n", - "plt.show()" - ] -<<<<<<< HEAD -======= - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] ->>>>>>> 9b0e2e75096cc1acee65bfac25f4eff818140252 } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -2759,13 +2315,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", -<<<<<<< HEAD - "version": "3.6.8" -======= - "version": "3.8.3" ->>>>>>> 9b0e2e75096cc1acee65bfac25f4eff818140252 + "version": "3.9.15" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 5 } diff --git a/doc/pub/week38/ipynb/ipynb-week38-src.tar.gz b/doc/pub/week38/ipynb/ipynb-week38-src.tar.gz index ab65f845b..99906213f 100644 Binary files a/doc/pub/week38/ipynb/ipynb-week38-src.tar.gz and b/doc/pub/week38/ipynb/ipynb-week38-src.tar.gz differ diff --git a/doc/pub/week38/ipynb/week38.ipynb b/doc/pub/week38/ipynb/week38.ipynb index 471b4dd49..1d25f9941 100644 --- a/doc/pub/week38/ipynb/week38.ipynb +++ b/doc/pub/week38/ipynb/week38.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "799137cd", + "id": "8f27372d", "metadata": { "editable": true }, @@ -14,7 +14,7 @@ }, { "cell_type": "markdown", - "id": "f5b17715", + "id": "fff8ca30", "metadata": { "editable": true }, @@ -27,7 +27,7 @@ }, { "cell_type": "markdown", - "id": "cc859721", + "id": "7ee7e714", "metadata": { "editable": true }, @@ -41,13 +41,15 @@ "2. Resampling techniques, Bootstrap and cross validation and bias-variance tradeoff\n", "\n", "3. The material we did not cover last week, that is on more advanced methods for updating the learning rate, are covered by its own video. We will briefly discuss these topics at the beginning of the lecture and during the lab sessions. See video on ADAgrad, RMSprop and ADAM (material from last week not covered during lecture) at \n", - "\n", - "" + "\n", + "4. [Video of Lecture](https://youtu.be/4Fo7ITVA7V4)\n", + "\n", + "5. [Whiteboard notes](https://github.com/CompPhysics/MachineLearning/blob/master/doc/HandWrittenNotes/2025/FYSSTKweek38.pdf)" ] }, { "cell_type": "markdown", - "id": "a3ecb019", + "id": "3b5ac440", "metadata": { "editable": true }, @@ -68,7 +70,7 @@ }, { "cell_type": "markdown", - "id": "f128464d", + "id": "6d5dba52", "metadata": { "editable": true }, @@ -96,7 +98,7 @@ }, { "cell_type": "markdown", - "id": "981db0b8", + "id": "bfc2983a", "metadata": { "editable": true }, @@ -112,7 +114,7 @@ }, { "cell_type": "markdown", - "id": "85cc8db5", + "id": "2b5f5980", "metadata": { "editable": true }, @@ -131,7 +133,7 @@ }, { "cell_type": "markdown", - "id": "96a431a6", + "id": "3464c7e8", "metadata": { "editable": true }, @@ -145,7 +147,7 @@ }, { "cell_type": "markdown", - "id": "b6bf35de", + "id": "ed0fd2df", "metadata": { "editable": true }, @@ -157,7 +159,7 @@ }, { "cell_type": "markdown", - "id": "a4133715", + "id": "feb9d4c2", "metadata": { "editable": true }, @@ -168,7 +170,7 @@ }, { "cell_type": "markdown", - "id": "9d8eea64", + "id": "eb6d71f8", "metadata": { "editable": true }, @@ -180,7 +182,7 @@ }, { "cell_type": "markdown", - "id": "0707109a", + "id": "566399f6", "metadata": { "editable": true }, @@ -192,7 +194,7 @@ }, { "cell_type": "markdown", - "id": "c84ee75e", + "id": "6b33f497", "metadata": { "editable": true }, @@ -208,7 +210,7 @@ }, { "cell_type": "markdown", - "id": "eceb2fb1", + "id": "5f2f79f2", "metadata": { "editable": true }, @@ -219,7 +221,7 @@ }, { "cell_type": "markdown", - "id": "571c857b", + "id": "199121b0", "metadata": { "editable": true }, @@ -242,7 +244,7 @@ }, { "cell_type": "markdown", - "id": "fa94afa6", + "id": "9a1cc529", "metadata": { "editable": true }, @@ -253,7 +255,7 @@ }, { "cell_type": "markdown", - "id": "ae5807fe", + "id": "149e63be", "metadata": { "editable": true }, @@ -265,7 +267,7 @@ }, { "cell_type": "markdown", - "id": "9b7dbfc6", + "id": "6a6fb04a", "metadata": { "editable": true }, @@ -277,7 +279,7 @@ }, { "cell_type": "markdown", - "id": "a469ecb5", + "id": "79420d06", "metadata": { "editable": true }, @@ -291,7 +293,7 @@ }, { "cell_type": "markdown", - "id": "a22a5899", + "id": "0e3de992", "metadata": { "editable": true }, @@ -322,7 +324,7 @@ }, { "cell_type": "markdown", - "id": "f7b64841", + "id": "d3ea2897", "metadata": { "editable": true }, @@ -344,7 +346,7 @@ }, { "cell_type": "markdown", - "id": "26d50d5c", + "id": "da5e3927", "metadata": { "editable": true }, @@ -356,7 +358,7 @@ }, { "cell_type": "markdown", - "id": "e2e18a10", + "id": "7ab5488b", "metadata": { "editable": true }, @@ -369,7 +371,7 @@ }, { "cell_type": "markdown", - "id": "9a97e0bb", + "id": "f904a739", "metadata": { "editable": true }, @@ -381,7 +383,7 @@ }, { "cell_type": "markdown", - "id": "53cef62d", + "id": "10fd648b", "metadata": { "editable": true }, @@ -393,7 +395,7 @@ }, { "cell_type": "markdown", - "id": "c8ec4ab0", + "id": "4812c2a4", "metadata": { "editable": true }, @@ -405,7 +407,7 @@ }, { "cell_type": "markdown", - "id": "1e5e5e07", + "id": "199d8531", "metadata": { "editable": true }, @@ -417,7 +419,7 @@ }, { "cell_type": "markdown", - "id": "b1ea4ea7", + "id": "96c16676", "metadata": { "editable": true }, @@ -440,7 +442,7 @@ }, { "cell_type": "markdown", - "id": "d9c8dd38", + "id": "a2a1a004", "metadata": { "editable": true }, @@ -452,7 +454,7 @@ }, { "cell_type": "markdown", - "id": "7abb690f", + "id": "5aad445b", "metadata": { "editable": true }, @@ -465,7 +467,7 @@ }, { "cell_type": "markdown", - "id": "417c8406", + "id": "d197c8bb", "metadata": { "editable": true }, @@ -477,7 +479,7 @@ }, { "cell_type": "markdown", - "id": "fb01419c", + "id": "e2e7462f", "metadata": { "editable": true }, @@ -489,7 +491,7 @@ }, { "cell_type": "markdown", - "id": "dbe14673", + "id": "eb635d3d", "metadata": { "editable": true }, @@ -501,7 +503,7 @@ }, { "cell_type": "markdown", - "id": "a19153fe", + "id": "445ed13e", "metadata": { "editable": true }, @@ -512,7 +514,7 @@ }, { "cell_type": "markdown", - "id": "017ca4ca", + "id": "319bfc6c", "metadata": { "editable": true }, @@ -524,7 +526,7 @@ }, { "cell_type": "markdown", - "id": "85c7bc4a", + "id": "90abf35a", "metadata": { "editable": true }, @@ -535,7 +537,7 @@ }, { "cell_type": "markdown", - "id": "ad6066d5", + "id": "04b66fbd", "metadata": { "editable": true }, @@ -547,7 +549,7 @@ }, { "cell_type": "markdown", - "id": "7d9872d8", + "id": "4a27b5a7", "metadata": { "editable": true }, @@ -557,7 +559,7 @@ }, { "cell_type": "markdown", - "id": "e3973752", + "id": "8d12543f", "metadata": { "editable": true }, @@ -588,7 +590,7 @@ }, { "cell_type": "markdown", - "id": "5adedf8a", + "id": "2e5cd118", "metadata": { "editable": true }, @@ -600,7 +602,7 @@ }, { "cell_type": "markdown", - "id": "23e01c9e", + "id": "c71a5edf", "metadata": { "editable": true }, @@ -612,7 +614,7 @@ }, { "cell_type": "markdown", - "id": "94cc3cc3", + "id": "e663bf2e", "metadata": { "editable": true }, @@ -622,7 +624,7 @@ }, { "cell_type": "markdown", - "id": "0e3f94c9", + "id": "c4bc4873", "metadata": { "editable": true }, @@ -634,7 +636,7 @@ }, { "cell_type": "markdown", - "id": "b8dcd25e", + "id": "f5bc59b8", "metadata": { "editable": true }, @@ -644,7 +646,7 @@ }, { "cell_type": "markdown", - "id": "9140542c", + "id": "4f6ddf4a", "metadata": { "editable": true }, @@ -656,7 +658,7 @@ }, { "cell_type": "markdown", - "id": "294a8ce0", + "id": "afda0a6b", "metadata": { "editable": true }, @@ -666,7 +668,7 @@ }, { "cell_type": "markdown", - "id": "a8c1b097", + "id": "b5335dc0", "metadata": { "editable": true }, @@ -678,7 +680,7 @@ }, { "cell_type": "markdown", - "id": "4180c17f", + "id": "4f86a52d", "metadata": { "editable": true }, @@ -688,7 +690,7 @@ }, { "cell_type": "markdown", - "id": "6a48bb05", + "id": "5cdb1767", "metadata": { "editable": true }, @@ -707,7 +709,7 @@ }, { "cell_type": "markdown", - "id": "d053a5c8", + "id": "69435d77", "metadata": { "editable": true }, @@ -735,7 +737,7 @@ }, { "cell_type": "markdown", - "id": "8cb550a1", + "id": "cefbb559", "metadata": { "editable": true }, @@ -761,7 +763,7 @@ }, { "cell_type": "markdown", - "id": "96be5396", + "id": "2659401a", "metadata": { "editable": true }, @@ -778,7 +780,7 @@ }, { "cell_type": "markdown", - "id": "f8a288b4", + "id": "4d5d7748", "metadata": { "editable": true }, @@ -798,7 +800,7 @@ }, { "cell_type": "markdown", - "id": "ee8bd2f9", + "id": "54df92b3", "metadata": { "editable": true }, @@ -827,7 +829,7 @@ }, { "cell_type": "markdown", - "id": "1037fcf3", + "id": "5b1a1390", "metadata": { "editable": true }, @@ -852,7 +854,7 @@ }, { "cell_type": "markdown", - "id": "2653d9e3", + "id": "39f233e4", "metadata": { "editable": true }, @@ -872,7 +874,7 @@ }, { "cell_type": "markdown", - "id": "33e4596e", + "id": "361320d8", "metadata": { "editable": true }, @@ -884,7 +886,7 @@ }, { "cell_type": "markdown", - "id": "137d3cd6", + "id": "a363db1e", "metadata": { "editable": true }, @@ -894,7 +896,7 @@ }, { "cell_type": "markdown", - "id": "4c9853b7", + "id": "92967efc", "metadata": { "editable": true }, @@ -909,7 +911,7 @@ }, { "cell_type": "markdown", - "id": "493028c4", + "id": "1bffca97", "metadata": { "editable": true }, @@ -922,7 +924,7 @@ }, { "cell_type": "markdown", - "id": "c819e616", + "id": "0dacb6fc", "metadata": { "editable": true }, @@ -935,7 +937,7 @@ }, { "cell_type": "markdown", - "id": "f0385e1a", + "id": "baeedf81", "metadata": { "editable": true }, @@ -947,7 +949,7 @@ }, { "cell_type": "markdown", - "id": "4310a9b4", + "id": "20cc7770", "metadata": { "editable": true }, @@ -960,7 +962,7 @@ }, { "cell_type": "markdown", - "id": "1e3932be", + "id": "f67d3b94", "metadata": { "editable": true }, @@ -971,7 +973,7 @@ }, { "cell_type": "markdown", - "id": "91e64919", + "id": "17f59fb6", "metadata": { "editable": true }, @@ -985,7 +987,7 @@ }, { "cell_type": "markdown", - "id": "c83a8ca5", + "id": "5f899fbe", "metadata": { "editable": true }, @@ -995,7 +997,7 @@ }, { "cell_type": "markdown", - "id": "16c94c48", + "id": "19a1f5bb", "metadata": { "editable": true }, @@ -1009,7 +1011,7 @@ }, { "cell_type": "markdown", - "id": "63bc9d16", + "id": "1db8fcf2", "metadata": { "editable": true }, @@ -1022,7 +1024,7 @@ }, { "cell_type": "markdown", - "id": "710fedd5", + "id": "bfadf7e5", "metadata": { "editable": true }, @@ -1035,7 +1037,7 @@ }, { "cell_type": "markdown", - "id": "8c47e8f8", + "id": "7c65ce24", "metadata": { "editable": true }, @@ -1045,7 +1047,7 @@ }, { "cell_type": "markdown", - "id": "c0e43db3", + "id": "8cd5650a", "metadata": { "editable": true }, @@ -1058,7 +1060,7 @@ }, { "cell_type": "markdown", - "id": "e9a40705", + "id": "11fdc936", "metadata": { "editable": true }, @@ -1068,7 +1070,7 @@ }, { "cell_type": "markdown", - "id": "de6040d9", + "id": "ed88642e", "metadata": { "editable": true }, @@ -1081,7 +1083,7 @@ }, { "cell_type": "markdown", - "id": "f2907638", + "id": "82c61b81", "metadata": { "editable": true }, @@ -1093,7 +1095,7 @@ }, { "cell_type": "markdown", - "id": "9e53d173", + "id": "bc43db46", "metadata": { "editable": true }, @@ -1112,7 +1114,7 @@ }, { "cell_type": "markdown", - "id": "959c77be", + "id": "25418113", "metadata": { "editable": true }, @@ -1125,7 +1127,7 @@ }, { "cell_type": "markdown", - "id": "6470ab77", + "id": "e5d3c3eb", "metadata": { "editable": true }, @@ -1137,7 +1139,7 @@ }, { "cell_type": "markdown", - "id": "720c157a", + "id": "c504cba4", "metadata": { "editable": true }, @@ -1150,7 +1152,7 @@ }, { "cell_type": "markdown", - "id": "62c153d3", + "id": "079ded2a", "metadata": { "editable": true }, @@ -1170,7 +1172,7 @@ }, { "cell_type": "markdown", - "id": "cfd10bd9", + "id": "e8534a50", "metadata": { "editable": true }, @@ -1193,7 +1195,7 @@ }, { "cell_type": "markdown", - "id": "40dc022d", + "id": "2fc73431", "metadata": { "editable": true }, @@ -1208,7 +1210,7 @@ }, { "cell_type": "markdown", - "id": "242bfa08", + "id": "0f8b0845", "metadata": { "editable": true }, @@ -1220,7 +1222,7 @@ }, { "cell_type": "markdown", - "id": "7dd4616b", + "id": "25105753", "metadata": { "editable": true }, @@ -1240,7 +1242,7 @@ }, { "cell_type": "markdown", - "id": "00b509e4", + "id": "89be6eea", "metadata": { "editable": true }, @@ -1260,7 +1262,7 @@ }, { "cell_type": "markdown", - "id": "941834ae", + "id": "6c240b38", "metadata": { "editable": true }, @@ -1284,7 +1286,7 @@ }, { "cell_type": "markdown", - "id": "69ba3346", + "id": "fbd95a5c", "metadata": { "editable": true }, @@ -1305,7 +1307,7 @@ }, { "cell_type": "markdown", - "id": "99f1499e", + "id": "dc50d43a", "metadata": { "editable": true }, @@ -1335,7 +1337,7 @@ }, { "cell_type": "markdown", - "id": "c817851a", + "id": "283068cc", "metadata": { "editable": true }, @@ -1359,7 +1361,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "4b9647f3", + "id": "ff4790ba", "metadata": { "collapsed": false, "editable": true @@ -1398,7 +1400,7 @@ }, { "cell_type": "markdown", - "id": "26cf7fd4", + "id": "3e6adc2f", "metadata": { "editable": true }, @@ -1408,7 +1410,7 @@ }, { "cell_type": "markdown", - "id": "b2205188", + "id": "6ec8223c", "metadata": { "editable": true }, @@ -1419,7 +1421,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "be6f7ced", + "id": "3cf4144d", "metadata": { "collapsed": false, "editable": true @@ -1439,7 +1441,7 @@ }, { "cell_type": "markdown", - "id": "69bcb406", + "id": "db5a8f91", "metadata": { "editable": true }, @@ -1457,7 +1459,7 @@ }, { "cell_type": "markdown", - "id": "ce87dc4f", + "id": "327bce6a", "metadata": { "editable": true }, @@ -1469,7 +1471,7 @@ }, { "cell_type": "markdown", - "id": "b8d1371c", + "id": "1c671d4e", "metadata": { "editable": true }, @@ -1486,7 +1488,7 @@ }, { "cell_type": "markdown", - "id": "c95f3051", + "id": "6e05fc43", "metadata": { "editable": true }, @@ -1498,7 +1500,7 @@ }, { "cell_type": "markdown", - "id": "107fab0a", + "id": "c45e0752", "metadata": { "editable": true }, @@ -1508,7 +1510,7 @@ }, { "cell_type": "markdown", - "id": "d56b4bd7", + "id": "bafa4ab6", "metadata": { "editable": true }, @@ -1520,7 +1522,7 @@ }, { "cell_type": "markdown", - "id": "4712d813", + "id": "ea0bc471", "metadata": { "editable": true }, @@ -1537,7 +1539,7 @@ }, { "cell_type": "markdown", - "id": "43a58a59", + "id": "08b603f3", "metadata": { "editable": true }, @@ -1549,7 +1551,7 @@ }, { "cell_type": "markdown", - "id": "6333f694", + "id": "4114d10e", "metadata": { "editable": true }, @@ -1559,7 +1561,7 @@ }, { "cell_type": "markdown", - "id": "24e27c2b", + "id": "8890c666", "metadata": { "editable": true }, @@ -1571,7 +1573,7 @@ }, { "cell_type": "markdown", - "id": "0462c197", + "id": "7d5b7ce4", "metadata": { "editable": true }, @@ -1581,7 +1583,7 @@ }, { "cell_type": "markdown", - "id": "965cd453", + "id": "3913c5b9", "metadata": { "editable": true }, @@ -1593,7 +1595,7 @@ }, { "cell_type": "markdown", - "id": "4426c74e", + "id": "5e0067b1", "metadata": { "editable": true }, @@ -1603,7 +1605,7 @@ }, { "cell_type": "markdown", - "id": "d68ec470", + "id": "326bc8f1", "metadata": { "editable": true }, @@ -1619,7 +1621,7 @@ }, { "cell_type": "markdown", - "id": "0198c371", + "id": "d3713eca", "metadata": { "editable": true }, @@ -1630,7 +1632,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "af517050", + "id": "01c3b507", "metadata": { "collapsed": false, "editable": true @@ -1695,7 +1697,7 @@ }, { "cell_type": "markdown", - "id": "2b502d1d", + "id": "949e3a5e", "metadata": { "editable": true }, @@ -1706,7 +1708,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "9a5194fb", + "id": "7e7f4926", "metadata": { "collapsed": false, "editable": true @@ -1763,7 +1765,7 @@ }, { "cell_type": "markdown", - "id": "727c7723", + "id": "33c5cae5", "metadata": { "editable": true }, @@ -1801,7 +1803,7 @@ }, { "cell_type": "markdown", - "id": "7e90566c", + "id": "f931f0f2", "metadata": { "editable": true }, @@ -1828,7 +1830,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "7c760f15", + "id": "58daa28d", "metadata": { "collapsed": false, "editable": true @@ -1890,7 +1892,7 @@ }, { "cell_type": "markdown", - "id": "2619ab70", + "id": "3bbcf741", "metadata": { "editable": true }, @@ -1915,7 +1917,7 @@ }, { "cell_type": "markdown", - "id": "3e4d0bdb", + "id": "4b0ffe06", "metadata": { "editable": true }, @@ -1943,7 +1945,7 @@ }, { "cell_type": "markdown", - "id": "65d5f3f5", + "id": "b11baed6", "metadata": { "editable": true }, @@ -1956,7 +1958,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "66c55986", + "id": "39e76d49", "metadata": { "collapsed": false, "editable": true @@ -2056,7 +2058,7 @@ }, { "cell_type": "markdown", - "id": "8bd8e7a8", + "id": "e7d12ef0", "metadata": { "editable": true }, @@ -2067,7 +2069,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "2b363d73", + "id": "47f6ae18", "metadata": { "collapsed": false, "editable": true @@ -2156,7 +2158,7 @@ }, { "cell_type": "markdown", - "id": "de30ce89", + "id": "9c1d4754", "metadata": { "editable": true }, @@ -2166,7 +2168,7 @@ }, { "cell_type": "markdown", - "id": "936b8f0f", + "id": "b698ac66", "metadata": { "editable": true }, @@ -2179,7 +2181,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "399b09d4", + "id": "0a2409b0", "metadata": { "collapsed": false, "editable": true @@ -2257,7 +2259,7 @@ }, { "cell_type": "markdown", - "id": "ded3c9a0", + "id": "56f130b5", "metadata": { "editable": true }, diff --git a/doc/src/week38/week38.do.txt b/doc/src/week38/week38.do.txt index 26a521da8..18367d6b9 100644 --- a/doc/src/week38/week38.do.txt +++ b/doc/src/week38/week38.do.txt @@ -11,8 +11,8 @@ DATE: September 15-19, 2025 o Statistical interpretation of OLS and various expectation values o Resampling techniques, Bootstrap and cross validation and bias-variance tradeoff o The material we did not cover last week, that is on more advanced methods for updating the learning rate, are covered by its own video. We will briefly discuss these topics at the beginning of the lecture and during the lab sessions. See video on ADAgrad, RMSprop and ADAM (material from last week not covered during lecture) at URL:"https://youtu.be/J_41Hld6tTU" -# * "Video of Lecture":"https://youtu.be/omLmp_kkie0" -# * "Whiteboard notes":"https://github.com/CompPhysics/MachineLearning/blob/master/doc/HandWrittenNotes/2024/NotesSeptember9.pdf" +o "Video of Lecture":"https://youtu.be/4Fo7ITVA7V4" +o "Whiteboard notes":"https://github.com/CompPhysics/MachineLearning/blob/master/doc/HandWrittenNotes/2025/FYSSTKweek38.pdf" !eblock