"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/jpeg": "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\n",
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from IPython.display import YouTubeVideo\n",
"YouTubeVideo('S4ZUwgesjS8')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Last time, we trained our Neural Network, and it made suspiciously good predictions of your test score based on how many hours you slept, and how many hours you studied the night before. Before we celebrate and begin changing our sleep and study habits, we need some way to ensure that our model reflects the real world. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To do this, let’s first spend some time thinking about data. Like a lot of data, our input and output values come from real world observations. The assumption here is that there is some underlying process, and our observations give us insight into the process - BUT our observations are not the same thing as the process, they are just a sample."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Our observation says that when we sleep for 3 hours and study for 5 hours, the grade we earned was a 75. But does this mean that every time you sleep for 3 hours and study for 5 hours you will earn a 75? Of course not, because there are other variables that matter here, such as the difficulty of test, or whether you’ve been paying attention in lectures – we could quantify these variables to build a better model, but even if we did, there would still an element of uncertainty that we could never explicitly model – for example, maybe the test was multiple choice, and you guessed on a few problems. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"One way to think about this problem is that observations are composed of signal and noise. Nate Silver, the guy who correctly predicted the US election results for 50 out of 50 US states in 2012, wrote a great book on exactly this. The idea is that we’re interested in an underlying process, the signal, but in real data, our signal will always be obscured by some level of noise. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"An interesting example of this shows up when comparing the SAT scores of students who take the SAT both Junior and Senior year. Right on the college board’s website it says: “The higher a student's scores as a junior, the more likely that student's subsequent scores will drop”. Why would this be? It seems like students who did well junior year would also do well senior year. We can make sense of this by considering that SAT scores are composed of a signal and a noise component – the signal being the underlying aptitude of the student, and the noise being other factors that effect test scores, basically if the student had a good day or not. Of the students who did well the first time, we expect a disproportionate number to have had a good day – and since having a good day is random, when these students have a regular or bad test day on their next test, their scores will go down. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So if we can convince our model to fit the signal and not the noise, we should be able to avoid overfitting. First, we’ll work on diagnosing overfitting, then we’ll work on fixing it. Last time we showed our model predictions across the input space for various combinations of hours sleeping and hours studying. We’ll add a couple more data points to make overfitting a bit more obvious and retrain our model on the new dataset. If we re-examine our predictions across our sample space, we begin to see some strange behavior. Neural networks are really powerful learning models, and we see here that all that power has been used to fit our data really closely – which creates a problem - our model is no longer reflective of the real world. According to our model, in some cases, studying more will actually push our score down, this seems unlikely - hopefully studying more will not decrease your score. "
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Populating the interactive namespace from numpy and matplotlib\n"
]
}
],
"source": [
"%pylab inline\n",
"from partSix import *"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"NN = Neural_Network()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# X = (hours sleeping, hours studying), y = Score on test\n",
"X = np.array(([3,5], [5,1], [10,2], [6,1.5]), dtype=float)\n",
"y = np.array(([75], [82], [93], [70]), dtype=float)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Test Score')"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"