Skip to content
Snippets Groups Projects
Supplementary Jupyter Notebook Block 2 - Linear Classifier.ipynb 389 KiB
Newer Older
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Neural Networks - SVM Loss Function and Gradient"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Import and Visualize CIFAR-10 Data Set"
   ]
  },
  {
   "cell_type": "code",
Simon van Hemert's avatar
Simon van Hemert committed
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
Simon van Hemert's avatar
Simon van Hemert committed
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 70 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train data shape:  (49000, 3072)\n",
      "Train labels shape:  (49000,)\n",
      "Validation data shape:  (1000, 3072)\n",
      "Validation labels shape:  (1000,)\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "# function to import CIFAR-10 data set\n",
    "def unpickle(file):\n",
    "    import pickle\n",
    "    with open(file, 'rb') as fo:\n",
    "        dict = pickle.load(fo, encoding='bytes')\n",
    "    return dict\n",
    "data_batch_1 = unpickle(\"/work/hslu-deep-learning/notebooks/Block 1/data/data_batch_1\")\n",
    "data_batch_2 = unpickle(\"/work/hslu-deep-learning/notebooks/Block 1/data/data_batch_2\")\n",
    "data_batch_3 = unpickle(\"/work/hslu-deep-learning/notebooks/Block 1/data/data_batch_3\")\n",
    "data_batch_4 = unpickle(\"/work/hslu-deep-learning/notebooks/Block 1/data/data_batch_4\")\n",
    "data_batch_5 = unpickle(\"/work/hslu-deep-learning/notebooks/Block 1/data/data_batch_5\")\n",
    "test_batch = unpickle(\"/work/hslu-deep-learning/notebooks/Block 1/data/test_batch\")\n",
    "\n",
    "# Let us concatenate the batch training data \n",
    "X_train=np.concatenate([data_batch_1[b'data'], \n",
    "                         data_batch_2[b'data'], \n",
    "                         data_batch_3[b'data'], \n",
    "                         data_batch_4[b'data'], \n",
    "                         data_batch_5[b'data']], \n",
    "                         axis = 0)\n",
    "\n",
    "\n",
    "# What is the shape of Xtr_rows ?\n",
    "X_train.shape\n",
    "\n",
    "\n",
    "# Let us concatenate the training labels\n",
    "y_train=np.concatenate([data_batch_1[b'labels'] , \n",
    "                data_batch_2[b'labels'],\n",
    "                data_batch_3[b'labels'],\n",
    "                data_batch_4[b'labels'],\n",
    "                data_batch_5[b'labels']], \n",
    "                axis = 0)\n",
    "\n",
    "# Let us define the test data as X_test\n",
    "X_test=test_batch[b'data']\n",
    "X_test.shape\n",
    "\n",
    "# Let us cast the test labels as ndarray\n",
    "y_test=np.array(test_batch[b'labels']) \n",
    "y_test.shape\n",
    "\n",
    "\n",
    "# Visualize some examples from the dataset.\n",
    "# We show a few examples of training images from each class.\n",
    "\n",
    "classes = ['plane', 'car', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']\n",
    "num_classes = len(classes)\n",
    "samples_per_class = 7\n",
    "\n",
    "\n",
    "\n",
    "for y, cls in enumerate(classes):\n",
    "    idxs = np.flatnonzero(y_train == y)\n",
    "    idxs = np.random.choice(idxs, samples_per_class, replace=False)\n",
    "    for i, idx in enumerate(idxs):\n",
    "        plt_idx = i * num_classes + y + 1\n",
    "        plt.subplot(samples_per_class, num_classes, plt_idx)\n",
    "        plt.imshow(X_train[idx].reshape((3,32,32)).transpose((1,2,0)).astype('uint8'))\n",
    "        plt.axis('off')\n",
    "        if i == 0:\n",
    "            plt.title(cls)\n",
    "plt.show()\n",
    "\n",
    "# Split the data into train, val, and test sets. In addition we will\n",
    "# create a small development set as a subset of the training data;\n",
    "# we can use this for development so our code runs faster.\n",
    "num_training = 49000\n",
    "num_validation = 1000\n",
    "num_test = 1000\n",
    "num_dev = 500\n",
    "\n",
    "# Our validation set will be num_validation points from the original\n",
    "# training set.\n",
    "mask = range(num_training, num_training + num_validation)\n",
    "X_val = X_train[mask]\n",
    "y_val = y_train[mask]\n",
    "\n",
    "# Our training set will be the first num_train points from the original\n",
    "# training set.\n",
    "mask = range(num_training)\n",
    "X_train = X_train[mask]\n",
    "y_train = y_train[mask]\n",
    "\n",
    "# We will also make a development set, which is a small subset of\n",
    "# the training set.\n",
    "mask = np.random.choice(num_training, num_dev, replace=False)\n",
    "X_dev = X_train[mask]\n",
    "y_dev = y_train[mask]\n",
    "\n",
    "# We use the first num_test points of the original test set as our\n",
    "# test set.\n",
    "mask = range(num_test)\n",
    "X_test = X_test[mask]\n",
    "y_test = y_test[mask]\n",
    "\n",
    "print('Train data shape: ', X_train.shape)\n",
    "print('Train labels shape: ', y_train.shape)\n",
    "print('Validation data shape: ', X_val.shape)\n",
    "print('Validation labels shape: ', y_val.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " ## Preprocessing the Data : Subtract the Mean Image"
   ]
  },
  {
   "cell_type": "code",
Simon van Hemert's avatar
Simon van Hemert committed
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[130 130 130 131 132 132 133 133 134 134]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(49000, 3073) (1000, 3073) (1000, 3073) (500, 3073)\n"
     ]
    }
   ],
   "source": [
    "# First: compute the image mean based on the training data\n",
    "mean_image = np.mean(X_train, axis=0).astype('uint8')\n",
    "print(mean_image[:10]) # print a few of the elements\n",
    "plt.figure(figsize=(4,4))\n",
    "# visualize the mean image\n",
    "plt.imshow(mean_image.reshape((3,32,32)).transpose((1,2,0))) \n",
    "plt.show()\n",
    "\n",
    "# Second: subtract the mean image from train and test data\n",
    "X_train -= mean_image\n",
    "X_val -= mean_image\n",
    "X_test -= mean_image\n",
    "X_dev -= mean_image\n",
    "\n",
    "\n",
    "# Third: append the bias dimension of ones (i.e. bias trick) so that our SVM\n",
    "# only has to worry about optimizing a single weight matrix W.\n",
    "X_train = np.hstack([X_train, np.ones((X_train.shape[0], 1))])\n",
    "X_val = np.hstack([X_val, np.ones((X_val.shape[0], 1))])\n",
    "X_test = np.hstack([X_test, np.ones((X_test.shape[0], 1))])\n",
    "X_dev = np.hstack([X_dev, np.ones((X_dev.shape[0], 1))])\n",
    "\n",
    "print(X_train.shape, X_val.shape, X_test.shape, X_dev.shape)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## SVM Loss Function and Gradient (Not Vectorized)"
   ]
  },
  {
   "cell_type": "code",
Simon van Hemert's avatar
Simon van Hemert committed
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
Simon van Hemert's avatar
Simon van Hemert committed
      "loss: 10.720145\n"
     ]
    }
   ],
   "source": [
    "from random import shuffle\n",
    "\n",
    "def svm_loss_naive(W, X, y, reg):\n",
    "  \"\"\"\n",
    "  Structured SVM loss function, naive implementation (with loops).\n",
    "\n",
    "  Inputs have dimension D, there are C classes, and we operate on minibatches\n",
    "  of N examples.\n",
    "\n",
    "  Inputs:\n",
    "  - W: A numpy array of shape (D, C) containing weights.\n",
    "  - X: A numpy array of shape (N, D) containing a minibatch of data.\n",
    "  - y: A numpy array of shape (N,) containing training labels; y[i] = c means\n",
    "    that X[i] has label c, where 0 <= c < C.\n",
    "  - reg: (float) regularization strength\n",
    "\n",
    "  Returns a tuple of:\n",
    "  - loss as single float\n",
    "  - gradient with respect to weights W; an array of same shape as W\n",
    "    To be precise: it is the Jacobian matrix of L with respect to all \n",
    "    matrix elements of W : dW is shorthand notation for dL/dW_ij\n",
    "  \"\"\"\n",
    "  \n",
    "\n",
    "  \n",
    "  # initialize the gradient as zero\n",
    "  dW = np.zeros(W.shape) \n",
    "  # compute the loss and the gradient\n",
    "  num_classes = W.shape[1]\n",
    "  num_train = X.shape[0]\n",
    "  loss = 0.0\n",
    "  for i in range(num_train):\n",
    "      scores = X[i].dot(W)\n",
    "      correct_class_score = scores[y[i]]\n",
    "      diff_count = 0  \n",
    "      for j in range(num_classes):\n",
    "          margin = scores[j] - correct_class_score + 1\n",
    "          if j == y[i]:\n",
    "              continue\n",
    "          if margin > 0:\n",
    "              diff_count += 1\n",
    "              # gradient update for incorrect rows\n",
    "              dW[:, j] += X[i] \n",
    "              loss += margin\n",
    "      # gradient update for correct row\n",
    "      dW[:, y[i]] += -diff_count * X[i]\n",
    "\n",
    "  # Right now the loss is a sum over all training examples, but we want it\n",
    "  # to be an average instead so we divide by num_train.\n",
    "  loss /= num_train\n",
    "  dW /= num_train\n",
    "  dW += reg*W # regularize the weights\n",
    "  # Add regularization to the loss.\n",
    "  loss += 0.5 * reg * np.sum(W * W)     \n",
    "  \n",
    "  # Add regularization to the loss.\n",
    "  loss += 0.5 * reg * np.sum(W * W)\n",
    "\n",
    "  return loss, dW\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# generate a random SVM weight matrix of small numbers\n",
    "W = np.random.randn(3073, 10) * 0.0001 \n",
    "\n",
    "loss, grad = svm_loss_naive(W, X_dev, y_dev, 0.00001)\n",
    "print('loss: %f' % (loss, ))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#  Gradient Check"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We compute numerically the gradient along several randomly chosen \n",
    "dimensions, and compare them with our analytically computed gradient. \n",
    "The numbers should match almost exactly along all dimensions."
   ]
  },
  {
   "cell_type": "code",
Simon van Hemert's avatar
Simon van Hemert committed
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
Simon van Hemert's avatar
Simon van Hemert committed
      "numerical: 71.516000 analytic: 71.516000, relative error: 6.564244e-12\n",
      "numerical: -126.906269 analytic: -126.848000, relative error: 2.296261e-04\n",
      "numerical: -50.112000 analytic: -50.112000, relative error: 4.409556e-12\n",
      "numerical: -35.675488 analytic: -35.766000, relative error: 1.266941e-03\n",
      "numerical: 60.005488 analytic: 60.052000, relative error: 3.874156e-04\n",
      "numerical: 44.968488 analytic: 45.118000, relative error: 1.659651e-03\n",
      "numerical: 59.621593 analytic: 59.534000, relative error: 7.351184e-04\n",
      "numerical: -4.310000 analytic: -4.310000, relative error: 7.127158e-11\n",
      "numerical: 68.692032 analytic: 68.714000, relative error: 1.598752e-04\n",
      "numerical: 72.078000 analytic: 72.078000, relative error: 1.215882e-12\n",
      "numerical: -36.601235 analytic: -36.616157, relative error: 2.038029e-04\n",
      "numerical: 53.960978 analytic: 54.154745, relative error: 1.792221e-03\n",
      "numerical: 54.514393 analytic: 54.545953, relative error: 2.893760e-04\n",
      "numerical: 54.401085 analytic: 54.393542, relative error: 6.932729e-05\n",
      "numerical: 58.464939 analytic: 58.512725, relative error: 4.085121e-04\n",
      "numerical: 48.058741 analytic: 48.144127, relative error: 8.875581e-04\n",
      "numerical: -44.734106 analytic: -44.783852, relative error: 5.557024e-04\n",
      "numerical: 59.547595 analytic: 59.541798, relative error: 4.868257e-05\n",
      "numerical: -6.863554 analytic: -6.726368, relative error: 1.009464e-02\n",
      "numerical: -8.582602 analytic: -8.597100, relative error: 8.438569e-04\n"
     ]
    }
   ],
   "source": [
    "def grad_check_sparse(f, x, analytic_grad, num_checks=10, h=1e-5):\n",
    "  \"\"\"\n",
    "  sample a few random elements and only return numerical values\n",
    "  in this dimensions.\n",
    "  - f : is the loss function which will be passed to grad_check_sparse \n",
    "  as a lambda function\n",
    "  - x : is the array containing the weight matrix\n",
    "  - num_checks : how many elements of the array are randomly sampled\n",
    "  \"\"\"\n",
    "\n",
    "  for i in range(num_checks):\n",
    "    ix = tuple([np.random.randint(m) for m in x.shape])\n",
    "\n",
    "    oldval = x[ix]\n",
    "    # increment by h\n",
    "    x[ix] = oldval + h \n",
    "    # evaluate f(x + h)\n",
    "    fxph = f(x)\n",
    "    # increment by h\n",
    "    x[ix] = oldval - h \n",
    "    # evaluate f(x - h)\n",
    "    fxmh = f(x) \n",
    "    # reset\n",
    "    x[ix] = oldval \n",
    "\n",
    "    grad_numerical = (fxph - fxmh) / (2 * h)\n",
    "    grad_analytic = analytic_grad[ix]\n",
    "    rel_error = abs(grad_numerical - grad_analytic) / (abs(grad_numerical) + abs(grad_analytic))\n",
    "    print('numerical: %f analytic: %f, relative error: %e' % (grad_numerical, grad_analytic, rel_error))\n",
    "\n",
    "\n",
    "\n",
    "loss, grad = svm_loss_naive(W, X_dev, y_dev, 0.0)\n",
    "f = lambda w: svm_loss_naive(w, X_dev, y_dev, 0.0)[0]\n",
    "grad_numerical = grad_check_sparse(f, W, grad)\n",
    "\n",
    "# do the gradient check once again with regularization turned on\n",
    "# you didn't forget the regularization gradient did you?\n",
    "\n",
    "loss, grad = svm_loss_naive(W, X_dev, y_dev, 1e2)\n",
    "f = lambda w: svm_loss_naive(w, X_dev, y_dev, 1e2)[0]\n",
    "grad_numerical = grad_check_sparse(f, W, grad)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## SVM Loss Function and Gradient (Vectorized)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We implement the function `svm_loss_vectorized`; we compute\n",
    "the loss and the gradient by means of vectorized operations"
   ]
  },
  {
   "cell_type": "code",
Simon van Hemert's avatar
Simon van Hemert committed
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def svm_loss_vectorized(W, X, y, reg):\n",
    "  \"\"\"\n",
    "  Structured SVM loss function, vectorized implementation.\n",
    "\n",
    "  Inputs and outputs are the same as svm_loss_naive.\n",
    "    Inputs have dimension D, there are C classes, and we operate on minibatches\n",
    "  of N examples.\n",
    "\n",
    "  Inputs:\n",
    "  - W: A numpy array of shape (D, C) containing weights.\n",
    "  - X: A numpy array of shape (N, D) containing a minibatch of data.\n",
    "  - y: A numpy array of shape (N,) containing training labels; y[i] = c means\n",
    "    that X[i] has label c, where 0 <= c < C.\n",
    "  - reg: (float) regularization strength\n",
    "\n",
    "  Returns a tuple of:\n",
    "  - loss as single float\n",
    "  - gradient with respect to weights W; an array of same shape as W\n",
    "  \"\"\"\n",
    "  loss = 0.0\n",
    "  delta = 1\n",
    "  # initialize the gradient as zero\n",
    "  dW = np.zeros(W.shape) \n",
    "  # compute the loss \n",
    "  num_train = X.shape[0]\n",
    "  scores = X.dot(W)\n",
    "  correct_class_score = scores[np.arange(num_train), y]\n",
    "  margin = scores - correct_class_score[:, np.newaxis] + delta\n",
    "  margin[np.arange(num_train), y] = 0\n",
    "  margin = np.where(margin > 0, margin, 0)\n",
    "  loss = np.sum(margin)/num_train\n",
    "  # regularization\n",
    "  loss += 0.5 * reg * np.sum(W * W) \n",
    "  \n",
    "  # Compute the gradient : fully vectorized version \n",
    "  mask = np.zeros(margin.shape)\n",
    "  # column maps to class, row maps to sample; a value v in X_mask[i, j]\n",
    "  # adds a row sample i to column class j with multiple of v\n",
    "  mask[margin > 0] = 1\n",
    "  # for each sample, find the total number of classes where margin > 0\n",
    "  incorrect_counts = np.sum(mask, axis=1)\n",
    "  mask[np.arange(num_train), y] = -incorrect_counts\n",
    "  dW = X.T.dot(mask)\n",
    "\n",
    "  dW /= num_train # average out weights\n",
    "  dW += reg*W # regularize the weights\n",
    "  \n",
    "\n",
    "  return loss, dW"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Check Correctness and Performance of Vectorized Gradient Computation"
   ]
  },
  {
   "cell_type": "code",
Simon van Hemert's avatar
Simon van Hemert committed
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
Simon van Hemert's avatar
Simon van Hemert committed
      "Naive loss: 1.072014e+01 computed in 0.063963s\n",
      "Vectorized loss: 1.072014e+01 computed in 0.004526s\n",
      "difference: 0.000000\n",
Simon van Hemert's avatar
Simon van Hemert committed
      "Naive loss and gradient: computed in 0.053587s\n",
      "Vectorized loss and gradient: computed in 0.010512s\n",
      "2.56 ms ± 380 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n",
      "difference: 0.000000\n"
     ]
    }
   ],
   "source": [
    "import time\n",
    "\n",
    "tic = time.time()\n",
    "loss_naive, _ = svm_loss_naive(W, X_dev, y_dev, 0.00001)\n",
    "toc = time.time()\n",
    "print('Naive loss: %e computed in %fs' % (loss_naive, toc - tic))\n",
    "\n",
    "\n",
    "tic = time.time()\n",
    "loss_vectorized, _ = svm_loss_vectorized(W, X_dev, y_dev, 0.00001)\n",
    "toc = time.time()\n",
    "print('Vectorized loss: %e computed in %fs' % (loss_vectorized, toc - tic))\n",
    "\n",
    "# The losses should match but your vectorized implementation should be much faster.\n",
    "print('difference: %f' % (loss_naive - loss_vectorized))\n",
    "\n",
    "\n",
    "# The naive implementation and the vectorized implementation should match, but\n",
    "# the vectorized version should still be much faster.\n",
    "tic = time.time()\n",
    "_, grad_naive = svm_loss_naive(W, X_dev, y_dev, 0.00001)\n",
    "toc = time.time()\n",
    "print('Naive loss and gradient: computed in %fs' % (toc - tic))\n",
    "\n",
    "tic = time.time()\n",
    "_, grad_vectorized = svm_loss_vectorized(W, X_dev, y_dev, 0.00001)\n",
    "toc = time.time()\n",
    "print('Vectorized loss and gradient: computed in %fs' % (toc - tic))\n",
    "\n",
    "# Alternative time measurement with ipython : use %timeit\n",
    "%timeit svm_loss_vectorized(W, X_dev, y_dev, 0.00001)\n",
    "\n",
    "# The loss is a single number, so it is easy to compare the values computed\n",
    "# by the two implementations. The gradient on the other hand is a matrix, so\n",
    "# we use the Frobenius norm to compare them.\n",
    "difference = np.linalg.norm(grad_naive - grad_vectorized, ord='fro')\n",
    "print('difference: %f' % difference)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Linear Classifier with Stochastic Gradient Descent (SGD)"
   ]
  },
  {
   "cell_type": "code",
Simon van Hemert's avatar
Simon van Hemert committed
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
Simon van Hemert's avatar
Simon van Hemert committed
      "iteration 0 / 1500: loss 826.155049\n",
      "iteration 100 / 1500: loss 294.536101\n",
      "iteration 200 / 1500: loss 112.701283\n",
      "iteration 300 / 1500: loss 47.893062\n",
      "iteration 400 / 1500: loss 24.353534\n",
      "iteration 500 / 1500: loss 13.717950\n",
      "iteration 600 / 1500: loss 13.514528\n",
      "iteration 700 / 1500: loss 11.366763\n",
      "iteration 800 / 1500: loss 11.376218\n",
      "iteration 900 / 1500: loss 12.441962\n",
      "iteration 1000 / 1500: loss 10.662319\n",
      "iteration 1100 / 1500: loss 11.286613\n",
      "iteration 1200 / 1500: loss 12.290911\n",
      "iteration 1300 / 1500: loss 13.109479\n",
      "iteration 1400 / 1500: loss 10.732881\n",
      "That took 3.730253s\n"
Simon van Hemert's avatar
Simon van Hemert committed
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
Simon van Hemert's avatar
Simon van Hemert committed
      "training accuracy: 0.168143\n",
      "validation accuracy: 0.183000\n"
     ]
    }
   ],
   "source": [
    "\n",
    "class LinearClassifier():\n",
    "\n",
    "  def __init__(self):\n",
    "    self.W = None\n",
    "\n",
    "  def train(self, X, y, learning_rate=1e-3, reg=1e-5, num_iters=100,\n",
    "            batch_size=200, verbose=False):\n",
    "    \"\"\"\n",
    "    Train this linear classifier using stochastic gradient descent.\n",
    "    Inputs:\n",
    "    - X: A numpy array of shape (N, D) containing training data; there are N\n",
    "      training samples each of dimension D.\n",
    "    - y: A numpy array of shape (N,) containing training labels; y[i] = c\n",
    "      means that X[i] has label 0 <= c < C for C classes.\n",
    "    - learning_rate: (float) learning rate for optimization.\n",
    "    - reg: (float) regularization strength.\n",
    "    - num_iters: (integer) number of steps to take when optimizing\n",
    "    - batch_size: (integer) number of training examples to use at each step.\n",
    "    - verbose: (boolean) If true, print progress during optimization.\n",
    "    Outputs:\n",
    "    A list containing the value of the loss function at each training iteration.\n",
    "    \"\"\"\n",
    "    num_train, dim = X.shape\n",
    "    # assume y takes values 0...K-1 where K is number of classes\n",
    "    num_classes = np.max(y) + 1 \n",
    "    if self.W is None:\n",
    "      # lazily initialize W\n",
    "      self.W = 0.001 * np.random.randn(dim, num_classes)\n",
    "\n",
    "    # Run stochastic gradient descent to optimize W\n",
    "    loss_history = []\n",
    "    for it in range(num_iters):\n",
    "      X_batch = None\n",
    "      y_batch = None\n",
    "\n",
    "      \n",
    "      # Sample batch_size elements from the training data and their           \n",
    "      # corresponding labels to use in this round of gradient descent.        \n",
    "      # Store the data in X_batch and their corresponding labels in           \n",
    "      # y_batch; after sampling X_batch should have shape (dim, batch_size)   \n",
    "      # and y_batch should have shape (batch_size,)                           \n",
    "      #                                                                       \n",
    "      # Use np.random.choice to generate indices. Sampling with         \n",
    "      # replacement is faster than sampling without replacement.              \n",
    "     \n",
    "      sample_indices = np.random.choice(np.arange(num_train), batch_size)\n",
    "      X_batch = X[sample_indices]\n",
    "      y_batch = y[sample_indices]\n",
    "      \n",
    "\n",
    "      # evaluate loss and gradient\n",
    "      loss, grad = self.loss(X_batch, y_batch, reg)\n",
    "      loss_history.append(loss)\n",
    "\n",
    "      # perform parameter update\n",
    "      \n",
    "      # Update the weights using the gradient and the learning rate.          \n",
    "      \n",
    "      self.W += -learning_rate * grad\n",
    "     \n",
    "\n",
    "      if verbose and it % 100 == 0:\n",
    "        print('iteration %d / %d: loss %f' % (it, num_iters, loss))\n",
    "\n",
    "    return loss_history\n",
    "\n",
    "  def predict(self, X):\n",
    "    \"\"\"\n",
    "    Use the trained weights of this linear classifier to predict labels for\n",
    "    data points.\n",
    "    Inputs:\n",
    "    - X: D x N array of training data. Each column is a D-dimensional point.\n",
    "    Returns:\n",
    "    - y_pred: Predicted labels for the data in X. y_pred is a 1-dimensional\n",
    "      array of length N, and each element is an integer giving the predicted\n",
    "      class.\n",
    "    \"\"\"\n",
    "    y_pred = np.zeros(X.shape[1])\n",
    "   \n",
    "    # Implement this method. Store the predicted labels in y_pred.            \n",
    "    \n",
    "    y_pred = np.argmax(X.dot(self.W), axis=1)\n",
    "\n",
    "    return y_pred\n",
    "  \n",
    "  def loss(self, X_batch, y_batch, reg):\n",
    "    \"\"\"\n",
    "    Compute the loss function and its derivative. \n",
    "    Subclasses (child class) will override this.\n",
    "    Inputs:\n",
    "    - X_batch: A numpy array of shape (N, D) containing a minibatch of N\n",
    "      data points; each point has dimension D.\n",
    "    - y_batch: A numpy array of shape (N,) containing labels for the minibatch.\n",
    "    - reg: (float) regularization strength.\n",
    "    Returns: A tuple containing:\n",
    "    - loss as a single float\n",
    "    - gradient with respect to self.W; an array of the same shape as W\n",
    "    \"\"\"\n",
    "    pass\n",
    "\n",
    "class LinearSVM(LinearClassifier):\n",
    "  \"\"\" A subclass (child class) that uses the Multiclass SVM loss function \n",
    "      The function loss of the parent class LinearClassifier will be \n",
    "      overwritten by the following loss function.\n",
    "  \"\"\"\n",
    "\n",
    "  def loss(self, X_batch, y_batch, reg):\n",
    "    return svm_loss_vectorized(self.W, X_batch, y_batch, reg)\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "svm = LinearSVM()\n",
    "tic = time.time()\n",
    "loss_hist = svm.train(X_train, y_train, learning_rate=1e-7, reg=5e4,\n",
    "                      num_iters=1500, verbose=True)\n",
    "toc = time.time()\n",
    "print('That took %fs' % (toc - tic))\n",
    "\n",
    "\n",
    "# A useful debugging strategy is to plot the loss as a function of\n",
    "# iteration number:\n",
    "plt.plot(loss_hist)\n",
    "plt.xlabel('Iteration number')\n",
    "plt.ylabel('Loss value')\n",
    "plt.show()\n",
    "\n",
    "\n",
    "# Evaluate the performance on both the\n",
    "# training and validation set\n",
    "y_train_pred = svm.predict(X_train)\n",
    "print('training accuracy: %f' % (np.mean(y_train == y_train_pred), ))\n",
    "y_val_pred = svm.predict(X_val)\n",
    "print('validation accuracy: %f' % (np.mean(y_val == y_val_pred), ))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  Tune the Hyperparameters Learning Rate and Regularization Strength"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Use the validation set to tune hyperparameters (regularization strength and\n",
    "learning rate). You should experiment with different ranges for the learning\n",
    "rates and regularization strengths; if you are careful you should be able to\n",
    "get a classification accuracy of about 0.4 on the validation set.\n",
    "learning_rates = [1e-7, 5e-5]\n",
    "regularization_strengths = [5e4, 1e5]"
   ]
  },
  {
   "cell_type": "code",
Simon van Hemert's avatar
Simon van Hemert committed
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
Simon van Hemert's avatar
Simon van Hemert committed
    "learning_rates = np.logspace(-5, 0, 5) \n",
    "# causes numeric issues: np.logspace(-5, 5, 8) #[-4, -3, -2, -1, 1, 2, 3, 4, 5, 6]\n",
Simon van Hemert's avatar
Simon van Hemert committed
    "regularization_strengths = np.logspace(-5, 2, 5) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`results` is dictionary mapping tuples of the form\n",
    "(`learning_rate`, `regularization_strength`) to tuples of the form\n",
    "(training_accuracy, validation_accuracy). The accuracy is simply the fraction\n",
    "of data points that are correctly classified."
   ]
  },
  {
   "cell_type": "code",
Simon van Hemert's avatar
Simon van Hemert committed
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "results = {}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The highest validation accuracy that we have seen so far."
   ]
  },
  {
   "cell_type": "code",
Simon van Hemert's avatar
Simon van Hemert committed
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "best_val = -1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The LinearSVM object that achieved the highest validation rate. "
   ]
  },
  {
   "cell_type": "code",
Simon van Hemert's avatar
Simon van Hemert committed
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "best_svm = None"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The corresponding learning rates and regularization strengths"
   ]
  },
  {
   "cell_type": "code",
Simon van Hemert's avatar
Simon van Hemert committed
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "best_l = np.min(learning_rates)\n",
    "best_r = np.min(regularization_strengths)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Code that chooses the best hyperparameters by tuning on the validation \n",
    "set. For each combination of hyperparameters, we train a linear SVM on the      \n",
    "training set, compute its accuracy on the training and validation sets, and  \n",
    "store these numbers in the results dictionary. In addition, we store the best   \n",
    "validation accuracy in `best_val` and the LinearSVM object that achieves this  \n",
    "accuracy in `best_svm`.                                                        \n",
    "                                                                             \n",
    "Hint: You should use a small value for `num_iters` as you develop your         \n",
    "validation code so that the SVMs don't take much time to train; once you are \n",
    "confident that your validation code works, you should rerun the validation   \n",
    "code with a larger value for `num_iters`.                         "
   ]
  },
  {
   "cell_type": "code",
Simon van Hemert's avatar
Simon van Hemert committed
   "execution_count": 30,
   "metadata": {},
Simon van Hemert's avatar
Simon van Hemert committed
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:33: RuntimeWarning: overflow encountered in double_scalars\n",
      "/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:33: RuntimeWarning: overflow encountered in multiply\n",
      "/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:28: RuntimeWarning: overflow encountered in subtract\n",
      "/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:28: RuntimeWarning: invalid value encountered in subtract\n",
      "/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:46: RuntimeWarning: overflow encountered in multiply\n",
      "/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:59: RuntimeWarning: invalid value encountered in add\n"
     ]
    }
   ],
   "source": [
    "for l in learning_rates:\n",
    "    for r in regularization_strengths:\n",
    "        svm = LinearSVM()\n",
    "        svm.train(X_train, y_train, learning_rate=l, reg=r, num_iters=1500, batch_size=200)\n",
    "        y_train_pred = svm.predict(X_train)\n",
    "        y_val_pred = svm.predict(X_val)\n",
    "        training_accuracy = np.mean(y_train == y_train_pred)\n",
    "        validation_accuracy = np.mean(y_val == y_val_pred)\n",
    "        results[(l, r)] = (training_accuracy, validation_accuracy)\n",
    "        if validation_accuracy > best_val:\n",
    "            best_val = validation_accuracy\n",
    "            best_svm = svm\n",
    "            best_l = l\n",
    "            best_r = r"
   ]
  },
  {
   "cell_type": "code",
Simon van Hemert's avatar
Simon van Hemert committed
   "execution_count": 31,
   "metadata": {},
Simon van Hemert's avatar
Simon van Hemert committed
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "lr 1.000000e-05 reg 1.000000e-05 train accuracy: 0.210082 val accuracy: 0.219000\n",
      "lr 1.000000e-05 reg 5.623413e-04 train accuracy: 0.178735 val accuracy: 0.188000\n",
      "lr 1.000000e-05 reg 3.162278e-02 train accuracy: 0.214122 val accuracy: 0.189000\n",
      "lr 1.000000e-05 reg 1.778279e+00 train accuracy: 0.157980 val accuracy: 0.165000\n",
      "lr 1.000000e-05 reg 1.000000e+02 train accuracy: 0.128265 val accuracy: 0.138000\n",
      "lr 1.778279e-04 reg 1.000000e-05 train accuracy: 0.193367 val accuracy: 0.172000\n",
      "lr 1.778279e-04 reg 5.623413e-04 train accuracy: 0.153327 val accuracy: 0.140000\n",
      "lr 1.778279e-04 reg 3.162278e-02 train accuracy: 0.202735 val accuracy: 0.180000\n",
      "lr 1.778279e-04 reg 1.778279e+00 train accuracy: 0.167755 val accuracy: 0.132000\n",
      "lr 1.778279e-04 reg 1.000000e+02 train accuracy: 0.153327 val accuracy: 0.135000\n",
      "lr 3.162278e-03 reg 1.000000e-05 train accuracy: 0.171571 val accuracy: 0.188000\n",
      "lr 3.162278e-03 reg 5.623413e-04 train accuracy: 0.223633 val accuracy: 0.224000\n",
      "lr 3.162278e-03 reg 3.162278e-02 train accuracy: 0.234041 val accuracy: 0.226000\n",
      "lr 3.162278e-03 reg 1.778279e+00 train accuracy: 0.135449 val accuracy: 0.135000\n",
      "lr 3.162278e-03 reg 1.000000e+02 train accuracy: 0.100265 val accuracy: 0.087000\n",
      "lr 5.623413e-02 reg 1.000000e-05 train accuracy: 0.199898 val accuracy: 0.211000\n",
      "lr 5.623413e-02 reg 5.623413e-04 train accuracy: 0.242510 val accuracy: 0.244000\n",
      "lr 5.623413e-02 reg 3.162278e-02 train accuracy: 0.171184 val accuracy: 0.165000\n",
      "lr 5.623413e-02 reg 1.778279e+00 train accuracy: 0.101878 val accuracy: 0.117000\n",
      "lr 5.623413e-02 reg 1.000000e+02 train accuracy: 0.100265 val accuracy: 0.087000\n",
      "lr 1.000000e+00 reg 1.000000e-05 train accuracy: 0.205816 val accuracy: 0.187000\n",
      "lr 1.000000e+00 reg 5.623413e-04 train accuracy: 0.185612 val accuracy: 0.188000\n",
      "lr 1.000000e+00 reg 3.162278e-02 train accuracy: 0.113327 val accuracy: 0.086000\n",
      "lr 1.000000e+00 reg 1.778279e+00 train accuracy: 0.100449 val accuracy: 0.078000\n",
      "lr 1.000000e+00 reg 1.000000e+02 train accuracy: 0.100265 val accuracy: 0.087000\n",
      "best validation accuracy achieved during cross-validation: 0.244000\n"
     ]
    }
   ],
   "source": [
    "# Print out results.\n",
    "for lr, reg in sorted(results):\n",
    "    train_accuracy, val_accuracy = results[(lr, reg)]\n",
    "    print('lr %e reg %e train accuracy: %f val accuracy: %f' % (lr, reg, train_accuracy, val_accuracy))\n",
    "    \n",
    "print('best validation accuracy achieved during cross-validation: %f' % best_val)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualize the cross-validation results"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Plot training accuracy"
   ]
  },
  {
   "cell_type": "code",
Simon van Hemert's avatar
Simon van Hemert committed
   "execution_count": 32,
   "metadata": {},
Simon van Hemert's avatar
Simon van Hemert committed
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'CIFAR-10 training accuracy')"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import math\n",
    "x_scatter = [math.log10(x[0]) for x in results]\n",
    "y_scatter = [math.log10(x[1]) for x in results]\n",
    "\n",
    "marker_size = 100 # default size of markers is 20\n",
    "colors = [results[x][0] for x in results]\n",
    "plt.subplot(2, 1, 1)\n",
    "plt.scatter(x_scatter, y_scatter, marker_size, c=colors)\n",
    "plt.colorbar()\n",
    "plt.xlabel('log learning rate')\n",
    "plt.ylabel('log regularization strength')\n",
    "plt.title('CIFAR-10 training accuracy')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Plot validation accuracy"
   ]
  },
  {
   "cell_type": "code",
Simon van Hemert's avatar
Simon van Hemert committed
   "execution_count": 33,
   "metadata": {},
Simon van Hemert's avatar
Simon van Hemert committed
   "outputs": [
    {
     "data": {