{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Neural Networks Learning\n",
    "\n",
    "**NOTE: The example and sample data is being taken from the \"Machine Learning course by Andrew Ng\" in Coursera.**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Introduction\n",
    "In the previous exercise, you implemented feedforward propagation for neural networks and used it to predict handwritten digits with the weights we provided. In this exercise, you will implement the backpropagation algorithm\n",
    "to learn the parameters for the neural network.\n",
    "The provided script, ex4.m, will help you step through this exercise."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# initial imports\n",
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "%matplotlib inline\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# imports from my models\n",
    "from models.data_preprocessing import add_bias_unit\n",
    "from models.logistic_regression import sigmoid"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Visualizing the data\n",
    "Firstly we will load the data and display it on a 2-dimensional plot (Figure 1).\n",
    "\n",
    "There are\n",
    "5000 training examples in ex3data1.mat, where each training example is a\n",
    "20 pixel by 20 pixel grayscale image of the digit. Each pixel is represented by\n",
    "a floating point number indicating the grayscale intensity at that location.\n",
    "The 20 by 20 grid of pixels is “unrolled” into a 400-dimensional vector. Each\n",
    "of these training examples becomes a single row in our data matrix X. This\n",
    "gives us a 5000 by 400 matrix X where every row is a training example for a\n",
    "handwritten digit image."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# loading dataset\n",
    "import scipy.io as sio  # sio for loading matlab file .mat\n",
    "data = sio.loadmat('data/ex4data1.mat')\n",
    "X = data['X']\n",
    "y = data['y']\n",
    "y[y==10] = 0 # mapping zeroes in y to 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# setting up variables we will be using for this example\n",
    "input_layer_size  = 400  # 20x20 Input Images of Digits\n",
    "hidden_layer_size = 25   # 25 hidden units\n",
    "num_labels = 10          # 10 labels, from 1 to 10"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loading and Visualizing Data ...\n",
      "Randomly selecting 100 data points to display\n"
     ]
    }
   ],
   "source": [
    "print('Loading and Visualizing Data ...')\n",
    "\n",
    "m = X.shape[0]\n",
    "\n",
    "print(\"Randomly selecting 100 data points to display\")\n",
    "rand_indices = np.random.choice(range(0,m), 100)\n",
    "rand_samples = X[rand_indices, :]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk4AAAJBCAYAAACwDzogAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOydeaBWVRX2f36fTeaUcLlqKg5gTjiTXicUBUxzSMwcoqRQ00IJc8AKDbOcNbVSoiwzSyVHcEDRxBzAGedyQMkBErXUHPK17w+/Z5/ncM+F6+UdzntZv3+8Lu57373P3mefs5+19lpL/O9///sfQRAEQRAEwUL5P41uQBAEQRAEQbMQL05BEARBEASdJF6cgiAIgiAIOkm8OAVBEARBEHSSeHEKgiAIgiDoJPHiFARBEARB0EkW6cVp2rRpDBkyhEGDBjF+/PhqtSkIgiAIgqCUdPnFqVKpMG7cOCZMmMDkyZOZNGkSTz31VDXbFgRBEARBUCqW7OoHZ86cSe/evVl11VUB2HXXXZk6dSp9+vTp8DN9+/blgw8+6OpXloaePXsyffr0dvY+ffpQqVQa0KLq0qtXr8Wyf9D9+9jd+9e3b99u0b+WlpbFdo529zHs7uMH3b+PXX5xmjNnDiuuuGL6/9bWVmbOnLnAz3zwwQe88cYbXf3K0rDRRhsV2iuVCq+88kqdW1N9Ntlkk0J7pVJhzpw5dW5N9emof/BhH+fNm1fH1tSGBY3hP//5zzq3pvosqH+vvvpqnVtTfTbeeOMO/61SqTB37tw6tqY2LGgMu8M92NEYdpf+LWwd7c7rTJdfnIIgCIKg0RQpG//3//7fLv+d//N/sgiWJZZYousNKwFeUU39c9uSS374CuB9jipsC6fLMU6tra28/PLL6f/nzJlDa2trVRoVBEEQBEFQRrr84tSvXz9mzZrF7Nmzee+995g8eTIDBw6sZtuCIAiCIAhKRZdddUsuuSRjx45lxIgRVCoVhg4dSt++favZtiBoeiT1v//++8n23//+F4BPfepTydYd5XHvk35210czuEHee+89IN9WjZ/ziU98ot3vufuj2dB4+byVq0funfl/bhQtLS3pZ13zF154oZ3NXXrqn7dfHhMf33//+99Ac8xVb6PGzfu3/fbbA/CNb3wj2U4++WSAXHzyxz72sVo2s+q888476ecid+snP/nJdrZFXW8XadYPGDCAAQMGLFIDgiAIgiAImoXGbxeCLlG0my/aHRa9WfvORDvlZtsdq6++O/z4xz8OdC0wtJoU7fxWW221ZNNpm6uvvjrZyrBz7yw+z/Sz91l98XFYeuml23226IRtUbBqvdC94veMTtV4GpUNN9yw3WdvueUWIFOoIFMrfI6WcZzVX++jrv/666+fbJrDrk689NJLQGPuObX71FNPTba2tjYARo0alWzKL7jeeusl2/LLL9/O9tnPfhaAU045JdkefvhhoJzjNj9+by277LIAjB07Ntm++MUvAvDoo48m22c+8xmApkkT5PemlDH1C2DNNdcE8oqj7s3//Oc/ybaoCmJzPS2DIAiCIAgaSLw4BUEQBEEQdJLy64+doCt5PCRNFuW5cNlSkp7cQI2mSFZXcOQOO+yQbFtuuSVALkmp+iIXAsBJJ50EwPPPP1/1tnobJSP7uHxUed9dHttuuy2QD3S84IILALjrrruSrZ7jpuvr7VTA6fnnn59s1157LdA88vj87LLLLunnnXbaCchL3wp6X2qppZJNFQbcPScXymOPPZZsf/3rX3P/Vk90/x9++OHJ9rWvfa3d7+kQzGuvvZZs99xzD5C/j+644w6AXFLc22+/HWi8O9nXPc3DNdZYI9m+973vAbDZZpslW69evQCYMmVKsh133HEAuWSHcqHUOqBa4+Wupy984Qu5dkHmZvOkk+rz22+/nWxaP+Se8882GyeeeCIAe+yxR7JprdQ9BlngdFmebwujyFV34IEHJtuee+4JwL/+9a9k+9KXvgRk9x5kISpdJRSnIAiCIAiCTtKcr9P/H+04VlhhhWTTTqKoNIi/rWo3rKBVgJVWWgkgl8hTAWW+K6433m4pN1/+8peTTaqRAh4he6P2N+s333wTgNdffz3ZHn/8cSAfELmoaAy0QwXYeuutgWxnDvCPf/wDWHggsBQcBf4B/OQnPwEyZQ2y3f6MGTOSregYfK1Qv11NOOGEE4D8fJT65Lu8ItVUu91GpirwgNN+/foB8KMf/SjZNMYKEobsnnLlTbtDD8bViVzv3/333w/AV77ylWSTYlNrlUbt2H///ZNNc84DS++8804Abr755mRbffXVAejfv3+yafx8h180R+pJ0UESXWsPJNZa6CqNxtCD45dbbjkgf32EB8rX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//33mTNnTp1bU3023XTTQnulUkmVq6uJn094++23gXzSSyXDrFYizAWd2KlUKrnK481KR3O0Uqnwz3/+s86tqT6La/+g+8zRju7DSqXSLdbRBc3R7jB+C5qjH3zwQSr508x0lAUgMocHDUMvTJ7R98gjjwSyen4Af/jDH4Csth2UO6vswtBOrOhAq9uKso5H9uPy4GNVNKaNqFVXbYr6WKQkqCYjNG9/FzSGQeB0+enT2trKyy+/nP5/zpw5tLa2VqVRQRAEQRAEZaTLL079+vVj1qxZzJ49m/fee4/JkyczcODAarYtCIIgCIKgVHTZVbfkkksyduxYRowYQaVSYejQofTt27eabas6Ra4RD9LTz277xCc+AYRkWwveffddAPbYY49kO+644wA4++yzk+2///0vUH4XgOaXuzJ0WMAPDaywwgpA3n+ueI+ll166ne3nP/95st15551AzMd642Mql7GPQa9evYC8y+qVV15p99myz2Ghuezucc3bHj16JJvcyM8991yyqb/N0Fd/JqhfH//4x5OtGWKtNEb+3PrUpz7Vqc8WjVUzjFujWaQYpwEDBjBgwIBqtSUIgiAIgqDUNF1weFcqxBQd/dTf+exnP5tsa621FgCrrbZask2bNg2Af/zjHx/5exdGZ49rdnYH0Aw7BVdeVl99dQAOPfTQZLvnnnsAOO2009p9tkwB4Zo/Prd0/aU+AKyxxhoArLnmmsm20047Afmdu/DPfu5znwPInUS97777gPoFyi8sAFpqYFFAbVFQe7PtbDW+Sy21VLLtvvvuAKy77rrJNmjQIACWXXbZZPvRj34EwLXXXptsZQwY17j6val27rDDDsl2+OGHA/D5z38+2TQf99tvv3Z/r8xovr7zzjvJpv5tvvnmyXbggQcC5E5qlmEd8rHq378/AKusskqyXXfddUCx2un3qtQ13cfNhPqxsHcC9bua91zjZ0AQBEEQBEGTEC9OQRAEQRAEnaTpXHXuGvnYxz4G5OVIyXb6N4D11lsPgF122SXZFJj8hS98IdnWWWcdAP79738nm1xHXXERLgyX/4tkRH2n2tpRO3RNXG6V1F62/Crel7a2NgA222yzZJM07lK0B2s2Er/2upaeLPRb3/oWABtssEGyKUWHu+A0Nh54qiSfHnCsa/WXv/wl2eoVKK/r79deffDqALqn3BV5xx13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yNwFAEceeSSQuZ9rhcapyDXuErqk80996lPJ9uUvfxmAF198Mdk+/elPA3Dttdcm26233grkDz+ULfi9yJWw6667AvD4448n2wsvvAA0jxunyAXrIQEjRowAYL311ks2Jfd1t6XWWb8+l112GQAXX3xxu++opvunyM2khIVaEwH22GMPID/PtH48//zzyab71+N29feGDRuWbEr03Mix9vErcpcXBfLr9/yzWkf8eVn0e7UYN8iu4dFHH51sW2yxBfBh5nWhZ8Dyyy+fbGrzq6++mmx6Buo5CZlruZp9KNdTNQiCIAiCoMSUUnHSjkZBmABnnXUWkH/jXGONNYBsZw7Z22e/fv2S7dhjjwXyu6KVV14ZyAIHIQvC/cc//pFs9Vac/C1b/fcyLmrbWmutlWzDhw8HYKWVVkq2733ve0A+kLOR6lPRzl0K0n777Zds+tlVo4ceegiA2267Ldm06//GN76RbFdddVW7z9Ya3+1JIfUdeWfR7skVVfHMM8+kn2sZsFl0hFsKF0BbWxsAG264YbIVpcdYaqml2v09/bzPPvsk25///GcgvzuUSlWW49+atz4u66+/PgDnnHNOsql/ZWl3R6g/PkeVVuEnP/lJsr3xxhsAPP3008mmue4K/3/+8x8Adt9992RTELnGF7Jg3VooF7vsskuyHX/88QCsvfbayaaA4QsvvDDZpHwq3QBkqu+oUaOSTar/4MGD2/29Wj8bilRfjZvbevbs2a49emZ4wL/+3RW1U045BYAbb7wx2eSZ8edOrfqq58GOO+6YbFpn/Dk8adIkAB544IFk07Py61//erJ99atfBfIZ/PVZ92Atcrur9peCIAiCIAi6OfHiFARBEARB0ElKoysXBYztvPPOySY50l09gwYNAvIBwnJNeXCgAstctpTs/Kc//SnZJEs3Qm5X/zfaaKNkk3vAK6FPnz4dyORMyAL83I0pm8vq9aYoCFEuNshcA95GuWQffPDBZLvzzjsB+OxnP5tskuc950o9XZHqm0vY3/nOd4C8i+rMM88EiudUUfDlmmuumWwazzfffLPd71UT3QvLLbdcsh1xxBFA3lX373//G8iPlw5SPPHEE8lWlHNNbucVV1wx2eS28wBkuVo8b041JfaPivri95vcmA8//HA7W7Pg7X3ssccAGD9+fLLp/rv55puTTW45H/9tt90WyNZi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c+bQ2tpalUYFQRAEQRCUkS6/OPXr149Zs2Yxe/Zs3nvvPSZPnszAgQOr2bYgCIIgCIJS0WVX3ZJLLsnYsWMZMWIElUqFoUOH0rdv32q2rUtIRvdCpJJgvaDgJz/5SaB7SJSSm995551kUwHMZioUDNn4vfvuu8mmAsLN1hfI5uF7772XbEVj02yuAKF7y10C6pePof5d9x00x72n/rlLZ/XVVwfyY6bYzVdeeSXZVNi4WcbWXVXqrwdpF7mytKZ6EedmGFfdl0svvXSyecyuULyjj6vmd9lyR3t71MZevXol21JLLQXA22+/nWyKtfJxbobxazSLFOM0YMAABgwYUK22BEEQBEEQlJqmDg7XG7a/aa+11loAbLDBBsm2yiqrAPDSSy8l23XXXQcUqzRlQf3yHYB2Bq6eabe32267Jdvzzz8PwEMPPZRsZd1J+G5HYzV48OBku+uuuwB48sknk62Mu3iNl6udSs+x7bbbJtszzzwDwAMPPJBsb775JlC+OViEq0vapS+77LLJpnxuO+20U7L16NGD/8feecfpVVVt++L3089XekmRUEJJqNKbE0oETIJ0iEiRAIEYEQg8NRgnAAAgAElEQVTEUEMJEpReRSmRLgJKgAAJJRBKkBZAMBTphE6CEKSp6Ph+f+S997lP5mRmmHnKeSbr+odhZZ55zj67nLPvtfZaALfcckuyScEoW196+5ZcckkAtt1222T7xS9+AWQ7eJiTDBjg0ksvTbZHH30UgI8++ijZyqKaFqklrrjoOldbbbVkW3755Vt8RuvMvffe2+Jvl2298XG21157Afl1Zueddwby8/fpp58GYMSIEcn28ssvt/h79UTj1Z8Jv/zlLwHYcccdk01Kqa+jP/zhDwF47rnnkk0KfzBvytHzQRAEQRAEDUC8OAVBEARBELST8vsF/o8it5zcGh6UfuCBBwIwePDgZFt88cUBmD17drJtt912AIwZMybZ3n77baC+crq3T5Lpcccdl2zPP/88AFdddVWyyQ102mmnJduoUaMAePLJJ5OtLG4CIYlZbhyAM844A4Bdd9012S6++GIADjvssGQri0zuqD3uMj3iiCOAfDI8pfG44447kk3t9hQfZWujXKprr712sp155plA3r2l/jrnnHOSTXPQU5b89re/BYoD5+uBXIfdu3dPtgsuuACALbbYItnk3v/T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b/nllweKK73r94Pq4ONb99rHqA79eJV5fcY9DZ9//jkQ60wZKHpOrLTSSsmmPnrvvfeS7R//+AcQLruvSqdinPr370///v0rdS1BEARBEASlpssFh2tXpN0/ZJHxgwcPTrZ9990XyKsDe++9NwAPP/xwsrlKVWuKgr4POOAAAIYMGZJsb775JgCzZ89OtkZQM9S+9gb/epuq3T6/Jt3/o446Ktk222wzID9WXn/9dQDefvvtZNMJL1em/vrXvwLwr3/9q8X3el83wmGF1vAdsE7gao4BHHfccQA8+uijybbPPvsA5E5VlXU37GOkKBi3tQBr79NvfOMbQPXa6f2g6/PvX3311YH8CaKxY8cC0KtXrxafve6665LtmGOOAeCTTz5JNlfxy0pRn6h9RUHy3iZXTcuArtf7VPPol7/8ZbItuOCCQNZnAL/5zW+A/HOuUdabojlX1IeaV66edpZyrkhBEARBEAQlJF6cgiAIgiAI2kn5NdVWkKTobrlFF10UgEGDBiWb3Fvf/e53k00BkS5lPvvss0B5pFi16+CDD062E044AYBvfvObyXbQQQcBmcsOKitLdhSXS4skVMnD3pYimViuhn/+858t/l61clcVBTb/7ne/a/F7m2++efpZSRkXWmihZNPPfu133HEHAC+//HKySU72JLJPPfUUUBz0WTaK8i55gPeKK64I5F11Tz/9NJB31ekzZW0nFOf10sGBLbfcMtm+853vAOQSBatd7trSGuTztxJojvh41Lo4cODAZFt77bWBvFtu8cUXB4oPOuyxxx7J9vHHHwPZugTFrqMy4G3RNfraM2DAAAC6deuWbBtssAEADzzwQLLddtttLf52Pduqtng6oNGjRwP59gkPWVFW7L/85S/JVrZ+g2yueR/qWe9jeaeddgJgkUUWSTaFRpx88snJpmdrR9sailMQBEEQBEE7aTjFqSjQUUdnIVNfhg4dmmwK7CsK3PTU9wrWrecbt+/StQPca6+9kk3KxBlnnJFsUj18x3HnnXcCtQtuL+oXD6jUsdillloq2X70ox8B2U4PsgBGR7tz3+lNnjwZgPvuuy/Z9H2VCE4tUlCkAEGmDBXdX1csm5qaANhzzz2Tbf/99wfywcD6Oz4eDzzwQADuvvvuZCvKrF0GioIxF1tssWTTDli7RICRI0cC8Kc//anFZ8vcPo3v3Xbb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3/zmN8mm3aGnva9nAKeUBrUTst3egQcemGyffPIJAAsvvHCySSkcMmRIsr377rtAeYJS28IVC/Wdt/Hhhx+u+TV1FN+RDxgwAIBhw4YlmxSkkSNHJtupp54K5OeqVIGVV1452dSvldwdFtXMWmqppQBYeumlk+0HP/gBkC+zoN33GmuskWxqg+++l1lmGQBuueWWZBsxYgSQHX2H8oxX70OtM64Q6t9/9atfJdu0adOAvNpdFqVJ6P56SZPTTjsNyK/1Ktnj5XnkrShzcLj65Wc/+1my9evXD4Annngi2VZYYQUgU28gG4e+1kjBefXVV5NtkUUWafG9Sidy9913d+r650ZzafDgwcnmz27xj3/8A8jPH62pXvpFipOC/wGuueYaIP+87ez6EopTEARBEARBO4kXpyAIgiAIgnZSXk2yHUiCl0wOcO655wJZlluABx98EIDbb7892RQw6FJmrWRnya1yDQDsuuuuAHznO99JNrnoPHBPcuwVV1yRbHL5qAgnwGWXXQaUJzOu2qyMxJC5MiZOnJhsl156KZAPGN58880BGDNmTLKNHTsWgHfeeSfZyiixa4z26NEj2SSP64ACwOTJk2t7YR1AsrrPNx288HkkWX3bbbdNNuUAcreZxqPcCgBTp06tyLX69yy00EIAHHnkkcmm/ERy2UE2V5TRHLLxNX78+GSTW8PXC+Wn2mSTTZJN90mB/1CfOejBvkVZ63/84x8DeZfpvffeC+THpf5O0QEPp54HN/SdCsUAeOCBBwD4yU9+kmxyCatIMRQfxikbusb1118/2Xr37g3kA+LlgvS2yN3mh3F0GMNDRBQ87uvTU089BeQrG1SiUohcZt26dUs2Pc886PvWW28F8u354Q9/CMDuu++ebFpLPJRFLmYPHPfx36Hr7tSngyAIgiAI5iPKt0WfB3rTLtrtePDl559/DsDvf//7ZFPG2EGDBiWbjmEqcMxt1cAzmSso+swzz0w2vd37jvuPf/wjAH/5y1+SrajG0rHHHgvkVbaypiNYffXV089qyyWXXJJsSjmw8cYbJ5uyGLsKJYXjrbfeqt7FVgCNW98Ba2foqTBefvlloHz95UHEOs590kknJZt2nR54KeXPDyvcd999AOy8887JJgXrueeeS7ZKBYX7fZRie8cddySbxpnWC8iO3vt6onYVHeH2QHelmPAg8rIo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B8zJpjtlyhT69Okzz8/06dMnlwW1UenRowePPfZYC3ufPn34z3/+U4crqiw9e/acZ/u6cv9B129j3759u0T7unfvPt+O0Vr0oUJflV8Oslw6lcqLM68+7Nu3b+57G5Vu3brNt2O0q7exwy9OM2fOTBXBYc7D1stkFNHc3MzMmTM7+pWlYV4nIv7zn/90ifatv/76hfau3n8wp40ffPBBDa+mOsyrjc3NzakKfCMzr5OBXb3/YE4bvVRINdAG0JMqKhFvpco+zasP//vf/3aJMTqvU2Xzyxjtym2cb9Pc6m3YdzbKStoVsq1qx+hv/WWrkaZ779dTlmurFGpjWzto9VdRnayuMB67EkVrh/DxW7b51hZffvll+lkP/ZEjRybbww8/DMDll1+ebI2Qebu9qF/9oHlZM8G7Z0PX29Y462pVDIoUrVqNxw7fwZ49e/L++++n/585cyY9e/asyEUFQRAEQRCUkQ6/OK211lrMmDGDt956iy+//JJJkyax1VZbVfLagiAIgiAISkWHdcivfe1rjBkzhmHDhtHc3MzgwYPp27dvJa+t4ri82b17dwAWX3zxZJNP9tNPP022RpHZIS8xy42wwgorJJva989//jPZat0+l4mXWGIJAD755JNkUx810n2fG3fhLLrookA23uaF7stnn32WbLNnzwby/VVWmd37SxK6u35kc9eHYma8TWXNx+vX1a1bNyC/dgjvK8UDukuhjONaBYyXWWaZZLv55psBePHFF5NtxRVXrO2F1YCifvUCsbNmzQLK04e6Xo+92WWXXQD47ne/m2wqBnzbbbcl29133w2Qix/TfCzrvJsbv049P7w/tGZWe53slAO3f//+9O/fv1LXEgRBEARBUGrKGflWYbRbWGyxxZLtwgsvBGCnnXZKtiOPPBKAc845J9m0Ky7jTlEUBRZ///vfB+CCCy5Itv333x/Idh5QuRMybSEVZuGFF062s846C4D7778/2a688kqgMYNO1UapTACXXHIJkPWH/56j9r766qvJ9tRTTwFw0003JdukSZOA8ihPmheu5mrn3q9fv2Tr0aMHQC7X27Rp04D8ya2y9bv6yne6Z5xxBgC77757i9979913k+3YY48F4MYbb0w29Vu91xMfgwsttBBALonxa6+9BmRqBsC//vUvAL7+9a/X4hILKVJGOnMvfdwedNBBQP40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\n",
      "text/plain": [
       "<Figure size 720x720 with 100 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# displaying the 100 random samples using matplotlib\n",
    "sns.set_style('white')\n",
    "fig, axis = plt.subplots(10,10,sharex=True, sharey=True, figsize=(10,10))\n",
    "fig.subplots_adjust(wspace=0.1, hspace=0.1)\n",
    "axis_flt = axis.flatten()\n",
    "for i in range(100):\n",
    "    axis_flt[i].imshow(rand_samples[i, :].reshape([20,20]).T, cmap='gray')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model representation\n",
    "Our neural network is shown in Figure 2. It has 3 layers – an input layer, a\n",
    "hidden layer and an output layer. Recall that our inputs are pixel values of\n",
    "digit images. Since the images are of size 20×20, this gives us 400 input layer\n",
    "units (excluding the extra bias unit which always outputs +1). As before,\n",
    "the training data will be loaded into the variables X and y.\n",
    "You have been provided with a set of network parameters (Θ(1) , Θ(2))\n",
    "already trained by us. These are stored in ex3weights.mat and will be\n",
    "loaded by scipy.io into Theta1 and Theta2 The parameters have dimensions\n",
    "that are sized for a neural network with 25 units in the second layer and 10\n",
    "output units (corresponding to the 10 digit classes)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img src='data/nn.jpg'>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Loading Pameters\n",
    "\n",
    "In this part of the exercise, we load some pre-initialized neural network parameters."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loading Saved Neural Network Parameters ...\n"
     ]
    }
   ],
   "source": [
    "print('Loading Saved Neural Network Parameters ...')\n",
    "\n",
    "# Load the weights into variables Theta1 and Theta2\n",
    "weights = sio.loadmat('data/ex4weights.mat')\n",
    "theta1 = weights['Theta1']  # theta1 = numpy array of shape 25x401\n",
    "theta2 = weights['Theta2']  # theta2 = numpy array of shape 10x26\n",
    "\n",
    "# swap first and last columns of Theta2, due to legacy from MATLAB indexing\n",
    "# since the weight file ex3weights.mat was saved based on MATLAB indexing\n",
    "theta2 = np.roll(theta2, 1, axis=0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Compute Cost (Feedforward)\n",
    "\n",
    "For easy convenience i have made a cost function in the nural_network file in models which we will be inheriting here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# importing the cost function\n",
    "from models.neural_network import cost_function\n",
    "\n",
    "# joining and flattening the weights into 1D Vector for inputing in the function\n",
    "nn_params = np.concatenate([theta1.flatten(), theta2.flatten()], axis=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cost without regularizatiion at parameters (loaded from ex4weights): [[0.28762917]] \n",
      "(this value should be about 0.287629)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# testing the cost function without regularization\n",
    "lamda = 0\n",
    "J, grad = cost_function(nn_params, input_layer_size, hidden_layer_size, num_labels, X, y, lamda)\n",
    "\n",
    "print('Cost without regularizatiion at parameters (loaded from ex4weights): {} \\n(this value should be about 0.287629)\\n'.format(J))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cost without regularizatiion at parameters (loaded from ex4weights): [[0.38376986]] \n",
      "(this value should be about 0.383770)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# testing the cost function with regularization\n",
    "lamda = 1\n",
    "J, grad = cost_function(nn_params, input_layer_size, hidden_layer_size, num_labels, X, y, lamda)\n",
    "\n",
    "print('Cost without regularizatiion at parameters (loaded from ex4weights): {} \\n(this value should be about 0.383770)\\n'.format(J))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Evaluating sigmoid gradient\n",
    "\n",
    "Here we are testing the sigmoid_gradient function which returns the gradient of the sigmoid function evaluated at z.\n",
    "\n",
    "For large values (both positive and negative) of z, the gradient should be close to 0. When z = 0, the gradient should be exactly 0.25"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sigmoid gradient evaluated at [-1.  -0.5  0.   0.5  1. ] is: \n",
      " [0.19661193 0.23500371 0.25       0.23500371 0.19661193]\n"
     ]
    }
   ],
   "source": [
    "# generating temporary data for finding gradient\n",
    "z_temp = np.array([-1, -0.5, 0, 0.5, 1])\n",
    "\n",
    "from models.neural_network import sigmoid_gradient\n",
    "g = sigmoid_gradient(z_temp)\n",
    "print(\"Sigmoid gradient evaluated at {} is: \\n {}\".format(z_temp, g))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Initializing Parameters\n",
    "\n",
    "When training neural networks, it is important to randomly initialize the parameters for symmetry breaking. One effective strategy for random initialization is to randomly select values for Θ(l) uniformly in the range [−epsilon , epsilon ]. We are using epsilon = 0.12. This range of values ensures that the parameters\n",
    "are kept small and makes the learning more efficient."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "epsilon = 0.12\n",
    "initial_theta1 = np.random.uniform(-epsilon, epsilon, [hidden_layer_size, input_layer_size+1])\n",
    "initial_theta2 = np.random.uniform(-epsilon, epsilon, [num_labels, hidden_layer_size+1])\n",
    "\n",
    "# unrolling parameters\n",
    "initial_nn_params = np.concatenate([initial_theta1.flatten(), initial_theta2.flatten()], axis=0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Implementing Backpropagation\n",
    "\n",
    "Given a training example (x (t) , y (t) ), we will first run a “forward pass” to compute all the activations throughout the network, including the output value of the hypothesis h Θ (x). Then, for each node j in layer l, we would like to compute δ an “error term” δ that measures how much that node was “responsible” for any errors in our output.\n",
    "\n",
    "For an output node, we can directly measure the difference between the\n",
    "δ(3) network’s activation and the true target value, and use that to define δ(j)\n",
    "(since layer 3 is the output layer). For the hidden units, you will compute δ(j) based on a weighted average of the error terms of the nodes in layer (l + 1)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img src=\"data/back_nn.jpg\">"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 1.23148991e-02  1.23148991e-02]\n",
      " [ 4.32118297e-05  4.32118324e-05]\n",
      " [-3.41523148e-04 -3.41523149e-04]\n",
      " [-5.22636696e-04 -5.22636697e-04]\n",
      " [ 3.92411900e-03  3.92411900e-03]\n",
      " [-1.85358706e-04 -1.85358706e-04]\n",
      " [-2.76203793e-05 -2.76203785e-05]\n",
      " [-4.23866853e-05 -4.23866877e-05]\n",
      " [-8.08387428e-03 -8.08387428e-03]\n",
      " [-2.44172342e-04 -2.44172343e-04]\n",
      " [ 3.11973323e-04  3.11973322e-04]\n",
      " [ 4.77620381e-04  4.77620379e-04]\n",
      " [-1.26677103e-02 -1.26677103e-02]\n",
      " [-7.80554021e-05 -7.80554002e-05]\n",
      " [ 3.64940025e-04  3.64940024e-04]\n",
      " [ 5.58582427e-04  5.58582428e-04]\n",
      " [-5.59364413e-03 -5.59364413e-03]\n",
      " [ 1.59500657e-04  1.59500657e-04]\n",
      " [ 8.20818258e-05  8.20818265e-05]\n",
      " [ 1.25696296e-04  1.25696295e-04]\n",
      " [ 3.09340815e-01  3.09340815e-01]\n",
      " [ 1.62091400e-01  1.62091400e-01]\n",
      " [ 1.46266029e-01  1.46266029e-01]\n",
      " [ 1.58240774e-01  1.58240774e-01]\n",
      " [ 1.58413849e-01  1.58413849e-01]\n",
      " [ 1.46212932e-01  1.46212932e-01]\n",
      " [ 1.08132809e-01  1.08132809e-01]\n",
      " [ 5.62398975e-02  5.62398975e-02]\n",
      " [ 5.13370615e-02  5.13370615e-02]\n",
      " [ 5.54625023e-02  5.54625023e-02]\n",
      " [ 5.49725002e-02  5.49725002e-02]\n",
      " [ 5.14873520e-02  5.14873520e-02]\n",
      " [ 1.06276909e-01  1.06276909e-01]\n",
      " [ 5.50211796e-02  5.50211796e-02]\n",
      " [ 5.08837124e-02  5.08837124e-02]\n",
      " [ 5.42040970e-02  5.42040970e-02]\n",
      " [ 5.40011159e-02  5.40011159e-02]\n",
      " [ 5.09460155e-02  5.09460155e-02]]\n",
      "The above two columns you get should be very similar.\n",
      "(Left-Your Numerical Gradient, Right-Analytical Gradient)\n",
      "\n",
      "If your backpropagation implementation is correct, then \n",
      "the relative difference will be small (less than 1e-9). \n",
      "Relative Difference: 2.08634e-11\n"
     ]
    }
   ],
   "source": [
    "from models.neural_network import check_nn_gradients, cost_function\n",
    "\n",
    "check_nn_gradients(cost_function, 0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Testing Regularization\n",
    "\n",
    "To account for regularization, it turns out that you can add this as an additional term after computing the gradients using backpropagation.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Checking Backpropagation with regularization\n",
      "[[ 0.01231391  0.01231391]\n",
      " [ 0.05517882  0.05517882]\n",
      " [ 0.00868734  0.00868734]\n",
      " [-0.04577885 -0.04577885]\n",
      " [ 0.00392563  0.00392563]\n",
      " [-0.01680889 -0.01680889]\n",
      " [ 0.03955839  0.03955839]\n",
      " [ 0.05947046  0.05947046]\n",
      " [-0.00808597 -0.00808597]\n",
      " [-0.03331116 -0.03331116]\n",
      " [-0.06006927 -0.06006927]\n",
      " [-0.03170477 -0.03170477]\n",
      " [-0.01266695 -0.01266695]\n",
      " [ 0.05875679  0.05875679]\n",
      " [ 0.03880249  0.03880249]\n",
      " [-0.01685445 -0.01685445]\n",
      " [-0.00559433 -0.00559433]\n",
      " [-0.04512375 -0.04512375]\n",
      " [ 0.00883054  0.00883054]\n",
      " [ 0.05474083  0.05474083]\n",
      " [ 0.30936235  0.30936235]\n",
      " [ 0.2171389   0.2171389 ]\n",
      " [ 0.15479044  0.15479044]\n",
      " [ 0.1123028   0.1123028 ]\n",
      " [ 0.10154926  0.10154926]\n",
      " [ 0.12913713  0.12913713]\n",
      " [ 0.10815189  0.10815189]\n",
      " [ 0.11588885  0.11588885]\n",
      " [ 0.07604573  0.07604573]\n",
      " [ 0.02258916  0.02258916]\n",
      " [-0.00467339 -0.00467339]\n",
      " [ 0.01909496  0.01909496]\n",
      " [ 0.10629201  0.10629201]\n",
      " [ 0.11424367  0.11424367]\n",
      " [ 0.09025339  0.09025339]\n",
      " [ 0.03670767  0.03670767]\n",
      " [-0.00372026 -0.00372026]\n",
      " [ 0.00618246  0.00618246]]\n",
      "The above two columns you get should be very similar.\n",
      "(Left-Your Numerical Gradient, Right-Analytical Gradient)\n",
      "\n",
      "If your backpropagation implementation is correct, then \n",
      "the relative difference will be small (less than 1e-9). \n",
      "Relative Difference: 2.22115e-11\n"
     ]
    }
   ],
   "source": [
    "print(\"Checking Backpropagation with regularization\")\n",
    "check_nn_gradients(cost_function, lamda=3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "the training ended with final cost of nural network = 0.35886562944784284\n"
     ]
    }
   ],
   "source": [
    "### Training Neural Network\n",
    "\n",
    "# creating short hand for cost function\n",
    "c_fun = lambda p: cost_function(p, input_layer_size, hidden_layer_size, num_labels, X, y, lamda=1)\n",
    "\n",
    "# importing scipy.optimize.minimize() function\n",
    "from scipy.optimize import minimize\n",
    "\n",
    "result = minimize(fun=c_fun, x0=initial_nn_params, jac=True, method=\"CG\", options={'maxiter':100})\n",
    "\n",
    "nn_params = result.x\n",
    "\n",
    "# Obtain Theta1 and Theta2 back from nn_params\n",
    "theta1 = np.reshape(nn_params[:hidden_layer_size * (input_layer_size + 1)],\n",
    "                    (hidden_layer_size, (input_layer_size + 1)))\n",
    "\n",
    "theta2 = np.reshape(nn_params[(hidden_layer_size * (input_layer_size + 1)):],\n",
    "                    (num_labels, (hidden_layer_size + 1)))\n",
    "\n",
    "print(\"the training ended with final cost of nural network = {}\".format(result.fun))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Visualizing Weights\n",
    "\n",
    "One way to understand what your neural network is learning is to visualize\n",
    "what the representations captured by the hidden units. Informally, given a\n",
    "particular hidden unit, one way to visualize what it computes is to find an\n",
    "input x that will cause it to activate \n",
    "\n",
    "For the neural network you trained, notice that the i<sup>th</sup> row\n",
    "of Θ (1) is a 401-dimensional vector that represents the parameter for the i<sup>th</sup>\n",
    "hidden unit. If we discard the bias term, we get a 400 dimensional vector\n",
    "that represents the weights from each input pixel to the hidden unit.\n",
    "Thus, one way to visualize the “representation” captured by the hidden\n",
    "unit is to reshape this 400 dimensional vector into a 20 × 20 image and\n",
    "display it.\n",
    "\n",
    "In our trained network, you should find that the hidden units corre-\n",
    "sponds roughly to detectors that look for strokes and other patterns in the\n",
    "input.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x720 with 25 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# displaying the 100 random samples using matplotlib\n",
    "temp = theta1[:, 1:]\n",
    "sns.set_style('white')\n",
    "fig1, axis1 = plt.subplots(5,5,sharex=True, sharey=True, figsize=(10,10))\n",
    "fig1.subplots_adjust(wspace=0.01, hspace=0.01)\n",
    "axis_flt1 = axis1.flatten()\n",
    "for i in range(temp.shape[0]):\n",
    "    axis_flt1[i].imshow(temp[i, :].reshape([20,20]).T, cmap='gray')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Predicting Labels with the trained model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Calculating accuracy of the neural network ...\n"
     ]
    },
    {
     "ename": "NameError",
     "evalue": "name 'sigmoid' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-1-b123e4378d6b>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Calculating accuracy of the neural network ...\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mh1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msigmoid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0madd_bias_unit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m@\u001b[0m \u001b[0mtheta1\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mT\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      3\u001b[0m \u001b[0mh2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msigmoid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0madd_bias_unit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mh1\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m@\u001b[0m \u001b[0mtheta2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mT\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      4\u001b[0m \u001b[0mprediction\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margmax\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mh2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreshape\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mNameError\u001b[0m: name 'sigmoid' is not defined"
     ]
    }
   ],
   "source": [
    "print(\"Calculating accuracy of the neural network ...\")\n",
    "h1 = sigmoid(add_bias_unit(X) @ theta1.T)\n",
    "h2 = sigmoid(add_bias_unit(h1) @ theta2.T)\n",
    "prediction = np.argmax(h2, axis=1).reshape(y.shape)\n",
    "\n",
    "print(\"Accuracy of neural network is {:.2f}%\".format(np.mean(prediction==y)*100))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}