Skip to content
Snippets Groups Projects
neural_nets_intro.ipynb 527 KiB
Newer Older
  • Learn to ignore specific revisions
  • chadhat's avatar
    chadhat committed
    {
     "cells": [
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "# Introduction to Neural Networks\n",
        "\n",
        "## TO DO: Almost all the figues and schematics will be replaced or improved slowly\n",
        "\n",
        "<img src=\"./images/neuralnets/Colored_neural_network.svg\"/>\n",
        "source: https://en.wikipedia.org/wiki/Artificial_neural_network\n",
        "\n"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "## History of Neural networks\n",
        "\n",
        "**TODO: Make it more complete and format properly**\n",
        "\n",
        "1943 - Threshold Logic\n",
        "\n",
        "1940s - Hebbian Learning\n",
        "\n",
        "1958 - Perceptron\n",
        "\n",
        "1975 - Backpropagation\n",
        "\n",
        "1980s - Neocognitron\n",
        "\n",
        "1982: Hopfield Network\n",
        "\n",
        "1986: Convolutional Neural Networks\n",
        "\n",
        "1997: Long-short term memory (LSTM) model\n",
        "\n",
    
        "2014: Gated Recurrent Units, Generative Adversarial Networks(Check)?"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "## Why the boom now?\n",
        "* Data\n",
        "* Data\n",
        "* Data\n",
        "* Availability of GPUs\n",
        "* Algorithmic developments which allow for efficient training and training for deeper networks\n",
        "* Much easier access than a decade ago"
    
    chadhat's avatar
    chadhat committed
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "## Building blocks\n",
        "### Perceptron\n",
        "\n",
        "Smallest unit of a neural network is a **perceptron** like node.\n",
        "\n",
        "**What is a Perceptron?**\n",
        "\n",
        "It is a simple function which has multiple inputs and a single output.\n",
        "\n",
        "Step 1: Weighted sum of the inputs is calculated\n",
        "\n",
        "\\begin{equation*}\n",
        "weighted\\_sum = \\sum_{k=1}^{num\\_inputs} w_{i} x_{i}\n",
        "\\end{equation*}\n",
        "\n",
        "Step 2: The following activation function is applied\n",
        "\n",
        "$$\n",
        "f(weighted\\_sum) = \\left\\{\n",
        "        \\begin{array}{ll}\n",
    
        "            0 & \\quad weighted\\_sum < threshold \\\\\n",
        "            1 & \\quad weighted\\_sum \\geq threshold\n",
    
    chadhat's avatar
    chadhat committed
        "        \\end{array}\n",
        "    \\right.\n",
        "$$\n",
    
        "\n",
        "You can see that this is also a linear classifier as we introduced in script 02."
    
    chadhat's avatar
    chadhat committed
       ]
      },
      {
       "cell_type": "code",
    
       "execution_count": 17,
    
    chadhat's avatar
    chadhat committed
       "metadata": {},
       "outputs": [],
       "source": [
        "%matplotlib inline\n",
    
        "%config IPCompleter.greedy=True\n",
        "%config InlineBackend.figure_format = 'retina'"
    
    chadhat's avatar
    chadhat committed
       ]
      },
      {
       "cell_type": "code",
    
       "execution_count": 18,
    
    chadhat's avatar
    chadhat committed
       "metadata": {},
       "outputs": [
        {
         "data": {
          "text/plain": [
           "1"
          ]
         },
    
         "execution_count": 18,
    
    chadhat's avatar
    chadhat committed
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
        "import numpy as np\n",
        "def perceptron(X, w, threshold=1):\n",
        "    # This function computes sum(w_i*x_i) and \n",
        "    # applies a perceptron activation\n",
        "    linear_sum = np.dot(X,w)\n",
        "    output=0\n",
        "    if linear_sum >= threshold:\n",
        "        output = 1\n",
        "        # print(\"The perceptron has peaked\")\n",
        "    return output\n",
        "X = [1,0]\n",
        "w = [1,1]\n",
        "perceptron(X,w)"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "#### Boolean AND\n",
        "\n",
        "| x$_1$ | x$_2$ | output |\n",
        "| --- | --- | --- |\n",
        "| 0 | 0 | 0 |\n",
        "| 1 | 0 | 0 |\n",
        "| 0 | 1 | 0 |\n",
        "| 1 | 1 | 1 |"
       ]
      },
      {
       "cell_type": "code",
    
       "execution_count": 158,
    
    chadhat's avatar
    chadhat committed
       "metadata": {},
       "outputs": [
        {
         "name": "stdout",
         "output_type": "stream",
         "text": [
    
          "Perceptron output for x1, x2 =  [0, 0]  is  0\n",
          "Perceptron output for x1, x2 =  [1, 0]  is  0\n",
          "Perceptron output for x1, x2 =  [0, 1]  is  0\n",
          "Perceptron output for x1, x2 =  [1, 1]  is  1\n"
    
    chadhat's avatar
    chadhat committed
         ]
        }
       ],
       "source": [
        "# Calculating Boolean AND using a perceptron\n",
        "import matplotlib.pyplot as plt\n",
    
        "threshold = 1.5\n",
    
    chadhat's avatar
    chadhat committed
        "w=[1,1]\n",
        "X=[[0,0],[1,0],[0,1],[1,1]]\n",
        "for i in X:\n",
    
        "    print(\"Perceptron output for x1, x2 = \" , i , \" is \" , perceptron(i,w,threshold))"
    
    chadhat's avatar
    chadhat committed
       ]
      },
      {
       "cell_type": "code",
    
       "execution_count": null,
       "metadata": {},
       "outputs": [],
       "source": []
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "In this simple case we can rewrite our equation to $x_2 = ...... $ which describes a line in 2D:"
       ]
      },
      {
       "cell_type": "code",
    
       "execution_count": 20,
    
    chadhat's avatar
    chadhat committed
       "metadata": {},
       "outputs": [
        {
         "data": {
    
          "image/png": "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6JFHHtHChQsVEhKi119/XWlpabZjAQAAZEJBAPLJypUrtXnzZknSqVOn9Nhjj6lhw4basWOH5WQAAAD/h4IA5JNmzZpp9erVqlSpkmu2evVqVa1aVRMmTFBycrLFdAAAAOkoCEA+qlOnjqKjozVy5EjX3Y0SExM1fPhwhYeHKzo62nJCAADg6ygIQD4rUKCAnn/+eW3cuFE1atRwzaOjo1WrVi0NHz5cCQkJFhMCAABfRkEALKlatarWrVunSZMmqWDBgpKk1NRUTZo0iesSAACANRQEwKKAgAANGTJEW7duVcOGDSVJQ4cOVdWqVS0nAwAAvopHvAJu4I477tDy5cs1Z84cderUKcv6AwcO6MYbb7SQDAAA+BrOIABuws/PTw8//LDr40Zn7du3TxUqVFC3bt30zz//WEoHAAB8BQUBcGOO46hv3746ceKEZs2apUqVKumzzz6zHQsAAHgxCgLgxhITE1WsWDHX60OHDun+++9Xhw4ddODAAYvJAACAt6IgAG6sYMGC+uijj7RgwQL95z//cc0///xzBQcH6/3335fjOBYTAgAAb0NBADzAvffeq9jYWPXq1cs1O3bsmB555BFFRERo9+7dFtMBAABvQkEAPESJEiX09ttva9myZSpbtqxrvnTpUlWuXFkzZ860Fw4AAHgNCgLgYZo2bapt27bpySeflJ9f+iF8+vRplSpVynIyAADgDSgIgAcqXLiwXn75Za1Zs0YhISHq0qWL7rnnHtuxAACAF+BBaYAHCw8PV1RUlBISErKsW7lypYoWLaoaNWpYSAYAADwVZxAADxcUFKSrrroq0+z48ePq0qWLwsPD9fTTT+vMmTOW0gEAAE9DQQC80LPPPqs//vhDqampmjRpkqpWraoffvjBdiwAAOABKAiAF3r88cfVpEkT1+udO3eqUaNG6tevn44fP24xGQAAcHcUBMALlStXTsuWLdPbb7+d6eNHb775pipXrqxFixZZTAcAANwZBQHwUsYY9erVS3FxcWrTpo1rvm/fPrVq1Updu3bV4cOHLSYEAADuiIIAeLnSpUtrwYIF+uijj3Tttde65nPmzFGdOnWUkpJiMR0AAHA3FATABxhj9MADD2j79u166KGHXPMhQ4YoIIC7HQMAgP9DQQB8yLXXXqs5c+bo66+/1kMPPaSePXvajgQAANwMBQHwQa1atdKc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mJgYNW3aVH369FHjxo1txwIAjxFgOwAAAHmhbNmyWrp06XkvVP76669ljFGrVq0sJAMA98YZBACA1zLGqECBAplmR44cUWRkpFq3bq0uXbro8OHDltIBgHuiIAAAfMqoUaN06NAhSdL//vc/VapUSXPnzpXjOJaTAYB7oCAAAHzKmDFj9NBDD7leHz58WJ07d1bbtm31559/WkwGAO6BggAA8CnXXnut5syZo6+//lo33XSTa/7ll18qODhY77zzDmcTAPg0CgIAwCe1atVKsbGx6tu3r2t2/Phx9e7dW82aNdOvv/5qMR0A2ENBAACYiqozAAAgAElEQVT4rKuuukrTp0/XihUrdMcdd7jmy5cvV5MmTZScnGwxHQDYQUEAAPi8Ro0aacuWLRo6dKj8/NL/apwwYYICAwMtJwOA/EdBAABAUqFChfTiiy/qp59+0pNPPqkHH3wwyzZpaWkWkgFA/qIgAADwLzVr1tTLL78sY0ym+erVq1W9enWtX7/eUjIAyB8UBAAALiIhIUGRkZHaunWr6tSpo8GDB+v06dO2YwFAnqAgAABwEVFRUdq3b5+k9I8ZvfzyywoNDdXy5cstJwOA3EdBAADgIurWrauYmBjdddddrtlvv/2mpk2bqk+fPoqPj7eYDgByFwUBAIAcuO2227R48WLNmDFDJUqUcM3ffvttBQcH66uvvrKYDgByDwUBAIAcMsaoR48eiouLU7t27Vzz/fv3695771Xnzp31999/W0wIAFeOggAAwCW68cYbNW/ePH366acqVaqUaz5//nz9888/FpMBwJWjIAAAcBmMMerYsaO2b9+ubt26SZJGjx6tChUqWE4GAFeGggAAwBUoWbKkZs6cqRUrVuipp57Ksn7Lli08YA2AR6EgAACQCxo1aqTAwMBMs507d6p27dpq2rSpdu7caSkZAFwaCgIAAHkgLS1NvXr1UkJCglauXKkqVapo8uTJSklJsR0NAC6IggAAQB5ITU1V3bp15e/vLyn9acxDhw5VnTp1tHXrVsvpACB7FAQAAPJAYGCgxo8fr/Xr16tatWqu+caNG1WjRg2NGjVKiYmJFhMCwPlREAAAyENhYWFav369xo8frwIFCkiSUlJSNHbsWFWvXl1r1661nBAAMqMgAACQxwIDA/XMM89o8+bNqlu3rmu+fft21atXT5MnT7aYDgAy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mq9bt07NmzdXUlKSxXQALpdb3ebUcZx9knrkcNss91VzHGebpO65HAsAAFzAnXfeqU2bNmnixIl64YUXlJycrJdeeklBQUG2owG4DG5zBgEAAHiuoKAgjRo1StHR0Ro+fLg6deqUZZvzPVMBgPuhIAAAgFwTEhKicePGZXmA2sqVKxUcHKyVK1daSgYgpygIAAAgT505c0Y9e/bUzp071bhxY/Xt21fHjx+3HQtANigIAAAgT23btk1///236/Vbb72lkJAQLVy40GIqANmhIAAAgDx15513KjY2Vvfee69r9scff6h169bq0qWLDh/m+aWAO6EgAACAPFe6dGl98cUX+vjjj3Xddde55v/73/9UqVIlzZ07V47jWEwI4CwKAgAAyBfGGHXq1Enbt29Xly5dXPPDhw+rc+fOatu2rfbv328xIQCJggAAAPLZNddco9mzZ2vhwoW66aabXPPFixfr9OnTFpMBkCgIAADAknvuuUexsbHq27evJGns2LG6/fbbLacCQEEAAADWXHXVVZo+fbrWrVunQYMGZVm/fv16paamWkgG+C4KAgAAsC48PFwBAQGZZj///LMaNmyoOnXqKCYmxlIywPdQEAAAgNtJS0tTZGSkEhMTtWHDBoWFhWn06NFKSkqyHQ3wehQEAADgdtLS0nTPPfcoKChIkpScnKwxY8YoLCxM69evt5wO8G4UBAAA4HYCAgI0YsQIbd68WXXq1HHNY2NjVadOHT311FPc8QjIIxQEAADgtipVqqRVq1Zp6tSpKly4sKT0swuvvPKKQkNDtXz5cssJAe9DQQAAAG7N399fAwcOVExMjO666y7X/LffflPTpk31wgsvWEwHeB8KAgAA8Ai33XabFi9erBkzZqhEiRKS0p/O3LRpU8vJAO8ScPFNAAAA3IMxRj169FCLFi3Uv39/3Xzzzapbt67tWIBXoSAAAACPc+ONN+rzzz9XSkpKlnWffvqpkpKS9OCDD8oYYyEd4Nn4iBEAAPBY5z5c7eDBg3r00UfVpUsXtWnTRvv27bOUDPBcFAQAAOA1xo4dq3/++UeStHDhQoWEhOitt95SWlqa5WSA56AgAAAArzFhwgQNGDDA9frEiRPq27evmjZtqp07d1pMBngOCgIAAPAaxYoV07Rp07Rq1SpVqFDBNV+5cqWqVKmiyZMnn/e6BQD/h4IAAAC8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\n",
    
    chadhat's avatar
    chadhat committed
          "text/plain": [
    
           "<matplotlib.figure.Figure at 0x7fe999f134e0>"
    
    chadhat's avatar
    chadhat committed
          ]
         },
         "metadata": {
    
          "image/png": {
           "height": 252,
           "width": 388
          },
    
    chadhat's avatar
    chadhat committed
          "needs_background": "light"
         },
         "output_type": "display_data"
        }
       ],
       "source": [
        "# Plotting the decision boundary\n",
        "plt.xlim(-1,2)\n",
        "plt.ylim(-1,2)\n",
        "for i in X:\n",
        "    plt.plot(i,\"o\",color=\"b\");\n",
        "# Plotting the decision boundary\n",
        "# that is a line given by w_1*x_1+w_2*x_2-threshold=0\n",
        "plt.plot(np.arange(-3,4), 1.5-np.arange(-3,4), \"--\", color=\"black\");"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "**Exercise :Can you compute a Boolean \"OR\" using a perceptron?**\n",
        "\n",
        "Hint: copy the code from the \"AND\" example and edit the weights and/or threshold"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "#### Boolean OR\n",
        "\n",
        "| x$_1$ | x$_2$ | output |\n",
        "| --- | --- | --- |\n",
        "| 0 | 0 | 0 |\n",
        "| 1 | 0 | 1 |\n",
        "| 0 | 1 | 1 |\n",
        "| 1 | 1 | 1 |"
       ]
      },
      {
       "cell_type": "code",
    
       "execution_count": 21,
    
    chadhat's avatar
    chadhat committed
       "metadata": {},
       "outputs": [],
       "source": [
        "# Calculating Boolean OR using a perceptron\n",
        "# Edit the code below"
       ]
      },
      {
       "cell_type": "code",
    
       "execution_count": 157,
    
    chadhat's avatar
    chadhat committed
       "metadata": {},
       "outputs": [
        {
         "name": "stdout",
         "output_type": "stream",
         "text": [
    
          "Perceptron output for x1, x2 =  [0, 0]  is  0\n",
          "Perceptron output for x1, x2 =  [1, 0]  is  1\n",
          "Perceptron output for x1, x2 =  [0, 1]  is  1\n",
          "Perceptron output for x1, x2 =  [1, 1]  is  1\n"
    
    chadhat's avatar
    chadhat committed
         ]
        },
        {
         "data": {
    
          "image/png": "iVBORw0KGgoAAAANSUhEUgAAAwgAAAH4CAYAAADuCMonAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAAIABJREFUeJzs3Xd4VGX+/vH7SSd0EVBBRUFKCBBChwVEkEX4igioq9JxsYOIIopUBaSI9KUKIpbFglkVFekdJEjLAGJBVGwghk7a8/sjw/kRJBJIOZOZ9+u6cp2dz5l5cmevPWzunDlnjLVWAAAAACBJQW4HAAAAAOA7KAgAAAAAHBQEAAAAAA4KAgAAAAAHBQEAAACAg4IAAAAAwEFBAAAAAOCgIAAAAABwUBAAAAAAOCgIAAAAABwUBAAAAAAOCgIAAAAABwUBAAAAgIOCAAAAAMDhEwXBGFPCGPOAMWaRMeZrY8wpY0yiMWatMaanMeaSchpjyhpjXjXGHDTGnDHG7DfGTDDGFM+tnwEAAADwB8Za63YGGWMekvQfST9LWiHpgKTSktpLKirpPUl32SyENcaUl7ReUilJcZL2SKorqZmkvZIaWWsP58KPAQAAAOR7vlIQbpFUUNLH1tq0c+ZXSdos6VpJHa2172Vhrc8ktZTU21o7+Zz5eEl9Jc2w1j6Uwz8CAAAA4Bd8oiD8HWPMc5JGSJpirX38Is+9UdI3kvZLKn9e2Sis9DMURlIpa+2JXAsNAAAA5FM+cQ3CRSR7tylZeO4t3u2Sc8uBJFlrj0laJylSUv2ciwcAAAD4D58uCMaYEEldvA8/zcJLKnm3X2Wyf593WzE7uQAAAAB/FeJ2gIt4SVK0pMXW2s+y8Pyi3m1iJvvPzotdbCFjTHwmu6IlHVf625gAAACA3FJO0lFr7Q15+U19tiAYY3pL6qf0uxB1zqllvdvsXHgRXKBAgSuqVKlyRU4EAgAAAC5k9+7dOnXqVJ5/X58sCMaYRyVNlOSR1Nxa+0cWX3r2DEHRTPYXOe95mbLW1sokW3yVKlVi4+MzO8EAAAAAZF+tWrW0devW/Xn9fX3uGgRjzBOSpkjaJamZtfaXS3j5Xu82s2sMbvJuM7tGAQAAAAhoPlUQjDHPSHpF0jall4PfLnGJFd5ty/M/fdl7m9NGkk5J2pjdrAAAAIA/8pmCYIwZpPSLkuOV/raiQ3/z3FBjTGXvpyY7rLXfSFqi9As6Hj3vZcOU/mFs8/kMBAAAAODCfOIaBGNMV0nDJaVKWiOptzHm/Kftt9bO8/7nMpJ2S/pe6WXgXI9IWi9pkjGmufd59SQ1U/pbiwbm/E8AAAAA+AefKAiSzt66KVjSE5k8Z5WkeRdbyFr7jTGmttILRytJrZX+CcqTJA27hAueAQAAgIDjEwXBWjtU0tBLeP5+/f9bll5o/w+Sumc3FwAAABBofOYaBAAAAADuoyAAAAAAcFAQAAAAADgoCAAAAAAcFAQAAAAADgoCAAAAAAcFAQAAAICDggAAAADAQUEAAAAA4KAgAAAAAHBQEAAAAAA4KAgAAAAAHBQEAAAAAA4KAgAAAAAHBQEAAACAg4IAAAAAwEFBAAAAAOCgIAAAAABwUBAAAAAAOCgIAAAAABwUBAAAAAAOCgIAAAAABwUBAAAAgIOCAAAAAMBBQQAAAADgoCAAAAAAcFAQAAAAADgoCAAAAAAcFAQAAAAADgoCAAAAAAcFAQAAAICDggAAAADAQUEAAAAA4KAgAAAAAHBQEAAAAAA4KAgAAAAAHBQEAAAAAA4KAgAAAAAHBQEAAACAg4IAAAAAwEFBAAAAAOCgIAAAAABwUBAAAAAAOCgIAAAAABwUBAAAAAAOCgIAAAAABwUBAAAAgIOCAAAAAMBBQQAAAADgoCBkw59//qnk5GS3YwAAAAA5hoKQDT179lSdOnW0detWt6MAAAAAOYKCcJnee+89vf/++9q+fbvq1q2rAQMG6NSpU27HAgAAALKFgnCZ/vjjD0VEREiSUlNTNXr0aMXExGjNmjUuJwMAAAAuHwXhMv373//Wzp071bRpU2f21VdfqUmTJnr00Ud19OhRF9MBAAAAl4eCkA0VKlTQ8uXLNWPGDBUuXNiZT5s2TdHR0frkk09cTAcAAABcOgpCNgUFBalXr17yeDxq06aNM//hhx/UunVrde7cmTsdAQAAIN+gIOSQsmXL6sMPP9Sbb76pK6+80pmfOXNGoaGhLiYDAAAAso6CkIOMMbr33nvl8Xh03333qXjx4po8ebLbsQAAAIAs84mCYIzpaIyZbIxZY4w5aoyxxpgFl7HOfu9rL/T1S25kv5CSJUvqjTfeUEJCgkqXLp1h34kTJ7RgwQJZa/MqDgAAAJBlIW4H8HpeUg1JxyX9KKlyNtZKlDThAvPj2Vjzslx99dV/mQ0cOFATJ07UvHnzNHPmTN144415HQsAAADIlK8UhL5KLwZfS2oqaUU21vrTWjs0J0LltE2bNmnSpEmSpGXLlqlatWoaMWKEHn/8cQUHB7ucDgAAAPCRtxhZa1dYa/dZP3/fTbVq1dSvXz8FBaX/137y5En17dtX//jHP+TxeFxOBwAAAPhIQchh4caYTsaY54wxfYwxzYwxPvHn+cjISI0dO1YbNmxQdHS0M9+4caNq1qypF154QUlJSS4mBAAAQKDzx4JwlaTXJY1Q+rUIyyXtM8Y0/dtXnccYE3+hL2Xv+ghJUt26dRUfH69hw4Y5t0BNSkrS4MGDVadOHW3ZsiW73wIAAAC4LP5WEOZKaq70klBQUjVJMySVk/SJMaaGe9EyCgsL0+DBg7V161bVrVvXme/YsUP16tXT2rVrXUwHAACAQOVXBcFaO8xau9xa+6u19qS1dpe19iFJ4yUVkDT0EtaqdaEvSXtyMnN0dLTWr1+v8ePHq0CBApKk+vXrq0GDBjn5bQAAAIAs8auC8Deme7dNXE2RieDgYPXt21c7d+7UbbfdptmzZ3NXIwAAALgiUArCb95tQVdTXET58uW1ePFiValSJcM8JSVF7du318cff+xSMgAAAASKQCkIZ9+v862rKS7TxIkTtWjRIv3f//2fOnXqpEOHDrkdCQAAAH4q3xUEY0yoMaayMab8efOqxpgrLvD86yVN8T5ckBcZc1JSUpImT57sPH7jjTdUpUoVvf322/Lzj40AAACAC3yiIBhj2hlj5hlj5kka4B03ODszxow75+llJO2WtOy8Ze6SdNAY84kxZpoxZrQx5l2lX1RcQdJiSeOUz4SFhSk+Pl6dOnVyZocOHdK9996rdu3a6aeffnIxHQAAAPyNTxQESTGSunq//umd3XjOrGMW1lghaZGkGyTdJ+lJSU0lrfWu8X/W2nz5KWQlSpTQ66+/ro8//lhly5Z15v/73/8UFRWlWbNmcTYBAAAAOcInCoK1dqi11vzNV7lznrv//Jl3vspae6+1trK1tpi1NtRaW9Jae6u1dr71g9+gW7durYSEBD388MPO7OjRo+rVq5eaN2+ub775xsV0AAAA8Ac+URCQdUWKFNG0adO0atUq3XTTTc58xYoVmjVrlovJAAAA4A8oCPlUkyZNtH37dvXv319BQUGqUKGCBg8e7HYsAAAA5HMhbgfA5StQoIBGjx6tu+66SykpKYqMjMyw/8iRIypYsKDCwsJcSggAAID8hjMIfqB27dqqX79+hpm1Vt27d1dsbKw2b97sUjIAAADkNxQEP/Xuu+8qLi5OCQkJatCggfr166eTJ0+6HQsAAAA+joLgp44fP66CBQtKktLS0jR+/HhVq1ZNK1ascDkZAAAAfBkFwU91795du3bt0q233urMvv32W91yyy3q1auXEhMTXUwHAAAAX0VB8GPlypXTZ599prlz56pYsWLOfNasWYqKitKHH37oYjoAAAD4IgqCnzPGqFu3bvJ4PLrzzjud+cGDB9W2bVvde++9SkrKlx8wDQAAgFxAQQgQV199td5//329++67Kl26tDO31nIbVAAAADgoCAGmQ4cO8ng86tq1q0qUKKFJkya5HQkAAAA+hIIQgK644grNmzdPHo9HpUqVyrDv+PHjmjt3rtLS0lxKBwAAADdREALY+eVAkp577jn16NFDzZo10759+1xIBQAAADdREODYuHGjpkyZIklavXq1qlevrjFjxiglJcXlZAAAAMgrFAQ4YmJiNGDAAAUHB0uSTp8+rWeeeUb169fX9u3bXU4HAACAvEBBgCMiIkIjR47UF198oZiYGGceHx+v2rVra9CgQTpz5oyLCQEAAJDbKAj4i5o1a2rz5s0aOXKkwsPDJUkpKSl68cUXVbNmTW3YsMHlhAAAAMgtFARcUGhoqJ599llt27ZNjRo1cua7d+9Wo0aNtGbNGhfTAQAAILdQEPC3KleurNWrV2vy5MkqWLCgJKlhw4YZSgMAAAD8BwUBFxUUFKTHHntMCQkJatu2rebMmaOgIP6nAwAA4I/4LQ9Zdv311ysuLk6VKlXKME9JSVHbtm21aNEil5IBAAAgp1AQkG2vvPKKPvzwQ7Vv31533323fv31V7cjAQAA4DJREJAtSUlJmj59uvP4nXfeUZUqVTR//nxZa11MBgAAgMtBQUC2hIWFacuWLerRo4czO3LkiLp27arWrVvrwIEDLqYDAADApaIgINuKFy+uOXPm6PPPP1e5cuWc+aeffqqqVatq6tSpSktLcy8gAAAAsoyCgBzTokUL7dy5U3369JExRpJ0/PhxPfbYY2ratKn27t3rckIAAABcDAUBOapQoUKaMGGC1q1bpypVqjjztWvXat68ee4FAwAAQJZQEJArGjRooC+//FLPP/+8QkJCdNNNN2nw4MFuxwIAAMBFhLgdAP4rPDxcL7zwgjp27KgzZ86oQIECGfYfPnxYBQsWVEREhEsJAQAAcD7OICDX1ahRQ3Xr1s0ws9aqe/fuiomJ0bp161xKBgAAgPNREOCKhQsX6sMPP9TevXvVuHFjPf744zp27JjbsQAAAAIeBQGuSEpKUuHChSWln02YMmWKoqOj9dlnn7mcDAAAILBREOCKzp07KyEhQa1bt3ZmBw4cUKtWrdStWzf98ccfLqYDAAAIXBQEuObaa6/VRx99pAULFqhEiRLO/LXXXlNUVJTee+89F9MBAAAEJgoCXGWM0f333y+Px6N//etfzvzXX39Vx44d1aFDByUlJbmYEAAAILBQEOATSpUqpbfeektxcXG65pprnHl4eLjCwsJcTAYAABBYKAjwKW3btlVCQoL+/e9/q2TJkpo4caLbkQAAAAIKBQE+p1ixYpo5c6Z2796tkiVLZth39OhRzZw5U6mpqS6lAwAA8G8UBPiscy9cPuvZZ5/Vgw8+qCZNmmj37t0upAIAAPBvFATkGxs3btS0adMkSevXr1dMTIxGjBih5ORkl5MBAAD4DwoC8o2aNWtqyJAhCgkJkZT+YWvPP/+86tSpo61bt7qcDgAAwD9QEJBvhIeHa+jQodq6datq167tzLdv3666detqwIABOnXqlIsJAQAA8j8KAvKdatWqacOGDRo3bpwKFCggSUpNTdXo0aNVo0YNrV692uWEAAAA+RcFAflSSEiI+vXrpx07dujmm2925vv27VPTpk21atUq98IBAADkYxQE5GsVKlTQsmXLNGPGDBUpUkSS1KRJEzVu3NjlZAAAAPkTBQH5XlBQkHr16qWEhAR16NBBs2bNUlAQ/9MGAAC4HPwWBb9RtmxZvfvuu6pYsWKGeUpKim677TYtXLhQ1lqX0gEAAOQPFAT4vZdfflmffvqp7rnnHt155506ePCg25EAAAB8FgUBfi05OVmzZ892HsfFxSkqKkpz5szhbAIAAMAFUBDg10JDQ7VlyxY9+OCDziwxMVEPPPCAWrRooW+//dbFdAAAAL6HggC/V7RoUU2fPl0rVqxQ+fLlnfny5ctVrVo1TZgwQampqS4mBAAA8B0UBASMm2++WTt27NBTTz3l3OXo5MmT6tu3rxo1aqSEhASXEwIAALiPgoCAEhkZqbFjx2rjxo2qVq2aM9+0aZPeeOMNF5MBAAD4BgoCAlKdOnW0ZcsWDR8+XKGhoapYsaIGDx7sdiwAAADXhbgdAHBLWFiYBg0apPbt2+vUqVOKiIjIsP/3339XwYIFFRkZ6VJCAACAvMcZBAS8qlWrqnbt2hlm1lp1795dNWrU0MqVK90JBgAA4AIKAnABb775pj7++GN9/fXXatasmR566CElJia6HQsAACDX+URBMMZ0NMZMNsasMcYcNcZYY8yCy1yrrDHmVWPMQWPMGWPMfmPMBGNM8ZzODf9ljFHRokWdxzNmzFDVqlX10UcfuZgqcMXFSR06SC1apG/j4txOBAQGjj0gMPlEQZD0vKTHJMVI+ulyFzHGlJcUL6m7pM2SXpH0raQ+kjYYY0pkPyoCwX333SePx6M77rjDmf3000+6/fbbdd999+n33393MV3gGDtWKlZMatdOev99admy9G27dunzsWPdTgj4J449ILD5SkHoK6mipCKSHs7GOtMklZLU21rbzlo7wFp7i9KLQiVJI7KdFAHjmmuu0aJFi7Rw4UKVKlXKmb/11luKiorSW2+9JWutiwn9W7duUv/+Umbv7EpMTN/fvXuexgL8HsceAJ8oCNbaFdbafTYbv20ZY26U1FLSfklTz9s9RNIJSZ2NMQUvOygCjjFGd911lzwejzp37uzMDx06pPvuu09t27ZVUlKSiwn909ix0muvZe258+bx10wgp3DsAZB8pCDkkFu82yXW2rRzd1hrj0laJylSUv28Dob8r0SJEpo/f74WL16sa6+91pkXK1ZMYWFhLibzTyMu8VzfpT4fwIVx7AGQ/KsgVPJuv8pk/z7vtmIeZIGfuu2227Rr1y498sgjKl26tF555RW3I/mduLjM39qQmcRELp4EsotjD8BZ/lQQzt5yJrN/3s7Oi2VlMWNM/IW+JFXOblDkb0WKFNHUqVO1Z88eXXnllRn2HT16VFOmTFFqaqpL6fK/+fPz9nUA0nHsATjLnwrCxRjvlqtKkSOKFftr13zmmWf0+OOPq0GDBtq1a5cLqfK/y/24CT6mAsgejj0AZ/lTQTj7T1TRTPYXOe95f8taW+tCX5L2ZDco/NOGDRs0ffp0SdIXX3yh2NhYDR06lIuYL1HRzI7gXHodgHQcewDO8qeCsNe7zewag5u828yuUQCypXbt2hoxYoRz0XJycrKGDRum2NhYbd682eV0+UeXLnn7OgDpOPYAnOVPBWGFd9vSGJPh5zLGFJbUSNIpSRvzOhgCQ2hoqJ577jlt27ZNDRo0cOYJCQlq0KCB+vXrpxMnTriYMH+4445L/4tk0aLprwNw+Tj2AJyV7wqCMSbUGFPZ+6nJDmvtN5KWSCon6dHzXjZMUkFJ8621/IaGXFWlShWtWbNGkyZNUsGC6R+7kZaWpvHjx6t69epavny5ywl938CBuft8ABfGsQdAkowvfBKsMaadpHbeh1dJ+qekbyWt8c4OWWuf8j63nKTvJH1vrS133jrlJa1X+qcpx0naLamepGZKf2tRQ2vt4WxmjY+NjY2Nj4/PzjIIEPv371evXr30+eefZ5ivXLlSTZs2dSlV/tCtW9Y+sKlbN2nu3NxOAwQOjj3Ad9SqVUtbt27d6r0ONs/4yhmEGEldvV//9M5uPGfWMSuLeM8i1JY0T+nFoJ+k8pImSWqQ3XIAXKpy5crps88+09y5c527Ht18881q3Lixy8l837x50pgxmb/loWjR9P38ggLkLI49AD5xBiE/4QwCLtfPP/+sJ598Ui+88IIqVKiQYZ+1VsaYTF6JuLj0e60nJqb/ctKlC+97BvICxx7gLrfOIFAQLhEFATktOTlZrVu3VteuXXX//fdTFAAAgCTeYgQErHHjxmnp0qXq3Lmz/u///k8//PCD25EAAEAAoyAALkpOTtZr51wNuHjxYlWtWlX/+c9/lJaW5mIyAAAQqCgIgItCQ0O1ZcsWPf74485bi44dO6ZHHnlEzZo10759+1xOCAAAAg0FAXBZoUKFNGnSJK1Zs0aVKlVy5qtXr1b16tU1ZswYpaSkuJgQAAAEEgoC4CMaNWqkbdu26bnnnlNwcLAk6fTp03rmmWdUv359bd++3eWEAAAgEFAQAB8SERGhESNGaMuWLapZs6Yzj4+P1zvvvONiMgAAECgoCIAPiomJ0aZNmzRq1CiFh4ercuXKGjRokNuxAABAAAhxOwCACwsNDdWAAQN055136uTJkwoPD8+w/7ffflNkZKQKFSrkUkIAAOCPOIMA+LhKlSpleLuRlP7Jy926dVO1atX0+eefu5QMAAD4IwoCkA8tWLBAn3zyifbv36+WLVuqR48eOnLkiNuxAACAH6AgAPlQeHi4rrjiCufx3LlzFRUVpUWLFrmYCgAA+AMKApAP3X333fJ4PLrrrruc2S+//KL27dvrrrvu0i+//OJiOgAAkJ9REIB8qnTp0lq4cKHef/99XXXVVc783XffVVRUlObPny9rrYsJAQBAfkRBAPK5O++8Ux6PRz169HBmR44cUdeuXdW6dWudOXPGxXQAACC/oSAAfqB48eKaM2eOPv/8c5UrV86ZlypV6i+3RwUAAPg7FATAj7Ro0UI7d+5Unz59dPXVV+uVV15xOxIAAMhnKAiAnylUqJAmTJigPXv2ZLjTkSQlJibqlVdeUXJyskvpAACAr6MgAH6qSJEif5n1799fTz75pOrVq6cvv/zShVQAAMDXURCAALFhwwbNnDlTkvTll1+qTp06eu6553T69GmXkwEAAF9CQQACRJ06dTRmzBhFRERIklJTUzVq1CjFxMRo3bp1LqcDAAC+goIABIiQkBA9/fTT2rFjh5o0aeLM9+7dq8aNG+vxxx/XsWPHXEwIAAB8AQUBCDA33XSTVqxYof/85z8qXLiwJMlaqylTpig6OlqfffaZywkBAICbKAhAAAoKCtJDDz2khIQEtW7d2pkfOHBArVq10sqVK90LBwAAXEVBAALYtddeq48++kgLFixQiRIlJEnNmjVT06ZNXU4GAADcQkEAApwxRvfff788Ho+6dOmiWbNmyRiT4TnWWpfSAQCAvEZBACBJKlWqlF577TWVL18+wzwpKUnNmjXT3LlzKQoAAAQACgKAvzVmzBitWrVKPXr0UMuWLfXdd9+5HQkAAOQiCgKATCUnJ+utt95yHi9dulTR0dGaNGmSUlNTXUwGAAByCwUBQKZCQ0P1xRdfqF+/fgoKSv/n4uTJk+rTp48aN26s3bt3u5wQAADkNAoCgL8VGRmpcePGacOGDYqOjnbmGzZsUExMjEaMGKHk5GQXEwIAgJxEQQCQJXXr1lV8fLyGDh2q0NBQSekXMD///POqXbu24uPjXU4IAAByAgUBQJaFhYVpyJAh2rp1q+rWrevMd+zYobi4OBeTAQCAnEJBAHDJoqOjtX79er388ssqUKCAoqKiNHDgQLdjAQCAHBDidgAA+VNwcLCefPJJ3XHHHTp+/LjCw8Mz7P/ll18UGRmpIkWKuJQQAABcDs4gAMiW8uXLq0aNGhlm1lp17dpVVatW1eLFi11KBgAALgcFAUCOmz9/vpYsWaIff/xRbdq0UadOnXTo0CG3YwEAgCygIADIcUWKFFHJkiWdx2+88YaioqL03//+V9ZaF5MBAICLoSAAyHF33nmnPB6P7r//fmf2+++/61//+pfatWungwcPupgOAAD8HQoCgFxx5ZVXasGCBfroo49UtmxZZ/6///1PUVFRmj17NmcTAADwQRQEALmqTZs2SkhI0EMPPeTMEhMT9e9//1stWrTQmTNnXEwHAADOR0EAkOuKFCmi//znP1q5cqUqVKjgzK+77rq/3B4VAAC4i4IAIM80bdpU27dv19NPP60yZcpo/PjxbkcCAADnoSAAyFORkZEaM2aM9uzZo+LFi2fY9+eff2rMmDFKSkpyKR0AAKAgAHBFoUKF/jJ7+umn9cwzz6hWrVr64osvXEgFAAAoCAB8woYNGzR79mxJ0q5du1S/fn099dRTOnnypMvJAAAILBQEAD6hbt26mjBhgiIjIyVJaWlpevnll1W9enWtXLnS3XAAAAQQCgIAnxAcHKw+ffpo586dat68uTP/5ptv1KxZMz344INKTEx0MSEAAIGBggDAp9x44436/PPPNWfOHBUtWtSZz5w5U1WrVtVHH33kYjoAAPwfBQGAzzHGqEePHvJ4PLrjjjuc+U8//aTbb79dK1ascDEdAAD+jYIAwGddc801WrRokRYuXKhSpUpJklq0aKGbb77Z3WAAAPgxCgIAn2aM0V133SWPx6OePXtq5syZMsZkeI611qV0AAD4HwoCgHyhRIkSmj17tm644YYM86SkJDVu3FgzZsxQWlqaS+kAAPAfFAQA+dpLL72kdevW6aGHHtItt9yiffv2uR0JAIB8jYIAIN9KTk7Wu+++6zxetWqVqlevrnHjxiklJcXFZAAA5F8UBAD5VmhoqDZv3qwBAwYoODhYknT69Gk9/fTTatCggXbs2OFyQgAA8h8KAoB8LSIiQqNGjdLmzZsVExPjzLds2aJatWppyJAhOnPmjIsJAQDIXygIAPxCbGysNm/erJEjRyo8PFySlJKSouHDhys2NlYbN250OSEAAPmDTxUEY0xZY8yrxpiDxpgzxpj9xpgJxpjil7DGSmOM/ZuviNz8GQC4JzQ0VM8++6y2bdumhg0bOnOPx6NPP/3UxWQAAOQfIW4HOMsYU17SekmlJMVJ2iOprqQ+kloZYxpZaw9fwpLDMplz5SLg5ypXrqw1a9Zo2rRpGjBggG644QY999xzbscCACBf8JmCIGma0stBb2vt5LNDY8x4SX0ljZD0UFYXs9YOzemAAPKPoKAgPfbYY7r99tt19OhRhYWFZdh/8OBBRUZGqlixYi4lBADAN/nEW4yMMTdKailpv6Sp5+0eIumEpM7GmIJ5HA1APnf99derWrVqGWbWWnXt2lVRUVGKi4tzKRkAAL7JJwqCpFu82yXW2gwfhWqtPSZpnaRISfWzuqAx5h5jzABjzJPGmNuMMeEqxjqGAAAgAElEQVQ5FxdAfjZv3jwtXbpUP//8s9q1a6d77rlHv/76q9uxAADwCb5SECp5t19lsv/sR6NWvIQ135Y0StLLkhZLOmCM6ZjVFxtj4i/0JanyJWQA4INKlCih0qVLO48XLlyoqKgoLViwQNZaF5MBAOA+XykIRb3bxEz2n51n5c3CcZJul1RWUgGl/0I/yvva/xpjbstGTgB+oG3btvJ4POrWrZsz++OPP9S5c2e1adNGBw4ccC8cAAAu85WCcDHGu73on/asta9Yaz+y1v5krT1trd1rrX1OUj+l/7wjs/INrbW1LvSl9LsrAcjnrrjiCs2dO1efffaZrr/+emf+ySefqGrVqpo2bZrS0tL+ZgUAAPyTrxSEs2cIimayv8h5z7scs5V+i9MYY0zhbKwDwI+0bNlSu3btUu/evWVM+t8ijh8/rkcffVTNmjXjU5gBAAHHVwrCXu82s2sMbvJuM7tG4aKstaclHfM+5G5IAByFChXSxIkTtWbNGlWu/P8vM6pQoYLzqcwAAAQKXykIK7zblsaYDJm8f+1vJOmUpI2X+w2MMZUkFVd6STh0uesA8F+NGjXSl19+qYEDB+q6667Tyy+/7HYkAADynE8UBGvtN5KWSCon6dHzdg9T+l/851trT5wdGmMqG2My3FHIGHOjMabM+esbY66UNNf78G1rLZ+mDOCCIiIi9OKLL2rPnj1/+RC1I0eOaMSIETp9+rRL6QAAyH0+URC8HpH0m6RJxpgPjDGjjDHLlf4pyl9JGnje83d7v87VRNL3xphlxpiZxpiXjDFvSvpaUgNJWyT1z9WfAoBfKFCgwF9m/fr10/PPP6+aNWtq/fr1LqQCACD3+UxB8J5FqC1pnqR6Sr/rUHlJkyQ1sNYezsIy8ZIWSColqYN3jVaSdkrqLamRtfbPHA8PwO9t2LBBc+emn4jcs2eP/vGPf6hPnz46fvy4y8kAAMhZPlMQJMla+4O1tru19mprbZi19nprbR9r7R8XeK6x1przZjuttd2stdWstSWstaHW2iustY2ttZOttUl599MA8Cf16tXT1KlTVahQIUmStVaTJk1SdHS0lixZ4nI6AAByjk8VBADwVUFBQXrkkUeUkJCgVq1aOfPvv/9e//znP9W9e3cdOXLExYQAAOQMCgIAXILrrrtOixcv1vz583XFFVc483nz5ikqKkrvv/++i+kAAMg+CgIAXCJjjDp37iyPx6O7777bmf/yyy/q0KGDli1b5mI6AACyh4IAAJepdOnS+u9//6tFixbp6quvlpT+ycy33HKLy8kAALh8FAQAyKZ27drJ4/Ho4Ycf1owZM2RMhvsnKC0tzaVkAABcOgoCAOSAYsWKadq0aSpXrlyG+ZkzZ9SwYUNNnjyZogAAyBcoCACQi0aOHKlNmzapd+/eatKkifbs2eN2JAAA/hYFAQBySXJysuLi4pzH69atU40aNTRy5EglJye7mAwAgMxREAAgl4SGhmrTpk0aNGiQQkJCJElJSUkaOHCg6tatqy+//NLlhAAA/BUFAQByUXh4uIYPH674+HjVrl3bmW/btk116tTRs88+q1OnTrmYEACAjCgIAJAHqlevrg0bNmjs2LGKiIiQJKWmpuqll15STEyM1qxZ43JCAADSURAAII+EhIToqaee0s6dO9W0aVNn/tVXX2nlypXuBQMA4BwUBADIYxUqVNDy5cs1ffp0FS5cWNWqVdMzzzzjdiwAACRJIW4HAIBAFBQUpAcffFBt2rRRYmKiwsLCMuz/8ccfVaBAAZUoUcKlhACAQMUZBABwUdmyZVW1atUMM2utunbtqqioKL377ruy1rqUDgAQiCgIAOBj5syZo+XLl+u3337TXXfdpQ4dOujnn392OxYAIEBQEADAx5QpU0ZlypRxHi9atEhVqlTRq6++ytkEAECuoyAAgI+57bbblJCQoF69ejmzxMRE9ezZUy1bttR3333nYjoAgL+jIACADypatKhmzJih5cuXq3z58s586dKlio6O1sSJE5WamupiQgCAv6IgAIAPa9asmXbs2KF+/fopKCj9n+yTJ0/qiSee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z57asmWLJKlBgwaUg4vg2AMCk0+8xQgAgNxWvXp1bdiwQWPHjlWlSpU0atQotyMBgE+iIAAAAkZISIieeuop7dy5U0WKFMmw79ChQ+rfv7+OHTvmUjoA8A0UBABAwDn/k5cl6YknntDYsWMVHR2tTz/91IVUAOAbKAgAgIC3adMmvfHGG5KkAwcO6LbbblPXrl11+HCWbqIHAH6FggAACHh169bVm2++qSuvvNKZzZ8/X1FRUXrnnXfEHf8ABBIKAgAg4BljdO+998rj8ejee+915r/99pvuvvtutW/fXj///LOLCQEg71AQAADwKlmypN58803973//U5kyZZz5Bx98oCpVqujVV1/lbAIAv0dBAADgPLfffrsSEhL04IMPOrPExET17NlTS5cudTEZAOQ+CgIAABdQtGhRTZ8+XcuXL1f58uUlpReHFi1auJwMAHIXBQEAgL/RrFkz7dixQwMGDNC0adNkjMmwPyUlxaVkAJA7KAgAAFxEZGSkRo0apbJly2aYnzp1SrGxsXrhhReUlJTkUjoAyFkUBAAALtPw4cO1c+dODR48WHXq1NGWLVvcjgQA2UZBAADgMqSkpGj16tXO4x07dqhevXrq37+/Tp486WIyAMgeCgIAAJchJCREq1ev1vjx41WgQAFJUlpamsaOHasaNWpo1apVLicEgMtDQQAA4DIFBwerb9++2rlzp5o1a+bMv/76a9188816+OGHdfToURcTAsCloyAAAJBN5cuX17JlyzRr1iwVKVLEmU+fPl1Vq1bV4sWLXUwHAJeGggAAQA4wxuiBBx6Qx+NR27ZtnfmPP/6oXbt2uZgMAC4NBQEAgBxUpkwZffDBB3r77bdVsmRJ1apVS08++aTbsQAgy0LcDgAAgL8xxuiee+5R8+bN9eeffyokJOP/3X733XcKCwtTmTJlXEoIAJnjDAIAALnkyiuvVIUKFTLM0tLS1KVLF0VFRWnWrFmy1rqUDgAujIIAAEAemj59utauXaujR4+qV69eat68ub755hu3YwGAg4IAAEAeqlatmm666Sbn8YoVK1StWjWNHz9eqampLiYDgHQUBAAA8lDjxo21fft29e/fX0FB6f83fOrUKfXr108NGzbkjkcAXEdBAAAgjxUoUECjR4/Wpk2bVL16dWe+efNmxcbGatiwYUpKSnIxIYBARkEAAMAltWvX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\n",
    
    chadhat's avatar
    chadhat committed
          "text/plain": [
    
           "<matplotlib.figure.Figure at 0x7fe8e711fc18>"
    
    chadhat's avatar
    chadhat committed
          ]
         },
         "metadata": {
    
          "image/png": {
           "height": 252,
           "width": 388
          },
    
    chadhat's avatar
    chadhat committed
          "needs_background": "light"
         },
         "output_type": "display_data"
        }
       ],
       "source": [
        "# Solution\n",
        "# Calculating Boolean OR using a perceptron\n",
        "import matplotlib.pyplot as plt\n",
        "threshold=0.6\n",
        "w=[1,1]\n",
        "X=[[0,0],[1,0],[0,1],[1,1]]\n",
        "for i in X:\n",
    
        "    print(\"Perceptron output for x1, x2 = \" , i , \" is \" , perceptron(i,w,threshold))\n",
    
    chadhat's avatar
    chadhat committed
        "# Plotting the decision boundary\n",
        "plt.xlim(-1,2)\n",
        "plt.ylim(-1,2)\n",
        "for i in X:\n",
        "    plt.plot(i,\"o\",color=\"b\");\n",
        "# Plotting the decision boundary\n",
        "# that is a line given by w_1*x_1+w_2*x_2-threshold=0\n",
        "plt.plot(np.arange(-3,4), threshold-np.arange(-3,4), \"--\", color=\"black\");"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "**Optional exercise: Create a NAND gate with perceptrons**"
       ]
      },
      {
       "cell_type": "code",
    
       "execution_count": 23,
    
    chadhat's avatar
    chadhat committed
       "metadata": {},
       "outputs": [],
       "source": [
        "# Calculating Boolean NAND using a perceptron\n",
        "\n",
        "\n",
        "\n"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "In fact a single perceptron can compute \"AND\", \"OR\" and \"NOT\" boolean functions.\n",
        "However, it cannot compute some other boolean functions such as \"XOR\"\n",
        "\n",
        "WHAT CAN WE DO?\n",
        "Hint: What is the significance of the NAND gate we created above\n",
        "\n",
        "We said a single perceptron can't compute these functions. We didn't say that about **multiple Perceptrons**"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "**XOR function**\n",
        "\n",
        "**TO DO: INSERT IMAGE HERE!!!!!!!!!!!!!!**"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
    
        "### Google Playground\n",
        "\n",
        "UWE: move up before discussing gradient stuff etc\n",
        "\n",
        "https://playground.tensorflow.org/\n",
        "\n",
        "<img src=\"./images/neuralnets/google_playground.png\"/>"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "## Learning\n",
        "\n",
        "Now we know that we can compute complex functions if we stack together a number of perceptrons.\n",
        "\n",
        "However, we can DO NOT want to set the weights and thresholds by hand as we did in the examples above.\n",
        "\n",
        "We want some algorithm to do this for us!\n",
        "\n",
        "In order to achieve this we first need to choose a loss function for the problem at hand\n",
        "\n",
        "\n",
        "### Loss function\n",
        "As in the case of other machine learning algorithms we need to define a so-called \"Loss function\". In simple words this function measures how close are the predictions of our network to the supplied labels. Once we have this function we need an algorithm to update the weights of the network such that this loss decreases. As one can already imagine the choice of an appropriate loss function is very important to the success of the trained model. Fortunately, for classification and regression (which comprise of a large range of probelms) these loss functions are well known. Generally **crossentropy** and **mean squared error** loss functions are chosen for classification and regression problems, respectively.\n",
        "\n",
        "### Gradient based learning\n",
        "Once we have a loss function we want to solve an **optimization problem** which minimizes this loss by updating the weights of the network and this is how the learning actually happens.\n",
        "\n",
        "One of the most popular optimization method used in machine learning is **Gradient-descent**\n",
        "\n",
        "INSERT MORE EXPLAINATIONS HERE\n",
        "\n",
    
    chadhat's avatar
    chadhat committed
        "### Activation Functions\n",
        "\n",
    
        "In order to train the network we need to change Perceptron's **step** activation function as it does not allow training using the back-propagation algorithm among other drawbacks.\n",
        "\n",
        "Non-Linear functions such as:\n",
        "\n",
        "* ReLU (Rectified linear unit)\n",
        "\n",
        "\\begin{equation*}\n",
        "f(z) = \\mathrm{max}(0,z)\n",
        "\\end{equation*}\n",
        "\n",
        "* Sigmoid\n",
        "\n",
        "\\begin{equation*}\n",
        "f(z) = \\frac{1}{1+e^{-z}}\n",
        "\\end{equation*}\n",
        "\n",
        "* tanh\n",
        "\n",
        "\\begin{equation*}\n",
        "f(z) = \\frac{e^{z} - e^{-z}}{e^{z} + e^{-z}}\n",
        "\\end{equation*}\n",
        "\n",
        "\n",
        "are some of the most popular choices used as activation functions.\n",
        "\n",
        "Linear activations are **NOT** used because it can be mathematically shown that if linear activations are used then output is just a linear function of the input. So adding any number of hidden layers does not help to learn interesting functions.\n",
        "\n",
        "Non-linear activation functions allow the network to learn more complex representations."
    
    chadhat's avatar
    chadhat committed
       ]
      },
      {
       "cell_type": "code",
    
       "execution_count": 135,
    
    chadhat's avatar
    chadhat committed
       "metadata": {},
       "outputs": [
        {
         "data": {
    
          "image/png": "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\n",
    
    chadhat's avatar
    chadhat committed
          "text/plain": [
    
           "<matplotlib.figure.Figure at 0x7fe8eb5e6978>"
    
    chadhat's avatar
    chadhat committed
          ]
         },
         "metadata": {
    
          "image/png": {
           "height": 250,
           "width": 597
          },
    
    chadhat's avatar
    chadhat committed
          "needs_background": "light"
         },
         "output_type": "display_data"
        }
       ],
       "source": [
        "import matplotlib.pyplot as plt\n",
        "import numpy as np\n",
        "\n",
    
        "plt.figure(figsize=(10, 4))\n",
    
    chadhat's avatar
    chadhat committed
        "\n",
        "pts=np.arange(-20,20, 0.1)\n",
        "\n",
    
        "plt.subplot(1, 3, 1)\n",
    
    chadhat's avatar
    chadhat committed
        "# Sigmoid\n",
    
        "plt.plot(pts, 1/(1+np.exp(-pts))) ;\n",
        "\n",
        "plt.subplot(1, 3, 2)\n",
    
    chadhat's avatar
    chadhat committed
        "# tanh\n",
    
        "plt.plot(pts, np.tanh(pts*np.pi)) ;\n",
    
    chadhat's avatar
    chadhat committed
        "\n",
        "# Rectified linear unit (ReLu)\n",
    
        "plt.subplot(1, 3, 3)\n",
    
    chadhat's avatar
    chadhat committed
        "pts_relu=[max(0,i) for i in pts];\n",
    
        "plt.plot(pts, pts_relu) ;"
    
    chadhat's avatar
    chadhat committed
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
    
        "Suggestion Uwe:\n",
        "\n",
        "1. more layers might improve power of single perctptron.\n",
        "\n",
        "2. regrettably math show that just \"stacking\" perceptrons only adds little improvements\n",
        "\n",
        "3. way around: look at nature how neuron works and introduce non linear activation functions.\n",
        "\n",
        "4. theoretical background: universal approximation theorem.\n",
        "\n",
        "\n",
        "\n",
    
    chadhat's avatar
    chadhat committed
        "### Multi-layer preceptron neural network\n",
        "Universal function theorem\n",
        "\n",
    
        "epochs\n"
    
    chadhat's avatar
    chadhat committed
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "# Introduction to Keras"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "What is **Keras**?\n",
        "\n",
        "* It is a high level API to create and work with neural networks\n",
    
        "* Supports multiple backends such as TensorFlow from Google, Theano (Although Theano is dead now) and CNTK (Microsoft Cognitive Toolkit)\n",
        "* Very good for creating neural nets very quickly and hides away a lot of tedious work\n",
        "* Has been incorporated into official TensorFlow (which obviously only works with tensforflow) and as of TensorFlow 2.0 this will the main api to use TensorFlow (check reference)\n"
    
    chadhat's avatar
    chadhat committed
       ]
      },
      {
       "cell_type": "code",
    
       "execution_count": 35,
    
    chadhat's avatar
    chadhat committed
       "metadata": {},
       "outputs": [
        {
    
         "name": "stdout",
         "output_type": "stream",
         "text": [
          "_________________________________________________________________\n",
          "Layer (type)                 Output Shape              Param #   \n",
          "=================================================================\n",
          "dense_9 (Dense)              (None, 4)                 36        \n",
          "_________________________________________________________________\n",
          "activation_7 (Activation)    (None, 4)                 0         \n",
          "_________________________________________________________________\n",
          "dense_10 (Dense)             (None, 4)                 20        \n",
          "_________________________________________________________________\n",
          "dense_11 (Dense)             (None, 1)                 5         \n",
          "_________________________________________________________________\n",
          "activation_8 (Activation)    (None, 1)                 0         \n",
          "=================================================================\n",
          "Total params: 61\n",
          "Trainable params: 61\n",
          "Non-trainable params: 0\n",
          "_________________________________________________________________\n"
    
    chadhat's avatar
    chadhat committed
         ]
        }
       ],
       "source": [
        "# Say hello to keras\n",
        "\n",
        "from keras.models import Sequential\n",
        "from keras.layers import Dense, Activation\n",
        "\n",
        "# Creating a model\n",
        "model = Sequential()\n",
        "\n",
        "# Adding layers to this model\n",
        "# 1st Hidden layer\n",
    
        "# A Dense/fully-connected layer which takes as input a \n",
        "# feature array of shape (samples, num_features)\n",
        "# Here input_shape = (8,) means that the layer expects an input with num_features = 8 \n",
        "# and the sample size could be anything\n",
        "# Then we specify an activation function\n",
        "model.add(Dense(units=4, input_shape=(8,)))\n",
    
    chadhat's avatar
    chadhat committed
        "model.add(Activation(\"relu\"))\n",
        "\n",
    
        "# 2nd Hidden layer\n",
        "# This is also a fully-connected layer and we do not need to specify the\n",
        "# shape of the input anymore (We need to do that only for the first layer)\n",
        "# NOTE: Now we didn't add the activation seperately. Instead we just added it\n",
        "# while calling Dense(). This and the way used for the first layer are Equivalent!\n",
        "model.add(Dense(units=4, activation=\"relu\"))\n",
        "\n",
        "          \n",
    
    chadhat's avatar
    chadhat committed
        "# The output layer\n",
        "model.add(Dense(units=1))\n",
        "model.add(Activation(\"sigmoid\"))\n",
        "\n",
        "model.summary()"
       ]
      },
      {
       "cell_type": "code",
    
       "execution_count": null,
    
    chadhat's avatar
    chadhat committed
       "metadata": {},
       "outputs": [],
       "source": [
    
        "# Fitting the model "
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
    
    chadhat's avatar
    chadhat committed
        "**TO DO: Move the MNIST example after the previous dataset examples**"
    
    chadhat's avatar
    chadhat committed
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
    
        "### MNIST Dataset\n",
    
    chadhat's avatar
    chadhat committed
        "\n",
    
        "MNIST datasets is a very common dataset used in machine learning. It is widely used to train and validate models.\n",
    
    chadhat's avatar
    chadhat committed
        "\n",
    
        "\n",
        ">The MNIST database of handwritten digits, available from this page, has a training set of 60,000 examples, and a >test set of 10,000 examples. It is a subset of a larger set available from NIST. The digits have been size->normalized and centered in a fixed-size image.\n",
        ">It is a good database for people who want to try learning techniques and pattern recognition methods on real-world >data while spending minimal efforts on preprocessing and formatting.\n",
        ">source: http://yann.lecun.com/exdb/mnist/\n",
        "\n",
        "The problem we want to solve using this dataset is: multi-class classification\n",
        "This dataset consists of images of handwritten digits between 0-9 and their corresponsing labels. We want to train a neural network which is able to predict the correct digit on the image. "
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 184,
       "metadata": {},
       "outputs": [],
       "source": [
        "# Loading the dataset in keras\n",
        "# Later you can explore and play with other datasets with come with Keras\n",
        "from keras.datasets import mnist\n",
        "\n",
        "# Loading the train and test data\n",
        "\n",
        "(X_train, y_train), (X_test, y_test) = mnist.load_data()"
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 185,
       "metadata": {},
       "outputs": [
        {
         "name": "stdout",
         "output_type": "stream",
         "text": [
          "(60000, 28, 28)\n"
         ]
        }
       ],
       "source": [
        "# Looking at the dataset\n",
        "print(X_train.shape)"
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 186,
       "metadata": {},
       "outputs": [
        {
         "name": "stdout",
         "output_type": "stream",
         "text": [
          "This digit is:  8\n"
         ]
        },
        {
         "data": {
          "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfoAAAH0CAYAAADVH+85AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAAG2VJREFUeJzt3X2sbWddJ/DvT6pQGltsoxLjKC9a2qDAULRQMnBviQxoxCLthD/ExoBRhwwWYaJR8J6rToLJZJCXGTDC2AjJVFMixrECEzj3tryosQQ7xPJmWztkwFIqLdCCFp75Y6+r1zPn3Jez9z3rnN/5fJKd5+y11rPX76y7cr/n2Xvt9dQYIwBAT98wdwEAwJkj6AGgMUEPAI0JegBoTNADQGOCHgAaE/QA0JigB4DGBD0ANCboAaAxQQ8AjQl6AGhM0ANAY4IeABoT9ADQmKAHgMbOmruAM6Gqbk9ybpI7Zi4FALbrUUnuG2M8epkXaRn0Sc49++yzz7/44ovPn7sQANiOW2+9NQ888MDSrzNr0FfVdyb5tSTPSXJBks8keWeSw2OMv1/ipe+4+OKLz7/55ptXUCUA7LxLLrkkH/7wh+9Y9nVmC/qqemySDyb5tiR/lORjSX4wyc8neU5VPX2M8fm56gOADua8GO+/ZRHyLxtjXDHG+KUxxuVJXpvkcUn+04y1AUALswR9VT0mybOzuFjuv25YfSjJl5O8qKrO2eHSAKCVuUb0l0/te8YYXz9+xRjji0k+kOThSZ6604UBQCdzfUb/uKn9xBbrP5nFiP/CJO/d6kWqaqur7S7afmkA0MdcI/rzpvbeLdYfW/6IHagFANrard+jr6kdJ9pojHHJpp0XI/0nr7ooANhr5hrRHxuxn7fF+nM3bAcAbMNcQf/xqb1wi/XfO7VbfYYPAJyCuYJ+fWqfXVX/ooaq+uYkT0/yQJI/2+nCAKCTWYJ+jPE3Sd6TxQ37X7ph9eEk5yT5vTHGl3e4NABoZc6L8f59FrfAfX1VPSvJrUkuTXIwi7fsf2XG2gCghdlugTuN6p+S5NosAv4VSR6b5PVJnuY+9wCwvFm/XjfG+D9JfmrOGgCgszkntQEAzjBBDwCNCXoAaEzQA0Bjgh4AGhP0ANCYoAeAxgQ9ADQm6AGgMUEPAI0JegBoTNADQGOCHgAaE/QA0JigB4DGBD0ANCboAaAxQQ8AjQl6AGhM0ANAY4IeABoT9ADQmKAHgMYEPQA0JugBoDFBDwCNCXoAaEzQA0Bjgh4AGhP0ANCYoAeAxgQ9ADQm6AGgMUEPAI0JegBoTNADQGOCHgAaE/QA0JigB4DGBD0ANCboAaAxQQ8AjQl6AGhM0ANAY4IeABoT9ADQmKAHgMYEPQA0JugBoDFBDwCNCXoAaEzQA0Bjgh4AGhP0ANCYoAeAxgQ9ADQm6AGgMUEPAI0JegBoTNADQGOCHgAaE/QA0NhZcxcAq1BVS/U/cODAtvuur68vte9lHDlyZLb+hw8fXmrfe9mhQ4dm2/cy5+oyfdm7ZhvRV9UdVTW2eHx2rroAoJO5R/T3JvmtTZZ/aacLAYCO5g76L4wx1mauAQDacjEeADQ294j+oVX1E0m+K8mXk9yS5MYxxtfmLQsAepg76B+Z5G0blt1eVT81xjh6ss5VdfMWqy5aujIAaGDOt+5/N8mzsgj7c5J8f5LfTvKoJH9aVU+crzQA6GG2Ef0YY+OXcD+a5Ger6ktJXpFkLcnzT/Ial2y2fBrpP3kFZQLAnrYbL8Z789Q+Y9YqAKCB3Rj0d03tObNWAQAN7Magf9rU3jZrFQDQwCxBX1WPr6rzN1n+3UneOD19+85WBQD9zHUx3lVJfqmq1pPcnuSLSR6b5EeSPCzJDUn+80y1AUAbcwX9epLHJfnXWbxVf06SLyR5fxbfq3/bGGPMVBsAtDFL0E83wznpDXHgVC07beic03eura1tu+9+nip2TnMe92X2vex5PueUzGzfbrwYDwBYEUEPAI0JegBoTNADQGOCHgAaE/QA0JigB4DGBD0ANCboAaAxQQ8AjQl6AGhM0ANAY4IeABoT9ADQmKAHgMZmmY8eVm2ZOd2XdfDgwaX6HzlyZDWF7LBDhw7Nuv85/83ntMzvffTo0dUVwp5hRA8AjQl6AGhM0ANAY4IeABoT9ADQmKAHgMYEPQA0JugBoDFBDwCNCXoAaEzQA0Bjgh4AGhP0ANCYoAeAxkxTC1lu6s85p5lddqrY/TrV67KWOW6HDx9eat9jjKX6s/8Y0QNAY4IeABoT9ADQmKAHgMYEPQA0JugBoDFBDwCNCXoAaEzQA0Bjgh4AGhP0ANCYoAeAxgQ9ADQm6AGgMUEPAI2Zjx72MPPJb8+RI0eW6r/snPKwk4zoAaAxQQ8AjQl6AGhM0ANAY4IeABoT9ADQmKAHgMYEPQA0JugBoDFBDwCNCXoAaEzQA0Bjgh4AGhP0ANCYaWphD1t2utUDBw6spI45LPO7Hzx4cHWFnKa9fMzZm1Yyoq+qK6vqDVV1U1XdV1Wjqt5+kj6XVdUNVXVPVd1fVbdU1TVV9ZBV1AQArG5E/6okT0zypSSfTnLRiTauqh9L8o4kX0ny+0nuSfKjSV6b5OlJrlpRXQCwr63qM/qXJ7kwyblJfu5EG1bVuUl+J8nXkhwYY7x4jPEfkzwpyYeSXFlVL1xRXQCwr60k6McY62OMT44xxilsfmWSb01y3RjjL497ja9k8c5AcpI/FgCAUzPHVfeXT+27Nll3Y5L7k1xWVQ/duZIAoKc5gv5xU/uJjSvGGA8muT2Lawces5NFAUBHc3y97rypvXeL9ceWP+JkL1RVN2+x6oQXAwLAfrEbb5hTU3sqn/cDACcwx4j+2Ij9vC3Wn7thuy2NMS7ZbPk00n/y6ZcGAL3MMaL/+NReuHFFVZ2V5NFJHkxy204WBQAdzRH075va52yy7hlJHp7kg2OMr+5cSQDQ0xxBf32Su5O8sKqecmxhVT0syW9MT980Q10A0M5KPqOvqiuSXDE9feTUPq2qrp1+vnuM8cokGWPcV1U/nUXgH6mq67K4Be7zsvjq3fVZ3BYXAFjSqi7Ge1KSqzcse0z++bvwf5vklcdWjDHeWVXPTPIrSV6Q5GFJPpXkF5K8/hTvsAcAnMRKgn6MsZZk7TT7fCDJD69i/wDA5sxHD3vY4cOHZ9v3svOqLzOffLJ355RfX19fXSFwCnbjDXMAgBUR9ADQmKAHgMYEPQA0JugBoDFBDwCNCXoAaEzQA0Bjgh4AGhP0ANCYoAeAxgQ9ADQm6AGgMUEPAI2ZphaSrK2tbbvvstO1LjPd6rJTvS7T/9ChQ0vt++jRo0v1n9OyvzvsJCN6AGhM0ANAY4IeABoT9ADQmKAHgMYEPQA0JugBoDFBDwCNCXoAaEzQA0Bjgh4AGhP0ANCYoAeAxgQ9ADQm6AGgMfPRw5KWnY9+fX19232Xmct+WYcPH55t38ta5pgny/+bw04yogeAxgQ9ADQm6AGgMUEPAI0JegBoTNADQGOCHgAaE/QA0JigB4DGBD0ANCboAaAxQQ8AjQl6AGhM0ANAY6aphZktM+XpoUOHltr3Xp5qdhmmmWU/MaIHgMYEPQA0JugBoDFBDwCNCXoAaEzQA0Bjgh4AGhP0ANCYoAeAxgQ9ADQm6AGgMUEPAI0JegBoTNADQGOCHgAaMx897GFHjx6dbd/Lzul+5MiRldSxHQcPHlyq//r6+ooqgTNvJSP6qrqyqt5QVTdV1X1VNarq7Vts+6hp/VaP61ZREwCwuhH9q5I8McmXknw6yUWn0Oevkrxzk+UfXVFNALDvrSroX55FwH8qyTOTnMr7Wh8ZY6ytaP8AwCZWEvRjjH8K9qpaxUsCACsw58V431FVP5PkgiSfT/KhMcYtM9YDAO3MGfQ/ND3+SVUdSXL1GOPOU3mBqrp5i1Wnco0AALQ3x/fo70/y60kuSfIt0+PY5/oHkry3qs6ZoS4AaGfHR/RjjLuS/OqGxTdW1bOTvD/JpUlekuR1p/Bal2y2fBrpP3nJUgFgz9s1d8YbYzyY5C3T02fMWQsAdLFrgn7yuan11j0ArMBuC/qnTu1ts1YBAE3seNBX1aVV9U2bLL88ixvvJMmmt88FAE7PSi7Gq6orklwxPX3k1D6tqq6dfr57jPHK6effTPL46at0n56WPSHJ5dPPrx5jfHAVdQHAfreqq+6flOTqDcseMz2S5G+THAv6tyV5fpIfSPLcJN+Y5O+S/EGSN44xblpRTQCw763qFrhrSdZOcdu3JnnrKvYLAJyY+ehhZmtra9vuu+yc7svMq77sfPTL/N5Jcvjw4W33Xfa4LdN/2eMGp2u3XXUPAKyQoAeAxgQ9ADQm6AGgMUEPAI0JegBoTNADQGOCHgAaE/QA0JigB4DGBD0ANCboAaAxQQ8AjQl6AGjMNLWwpGWnPF1mutVlpzydc8rUZaepPXr06Lb7mqaW/cSIHgAaE/QA0JigB4DGBD0ANCboAaAxQQ8AjQl6AGhM0ANAY4IeABoT9ADQmKAHgMYEPQA0JugBoDFBDwCNCXoAaMx89LCkZeaTX9Yzn/nM2fY9t/X19W33raql9n306NGl+sNOMqIHgMYEPQA0JugBoDFBDwCNCXoAaEzQA0Bjgh4AGhP0ANCYoAeAxgQ9ADQm6AGgMUEPAI0JegBoTNADQGOmqYUka2tr2+575MiRldVxupapm+2b898cTpcRPQA0JugBoDFBDwCNCXoAaEzQA0Bjgh4AGhP0ANCYoAeAxgQ9ADQm6AGgMUEPAI0JegBoTNADQGOCHgAaE/QA0Jj56GFm6+vrc5ewJ805J/yhQ4dm2zecrqVH9FV1QVW9pKr+sKo+VVUPVNW9VfX+qnpxVW26j6q6rKpuqKp7qur+qrqlqq6pqocsWxMAsLCKEf1VSd6U5DNJ1pPcmeTbk/x4krckeW5VXTXGGMc6VNWPJXlHkq8k+f0k9yT50SSvTfL06TUBgCWtIug/keR5Sf5kjPH1Ywur6peT/EWSF2QR+u+Ylp+b5HeSfC3JgTHGX07LX53kfUmurKoXjjGuW0FtALCvLf3W/RjjfWOMPz4+5Kfln03y5unpgeNWXZnkW5Ncdyzkp+2/kuRV09OfW7YuAODMX3X/j1P74HHLLp/ad22y/Y1J7k9yWVU99EwWBgD7wRm76r6qzkryk9PT40P9cVP7iY19xhgPVtXtSR6f5DFJbj3JPm7eYtVFp1ctAPR0Jkf0r0nyfUluGGO8+7jl503tvVv0O7b8EWeqMADYL87IiL6qXpbkFUk+luRFp9t9ascJt0oyxrhki/3fnOTJp7lfAGhn5SP6qnppktcl+eskB8cY92zY5NiI/bxs7twN2wEA27TSoK+qa5K8MclHswj5z26y2cen9sJN+p+V5NFZXLx32yprA4D9aGVBX1W/mMUNbz6SRcjftcWm75va52yy7hlJHp7kg2OMr66qNgDYr1YS9NPNbl6T5OYkzxpj3H2Cza9PcneSF1bVU457jYcl+Y3p6ZtWURcA7HdLX4xXVVcn+bUs7nR3U5KXVdXGze4YY1ybJGOM+6rqp7MI/CNVdV0Wt8B9XhZfvbs+i9viAgBLWsVV94+e2ockuWaLbY4mufbYkzHGO6vqmUl+JYtb5D4syaeS/EKS1x9/X3wAYPuWDvoxxlqStW30+0CSH152/7AKhw8fnm3fBw4cmG3fe9mc/2awl5zpW+ACADMS9ADQmKAHgMYEPQA0JugBoDFBDwCNCXoAaEzQA0Bjgh4AGhP0ANCYoAeAxgQ9ADQm6AGgMUEPAI0JegBobOn56GG/O3To0NwlzGJtbW2p/kePHl2q/5EjR7bd98CBA0vte9nfHXaSET0ANCboAaAxQQ8AjQl6AGhM0ANAY4IeABoT9ADQmKAHgMYEPQA0JugBoDFBDwCNCXoAaEzQA0Bjgh4AGjNNLSzp8OHD+3Lfc1tmqtn19fXVFQK7nBE9ADQm6AGgMUEPAI0JegBoTNADQGOCHgAaE/QA0JigB4DGBD0ANCboAaAxQQ8AjQl6AGhM0ANAY4IeABoT9ADQmPnoIcvNT37kyJGl9j3nnPKHDh2abd/LzCe/iv6wXxjRA0Bjgh4AGhP0ANCYoAeAxgQ9ADQm6AGgMUEPAI0JegBoTNADQGOCHgAaE/QA0JigB4DGBD0ANCboAaAx09RClpvydNnpUtfW1pbqD3AiS4/oq+qCqnpJVf1hVX2qqh6oqnur6v1V9eKq+oYN2z+qqsYJHtctWxMAsLCKEf1VSd6U5DNJ1pPcmeTbk/x4krckeW5VXTXGGBv6/VWSd27yeh9dQU0AQFYT9J9I8rwkfzLG+PqxhVX1y0n+IskLsgj9d2zo95ExxtoK9g8AbGHpt+7HGO8bY/zx8SE/Lf9skjdPTw8sux8A4PSd6Yvx/nFqH9xk3XdU1c8kuSDJ55N8aIxxyxmuBwD2lTMW9FV1VpKfnJ6+a5NNfmh6HN/nSJKrxxh3nqm6AGA/OZMj+tck+b4kN4wx3n3c8vuT/HoWF+LdNi17QpK1JAeTvLeqnjTG+PLJdlBVN2+x6qLtFg0AnZyRG+ZU1cuSvCLJx5K86Ph1Y4y7xhi/Osb48BjjC9PjxiTPTvLnSb4nyUvORF0AsN+sfERfVS9N8rokf53kWWOMe06l3xjjwap6S5JLkzxjeo2T9blkixpuTvLkUy4aAJpa6Yi+qq5J8sYsvgt/cLry/nR8bmrPWWVdALBfrSzoq+oXk7w2yUeyCPm7tvEyT53a2064FQBwSlYS9FX16iwuvrs5i7fr7z7BtpdW1TdtsvzyJC+fnr59FXUBwH639Gf0VXV1kl9L8rUkNyV5WVVt3OyOMca108+/meTx01fpPj0te0KSy6efXz3G+OCydQEAq7kY79FT+5Ak12yxzdEk104/vy3J85P8QJLnJvnGJH+X5A+SvHGMcdMKagIAsoKgn+5Xv3Ya2781yVuX3S8AcHJn5Hv0AMDuIOgBoDFBDwCNCXoAaEzQA0Bjgh4AGhP0ANCYoAeAxgQ9ADQm6AGgMUEPAI0JegBoTNADQGOCHgAaE/QA0JigB4DGBD0ANCboAaAxQQ8AjQl6AGhM0ANAY4IeABoT9ADQmKAHgMYEPQA0JugBoDFBDwCNCXoAaEzQA0Bjgh4AGqsxxtw1rFxVff7ss88+/+KLL567FADYlltvvTUPPPDAPWOMC5Z5na5Bf3uSc5PcscUmF03tx3akoB4cs+1x3LbHcTt9jtn27Obj9qgk940xHr3Mi7QM+pOpqpuTZIxxydy17BWO2fY4btvjuJ0+x2x79sNx8xk9ADQm6AGgMUEPAI0JegBoTNADQGP78qp7ANgvjOgBoDFBDwCNCXoAaEzQA0Bjgh4AGhP0ANCYoAeAxvZV0FfVd1bVf6+q/1tVX62qO6rqt6rqW+aubbeajtHY4vHZueubS1VdWVVvqKqbquq+6Xi8/SR9LquqG6rqnqq6v6puqaprquohO1X33E7nuFXVo05w7o2qum6n659DVV1QVS+pqj+sqk9V1QNVdW9Vvb+qXlxVm/4/vt/Pt9M9bp3Pt7PmLmCnVNVjk3wwybcl+aMs5h7+wSQ/n+Q5VfX0McbnZyxxN7s3yW9tsvxLO13ILvKqJE/M4hh8Ov88p/WmqurHkrwjyVeS/H6Se5L8aJLXJnl6kqvOZLG7yGkdt8lfJXnnJss/usK6drOrkrwpyWeSrCe5M8m3J/nxJG9J8tyqumocd/cz51uSbRy3Sb/zbYyxLx5J3p1kJPkPG5b/l2n5m+eucTc+ktyR5I6569htjyQHk3xvkkpyYDqH3r7FtucmuSvJV5M85bjlD8vij8+R5IVz/0678Lg9alp/7dx1z3zMLs8ipL9hw/JHZhFeI8kLjlvufNvecWt7vu2Lt+6r6jFJnp1FaP3XDasPJflykhdV1Tk7XBp71BhjfYzxyTH9D3ESVyb51iTXjTH+8rjX+EoWI9wk+bkzUOauc5rHjSRjjPeNMf54jPH1Dcs/m+TN09MDx61yvmVbx62t/fLW/eVT+55N/tG/WFUfyOIPgacmee9OF7cHPLSqfiLJd2XxR9EtSW4cY3xt3rL2jGPn37s2WXdjkvuTXFZVDx1jfHXnytozvqOqfibJBUk+n+RDY4xbZq5pt/jHqX3wuGXOt5Pb7Lgd0+582y9B/7ip/cQW6z+ZRdBfGEG/mUcmeduGZbdX1U+NMY7OUdAes+X5N8Z4sKpuT/L4JI9JcutOFrZH/ND0+CdVdSTJ1WOMO2epaBeoqrOS/OT09PhQd76dwAmO2zHtzrd98dZ9kvOm9t4t1h9b/ogdqGWv+d0kz8oi7M9J8v1JfjuLz7P+tKqeOF9pe4bzb3vuT/LrSS5J8i3T45lZXFh1IMl79/nHba9J8n1JbhhjvPu45c63E9vquLU93/ZL0J9MTa3PDTcYYxyePuv6uzHG/WOMj44xfjaLixjPTrI2b4UtOP82Mca4a4zxq2OMD48xvjA9bszi3bc/T/I9SV4yb5XzqKqXJXlFFt8eetHpdp/afXe+nei4dT7f9kvQH/sL9rwt1p+7YTtO7tjFLM+YtYq9wfm3QmOMB7P4elSyD8+/qnppktcl+eskB8cY92zYxPm2iVM4bpvqcL7tl6D/+NReuMX6753arT7D5/9319TuybeydtiW59/0eeGjs7go6LadLGqP+9zU7qvzr6quSfLGLL7TfXC6gnwj59sGp3jcTmRPn2/7JejXp/bZm9wN6ZuzuIHEA0n+bKcL28OeNrX75j+LJbxvap+zybpnJHl4kg/u4yugt+OpU7tvzr+q+sUsbnjzkSzC6q4tNnW+Hec0jtuJ7OnzbV8E/Rjjb5K8J4sLyF66YfXhLP5K+70xxpd3uLRdraoeX1Xnb7L8u7P46zhJTnjbV5Ik1ye5O8kLq+opxxZW1cOS/Mb09E1zFLabVdWlVfVNmyy/PMnLp6f74vyrqldncRHZzUmeNca4+wSbO98mp3PcOp9vtV/uW7HJLXBvTXJpFnfq+kSSy4Zb4P4LVbWW5JeyeEfk9iRfTPLYJD+SxV22bkjy/DHGP8xV41yq6ookV0xPH5nk32bx1/5N07K7xxiv3LD99VnckvS6LG5J+rwsvgp1fZJ/tx9uInM6x236StPjkxzJ4na5SfKE/PP3xF89xjgWXG1V1dVJrk3ytSRvyOafrd8xxrj2uD77/nw73ePW+nyb+9Z8O/lI8q+y+LrYZ5L8Q5K/zeLijPPnrm03PrL4asn/yOIK1S9kcZOJzyX5X1l8D7XmrnHGY7OWxVXLWz3u2KTP07P44+jvs/io6H9nMVJ4yNy/z248bklenOR/ZnFHyy9lcUvXO7O4d/u/mft32UXHbCQ54nxb7rh1Pt/2zYgeAPajffEZPQDsV4IeABoT9ADQmKAHgMYEPQA0JugBoDFBDwCNCXoAaEzQA0Bjgh4AGhP0ANCYoAeAxgQ9ADQm6AGgMUEPAI0JegBoTNADQGP/D0f+ocg2prjgAAAAAElFTkSuQmCC\n",
          "text/plain": [
           "<matplotlib.figure.Figure at 0x7fe8e68579e8>"
          ]
         },
         "metadata": {
          "image/png": {
           "height": 250,
           "width": 253
          },
          "needs_background": "light"
         },
         "output_type": "display_data"
        }
       ],
       "source": [
        "# We can see that the training set consists of 60,000 images of size 28x28 pixels\n",
        "import matplotlib.pyplot as plt\n",
        "import numpy as np\n",
        "i=np.random.randint(0,X_train.shape[0])\n",
        "plt.imshow(X_train[i], cmap=\"gray_r\") ;\n",
        "print(\"This digit is: \" , y_train[i])"
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 187,
       "metadata": {},
       "outputs": [
        {
         "name": "stdout",
         "output_type": "stream",
         "text": [
          "[[  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0\n",
          "    0   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0\n",
          "    0   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0\n",
          "    0   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0\n",
          "    0   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0\n",
          "    0   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0   0   0   3  18  18  18 126 136\n",
          "  175  26 166 255 247 127   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0  30  36  94 154 170 253 253 253 253 253\n",
          "  225 172 253 242 195  64   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0  49 238 253 253 253 253 253 253 253 253 251\n",
          "   93  82  82  56  39   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0  18 219 253 253 253 253 253 198 182 247 241\n",
          "    0   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0  80 156 107 253 253 205  11   0  43 154\n",
          "    0   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0  14   1 154 253  90   0   0   0   0\n",
          "    0   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0   0 139 253 190   2   0   0   0\n",
          "    0   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0   0  11 190 253  70   0   0   0\n",
          "    0   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0   0   0  35 241 225 160 108   1\n",
          "    0   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0   0   0   0  81 240 253 253 119\n",
          "   25   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0   0   0   0   0  45 186 253 253\n",
          "  150  27   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  16  93 252\n",
          "  253 187   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0 249\n",
          "  253 249  64   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0   0   0   0   0  46 130 183 253\n",
          "  253 207   2   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0   0   0  39 148 229 253 253 253\n",
          "  250 182   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0  24 114 221 253 253 253 253 201\n",
          "   78   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0  23  66 213 253 253 253 253 198  81   2\n",
          "    0   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0  18 171 219 253 253 253 253 195  80   9   0   0\n",
          "    0   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0  55 172 226 253 253 253 253 244 133  11   0   0   0   0\n",
          "    0   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0 136 253 253 253 212 135 132  16   0   0   0   0   0   0\n",
          "    0   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0\n",
          "    0   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0\n",
          "    0   0   0   0   0   0   0   0   0   0]\n",
          " [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0\n",
          "    0   0   0   0   0   0   0   0   0   0]]\n"
         ]
        }
       ],
       "source": [
        "# Look at the data values for a couple of images\n",
        "print(X_train[0])"
    
    chadhat's avatar
    chadhat committed
       ]
      },
    
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
    
        "The data consists of values between 0-255 representing the **grayscale level**"
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 188,
       "metadata": {},
       "outputs": [
        {
         "name": "stdout",
         "output_type": "stream",
         "text": [
          "(60000,)\n"
         ]
        }
       ],
       "source": [
        "# The labels are the digit on the image\n",
        "print(y_train.shape)"
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 190,
       "metadata": {},
       "outputs": [],
       "source": [
        "# Scaling the data\n",
        "# It is important to normalize the input data to (0-1) before providing it to a neural net\n",
        "# We could use the previously introduced function from SciKit learn. However, here it is sufficient to\n",
        "# just divide the input data by 255\n",
        "X_train_norm = X_train/255.\n",
        "X_test_norm = X_test/255.\n",
    
        "# Also we need to reshape the input data such that each sample is a vector and not a 2D matrix\n",
        "X_train_prep = X_train_norm.reshape(X_train_norm.shape[0],28*28)\n",
        "X_test_prep = X_test_norm.reshape(X_test_norm.shape[0],28*28)"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "**IMPORTANT: One-Hot encoding**\n",
        "\n",
        "**TODO: Better frame the explaination**\n",
        "In such problems the labels are provided as something called **One-hot encodings**. What this does is to convert a categorical label to a vector.\n",
        "\n",
        "For the MNIST problem where we have **10 categories** one-hot encoding will create a vector of length 10 for each of the labels. All the entries of this vector will be zero **except** for the index which is equal to the integer value of the label.\n",
        "\n",
        "For example:\n",
        "if label is 4. The one-hot vector will look like **[0 0 0 0 1 0 0 0 0 0]**\n",
        "\n",
        "Fortunately, we don't have to code this ourselves because Keras has a built-in function for this."
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 191,
       "metadata": {},
       "outputs": [
        {
         "name": "stdout",
         "output_type": "stream",
         "text": [
          "(60000, 10)\n"
         ]
        }
       ],
       "source": [
        "from keras.utils.np_utils import to_categorical\n",
        "\n",
        "y_train_onehot = to_categorical(y_train, num_classes=10)\n",
        "y_test_onehot = to_categorical(y_test, num_classes=10)\n",
        "\n",
        "print(y_train_onehot.shape)"
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 194,
       "metadata": {},
       "outputs": [
        {
         "name": "stdout",
         "output_type": "stream",
         "text": [
          "Epoch 1/20\n",
          "60000/60000 [==============================] - 2s 34us/step - loss: 0.5888 - acc: 0.8434\n",
          "Epoch 2/20\n",
          "60000/60000 [==============================] - 1s 20us/step - loss: 0.2569 - acc: 0.9267\n",
          "Epoch 3/20\n",
          "60000/60000 [==============================] - 1s 16us/step - loss: 0.2024 - acc: 0.9416\n",
          "Epoch 4/20\n",
          "60000/60000 [==============================] - 1s 17us/step - loss: 0.1706 - acc: 0.9497\n",
          "Epoch 5/20\n",
          "60000/60000 [==============================] - 1s 23us/step - loss: 0.1475 - acc: 0.9563\n",
          "Epoch 6/20\n",
          "60000/60000 [==============================] - 1s 20us/step - loss: 0.1290 - acc: 0.9627\n",
          "Epoch 7/20\n",
          "60000/60000 [==============================] - 1s 23us/step - loss: 0.1162 - acc: 0.9651\n",
          "Epoch 8/20\n",
          "60000/60000 [==============================] - 1s 19us/step - loss: 0.1035 - acc: 0.9691\n",
          "Epoch 9/20\n",
          "60000/60000 [==============================] - 2s 28us/step - loss: 0.0939 - acc: 0.9716\n",
          "Epoch 10/20\n",
          "60000/60000 [==============================] - 1s 22us/step - loss: 0.0848 - acc: 0.9743\n",
          "Epoch 11/20\n",
          "60000/60000 [==============================] - 1s 25us/step - loss: 0.0777 - acc: 0.9763\n",
          "Epoch 12/20\n",
          "60000/60000 [==============================] - 1s 20us/step - loss: 0.0720 - acc: 0.9780\n",
          "Epoch 13/20\n",
          "60000/60000 [==============================] - 1s 22us/step - loss: 0.0655 - acc: 0.9808\n",
          "Epoch 14/20\n",
          "60000/60000 [==============================] - 2s 30us/step - loss: 0.0610 - acc: 0.9817\n",
          "Epoch 15/20\n",
          "60000/60000 [==============================] - 1s 16us/step - loss: 0.0563 - acc: 0.9832\n",
          "Epoch 16/20\n",
          "60000/60000 [==============================] - 1s 20us/step - loss: 0.0527 - acc: 0.9842\n",
          "Epoch 17/20\n",
          "60000/60000 [==============================] - 1s 21us/step - loss: 0.0478 - acc: 0.9854\n",
          "Epoch 18/20\n",
          "60000/60000 [==============================] - 1s 15us/step - loss: 0.0453 - acc: 0.9864\n",
          "Epoch 19/20\n",
          "60000/60000 [==============================] - 1s 18us/step - loss: 0.0419 - acc: 0.9874\n",
          "Epoch 20/20\n",
          "60000/60000 [==============================] - 1s 20us/step - loss: 0.0387 - acc: 0.9885\n"
         ]
        },
        {
         "data": {
          "text/plain": [
           "<keras.callbacks.History at 0x7fe8e7465438>"
          ]
         },
         "execution_count": 194,
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
        "# Building the keras model\n",
        "from keras.models import Sequential\n",
        "from keras.layers import Dense\n",
        "\n",
        "model = Sequential()\n",
        "\n",
        "model.add(Dense(64,input_shape=(28*28,), activation=\"relu\"))\n",
        "\n",
        "model.add(Dense(64, activation = \"relu\"))\n",
        "\n",
        "model.add(Dense(10, activation = \"softmax\"))\n",
        "\n",
        "model.compile(loss=\"categorical_crossentropy\", optimizer=\"rmsprop\", metrics=[\"accuracy\"])\n",
        "\n",
        "model_history = model.fit(X_train_prep, y_train_cat, epochs=20, batch_size=512);"
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 196,
       "metadata": {},
       "outputs": [
        {
         "name": "stdout",
         "output_type": "stream",
         "text": [
          "10000/10000 [==============================] - 1s 85us/step\n",
          "The [loss, accuracy] are:  [0.08737125840586377, 0.974]\n"
         ]
        }
       ],
       "source": [
        "# Evaluating the model on test dataset\n",
        "print(\"The [loss, accuracy] on test dataset are: \" , model.evaluate(X_test_prep, y_test_onehot))"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "# Work in Progress\n",
        "\n",
        "## Network results on dataset used in previous notebooks"
    
      {
       "cell_type": "code",
    
    chadhat's avatar
    chadhat committed
       "execution_count": 9,
       "metadata": {},
       "outputs": [],
       "source": [
        "import pandas as pd\n",
        "import matplotlib.pyplot as plt\n",
        "from sklearn.model_selection import train_test_split\n",
        "from keras.models import Sequential\n",
        "from keras.layers import Dense\n",
        "import numpy as np"
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 10,
    
       "metadata": {},
       "outputs": [
        {
         "data": {
    
    chadhat's avatar
    chadhat committed
          "image/png": "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\n",
    
          "text/plain": [
    
    chadhat's avatar
    chadhat committed
           "<Figure size 360x360 with 1 Axes>"
    
          ]
         },
         "metadata": {
          "needs_background": "light"
         },
         "output_type": "display_data"
        }
       ],
       "source": [
        "# Creating a network to solve the XOR problem\n",
        "# Loading and plotting the data\n",
        "xor = pd.read_csv(\"xor.csv\")\n",
        "xv = xor[\"x\"]\n",
        "yv = xor[\"y\"]\n",
        "\n",
        "colors = [[\"steelblue\", \"chocolate\"][i] for i in xor[\"label\"]]\n",
        "plt.figure(figsize=(5, 5))\n",
        "plt.xlim([-2, 2])\n",
        "plt.ylim([-2, 2])\n",
        "plt.title(\"Blue points are False\")\n",
        "\n",
        "\n",
        "plt.scatter(xv, yv, color=colors, marker=\"o\");"
       ]
      },
      {
       "cell_type": "code",
    
    chadhat's avatar
    chadhat committed
       "execution_count": 16,
    
       "metadata": {},
       "outputs": [],
       "source": [
        "# Using x and y coordinates as featues\n",
        "features = xor.iloc[:, :-1]\n",
        "# Convert boolean to integer values (True->1 and False->0)\n",
        "labels = xor.iloc[:, -1].astype(int)\n",
        "\n",
        "# Building a Keras model\n",
        "\n",
    
    chadhat's avatar
    chadhat committed
        "def a_simple_NN():\n",
        "    \n",
        "    model = Sequential()\n",
    
    chadhat's avatar
    chadhat committed
        "    model.add(Dense(4, input_shape = (2,), activation = \"relu\"))\n",
    
    chadhat's avatar
    chadhat committed
        "    model.add(Dense(4, activation = \"relu\"))\n",
    
    chadhat's avatar
    chadhat committed
        "    model.add(Dense(1, activation = \"sigmoid\"))\n",