From 6e48855c215f05a6b496566fcd9fb4318aaaa166 Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Thu, 4 Nov 2021 17:03:05 +0100 Subject: [PATCH] added lecture video --- doc/pub/week40/ipynb/week40.ipynb | 36 +- doc/pub/week43/ipynb/week43.ipynb | 908 ++++++------------- doc/pub/week44/html/._week44-bs001.html | 3 + doc/pub/week44/html/week44-reveal.html | 5 + doc/pub/week44/html/week44-solarized.html | 3 + doc/pub/week44/html/week44.html | 3 + doc/pub/week44/ipynb/ipynb-week44-src.tar.gz | Bin 294283 -> 294283 bytes doc/pub/week44/ipynb/week44.ipynb | 274 +++--- doc/src/week44/week44.do.txt | 1 + 9 files changed, 422 insertions(+), 811 deletions(-) diff --git a/doc/pub/week40/ipynb/week40.ipynb b/doc/pub/week40/ipynb/week40.ipynb index 46d0e5a9e..0839ac1a6 100644 --- a/doc/pub/week40/ipynb/week40.ipynb +++ b/doc/pub/week40/ipynb/week40.ipynb @@ -1541,34 +1541,20 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 2, "id": "54f02097", "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "Own inversion\n", - "[[3.89348193]\n", - " [3.1245657 ]]\n", - "Eigenvalues of Hessian Matrix:[0.30060356 4.58815574]\n", - "theta from own gd\n", - "[[3.89348193]\n", - " [3.1245657 ]]\n" + "ename": "ModuleNotFoundError", + "evalue": "No module named 'autograd'", + "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 2\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mrandom\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mrandom\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mseed\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mautograd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnumpy\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyplot\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mautograd\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mgrad\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'autograd'" ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" } ], "source": [ @@ -1634,7 +1620,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 1, "id": "95265123", "metadata": {}, "outputs": [ @@ -1645,7 +1631,7 @@ "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 3\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mrandom\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mrandom\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mseed\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mautograd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnumpy\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyplot\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mautograd\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mgrad\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mrandom\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mrandom\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mseed\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mautograd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnumpy\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyplot\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mautograd\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mgrad\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'autograd'" ] } diff --git a/doc/pub/week43/ipynb/week43.ipynb b/doc/pub/week43/ipynb/week43.ipynb index 0d4a0f0cd..3e2c45cf8 100644 --- a/doc/pub/week43/ipynb/week43.ipynb +++ b/doc/pub/week43/ipynb/week43.ipynb @@ -3,9 +3,7 @@ { "cell_type": "markdown", "id": "bb8912ae", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "\n", @@ -15,9 +13,7 @@ { "cell_type": "markdown", "id": "ceeae681", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "# Week 43: Deep Learning: Recurrent Neural Networks and other Deep Learning Methods. Principal Component analysis\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", @@ -30,9 +26,7 @@ { "cell_type": "markdown", "id": "0a4121b3", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Plans for week 43\n", "\n", @@ -62,9 +56,7 @@ { "cell_type": "markdown", "id": "f9660a14", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Reading Recommendations\n", "\n", @@ -76,9 +68,7 @@ { "cell_type": "markdown", "id": "842f5497", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Summary on Deep Learning Methods\n", "\n", @@ -90,9 +80,7 @@ { "cell_type": "markdown", "id": "c30579aa", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## CNNs in brief\n", "\n", @@ -121,9 +109,7 @@ { "cell_type": "markdown", "id": "cd85c599", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Recurrent neural networks: Overarching view\n", "\n", @@ -148,9 +134,7 @@ { "cell_type": "markdown", "id": "44578951", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Set up of an RNN\n", "\n", @@ -160,9 +144,7 @@ { "cell_type": "markdown", "id": "dcef62c4", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## A simple example" ] @@ -171,10 +153,7 @@ "cell_type": "code", "execution_count": 1, "id": "d1e1f8b0", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", @@ -252,9 +231,7 @@ { "cell_type": "markdown", "id": "7a672f93", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## An extrapolation example\n", "\n", @@ -268,10 +245,7 @@ "cell_type": "code", "execution_count": 2, "id": "fec7cd79", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "\n", @@ -307,9 +281,7 @@ { "cell_type": "markdown", "id": "3c152c36", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Formatting the Data\n", "\n", @@ -351,10 +323,7 @@ "cell_type": "code", "execution_count": 3, "id": "b2900154", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "# FORMAT_DATA\n", @@ -434,9 +403,7 @@ { "cell_type": "markdown", "id": "eecb1945", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Predicting New Points With A Trained Recurrent Neural Network" ] @@ -445,10 +412,7 @@ "cell_type": "code", "execution_count": 4, "id": "32b674b8", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "def test_rnn (x1, y_test, plot_min, plot_max):\n", @@ -547,9 +511,7 @@ { "cell_type": "markdown", "id": "7fd7f5d6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Other Things to Try\n", "\n", @@ -569,10 +531,7 @@ "cell_type": "code", "execution_count": 5, "id": "6b4b438e", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "def rnn_2layers(length_of_sequences, batch_size = None, stateful = False):\n", @@ -666,9 +625,7 @@ { "cell_type": "markdown", "id": "05df6234", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Other Types of Recurrent Neural Networks\n", "\n", @@ -692,10 +649,7 @@ "cell_type": "code", "execution_count": 6, "id": "e0262cbb", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "def lstm_2layers(length_of_sequences, batch_size = None, stateful = False):\n", @@ -893,9 +847,7 @@ { "cell_type": "markdown", "id": "e006cdfd", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Generative Models\n", "\n", @@ -917,9 +869,7 @@ { "cell_type": "markdown", "id": "276dd606", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Generative Adversarial Networks\n", "\n", @@ -937,9 +887,7 @@ { "cell_type": "markdown", "id": "ae501166", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "\n", "
\n", @@ -955,9 +903,7 @@ { "cell_type": "markdown", "id": "409bdfef", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Discriminator\n", "The discriminator attempts to distinguish between samples drawn from the\n", @@ -970,9 +916,7 @@ { "cell_type": "markdown", "id": "fb082c5d", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "\n", "
\n", @@ -988,9 +932,7 @@ { "cell_type": "markdown", "id": "1525ddb5", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "indicating the probability that $x$ is a real training example rather than a\n", "fake sample the generator has generated. The simplest way to formulate the\n", @@ -1001,9 +943,7 @@ { "cell_type": "markdown", "id": "6aa70c91", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "\n", "
\n", @@ -1019,9 +959,7 @@ { "cell_type": "markdown", "id": "777e450d", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "determines the reward for the discriminator, while the generator gets the\n", "conjugate reward" @@ -1030,9 +968,7 @@ { "cell_type": "markdown", "id": "cf5297d4", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "\n", "
\n", @@ -1048,9 +984,7 @@ { "cell_type": "markdown", "id": "dbfbe4f0", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Learning Process\n", "\n", @@ -1075,9 +1009,7 @@ { "cell_type": "markdown", "id": "6aa3b96a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## More about the Learning Process\n", "\n", @@ -1087,9 +1019,7 @@ { "cell_type": "markdown", "id": "a787801c", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "\n", "
\n", @@ -1106,9 +1036,7 @@ { "cell_type": "markdown", "id": "8c433b7e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "The default choice for $v$ is" ] @@ -1116,9 +1044,7 @@ { "cell_type": "markdown", "id": "117a59ec", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "\n", "
\n", @@ -1136,9 +1062,7 @@ { "cell_type": "markdown", "id": "036ab1a1", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "The main motivation for the design of GANs is that the learning process requires\n", "neither approximate inference (variational autoencoders for example) nor\n", @@ -1148,9 +1072,7 @@ { "cell_type": "markdown", "id": "0e3d13b4", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "\n", "
\n", @@ -1166,9 +1088,7 @@ { "cell_type": "markdown", "id": "7a743892", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "is convex in $\\theta^{(g)} then the procedure is guaranteed to converge and is\n", "asymptotically consistent\n", @@ -1178,9 +1098,7 @@ { "cell_type": "markdown", "id": "d4384dbb", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Additional References\n", "This is in\n", @@ -1199,9 +1117,7 @@ { "cell_type": "markdown", "id": "b6f72b0f", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Writing Our First Generative Adversarial Network\n", "Let us now move on to actually implementing a GAN in tensorflow. We will study\n", @@ -1216,10 +1132,7 @@ "cell_type": "code", "execution_count": 7, "id": "f62f2392", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import os\n", @@ -1234,9 +1147,7 @@ { "cell_type": "markdown", "id": "bf56bc45", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Next we define our hyperparameters and import our data the usual way" ] @@ -1245,10 +1156,7 @@ "cell_type": "code", "execution_count": 8, "id": "77f775a5", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "BUFFER_SIZE = 60000\n", @@ -1271,9 +1179,7 @@ { "cell_type": "markdown", "id": "b850456f", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## MNIST and GANs\n", "\n", @@ -1284,10 +1190,7 @@ "cell_type": "code", "execution_count": 9, "id": "18c95981", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "plt.imshow(train_images[0], cmap='Greys')\n", @@ -1297,9 +1200,7 @@ { "cell_type": "markdown", "id": "552a9eb3", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Now we define our two models. This is where the 'magic' happens. There are a\n", "huge amount of possible formulations for both models. A lot of engineering and\n", @@ -1316,10 +1217,7 @@ "cell_type": "code", "execution_count": 10, "id": "66828365", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "def generator_model():\n", @@ -1384,9 +1282,7 @@ { "cell_type": "markdown", "id": "af3c3094", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "And there we have our 'simple' generator model. Now we move on to defining our\n", "discriminator model $d$, which is a convolutional neural network based image\n", @@ -1397,10 +1293,7 @@ "cell_type": "code", "execution_count": 11, "id": "6483f1ba", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "def discriminator_model():\n", @@ -1437,9 +1330,7 @@ { "cell_type": "markdown", "id": "7d330ae6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Other Models\n", "Let us take a look at our models. **Note**: double click images for bigger view." @@ -1449,10 +1340,7 @@ "cell_type": "code", "execution_count": 12, "id": "3e5f5e35", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "generator = generator_model()\n", @@ -1463,10 +1351,7 @@ "cell_type": "code", "execution_count": 13, "id": "b1bac2c7", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "discriminator = discriminator_model()\n", @@ -1476,9 +1361,7 @@ { "cell_type": "markdown", "id": "faa440ef", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Next we need a few helper objects we will use in training" ] @@ -1487,10 +1370,7 @@ "cell_type": "code", "execution_count": 14, "id": "07992584", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "cross_entropy = tf.keras.losses.BinaryCrossentropy(from_logits=True)\n", @@ -1501,9 +1381,7 @@ { "cell_type": "markdown", "id": "e7750195", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "The first object, *cross_entropy* is our loss function and the two others are\n", "our optimizers. Notice we use the same learning rate for both $g$ and $d$. This\n", @@ -1516,10 +1394,7 @@ "cell_type": "code", "execution_count": 15, "id": "6764500d", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "def generator_loss(fake_output):\n", @@ -1532,10 +1407,7 @@ "cell_type": "code", "execution_count": 16, "id": "451117b8", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "def discriminator_loss(real_output, fake_output):\n", @@ -1549,9 +1421,7 @@ { "cell_type": "markdown", "id": "a1a2558f", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Next we define a kind of seed to help us compare the learning process over\n", "multiple training epochs." @@ -1561,10 +1431,7 @@ "cell_type": "code", "execution_count": 17, "id": "fd419bf0", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "noise_dimension = 100\n", @@ -1575,9 +1442,7 @@ { "cell_type": "markdown", "id": "21d5ab6b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Training Step\n", "\n", @@ -1591,10 +1456,7 @@ "cell_type": "code", "execution_count": 18, "id": "5e3d108e", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "@tf.function\n", @@ -1625,9 +1487,7 @@ { "cell_type": "markdown", "id": "2a3a8802", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Next we define a helper function to produce an output over our training epochs\n", "to see the predictive progression of our generator model. **Note**: I am including\n", @@ -1638,10 +1498,7 @@ "cell_type": "code", "execution_count": 19, "id": "bca416b1", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "def generate_and_save_images(model, epoch, test_input):\n", @@ -1663,9 +1520,7 @@ { "cell_type": "markdown", "id": "651e1db3", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Checkpoints\n", "Setting up checkpoints to periodically save our model during training so that\n", @@ -1677,10 +1532,7 @@ "cell_type": "code", "execution_count": 20, "id": "d8cedbc7", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "# Setting up checkpoints to save model during training\n", @@ -1695,9 +1547,7 @@ { "cell_type": "markdown", "id": "a53622bb", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Now we define our training loop" ] @@ -1706,10 +1556,7 @@ "cell_type": "code", "execution_count": 21, "id": "9f4c3228", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "def train(dataset, epochs):\n", @@ -1746,9 +1593,7 @@ { "cell_type": "markdown", "id": "b58cebd6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "To train simply call this function. **Warning**: this might take a long time so\n", "there is a folder of a pretrained network already included in the repository." @@ -1758,10 +1603,7 @@ "cell_type": "code", "execution_count": 22, "id": "26eb959a", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "train(train_dataset, EPOCHS)" @@ -1770,9 +1612,7 @@ { "cell_type": "markdown", "id": "2a6252cd", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "And here is the result of training our model for 100 epochs\n", "\n", @@ -1784,10 +1624,7 @@ "cell_type": "code", "execution_count": 23, "id": "f5244029", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "from IPython.display import HTML\n", @@ -1801,9 +1638,7 @@ { "cell_type": "markdown", "id": "87f98505", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "\n", "\n", @@ -1815,10 +1650,7 @@ "cell_type": "code", "execution_count": 24, "id": "63b2441d", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "checkpoint.restore(tf.train.latest_checkpoint(checkpoint_dir))\n", @@ -1832,9 +1664,7 @@ { "cell_type": "markdown", "id": "6b7f4858", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Exploring the Latent Space\n", "\n", @@ -1848,10 +1678,7 @@ "cell_type": "code", "execution_count": 25, "id": "7efda30c", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "def generate_latent_points(number=100, scale_means=1, scale_stds=1):\n", @@ -1876,10 +1703,7 @@ "cell_type": "code", "execution_count": 26, "id": "ebcb4e13", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "def plot_result(generated_images, number=100):\n", @@ -1899,10 +1723,7 @@ "cell_type": "code", "execution_count": 27, "id": "642701d2", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "generated_images = generate_images(generate_latent_points())\n", @@ -1912,9 +1733,7 @@ { "cell_type": "markdown", "id": "0cc143f4", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Getting Results\n", "We see that the generator generates images that look like MNIST\n", @@ -1928,10 +1747,7 @@ "cell_type": "code", "execution_count": 28, "id": "4f808525", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "plot_number = 225\n", @@ -1955,9 +1771,7 @@ { "cell_type": "markdown", "id": "5b71261e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Again, we have found something interesting. *Moving* around using our means\n", "takes us from digit to digit, while *moving* around using our standard\n", @@ -1970,10 +1784,7 @@ "cell_type": "code", "execution_count": 29, "id": "88c574cb", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "plot_number = 400\n", @@ -1986,9 +1797,7 @@ { "cell_type": "markdown", "id": "60489075", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "A pretty cool result! We see that our generator indeed has learned a\n", "distribution which qualitatively looks a whole lot like the MNIST dataset." @@ -1997,9 +1806,7 @@ { "cell_type": "markdown", "id": "cba87cde", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Interpolating Between MNIST Digits\n", "Another interesting way to explore the latent space of our generator model is by\n", @@ -2015,10 +1822,7 @@ "cell_type": "code", "execution_count": 30, "id": "8262fb8d", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "def interpolation(point_1, point_2, n_steps=10):\n", @@ -2033,9 +1837,7 @@ { "cell_type": "markdown", "id": "1a1ec074", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Now we have all we need to do our interpolation analysis." ] @@ -2044,10 +1846,7 @@ "cell_type": "code", "execution_count": 31, "id": "69c03d1f", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "plot_number = 100\n", @@ -2068,9 +1867,7 @@ { "cell_type": "markdown", "id": "b02e88cc", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Basic ideas of the Principal Component Analysis (PCA)\n", "\n", @@ -2095,9 +1892,7 @@ { "cell_type": "markdown", "id": "76a4925b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Introducing the Covariance and Correlation functions\n", "\n", @@ -2111,9 +1906,7 @@ { "cell_type": "markdown", "id": "1cc2d6ef", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{C}[\\boldsymbol{x},\\boldsymbol{y}] = \\begin{bmatrix} \\mathrm{cov}[\\boldsymbol{x},\\boldsymbol{x}] & \\mathrm{cov}[\\boldsymbol{x},\\boldsymbol{y}] \\\\\n", @@ -2125,9 +1918,7 @@ { "cell_type": "markdown", "id": "b07a53be", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where for example" ] @@ -2135,9 +1926,7 @@ { "cell_type": "markdown", "id": "a8f008d7", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\mathrm{cov}[\\boldsymbol{x},\\boldsymbol{y}] =\\frac{1}{n} \\sum_{i=0}^{n-1}(x_i- \\overline{x})(y_i- \\overline{y}).\n", @@ -2147,9 +1936,7 @@ { "cell_type": "markdown", "id": "a3ad97c5", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "With this definition and recalling that the variance is defined as" ] @@ -2157,9 +1944,7 @@ { "cell_type": "markdown", "id": "19aaf866", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\mathrm{var}[\\boldsymbol{x}]=\\frac{1}{n} \\sum_{i=0}^{n-1}(x_i- \\overline{x})^2,\n", @@ -2169,9 +1954,7 @@ { "cell_type": "markdown", "id": "9e747bef", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "we can rewrite the covariance matrix as" ] @@ -2179,9 +1962,7 @@ { "cell_type": "markdown", "id": "e0864a69", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{C}[\\boldsymbol{x},\\boldsymbol{y}] = \\begin{bmatrix} \\mathrm{var}[\\boldsymbol{x}] & \\mathrm{cov}[\\boldsymbol{x},\\boldsymbol{y}] \\\\\n", @@ -2193,9 +1974,7 @@ { "cell_type": "markdown", "id": "039a6d65", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## More on the covariance\n", "The covariance takes values between zero and infinity and may thus\n", @@ -2208,9 +1987,7 @@ { "cell_type": "markdown", "id": "f9663947", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\mathrm{corr}[\\boldsymbol{x},\\boldsymbol{y}]=\\frac{\\mathrm{cov}[\\boldsymbol{x},\\boldsymbol{y}]}{\\sqrt{\\mathrm{var}[\\boldsymbol{x}] \\mathrm{var}[\\boldsymbol{y}]}}.\n", @@ -2220,9 +1997,7 @@ { "cell_type": "markdown", "id": "224c5a0d", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "The correlation function is then given by values $\\mathrm{corr}[\\boldsymbol{x},\\boldsymbol{y}]\n", "\\in [-1,1]$. This avoids eventual problems with too large values. We\n", @@ -2233,9 +2008,7 @@ { "cell_type": "markdown", "id": "51db7478", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{K}[\\boldsymbol{x},\\boldsymbol{y}] = \\begin{bmatrix} 1 & \\mathrm{corr}[\\boldsymbol{x},\\boldsymbol{y}] \\\\\n", @@ -2247,9 +2020,7 @@ { "cell_type": "markdown", "id": "95588be8", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "In the above example this is the function we constructed using **pandas**." ] @@ -2257,9 +2028,7 @@ { "cell_type": "markdown", "id": "c6e38449", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Reminding ourselves about Linear Regression\n", "In our derivation of the various regression algorithms like **Ordinary Least Squares** or **Ridge regression**\n", @@ -2269,9 +2038,7 @@ { "cell_type": "markdown", "id": "80b2a71a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{X}=\\begin{bmatrix}\n", @@ -2288,9 +2055,7 @@ { "cell_type": "markdown", "id": "0a864e62", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "with $\\boldsymbol{X}\\in {\\mathbb{R}}^{n\\times p}$, with the predictors/features $p$ refering to the column numbers and the\n", "entries $n$ being the row elements.\n", @@ -2300,9 +2065,7 @@ { "cell_type": "markdown", "id": "12721f7c", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{X}=\\begin{bmatrix} \\boldsymbol{x}_0 & \\boldsymbol{x}_1 & \\boldsymbol{x}_2 & \\dots & \\dots & \\boldsymbol{x}_{p-1}\\end{bmatrix},\n", @@ -2312,9 +2075,7 @@ { "cell_type": "markdown", "id": "5d971502", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "with a given vector" ] @@ -2322,9 +2083,7 @@ { "cell_type": "markdown", "id": "49da9cc9", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{x}_i^T = \\begin{bmatrix}x_{0,i} & x_{1,i} & x_{2,i}& \\dots & \\dots x_{n-1,i}\\end{bmatrix}.\n", @@ -2334,9 +2093,7 @@ { "cell_type": "markdown", "id": "2560e5d2", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Simple Example\n", "With these definitions, we can now rewrite our $2\\times 2$\n", @@ -2348,9 +2105,7 @@ { "cell_type": "markdown", "id": "be68f9f9", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{C}[\\boldsymbol{x}] = \\begin{bmatrix}\n", @@ -2367,9 +2122,7 @@ { "cell_type": "markdown", "id": "27ac6510", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## The Correlation Matrix\n", "\n", @@ -2379,9 +2132,7 @@ { "cell_type": "markdown", "id": "6acb8936", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{K}[\\boldsymbol{x}] = \\begin{bmatrix}\n", @@ -2398,9 +2149,7 @@ { "cell_type": "markdown", "id": "506094b3", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Numpy Functionality\n", "\n", @@ -2414,9 +2163,7 @@ { "cell_type": "markdown", "id": "d4487e42", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{W}^T = \\begin{bmatrix} x_0 & y_0 \\\\\n", @@ -2432,9 +2179,7 @@ { "cell_type": "markdown", "id": "4c5e9844", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "which in turn is converted into into the $2\\times 2$ covariance matrix\n", "$\\boldsymbol{C}$ via the Numpy function **np.cov()**. We note that we can also calculate\n", @@ -2447,10 +2192,7 @@ "cell_type": "code", "execution_count": 32, "id": "ae930dba", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "# Importing various packages\n", @@ -2468,9 +2210,7 @@ { "cell_type": "markdown", "id": "60e9a1c8", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Correlation Matrix again\n", "\n", @@ -2485,10 +2225,7 @@ "cell_type": "code", "execution_count": 33, "id": "faa6e59e", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -2517,9 +2254,7 @@ { "cell_type": "markdown", "id": "40ae29f3", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "We see that the matrix elements along the diagonal are one as they\n", "should be and that the matrix is symmetric. Furthermore, diagonalizing\n", @@ -2531,9 +2266,7 @@ { "cell_type": "markdown", "id": "e2c9e103", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Using Pandas\n", "\n", @@ -2544,10 +2277,7 @@ "cell_type": "code", "execution_count": 34, "id": "d07566bf", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -2568,9 +2298,7 @@ { "cell_type": "markdown", "id": "acec1fe2", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## And then the Franke Function\n", "\n", @@ -2581,10 +2309,7 @@ "cell_type": "code", "execution_count": 35, "id": "0a5bbf22", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "# Common imports\n", @@ -2635,9 +2360,7 @@ { "cell_type": "markdown", "id": "ec627c6e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "We note here that the covariance is zero for the first rows and\n", "columns since all matrix elements in the design matrix were set to one\n", @@ -2650,9 +2373,7 @@ { "cell_type": "markdown", "id": "b079de1e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Lnks with the Design Matrix\n", "\n", @@ -2662,9 +2383,7 @@ { "cell_type": "markdown", "id": "b7ce13ea", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{C}[\\boldsymbol{x}] = \\frac{1}{n}\\boldsymbol{X}^T\\boldsymbol{X}= \\mathbb{E}[\\boldsymbol{X}^T\\boldsymbol{X}].\n", @@ -2674,9 +2393,7 @@ { "cell_type": "markdown", "id": "84fe601b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "To see this let us simply look at a design matrix $\\boldsymbol{X}\\in {\\mathbb{R}}^{2\\times 2}$" ] @@ -2684,9 +2401,7 @@ { "cell_type": "markdown", "id": "b84be038", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{X}=\\begin{bmatrix}\n", @@ -2701,9 +2416,7 @@ { "cell_type": "markdown", "id": "bcd07175", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Computing the Expectation Values\n", "\n", @@ -2713,9 +2426,7 @@ { "cell_type": "markdown", "id": "825d6441", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\mathbb{E}[\\boldsymbol{X}^T\\boldsymbol{X}] = \\frac{1}{n}\\boldsymbol{X}^T\\boldsymbol{X}=\\begin{bmatrix}\n", @@ -2728,9 +2439,7 @@ { "cell_type": "markdown", "id": "c09ed5ee", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "which is just" ] @@ -2738,9 +2447,7 @@ { "cell_type": "markdown", "id": "621930aa", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{C}[\\boldsymbol{x}_0,\\boldsymbol{x}_1] = \\boldsymbol{C}[\\boldsymbol{x}]=\\begin{bmatrix} \\mathrm{var}[\\boldsymbol{x}_0] & \\mathrm{cov}[\\boldsymbol{x}_0,\\boldsymbol{x}_1] \\\\\n", @@ -2752,9 +2459,7 @@ { "cell_type": "markdown", "id": "c5374307", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where we wrote $$\\boldsymbol{C}[\\boldsymbol{x}_0,\\boldsymbol{x}_1] = \\boldsymbol{C}[\\boldsymbol{x}]$$ to indicate that this the covariance of the vectors $\\boldsymbol{x}$ of the design/feature matrix $\\boldsymbol{X}$.\n", "\n", @@ -2764,9 +2469,7 @@ { "cell_type": "markdown", "id": "ab2ad5de", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Towards the PCA theorem\n", "\n", @@ -2776,9 +2479,7 @@ { "cell_type": "markdown", "id": "969874ba", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{C}[\\boldsymbol{x}] = \\frac{1}{n}\\boldsymbol{X}^T\\boldsymbol{X}= \\mathbb{E}[\\boldsymbol{X}^T\\boldsymbol{X}].\n", @@ -2788,9 +2489,7 @@ { "cell_type": "markdown", "id": "2b0ea2d2", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Let us now assume that we can perform a series of orthogonal transformations where we employ some orthogonal matrices $\\boldsymbol{S}$.\n", "These matrices are defined as $\\boldsymbol{S}\\in {\\mathbb{R}}^{p\\times p}$ and obey the orthogonality requirements $\\boldsymbol{S}\\boldsymbol{S}^T=\\boldsymbol{S}^T\\boldsymbol{S}=\\boldsymbol{I}$. The matrix can be written out in terms of the column vectors $\\boldsymbol{s}_i$ as $\\boldsymbol{S}=[\\boldsymbol{s}_0,\\boldsymbol{s}_1,\\dots,\\boldsymbol{s}_{p-1}]$ and $\\boldsymbol{s}_i \\in {\\mathbb{R}}^{p}$.\n", @@ -2803,9 +2502,7 @@ { "cell_type": "markdown", "id": "624d3544", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{C}[\\boldsymbol{y}] = \\mathbb{E}[\\boldsymbol{S}^T\\boldsymbol{X}^T\\boldsymbol{X}T\\boldsymbol{S}]=\\boldsymbol{S}^T\\boldsymbol{C}[\\boldsymbol{x}]\\boldsymbol{S},\n", @@ -2815,9 +2512,7 @@ { "cell_type": "markdown", "id": "3823d17a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "since the matrix $\\boldsymbol{S}$ is not a data dependent matrix. Multiplying with $\\boldsymbol{S}$ from the left we have" ] @@ -2825,9 +2520,7 @@ { "cell_type": "markdown", "id": "46a38924", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{S}\\boldsymbol{C}[\\boldsymbol{y}] = \\boldsymbol{C}[\\boldsymbol{x}]\\boldsymbol{S},\n", @@ -2837,9 +2530,7 @@ { "cell_type": "markdown", "id": "151b9a1e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "and since $\\boldsymbol{C}[\\boldsymbol{y}]$ is diagonal we have for a given eigenvalue $i$ of the covariance matrix that" ] @@ -2847,9 +2538,7 @@ { "cell_type": "markdown", "id": "2a02d193", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{S}_i\\lambda_i = \\boldsymbol{C}[\\boldsymbol{x}]\\boldsymbol{S}_i.\n", @@ -2859,9 +2548,7 @@ { "cell_type": "markdown", "id": "977d900a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## More on the PCA Theorem\n", "\n", @@ -2884,9 +2571,7 @@ { "cell_type": "markdown", "id": "a4d95520", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## The Algorithm before theorem\n", "\n", @@ -2897,9 +2582,7 @@ { "cell_type": "markdown", "id": "4f53f1d9", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{X}=\\begin{bmatrix}\n", @@ -2916,9 +2599,7 @@ { "cell_type": "markdown", "id": "3bc1325d", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "* Center the data by subtracting the mean value for each column. This leads to a new matrix $\\boldsymbol{X}\\rightarrow \\overline{\\boldsymbol{X}}$.\n", "\n", @@ -2934,9 +2615,7 @@ { "cell_type": "markdown", "id": "677fbdd5", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Writing our own PCA code\n", "\n", @@ -2947,9 +2626,7 @@ { "cell_type": "markdown", "id": "3af6eec6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\mu = (-1,2) \\qquad \\Sigma = \\begin{bmatrix} 4 & 2 \\\\\n", @@ -2961,9 +2638,7 @@ { "cell_type": "markdown", "id": "7b4579b4", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Note that the mean refers to each column of data. \n", "We will generate $n = 10000$ points $X = \\{ x_1, \\ldots, x_N \\}$ from\n", @@ -2973,9 +2648,7 @@ { "cell_type": "markdown", "id": "8938e57e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Implementing it\n", "The following Python code aids in setting up the data and writing out the design matrix.\n", @@ -2984,12 +2657,9 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 9, "id": "ec1e3f1e", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -2998,16 +2668,14 @@ "from IPython.display import display\n", "n = 10000\n", "mean = (-1, 2)\n", - "cov = [[4, 2], [2, 2]]\n", + "cov = [[10, 0.02], [0.02, 0.05]]\n", "X = np.random.multivariate_normal(mean, cov, n)" ] }, { "cell_type": "markdown", "id": "48ce0d35", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Now we are going to implement the PCA algorithm. We will break it down into various substeps." ] @@ -3015,9 +2683,7 @@ { "cell_type": "markdown", "id": "ecbc0719", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## First Step\n", "\n", @@ -3027,9 +2693,7 @@ { "cell_type": "markdown", "id": "0087d2dc", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\mu_n = \\frac{1}{n} \\sum_{i=1}^n x_i\n", @@ -3039,9 +2703,7 @@ { "cell_type": "markdown", "id": "e8489d42", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "and the mean-centered data $\\bar{X} = \\{ \\bar{x}_1, \\ldots, \\bar{x}_n \\}$ takes the form" ] @@ -3049,9 +2711,7 @@ { "cell_type": "markdown", "id": "9a557753", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\bar{x}_i = x_i - \\mu_n.\n", @@ -3061,9 +2721,7 @@ { "cell_type": "markdown", "id": "de3a6bd4", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "When you are done with these steps, print out $\\mu_n$ to verify it is\n", "close to $\\mu$ and plot your mean centered data to verify it is\n", @@ -3073,12 +2731,9 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 10, "id": "04a64c6f", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "df = pd.DataFrame(X)\n", @@ -3091,9 +2746,7 @@ { "cell_type": "markdown", "id": "380e11e6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Scaling\n", "Alternatively, we could use the functions we discussed\n", @@ -3110,9 +2763,7 @@ { "cell_type": "markdown", "id": "313212af", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Centered Data\n", "\n", @@ -3122,9 +2773,7 @@ { "cell_type": "markdown", "id": "bf5aa29c", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\Sigma_n = \\frac{1}{n-1} \\sum_{i=1}^n \\bar{x}_i^T \\bar{x}_i = \\frac{1}{n-1} \\sum_{i=1}^n (x_i - \\mu_n)^T (x_i - \\mu_n)\n", @@ -3134,9 +2783,7 @@ { "cell_type": "markdown", "id": "cabe6168", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where the data points $x_i \\in \\mathbb{R}^p$ (here in this example $p = 2$) are column vectors and $x^T$ is the transpose of $x$.\n", "We can write our own code or simply use either the functionaly of **numpy** or that of **pandas**, as follows" @@ -3144,13 +2791,22 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 11, "id": "16b51366", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 0 1\n", + "0 9.902025 0.010717\n", + "1 0.010717 0.050674\n", + "[[9.9020247 0.01071725]\n", + " [0.01071725 0.05067434]]\n" + ] + } + ], "source": [ "print(df.cov())\n", "print(np.cov(X_centered.T))" @@ -3159,9 +2815,7 @@ { "cell_type": "markdown", "id": "f4795982", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Note that the way we define the covariance matrix here has a factor $n-1$ instead of $n$. This is included in the **cov()** function by **numpy** and **pandas**. \n", "Our own code here is not very elegant and asks for obvious improvements. It is tailored to this specific $2\\times 2$ covariance matrix." @@ -3169,13 +2823,32 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 12, "id": "a17a2264", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Centered covariance using own code\n", + "[[9.9020247 0.01071725]\n", + " [0.01071725 0.05067434]]\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "# extract the relevant columns from the centered design matrix of dim n x 2\n", "x = X_centered[:,0]\n", @@ -3195,9 +2868,7 @@ { "cell_type": "markdown", "id": "d8c79888", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Exploring\n", "\n", @@ -3208,9 +2879,7 @@ { "cell_type": "markdown", "id": "0f3c4bbe", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Diagonalize the sample covariance matrix to obtain the principal components\n", "\n", @@ -3232,9 +2901,7 @@ { "cell_type": "markdown", "id": "1b2237a0", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "x_i \\approx \\tilde{x}_i = \\mu_n + \\langle x_i, v_0 \\rangle v_0\n", @@ -3244,9 +2911,7 @@ { "cell_type": "markdown", "id": "422430b2", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where $v_0$ is the first principal component." ] @@ -3254,9 +2919,7 @@ { "cell_type": "markdown", "id": "2853d3af", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Collecting all Steps\n", "\n", @@ -3272,10 +2935,7 @@ "cell_type": "code", "execution_count": 40, "id": "f1553a35", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "# diagonalize and obtain eigenvalues, not necessarily sorted\n", @@ -3304,9 +2964,7 @@ { "cell_type": "markdown", "id": "f14f4a68", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "This code does not contain all the above elements, but it shows how we can use **Scikit-Learn** to extract the eigenvector which corresponds to the largest eigenvalue. Try to address the questions we pose before the above code. Try also to change the values of the covariance matrix by making one of the diagonal elements much larger than the other. What do you observe then?" ] @@ -3314,9 +2972,7 @@ { "cell_type": "markdown", "id": "ff48c8be", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Classical PCA Theorem\n", "\n", @@ -3338,9 +2994,7 @@ { "cell_type": "markdown", "id": "f93b8c77", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## The PCA Theorem\n", "\n", @@ -3362,9 +3016,7 @@ { "cell_type": "markdown", "id": "7d7f444a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "J(\\boldsymbol{w}_0)= \\boldsymbol{w}_0^T\\boldsymbol{C}[\\boldsymbol{x}]\\boldsymbol{w}_0+\\lambda_0(1-\\boldsymbol{w}_0^T\\boldsymbol{w}_0).\n", @@ -3374,9 +3026,7 @@ { "cell_type": "markdown", "id": "757137f1", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Taking the derivative with respect to $\\boldsymbol{w}_0$ we obtain" ] @@ -3384,9 +3034,7 @@ { "cell_type": "markdown", "id": "cf073fb5", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\frac{\\partial J(\\boldsymbol{w}_0)}{\\partial \\boldsymbol{w}_0}= 2\\boldsymbol{C}[\\boldsymbol{x}]\\boldsymbol{w}_0-2\\lambda_0\\boldsymbol{w}_0=0,\n", @@ -3396,9 +3044,7 @@ { "cell_type": "markdown", "id": "46cacc57", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "meaning that" ] @@ -3406,9 +3052,7 @@ { "cell_type": "markdown", "id": "b9d752e0", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{C}[\\boldsymbol{x}]\\boldsymbol{w}_0=\\lambda_0\\boldsymbol{w}_0.\n", @@ -3418,9 +3062,7 @@ { "cell_type": "markdown", "id": "3a2a1499", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "**The direction that maximizes the variance (or minimizes the construction error) is an eigenvector of the covariance matrix**! If we left multiply with $\\boldsymbol{w}_0^T$ we have the variance of the projected data is" ] @@ -3428,9 +3070,7 @@ { "cell_type": "markdown", "id": "4c0d5781", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{w}_0^T\\boldsymbol{C}[\\boldsymbol{x}]\\boldsymbol{w}_0=\\lambda_0.\n", @@ -3440,9 +3080,7 @@ { "cell_type": "markdown", "id": "92dd2fd5", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "If we want to maximize the variance (minimize the construction error)\n", "we simply pick the eigenvector of the covariance matrix with the\n", @@ -3466,9 +3104,7 @@ { "cell_type": "markdown", "id": "b3fbff3b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Geometric Interpretation and link with Singular Value Decomposition\n", "\n", @@ -3485,10 +3121,7 @@ "cell_type": "code", "execution_count": 41, "id": "28f97424", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -3520,9 +3153,7 @@ { "cell_type": "markdown", "id": "a057f309", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "PCA assumes that the dataset is centered around the origin. Scikit-Learn’s PCA classes take care of centering\n", "the data for you. However, if you implement PCA yourself (as in the preceding example), or if you use other libraries, don’t\n", @@ -3537,10 +3168,7 @@ "cell_type": "code", "execution_count": 42, "id": "aa6bdcf5", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "W2 = V.T[:, :2]\n", @@ -3550,9 +3178,7 @@ { "cell_type": "markdown", "id": "9b6e634b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## PCA and scikit-learn\n", "\n", @@ -3565,10 +3191,7 @@ "cell_type": "code", "execution_count": 43, "id": "27016f13", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "#thereafter we do a PCA with Scikit-learn\n", @@ -3581,9 +3204,7 @@ { "cell_type": "markdown", "id": "cba40f30", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "After fitting the PCA transformer to the dataset, you can access the principal components using the\n", "components variable (note that it contains the PCs as horizontal vectors, so, for example, the first\n", @@ -3594,10 +3215,7 @@ "cell_type": "code", "execution_count": 44, "id": "b4c61606", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "pca.components_.T[:, 0]" @@ -3606,9 +3224,7 @@ { "cell_type": "markdown", "id": "b5f6a25b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Another very useful piece of information is the explained variance ratio of each principal component,\n", "available via the $explained\\_variance\\_ratio$ variable. It indicates the proportion of the dataset’s\n", @@ -3618,9 +3234,7 @@ { "cell_type": "markdown", "id": "0ac21d70", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Back to the Cancer Data\n", "We can now repeat the above but applied to real data, in this case our breast cancer data.\n", @@ -3631,10 +3245,7 @@ "cell_type": "code", "execution_count": 45, "id": "1fe89d6a", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -3670,9 +3281,7 @@ { "cell_type": "markdown", "id": "284835e6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "We see that our training data after the PCA decomposition has a performance similar to the non-scaled data. \n", "\n", @@ -3688,10 +3297,7 @@ "cell_type": "code", "execution_count": 46, "id": "16dff606", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "pca = PCA()\n", @@ -3703,9 +3309,7 @@ { "cell_type": "markdown", "id": "3ca0f846", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "You could then set $n\\_components=d$ and run PCA again. However, there is a much better option: instead\n", "of specifying the number of principal components you want to preserve, you can set $n\\_components$ to be\n", @@ -3716,10 +3320,7 @@ "cell_type": "code", "execution_count": 47, "id": "b7dba51f", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "pca = PCA(n_components=0.95)\n", @@ -3729,9 +3330,7 @@ { "cell_type": "markdown", "id": "b0c6dd70", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Incremental PCA\n", "\n", @@ -3745,9 +3344,7 @@ { "cell_type": "markdown", "id": "43bbd33f", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "### Randomized PCA\n", "\n", @@ -3760,9 +3357,7 @@ { "cell_type": "markdown", "id": "73ac8d86", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "### Kernel PCA\n", "\n", @@ -3781,10 +3376,7 @@ "cell_type": "code", "execution_count": 48, "id": "5c4a0d77", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "from sklearn.decomposition import KernelPCA\n", @@ -3795,9 +3387,7 @@ { "cell_type": "markdown", "id": "56afa4e0", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Other techniques\n", "\n", @@ -3814,7 +3404,25 @@ ] } ], - "metadata": {}, + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, "nbformat": 4, "nbformat_minor": 5 } diff --git a/doc/pub/week44/html/._week44-bs001.html b/doc/pub/week44/html/._week44-bs001.html index d1c401130..26bbbdf8e 100644 --- a/doc/pub/week44/html/._week44-bs001.html +++ b/doc/pub/week44/html/._week44-bs001.html @@ -331,6 +331,9 @@ MathJax.Hub.Config({
  • Thursday: Wrapping up PCA from last week, Clustering and basics of decision trees, classification and regression algorithms
  • +
  • Friday: Decision trees, voting models and bagging
diff --git a/doc/pub/week44/html/week44-reveal.html b/doc/pub/week44/html/week44-reveal.html index c89325001..734fce1b4 100644 --- a/doc/pub/week44/html/week44-reveal.html +++ b/doc/pub/week44/html/week44-reveal.html @@ -199,6 +199,11 @@ MathJax.Hub.Config({

  • Thursday: Wrapping up PCA from last week, Clustering and basics of decision trees, classification and regression algorithms
  • + +

  • Friday: Decision trees, voting models and bagging

diff --git a/doc/pub/week44/html/week44-solarized.html b/doc/pub/week44/html/week44-solarized.html index 4e7257e19..d8672b85d 100644 --- a/doc/pub/week44/html/week44-solarized.html +++ b/doc/pub/week44/html/week44-solarized.html @@ -292,6 +292,9 @@ MathJax.Hub.Config({

  • Thursday: Wrapping up PCA from last week, Clustering and basics of decision trees, classification and regression algorithms
  • +
  • Friday: Decision trees, voting models and bagging
diff --git a/doc/pub/week44/html/week44.html b/doc/pub/week44/html/week44.html index 824f03e21..32d2d2f47 100644 --- a/doc/pub/week44/html/week44.html +++ b/doc/pub/week44/html/week44.html @@ -369,6 +369,9 @@ MathJax.Hub.Config({
  • Thursday: Wrapping up PCA from last week, Clustering and basics of decision trees, classification and regression algorithms
  • +
  • Friday: Decision trees, voting models and bagging
diff --git a/doc/pub/week44/ipynb/ipynb-week44-src.tar.gz b/doc/pub/week44/ipynb/ipynb-week44-src.tar.gz index c160927fd8fa00bf51069796a53f5fabe5f2dc57..c1c37645cf0ee025e26f4d4fa485cba5b2a298f5 100644 GIT binary patch delta 30 lcmeDFE!h2AkX^o;gF%<2rIEdrow1djsg<31D?3X|EdZ3q2#^2( delta 30 lcmeDFE!h2AkX^o;gTZBSb0d2zJ7X(5Q!6|3R(6(_S^%M$2}J+^ diff --git a/doc/pub/week44/ipynb/week44.ipynb b/doc/pub/week44/ipynb/week44.ipynb index f494fd9a8..a8246f0ab 100644 --- a/doc/pub/week44/ipynb/week44.ipynb +++ b/doc/pub/week44/ipynb/week44.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "7a376e32", + "id": "dba13b3f", "metadata": { "editable": true }, @@ -14,7 +14,7 @@ }, { "cell_type": "markdown", - "id": "92381691", + "id": "f5926c75", "metadata": { "editable": true }, @@ -29,7 +29,7 @@ }, { "cell_type": "markdown", - "id": "681edb2d", + "id": "b29d414b", "metadata": { "editable": true }, @@ -38,6 +38,8 @@ "\n", "* Thursday: Wrapping up PCA from last week, Clustering and basics of decision trees, classification and regression algorithms\n", "\n", + " * [Video of Lecture](https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember4.mp4?vrtx=view-as-webpage)\n", + "\n", "* Friday: Decision trees, voting models and bagging\n", "\n", "**Videos.**\n", @@ -57,7 +59,7 @@ }, { "cell_type": "markdown", - "id": "a17deeb0", + "id": "00e2a61a", "metadata": { "editable": true }, @@ -75,7 +77,7 @@ }, { "cell_type": "markdown", - "id": "63ebbff4", + "id": "3e760e9a", "metadata": { "editable": true }, @@ -89,7 +91,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "a985145a", + "id": "ef3bf308", "metadata": { "collapsed": false, "editable": true @@ -205,7 +207,7 @@ }, { "cell_type": "markdown", - "id": "943d73f8", + "id": "ad971f22", "metadata": { "editable": true }, @@ -218,7 +220,7 @@ }, { "cell_type": "markdown", - "id": "0808d619", + "id": "7e15cef0", "metadata": { "editable": true }, @@ -252,7 +254,7 @@ }, { "cell_type": "markdown", - "id": "da95561a", + "id": "a16419e2", "metadata": { "editable": true }, @@ -272,7 +274,7 @@ }, { "cell_type": "markdown", - "id": "3da02125", + "id": "226c0dc5", "metadata": { "editable": true }, @@ -288,7 +290,7 @@ }, { "cell_type": "markdown", - "id": "c2e6d46b", + "id": "c0cd2148", "metadata": { "editable": true }, @@ -301,7 +303,7 @@ }, { "cell_type": "markdown", - "id": "d74380f9", + "id": "070d4fde", "metadata": { "editable": true }, @@ -313,7 +315,7 @@ }, { "cell_type": "markdown", - "id": "ac087e46", + "id": "b039b0bd", "metadata": { "editable": true }, @@ -335,7 +337,7 @@ }, { "cell_type": "markdown", - "id": "33fa0273", + "id": "d3dd0183", "metadata": { "editable": true }, @@ -347,7 +349,7 @@ }, { "cell_type": "markdown", - "id": "9551892a", + "id": "b4fc11e8", "metadata": { "editable": true }, @@ -364,7 +366,7 @@ }, { "cell_type": "markdown", - "id": "f38df703", + "id": "b08303d1", "metadata": { "editable": true }, @@ -375,7 +377,7 @@ }, { "cell_type": "markdown", - "id": "d40581e2", + "id": "67c0896f", "metadata": { "editable": true }, @@ -393,7 +395,7 @@ }, { "cell_type": "markdown", - "id": "960cb01c", + "id": "313bd920", "metadata": { "editable": true }, @@ -407,7 +409,7 @@ }, { "cell_type": "markdown", - "id": "79f48939", + "id": "5caf7af5", "metadata": { "editable": true }, @@ -426,7 +428,7 @@ }, { "cell_type": "markdown", - "id": "d4bdd9c7", + "id": "0615f304", "metadata": { "editable": true }, @@ -443,7 +445,7 @@ }, { "cell_type": "markdown", - "id": "4f59c82e", + "id": "a2e68a40", "metadata": { "editable": true }, @@ -455,7 +457,7 @@ }, { "cell_type": "markdown", - "id": "14fe9167", + "id": "6708cd26", "metadata": { "editable": true }, @@ -476,7 +478,7 @@ }, { "cell_type": "markdown", - "id": "7df314a8", + "id": "0f899367", "metadata": { "editable": true }, @@ -490,7 +492,7 @@ }, { "cell_type": "markdown", - "id": "386fd216", + "id": "72262137", "metadata": { "editable": true }, @@ -501,7 +503,7 @@ }, { "cell_type": "markdown", - "id": "f2a74942", + "id": "d677cee3", "metadata": { "editable": true }, @@ -518,7 +520,7 @@ }, { "cell_type": "markdown", - "id": "b937caa9", + "id": "491d1826", "metadata": { "editable": true }, @@ -528,7 +530,7 @@ }, { "cell_type": "markdown", - "id": "16bf424f", + "id": "27c9e1f8", "metadata": { "editable": true }, @@ -546,7 +548,7 @@ }, { "cell_type": "markdown", - "id": "eb05afa1", + "id": "3623efe3", "metadata": { "editable": true }, @@ -566,7 +568,7 @@ }, { "cell_type": "markdown", - "id": "64298cab", + "id": "7827185a", "metadata": { "editable": true }, @@ -586,7 +588,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "4e16e24c", + "id": "5de618e5", "metadata": { "collapsed": false, "editable": true @@ -606,7 +608,7 @@ }, { "cell_type": "markdown", - "id": "1c5e8234", + "id": "c79a7eb7", "metadata": { "editable": true }, @@ -618,7 +620,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "46246de4", + "id": "3b7355a5", "metadata": { "collapsed": false, "editable": true @@ -678,7 +680,7 @@ }, { "cell_type": "markdown", - "id": "dd2bf668", + "id": "f3aa87b9", "metadata": { "editable": true }, @@ -692,7 +694,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "d31e26f5", + "id": "c419631d", "metadata": { "collapsed": false, "editable": true @@ -737,7 +739,7 @@ }, { "cell_type": "markdown", - "id": "46016886", + "id": "3543eaae", "metadata": { "editable": true }, @@ -748,7 +750,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "75268529", + "id": "67f97a63", "metadata": { "collapsed": false, "editable": true @@ -772,7 +774,7 @@ }, { "cell_type": "markdown", - "id": "6ca44fd9", + "id": "b710d599", "metadata": { "editable": true }, @@ -791,7 +793,7 @@ }, { "cell_type": "markdown", - "id": "9af52232", + "id": "cbd9fa57", "metadata": { "editable": true }, @@ -802,7 +804,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "cd3ed876", + "id": "873b7445", "metadata": { "collapsed": false, "editable": true @@ -858,7 +860,7 @@ }, { "cell_type": "markdown", - "id": "6390393d", + "id": "52ce1d32", "metadata": { "editable": true }, @@ -871,7 +873,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "1daf1d65", + "id": "750ab4b7", "metadata": { "collapsed": false, "editable": true @@ -896,7 +898,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "763eac23", + "id": "2f39a246", "metadata": { "collapsed": false, "editable": true @@ -975,7 +977,7 @@ }, { "cell_type": "markdown", - "id": "dda3478d", + "id": "75192d04", "metadata": { "editable": true }, @@ -1006,7 +1008,7 @@ }, { "cell_type": "markdown", - "id": "9156957e", + "id": "bf4174e0", "metadata": { "editable": true }, @@ -1026,7 +1028,7 @@ }, { "cell_type": "markdown", - "id": "7e2bfa54", + "id": "78f5c155", "metadata": { "editable": true }, @@ -1038,7 +1040,7 @@ }, { "cell_type": "markdown", - "id": "083306a1", + "id": "418b09aa", "metadata": { "editable": true }, @@ -1050,7 +1052,7 @@ }, { "cell_type": "markdown", - "id": "6bc0f290", + "id": "12c6da25", "metadata": { "editable": true }, @@ -1068,7 +1070,7 @@ }, { "cell_type": "markdown", - "id": "a90354f0", + "id": "2d41f7c2", "metadata": { "editable": true }, @@ -1091,7 +1093,7 @@ }, { "cell_type": "markdown", - "id": "17f4991a", + "id": "13c680f0", "metadata": { "editable": true }, @@ -1114,7 +1116,7 @@ }, { "cell_type": "markdown", - "id": "c22991c5", + "id": "4d3ae3e3", "metadata": { "editable": true }, @@ -1125,7 +1127,7 @@ { "cell_type": "code", "execution_count": 9, - "id": "83abab87", + "id": "dd01e61d", "metadata": { "collapsed": false, "editable": true @@ -1224,7 +1226,7 @@ }, { "cell_type": "markdown", - "id": "74897946", + "id": "35db44d0", "metadata": { "editable": true }, @@ -1246,7 +1248,7 @@ }, { "cell_type": "markdown", - "id": "6a18fb3b", + "id": "ceb46c0d", "metadata": { "editable": true }, @@ -1258,7 +1260,7 @@ }, { "cell_type": "markdown", - "id": "7242a810", + "id": "e3782bf7", "metadata": { "editable": true }, @@ -1269,7 +1271,7 @@ }, { "cell_type": "markdown", - "id": "1ba9b025", + "id": "3c751af5", "metadata": { "editable": true }, @@ -1291,7 +1293,7 @@ }, { "cell_type": "markdown", - "id": "cb9884ab", + "id": "6e5d16cf", "metadata": { "editable": true }, @@ -1304,7 +1306,7 @@ }, { "cell_type": "markdown", - "id": "b24453fb", + "id": "acf35d71", "metadata": { "editable": true }, @@ -1316,7 +1318,7 @@ }, { "cell_type": "markdown", - "id": "62bc8a5b", + "id": "4cdee575", "metadata": { "editable": true }, @@ -1326,7 +1328,7 @@ }, { "cell_type": "markdown", - "id": "8dc4ac4f", + "id": "c01fbc5c", "metadata": { "editable": true }, @@ -1338,7 +1340,7 @@ }, { "cell_type": "markdown", - "id": "24eb3ea9", + "id": "2b697044", "metadata": { "editable": true }, @@ -1348,7 +1350,7 @@ }, { "cell_type": "markdown", - "id": "17e61e05", + "id": "98c3a455", "metadata": { "editable": true }, @@ -1360,7 +1362,7 @@ }, { "cell_type": "markdown", - "id": "668ce795", + "id": "ef511b78", "metadata": { "editable": true }, @@ -1393,7 +1395,7 @@ }, { "cell_type": "markdown", - "id": "a9d928b4", + "id": "7571c56d", "metadata": { "editable": true }, @@ -1417,7 +1419,7 @@ }, { "cell_type": "markdown", - "id": "8d90c2e6", + "id": "57cc878c", "metadata": { "editable": true }, @@ -1429,7 +1431,7 @@ }, { "cell_type": "markdown", - "id": "cc06af15", + "id": "0e1eab31", "metadata": { "editable": true }, @@ -1441,7 +1443,7 @@ }, { "cell_type": "markdown", - "id": "112a1059", + "id": "77a00907", "metadata": { "editable": true }, @@ -1469,7 +1471,7 @@ }, { "cell_type": "markdown", - "id": "ffb32e40", + "id": "0d7cf893", "metadata": { "editable": true }, @@ -1495,7 +1497,7 @@ }, { "cell_type": "markdown", - "id": "f2465e94", + "id": "7e5e9420", "metadata": { "editable": true }, @@ -1518,7 +1520,7 @@ }, { "cell_type": "markdown", - "id": "3c21f125", + "id": "cd1a4c32", "metadata": { "editable": true }, @@ -1545,7 +1547,7 @@ }, { "cell_type": "markdown", - "id": "2ae888b1", + "id": "170ef85b", "metadata": { "editable": true }, @@ -1564,7 +1566,7 @@ }, { "cell_type": "markdown", - "id": "9fd7b086", + "id": "b18df219", "metadata": { "editable": true }, @@ -1576,7 +1578,7 @@ }, { "cell_type": "markdown", - "id": "97c64035", + "id": "5d4b7a6f", "metadata": { "editable": true }, @@ -1589,7 +1591,7 @@ }, { "cell_type": "markdown", - "id": "090e1d61", + "id": "90d227bc", "metadata": { "editable": true }, @@ -1601,7 +1603,7 @@ }, { "cell_type": "markdown", - "id": "3ff832f6", + "id": "7b545f04", "metadata": { "editable": true }, @@ -1611,7 +1613,7 @@ }, { "cell_type": "markdown", - "id": "990022cf", + "id": "a2597fd5", "metadata": { "editable": true }, @@ -1623,7 +1625,7 @@ }, { "cell_type": "markdown", - "id": "3d4623fd", + "id": "b3be374c", "metadata": { "editable": true }, @@ -1633,7 +1635,7 @@ }, { "cell_type": "markdown", - "id": "24757786", + "id": "dac9a2be", "metadata": { "editable": true }, @@ -1645,7 +1647,7 @@ }, { "cell_type": "markdown", - "id": "4e7287cb", + "id": "da2f26db", "metadata": { "editable": true }, @@ -1656,7 +1658,7 @@ { "cell_type": "code", "execution_count": 10, - "id": "88365c56", + "id": "7003e2f9", "metadata": { "collapsed": false, "editable": true @@ -1700,7 +1702,7 @@ }, { "cell_type": "markdown", - "id": "33dd69f6", + "id": "dfcf557e", "metadata": { "editable": true }, @@ -1711,7 +1713,7 @@ { "cell_type": "code", "execution_count": 11, - "id": "7249a856", + "id": "ab1e70a6", "metadata": { "collapsed": false, "editable": true @@ -1746,7 +1748,7 @@ }, { "cell_type": "markdown", - "id": "e0abe1c7", + "id": "d4a0d7c3", "metadata": { "editable": true }, @@ -1759,7 +1761,7 @@ { "cell_type": "code", "execution_count": 12, - "id": "cc359cc5", + "id": "0c957be3", "metadata": { "collapsed": false, "editable": true @@ -1777,7 +1779,7 @@ }, { "cell_type": "markdown", - "id": "a44bc504", + "id": "c8031895", "metadata": { "editable": true }, @@ -1791,7 +1793,7 @@ { "cell_type": "code", "execution_count": 13, - "id": "62e9c15a", + "id": "a46d1981", "metadata": { "collapsed": false, "editable": true @@ -1810,7 +1812,7 @@ }, { "cell_type": "markdown", - "id": "8ce93ced", + "id": "4d8b8d1d", "metadata": { "editable": true }, @@ -1830,7 +1832,7 @@ }, { "cell_type": "markdown", - "id": "b6c82254", + "id": "76cbfd96", "metadata": { "editable": true }, @@ -1847,7 +1849,7 @@ }, { "cell_type": "markdown", - "id": "3e4d177d", + "id": "6068974e", "metadata": { "editable": true }, @@ -1859,7 +1861,7 @@ }, { "cell_type": "markdown", - "id": "e5336f8c", + "id": "9293c214", "metadata": { "editable": true }, @@ -1876,7 +1878,7 @@ }, { "cell_type": "markdown", - "id": "03ca4b8e", + "id": "c019ae46", "metadata": { "editable": true }, @@ -1889,7 +1891,7 @@ }, { "cell_type": "markdown", - "id": "6d33c039", + "id": "497c30fb", "metadata": { "editable": true }, @@ -1901,7 +1903,7 @@ }, { "cell_type": "markdown", - "id": "c6c3616a", + "id": "426552e4", "metadata": { "editable": true }, @@ -1911,7 +1913,7 @@ }, { "cell_type": "markdown", - "id": "a2e8af11", + "id": "e7a10d4c", "metadata": { "editable": true }, @@ -1923,7 +1925,7 @@ }, { "cell_type": "markdown", - "id": "86d2d49e", + "id": "744d66d4", "metadata": { "editable": true }, @@ -1933,7 +1935,7 @@ }, { "cell_type": "markdown", - "id": "e49d9197", + "id": "05be4d33", "metadata": { "editable": true }, @@ -1945,7 +1947,7 @@ }, { "cell_type": "markdown", - "id": "9378a65a", + "id": "a9fd0f24", "metadata": { "editable": true }, @@ -1958,7 +1960,7 @@ }, { "cell_type": "markdown", - "id": "3f00b965", + "id": "a7b0a54e", "metadata": { "editable": true }, @@ -2002,7 +2004,7 @@ }, { "cell_type": "markdown", - "id": "a5566bfb", + "id": "1de002aa", "metadata": { "editable": true }, @@ -2013,7 +2015,7 @@ { "cell_type": "code", "execution_count": 14, - "id": "1c389df8", + "id": "6758360a", "metadata": { "collapsed": false, "editable": true @@ -2091,7 +2093,7 @@ }, { "cell_type": "markdown", - "id": "ab939a5d", + "id": "9725f611", "metadata": { "editable": true }, @@ -2109,7 +2111,7 @@ { "cell_type": "code", "execution_count": 15, - "id": "59921d80", + "id": "232885ca", "metadata": { "collapsed": false, "editable": true @@ -2180,7 +2182,7 @@ }, { "cell_type": "markdown", - "id": "c6ad883e", + "id": "7a66f55a", "metadata": { "editable": true }, @@ -2219,7 +2221,7 @@ }, { "cell_type": "markdown", - "id": "a7174bbd", + "id": "20188c4c", "metadata": { "editable": true }, @@ -2230,7 +2232,7 @@ { "cell_type": "code", "execution_count": 16, - "id": "9599792d", + "id": "6b4220bb", "metadata": { "collapsed": false, "editable": true @@ -2282,7 +2284,7 @@ }, { "cell_type": "markdown", - "id": "c00f0315", + "id": "9b39d01a", "metadata": { "editable": true }, @@ -2293,7 +2295,7 @@ { "cell_type": "code", "execution_count": 17, - "id": "86aaa97e", + "id": "784bc795", "metadata": { "collapsed": false, "editable": true @@ -2368,7 +2370,7 @@ }, { "cell_type": "markdown", - "id": "8f3514ec", + "id": "719697cc", "metadata": { "editable": true }, @@ -2379,7 +2381,7 @@ { "cell_type": "code", "execution_count": 18, - "id": "5bbb8478", + "id": "ee8e42a7", "metadata": { "collapsed": false, "editable": true @@ -2410,7 +2412,7 @@ }, { "cell_type": "markdown", - "id": "4ecb54ea", + "id": "c26d0fc5", "metadata": { "editable": true }, @@ -2421,7 +2423,7 @@ { "cell_type": "code", "execution_count": 19, - "id": "cbb4f044", + "id": "2a652ce9", "metadata": { "collapsed": false, "editable": true @@ -2439,7 +2441,7 @@ { "cell_type": "code", "execution_count": 20, - "id": "555d5a46", + "id": "491bdf14", "metadata": { "collapsed": false, "editable": true @@ -2454,7 +2456,7 @@ }, { "cell_type": "markdown", - "id": "86a612b0", + "id": "c634614c", "metadata": { "editable": true }, @@ -2465,7 +2467,7 @@ { "cell_type": "code", "execution_count": 21, - "id": "99eac6ff", + "id": "d1055271", "metadata": { "collapsed": false, "editable": true @@ -2515,7 +2517,7 @@ { "cell_type": "code", "execution_count": 22, - "id": "c7c8bcef", + "id": "fb0812e2", "metadata": { "collapsed": false, "editable": true @@ -2554,7 +2556,7 @@ }, { "cell_type": "markdown", - "id": "1c8da509", + "id": "775cefe3", "metadata": { "editable": true }, @@ -2578,7 +2580,7 @@ }, { "cell_type": "markdown", - "id": "83343b1d", + "id": "553d4dc2", "metadata": { "editable": true }, @@ -2606,7 +2608,7 @@ }, { "cell_type": "markdown", - "id": "9215fea9", + "id": "8197a4ef", "metadata": { "editable": true }, @@ -2637,7 +2639,7 @@ }, { "cell_type": "markdown", - "id": "42ea4481", + "id": "925499f2", "metadata": { "editable": true }, @@ -2653,7 +2655,7 @@ }, { "cell_type": "markdown", - "id": "755ba7d5", + "id": "f18a5042", "metadata": { "editable": true }, @@ -2675,7 +2677,7 @@ }, { "cell_type": "markdown", - "id": "5c830963", + "id": "c8070159", "metadata": { "editable": true }, @@ -2707,7 +2709,7 @@ }, { "cell_type": "markdown", - "id": "f71a5e47", + "id": "d4962932", "metadata": { "editable": true }, @@ -2718,7 +2720,7 @@ { "cell_type": "code", "execution_count": 23, - "id": "75ddd94b", + "id": "64e27bb1", "metadata": { "collapsed": false, "editable": true @@ -2742,7 +2744,7 @@ }, { "cell_type": "markdown", - "id": "d06f6a72", + "id": "5535722e", "metadata": { "editable": true }, @@ -2753,7 +2755,7 @@ { "cell_type": "code", "execution_count": 24, - "id": "c9d3a668", + "id": "15a99bf1", "metadata": { "collapsed": false, "editable": true @@ -2807,7 +2809,7 @@ }, { "cell_type": "markdown", - "id": "8cf94cb2", + "id": "938f1a61", "metadata": { "editable": true }, @@ -2818,7 +2820,7 @@ { "cell_type": "code", "execution_count": 25, - "id": "1809b229", + "id": "a6ad0456", "metadata": { "collapsed": false, "editable": true @@ -2848,7 +2850,7 @@ { "cell_type": "code", "execution_count": 26, - "id": "7f5e214a", + "id": "48f287a6", "metadata": { "collapsed": false, "editable": true @@ -2866,7 +2868,7 @@ { "cell_type": "code", "execution_count": 27, - "id": "95fedf11", + "id": "851c005f", "metadata": { "collapsed": false, "editable": true @@ -2886,7 +2888,7 @@ { "cell_type": "code", "execution_count": 28, - "id": "130babf8", + "id": "ded76ff8", "metadata": { "collapsed": false, "editable": true @@ -2903,7 +2905,7 @@ }, { "cell_type": "markdown", - "id": "d68b7f11", + "id": "0d74061b", "metadata": { "editable": true }, @@ -2914,7 +2916,7 @@ { "cell_type": "code", "execution_count": 29, - "id": "b878ae27", + "id": "b4f5a4e0", "metadata": { "collapsed": false, "editable": true @@ -2934,7 +2936,7 @@ { "cell_type": "code", "execution_count": 30, - "id": "e3c16470", + "id": "7c41c9f4", "metadata": { "collapsed": false, "editable": true @@ -2948,7 +2950,7 @@ { "cell_type": "code", "execution_count": 31, - "id": "87aac131", + "id": "018bd4b9", "metadata": { "collapsed": false, "editable": true @@ -2964,7 +2966,7 @@ { "cell_type": "code", "execution_count": 32, - "id": "6d9bc320", + "id": "0c4af315", "metadata": { "collapsed": false, "editable": true @@ -3002,7 +3004,7 @@ }, { "cell_type": "markdown", - "id": "abdc745b", + "id": "c1f236bb", "metadata": { "editable": true }, @@ -3016,7 +3018,7 @@ { "cell_type": "code", "execution_count": 33, - "id": "b010bbb5", + "id": "b57ceb18", "metadata": { "collapsed": false, "editable": true diff --git a/doc/src/week44/week44.do.txt b/doc/src/week44/week44.do.txt index 1401efb72..a394cee3d 100644 --- a/doc/src/week44/week44.do.txt +++ b/doc/src/week44/week44.do.txt @@ -7,6 +7,7 @@ DATE: today ===== Overview of week 44 ===== * Thursday: Wrapping up PCA from last week, Clustering and basics of decision trees, classification and regression algorithms + * "Video of Lecture":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember4.mp4?vrtx=view-as-webpage" * Friday: Decision trees, voting models and bagging !bblock Videos