{ "cells": [ { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "## Learning Objectives\n", "\n", "Today we learn about the second most important tradeoff: the bias variance tradeoff." ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "## Another way to look at it\n", "\n", "Some might say that this class is redundant, we are simply going to rephrase the results that we got last class. That being said we are going to do this for two reasons:\n", "\n", "1. This is the common way of looking at the approximation generalization tradeoff, even though in my opinion it should be the other way around\n", "2. The more ways that you can independently verify your conclusion (a classic probablist/data science way of thinking) the stronger you should feel about it\n", "\n", "So let's begin in the same way that we did last time, let's make a sine wave:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import seaborn as sns\n", "\n", "X = np.random.uniform(-1, 1, size=1000)\n", "y = np.sin(np.pi * X)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/nate/Desktop/core-data-science/env/lib/python2.7/site-packages/matplotlib/font_manager.py:280: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.\n", " 'Matplotlib is building the font cache using fc-list. '\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nCs/UUnimloqaRqrrWzhVZvvGbX28rAT6eTI8IZCoCH8GRPgT2z+IpOhgl1wg5+9c5bnrKM3n2jRf\n7+e9XvgAAAm4SURBVHXJYl+wYAELFiz4Xnfq7++PzfaPX/A2m42AgIDzl3t7e2Oz2QgMvPinrqvc\nfFey8PAAysou/seNswrytjAyLoSRcSEXXN7Wbqe93YEDB2FhAVRV2s6/gv+62mrXfX5d+bm7HJrP\ntWk+19bZP1q65WPGI0aMICsri+bmZurq6sjLyyMpKYnU1FQyMjIAyMzMZPTo0d3x8GIgq8WMl6cF\nb08rPl7W7yx1ERHpHl16DtMrr7xCdHQ006dPZ9myZSxduhSHw8FDDz2El5cX999/P48++iirV68m\nODj4Wz9NLyIiIh1ncjgcjkt/mTHc+VAL9I7DSe46nzvPBprP1Wk+1+aUh+JFRETEGCp2ERERN6Ji\nFxERcSMqdhERETeiYhcREXEjKnYRERE3omIXERFxIyp2ERERN6JiFxERcSNOvfKciIiIfD96xS4i\nIuJGVOwiIiJuRMUuIiLiRlTsIiIibkTFLiIi4kZU7CIiIm7EanQAd9fU1MQjjzxCRUUFfn5+PP30\n04SEhJy/PjMzk5deegkAh+P/b+9+Y2p+/ziOP9M5hcQojTtRhqnWSmbNhplamM1o/TmL5O8hLRMt\ny5/MORjTnVL+5d/cIbrhb8sNYiOmDlpNWCrcIKH/nE6d63uj9VlJ5xx+1PmdXY9b9f58ru16dX2u\nz3XO9flsCcrKyrh58yZGoxGtVsvkyZMB0Gg0LFmyZCgiWGQtH8DmzZv59u0barUaV1dX8vLyqKur\nY+fOnTg5OTF16lQyMjIYNsy+Pmfaku3w4cMYDAY6OzuJiYkhOjqaxsZGIiIimDZtGgBhYWGsXr16\nKCL8ktlsZt++fbx69QoXFxf0ej2TJk1Sjufn53Pp0iVUKhWbN29mwYIFfP36lR07dvDjxw+8vLw4\ndOgQI0aMGMIUA7OW7/z589y6dQuA+fPnk5SUhBCCefPmKfMtKCiI7du3D0X3rbKWT6/XYzAYcHNz\nAyA3NxeTyeQQ4/fy5UsOHjyonPv8+XNycnIIDAy06zn3sxcvXnD06FEuXrzYp3737l1ycnJQqVRE\nRkYSHR1t032oHyH9U2fPnhVZWVlCCCFu3rwpdDrdgOeePn1aZGZmCiGEyM/PF2fOnBmUPv4vbMm3\n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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.tsplot(y, X)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Wonderful right. This will be the population distribution. Again we are going to be naughty and skip the splitting of training and test and we are just going to get some training data. \n", "\n", "Again we are going to be testing our two hypotheses below:\n", "\n", "1. f(X) = w_0 = y\n", "2. f(X) = w_0 + w_1 * x_1 = y\n", "\n", "But we are going to be looking at different quantities this time, we are going to be looking at the bias and the variance. So let's start off by defining them:\n", "\n", "* Bias: the error of the best hypothesis in your hypothesis set\n", "* Variance: the average error between a hypothesis generated on test data points and the best hypothesis\n", "\n", "Then if you add the bias to the variance you will get a measure of what your test error will be. Take the best and then look to see on average how far are you from the best.\n", "\n", "*Note: these definitions are contextual*" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Bias\n", "\n", "You might notice some strange things about the bias. First it requires us to know the best hypothesis in our set. This is often impossible because we don't know the true distribution. But the second thing is that the bias does not depend on the number data, it only depends on the size of the hypothesis set. Thus once we know the hypothesis set, we know what our bias is.\n", "\n", "Fortunately for us I know what the bias is for this data set and for both our hypotheses, but let's show you how you could approximate it.\n", "\n", "Once again, it is as easy as training a model on as much data as we can provide it (around 10k will be more than enough). Let's go ahead:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "from sklearn.linear_model import LinearRegression\n", "from sklearn.preprocessing import add_dummy_feature\n", "from sklearn.metrics import mean_squared_error\n", "\n", "bias0 = 0\n", "bias1 = 0\n", "\n", "X = np.random.uniform(-1, 1, size=10000)\n", "y = np.sin(np.pi * X)" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.504649692562\n", "0.196324511153\n" ] } ], "source": [ "best_h0 = LinearRegression(fit_intercept=False)\n", "best_h1 = LinearRegression(fit_intercept=False)\n", "\n", "# this hypothesis ignores the X variable\n", "best_h0.fit(np.ones((10000, 1)), y)\n", "# this hypothesis can use the X variable as well as an intercept\n", "best_h1.fit(add_dummy_feature(X[:, None]), y)\n", "\n", "# now we score both hypotheses on the traning data\n", "preds = reg0.predict(np.ones((10000, 1)))\n", "bias0 = mean_squared_error(preds, y)\n", "preds = reg1.predict(add_dummy_feature(X[:, None]))\n", "bias1 = mean_squared_error(preds, y)\n", "\n", "print bias0\n", "print bias1" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "In truth these numbers should be .5 and .21. So the more complex hypothesis has a lower bias. This will hold true universally.\n", "\n", "And just for fun, what do you think these lines look like?\n", "\n", "Well the first will be a straight line through 0:" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "array([ 0.01104962])" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "best_h0.coef_" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfcAAAFJCAYAAACGtWQiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8VOXd///XLJnsCVkhBLJCWAIIiewQUERQURBECIJa\nrbW22s1au1jrt+V2u3/tfbfexd6Wu1ZRMERUUARkD/sS1oQlIXtYsq+TZDLL+f0RjATClkxyZiaf\n5+PBA2bO9r5mmPOZc+ac69IoiqIghBBCCJehVTuAEEIIIexLirsQQgjhYqS4CyGEEC5GirsQQgjh\nYqS4CyGEEC5GirsQQgjhYvRqB7gRi8VKVVWD2jG6TECAl7TPiUn7nJsrt8+V2wau376QEN9Or8Oh\nj9z1ep3aEbqUtM+5Sfucmyu3z5XbBq7fPntw6OIuhBBCiNsnxV0IIYRwMVLchRBCCBcjxV0IIYRw\nMVLchRBCCBcjxV0IIYRwMVLchRBCCBcjxV0IIYRwMZ0q7sePH2fJkiXXPL9t2zbmzZvHggULWL16\nNQBNTU288MILLFq0iGeeeYbKysrObFoIIYQQ19Hh4v7Pf/6TV155BZPJ1OZ5s9nMG2+8wb/+9S9W\nrFhBSkoK5eXlrFq1iri4OFauXMmcOXNYtmxZp8MLIYQQ4lod7ls+IiKCd955h1/96ldtns/JySEi\nIgJ/f38AEhMTOXToEOnp6Xz/+98HICkpSYq7EEJ0ksVqo7rORFW9iao6E8ZGM80WG15e7pibzRj0\nOtwNOgJ83Any98Dfx4BWo1E7tugGHS7uM2bMoLi4+Jrn6+vr8fX9rtN7b29v6uvr2zzv7e1NXV3d\nLW3HHh3oOzJpn3OT9jk3Z2qfoigUXqojI7eCnOJqzhVXU3CpDptNueV1GNx0xIb7MygyoOVPRCAh\nAZ5dmLrrONN7pwa7jwrn4+OD0WhsfWw0GvH19W3zvNFoxM/P75bWV1Z2a18CnFFIiK+0z4lJ+5yb\nM7TPZlM4W1TNgVMlHM8pp6a+uXWaQa8lqo8voQGeBPi6E+Djjq+XAYNeS69eXpRV1NNsttHYbKGq\n1kR5bROXKho4U1DJ6fzvrnnqG+zNHQOCSIwLJTrMF40THNk7w3vXGfb44mL34h4bG0tBQQHV1dV4\neXlx+PBhnn76aS5cuMDOnTsZMWIEaWlpJCYm2nvTQgjhEi5VNrDj6HkOni6h+nJB9/VyY1x8b4ZE\nBBDd14+wIC902vYvm7pR8WtqtlBwqY7cC7VkFVVzuqCKDfsL2bC/kLAgLyYND2PCsD74+7h3WftE\n17Nbcf/yyy9paGhgwYIF/PrXv+bpp59GURTmzZtH7969SU5O5uWXXyY5ORk3Nzf+/Oc/22vTQgjh\n9BRF4UxhNd8cLOR4TgUAXu56ku7oy9ihvRnUvxdabeePqj0MegZFBDAoIoD7xkViMls5lV/JgVMl\nHMkqJ3VHDp/vymV8fB9mjImgb7B3p7cpup9GUZRb/8FGBa5+6kXa57ykfc7NUdqnKAqZeZV8lpZL\n/qWWPLHhfky/sz+jBobgpr/9m5o62jZjk5n9mSVsOVxESVUjAKMGBjM3KYbwEJ/bXl9XcZT3rqs4\n5Gl5IYQQtybvYi0p286RVVQNQOKgEGaOiSA23F+VPN4ebkxL7Mddo8I5ml3OxgMFHM0u59i5ciaP\nCGP2pBgCfOV0vTOQ4i6EEN2srqGZNTtz2HX8IgpwR2wQDyfFENHbMa4A12o1JA4KISEumOM5FaRu\nP0fa8Yvszyxh5tgIHhgfiZtep3ZMcQNS3IUQopsoisKuExdJ3X4OY5OF8BBvFk+PY1BEgNrR2qXR\naBg5IJjhMYHsOXmJz3flsm5PPgdPl/LkfYOJ699L7YjiOqS4CyFEN6iqM/HvDWc4mVuBh0HHwmkD\nuTshHL3O8Yf40Gm1JN3Rl9GDQ/ksLZdt6cW8+fERpo4KZ8FdA3A3yFG8o5HiLoQQXWz/qUt8tCmL\nBpOF+OhAvnffYAL9PNSOdds83fU8Nj2OcUN78++NZ9hx9DynC6p49qGhRPW5tb5LRPdw/K+MQgjh\npJrNVv694QzvrTuF1aawZMYgfvHoHU5Z2K8UG+7Pq0+M5t7R/SmpbOA/Pkxnw4ECbI5981WPIkfu\nQgjRBUqqGnj38wwKS+uJCPXhuTnD6B3opXYsu3HTa1k4bSDDYgL5v69Ok7o9h5zztTz9wBA83aW0\nqE3eASGEsLMTORX877oMGk1WpozsS/K0gRjcXPN36WHRQfy/p8bw7hcZHMkq42KFkRfmjaCPC32R\ncUZyWl4IIexEURS2HC7ir58ex2JVeGbWUJ6YOdhlC/u3/LwNvLhwJPfc2Y+LFQ386YNDnMgpVztW\njybFXQgh7MBitfHRN1ms3JKNr5eBlxclMH5YH7VjdRu9Tsuie+L4/qwhWKwKf/30BDuOnVc7Vo8l\np+WFEKKTTM1W/v7FSTJyK+kX4sNPHxlBkL9zXzTXUROGhdE70Iu/pp7gw41nqaw18fDkaKcYbc6V\nyJG7EEJ0grHJzJ9TjpGRW8nwmCB+szihxxb2b8X29ed3SxIJ7eXJV3vz+dfXp7FYbWrH6lGkuAsh\nRAfV1Jt46+OjnDtfw9ihvXlh3nC5Uvyy3oFe/HZJItFhvuw5eYlln2dgtkiB7y5S3IUQogPKqxt5\n4+MjFJfVc9eocJ55cKhT9DbXnfy8DfwqOYGhUQEcO1fO/3x2kmazVe1YPYL8TxRCiNtUXtPIWyuP\nUFrVyKwJkSy+Nw6t/KbcLneDjp8+MoLhMUGczK3gr5+ewNQsBb6rSXEXQojbUFnbxNsrj1JRa+Lh\npBjmJsXKxWI34abX8fzc4YwaGMzpgir+K/U4JjmC71JS3IUQ4hZV1Zl4e9VRymuaeGhiFA9OiFI7\nktNw02t5bs4w7hwUQlZRNf/z2Un5Db4LSXEXQohbUFNv4j9XHaW0qpEHxkcye1K02pGcjl6n5QcP\nxTMiNojMvEr+d10mVpsU+K4gxV0IIW6i0WThv1Yf51JlAzPHRDA3KUZOxXeQXqflR3OGMTiiF0ey\nyvjX+tMy4EwXkOIuhBA3YLbY+J/PTlJYWs+UkX2Zf5f8xt5ZBjcdP3lkBLF9/diXWcLKzVkoUuDt\nSoq7EEJch01RWP7VKU4XVDFqYDBL7h0khd1OPAx6fvboHfQL8WbbkfNsOlikdiSXIsVdCCHaoSgK\nq7Zkc+hMKXH9/Hn2oXi0Wins9uTt4cbP5t9BgK87q7ef4+DpErUjuQwp7kII0Y5NB4vYml5MeIg3\nP3lkhMuP7KaWQD8Pfjb/DjwMOpZ/dYqsomq1I7kEKe5CCHGVo9llpG4/Ry8fA794dCReHm5qR3Jp\n/UN9+PHDw1EUeGfNCS5WGNWO5PSkuAshxBUKS+p4b90p3Ny0/PSRllPGouvFRwfyxMzBGJta7kyo\nbWhWO5JTk+IuhBCXVdeb+NuaE5jMVp6ZFU9kH1+1I/Uok0aE8dDEKMprmvjHFxkyklwndHj4IpvN\nxmuvvcbZs2cxGAwsXbqUyMhIAE6fPs3rr7/eOu+xY8f4+9//zogRI5gxYwZxcXEA3HPPPTzxxBOd\nbIIQQnSe2WLlnTUnqaw1MW9KDImDQtSO1CM9NCma82VG0rPKSNl6jsfujVM7klPqcHHfsmULzc3N\npKSkcOzYMd58803effddAIYMGcKKFSsA2LBhA6GhoSQlJbF3715mzZrF73//e/ukF0IIO1AUhRXf\nZJF3sZYJw/pw/7hItSP1WFqNhqdnDeHSiga2Himmf28fku7oq3Ysp9Ph0/Lp6elMnjwZgJEjR5KR\nkXHNPA0NDbzzzjv87ne/AyAjI4PMzEwWL17MT37yE0pLSzu6eSGEsJudxy+w+8RFIvv48sRMuZdd\nbR4GPS/MG4G3h54Vm85yrrhG7UhOp8NH7vX19fj4+LQ+1ul0WCwW9PrvVvnpp58yc+ZMAgMDAYiJ\niWHYsGFMmDCBdevWsXTpUv72t7/dcDshIa79m5e0z7lJ+5xbSIgvWYVVrNycja+XgVefHkdooJfa\nsezC2d+7kBBffvPEGF795z6Wrc3gv38+hSB/zzbTxfV1uLj7+PhgNH53u4LNZmtT2AG+/PLLNsV7\n3LhxeHq2vDnTp0+/aWEHKCur62hEhxcS4ivtc2LSPucWEuJLTn4FS/99CKvNxg8eHIrGanWJNrvK\ne9c3wINHp8byybZzvP7+QV5KHolOq3WZ9l2PPb64dPi0fEJCAmlpaUDLBXPfXiT3rbq6OpqbmwkL\nC2t97pVXXmHTpk0A7Nu3j/j4+I5uXgghOsVqtfGPtRlU1ZmYmxRDfHSg2pFEO6aP7k/i5WFiP0vL\nVTuO0+jwkfv06dPZs2cPCxcuRFEUXn/9dd5//30iIiKYNm0aeXl5hIeHt1nmxRdf5Le//S2rVq3C\n09OTpUuXdroBQgjRER9tPMOZwmpGDQyWC+gcmEaj4Xv3DaGotJ4N+wsZ2K8X0+WU/E1pFAcfisfV\nT71I+5yXtM95ZeRV8JeU44T28uTVJ0fj5dHh4xyH5IrvXWFJHUs/TMfdTctfX7wLrdWqdqQuo+pp\neSGEcEY19SaWf3kKvU7DD+fEu1xhd1URvX1ZfG8cxiYLb314CLNFOri5ESnuQogew6Yo/POrU9Q2\nmHlyVjxRffzUjiRuw+QRYUwY1ofsomo+l9/fb0iKuxCix9iwv4BT+VWMiA3iockxascRt0mj0bD4\n3jj6Bnuz8WAhmfmVakdyWFLchRA9wrnzNXyelkcvHwNPPTBEOqpxUh4GPS8+lohOq+H/vjpFfaNZ\n7UgOSYq7EMLlNTSZ+d+1mSiKwg8ejMfPy6B2JNEJcREBzJkcTXV9M//ecAYHvy5cFVLchRAu76Nv\nsqiobWLWhCgGRwaoHUfYwX1jI4nr34sjWWXsOnFR7TgOR4q7EMKlHThVwv5TJcT09eOhSVFqxxF2\notVqeGbWUDzd9azckkVJZYPakRyKFHchhMuqqjOxYtNZDG5anpk1FJ1WdnmuJMjfgydmDqLZbOO9\nLzNl/PcryP90IYRLsikK/1p/igaThYV3D6S3iwwII9oaM6Q3E4b1Ie9iHev25Kkdx2FIcRdCuKRt\n6cVkXr7tbcpIGQ/clT02PY5gfw/W7y3g3HkZHhakuAshXFBJZQOf7sjBx9ON7903WG57c3Ge7nq+\nP2soAP9af5pms+t2TXurpLgLIVyKTVH419enabbYWHxvHP4+7mpHEt0grn8vpiX241JlA2t3y+l5\nKe5CCJeyNb2Y7OIaEuNCGD04VO04ohvNmxJLSC8PNh4sJOdCzz49L8VdCOEySqsaWLMzB28PPYtn\nDJLT8T2Mu0HHU/cPQVFaTs+bLT339LwUdyGES7ApCu9/fYZms43Hpsfh7y290PVEgyICmJbYj4sV\nDazdna92HNVIcRdCuIQdR89ztqiaUQODGTu0t9pxhIoeuXx6fsOBAvIu1qodRxVS3IUQTq+supHU\n7S2n45fI6fgez92g43v3tZye/7/1p3vk2O9S3IUQTk1RFD7YeAaT2UryPQPpJVfHC2BwZAB3J4Rz\nodzIl3t73tXzUtyFEE5tX+YlTuVXMTwmiPHxfdSOIxzII1NjCfJzZ8P+Qs6X1asdp1tJcRdCOK26\nhmY+2XoOg5uWJffGyel40YaHQc9j9w7CalP4YNNZbD1oaFgp7kIIp7V6+znqG83MmRRDcC9PteMI\nBzRyQDB3DgrhXHENaccvqB2n20hxF0I4pdMFVew5eYmI3j5MH91P7TjCgSXfE4enu45Pt+dQU29S\nO063kOIuhHA6ZouVDzeeQaOBJ2YOlqFcxQ0F+Lozb0osDSYLq7Zmqx2nW8gnQgjhdL7aW0BJVSPT\nEvsRHeandhzhBKaODCemrx8HT5dyMrdC7ThdToq7EMKpnC838vX+AgJ83Xl4cozacYST0Go1PDFz\nMFqNhhWbzmJy8ZHjpLgLIZyGTVFYsfEMVpvC4nvj8HTXqx1JOJH+oT7MGNOf8pom1u1x7XvfO/zJ\nsNlsvPbaa5w9exaDwcDSpUuJjIxsnb506VKOHDmCt7c3AMuWLcNsNvPLX/6SpqYmQkNDeeONN/D0\nlCtchRC3Zl/GJbKKa0iIC2HUwBC14wgn9NCkaA6dKWXTgSLGDe1D/1AftSN1iQ4fuW/ZsoXm5mZS\nUlJ48cUXefPNN9tMz8zMZPny5axYsYIVK1bg6+vLsmXLmDVrFitXrmTo0KGkpKR0ugFCiJ6hocnM\n6u0t97Qvumeg2nGEk3J307FkxqCWs0AufO97h4t7eno6kydPBmDkyJFkZGS0TrPZbBQUFPDqq6+y\ncOFCPv3002uWSUpKYu/evZ3JLoToQT7flUddg5kHJ0QR6OehdhzhxIbHBJE4KIRz52vYl3FJ7Thd\nosOn5evr6/Hx+e50hk6nw2KxoNfraWhoYPHixXzve9/DarXy+OOPM2zYMOrr6/H19QXA29uburq6\nm24nJMS3oxGdgrTPuUn7ukfu+Rq2HykmPMSbx+6Px01vn8uFHKV9XcGV2wadb9+P5o/kR29vY83O\nXO4ZH42Pp5udkjmGDhd3Hx8fjEZj62ObzYZe37I6T09PHn/88dbf08eNG8eZM2dal/Hw8MBoNOLn\nd/NbWMrKbv4FwFmFhPhK+5yYtK972BSFd1YfxabAgrsHUF1lvPlCt8BR2tcVXLltYJ/2aYAHxkXy\nWVou//f5CRZNj7NPODuwxxezDn/9TUhIIC0tDYBjx44RF/fdC5Ofn09ycjJWqxWz2cyRI0eIj48n\nISGBnTt3ApCWlkZiYmIn4wshXN2+jEucK64hcVAIw6KD1I4jXMiMMRGEBniy9UgxRaWuNbBMh4v7\n9OnTMRgMLFy4kDfeeIPf/OY3vP/++2zdupXY2Fhmz57No48+ypIlS5g9ezYDBw7kueeeY/369Sxc\nuJCjR4+yePFie7ZFCOFiGprMpF6+iG7h3XIRnbAvN72WRffEoSjw0TdnUVzo4jqN4uCtkVNLzkva\n59wcoX0rN2exJb2YeVNieGB8lF3X7Qjt6yqu3Dawf/veWXOCo9nlPDNrKOOHqT9ssKqn5YUQoisV\nltSx9UgxvQM8uXd0hNpxhAtLnjYQN72W1dvP0WiyqB3HLqS4CyEcjqIofLw5C0WBx6bH2e3qeCHa\nE9zLkwfGRVJjbGbtbtfouU4+MUIIh3PgdAnZl3uiGxYjF9GJrnffuAhCenmwNb2YixX2uSNDTVLc\nhRAOxWS2kro9B71Oy4K7B6gdR/QQbnodC+4eiNWm8MnWc2rH6TQp7kIIh7LpQCFVdSZmjOlPSC8Z\ne0J0n1EDgxkSGcDJ3ApO5Dj3sLBS3IUQDqOytomvDxTg723g/nGRN19ACDvSaDQkTxuIRgMp27Kx\nWG1qR+owKe5CCIfx6c4cms025k6JkeFchSr6hfowZWQ4Fysa2H70vNpxOkyKuxDCIeScr2F/ZgmR\nvX2ZODxM7TiiB5szORpPdz3rdudR32hWO06HSHEXQqjOpiis2poNQPI9A9FqNConEj2Zn5eB2ROj\nMDZZ+GJXrtpxOkSKuxBCdQcyS8i9UMvowaHE9e+ldhwhuDuxH70Dvdhx9ALny5yv33kp7kIIVZma\nrXy6s+XWt/l3xaodRwgA9DotC+8egE1R+GRrttP1Oy/FXQihqg0HCqiqMzFzbH+C/eXWN+E4RsQG\nMSw6kMz8Ko472a1xUtyFEKqpqGliw4FC/H3k1jfheDQaDQumtVwDkrLVuW6Nk+IuhFDNpztzMFts\nPDIlFg+D3PomHE94sDd3jQqnpKqRHU50a5wUdyGEKnIv1HLgVAlRfXwdYphNIa7noUlReLrrWLcn\nn4Ym57g1Toq7EKLbKYrC6m0tt74tuHuA3PomHJqvl4EHxkdR32hm/f4CtePcEinuQohudyy7nKzi\nGkYOCGZQRIDacYS4qXsS+xHo587mQ8WU1zSqHeempLgLIbqVxWojdUcOWo2GR6bKrW/CORjcdMxL\nisVitfFZmuN3bCPFXQjRrXaduMilygaS7gijb7C32nGEuGVj43sT2duX/Zkl5F+qVTvODUlxF0J0\nm0aThbW7cnF30zF7UrTacYS4LVqNhkcvd7S0ets5h+7YRoq7EKLbbDxQSG2DmfvGRuDv4652HCFu\n25CoQEbEBnGmsNqhO7aR4i6E6BZVdSY2HSrE39vAvWP6qx1HiA6bf9cANBpI3X4Oq80xO7aR4i6E\n6BZf7Mql2WxjzuRo6bBGOLXwYG+S7ujLxYoGdh2/qHacdklxF0J0ueKyenafvEjfYG8mjZCx2oXz\nmzMpGnc3HV/syqXRZFE7zjWkuAshulzq9hwUBeZPjUWnld2OcH7+Pu7cNzaC2gYzGw4Uqh3nGvIp\nE0J0qVP5lZzMrWBwRC9GxAapHUcIu5kxJgJ/HwPfHCykqs6kdpw2OvTDl81m47XXXuPs2bMYDAaW\nLl1KZOR3Izr9+9//Zv369QBMmTKF559/HkVRSEpKIioqCoCRI0fy4osvdr4FQgiHZVMUVm8/B8Cj\ndw9AI93MChfibtDx8OQY/r3hDJ/vyuWp+4eoHalVh4r7li1baG5uJiUlhWPHjvHmm2/y7rvvAlBU\nVMS6detITU1Fq9WSnJzMPffcg6enJ/Hx8fzjH/+wawOEEI5rf+YlCkvqGRffm6g+fmrHEcLuJg0P\n45tDRew5eZEZYyIId5COmTp0Wj49PZ3JkycDLUfgGRkZrdP69OnD8uXL0el0aDQaLBYL7u7uZGZm\nUlJSwpIlS3jmmWfIzXX87vuEEB1ntlj5LC0XvU7L3KQYteMI0SW0Wg3zkmJQFPhsZ47acVp16Mi9\nvr4eHx+f1sc6nQ6LxYJer8fNzY3AwEAUReHtt99m6NChREdHU15ezg9+8APuu+8+Dh8+zEsvvcSa\nNWtuuq2QEN+ORHQa0j7nJu27vi925lBZa2LOlFiGDAi1Yyr7ceX3z5XbBo7VvunBPmw5cp6j2eVU\nGM0MjgpUO1LHiruPjw9Go7H1sc1mQ6//blUmk4nf/va3eHt784c//AGAYcOGodPpALjzzjspLS1F\nUZSb/gZXVlbXkYhOISTEV9rnxKR919dospCy+Sye7jruHtnXIV8nV37/XLlt4Jjtmz0xitP5lfzz\ni5O8vGhUp64vsccXlw6dlk9ISCAtLQ2AY8eOERcX1zpNURR+9KMfMWjQIP74xz+2FvT/+Z//4YMP\nPgDgzJkzhIWFycU1Qriobw4VUd9oZsaYCHw83dSOI0SXi+vfiztig8gqquZkrvrd0nboyH369Ons\n2bOHhQsXoigKr7/+Ou+//z4RERHYbDYOHjxIc3Mzu3btAuAXv/gFP/jBD3jppZfYuXMnOp2ON954\nw64NEUI4htqGZjYeLMTXy43pd0o3s6LnmDcllhM5FXy6I5dhMUFoVTyA7VBx12q1/PGPf2zzXGzs\nd+Mynzx5st3l3nvvvY5sTgjhRL7eV4Cp2crcyTF4uks3s6Ln6Bfqw/hhfdibcYkDmSWMH9ZHtSzS\niY0Qwm4qa5vYduQ8QX7uTB0VrnYcIbrdnMnR6HUaPt+Vi9mi3qAyUtyFEHazdnceFquN2ZNicNPL\n7kX0PMH+ntw1qh/lNU3sOHZetRzy6RNC2MXFCiO7T14kLMiLCSqejhRCbbMmROJh0PHV3nzVBpWR\n4i6EsIvPd+WhKDA3KQatVu6EET2Xr5eBmWMjqGsws+mgOoPKSHEXQnRawaU6Dp8pJTrMl4S4ELXj\nCKG6e0f3x8/bwKaDRdQYm7t9+1LchRCdtuZyt5tzp8RK/xVCAB4GPQ9OiMJktvLVnvxu374UdyFE\np5wpqCIjr5IhkQHEO0C3m0I4iikj+xLSy4Mdx85TWt3YrduW4i6E6DBFUa44apfBYYS4kl6n5eGk\nGKw2hS/SunewNCnuQogOO3aunJwLtYwaGExsX3+14wjhcMYM6U1Ebx/2nyqhsKT7+sOX4i6E6BCb\nTeGztFw0GmRIVyGuQ6vR8MjUlh5c1+zsvqN3Ke5CiA45cKqE82VGJsT3ITzE5+YLCNFDxUcFMjii\nFydzK8gqqu6WbUpxF0LcNovVxue7ctFpNcyeFK12HCEcmkajYe6Ub4/ec1AUpcu3KcVdCHHb0o5f\noLymiamjwgnu5al2HCEc3oBwf0YOCCa7uIaTuZVdvj0p7kKI22JqtvLlnnzc3XTMmhCldhwhnMbD\nSTFogM925mDr4qN3Ke5CiNuyJb2lx63po/vh721QO44QTqN/qA9jh/amsLSew2dKu3RbUtyFELfM\n2GRmw/5CvD30zBwToXYcIZzO7MnR6LQaPt+Vh9XWdUPCSnEXQtyyjQcKaTBZuH9cJF4ebmrHEcLp\n9A7wYvKIMEoqG9hz8lKXbUeKuxDillTXm9h8qIhePgbuTuyndhwhnNaDE6Nx02tZuzsPs8XaJduQ\n4i6EuCVf7s2n2WLjoYnRuLvp1I4jhNMK8HVnWkI/qupMbD96oUu2IcVdCHFTpdWNpB27QGiAJ5NG\nhKkdRwind//4SDwMOtbvy6fRZLH7+qW4CyFuau2uXKw2hTmTo9HrZLchRGf5eLoxc0wEdQ1mNh8u\nsvv65VMqhLih4tJ69meW0D/UhzFDeqsdRwiXMX10f3w83dh0sJD6RrNd1y3FXQhxQ5+l5aLQMjiM\nVqNRO44QLsPTXc+s8ZE0mqx8vb/AruuW4i6EuK5z52s4dq6cAf38GREbpHYcIVzOXQnhBPi6szW9\nmKo6k93WK8VdCNEuRVH4bGcOAI9MiUUjR+1C2J2bXsfsSdGYLTa+3Jtvt/VKcRdCtOtoVhlnCqsZ\nERtEXP9eascRwmVNHN6H3gGe7Dp+gdKqBruss8PF3Waz8eqrr7JgwQKWLFlCQUHb3wtWr17N3Llz\nefTRR9m+fTsAlZWVPPXUUyxatIif/exnNDY2di69EKJL2BSFD78+BbT81i6E6BxFUbApNmyKDavN\nitlmwWw102xtxmwz88CkcKyaZtbsPmuX7ek7uuCWLVtobm4mJSWFY8eO8eabb/Luu+8CUFZWxooV\nK1izZg1YDiS7AAAgAElEQVQmk4lFixYxceJEli1bxqxZs5g7dy7vvfceKSkpPPnkk3ZpiBDCftLP\nlpFTXMOYIaFE9PZVO44qFEVBQbnm75bRvK58jhtMa2e5No+5wbSr5lNsVz1WsNH+cr4mD6prGi6P\nG65cMe93y107TblqWss2r1zu+vO2tw3bFeu5+XLfzmtTFBRsN8xqMOgwmcxXZb28jSteC+WWs7Yz\n7Zr1XPF6KLS+t7f6eny7jhvxTIQMAJJuOu/NdLi4p6enM3nyZABGjhxJRkZG67QTJ04watQoDAYD\nBoOBiIgIzpw5Q3p6Os8++ywASUlJ/OUvf7lhcbfaun5Ae+Ea2t8Rf/sBtF3+m7bztLMD/u5vUC7v\nnL5bT9t56nSeVNYa21muI9u8Yrmrtnnljubq9bTd0djaLHfr22zZEX+7HqvNxr5TlzBEWnCPrmDV\n2ayrtn9rxey7bdjaydp23usXzBu/B+2v56rX4zqvHZqWM5DtvR4tj4Qz09ByjYhGo0GLBjQaNGi+\ne3zFv7+9nuTqaRo0l+8Q0V6xHtBc+fiK5VrWc+02vlsPaDTaNstdOW9dg5nc87V2aX+Hi3t9fT0+\nPj6tj3U6HRaLBb1eT319Pb6+333b9/b2pr6+vs3z3t7e1NXV3XAbj/z2C371RALx0YGt34iu2XFd\n8W3pymk2peWbn62dnUDbabY2O+Rvdw62q3csbabZ2lnnFdOus+OyXZVbqWznuauWu+VpN3s9Lu+8\nbVfv9G447coCddVro1z12rT7/txo2o2ythSz25km7KwX6IDD5fa9PedGrtwJf7uj1Ggu7/ZuNk3T\nsrPVt7uc9vIOtmXH+t2/bzRNi7a1GFyxM796590mz1XFo4PTrn6udVo7z7Wdpr2c9dvnWn51vXaa\ntrXQaDXa79p4eb420658bfiu/dp2Mt7WtNt9Pa477bv3uc2/ryjYzkRRFNZsP2eXdXW4uPv4+GA0\nGlsf22w29Hp9u9OMRiO+vr6tz3t4eGA0GvHz87txuJGb+a8T38CJjqYUXaXdnQzf7SA0GtBqtaBc\nnvc6O6XLc7f8W6u56bxtn+MG09qbV9tO1lvdhvaabXp5utPUaL7Betq+Hl3Triv/vp1tXLXc5cdW\nq8I7a07SYLLy2vfHoZht7WxDe/2st7PNq57rbiEhvpSV3fgAw1mp2jbl8h87LG69zhRXfu+mDO9j\nl/V0uLgnJCSwfft27r//fo4dO0ZcXFzrtBEjRvDf//3fmEwmmpubycnJIS4ujoSEBHbu3MncuXNJ\nS0sjMTHxhtsIVmIoraonpq8/QX4ebXYGrd8C29lBXfMN7oY7n1vYybeZV9v+Nm9lG98ue/lxL38v\namubbrIzvHKbt7HT58rCcovtbLMN7VXruf0dsSt/AME12/fNwUJqyj2ZOSaCEf1iXa59QvQUHS7u\n06dPZ8+ePSxcuBBFUXj99dd5//33iYiIYNq0aSxZsoRFixahKAo///nPcXd357nnnuPll19m9erV\nBAQE8Oc///mG23h1+nM899ZWqio8+MX3x7pcn9YhIb6UGWTnKRxDo8nCV/sK8HTXcf/4SLXjCCE6\nQaM4+A+Wf/7oMDuOnueJmYOYMjJc7Th25YpHfleS9jmXtbvzWLs7j4cnR/PgxGiXa9/VXLl9rtw2\n6Bnt6yyHPxR+cEIUBr2WdXvyaTZ3zaD2QvR0tQ3NbDpYiJ+XG9NH91c7jhCikxy+uAf4ujMtsWVQ\n+21HzqsdRwiX9PW+ApqarTwwIQoPQ4d/rRNCOAiHL+4A942LxNNdz9f7C7pkUHsherLK2ia2HTlP\nkJ8HU13spy8heiqnKO4+nm7cNzaC+kYzmw4Wqh1HCJeydnceFquN2ZOicdM7xS5BCHETTvNJnn5n\nf/y8DWw6VERtQ7PacYRwCRcrjOw+eZGwIC8mDLPP/bVCCPU5TXF3N+h4cEIUpmYr6/d2X69ZQriy\nz3floSgtg8Notc7Xo5cQon1OU9wBpozsS7C/B9uPFlNR06R2HCGcWsGlOg6fKSU6zJeEuBC14wgh\n7Mipirtep2X2pGgsVoW1e/LUjiOEU1uzMweAuVNinbIfbiHE9TlVcQcYH9+H8GBv9py8yMUK480X\nEEJc42xhFRl5lQyJDCA+KlDtOEIIO3O64q7Vang4KQZFgc/TctWOI4TTURSFT3e0HLXPmxKrchoh\nRFdwuuIOMGpgMDF9/Th8toz8S/YZ+1aInuJYdjk5F2pJjAshpu+NR2YUQjgnpyzuGo2GeUkxAKzZ\nKUfvQtwqm01hTVouGg08fPkzJIRwPU5Z3AGGRAUyNCqAzLxKzhRUqR1HCKewL/MSF8qNTBweRt9g\nb7XjCCG6iNMWd/ju98I1O3Nw8MHthFCd2WLji125LXedTIxWO44Qogs5dXGPDvMjMS6EnAu1HDtX\nrnYcIRzajmPnqag1cXdCOEH+HmrHEUJ0Iacu7tDyu6FGA5+l5WKzydG7EO1pNFn4am8+HgYdD4yP\nVDuOEKKLOX1x7xvszYRhfThfZmT/qUtqxxHCIW0+VERdg5mZYyPw9TKoHUcI0cWcvrgDzJ4UjV6n\n4YtdLaNbCSG+U9vQzMaDhfh6uXHv6P5qxxFCdAOXKO7B/p5MHRlOeU0TO49dUDuOEA7l630FNDVb\neXBCFB4GvdpxhBDdwCWKO8CsCVG4u+n4cm8+pmar2nGEcAgVNU1sO1JMsL8HU0aGqx1HCNFNXKa4\n+3kbmD66P7XGZrakF6kdRwiHsHZ3HharwuxJ0bjpXebjLoS4CZf6tM8cE4G3h54N+wsxNpnVjiOE\nqs6XG9mTcZHwYG/Gx/dRO44Qohu5VHH38tBz//hIGkwWNuwvVDuOEKr6PC0XRYG5U2LQamVIVyF6\nEpcq7gDTEvrRy8fAlsNFVNeb1I4jhCpyL9RyJKuM2HA/Rg4IVjuOEKKbuVxxN7jpeGhSNM0WG+t2\n56kdR4hu1zKk6zkAHpkSi0YjR+1C9DQuV9wBJo8Io0+gF2nHL3Kxwqh2HCG61an8Ks4UVjM8JohB\nEQFqxxFCqKBDxb2pqYkXXniBRYsW8cwzz1BZWXnNPG+99RYLFixg3rx5rF69GoDq6mrGjh3LkiVL\nWLJkCR988EHn0l+HTqtl3pRYbIoiQ8KKHsWmKKRubzlqnzdFhnQVoqfqUI8Wq1atIi4ujhdeeIH1\n69ezbNkyXnnlldbp+/fvp7CwkJSUFJqbm3nggQeYMWMGp06dYtasWfz+97+3WwOuJyEumAHh/hzJ\nKiO7uJqB/Xp1+TaFUNuBzBIKS+sZH9+biN6+ascRQqikQ0fu6enpTJ48GYCkpCT27dvXZvqoUaN4\n/fXXWx9brVb0ej0ZGRlkZmayePFifvKTn1BaWtqJ6Dem0Wh49K4BAKRulyFhheszW6x8lpaLXqfh\n4SQ5aheiJ7vpkXtqauo1p8+DgoLw9W05KvD29qaurq7NdHd3d9zd3TGbzfz6179mwYIFeHt7ExMT\nw7Bhw5gwYQLr1q1j6dKl/O1vf7vh9kNCOn70ERLiy7hj59mfcYmcEiPjh4d1eF1dpTPtcwbSvu7z\n+Y5zVNQ2MWdKLEMGhNplnY7Uvq7gyu1z5baB67evs25a3OfPn8/8+fPbPPf8889jNLZcqGY0GvHz\n87tmuZqaGn7yk58wZswYnn32WQDGjRuHp6cnANOnT79pYQcoK6u76Tw38uD4SA5mlvCvdRlEh3qh\n0zrONYQhIb6dbp8jk/Z1H2OTmZTNZ/Fy13P3yL52yeVI7esKrtw+V24b9Iz2dVaHKl1CQgI7d+4E\nIC0tjcTExDbTm5qaePLJJ5k3bx4//vGPW59/5ZVX2LRpEwD79u0jPj6+o7lvWViQN0l3hHGpsoFd\nxy92+faEUMP6fQUYmyw8MCESH083teMIIVTWoeKenJxMdnY2ycnJpKSk8PzzzwPw9ttvc+LECT75\n5BOKiopITU1tvTK+qKiIF198kVWrVrFkyRI++eQTfve739m1Mdfz0KRoDG5a1u7Oo6nZ0i3bFKK7\nVNQ0seVwMUF+7tyT2E/tOEIIB6BRHPxKM3udevk8LZcv9+YzZ1I0D02Ktss6O6snnFqS9nW95V+d\nYm/GJZ5+YAgT7XhdiaO0r6u4cvtcuW3QM9rXWY7zA3QXmzk2Al8vNzYcLKTW2Kx2HCHsorCkjn0Z\nl+gf6iODwwghWvWY4u7pruehidGYmq2s2yPd0grX8OmOHBRg/tRYGRxGCNGqxxR3gCkj+xIa4MnO\nYxcoqWxQO44QnZKZV0lGXiVDowKIjw5UO44QwoH0qOKu17V0S2u1KazZmaN2HCE6zKYopF4eHGb+\n1AEyOIwQoo0eVdwB7hwUQnSYH4fPlpFzoUbtOEJ0yIFTJRSW1DMuvjeRfaQzDyFEWz2uuLd0SxsL\nQOq2c9ItrXA6ZouVz3a2dDM7d7J0MyuEuFaPK+4AgyICGDkgmKziGo5klasdR4jbsvlwMRW1Tdyd\n0I/gXp5qxxFCOKAeWdwB5t8Vi06rIXX7OcwWm9pxhLgltcZmvtqbj4+nGw9NjFI7jhDCQfXY4h4W\n5M1do8IprW5k25FiteMIcUu+2JVLU7OV2ZOi8fKQbmaFEO3rscUdWrql9fbQs25PPnUN0rGNcGzF\nZfXsPH6BsCAvpozsq3YcIYQD69HF3cfTjQcnRtNosrBud77acYS4LkVRSNl2DkWBR+8agF7Xoz+6\nQoib6PF7iLsTwukd4Mn2o+e5UG5UO44Q7TqZW0lmXiXxUQGMiA1SO44QwsH1+OKu12l59K4B2BSF\n1dvPqR1HiGtYrDZStmWj0cCCuwdKhzVCiJvq8cUdYOTAYAZH9OJETgWZeZVqxxGijZ3HLnCxooGk\nO/rSL9RH7ThCCCcgxZ2Wjm0WThuIBvhkWzY2m3RsIxxDQ5OZtbvz8DDomCMd1gghbpEU98sievsy\ncUQY58uMpJ24oHYcIQD4cm8+9Y1mHhgfib+3Qe04QggnIcX9CnOTYnB30/FFWi6NJovacUQPV1rV\nwJbDxQT7e3Dv6P5qxxFCOBEp7lfo5ePO/eMiqG0w89W+fLXjiB4udXsOVpvCI1NjcdPr1I4jhHAi\nUtyvMmNMBIF+7mw+VERJlYz5LtRxKr+S9KwyBoT7M3pwqNpxhBBORor7VQxuOh69awAWq8InW7LV\njiN6IIvVxsot2WiAx6bHya1vQojbJsW9HaMHhzI4ohfHcyo4kSOjxonute1IS4dKSSP7yljtQogO\nkeLeDo1Gw6LpcWg1GlZuyZZR40S3qTU2s3Z3Ll7ueuYmya1vQoiOkeJ+Hf1CfLg7IZzSqkY2Hy5S\nO47oIT7dmUOjycrDSTH4esmtb0KIjpHifgOzJ0fj4+nGl3vyqaozqR1HuLjcC7XsPnGRfiHeTB0l\no74JITpOivsNeHu48cjUWExmK6nS77zoQjZF4ePNWUDLRXQ6rXw0hRAdJ3uQm5g0IoyoPr7sP1VC\nVlG12nGEi9pz8iJ5F2sZMySUQREBascRQjg5fUcWampq4qWXXqKiogJvb2/eeustAgMD28zz3HPP\nUVVVhZubG+7u7ixfvpyCggJ+/etfo9FoGDhwIH/4wx/QOvgRilaj4bF74/iPD9P5eHMWf3hyNFqt\n3Jok7KehycKaHTkY3FpGKBRCiM7qUGVdtWoVcXFxrFy5kjlz5rBs2bJr5ikoKGDVqlWsWLGC5cuX\nA/DGG2/ws5/9jJUrV6IoClu3bu1c+m4S29eficP7UFRaz45j59WOI1zMuj151DaYeWB8FIF+HmrH\nEUK4gA4V9/T0dCZPngxAUlIS+/btazO9vLyc2tpafvjDH5KcnMz27dsByMzMZMyYMa3L7d27tzPZ\nu9UjUwfg6a7j87Rcahua1Y4jXERxaT1bDhcT0suDmWOk/3ghhH3c9LR8amoqH3zwQZvngoKC8PVt\n6VzD29uburq6NtPNZjNPPfUUjz/+ODU1NSQnJzNixAgURWntbau95doTEuIYnXiEhMBjM4ewfG0G\nX+4r4GcLE+y0XsdoX1eR9l2fzabwn58cw6Yo/OiRkfQN62XHZPYh75/zcuW2geu3r7NuWtznz5/P\n/Pnz2zz3/PPPYzQaATAajfj5+bWZHhwczMKFC9Hr9QQFBTFkyBDy8vLa/L7e3nLtKSu7+ReA7jJ2\nUDDfhPqw9VARdw4M7vSFTyEhvg7VPnuT9t1Y2vELnM6vJHFQCJHBXg73Wsn757xcuW3QM9rXWR06\nLZ+QkMDOnTsBSEtLIzExsc30vXv38tOf/hRoKeLZ2dnExMQwdOhQDhw40LrcnXfe2Zns3U6n1bJk\n5iA0wIpvsrBYpec60TF1Dc2kbj+Hu0FH8rSBascRQriYDhX35ORksrOzSU5OJiUlheeffx6At99+\nmxMnTjBlyhSioqJ49NFHefrpp/nFL35BYGAgL7/8Mu+88w4LFizAbDYzY8YMuzamO8T29WfKqHAu\nlBv55pD0XCc6JnV7DsYmCw9PipaL6IQQdqdRFEVRO8SNOOKpF2OTmd+9t5+mZitLvz+W4F6eHVpP\nTzi1JO27VlZRNW9+fIT+oT68+uSdDtthjbx/zsuV2wY9o32d5Zh7FQfn7eHGgrsH0myx8fHmLBz8\n+5FwIBarjRWbzqIBHp8xyGELuxDCucmepYPGxfduHRb2aLYMCytuzeZDRZy/PJxrbLi/2nGEEC5K\ninsHaTQalswYhE6r4ePNWTSaLGpHEg6urLqRtXvy8PVyY96UWLXjCCFcmBT3TggL8uaB8ZFU1Zn4\ndGeO2nGEA1MUhQ83nqHZbGPB3QPw8XRTO5IQwoVJce+kB8ZHERbkxfYj52VgGXFdezMukZlfxbDo\nQMbH91E7jhDCxUlx7yQ3vZbv3T8EDfD+hjOYLVa1IwkHU2Ns5pOt2bi76Xh85qDWXhqFEKKrSHG3\ngwHh/ky7sx8llQ2s25OvdhzhYFZtycLYZGHulBiC/Tt226QQQtwOKe52MjcphiA/DzbsL6Tgkuve\nfyluz7Hscg6eLiW2rx/TEvqpHUcI0UNIcbcTD4OeJ+4bhE1ReH/Daaw26Zq2p2s0WVjxzVl0Wg1P\n3jcYrVZOxwshuocUdzsaFh3ExOF9KCypZ9NB6Zq2p0vdkUNVnYlZE6IID/FRO44QogeR4m5nC+4e\niJ+3gS925XGpskHtOEIlmXmV7Dh6nvCQltslhRCiO0lxtzMfTzcWT4/DYrXxf+tPYbNJ17Q9TUOT\nhX99fRqdVsP3HxiKXicfMyFE95K9The4c3AooweHknO+lo0HC9WOI7rZJ1uzW0/HR/bp/AAQQghx\nu6S4d5ElMwbh723gi125FJfWqx1HdJNj58rZffIikb195XS8EEI1Uty7iI+nG0/eNxiLVeGfX53C\nYpWr511dfaOZDzacQa/T8PSsIXI6XgihGtn7dKE7BgQzeUQYRaX1rNuTp3Yc0cU+3pxFjbGZ2ZOi\n6SdXxwshVCTFvYstnDaQID8P1u8rIOdCjdpxRBc5eLqEA6dKiOnrx8yxEWrHEUL0cFLcu5inu56n\nHxiCosDyr05japa+511NeU0jH2w8i8FNy/dnDUWnlY+VEEJdshfqBoMjA7h3dH9KKhtYuSVL7TjC\njmw2heVfnqLRZGHRPXH0CfRSO5IQQkhx7y7zpsQS0duHXScucvB0idpxhJ2s35dPVnENiYNCmDwi\nTO04QggBSHHvNm56Lc8+FI/BTcsHG89QVt2odiTRSWcKKlm7O58AX3eemDlYhnIVQjgMKe7dKCzI\nm8emx9FosvLeuky5Pc6JNZos/H8fpaMoCj94cCg+nm5qRxJCiFZS3LvZpOFhjBkSSs6FWlZ9c1bt\nOKIDFEXho2+yKKls4P7xkQyKCFA7khBCtCHFvZtpNBoenzGYYH8PUrdmcbqgSu1I4jbtOnGRfZmX\niIvoxexJ0WrHEUKIa0hxV4GXh55nH4pHo9Hwzy8zqTU2qx1J3KLCkjo+3pyFt4eeXy0ZLb3QCSEc\nkuyZVBIb7s+S+4ZQXd/MP9ZmYLXJ7++OrqHJwrIvMjBbbDw9ayi95bY3IYSD0ndkoaamJl566SUq\nKirw9vbmrbfeIjAwsHV6Wloa//znP4GW3yfT09P56quvMJlMPPvss0RFRQGQnJzM/fff3/lWOKl5\ndw3gRFYpR7PL+Twtj0emxqodSVyHoii8//VpSqsauW9cBCMHBKsdSQghrqtDxX3VqlXExcXxwgsv\nsH79epYtW8Yrr7zSOj0pKYmkpCQAli9fTkJCArGxsaSmpvK9732Pp556yj7pnZxGo+HpB4byxw8O\n8fX+AmL7+jEqLkTtWKIdmw8Xk55VRlz/XsxNilE7jhBC3FCHTsunp6czefJkoKWQ79u3r935Ll26\nxNq1a3n++ecByMjIYMeOHTz22GP89re/pb5ehkL18tDz44eHY9BrWb7+NCVVDWpHElfJLq4mdfs5\n/LwN/HB2vHQvK4RweBpFUZQbzZCamsoHH3zQ5rmgoCBeffVVYmNjsdlsTJ06lbS0tGuWfeONN4iL\ni2PevHkArFmzhkGDBjFs2DDeffddamtrefnll+3YHOe17XAh/7XqKFFhfvznC5PxcO/QSRVhZ2VV\njfziv3dS29DMn54dz4gBcmZFCOH4blpB5s+fz/z589s89/zzz2M0GgEwGo34+flds5zNZmPHjh38\n/Oc/b31u+vTprfNOnz6dP/3pTzcNWFZWd9N5nFVIiG9r+4ZHBjB1VDg7jp7nrQ8O8sM5w9A6eY9n\nV7bPGZnMVt786AjV9SYW3TOQMH+PNu1x9vbdjLTPebly26BntK+zOnR+MSEhgZ07dwItF88lJiZe\nM09WVhbR0dF4eHi0Pvf0009z4sQJAPbt20d8fHxHNu+yFt0zkLj+vTh8towv9+SrHadH+/YCuoKS\nOiaNCGNaYj+1IwkhxC3rUHFPTk4mOzub5ORkUlJSWn9Tf/vtt1uLd15eHv3792+z3Guvvcbrr7/O\nkiVLOHLkCD/60Y86Gd+16HVafvTwMIL9PVi7O4/DZ0rVjtRjbThQyMHTpQwI92fJvYOk33ghhFO5\n6W/uanP1Uy/tta+4tJ7/+Cgdxabwm8WJRPbp/CkaNTjrqbNj2eW8s+YEvXzdefWJO/H3cW93Pmdt\n362S9jkvV24b9Iz2dZZc9uuA+oX68INZQzFbbPz10+NU1DSpHanHyLtYyz/WZeCm1/L83OHXLexC\nCOHIpLg7qFFxIcy/awDV9c38V+pxjE1mtSO5vNLqRv6aehyzxcazs+OJDrv2QlEhhHAGUtwd2Iwx\n/Zl+Z38ulBt5Z81JzBar2pFcVn2jmf9efZzaBjOL7olj1EC55U0I4bykuDswjUbDgmkDuHNwKFlF\n1fzzy1PYHPsSCadktlh5Z80JLlU2MHNshFwZL4RwelLcHZxWo+GZWUNab5H7ZEs2Dn4NpFOxWG38\nY20m2cU1jBkSKv37CyFcghR3J+Cm1/HCvOGEB3uzJb2YL/fmqx3JJdgu38t+NLucIZEBPP3AEKfv\nOEgIIUCKu9Pw9nDj54/eQbC/B1/symPDgQK1Izk1RVH4+Jss9mWWEBvuxwvzhuOm16kdSwgh7EKK\nuxMJ9PPgpeRRBPi6k7o9hy2Hi9SO5JQURSF1ew7bj56nf6gPP5t/Bx4G6ctfCOE6pLg7mZBenryU\nPAp/bwMrt2Sz49h5tSM5FUVRSNl2jo0HC+kT6MUvFozE28NN7VhCCGFXUtydUJ9AL36ZPAofTzc+\n3HiWbUeK1Y7kFBRFYeWWbL45VETfYG9eXtTyJUkIIVyNFHcnFR7sza+SR+Hn5cZH32SxYb/8Bn8j\nNkXho2+y2JpeTHhIy2snvc8JIVyVFHcn1i/Uh18vTiTQz53UHTl8npYrt8m1w2K1sfyrU62/sf8q\neRR+csQuhHBhUtydXJ9AL379WAKhvTz5cm8+K77JwmqzqR3LYTSaLPw19Tj7M0uI7evHS8mj8PWS\nwi6EcG1S3F1AsL8nv16cQESoDzuOnudvn56k0WRRO5bqaozNvL3yKJn5VYwcENx6nYIQQrg6Ke4u\nopePOy8/lsDwmCBO5lbw5sdHqKozqR1LNcVl9fzHh4cpKKkj6Y4wfjx3GO5uch+7EKJnkOLuQjzd\n9fzkkeFMHRVOUWk9Sz88TN7FWrVjdbv0s2X8x4fplNc08dDEKJ6YORidVv6rCyF6DtnjuRidVsuS\ne+OYf1cs1XUm3vgonbTjF9SO1S1sisIXu3L5++cnUVD40ZxhzJkcg0a6lBVC9DDSLZcL0mg03Dc2\nkn4hPry3LpN/bzhDzvkaFk2Pc9lT0zXGZv5v/SkycisJ9vfghXkj6B/qo3YsIYRQhRR3FzY8JohX\nnxzN3z87ya4TF8kuruEHDw0lqo+f2tHsKiOvguVfnabW2MywmECemTVUrogXQvRoclrexYX08uR3\njycy/c7+XKps4D8+TGf9vnxsNue/H95ktvLJ1mz+knIcY6OZBXcP4Gfz75DCLoTo8eTIvQdw0+tI\nvmcgI2KDWL7+FGt25nLsXDmPzxjstKeuTxdU8cGGM5RWNxIa4MkPZ8e73BkJIYToKCnuPUh8dCB/\nenosKzad5dCZUv7f+4e4d3R/HpoU5TSjotUYm/lsZw67TlxEo4GZYyKYPTnaZa8lEEKIjnCOPbqw\nGx9PN56bM4yJORV89M1ZNh4s5MDpEuZMimbC8D4Oe8uY2WLlm0NFrN9XQFOzlX4hPnzv/sFEh8nR\nuhBCXE2Kew81IjaIP31/LOv35bPpYBHvbzjDxoOFzE2KISEuxGFuHzNbbOzJuMj6vflU1Jrw8XRj\n8b2xJN3RF73OMb+ICCGE2qS492DubjrmJsUydWQ46/bks/vERf7+eQZ9g725d3R/xsf3xk2vzunu\nRpOFXccvsPFgIdX1zeh1WmaOjWDW+Ei8ZPx1IYS4ISnugkA/D568bzAzx0bw5Z48Dp4u5d8bzvDZ\nzvKZzv0AAAyqSURBVBwmDA9jwrA+9Avp+gvvFEUh/1Idu45fYN+pEkzNVtzddMwcE8G9Y/rTS4Zo\nFUKIW9Kp4r5582Y2btzIn//852umrV69mk8++QS9Xs9zzz3HXXfdRWVlJb/85S9pamoiNDSUN954\nA09Pz85EEHbUJ9CLZx6MZ96UWLYeKSbt2AU2Hihk44FCInv7cufgEEbEBtMvxNtup+2tNhv5F+s4\ndq6cQ2dKKa1qBCDQz537x0ZwV0I/GexFCCFuU4eL+9KlS9m9ezdDhgy5ZlpZWRkrVqxgzZo1mEwm\nFi1axMSJE1m2bBmzZs1i7ty5vPfee6SkpPDkk092Jr/oAoF+HsyfOoA5k6I5fq6CvRmXOJlbQUFJ\nHWt25tLLx0BsuD+xff2J6uNL70Av/H0MaG9S8BVFoarORFFpPcVl9WQX15BVVE1TsxUAg5uWMUNC\nGRffhxExQWi1jvG7vxBCOJsOF/eEhATuueceUlJSrpl24sQJRo0ahcFgwGAwEBERwZkzZ0hPT+fZ\nZ58FICkpib/85S9S3B2Ym17HnYNDuXNwKPWNZjJyKzieU8GZgirSz5aRfrasdV6DXkuQvwdeHno8\n3fUY9Dr0eh0NTc00Nlmorm+mxtiMxdp2rPneAZ6Miw9kaGQAw2OCcDfILW1CCNFZNy3uqampfPDB\nB22ee/3117n//vs5cOBAu8vU19fj6+vb+tjb25v6+vo2z3t7e1NXV3fTgCEhvjedx5k5S/tCgOiI\nQB6cOhBFUSitauRMfiUFl2q5WG7kYoWR0spGSqsasV7V+51ep6GXrwfRff0IDfAiqq8fkX38GNCv\nFyEBzv2zjLO8fx0l7XNertw2cP32ddZNi/v8+fOZP3/+ba3Ux8cHo9HY+thoNOLr69v6vIeHB0aj\nET+/m9+jXFb2/7d3r7FN1X8cx9/b2hXoJuG2vzywyogzjKXZhRBiIsZsy4CQGF3GVoGJ1zJcUKZL\nyZRLaJ2BuJgAwwvTaXyCFR4oKKKJQhOZRFZl2cLETJjyQMeAwS6ua9ff/wHZiXNb23HZ2uP39Wj9\nnXOy7ye//c63PedsC/8GIFbNmZMcs/nigfR7ppN+z/Rh40opBgJB/IEg/0tJ5uqVXgyG+NEv2QcC\nMZsfYnv+IiH5Ypees8F/I9+tuiO/KGy1WmlsbMTn89Hd3U1bWxtpaWlkZ2dz4sQJADweDzk5OXfi\n24tJFBcXh8mYQNJUI9OmGEk0JoS9Fy+EEOL2uq2/CldfX4/FYiE3N5e1a9fyxBNPoJRi06ZNmEwm\nysrKcDgcuN1uZsyYMepT9kIIIYS4NXFKqaj+92B6v/Qi+WKX5Ittes6n52zw38h3q+TvdwohhBA6\nI81dCCGE0Blp7kIIIYTOSHMXQgghdEaauxBCCKEz0tyFEEIInZHmLoQQQuiMNHchhBBCZ6S5CyGE\nEDoT9X+hTgghhBDjI5/chRBCCJ2R5i6EEELojDR3IYQQQmekuQshhBA6I81dCCGE0Blp7kIIIYTO\nGCa7gCHffPMNX331FTU1NSO2ud1uDhw4gMFgoKysjEceeYQrV67wyiuv0N/fT0pKCm+88QZTp06d\nhMpD6+/vp7KyksuXL2M2m9m5cyczZ87Utns8Hvbv3w+AUorGxkaOHDmCz+fDbrdz3333AWCz2Vix\nYsVkRAgpXD6AsrIyrl69itFoxGQyUVdXR3t7O5s3byYuLo7777+fbdu2ER8ffe81I8m3c+dOvF4v\ngUCA4uJiVq1aRVdXFwUFBaSlpQGQl5fHk08+ORkRRggGg2zfvp1ffvmFxMREXC4X9957r7Y9ltcb\nhM/34Ycf8sUXXwDw8MMPU15ejlKKpUuXaustMzOTl19+eTLKDytcPpfLhdfrxWw2A7Bv3z78fr8u\n5u/s2bNUV1dr+/7888/U1tZitVqjdr2N5cyZM7z55pt8/PHHw8a//fZbamtrMRgMFBYWsmrVqojO\nQyOoKOB0OlVBQYF66aWXRmzr6OhQK1euVD6fT12/fl372ul0qkOHDimllHr33XdVfX39BFcdmQ8+\n+EDt3r1bKaXUkSNHlNPpHHPf/fv3q5qaGqWUUm63W73//vsTUuOtiCTf8uXLVTAYHDZmt9vVDz/8\noJRSasuWLerrr7++88XehHD5Ghoa1IYNG5RSSvl8PpWXl6e6urrU999/r3bs2DHh9Ubi2LFjyuFw\nKKWU+umnn9T69eu1bbG+3pQKne/3339Xjz32mAoEAioYDKri4mJ19uxZdeHCBWW32yer5HEJlU8p\npUpKStTly5eHjell/v7pyy+/VBUVFUopFdXrbTTvvfeeWrlypSoqKho2PjAwoJ1DfD6fevzxx9Wl\nS5fG1UeGRMVHpezsbLZv3z7qtqamJrKyskhMTCQ5ORmLxUJrayuNjY089NBDACxdupSTJ09OYMWR\n+3edDQ0No+73559/8tlnn1FeXg5Ac3Mzx48fZ/Xq1VRVVdHT0zNhNY9HuHydnZ1cv36d9evXY7PZ\n+O677wBoaWlh8eLF2nGxOn9ZWVnDPkkMDg5iMBhobm6mpaWFNWvWsHHjRjo6Oia07lD+mSkzM5Pm\n5mZtW6yvNwid7+6776auro6EhATi4uIIBAKYTCZaWlr466+/WLt2Lc899xy//fbbZJUfVqh8wWCQ\n9vZ2tm7dSklJCQcPHhxxTCzP35C+vj727NnDq6++ChDV6200FouFPXv2jBhva2vDYrEwffp0EhMT\nycnJ4ccff4y4j/zThF6W//TTT/noo4+GjVVXV7NixQpOnTo16jE9PT0kJydrr81mMz09PcPGzWYz\n3d3dd67wCI2Wb9asWRHVWV9fz7p160hMTATAarVSVFRERkYGb7/9NrW1tTgcjjsbIIybyef3+3n6\n6acpLS3l2rVr2Gw2rFYrSini4uLGPG4y3Ew+k8mEyWTC7/ezefNmiouLMZvNpKamkpGRwYMPPsjn\nn3+Oy+Vi9+7dE5YllJ6eHpKSkrTXCQkJBAIBDAZDTK23sYTKZzQamTlzJkopdu3aRXp6OvPmzaOz\ns5Pnn3+e5cuXc/r0aSorKzl06NAkphhbqHx9fX2sWbOGp556isHBQUpLS8nIyNDN/A05ePAgy5Yt\n0y5NR/N6G01BQQEXL14cMX4719+ENveioiKKiorGdUxSUhK9vb3a697eXpKTk7XxKVOm0Nvby113\n3XW7yx230fKVl5dr9Y9VZzAY5Pjx42zatEkby8/P1/bNz8/H6XTewcojczP5Zs+eTUlJCQaDgVmz\nZrFgwQLOnz8/7P56rM/ftWvX2LhxI4sXL8ZutwOwZMkS7Z5mfn5+VJ1o/r2mgsGgduKMpfU2llD5\nAHw+H1VVVZjNZrZt2wZARkYGCQkJACxatIiOjo5hb0CjSah8U6dOpbS0VPvZW7JkCa2trbqaP4DD\nhw8PW1PRvN7GI9z6GxqLZP6i4rJ8KFarlcbGRnw+H93d3bS1tZGWlkZ2djYnTpwAbjyUlpOTM8mV\nji6SOs+dO8e8efOYMmWKNvbMM8/Q1NQEQENDAwsXLpyYgscpXL6TJ0/y4osvAjd+KH/99VdSU1NJ\nT0/XrtZ4PB4WLVo0sYVHKFy+/v5+1q1bR2FhIS+88II2/tprr3Hs2DEg+uYvOzsbj8cD3Hggaegh\nJIj99Qah8yml2LBhAw888AA7duzQGvrevXu1qzatra3MnTs3Khs7hM534cIFbDYbg4OD+P1+vF4v\nCxcu1M38AXR3dzMwMMDcuXO1sWheb+Mxf/582tvb6erqYmBggNOnT5OVlXVT8xc1/zjm1KlTHDhw\ngLfeegu4cZnaYrGQm5uL2+3mk08+QSmF3W6noKCAzs5OHA4Hvb29zJgxg5qaGqZNmzbJKUb6+++/\ncTgcXLp0CaPRSE1NDXPmzGHXrl0sW7YMq9XK0aNH8Xq92v0juHFP2ul0YjQamT17Nk6nc9ilqmgR\nSb7XX3+dM2fOEB8fz7PPPkteXh7nz59ny5Yt+P1+UlNTcblc2ok2moTL5/V62bt3LwsWLNCOGboH\nX1VVBdz4NOVyuUhJSZmUDP829DTyuXPnUEpRXV2Nx+PRxXqD0PmCwSAVFRVkZmZq+1dUVJCamkpl\nZSV9fX0kJCSwdetW5s+fP4kpxhZu/urq6jh69ChGo5FHH30Um82mm/nLzc2lqamJd955h3379mnH\n/PHHH1G73sZy8eJFKioqcLvdHD58mL6+PoqLi7Wn5ZVSFBYWsnr16jHPQ6FETXMXQgghxO0R9Zfl\nhRBCCDE+0tyFEEIInZHmLoQQQuiMNHchhBBCZ6S5CyGEEDojzV0IIYTQGWnuQgghhM5IcxdCCCF0\n5v9oDyQuJc4iygAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X = np.random.uniform(-1, 1, size=1000)\n", "y0 = np.sin(np.pi * X)\n", "y1 = best_h0.coef_ * X\n", "\n", "sns.tsplot(np.array([y0[:, None], y1[:, None]]).T, X)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "And the other one would go through zero and almost have a slope of 1:" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "array([ 0.01213531, 0.95799081])" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "best_h1.coef_" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "y2 = best_h1.coef_[1] * X + best_h1.coef_[0]\n", "\n", "sns.tsplot(np.array([y0[:, None], y2[:, None]]).T, X)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Those are the biases that these two hypothesis sets will have for this particular data set, for ever. They just can't get any better than this. There really isn't any randomness here. \n", "\n", "So the question then becomes why not just use the bigger hypothesis set always? \n", "\n", "Well remember, while the bigger hypothesis does have the ability to make a better hypothesis, the training process is random. Sometimes we will get a hypothesis near the best, and sometimes not. Variance is where the randomness comes in!" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Variance\n", "\n", "Variance is different, it is incredibly dependent on the data that you get. If you always are in a data rich environment, then you will have very low variance, but if you don't have enough data, then you will get much higher variance. This is the moving quantity!\n", "\n", "Let's start off by exploring what the variance of these two models would be if you only have 2 data points:" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "h0_scores = []\n", "h1_scores = []\n", "X_real = np.random.uniform(-1, 1, size=1000)\n", "\n", "for _ in range(1000):\n", " X = np.random.uniform(-1, 1, size=2)\n", " y = np.sin(np.pi * X)\n", " y0 = best_h0.coef_ * X_real\n", " y1 = best_h1.coef_[1] * X_real + best_h1.coef_[0]\n", " \n", " reg0 = LinearRegression(fit_intercept=False)\n", " reg1 = LinearRegression(fit_intercept=False)\n", " \n", " # this hypothesis ignores the X variable\n", " reg0.fit(np.ones((2, 1)), y)\n", " # this hypothesis can use the X variable as well as an intercept\n", " reg1.fit(add_dummy_feature(X[:, None]), y)\n", " \n", " # now we score both hypotheses on the traning data\n", " preds = reg0.predict(np.ones((1000, 1)))\n", " h0_scores.append(mean_squared_error(preds, y0))\n", " preds = reg1.predict(add_dummy_feature(X_real[:, None]))\n", " h1_scores.append(mean_squared_error(preds, y1))\n", " " ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.pointplot(data=[h0_scores, h1_scores], join=False)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Wow! Look at the difference between the variances. The first hypothesis set does not have too high a variance, whereas the second hypothesis set has quite a high one. Mathematically the variance of the first is .25 and the variance of the second is 1.69.\n", "\n", "So you can see that our estimate of the error of the first hypothesis set training on two data points is:\n", "\n", "$$ BIAS + VARIANCE = .5 + .25 = .75$$\n", "\n", "Now you might not remember last time, but that is percisely what our out of sample error was! Remember it does not always have to be this, it could be better or worse, but on average it is around this much. \n", "\n", "Whereas our estimate of how the second hypothesis set will do on this data with two data points is:\n", "\n", "$$ BIAS + VARIANCE = .21 + 1.69 = 2$$\n", "\n", "And again, you might be thinking to yourself, wow that is around what we had gotten before! " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## The trade off\n", "\n", "This should make the trade off very clear. the bigger the hypothesis set (the more complex it is/the number of infinite parameters) the lower the bias, but also the higher the variance.\n", "\n", "As always there is one saving grace here. The more data points, the lower your variance will be over all.\n", "\n", "As we showed before let's check out how the bias and the variance change as we add more data points to verify what we said above:" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "h0_var = []\n", "h1_var = []\n", "X_real = np.random.uniform(-1, 1, size=1000)\n", "\n", "for num_points in range(2, 40):\n", "\n", " h0_scores = []\n", " h1_scores = []\n", " for _ in range(1000):\n", " X = np.random.uniform(-1, 1, size=num_points)\n", " y = np.sin(np.pi * X)\n", " y0 = best_h0.coef_ * X_real\n", " y1 = best_h1.coef_[1] * X_real + best_h1.coef_[0]\n", "\n", " reg0 = LinearRegression(fit_intercept=False)\n", " reg1 = LinearRegression(fit_intercept=False)\n", "\n", " # this hypothesis ignores the X variable\n", " reg0.fit(np.ones((num_points, 1)), y)\n", " # this hypothesis can use the X variable as well as an intercept\n", " reg1.fit(add_dummy_feature(X[:, None]), y)\n", "\n", " # now we score both hypotheses on the traning data\n", " preds = reg0.predict(np.ones((1000, 1)))\n", " h0_scores.append(mean_squared_error(preds, y0))\n", " preds = reg1.predict(add_dummy_feature(X_real[:, None]))\n", " h1_scores.append(mean_squared_error(preds, y1))\n", " \n", " h0_var.append(h0_scores)\n", " h1_var.append(h1_scores)\n" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAecAAAFJCAYAAAChG+XKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XucVNWd9/vPvtStq6qhoRtoaBrwQhJBg+Cokwi+ojJk\nEh3NJKPgBJzog76c0UziZUyMJiTyiIk6mSMJuZiJycMZI4x5zhxIXpmch8RIokZjKxBQUAGR5trQ\nNN1V1d112fv8URe6FWkuTdeu2t+3r7aqdt3Wr3frd69Vu9YyXNd1EREREc8wy90AERER6U/hLCIi\n4jEKZxEREY9ROIuIiHiMwllERMRjFM4iIiIeY5e7AUVtbV3lbkI/dXU1HDqUKnczhozf6gX/1ax6\nq5/faq70ehsa4u97n3rO78O2rXI3YUj5rV7wX82qt/r5reZqrlfhLCIi4jEKZxEREY9ROIuIiHiM\nwllERMRjFM4iIiIeo3AWERHxGIWziIiIxyicRUREPEbhLCIi4jEKZxEREY85rrm1169fzyOPPMLy\n5ctL29ra2rjjjjtKt19//XXuvPNO5s6dy6xZs5g4cSIA06ZN48477xzcVouIiFSxAcP58ccfZ9Wq\nVUQikX7bGxoaSmH96quv8u1vf5trr72Wd955hylTpvD973//9LRYRESkyg04rN3c3MzSpUvf937X\ndXnggQdYtGgRlmWxadMm9u3bx/z581m4cCHbtm0b1AaLiIhUuwHDec6cOdj2+3ewf/vb33L22Wdz\nxhlnAPke9c0338zy5cu55ZZbuPvuuwevtSIiIj5wyus5r1q1igULFpRuT506FcvKL+N1wQUXsH//\nflzXxTCMY75OXV2N55b/OtZam9XIb/WC/2pWvdXPbzVXa72nHM4bN25k+vTppdvf+c53GD58OAsX\nLmTz5s00NjYOGMwA7e3J43rcUGloiNPW1lXuZgwZv9UL/qtZ9VY/v9Vc6fUe68DihMN59erVpFIp\nrrvuOtrb24nFYv1C9eabb+buu+/m2WefxbIslixZclyv67gOluGtnrOIiEg5GK7ruuVuBMDuve0E\nrEC5m1FS6UdkJ8pv9YL/ala91c9vNVd6vcfqOXtmEpKc65S7CSIiIp7gmXB2FM4iIiKAwllERMRz\nPBPOGtYWERHJ80w4O26u3E0QERHxBA+Fs3rOIiIi4KFw1rC2iIhInmfC+YU9fyp3E0RERDzBM+G8\n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\nueeYO3curuvy4IMP8sQTT9Dc3Mzll1/O/Pnzuf7663Fdly9+8YuEQiFuvfVW7rnnHlauXEldXR2P\nPvroUNQiIiJSFQzXPdqXDoae14YmKn245ET5rV7wX82qt/r5reZKr/eUhrVFRERkaCmcRUREPEbh\nLCIi4jEKZxEREY9ROIuIiHiMwllERMRjFM4iIiIe45nvOYuIiEiees4iIiIeo3AWERHxGIWziIiI\nxyicRUREPEbhLCIi4jEKZxEREY8ZcD1nP/rUpz5FLBYDoKmpiSVLlpS5RafH+vXreeSRR1i+fDk7\nduzgS1/6EoZhcPbZZ/O1r30N06yuY7e+9b722mvccsstTJw4EYB58+bxiU98orwNHESZTIZ7772X\nXbt2kU6nufXWWznrrLOqdh8frd7Gxsaq3ce5XI777ruP7du3YxgGX//61wmFQlW7f+HoNWez2ard\nxwrnd+nt7cV1XZYvX17uppxWjz/+OKtWrSISiQCwZMkSvvCFL3DRRRfx1a9+ld/85jfMnj27zK0c\nPO+ud9OmTXzuc5/jxhtvLHPLTo9Vq1YxfPhwHn74YTo6Orjmmmv44Ac/WLX7+Gj1/tM//VPV7uNn\nnnkGgKeeeooXX3yRb3/727iuW7X7F45e82WXXVa1+7h6DqsGyebNm+nu7ubGG29kwYIFrFu3rtxN\nOi2am5tZunRp6famTZu48MILAZg1axbPP/98uZp2Wry73o0bN/K73/2Ov//7v+fee+8lkUiUsXWD\n7+Mf/zj//M//DIDruliWVdX7+Gj1VvM+vuKKK3jggQcA2L17N7W1tVW9f+HoNVfzPlY4v0s4HOam\nm27i3//93/n617/OXXfdRTabLXezBt2cOXOw7SMDJ67rYhgGANFolK6urnI17bR4d73nnXce//Iv\n/8J//Md/MH78eL773e+WsXWDLxqNEovFSCQSfP7zn+cLX/hCVe/jo9Vb7fvYtm3uueceHnjgAa66\n6qqq3r9F7665mvexwvldJk2axN/8zd9gGAaTJk1i+PDhtLW1lbtZp13fz6aSySS1tbVlbM3pN3v2\nbKZOnVq6/tprr5W5RYNvz549LFiwgKuvvpqrrrqq6vfxu+v1wz7+5je/ya9//Wvuv/9+ent7S9ur\ncf8W9a35kksuqdp9rHB+l6effpqHHnoIgH379pFIJGhoaChzq06/c845hxdffBGAtWvXcsEFF5S5\nRafXTTfdxIYNGwB44YUXmDJlSplbNLgOHDjAjTfeyN13381nPvMZoLr38dHqreZ9/F//9V/84Ac/\nACASiWAYBlOnTq3a/QtHr/m2226r2n2shS/eJZ1O8+Uvf5ndu3djGAZ33XUX06dPL3ezTovW1lbu\nuOMOVq5cyfbt27n//vvJZDKcccYZLF68GMuyyt3EQdW33k2bNvHAAw8QCASor6/ngQceKJ2hXw0W\nL17Mr371K84444zStq985SssXry4Kvfx0er9whe+wMMPP1yV+ziVSvHlL3+ZAwcOkM1mWbhwIWee\neWZV/zd8tJobGxur9r9jhbOIiIjHaFhbRETEYxTOIiIiHqNwFhER8RiFs4iIiMconEVERDxG4Swi\nIuIxCmcRERGPUTiLiIh4zP8P3aXU47SyoK0AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# now we plot them :)\n", "sns.tsplot(np.array([h0_var, h1_var]).T, range(2, 40))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Notice that the variance drops a ton for the second hypothesis, and becomes near 0 as we get 40 points. But remember, above is just the variance. While it is nice to see that go down, we are looking for our approximation of what the actual error will be. In this case we need to add the bias to the above estimates:" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "h0_error = np.array(h0_var) + .5\n", "h1_error = np.array(h1_var) + .21\n", "\n", "sns.tsplot(np.array([h0_error, h1_error]).T, range(2, 40))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "And now we see something magical. There is a point where the errors cross each other! Yes if we have too few data points then the simpler hypothesis set is better. This is because the variance is so high for the first hypothesis set. But after we get to a reasonable number of data points, the more complex hypothesis is better because it has lower bias!\n", "\n", "Notice as well that both errors approach the bias. \n", "\n", "As one final note, the above curves are approximations as to what the real ones will look like, but they are pretty good approximations if I can say so myself :)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Putting it all together\n", "\n", "Let's finally put it all together. Let's see what happens as I change the size of the hypothesis set and the number of training examples. And let's check what happens to the bias, the variance and the estimated test error as we change the above.\n", "\n", "We will start off with the bias, this is a little simple because it will not change as the number of points do:" ] }, { "cell_type": "code", "execution_count": 81, "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "from sklearn.preprocessing import PolynomialFeatures\n", "biases = []\n", "best_models = []\n", "\n", "for model_complexity in range(5):\n", " X = np.random.uniform(-1, 1, size=10000)\n", " y = np.sin(np.pi * X)\n", " poly = PolynomialFeatures(model_complexity)\n", " X = poly.fit_transform(X[:, None])\n", "\n", " reg = LinearRegression(fit_intercept=False)\n", "\n", " reg.fit(X, y)\n", "\n", " preds = reg.predict(X)\n", " \n", " best_models.append(reg)\n", " biases.append([mean_squared_error(preds, y)])\n" ] }, { "cell_type": "code", "execution_count": 82, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.pointplot(data=biases)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "As the model complexity increases, the bias decreases (notice that it might go down in fits and starts). \n", "\n", "Let's see what happens to the variance:" ] }, { "cell_type": "code", "execution_count": 89, "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "X_real = np.random.uniform(-1, 1, size=1000)\n", "\n", "model_vars = []\n", "for model_complexity in range(5):\n", " variances = []\n", " for num_points in range(2, 40):\n", "\n", " var = 0\n", " for _ in range(100):\n", " poly = PolynomialFeatures(model_complexity)\n", "\n", " X_real_tran = poly.fit_transform(X_real[:, None])\n", " y_best = best_models[model_complexity].predict(X_real_tran)\n", " X = np.random.uniform(-1, 1, size=num_points)\n", " y = np.sin(np.pi * X)\n", "\n", " X = poly.fit_transform(X[:, None])\n", " reg = LinearRegression(fit_intercept=False)\n", " reg.fit(X, y)\n", "\n", " preds = reg.predict(X_real_tran)\n", " var += mean_squared_error(preds, y_best)\n", "\n", " var /= 100\n", " variances.append(var)\n", " \n", " model_vars.append(variances)\n", " " ] }, { "cell_type": "code", "execution_count": 90, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nFRUVqVOnTrax27Zt03333acVK1ZY7quurlZubq7KyspUVVWlG2+8UQMHDrTE1dbWKi8vT7t27ZLP\n59Ps2bPVvXt32+Pt379fo0aN0h/+8Ad17drVNmbkyJFKSkqSJHXs2FFz5861xCxbtkzr1q1TdXW1\nMjMzNWbMmJD7n376af35z3+WJB05ckQffPCBNm3apOTkZMtjnD59usrKyuT3+1VYWGiZV1VVlXJy\ncrR7924lJSUpPz9fp59+evD+Y3P42Wefafr06fL5fDrjjDM0a9Ys+f1+S9xRxcXF6ty5szIzMy0x\nH3zwgQoLCxUXF6eEhATNmzdP7du3t8Tt3LlTM2fOlDFGp59+uoqKihQfH297vLVr12rlypV68skn\nLeO8//77mjJlSvCxZWZm6qqrrrLE7d+/X3l5eTp48KBqa2s1f/58paamhsTcfvvt2rdvnySprKxM\nvXr10v3332/7GGfNmqW4uDidfvrpmjNnjvx+f0jMe++9p1mzZikhIUE9e/bUjBkzVFtbazk3u3Xr\nFpL73Nxc5eXl2Z6/R/M+evRoyzinnHKKJe8pKSmWuE6dOoXkfdasWcrPz7c93rF5t3tedejQIST3\nV199tTZu3BgS07t375C8FxcX68EHHwyJefbZZy15nz9/vu1jPDbvBQUFllz95Cc/seTdGGN5rrds\n2TIk73l5ecrPz7d9PTia96uvvtoyTm1trSXvP/rRjyxxfr8/JO+zZ89WQUGB7fGOzbvd61RNTU1I\n3jMyMrRp06aQmBNPPDEk73PnztVDDz0UEvPggw9GPN89zTSRF154wWRnZxtjjHnnnXfMDTfcYBv3\n0EMPmWHDhpkxY8bY3r969WpTVFRkjDGmvLzcXHbZZbZxL730kpk+fboxxpjXX3894vGqqqrMTTfd\nZK688kqzc+dO25jDhw+bESNGRHxsR48xZcoUU1tbawKBgFm0aFG98QUFBaa0tDTi3KdNm2aMMea1\n114zN998syVmxYoVJi8vzxhjzCeffGImTZoUvC88h1OmTDGvv/66McaYmTNnmhdffNE2bv/+/ea6\n664zAwcONI8//rhtzPjx4837779vjDHmiSeeMMXFxbZxN954o3nzzTeNMcZkZ2ebF1980fbf9r33\n3jNZWVnB28JjVq1aZR5++GHL4w+Py87ONs8995wxxpjNmzeb9evXRzyXDhw4YH7xi1+YvXv32o51\n0003mVdffdUYY8yvf/1r88orr1hiRo4cabZs2WKMMWbhwoVmzZo1tudmeO5nz55tiQnPu904dnm3\niwvPu93x7PJuN1Z47u1iwvNeVFQU8fl5bN7txgrPe2FhoSXGLu92z/XwvC9YsMASE553u3Hs8m4X\nF553u+PZ5d1urPC828WE5/3++++P+HoXfr57XZMtb27ZskX9+/eXJPXu3Vvbt2+3jUtNTdXixYsj\njjN48GDdeuutkiRjjOLi4mzjrrjiChUWFkqS9uzZY+mmjpo3b57Gjh2rk08+OeIxP/zwQx06dEiT\nJk1SVlaWtm7daol57bXX1L17d02dOlU33HCDLr/88ojjvfvuu9q5c6cyMjJs7+/cubNqa2tVV1en\nQCCg+HhrQ75z505deumlkqQuXbrok08+Cd4XnsP33ntPF1xwgSTp0ksv1T/+8Q/buIqKCt1yyy0a\nMWJExLEWLlyonj17Svq2m27ZsqVt3OLFi3X++eerqqpKX375pZKSkiwx5eXlWrhwoXJzcyMeb/v2\n7Xr11Vc1fvx45ebmKhAI2Ma9/fbb2rt3ryZOnKi1a9fqggsuiHguLV68WNdcc03w3zw8rmfPnjpw\n4ICMMaqoqFB8fLwlZu/everTp48kqU+fPtqyZYvtuRme+6qqKktMeN7txrHLu11ceN779+9vibHL\nu91Y4bm3Gys871OmTIn4/Dw273bHC8/7BRdcYImxy7vdcz087xUVFZaY8LzbjWOXd7u48Lxfcskl\nlhi7vNuNFZ73iy66yBITnvfrr78+4utd+PnudU1W9AKBQHB5UJLi4uJUU1NjiRs0aJDti/xRbdq0\nUVJSkgKBgKZNm6bbbrstYmx8fLyys7NVWFio4cOHW+5/+umn1a5du2AxjqRVq1a67rrr9PDDD2v2\n7Nm68847LXMvLy/X9u3b9cADDwRjTIQPu1m2bJmmTp0a8XitW7dWWVmZhgwZopkzZ2rChAmWmJ49\ne2r9+vUyxmjr1q3au3evamtrJVlzaIwJfqtxmzZt9M0339jGnXbaaerVq1fIccJjjj5x3n77ba1c\nuVITJ060jYuLi1NZWZmGDRum8vJy/fSnPw2Jqa2t1YwZM5STk6M2bdpEPN65556ru+++W4899phO\nO+00LVmyxDaurKxMycnJ+uMf/6gOHTpo+fLltufS/v37tXnzZo0aNSriMY8uaQ4ZMkT79+/XhRde\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.heatmap(model_vars[:3])" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Again the variance increases as we get more complex models, but it then decreases later on as we get more data points. This is what we expect. Finally we show off the bias variance combination:" ] }, { "cell_type": "code", "execution_count": 92, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n3q3eV02bNg3I/U033aTNmzcHxHTo0CEg7/n5+Xr00UcDYtauXRuS9/nz51u+xlPznpubG5KrX/zi\nFyF5N8aEvNfr1KkTkPfs7Gzl5ORY/jw4mfebbropZJzKysqQvJ955pkhcV6vNyDvM2fOVG5uruXx\nTs271c+pioqKgLwPGzZMW7ZsCYg566yzAvI+Z84cPfbYYwExjz76aNjz3dVMDXn11VdNenq6McaY\nDz74wNx+++2WcY899pjp16+fGTp0qOXzL7zwgsnLyzPGGHP48GFz7bXXWsatX7/eTJs2zRhjzNtv\nvx32eGVlZebOO+80N9xwg9m9e7dlzPHjx82AAQPCvraTx5g4caKprKw0xcXFZtGiRRHjc3NzTWFh\nYdi5T5482RhjzJtvvmnuuuuukJgVK1aY7OxsY4wxX3zxhRk3bpz/ueAcTpw40bz99tvGGGOmT59u\n1q1bZxl36NAhM378eNOzZ0/zzDPPWMaMGjXKfPzxx8YYY5599lmTn59vGXfHHXeYd9991xhjTHp6\nulm3bp3l/9uPPvrIjBkzxv9YcMyqVavM448/HvL6g+PS09PNyy+/bIwxZuvWrWbjxo1hz6UjR46Y\nX//612b//v2WY915553mjTfeMMYY85vf/Ma8/vrrITEDBw4027ZtM8YYs3DhQrN69WrLczM49zNn\nzgyJCc671ThWebeKC8671fGs8m41VnDurWKC856Xlxf2/Xlq3q3GCs77rFmzQmKs8m71Xg/O+4IF\nC0JigvNuNY5V3q3igvNudTyrvFuNFZx3q5jgvD/00ENhf94Fn+9uV2PLm9u2bVP37t0lSR06dNDO\nnTst45o3b67FixeHHad3796aMmWKJMkYo4SEBMu466+/XrNmzZIk7du3L6SbOmnevHkaPny4mjRp\nEvaYn376qY4dO6Zx48ZpzJgx2r59e0jMm2++qTZt2mjSpEm6/fbbdd1114Ud78MPP9Tu3bs1bNgw\ny+dbtmypyspKVVVVqbi4WD5faEO+e/duXXPNNZKkVq1a6YsvvvA/F5zDjz76SF27dpUkXXPNNXrr\nrbcs40pKSnT33XdrwIABYcdauHCh2rVrJ+mHbrpOnTqWcYsXL1aXLl1UVlamb775RikpKSExhw8f\n1sKFC5WZmRn2eDt37tQbb7yhUaNGKTMzU8XFxZZx77//vvbv36+xY8dqzZo16tq1a9hzafHixbr5\n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\nAOAa/w+IGqYTeyOBtQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.heatmap(np.array(model_vars) + np.array(biases))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Conclusion\n", "\n", "There you have it. Notice that there is a time when the second hypothesis set does better, but as the data increases, the fourth hypothesis wins the day. And then finally as we get even more data, the final and most complex hypothesis will win out. \n", "\n", "This is the fundamental nature of things here, complexity is good, but only when you have the data.\n", "\n", "Next time we will show this off one final time with an analysis of why this fundamentally happens. But until then, remember either one of the above: the bias variance trade off of the approximation generalization trade off." ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "## Learning Objectives\n", "\n", "Today we learn about the second most important tradeoff: the bias variance tradeoff." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Comprehension Questions\n", "\n", "1.\tWhere does the randomness come in training an ML algorithm (say linear regression)?\n", "2.\tDo we ever really know the bias of a model if you only have a sample from a population?\n", "3.\tDoes bias depend on your data sample?\n", "4.\tWhy does bias + variance = test error?\n", "5.\tWhen you have a lot of data points are low bias models better than high bias ones?\n", "6.\tWhy does variance always seem to work against us?\n", "7.\tWhat is the lowest bias model?\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" } }, "nbformat": 4, "nbformat_minor": 2 }