Skip to content

Instantly share code, notes, and snippets.

@Z30G0D
Created April 7, 2018 12:03
Show Gist options
  • Save Z30G0D/aa7bea87f692bd99bfaa5a0eafcbb82f to your computer and use it in GitHub Desktop.
Save Z30G0D/aa7bea87f692bd99bfaa5a0eafcbb82f to your computer and use it in GitHub Desktop.
deeplearning.ai exercise week 2 regularization
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Regularization\n",
"\n",
"Welcome to the second assignment of this week. Deep Learning models have so much flexibility and capacity that **overfitting can be a serious problem**, if the training dataset is not big enough. Sure it does well on the training set, but the learned network **doesn't generalize to new examples** that it has never seen!\n",
"\n",
"**You will learn to:** Use regularization in your deep learning models.\n",
"\n",
"Let's first import the packages you are going to use."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# import packages\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from reg_utils import sigmoid, relu, plot_decision_boundary, initialize_parameters, load_2D_dataset, predict_dec\n",
"from reg_utils import compute_cost, predict, forward_propagation, backward_propagation, update_parameters\n",
"import sklearn\n",
"import sklearn.datasets\n",
"import scipy.io\n",
"from testCases import *\n",
"\n",
"%matplotlib inline\n",
"plt.rcParams['figure.figsize'] = (7.0, 4.0) # set default size of plots\n",
"plt.rcParams['image.interpolation'] = 'nearest'\n",
"plt.rcParams['image.cmap'] = 'gray'"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"**Problem Statement**: You have just been hired as an AI expert by the French Football Corporation. They would like you to recommend positions where France's goal keeper should kick the ball so that the French team's players can then hit it with their head. \n",
"\n",
"<img src=\"images/field_kiank.png\" style=\"width:600px;height:350px;\">\n",
"<caption><center> <u> **Figure 1** </u>: **Football field**<br> The goal keeper kicks the ball in the air, the players of each team are fighting to hit the ball with their head </center></caption>\n",
"\n",
"\n",
"They give you the following 2D dataset from France's past 10 games."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7e16624ef0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"train_X, train_Y, test_X, test_Y = load_2D_dataset()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Each dot corresponds to a position on the football field where a football player has hit the ball with his/her head after the French goal keeper has shot the ball from the left side of the football field.\n",
"- If the dot is blue, it means the French player managed to hit the ball with his/her head\n",
"- If the dot is red, it means the other team's player hit the ball with their head\n",
"\n",
"**Your goal**: Use a deep learning model to find the positions on the field where the goalkeeper should kick the ball."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Analysis of the dataset**: This dataset is a little noisy, but it looks like a diagonal line separating the upper left half (blue) from the lower right half (red) would work well. \n",
"\n",
"You will first try a non-regularized model. Then you'll learn how to regularize it and decide which model you will choose to solve the French Football Corporation's problem. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1 - Non-regularized model\n",
"\n",
"You will use the following neural network (already implemented for you below). This model can be used:\n",
"- in *regularization mode* -- by setting the `lambd` input to a non-zero value. We use \"`lambd`\" instead of \"`lambda`\" because \"`lambda`\" is a reserved keyword in Python. \n",
"- in *dropout mode* -- by setting the `keep_prob` to a value less than one\n",
"\n",
"You will first try the model without any regularization. Then, you will implement:\n",
"- *L2 regularization* -- functions: \"`compute_cost_with_regularization()`\" and \"`backward_propagation_with_regularization()`\"\n",
"- *Dropout* -- functions: \"`forward_propagation_with_dropout()`\" and \"`backward_propagation_with_dropout()`\"\n",
"\n",
"In each part, you will run this model with the correct inputs so that it calls the functions you've implemented. Take a look at the code below to familiarize yourself with the model."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def model(X, Y, learning_rate = 0.3, num_iterations = 30000, print_cost = True, lambd = 0, keep_prob = 1):\n",
" \"\"\"\n",
" Implements a three-layer neural network: LINEAR->RELU->LINEAR->RELU->LINEAR->SIGMOID.\n",
" \n",
" Arguments:\n",
" X -- input data, of shape (input size, number of examples)\n",
" Y -- true \"label\" vector (1 for blue dot / 0 for red dot), of shape (output size, number of examples)\n",
" learning_rate -- learning rate of the optimization\n",
" num_iterations -- number of iterations of the optimization loop\n",
" print_cost -- If True, print the cost every 10000 iterations\n",
" lambd -- regularization hyperparameter, scalar\n",
" keep_prob - probability of keeping a neuron active during drop-out, scalar.\n",
" \n",
" Returns:\n",
" parameters -- parameters learned by the model. They can then be used to predict.\n",
" \"\"\"\n",
" \n",
" grads = {}\n",
" costs = [] # to keep track of the cost\n",
" m = X.shape[1] # number of examples\n",
" layers_dims = [X.shape[0], 20, 3, 1]\n",
" \n",
" # Initialize parameters dictionary.\n",
" parameters = initialize_parameters(layers_dims)\n",
"\n",
" # Loop (gradient descent)\n",
"\n",
" for i in range(0, num_iterations):\n",
"\n",
" # Forward propagation: LINEAR -> RELU -> LINEAR -> RELU -> LINEAR -> SIGMOID.\n",
" if keep_prob == 1:\n",
" a3, cache = forward_propagation(X, parameters)\n",
" elif keep_prob < 1:\n",
" a3, cache = forward_propagation_with_dropout(X, parameters, keep_prob)\n",
" \n",
" # Cost function\n",
" if lambd == 0:\n",
" cost = compute_cost(a3, Y)\n",
" else:\n",
" cost = compute_cost_with_regularization(a3, Y, parameters, lambd)\n",
" \n",
" # Backward propagation.\n",
" assert(lambd==0 or keep_prob==1) # it is possible to use both L2 regularization and dropout, \n",
" # but this assignment will only explore one at a time\n",
" if lambd == 0 and keep_prob == 1:\n",
" grads = backward_propagation(X, Y, cache)\n",
" elif lambd != 0:\n",
" grads = backward_propagation_with_regularization(X, Y, cache, lambd)\n",
" elif keep_prob < 1:\n",
" grads = backward_propagation_with_dropout(X, Y, cache, keep_prob)\n",
" \n",
" # Update parameters.\n",
" parameters = update_parameters(parameters, grads, learning_rate)\n",
" \n",
" # Print the loss every 10000 iterations\n",
" if print_cost and i % 10000 == 0:\n",
" print(\"Cost after iteration {}: {}\".format(i, cost))\n",
" if print_cost and i % 1000 == 0:\n",
" costs.append(cost)\n",
" \n",
" # plot the cost\n",
" plt.plot(costs)\n",
" plt.ylabel('cost')\n",
" plt.xlabel('iterations (x1,000)')\n",
" plt.title(\"Learning rate =\" + str(learning_rate))\n",
" plt.show()\n",
" \n",
" return parameters"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's train the model without any regularization, and observe the accuracy on the train/test sets."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Cost after iteration 0: 0.6557412523481002\n",
"Cost after iteration 10000: 0.16329987525724216\n",
"Cost after iteration 20000: 0.13851642423255986\n"
]
},
{
"data": {
"image/png": "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\nAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7ddb7067f0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"On the training set:\n",
"Accuracy: 0.947867298578\n",
"On the test set:\n",
"Accuracy: 0.915\n"
]
}
],
"source": [
"parameters = model(train_X, train_Y)\n",
"print (\"On the training set:\")\n",
"predictions_train = predict(train_X, train_Y, parameters)\n",
"print (\"On the test set:\")\n",
"predictions_test = predict(test_X, test_Y, parameters)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The train accuracy is 94.8% while the test accuracy is 91.5%. This is the **baseline model** (you will observe the impact of regularization on this model). Run the following code to plot the decision boundary of your model."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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\n+P8BBRFqyC1znewAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7ddb381c88>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.title(\"Model without regularization\")\n",
"axes = plt.gca()\n",
"axes.set_xlim([-0.75,0.40])\n",
"axes.set_ylim([-0.75,0.65])\n",
"plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The non-regularized model is obviously overfitting the training set. It is fitting the noisy points! Lets now look at two techniques to reduce overfitting."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2 - L2 Regularization\n",
"\n",
"The standard way to avoid overfitting is called **L2 regularization**. It consists of appropriately modifying your cost function, from:\n",
"$$J = -\\frac{1}{m} \\sum\\limits_{i = 1}^{m} \\large{(}\\small y^{(i)}\\log\\left(a^{[L](i)}\\right) + (1-y^{(i)})\\log\\left(1- a^{[L](i)}\\right) \\large{)} \\tag{1}$$\n",
"To:\n",
"$$J_{regularized} = \\small \\underbrace{-\\frac{1}{m} \\sum\\limits_{i = 1}^{m} \\large{(}\\small y^{(i)}\\log\\left(a^{[L](i)}\\right) + (1-y^{(i)})\\log\\left(1- a^{[L](i)}\\right) \\large{)} }_\\text{cross-entropy cost} + \\underbrace{\\frac{1}{m} \\frac{\\lambda}{2} \\sum\\limits_l\\sum\\limits_k\\sum\\limits_j W_{k,j}^{[l]2} }_\\text{L2 regularization cost} \\tag{2}$$\n",
"\n",
"Let's modify your cost and observe the consequences.\n",
"\n",
"**Exercise**: Implement `compute_cost_with_regularization()` which computes the cost given by formula (2). To calculate $\\sum\\limits_k\\sum\\limits_j W_{k,j}^{[l]2}$ , use :\n",
"```python\n",
"np.sum(np.square(Wl))\n",
"```\n",
"Note that you have to do this for $W^{[1]}$, $W^{[2]}$ and $W^{[3]}$, then sum the three terms and multiply by $ \\frac{1}{m} \\frac{\\lambda}{2} $."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# GRADED FUNCTION: compute_cost_with_regularization\n",
"\n",
"def compute_cost_with_regularization(A3, Y, parameters, lambd):\n",
" \"\"\"\n",
" Implement the cost function with L2 regularization. See formula (2) above.\n",
" \n",
" Arguments:\n",
" A3 -- post-activation, output of forward propagation, of shape (output size, number of examples)\n",
" Y -- \"true\" labels vector, of shape (output size, number of examples)\n",
" parameters -- python dictionary containing parameters of the model\n",
" \n",
" Returns:\n",
" cost - value of the regularized loss function (formula (2))\n",
" \"\"\"\n",
" m = Y.shape[1]\n",
" W1 = parameters[\"W1\"]\n",
" W2 = parameters[\"W2\"]\n",
" W3 = parameters[\"W3\"]\n",
" \n",
" cross_entropy_cost = compute_cost(A3, Y) # This gives you the cross-entropy part of the cost\n",
" \n",
" ### START CODE HERE ### (approx. 1 line)\n",
" conc = np.concatenate([np.ravel(W1),np.ravel(W2),np.ravel(W3)], axis=0)\n",
" L2_regularization_cost = (np.sum(np.square(conc))) * (lambd / (2 * m))\n",
" ### END CODER HERE ###\n",
" \n",
" cost = cross_entropy_cost + L2_regularization_cost\n",
" \n",
" return cost"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cost = 1.78648594516\n"
]
}
],
"source": [
"A3, Y_assess, parameters = compute_cost_with_regularization_test_case()\n",
"#np.ravel(parameters[\"W2\"]).shape\n",
"print(\"cost = \" + str(compute_cost_with_regularization(A3, Y_assess, parameters, lambd = 0.1)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Expected Output**: \n",
"\n",
"<table> \n",
" <tr>\n",
" <td>\n",
" **cost**\n",
" </td>\n",
" <td>\n",
" 1.78648594516\n",
" </td>\n",
" \n",
" </tr>\n",
"\n",
"</table> "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Of course, because you changed the cost, you have to change backward propagation as well! All the gradients have to be computed with respect to this new cost. \n",
"\n",
"**Exercise**: Implement the changes needed in backward propagation to take into account regularization. The changes only concern dW1, dW2 and dW3. For each, you have to add the regularization term's gradient ($\\frac{d}{dW} ( \\frac{1}{2}\\frac{\\lambda}{m} W^2) = \\frac{\\lambda}{m} W$)."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# GRADED FUNCTION: backward_propagation_with_regularization\n",
"\n",
"def backward_propagation_with_regularization(X, Y, cache, lambd):\n",
" \"\"\"\n",
" Implements the backward propagation of our baseline model to which we added an L2 regularization.\n",
" \n",
" Arguments:\n",
" X -- input dataset, of shape (input size, number of examples)\n",
" Y -- \"true\" labels vector, of shape (output size, number of examples)\n",
" cache -- cache output from forward_propagation()\n",
" lambd -- regularization hyperparameter, scalar\n",
" \n",
" Returns:\n",
" gradients -- A dictionary with the gradients with respect to each parameter, activation and pre-activation variables\n",
" \"\"\"\n",
" \n",
" m = X.shape[1]\n",
" (Z1, A1, W1, b1, Z2, A2, W2, b2, Z3, A3, W3, b3) = cache\n",
" \n",
" dZ3 = A3 - Y\n",
" \n",
" ### START CODE HERE ### (approx. 1 line)\n",
" dW3 = 1./m * np.dot(dZ3, A2.T) + ((lambd/m) * W3)\n",
" ### END CODE HERE ###\n",
" db3 = 1./m * np.sum(dZ3, axis=1, keepdims = True)\n",
" \n",
" dA2 = np.dot(W3.T, dZ3)\n",
" dZ2 = np.multiply(dA2, np.int64(A2 > 0))\n",
" ### START CODE HERE ### (approx. 1 line)\n",
" dW2 = 1./m * np.dot(dZ2, A1.T) + ((lambd/m) * W2)\n",
" ### END CODE HERE ###\n",
" db2 = 1./m * np.sum(dZ2, axis=1, keepdims = True)\n",
" \n",
" dA1 = np.dot(W2.T, dZ2)\n",
" dZ1 = np.multiply(dA1, np.int64(A1 > 0))\n",
" ### START CODE HERE ### (approx. 1 line)\n",
" dW1 = 1./m * np.dot(dZ1, X.T) + ((lambd/m) * W1)\n",
" ### END CODE HERE ###\n",
" db1 = 1./m * np.sum(dZ1, axis=1, keepdims = True)\n",
" \n",
" gradients = {\"dZ3\": dZ3, \"dW3\": dW3, \"db3\": db3,\"dA2\": dA2,\n",
" \"dZ2\": dZ2, \"dW2\": dW2, \"db2\": db2, \"dA1\": dA1, \n",
" \"dZ1\": dZ1, \"dW1\": dW1, \"db1\": db1}\n",
" \n",
" return gradients"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"dW1 = [[-0.25604646 0.12298827 -0.28297129]\n",
" [-0.17706303 0.34536094 -0.4410571 ]]\n",
"dW2 = [[ 0.79276486 0.85133918]\n",
" [-0.0957219 -0.01720463]\n",
" [-0.13100772 -0.03750433]]\n",
"dW3 = [[-1.77691347 -0.11832879 -0.09397446]]\n"
]
}
],
"source": [
"X_assess, Y_assess, cache = backward_propagation_with_regularization_test_case()\n",
"\n",
"grads = backward_propagation_with_regularization(X_assess, Y_assess, cache, lambd = 0.7)\n",
"print (\"dW1 = \"+ str(grads[\"dW1\"]))\n",
"print (\"dW2 = \"+ str(grads[\"dW2\"]))\n",
"print (\"dW3 = \"+ str(grads[\"dW3\"]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Expected Output**:\n",
"\n",
"<table> \n",
" <tr>\n",
" <td>\n",
" **dW1**\n",
" </td>\n",
" <td>\n",
" [[-0.25604646 0.12298827 -0.28297129]\n",
" [-0.17706303 0.34536094 -0.4410571 ]]\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td>\n",
" **dW2**\n",
" </td>\n",
" <td>\n",
" [[ 0.79276486 0.85133918]\n",
" [-0.0957219 -0.01720463]\n",
" [-0.13100772 -0.03750433]]\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td>\n",
" **dW3**\n",
" </td>\n",
" <td>\n",
" [[-1.77691347 -0.11832879 -0.09397446]]\n",
" </td>\n",
" </tr>\n",
"</table> "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's now run the model with L2 regularization $(\\lambda = 0.7)$. The `model()` function will call: \n",
"- `compute_cost_with_regularization` instead of `compute_cost`\n",
"- `backward_propagation_with_regularization` instead of `backward_propagation`"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Cost after iteration 0: 0.9536498020982878\n",
"Cost after iteration 10000: 0.44453547744424954\n",
"Cost after iteration 20000: 0.4445298062330345\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAb0AAAEWCAYAAADy9UlpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHN9JREFUeJzt3Xu4XXV95/H3J+ec5AQ4h4umiFwEp1il1ksnQm1tS2tr\noWOHyqiFOhW1HcQWp2PtVNqZR60dn8fW2itYxIqXp1atRTS1qdReFLVeEhSQi9QURQKokWuihNy+\n88deJ2y255Zwdnay1vv1PPs5e6299tq/dRacT36/tfbvm6pCkqQuWDbqBkiStK8YepKkzjD0JEmd\nYehJkjrD0JMkdYahJ0nqDENPGrIk/5DknFG3Q5KhpxZL8tUkPzXqdlTV6VX1zlG3AyDJx5L8yj74\nnBVJLk1yX5KvJ/mNebb9iSRfTHJPkjuTXJ7k6GG3Ud1k6EkPQ5LxUbdhxv7UFuC1wInAY4CfAH4r\nyWlzbHsD8LPA4cCjgS8Df7EP2qgOMvTUSUmeneTqpnfxb0me1PfaBUn+I8nmJDckeU7fay9K8qkk\nf5zkTuC1zbpPJvnDJHcn+UqS0/ves7t3tYhtT0hyZfPZ/5TkoiR/NccxnJpkY5JXJfk68PYkhyf5\ncJJNzf4/nOSYZvvXAz8KXJhkS5ILm/WPT/LRJHcluSnJ85fgV3wO8HtVdXdV3QhcArxotg2r6htV\ndWs9OD3UTuB7l6AN0ncx9NQ5SZ4KXAq8FHgE8BZgTZIVzSb/QS8cDgV+F/irJEf17eIU4GbgSOD1\nfetuAh4J/AHwtiSZownzbfvXwOeadr0W+KUFDudRwBH0elTn0vt/+u3N8nHA/cCFAFX1f4BPAOdX\n1SFVdX6Sg4GPNp/7PcBZwJuTnDTbhyV5c/MPhdke1zbbHA4cBVzT99ZrgO+f6yCSHJfknqa9v9n8\nXqQlZ+ipi84F3lJVn62qnc31tgeAHwKoqvdX1e1Vtauq3kdvuO3kvvffXlV/XlU7qur+Zt0tVfXW\nqtoJvJPeH/0j5/j8WbdNchzwNODVVbWtqj4JrFngWHYBr6mqB6rq/qq6s6ouq6rvVNVmeqH84/O8\n/9nAV6vq7c3xfAG4DHjebBtX1a9W1WFzPGZ6y4c0P+/te+t9wNRcjaiqr1XVYfT+IfB/gS8tcNzS\nXjH01EWPAV7Z30sBjqV3PYkkL+wb+rwHeCK9P8Yzbp1ln1+feVJV32meHjLLdvNt+2jgrr51c31W\nv01VtXVmIclBSd6S5JYk9wFXAoclGZvj/Y8BThn4XbyAXg9yb21pfk73rTsU2LzQG6vqLnr/EPjQ\nfnaNUi1h6KmLbgVeP9BLOaiq3pPkMcBbgfOBRzS9j+uA/qHKYZUmuQM4IslBfeuOXeA9g215JfB9\nwClVNQ38WLM+c2x/K/Dxgd/FIVX1stk+LMnFzfXA2R7XA1TV3c2xPLnvrU8Grl/gWGaM0xtqnV5o\nQ2lPGXpqu4kkk32PcXqhdl6SU9JzcJL/kmQKOJheMGwCSPJiej29oauqW4D19G6OWZ7k6cDP7eFu\npuhdF7snyRHAawZe/wbw2L7lDwOPS/JLSSaax9OSPGGONp7XhOJsj/5rdu8C/m9zY80TgP8BvGO2\nfSY5M8n3JVmWZBXwR8AXml6ftKQMPbXdWnohMPN4bVWtp/dH+ELgbmADzZ2FVXUD8Cbg0/QC4geA\nT+3D9r4AeDpwJ/D/gPfRu964WH8CrAS+BXwG+MjA638KPLe5s/PPmut+z6J3A8vt9IZefx9YwcPz\nGno3BN0CfAz4g6ra3ZamZ/ijzeLRTTs3A1+kd53yOUhDEIvISvuvJO8DvlRVgz02SXvBnp60H2mG\nFv9TM9R3GnAG8MFRt0tqC++OkvYvjwI+QO97ehuBlzVfI5C0BBzelCR1hsObkqTOOOCGNx/5yEfW\n8ccfP+pmSJL2I1ddddW3qmrVQtsdcKF3/PHHs379+lE3Q5K0H0lyy2K2c3hTktQZhp4kqTMMPUlS\nZxh6kqTOMPQkSZ1h6EmSOsPQkyR1RidD792fvYXLv7Bx1M2QJO1jnQy996/fyOVfuH3UzZAk7WOd\nDL2pyXHuu3/7qJshSdrHOhl60ysnuG+roSdJXdPN0Juc4L77d4y6GZKkfaybobdy3J6eJHVQN0Nv\ncoJtO3axdfvOUTdFkrQPdTP0Vk4AsHmrQ5yS1CXdDL3JXhlBhzglqVu6GXpNT8+vLUhSt3Qz9Hb3\n9BzelKQu6Wjo2dOTpC7qZujNDG96TU+SOqWbobe7p+fwpiR1SSdDb3JiGRNjsacnSR3TydBLwvTk\nBJsNPUnqlE6GHjSTTju8KUmd0t3Qm3T+TUnqms6G3tTkhF9ZkKSOGWroJTktyU1JNiS5YJbXD09y\neZJrk3wuyROH2Z5+vUoLDm9KUpcMLfSSjAEXAacDJwFnJzlpYLPfAa6uqicBLwT+dFjtGTRtT0+S\nOmeYPb2TgQ1VdXNVbQPeC5wxsM1JwL8AVNWXgOOTHDnENu1m9XRJ6p5hht7RwK19yxubdf2uAc4E\nSHIy8BjgmMEdJTk3yfok6zdt2rQkjZueHGfr9l1s27FrSfYnSdr/jfpGljcAhyW5Gng58AXguyq7\nVtUlVbW6qlavWrVqST74wZp69vYkqSvGh7jv24Bj+5aPadbtVlX3AS8GSBLgK8DNQ2zTbrunItu6\ng0ccsmJffKQkacSG2dNbB5yY5IQky4GzgDX9GyQ5rHkN4FeAK5sgHLqpmfJC3swiSZ0xtJ5eVe1I\ncj5wBTAGXFpV1yc5r3n9YuAJwDuTFHA98MvDas8gKy1IUvcMc3iTqloLrB1Yd3Hf808DjxtmG+Zi\npQVJ6p5R38gyMtMrZ6qn29OTpK7obuhZPV2SOqezoXfQ8jHGlllTT5K6pLOh16upN85m59+UpM7o\nbOjBTE09e3qS1BWdDr2pSSstSFKXdDr0rLQgSd1i6HkjiyR1RrdDb+W4X06XpA7pdujZ05OkTul2\n6K2c4DvbdrJ9pzX1JKkLuh16TaWFLd7BKUmd0O3Qs9KCJHVKp0NvykoLktQpnQ69meFNe3qS1A3d\nDr2VVlqQpC4x9LCnJ0ld0e3Qmxne9JqeJHVCp0Pv4OXjLIs9PUnqik6H3rJlYWpywpp6ktQRnQ49\naMoLeSOLJHVC50PP+TclqTsMPSstSFJnGHr29CSpMwy9lVZPl6SuMPQmJ7jPuzclqRMMvZXjbHlg\nBzt31aibIkkaMkOvqbRgTT1Jar/Oh96UlRYkqTM6H3ozk07f680sktR6Qw29JKcluSnJhiQXzPL6\noUn+Lsk1Sa5P8uJhtmc2M8Ob9vQkqf2GFnpJxoCLgNOBk4Czk5w0sNmvATdU1ZOBU4E3JVk+rDbN\nZnqllRYkqSuG2dM7GdhQVTdX1TbgvcAZA9sUMJUkwCHAXcA+TR97epLUHcMMvaOBW/uWNzbr+l0I\nPAG4Hfgi8OtVtWtwR0nOTbI+yfpNmzYtaSOtni5J3THqG1l+BrgaeDTwFODCJNODG1XVJVW1uqpW\nr1q1akkbMLVinAS/oC5JHTDM0LsNOLZv+ZhmXb8XAx+ong3AV4DHD7FN32XZsnDIinE2O7wpSa03\nzNBbB5yY5ITm5pSzgDUD23wNeCZAkiOB7wNuHmKbZjU9OeGNLJLUAePD2nFV7UhyPnAFMAZcWlXX\nJzmvef1i4PeAdyT5IhDgVVX1rWG1aS5Tk+PeyCJJHTC00AOoqrXA2oF1F/c9vx141jDbsBhWWpCk\nbhj1jSz7BSstSFI3GHrMVE+3pydJbWfoYfV0SeoKQ4/eNb0tD+xglzX1JKnVDD1genKcKtiyzet6\nktRmhh598296XU+SWs3Qw0oLktQVhh5WWpCkrjD0sNKCJHWFoUd/T8/hTUlqM0OP/mt69vQkqc0M\nPeCQFU3oeU1PklrN0APGx5Zx8PIxNju8KUmtZug1rLQgSe1n6DWcf1OS2s/Qa/QqLTi8KUltZug1\n7OlJUvsZeo3plYaeJLWdodeYnnR4U5LaztBrTK+cYPPW7VRZU0+S2srQa0xNjrOr4Nvbdo66KZKk\nITH0GtbUk6T2M/QauysteDOLJLWWodd4sKfnzSyS1FaGXsNKC5LUfosKvSTPW8y6A5nV0yWp/Rbb\n0/vtRa47YFk9XZLab3y+F5OcDvwscHSSP+t7aRpo1cWvqcmZmnqtOixJUp95Qw+4HVgP/Ffgqr71\nm4FXDKtRozAxtoyVE2NsdnhTklpr3tCrqmuAa5L8dVVtB0hyOHBsVd29Lxq4L1lpQZLabbHX9D6a\nZDrJEcDngbcm+eOF3pTktCQ3JdmQ5IJZXv/fSa5uHtcl2dl8xkhYaUGS2m2xoXdoVd0HnAm8q6pO\nAZ453xuSjAEXAacDJwFnJzmpf5uqemNVPaWqnkLvxpiPV9Vde3oQS8VKC5LUbosNvfEkRwHPBz68\nyPecDGyoqpurahvwXuCMebY/G3jPIvc9FFZakKR2W2zovQ64AviPqlqX5LHAlxd4z9HArX3LG5t1\n3yXJQcBpwGVzvH5ukvVJ1m/atGmRTd5z9vQkqd0WFXpV9f6qelJVvaxZvrmq/tsStuPngE/NNbRZ\nVZdU1eqqWr1q1aol/NiHmp6c8Ht6ktRii52R5Zgklyf5ZvO4LMkxC7ztNuDYvuVjmnWzOYsRD21C\n77t6923dYU09SWqpxQ5vvh1YAzy6efxds24+64ATk5yQZDm9YFszuFGSQ4EfBz602EYPy/TKCXbu\nKu7fbk09SWqjxYbeqqp6e1XtaB7vAOYdZ6yqHcD59K4F3gj8TVVdn+S8JOf1bfoc4B+r6tt70f4l\nZaUFSWq3hWZkmXFnkv/Og0OQZwN3LvSmqloLrB1Yd/HA8juAdyyyHUO1u9LC1u086tDJEbdGkrTU\nFtvTewm9ryt8HbgDeC7woiG1aWSsni5J7bbYnt7rgHNmph5rZk35Q3ph2BpWT5ekdltsT+9J/XNt\nNl8teOpwmjQ60zOVFrymJ0mttNjQW9ZMNA3s7ukttpd4wLCnJ0ntttjgehPw6STvb5afB7x+OE0a\nnd019bymJ0mttKjQq6p3JVkP/GSz6syqumF4zRqNFeNjrBhfxmYLyUpSKy16iLIJudYF3SDn35Sk\n9lrsNb3OsNKCJLWXoTfAnp4ktZehN8BKC5LUXobegF5Pz+FNSWojQ2/A1OS4PT1JailDb8D0ZO+a\nnjX1JKl9DL0B0yvH2b6zeGDHrlE3RZK0xAy9AVZakKT2MvQGOP+mJLWXoTdgptLCvX5BXZJax9Ab\nYE9PktrL0BvgNT1Jai9Db8DuQrJ+QV2SWsfQG7B7eNOeniS1jqE3YMX4MpaPWVNPktrI0BuQhOmV\n497IIkktZOjNwkoLktROht4spqy0IEmtZOjNYtpKC5LUSobeLKyeLkntZOjNotfTc3hTktrG0JvF\nTE09SVK7DDX0kpyW5KYkG5JcMMc2pya5Osn1ST4+zPYs1vTKCbbt2MXW7TtH3RRJ0hIaH9aOk4wB\nFwE/DWwE1iVZU1U39G1zGPBm4LSq+lqS7xlWe/bEzFRkm7fuYHJibMStkSQtlWH29E4GNlTVzVW1\nDXgvcMbANr8IfKCqvgZQVd8cYnsWzUoLktROwwy9o4Fb+5Y3Nuv6PQ44PMnHklyV5IVDbM+iWWlB\nktppaMObe/D5/xl4JrAS+HSSz1TVv/dvlORc4FyA4447buiNml5ppQVJaqNh9vRuA47tWz6mWddv\nI3BFVX27qr4FXAk8eXBHVXVJVa2uqtWrVq0aWoNnTNnTk6RWGmborQNOTHJCkuXAWcCagW0+BDwj\nyXiSg4BTgBuH2KZF2T286TU9SWqVoQ1vVtWOJOcDVwBjwKVVdX2S85rXL66qG5N8BLgW2AX8ZVVd\nN6w2Ldbu4U2/oC5JrTLUa3pVtRZYO7Du4oHlNwJvHGY79tTKiTHGl4XN9vQkqVWckWUWvZp6zsoi\nSW1j6M3B+TclqX0MvTnY05Ok9jH05mD1dElqH0NvDlOT4345XZJaxtCbgz09SWofQ28O0yvHvaYn\nSS1j6M1henKCrdt3sW3HrlE3RZK0RAy9OcyUF/IL6pLUHobeHKy0IEntY+jNwZp6ktQ+ht4crJ4u\nSe1j6M1hatJKC5LUNobeHKypJ0ntY+jNYffwptf0JKk1DL05HLx8jGWBzd69KUmtYejNwZp6ktQ+\nht48nH9TktrF0JtHb/5NhzclqS0MvXlMrbCnJ0ltYujNw0oLktQuht48etf0HN6UpLYw9Obh3ZuS\n1C6G3jymJyf4zrad7NhpTT1JagNDbx4z5YX8groktYOhNw/n35SkdjH05vHg/Jv29CSpDQy9eewu\nL2RPT5JawdCbh9XTJaldDL15zNzIYk9PktphqKGX5LQkNyXZkOSCWV4/Ncm9Sa5uHq8eZnv2lNf0\nJKldxoe14yRjwEXATwMbgXVJ1lTVDQObfqKqnj2sdjwchywfJ4HN9vQkqRWG2dM7GdhQVTdX1Tbg\nvcAZQ/y8JbdsWZhaYaUFSWqLYYbe0cCtfcsbm3WDfjjJtUn+Icn3z7ajJOcmWZ9k/aZNm4bR1jlN\nr7TSgiS1xahvZPk8cFxVPQn4c+CDs21UVZdU1eqqWr1q1ap92sDpSefflKS2GGbo3QYc27d8TLNu\nt6q6r6q2NM/XAhNJHjnENu2xqclxb2SRpJYYZuitA05MckKS5cBZwJr+DZI8Kkma5yc37blziG3a\nY1ZakKT2GNrdm1W1I8n5wBXAGHBpVV2f5Lzm9YuB5wIvS7IDuB84q6pqWG3aG72aeoaeJLXB0EIP\ndg9Zrh1Yd3Hf8wuBC4fZhoerVz3d4U1JaoNR38iy35uenGDLAzvYuWu/6oBKkvaCobeAmVlZttjb\nk6QDnqG3gGkrLUhSaxh6C5hqKi3c680sknTAM/QWYKUFSWoPQ28BD9bU85qeJB3oDL0FHDpTXsie\nniQd8Ay9BVg9XZLaw9BbwCHN3Zub/cqCJB3wDL0FjO2uqWdPT5IOdIbeIvRq6tnTk6QDnaG3CFOT\n9vQkqQ0MvUWw0oIktYOhtwhWWpCkdjD0FmGmp7eflfqTJO2hodbTa4tDD5rgtnvu54TfXksCYwnL\nloVlM8+b5bFm3bJmXa8mPATIzEJj92uBkIes273NQDu+ax/zNXqOF+d9zwgMHpM0w/8yuuFxR05x\n0Qt+cJ99nqG3CC/5kRM44qDl7NhV7KreY+cues93FTubn7sKdlZRVbvr71XBTP9wpqNY7H7S99pD\ne5GDfcrBTuZ8fc65eqT7XT91v2uQ9hflfxydccwRK/fp5xl6i3DsEQfx8meeOOpmSJIeJq/pSZI6\nw9CTJHWGoSdJ6gxDT5LUGYaeJKkzDD1JUmcYepKkzjD0JEmdkQNtPskkm4BblmBXjwS+tQT7OZB4\nzN3RxeP2mLthrmN+TFWtWujNB1zoLZUk66tq9ajbsS95zN3RxeP2mLvh4R6zw5uSpM4w9CRJndHl\n0Ltk1A0YAY+5O7p43B5zNzysY+7sNT1JUvd0uacnSeoYQ0+S1BmdC70kpyW5KcmGJBeMuj37SpKv\nJvlikquTrB91e4YhyaVJvpnkur51RyT5aJIvNz8PH2Ubl9ocx/zaJLc15/rqJD87yjYutSTHJvnX\nJDckuT7JrzfrW3uu5znmtp/rySSfS3JNc9y/26zf63PdqWt6ScaAfwd+GtgIrAPOrqobRtqwfSDJ\nV4HVVdXaL7Im+TFgC/Cuqnpis+4PgLuq6g3NP3IOr6pXjbKdS2mOY34tsKWq/nCUbRuWJEcBR1XV\n55NMAVcBPw+8iJae63mO+fm0+1wHOLiqtiSZAD4J/DpwJnt5rrvW0zsZ2FBVN1fVNuC9wBkjbpOW\nSFVdCdw1sPoM4J3N83fS+0PRGnMcc6tV1R1V9fnm+WbgRuBoWnyu5znmVqueLc3iRPMoHsa57lro\nHQ3c2re8kQ78h9Mo4J+SXJXk3FE3Zh86sqruaJ5/HThylI3Zh16e5Npm+LM1w3yDkhwPPBX4LB05\n1wPHDC0/10nGklwNfBP4aFU9rHPdtdDrsmdU1VOA04Ffa4bFOqV6Y/ldGM//C+CxwFOAO4A3jbY5\nw5HkEOAy4H9V1X39r7X1XM9yzK0/11W1s/nbdQxwcpInDry+R+e6a6F3G3Bs3/IxzbrWq6rbmp/f\nBC6nN9TbBd9orofMXBf55ojbM3RV9Y3mD8Uu4K208Fw313cuA95dVR9oVrf6XM92zF041zOq6h7g\nX4HTeBjnumuhtw44MckJSZYDZwFrRtymoUtycHPxmyQHA88Crpv/Xa2xBjineX4O8KERtmWfmPlj\n0HgOLTvXzc0NbwNurKo/6nupted6rmPuwLleleSw5vlKejchfomHca47dfcmQHNL758AY8ClVfX6\nETdp6JI8ll7vDmAc+Os2HneS9wCn0is98g3gNcAHgb8BjqNXkur5VdWaGz/mOOZT6Q13FfBV4KV9\n1z8OeEmeAXwC+CKwq1n9O/SucbXyXM9zzGfT7nP9JHo3qozR66T9TVW9Lskj2Mtz3bnQkyR1V9eG\nNyVJHWboSZI6w9CTJHWGoSdJ6gxDT5LUGYaeBCT5t+bn8Ul+cYn3/TuzfdawJPn5JK9eYJvnNbPW\n70qyep7tzmlmsv9yknP61p+Q5LPpVSt5X/O9V9LzZ836a5P8YLN+eZIrk4wv1XFKe8PQk4Cq+uHm\n6fHAHoXeIv6QPyT0+j5rWH4LePMC21xHb6b6K+faIMkR9L73dwq9mT5e0ze34+8Df1xV3wvcDfxy\ns/504MTmcS69abJoJnj/Z+AX9uJ4pCVj6ElAkpmZ3N8A/GhTm+wVzWS3b0yyrum5vLTZ/tQkn0iy\nBrihWffBZkLv62cm9U7yBmBls793939W0yt6Y5Lr0qt1+At9+/5Ykr9N8qUk725m5CDJG9KrqXZt\nku8qJ5PkccADMyWkknwoyQub5y+daUNV3VhVNy3wa/kZehP83lVVdwMfBU5r2vKTwN822/XPcn8G\nvTJHVVWfAQ7rmzXkg8ALFj4b0vA41CA91AXAb1bVswGa8Lq3qp6WZAXwqST/2Gz7g8ATq+orzfJL\nququZrqkdUkuq6oLkpzfTJg76Ex6s2k8md6MKuuSzPS8ngp8P3A78CngR5LcSG+qqcdXVc1MzzTg\nR4DP9y2f27T5K8ArgR/ag9/FXFVJHgHcU1U7BtbP95476PUun7YHny8tOXt60vyeBbywKW3yWXp/\n8E9sXvtcX+AB/M8k1wCfoTex+YnM7xnAe5oJg78BfJwHQ+FzVbWxmUj4anrDrvcCW4G3JTkT+M4s\n+zwK2DSz0Oz31fQm6n3lKKflqqqdwLaZeWClUTD0pPkFeHlVPaV5nFBVMz29b+/eKDkV+Cng6VX1\nZOALwOTD+NwH+p7vBMabntXJ9IYVnw18ZJb33T/L5/4AcCfw6D1sw1xVSe6kN2w5PrB+vvfMWEEv\nuKWRMPSkh9oM9PdErgBe1pR1IcnjmkoVgw4F7q6q7yR5PA8dRtw+8/4BnwB+obluuAr4MeBzczUs\nvVpqh1bVWuAV9IZFB90IfG/fe06md3PJU4HfTHLCXPtvtj86yT83i1cAz0pyeHMDy7OAK5r6Zf8K\nPLfZrn+W+zX0esZJ8kP0hobvaPb9COBbVbV9vjZIw2ToSQ91LbAzyTVJXgH8Jb0bVT6f5DrgLcx+\nLfwjwHhz3e0N9IY4Z1wCXDtzE0mfy5vPuwb4F+C3qurr87RtCvhwkmuBTwK/Mcs2VwJPbUJnBb0a\nay+pqtvpXdO7tHntOUk2Ak8H/j7JFc37jwJ2ADRDob9HryTXOuB1fcOjrwJ+I8kGekO+b2vWrwVu\nBjY0n/2rfW37CeDv5zk+aeissiC1TJI/Bf6uqv5pL957PvC1qlryOpNJPgBcUFX/vtT7lhbL0JNa\nJsmRwCnDCK691Xx5/ayqeteo26JuM/QkSZ3hNT1JUmcYepKkzjD0JEmdYehJkjrD0JMkdcb/B9Bn\nPz38zTSGAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7ddb2d9588>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"On the train set:\n",
"Accuracy: 0.919431279621\n",
"On the test set:\n",
"Accuracy: 0.92\n"
]
}
],
"source": [
"parameters = model(train_X, train_Y, lambd = 5)\n",
"print (\"On the train set:\")\n",
"predictions_train = predict(train_X, train_Y, parameters)\n",
"print (\"On the test set:\")\n",
"predictions_test = predict(test_X, test_Y, parameters)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Congrats, the test set accuracy increased to 93%. You have saved the French football team!\n",
"\n",
"You are not overfitting the training data anymore. Let's plot the decision boundary."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nRqNpw/8P2Bprf1/OihQAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7ddb283860>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.title(\"Model with L2-regularization\")\n",
"axes = plt.gca()\n",
"axes.set_xlim([-0.75,0.40])\n",
"axes.set_ylim([-0.75,0.65])\n",
"plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"**Observations**:\n",
"- The value of $\\lambda$ is a hyperparameter that you can tune using a dev set.\n",
"- L2 regularization makes your decision boundary smoother. If $\\lambda$ is too large, it is also possible to \"oversmooth\", resulting in a model with high bias.\n",
"\n",
"**What is L2-regularization actually doing?**:\n",
"\n",
"L2-regularization relies on the assumption that a model with small weights is simpler than a model with large weights. Thus, by penalizing the square values of the weights in the cost function you drive all the weights to smaller values. It becomes too costly for the cost to have large weights! This leads to a smoother model in which the output changes more slowly as the input changes. \n",
"\n",
"<font color='blue'>\n",
"**What you should remember** -- the implications of L2-regularization on:\n",
"- The cost computation:\n",
" - A regularization term is added to the cost\n",
"- The backpropagation function:\n",
" - There are extra terms in the gradients with respect to weight matrices\n",
"- Weights end up smaller (\"weight decay\"): \n",
" - Weights are pushed to smaller values."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3 - Dropout\n",
"\n",
"Finally, **dropout** is a widely used regularization technique that is specific to deep learning. \n",
"**It randomly shuts down some neurons in each iteration.** Watch these two videos to see what this means!\n",
"\n",
"<!--\n",
"To understand drop-out, consider this conversation with a friend:\n",
"- Friend: \"Why do you need all these neurons to train your network and classify images?\". \n",
"- You: \"Because each neuron contains a weight and can learn specific features/details/shape of an image. The more neurons I have, the more featurse my model learns!\"\n",
"- Friend: \"I see, but are you sure that your neurons are learning different features and not all the same features?\"\n",
"- You: \"Good point... Neurons in the same layer actually don't talk to each other. It should be definitly possible that they learn the same image features/shapes/forms/details... which would be redundant. There should be a solution.\"\n",
"!--> \n",
"\n",
"\n",
"<center>\n",
"<video width=\"620\" height=\"440\" src=\"images/dropout1_kiank.mp4\" type=\"video/mp4\" controls>\n",
"</video>\n",
"</center>\n",
"<br>\n",
"<caption><center> <u> Figure 2 </u>: Drop-out on the second hidden layer. <br> At each iteration, you shut down (= set to zero) each neuron of a layer with probability $1 - keep\\_prob$ or keep it with probability $keep\\_prob$ (50% here). The dropped neurons don't contribute to the training in both the forward and backward propagations of the iteration. </center></caption>\n",
"\n",
"<center>\n",
"<video width=\"620\" height=\"440\" src=\"images/dropout2_kiank.mp4\" type=\"video/mp4\" controls>\n",
"</video>\n",
"</center>\n",
"\n",
"<caption><center> <u> Figure 3 </u>: Drop-out on the first and third hidden layers. <br> $1^{st}$ layer: we shut down on average 40% of the neurons. $3^{rd}$ layer: we shut down on average 20% of the neurons. </center></caption>\n",
"\n",
"\n",
"When you shut some neurons down, you actually modify your model. The idea behind drop-out is that at each iteration, you train a different model that uses only a subset of your neurons. With dropout, your neurons thus become less sensitive to the activation of one other specific neuron, because that other neuron might be shut down at any time. \n",
"\n",
"### 3.1 - Forward propagation with dropout\n",
"\n",
"**Exercise**: Implement the forward propagation with dropout. You are using a 3 layer neural network, and will add dropout to the first and second hidden layers. We will not apply dropout to the input layer or output layer. \n",
"\n",
"**Instructions**:\n",
"You would like to shut down some neurons in the first and second layers. To do that, you are going to carry out 4 Steps:\n",
"1. In lecture, we dicussed creating a variable $d^{[1]}$ with the same shape as $a^{[1]}$ using `np.random.rand()` to randomly get numbers between 0 and 1. Here, you will use a vectorized implementation, so create a random matrix $D^{[1]} = [d^{[1](1)} d^{[1](2)} ... d^{[1](m)}] $ of the same dimension as $A^{[1]}$.\n",
"2. Set each entry of $D^{[1]}$ to be 0 with probability (`1-keep_prob`) or 1 with probability (`keep_prob`), by thresholding values in $D^{[1]}$ appropriately. Hint: to set all the entries of a matrix X to 0 (if entry is less than 0.5) or 1 (if entry is more than 0.5) you would do: `X = (X < 0.5)`. Note that 0 and 1 are respectively equivalent to False and True.\n",
"3. Set $A^{[1]}$ to $A^{[1]} * D^{[1]}$. (You are shutting down some neurons). You can think of $D^{[1]}$ as a mask, so that when it is multiplied with another matrix, it shuts down some of the values.\n",
"4. Divide $A^{[1]}$ by `keep_prob`. By doing this you are assuring that the result of the cost will still have the same expected value as without drop-out. (This technique is also called inverted dropout.)"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [],
"source": [
"# GRADED FUNCTION: forward_propagation_with_dropout\n",
"\n",
"def forward_propagation_with_dropout(X, parameters, keep_prob = 0.5):\n",
" \"\"\"\n",
" Implements the forward propagation: LINEAR -> RELU + DROPOUT -> LINEAR -> RELU + DROPOUT -> LINEAR -> SIGMOID.\n",
" \n",
" Arguments:\n",
" X -- input dataset, of shape (2, number of examples)\n",
" parameters -- python dictionary containing your parameters \"W1\", \"b1\", \"W2\", \"b2\", \"W3\", \"b3\":\n",
" W1 -- weight matrix of shape (20, 2)\n",
" b1 -- bias vector of shape (20, 1)\n",
" W2 -- weight matrix of shape (3, 20)\n",
" b2 -- bias vector of shape (3, 1)\n",
" W3 -- weight matrix of shape (1, 3)\n",
" b3 -- bias vector of shape (1, 1)\n",
" keep_prob - probability of keeping a neuron active during drop-out, scalar\n",
" \n",
" Returns:\n",
" A3 -- last activation value, output of the forward propagation, of shape (1,1)\n",
" cache -- tuple, information stored for computing the backward propagation\n",
" \"\"\"\n",
" \n",
" np.random.seed(1)\n",
" \n",
" # retrieve parameters\n",
" W1 = parameters[\"W1\"]\n",
" b1 = parameters[\"b1\"]\n",
" W2 = parameters[\"W2\"]\n",
" b2 = parameters[\"b2\"]\n",
" W3 = parameters[\"W3\"]\n",
" b3 = parameters[\"b3\"]\n",
" \n",
" # LINEAR -> RELU -> LINEAR -> RELU -> LINEAR -> SIGMOID\n",
" Z1 = np.dot(W1, X) + b1\n",
" A1 = relu(Z1)\n",
" ### START CODE HERE ### (approx. 4 lines) # Steps 1-4 below correspond to the Steps 1-4 described above. \n",
" D1 = np.random.rand((*A1.shape)) # Step 1: initialize matrix D1 = np.random.rand(..., ...)\n",
" D1 = (D1 < keep_prob) # Step 2: convert entries of D1 to 0 or 1 (using keep_prob as the threshold)\n",
" A1 = A1 * D1 # Step 3: shut down some neurons of A1\n",
" A1 = A1 / keep_prob # Step 4: scale the value of neurons that haven't been shut down\n",
" ### END CODE HERE ###\n",
" Z2 = np.dot(W2, A1) + b2\n",
" A2 = relu(Z2)\n",
" ### START CODE HERE ### (approx. 4 lines)\n",
" D2 = np.random.rand(*A2.shape) # Step 1: initialize matrix D2 = np.random.rand(..., ...)\n",
" D2 = D2 < keep_prob # Step 2: convert entries of D2 to 0 or 1 (using keep_prob as the threshold)\n",
" A2 = A2 * D2 # Step 3: shut down some neurons of A2\n",
" A2 = A2 / keep_prob # Step 4: scale the value of neurons that haven't been shut down\n",
" ### END CODE HERE ###\n",
" Z3 = np.dot(W3, A2) + b3\n",
" A3 = sigmoid(Z3)\n",
" \n",
" cache = (Z1, D1, A1, W1, b1, Z2, D2, A2, W2, b2, Z3, A3, W3, b3)\n",
" \n",
" return A3, cache"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"A3 = [[ 0.36974721 0.00305176 0.04565099 0.49683389 0.36974721]]\n"
]
}
],
"source": [
"X_assess, parameters = forward_propagation_with_dropout_test_case()\n",
"#np.random.rand(X_assess.shape)\n",
"A3, cache = forward_propagation_with_dropout(X_assess, parameters, keep_prob = 0.7)\n",
"print (\"A3 = \" + str(A3))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Expected Output**: \n",
"\n",
"<table> \n",
" <tr>\n",
" <td>\n",
" **A3**\n",
" </td>\n",
" <td>\n",
" [[ 0.36974721 0.00305176 0.04565099 0.49683389 0.36974721]]\n",
" </td>\n",
" \n",
" </tr>\n",
"\n",
"</table> "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.2 - Backward propagation with dropout\n",
"\n",
"**Exercise**: Implement the backward propagation with dropout. As before, you are training a 3 layer network. Add dropout to the first and second hidden layers, using the masks $D^{[1]}$ and $D^{[2]}$ stored in the cache. \n",
"\n",
"**Instruction**:\n",
"Backpropagation with dropout is actually quite easy. You will have to carry out 2 Steps:\n",
"1. You had previously shut down some neurons during forward propagation, by applying a mask $D^{[1]}$ to `A1`. In backpropagation, you will have to shut down the same neurons, by reapplying the same mask $D^{[1]}$ to `dA1`. \n",
"2. During forward propagation, you had divided `A1` by `keep_prob`. In backpropagation, you'll therefore have to divide `dA1` by `keep_prob` again (the calculus interpretation is that if $A^{[1]}$ is scaled by `keep_prob`, then its derivative $dA^{[1]}$ is also scaled by the same `keep_prob`).\n"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# GRADED FUNCTION: backward_propagation_with_dropout\n",
"\n",
"def backward_propagation_with_dropout(X, Y, cache, keep_prob):\n",
" \"\"\"\n",
" Implements the backward propagation of our baseline model to which we added dropout.\n",
" \n",
" Arguments:\n",
" X -- input dataset, of shape (2, number of examples)\n",
" Y -- \"true\" labels vector, of shape (output size, number of examples)\n",
" cache -- cache output from forward_propagation_with_dropout()\n",
" keep_prob - probability of keeping a neuron active during drop-out, scalar\n",
" \n",
" Returns:\n",
" gradients -- A dictionary with the gradients with respect to each parameter, activation and pre-activation variables\n",
" \"\"\"\n",
" \n",
" m = X.shape[1]\n",
" (Z1, D1, A1, W1, b1, Z2, D2, A2, W2, b2, Z3, A3, W3, b3) = cache\n",
" \n",
" dZ3 = A3 - Y\n",
" dW3 = 1./m * np.dot(dZ3, A2.T)\n",
" db3 = 1./m * np.sum(dZ3, axis=1, keepdims = True)\n",
" dA2 = np.dot(W3.T, dZ3)\n",
" ### START CODE HERE ### (≈ 2 lines of code)\n",
" dA2 = dA2 *D2 # Step 1: Apply mask D2 to shut down the same neurons as during the forward propagation\n",
" dA2 = dA2 / keep_prob # Step 2: Scale the value of neurons that haven't been shut down\n",
" ### END CODE HERE ###\n",
" dZ2 = np.multiply(dA2, np.int64(A2 > 0))\n",
" dW2 = 1./m * np.dot(dZ2, A1.T)\n",
" db2 = 1./m * np.sum(dZ2, axis=1, keepdims = True)\n",
" \n",
" dA1 = np.dot(W2.T, dZ2)\n",
" ### START CODE HERE ### (≈ 2 lines of code)\n",
" dA1 = dA1 * D1 # Step 1: Apply mask D1 to shut down the same neurons as during the forward propagation\n",
" dA1 = dA1 / keep_prob # Step 2: Scale the value of neurons that haven't been shut down\n",
" ### END CODE HERE ###\n",
" dZ1 = np.multiply(dA1, np.int64(A1 > 0))\n",
" dW1 = 1./m * np.dot(dZ1, X.T)\n",
" db1 = 1./m * np.sum(dZ1, axis=1, keepdims = True)\n",
" \n",
" gradients = {\"dZ3\": dZ3, \"dW3\": dW3, \"db3\": db3,\"dA2\": dA2,\n",
" \"dZ2\": dZ2, \"dW2\": dW2, \"db2\": db2, \"dA1\": dA1, \n",
" \"dZ1\": dZ1, \"dW1\": dW1, \"db1\": db1}\n",
" \n",
" return gradients"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"dA1 = [[ 0.36544439 0. -0.00188233 0. -0.17408748]\n",
" [ 0.65515713 0. -0.00337459 0. -0. ]]\n",
"dA2 = [[ 0.58180856 0. -0.00299679 0. -0.27715731]\n",
" [ 0. 0.53159854 -0. 0.53159854 -0.34089673]\n",
" [ 0. 0. -0.00292733 0. -0. ]]\n"
]
}
],
"source": [
"X_assess, Y_assess, cache = backward_propagation_with_dropout_test_case()\n",
"\n",
"gradients = backward_propagation_with_dropout(X_assess, Y_assess, cache, keep_prob = 0.8)\n",
"\n",
"print (\"dA1 = \" + str(gradients[\"dA1\"]))\n",
"print (\"dA2 = \" + str(gradients[\"dA2\"]))"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"**Expected Output**: \n",
"\n",
"<table> \n",
" <tr>\n",
" <td>\n",
" **dA1**\n",
" </td>\n",
" <td>\n",
" [[ 0.36544439 0. -0.00188233 0. -0.17408748]\n",
" [ 0.65515713 0. -0.00337459 0. -0. ]]\n",
" </td>\n",
" \n",
" </tr>\n",
" <tr>\n",
" <td>\n",
" **dA2**\n",
" </td>\n",
" <td>\n",
" [[ 0.58180856 0. -0.00299679 0. -0.27715731]\n",
" [ 0. 0.53159854 -0. 0.53159854 -0.34089673]\n",
" [ 0. 0. -0.00292733 0. -0. ]]\n",
" </td>\n",
" \n",
" </tr>\n",
"</table> "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's now run the model with dropout (`keep_prob = 0.86`). It means at every iteration you shut down each neurons of layer 1 and 2 with 14% probability. The function `model()` will now call:\n",
"- `forward_propagation_with_dropout` instead of `forward_propagation`.\n",
"- `backward_propagation_with_dropout` instead of `backward_propagation`."
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Cost after iteration 0: 0.6543912405149825\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jovyan/work/week5/Regularization/reg_utils.py:236: RuntimeWarning: divide by zero encountered in log\n",
" logprobs = np.multiply(-np.log(a3),Y) + np.multiply(-np.log(1 - a3), 1 - Y)\n",
"/home/jovyan/work/week5/Regularization/reg_utils.py:236: RuntimeWarning: invalid value encountered in multiply\n",
" logprobs = np.multiply(-np.log(a3),Y) + np.multiply(-np.log(1 - a3), 1 - Y)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Cost after iteration 10000: 0.06101698657490559\n",
"Cost after iteration 20000: 0.060582435798513114\n"
]
},
{
"data": {
"image/png": "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\nGEl/lnSPpLN7WpGk2ZI6JHV0dXX1S3H+grqZWfk0+kSWFuC1wD8B/wj8m6RDKxeKiMsiYlpETGtv\nb++XF3bTaTOz8sntmB6wDJiYmZ6QzsvqBFZExIvAi5JuAY4CHs2xLsBNp83MyijPkd58YKqkKZLa\ngFnA3IplrgNOkNQiaShwHPBwjjXt4KbTZmblk9tILyK2SpoD3AA0A5dHxEJJ56WPXxoRD0v6A7AA\n2A78KCIezKumLB/TMzMrnzx3bxIR84B5FfMurZj+OvD1POvoiZtOm5mVT6NPZGkYN502Myuf0oYe\nuOm0mVnZlDv03HTazKxUSh16bjptZlYupQ49N502MyuXUofeWO/eNDMrlVKH3phhbWzY7KbTZmZl\nUe7Q8xfUzcxKpdSh19102sf1zMzKodSh55GemVm5lDv03HTazKxUyh16Oy4v5NAzMyuDUoded9Pp\nlT6mZ2ZWCqUOPTedNjMrl1KHHrjptJlZmTj03JXFzKw0Sh96bjptZlYepQ89N502MyuP0oeem06b\nmZVH6UPPTafNzMrDoedWZGZmpVH60HPTaTOz8ih96HmkZ2ZWHg49N502MyuNXENP0gxJiyQtlnR+\nD4+fKGmNpPvS2+fzrKcnbjptZlYeLXmtWFIzcAnwNqATmC9pbkQ8VLHorRFxal519MZNp83MyiPP\nkd50YHFELImIzcCVwMwcX69PWpubGOGm02ZmpZBn6I0HlmamO9N5lV4vaYGk30t6VY71VOVWZGZm\n5ZDb7s063QtMioj1kk4BrgWmVi4kaTYwG2DSpEn9XsSYob7SgplZGeQ50lsGTMxMT0jn7RARayNi\nfXp/HtAqaVzliiLisoiYFhHT2tvb+71Qj/TMzMohz9CbD0yVNEVSGzALmJtdQNL+kpTen57WsyLH\nmnrkptNmZuWQ2+7NiNgqaQ5wA9AMXB4RCyWdlz5+KXAG8BFJW4GNwKyIiLxqqsZNp83MyiHXY3rp\nLst5FfMuzdy/GLg4zxrqkW06Pbi1udHlmJlZTkrfkQXciszMrCwcerjptJlZWTj08EjPzKwsHHq4\n6bSZWVk49HDTaTOzsnDo4abTZmZl4dDDTafNzMrCoZdyKzIzs+Jz6KXcdNrMrPgceimP9MzMis+h\nl3LTaTOz4nPopdx02sys+Bx6qWzTaTMzKyaHXmrnF9S9i9PMrKgceqnuptM+g9PMrLgceik3nTYz\n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\nzErDoWdmZqXh0DMzs9Jw6JmZWWk49MzMrDQcemZmVhoOPTMzKw2HnpmZlcZe13BaUhfwVD+sahzw\nQj+sZ2/ibS6PMm63t7kcqm3zKyKivbcn73Wh118kddTTkbtIvM3lUcbt9jaXw+5us3dvmplZaTj0\nzMysNMocepc1uoAG8DaXRxm329tcDru1zaU9pmdmZuVT5pGemZmVjEPPzMxKo3ShJ2mGpEWSFks6\nv9H1DBRJT0p6QNJ9kjoaXU8eJF0uabmkBzPzxkq6UdJj6c8xjayxv1XZ5gskLUvf6/skndLIGvub\npImSbpb0kKSFkv45nV/Y97rGNhf9vR4s6W5J96fb/cV0fp/f61Id05PUDDwKvA3oBOYD74mIhxpa\n2ACQ9CQwLSIK+0VWSW8C1gM/i4gj0nlfA1ZGxIXpHzljIuKzjayzP1XZ5guA9RHxjUbWlhdJBwAH\nRMS9kkYA9wDvAM6loO91jW0+k2K/1wKGRcR6Sa3AX4F/Bk6nj+912UZ604HFEbEkIjYDVwIzG1yT\n9ZOIuAVYWTF7JvDT9P5PST4oCqPKNhdaRDwbEfem99cBDwPjKfB7XWObCy0S69PJ1vQW7MZ7XbbQ\nGw8szUx3UoJ/OKkA/iTpHkmzG13MANovIp5N7z8H7NfIYgbQxyQtSHd/FmY3XyVJk4GjgbsoyXtd\nsc1Q8PdaUrOk+4DlwI0RsVvvddlCr8xOiIjXACcD/zvdLVYqkezLL8P+/O8DBwGvAZ4FvtnYcvIh\naThwFfAvEbE2+1hR3+setrnw73VEbEs/uyYA0yUdUfH4Lr3XZQu9ZcDEzPSEdF7hRcSy9Ody4BqS\nXb1l8Hx6PKT7uMjyBteTu4h4Pv2g2A78kAK+1+nxnauAn0fE1ensQr/XPW1zGd7rbhGxGrgZmMFu\nvNdlC735wFRJUyS1AbOAuQ2uKXeShqUHv5E0DHg78GDtZxXGXOCc9P45wHUNrGVAdH8YpE6jYO91\nenLDj4GHI+KizEOFfa+rbXMJ3ut2SaPT+0NITkJ8hN14r0t19iZAekrvt4Fm4PKI+EqDS8qdpINI\nRncALcAvirjdkn4JnEhy6ZHngS8A1wK/BiaRXJLqzIgozIkfVbb5RJLdXQE8CXw4c/xjryfpBOBW\n4AFgezr7X0mOcRXyva6xze+h2O/1kSQnqjSTDNJ+HRFfkrQPfXyvSxd6ZmZWXmXbvWlmZiXm0DMz\ns9Jw6JmZWWk49MzMrDQcemZmVhoOPTNA0u3pz8mSzurndf9rT6+VF0nvkPT5XpZ5V9q1frukaTWW\nOyftZP+YpHMy86dIukvJ1Up+lX7vFSW+m85fIOmYdH6bpFsktfTXdpr1hUPPDIiI16d3JwO7FHp1\nfJC/LPQyr5WXzwDf62WZB0k61d9SbQFJY0m+93ccSaePL2R6O34V+FZEHAKsAj6Yzj8ZmJreZpO0\nySJt8H4T8O4+bI9Zv3HomQGSuju5Xwi8Mb022SfSZrdflzQ/Hbl8OF3+REm3SpoLPJTOuzZt6L2w\nu6m3pAuBIen6fp59rXRU9HVJDyq51uG7M+v+s6TfSnpE0s/TjhxIulDJNdUWSPq7y8lIOhR4qfsS\nUpKuk3R2ev/D3TVExMMRsaiXX8s/kjT4XRkRq4AbgRlpLW8Bfpsul+1yP5PkMkcREXcCozNdQ64F\n3tv7u2GWH+9qMHu584FPR8SpAGl4rYmIYyUNAm6T9Md02WOAIyLiiXT6AxGxMm2XNF/SVRFxvqQ5\nacPcSqeTdNM4iqSjynxJ3SOvo4FXAc8AtwFvkPQwSaupwyIiutszVXgDcG9menZa8xPAp4DX7cLv\notpVSfYBVkfE1or5tZ7zLMno8thdeH2zfueRnlltbwfOTi9tchfJB/7U9LG7M4EH8HFJ9wN3kjQ2\nn0ptJwC/TBsGPw/8hZ2hcHdEdKaNhO8j2e26BtgE/FjS6cCGHtZ5ANDVPZGu9/MkjXo/1ci2XBGx\nDdjc3QfWrBEcema1CfhYRLwmvU2JiO6R3os7FpJOBN4KHB8RRwF/Awbvxuu+lLm/DWhJR1bTSXYr\nngr8oYfnbezhdV8NrAAO3MUaql2VZAXJbsuWivm1ntNtEElwmzWEQ8/s5dYB2ZHIDcBH0su6IOnQ\n9EoVlUYBqyJig6TDePluxC3dz69wK/Du9LhhO/Am4O5qhSm5ltqoiJgHfIJkt2ilh4FDMs+ZTnJy\nydHApyVNqbb+dPnxkm5KJ28A3i5pTHoCy9uBG9Lrl90MnJEul+1yP5dkZCxJryPZNfxsuu59gBci\nYkutGszy5NAze7kFwDZJ90v6BPAjkhNV7pX0IPADej4W/gegJT3udiHJLs5ulwELuk8iybgmfb37\ngf8CPhMRz9WobQRwvaQFwF+BT/awzC3A0WnoDCK5xtoHIuIZkmN6l6ePnSapEzge+J2kG9LnHwBs\nBUh3hX6Z5JJc84EvZXaPfhb4pKTFJLt8f5zOnwcsARanr/3RTG0nAb+rsX1mufNVFswKRtJ3gP+M\niD/14blvVxl+AAAAWElEQVRzgKcjot+vMynpauD8iHi0v9dtVi+HnlnBSNoPOC6P4Oqr9MvrsyLi\nZ42uxcrNoWdmZqXhY3pmZlYaDj0zMysNh56ZmZWGQ8/MzErDoWdmZqXx/wFkjyiNNbzzCAAAAABJ\nRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7ddb696f98>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"On the train set:\n",
"Accuracy: 0.928909952607\n",
"On the test set:\n",
"Accuracy: 0.95\n"
]
}
],
"source": [
"parameters = model(train_X, train_Y, keep_prob = 0.86, learning_rate = 0.3)\n",
"\n",
"print (\"On the train set:\")\n",
"predictions_train = predict(train_X, train_Y, parameters)\n",
"print (\"On the test set:\")\n",
"predictions_test = predict(test_X, test_Y, parameters)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Dropout works great! The test accuracy has increased again (to 95%)! Your model is not overfitting the training set and does a great job on the test set. The French football team will be forever grateful to you! \n",
"\n",
"Run the code below to plot the decision boundary."
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7ddb706a58>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.title(\"Model with dropout\")\n",
"axes = plt.gca()\n",
"axes.set_xlim([-0.75,0.40])\n",
"axes.set_ylim([-0.75,0.65])\n",
"plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"**Note**:\n",
"- A **common mistake** when using dropout is to use it both in training and testing. You should use dropout (randomly eliminate nodes) only in training. \n",
"- Deep learning frameworks like [tensorflow](https://www.tensorflow.org/api_docs/python/tf/nn/dropout), [PaddlePaddle](http://doc.paddlepaddle.org/release_doc/0.9.0/doc/ui/api/trainer_config_helpers/attrs.html), [keras](https://keras.io/layers/core/#dropout) or [caffe](http://caffe.berkeleyvision.org/tutorial/layers/dropout.html) come with a dropout layer implementation. Don't stress - you will soon learn some of these frameworks.\n",
"\n",
"<font color='blue'>\n",
"**What you should remember about dropout:**\n",
"- Dropout is a regularization technique.\n",
"- You only use dropout during training. Don't use dropout (randomly eliminate nodes) during test time.\n",
"- Apply dropout both during forward and backward propagation.\n",
"- During training time, divide each dropout layer by keep_prob to keep the same expected value for the activations. For example, if keep_prob is 0.5, then we will on average shut down half the nodes, so the output will be scaled by 0.5 since only the remaining half are contributing to the solution. Dividing by 0.5 is equivalent to multiplying by 2. Hence, the output now has the same expected value. You can check that this works even when keep_prob is other values than 0.5. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 4 - Conclusions"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Here are the results of our three models**: \n",
"\n",
"<table> \n",
" <tr>\n",
" <td>\n",
" **model**\n",
" </td>\n",
" <td>\n",
" **train accuracy**\n",
" </td>\n",
" <td>\n",
" **test accuracy**\n",
" </td>\n",
"\n",
" </tr>\n",
" <td>\n",
" 3-layer NN without regularization\n",
" </td>\n",
" <td>\n",
" 95%\n",
" </td>\n",
" <td>\n",
" 91.5%\n",
" </td>\n",
" <tr>\n",
" <td>\n",
" 3-layer NN with L2-regularization\n",
" </td>\n",
" <td>\n",
" 94%\n",
" </td>\n",
" <td>\n",
" 93%\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td>\n",
" 3-layer NN with dropout\n",
" </td>\n",
" <td>\n",
" 93%\n",
" </td>\n",
" <td>\n",
" 95%\n",
" </td>\n",
" </tr>\n",
"</table> "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that regularization hurts training set performance! This is because it limits the ability of the network to overfit to the training set. But since it ultimately gives better test accuracy, it is helping your system. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Congratulations for finishing this assignment! And also for revolutionizing French football. :-) "
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"<font color='blue'>\n",
"**What we want you to remember from this notebook**:\n",
"- Regularization will help you reduce overfitting.\n",
"- Regularization will drive your weights to lower values.\n",
"- L2 regularization and Dropout are two very effective regularization techniques."
]
}
],
"metadata": {
"coursera": {
"course_slug": "deep-neural-network",
"graded_item_id": "SXQaI",
"launcher_item_id": "UAwhh"
},
"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.6.0"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment