{ "cells": [ { "cell_type": "code", "execution_count": 2, "id": "offshore-candy", "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "#%matplotlib notebook\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "id": "peripheral-parking", "metadata": {}, "source": [ "### Exercise 1" ] }, { "cell_type": "code", "execution_count": 3, "id": "received-webmaster", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 1. -2.]\n", " [ 1. -1.]\n", " [ 1. 0.]\n", " [ 1. 2.]]\n", "[ 1.02857143 -0.88571429]\n", "[ 0.8 -1.08571429 0.02857143 0.25714286]\n", "4\n", "0.4714285714285714\n" ] } ], "source": [ "X = np.array([[-2], [-1], [0], [2]])\n", "y = np.array([2, 3, 1, -1])\n", "\n", "# Add column with ones to handle the bias coefficient.\n", "X = np.concatenate([np.ones((np.size(X, 0), 1)), X], axis=1)\n", "print(X)\n", "\n", "# Compute weights.\n", "w = np.linalg.inv(X.T.dot(X)).dot(X.T).dot(y)\n", "print(w)\n", "\n", "# Compute mean squared error.\n", "error = X.dot(w) - y\n", "print(error)\n", "print(y.size)\n", "print(error.dot(error) / y.size)" ] }, { "cell_type": "code", "execution_count": 4, "id": "opponent-halifax", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.1428571428571428\n" ] } ], "source": [ "# Query.\n", "x = np.array([1, 1])\n", "print(w.dot(x))" ] }, { "cell_type": "code", "execution_count": 5, "id": "desperate-strengthening", "metadata": {}, "outputs": [], "source": [ "# Plot hyperplane 2d.\n", "def plot_hyperplane_2d(ax, w):\n", " x = np.linspace(-3, 3, 10)\n", " ax.plot(x, w[0] + w[1]*x, 'b-')" ] }, { "cell_type": "code", "execution_count": 6, "id": "offensive-edition", "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ax = plt.figure().gca()\n", "ax.plot(X[:,1], y, 'r.')\n", "plot_hyperplane_2d(ax, w)" ] }, { "cell_type": "markdown", "id": "third-indian", "metadata": {}, "source": [ "### Exercise 2" ] }, { "cell_type": "code", "execution_count": 7, "id": "coordinated-forty", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.275 0.02 0.645]\n", "0.13224999999999998\n" ] } ], "source": [ "X = np.array([[1, 1], [2, 1], [1, 3], [3, 3]])\n", "y = np.array([1.4, 0.5, 2, 2.5])\n", "\n", "# Add column with ones to handle the bias coefficient.\n", "X = np.concatenate([np.ones((np.size(X, 0), 1)), X], axis=1)\n", "\n", "# Compute weights.\n", "w = np.linalg.inv(X.transpose().dot(X)).dot(X.transpose()).dot(y)\n", "print(w)\n", "\n", "# Compute mean squared error.\n", "error = X.dot(w) - y\n", "print(error.dot(error) / y.size)" ] }, { "cell_type": "code", "execution_count": 8, "id": "judicial-director", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2.25\n" ] } ], "source": [ "# Query.\n", "x = np.array([1, 2, 3])\n", "print(w.dot(x))" ] }, { "cell_type": "code", "execution_count": 9, "id": "numerical-harris", "metadata": {}, "outputs": [], "source": [ "# Plot hyperplane 3d.\n", "def plot_hyperplane_3d(ax, w):\n", " x1 = np.linspace(0, 4, 10)\n", " x2 = np.linspace(0, 4, 10)\n", " a, b = np.meshgrid(x1,x2)\n", " N = x1.size\n", " X = np.array([np.ones(N**2), a.ravel(), b.ravel()]).transpose()\n", " o = X.dot(w)\n", " ax.plot_surface(a, b, np.reshape(o,(N,N)), alpha=0.5,\n", " linewidth=0, antialiased=True)\n" ] }, { "cell_type": "code", "execution_count": 10, "id": "stopped-yellow", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "\n", "ax = plt.figure().gca(projection='3d')\n", "ax.scatter(X[:,1], X[:,2], y, color='red')\n", "plot_hyperplane_3d(ax, w)" ] }, { "cell_type": "markdown", "id": "productive-doctrine", "metadata": {}, "source": [ "### Exercise 3" ] }, { "cell_type": "code", "execution_count": 11, "id": "facial-mechanics", "metadata": {}, "outputs": [], "source": [ "X_original = np.array([[3], [4], [6], [10], [12]])\n", "y = np.array([1.5, 9.3, 23.4, 45.8, 60.1])\n" ] }, { "cell_type": "code", "execution_count": 12, "id": "single-computer", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[-47.02119784 41.39446763]\n", "9.761762531440933\n" ] } ], "source": [ "# Log transformation.\n", "X = np.log(X_original)\n", "\n", "# Add column with ones to handle the bias coefficient.\n", "X = np.concatenate([np.ones((np.size(X, 0), 1)), X], axis=1)\n", "\n", "# Compute weights.\n", "w = np.linalg.inv(X.transpose().dot(X)).dot(X.transpose()).dot(y)\n", "print(w)\n", "\n", "# Compute mean squared error.\n", "error = X.dot(w) - y\n", "print(error.dot(error) / y.size)\n", "\n", "# o = w0 + w1*u1 + w2*u2, u1 = x1**2, u2 = x2**2\n", "# o = w0 + w1*x1**2 + w2*x2**2" ] }, { "cell_type": "code", "execution_count": 13, "id": "endangered-biology", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot hyperplane 2d.\n", "def plot_hyperplane_2d(ax, w):\n", " x = np.linspace(2, 13)\n", " ax.plot(x, w[0] + w[1]*np.log(x), 'b-')\n", " \n", "ax = plt.figure().gca()\n", "ax.plot(X_original, y, 'r.')\n", "plot_hyperplane_2d(ax, w)" ] }, { "cell_type": "code", "execution_count": 14, "id": "municipal-passport", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[2.78947108 0.41361523]\n", "13.127301249636725\n" ] } ], "source": [ "# Quadratic transformation.\n", "X = X_original**2\n", "\n", "# Add column with ones to handle the bias coefficient.\n", "X = np.concatenate([np.ones((np.size(X, 0), 1)), X], axis=1)\n", "\n", "# Compute weights.\n", "w = np.linalg.inv(X.transpose().dot(X)).dot(X.transpose()).dot(y)\n", "print(w)\n", "\n", "# Compute mean squared error.\n", "error = X.dot(w) - y\n", "print(error.dot(error) / y.size)\n", "\n", "# o = w0 + w1*u1 + w2*u2, u1 = x1**2, u2 = x2**2\n", "# o = w0 + w1*x1**2 + w2*x2**2" ] }, { "cell_type": "code", "execution_count": 15, "id": "proof-logistics", "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot hyperplane 2d.\n", "def plot_hyperplane_2d(ax, w):\n", " x = np.linspace(2, 13)\n", " ax.plot(x, w[0] + w[1]*(x**2), 'b-')\n", " \n", "ax = plt.figure().gca()\n", "ax.plot(X_original, y, 'r.')\n", "plot_hyperplane_2d(ax, w)" ] }, { "cell_type": "markdown", "id": "controlled-seattle", "metadata": {}, "source": [ "### Exercise 4" ] }, { "cell_type": "code", "execution_count": 16, "id": "imperial-swedish", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(4, 2)\n", "[[-1. 0. ]\n", " [ 0. 0.25]\n", " [ 1. 1. ]\n", " [ 1. -1. ]]\n", "[[ 1. -1. 0. ]\n", " [ 1. 0. 0.25]\n", " [ 1. 1. 1. ]\n", " [ 1. 1. -1. ]]\n", "[0 1 1 0]\n" ] } ], "source": [ "#inputs = np.array([[1, 1], [2, 1], [1, 3], [3, 3]])\n", "#labels = np.array([1, 1, 0, 0])\n", "inputs = np.array([[-1, 0], [0, 0.25], [1, 1], [1, -1]])\n", "labels = np.array([0, 1, 1, 0])\n", "\n", "num_examples, num_features = np.shape(inputs)\n", "print(np.shape(inputs))\n", "print(inputs)\n", "\n", "# Augment points with a dimension for the bias.\n", "inputs = np.concatenate([np.ones((num_examples, 1)), inputs], axis=1)\n", "\n", "print(inputs)\n", "print(labels)" ] }, { "cell_type": "code", "execution_count": 17, "id": "arctic-arcade", "metadata": {}, "outputs": [], "source": [ "# One epoch of the *batch* gradient descent algorithm for logistic regression.\n", "def logistic_regression_gd_epoch(inputs, labels, w, eta):\n", " # vector of probabilities of size num_inputs.\n", " probs = 1 / (1 + np.exp(-inputs.dot(w)))\n", " # gradient of loss function; vector of size num_features.\n", " gradient = inputs.T.dot(probs - labels)\n", " # Gradient descent update.\n", " w -= eta * gradient" ] }, { "cell_type": "code", "execution_count": 18, "id": "known-genealogy", "metadata": {}, "outputs": [], "source": [ "# Evaluate cross-entropy loss.\n", "def evaluate_loss(inputs, labels, w):\n", " # Evaluate loss function.\n", " probs = 1 / (1 + np.exp(-inputs.dot(w)))\n", " loss = -labels.dot(np.log(probs)) - (1 - labels).dot(np.log(1 - probs))\n", " print(\"Loss = %f\" % loss)\n", " return loss" ] }, { "cell_type": "code", "execution_count": 19, "id": "usual-freedom", "metadata": {}, "outputs": [], "source": [ "# One epoch of the *stochastic* gradient descent algorithm for logistic regression.\n", "def logistic_regression_sgd_epoch(inputs, labels, w, eta):\n", " for x, y in zip(inputs, labels):\n", " # Sigmoid function.\n", " # This gives the probability that the label is 1,\n", " # according to the model.\n", " y_hat = 1 / (1 + np.exp(-w.dot(x)))\n", " # SGD update.\n", " w += eta * (y - y_hat) * x" ] }, { "cell_type": "code", "execution_count": 20, "id": "dimensional-joint", "metadata": {}, "outputs": [], "source": [ "# Plot separation line associated with model w, along with the data.\n", "def plot_separation_line(inputs, labels, w):\n", " # Plot data.\n", " plt.plot(inputs[labels == 0, 1], inputs[labels == 0, 2], \"b.\")\n", " plt.plot(inputs[labels == 1, 1], inputs[labels == 1, 2], \"r.\")\n", " # Plot model separation line.\n", " # w0 + w1*x1 + w2*x2 = 0.\n", " x1 = np.array([-2, 2])\n", " x2 = (-w[0] - w[1]*x1) / w[2]\n", " plt.plot(x1, x2, 'k--')\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 23, "id": "proud-package", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1\n", "Loss = 1.644900\n", "[0. 0.5 1.125]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2\n", "Loss = 1.277619\n", "[-0.13152199 0.693412 1.74569844]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3\n", "Loss = 1.088571\n", "[-0.15575156 0.85425763 2.17665285]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 4\n", "Loss = 0.965282\n", "[-0.15094209 0.98892348 2.51678058]\n" ] }, { "data": { "image/png": "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2QRvnpuBS4CehRwm+rqZLQeWAzWBJ0LMIyI+MjNiYmIASEpKwsy45ZZbSElJISMjg/J4brNooJPOiUipyc/PZ+rUqQwdOpT169fTu3dv/vGPf/gdK2rppHMiEnExMTHceuutrFq1ildffZUePQJbkrdu3crcuXO1hlBGqAhEpNTFxsbSo0cPLrroIgBeeOEF2rdvz6WXXkpmZqa/4URFICKR98gjj/DCCy+Qk5PDZZddxuWXX86///1vv2NFLRWBiERclSpVuOeee8jJyWHs2LGsWrWKcePG+R0raqkIRMQ3xx13HPfffz+5ubn8z//8DwArV64kPT2dr776yud00UNFICK+O+GEE6hVK3CGmnXr1vHpp5/SokULrr/+epYvX+5zuopPRSAiZcp1113Hhg0bGDJkCPPnz6d58+bccccdfseq0FQEIlLmVK1alaFDh5KXl8fDDz9MvXr1gMD1lb/55huf01U8KgIRKbNq1KjBk08+ydChQwGYM2cODRs25I477iAvL8/fcBWIikBEyo3mzZtz3333MWXKFJKSkujbty8bN270O1a5pyIQkXKjdu3aPPfcc+Tk5NCnTx8mTpzIJZdcorOchkhFICLlTp06dXjhhRfIzs7mlVdeISYmhv379zNs2DC2bi30bPhyBCoCESm36tWrx+WXXw7AggULGD58OAkJCQwaNIgffvjB53Tlh4pARCqESy+9lNWrV3Pdddfx9NNPk5CQwODBg/n111/9jlbmqQhEpMJISkrif//3f1mxYgUdOnTgvffeIy4uDkD7EY4gpCIwsxpmNtfM1nv31YuYLz/oojQzgsYnmNnnZpZtZlO9q5mJiISkSZMmTJs2jQULFlCpUiV27txJUlISI0eO5KeffvI7XpkT6hrBIGC+cy4RmO8NF2avcy7Fu6UHjR8FPOecawT8CPQKMY+IyGHHH388ALt37yY5OZlHHnmEhIQEnnnmGX755Ref05UdoRZBJ2CS93gSgesOF4t3neLLgUPXMS7R80VEiqtevXq89957LFy4kBYtWvDggw/SsGFDtm/f7ne0MiHUIqjlnPvOe/w9UKuI+Y4zsywzW2Rmnb1xpwA7nXMHvOFNQJ2i3sjM+nivkbVt27YQY4tINLrggguYPXs2n3zyCb179+aUU04B4OOPP2bfvn0+p/NP7NFmMLN5QO1CJj0aPOCc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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 5\n", "Loss = 0.874580\n", "[-0.13413738 1.10775355 2.80344088]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 6\n", "Loss = 0.803033\n", "[-0.11213246 1.21597914 3.0545761 ]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 7\n", "Loss = 0.744083\n", "[-0.08803763 1.31636879 3.28010378]\n" ] }, { "data": { "image/png": "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yfjx40lKSuLIkSOnf3KECLUIngZuNLMcoL03jZklmdnxL/heBmSY2RoCv/ifds5t8Jb9BRhkZrkEjhm8FmIeEZFCxcfHM23aNNatW8fEiROJjo7m2LFjTJ06lf379/sdz1dWHo+qJyUluYyMDL9jiEg5l5aWRvv27albty4jRoygX79+xMRU3NOZzCzTOZd08nydWSwiEatdu3YsWbKERo0a8cADD9C0aVOmTZsWcdcxUhGISERr06YNn332GR999BHnn38+Tz75JMeOHfM7VqlSEYhIxDMzbr75ZlauXEl6ejqVK1dm3759dOzYkQ8//LDCn5imIhAR8ZgZF10UOK81Pz+f7OxsOnXqRJs2bViyZInP6UqOikBEpBCXX345mzZt4u9//zv5+fn85je/4eabb66Qt85UEYiIFCEmJoaBAweSm5vL//zP/3DOOedw9tlnA7Br1y6f04WPikBE5DSqVavG4MGDmT17NmbG9u3bufTSS+nVqxdbtmzxO17IVAQiIsVUvXp1HnjgAd577z0SEhK477772LZtm9+xfjEVgYhIMdWsWZNnnnmGLVu2cN999/HGG2/QtGnTcnsNIxWBiMgvVLduXSZPnszmzZuZNGkStWvXBmDGjBns3r3b33DFoCIQEQlRgwYN6NevHwBffvkld911F/Hx8Tz99NPs27fP53SnpyIQEQmjBg0akJmZSXJyMsOGDaNhw4a88MILHDx40O9oRVIRiIiEWWJiIvPnz+fzzz8nISGBYcOG8cMPP/gdq0gqAhGREtK6dWsWL17M2rVrqVOnDs457r77bt55550ydT0jFYGISAkyM+Li4gAoKChgzZo19OjRg6uuuooPPvigTFzHSEUgIlJKLrjgAlavXs306dPZu3cvnTt3plWrVnz11Ve+5gqpCMyslpktMrMcb1izkHVuMLPVQY8DZtbNW/ammeUHLWsRSh4RkbIuKiqK1NRUNm7cyJQpU6hUqRKxsbEAvn3lNNRPBEOBNOdcYyDNm/4vzrnFzrkWzrkWQFtgP/Bx0CqPHl/unFsdYh4RkXKhcuXK9O/fn6VLl1K1alUOHjxIixYt6Nq1K1lZWaWaJdQi6ApM88anAd1Os/7twIfOuci+QaiIyEmOHTtG//79+eyzz2jRogWpqank5OSUynuHWgSxzrkd3vjXQOxp1u8BzDhp3lNmlmVm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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 8\n", "Loss = 0.694088\n", "[-0.06337461 1.41050887 3.48606248]\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAD4CAYAAADhNOGaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAnaUlEQVR4nO3de5zOdd7H8dfHMGipyIhtFDPOtnIYNKs7Sk5ZjaQN1VLJ1qaDkkTYUOnOHbVJ2VphC5VEaR1rumuRBqNxnjHqgZzaiJLT+N5/XD9zX40ZjOua+c3M9X4+Htfjd/r+rus9P+P6zO/4NeccIiISuUr5HUBERPylQiAiEuFUCEREIpwKgYhIhFMhEBGJcKX9DnAuqlSp4mrWrOl3DBGRYmXlypXfO+dics4vloWgZs2apKSk+B1DRKRYMbNvc5uvQ0MiIhFOhUBEJMKpEIiIRDgVAhGRCKdCICIS4cJSCMzsH2a2x8zW5rHczOwlM8sws6/NrGnQst5mlu69eocjj4iInL1w7RG8CXQ8zfJOQB3v1Q+YCGBmlYERQEugBTDCzCqFKZOIFGXLlsGzzwaG4quw3EfgnPtfM6t5miZJwFQXeOb1cjO70MyqA22ARc65HwDMbBGBgjI9HLlEpIhatgzatoWjRyE6GpYsgcREv1NFrMI6R3AJsC1oers3L6/5pzCzfmaWYmYpe/fuLbCgIlIIkpMDRSArKzBMTvY7UUQrNieLnXOTnHMJzrmEmJhT7pAWkeKkTZvAnkBUVGDYpo3fiSJaYT1iYgdQI2g61pu3g8DhoeD5yYWUSUT8kpgYOByUnBwoAjos5KvCKgRzgf5mNoPAieEfnXM7zWwB8EzQCeL2wBOFlElE/JSYqAJQRISlEJjZdAJ/2Vcxs+0ErgQqA+CcexX4GLgByAAOAXd6y34ws1HAV95bjTx54lhERApHuK4a6nmG5Q64P49l/wD+EY4cIiKSf8XmZLGIiBQMFQIRkQinQiAiEuFUCEREIpwKgYhIhFMhEBGJcCoEIiIRToVARCTCqRCIiEQ4FQIRkQgXcYVgw4YNBJ54ISIiEGGF4LvvvqNp06YkJibyySef+B1HRKRIiKhCULVqVV5++WV27NhB27ZtadeuHStWrPA7loiIryKqEJQuXZq7776b9PR0XnjhBVJTU0lMTGTbtm1nXllEpISKqEJwUrly5RgwYACZmZnMmjWLGjUCnae98sorbN261ed0IiKFKyILwUkVK1aka9euAOzevZuBAwdSr149+vfvz65du/wNJyJSSMJSCMyso5ltMrMMMxucy/JxZpbqvTab2f6gZVlBy+aGI8+5uPjii0lPT+euu+7i1VdfJS4ujieeeIIff/zRr0giIoXCQr2U0syigM1AO2A7gW4nezrn1ufR/gGgiXPuLm/6J+dchfx8ZkJCgktJSQkp9+lkZGQwYsQIPvzwQzIyMqhatWqBfZaISGExs5XOuYSc88OxR9ACyHDOZTrnjgIzgKTTtO8JTA/D5xaY2rVr89Zbb7F161aqVq2Kc46uXbvyt7/9jSNHjvgdT0QkrMJRCC4Bgi+72e7NO4WZXQbUAoIv4i9nZilmttzMuub1IWbWz2uXsnfv3jDEPrOLLroIgP3797N//34efPBB6tWrx5QpU8jKyiqUDCIiBa2wTxb3AN5zzgV/i17m7ar0AsabWXxuKzrnJjnnEpxzCTExMYWRNVulSpX49NNPWbBgAVWqVKFPnz5cfvnlpKenF2oOEZGCEI5CsAOoETQd683LTQ9yHBZyzu3whplAMtAkDJnCzsxo3749X331Fe+99x6xsbHZl53u3r1bj60QkWIrHIXgK6COmdUys2gCX/anXP1jZvWBSsCyoHmVzKysN14FaAXkepK5qDAzbr75ZhYuXEi5cuU4cuQILVq04LrrrmP58uV+xxMRybeQC4Fz7jjQH1gAbADecc6tM7ORZnZjUNMewAz36z+dGwApZrYG+BQYk9fVRkWVmfHoo4+yfv16EhMTSUpKIi0tze9YIiJnLeTLR/1Q0JePnouffvqJF198keeff54DBw6wfPlyWrRo4XcsEZFsBXn5qAAVKlRg6NChZGZmMm7cOJo3bw7AvHnz+O6773xOJyKSNxWCMKtcuTIPPfQQZsbhw4fp3bs38fHxDBo0iP/85z9+xxMROYUKQQEqV64cK1as4JZbbmHs2LHExcUxatQoDh486Hc0EZFsKgQFLC4ujqlTp5KWlsZ1113H8OHD2bRpk9+xRESyqRAUkkaNGjF79mw2b95MQkLgXM2QIUN44403OH78uM/pRCSSqRAUsjp16gBw7NgxPvvsM/r27UujRo145513OHHihM/pRCQSqRD4pEyZMnzxxRd88MEHlClThltvvZVm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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 9\n", "Loss = 0.650820\n", "[-0.03891312 1.49938971 3.67640271]\n" ] }, { "data": { "image/png": "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69evp1WrVnpshZRI4dgjaA3kOOfynHPHgFlAp3xtOgHTvfE5QDszM2/+LOfcUefcp0CO937is5UroV07GDYsMFQxKFj58uV59NFHyc3N5cknn+S6664D4MCBA3z22Wc+pxM5N+EoBJcDwb/xO715BbbxOrs/AFQ9x3UBMLM+ZpZpZpmnTtZJ8cnIgGPH4MSJwDAjw+9E0a1y5coMHz6cDh06ADB27FiSk5N57LHH+PLLL31OJ3JmJeZksXNuinMu1TmXmpiY6HecUi89HRISID4+MExP9ztRyXL//ffTs2dPxo8fT1JSEk899RTfffed37FEChSOQrALqB00XcubV2AbMysDXATsP8d1xQdpabBkCYwYERimpfmdqGSpU6cO06ZNIysri/bt2zN8+PDTVxuJRJsyYXiPtUCymdUj8CXeHeiZr818oBewEugCLHXOOTObD8wws/8GLgOSAT0POEqkpakAhKpp06a88cYbrFmz5vQjKvLy8li+fDl33XXX6SuQRPwU8h6Bd8y/P/AusBWY7ZzbbGZPmdmtXrOXgKpmlgP8DhjsrbsZmA1sAd4BHnLOnQg1k0i0ad26NY0bNwY43RfCVVddxbx583RTmvhOD50TiTDnHHPnzuUPf/gD2dnZtG7dmtGjR/OLX/zC72hSyumhcyJR4lRXmZs2bWLq1Kl8/vnnzJkzx+9YEsNUCER8UqZMGe699162b9/O008/DcAHH3xA165dyc7O9jmdxBIVAhGflS9fnosvvhiA3NxcFi5cSLNmzbj//vvZuXOnv+EkJqgQiESRXr16kZeXR//+/XnllVdo0KABI0aM8DuWlHIqBCJR5tJLL2X8+PFs27aNHj16cMEFFwBw8uRJDh486HM6KY1UCESiVJ06dXj55Zd57LHHAJg5cyb169dnwoQJHD161Od0UpqoEIiUEI0bN6Zp06YMGDCARo0a8corr3DihG67kdCpEIiUEC1btmTp0qW8++67VK1alV69etGlSxe/Y0kpEI5HTIhIhJgZN954I+3bt2fu3LlUqlQJgIMHD7Ju3Tquv/56nxNKSaQ9ApESKC4ujttvv/30Y68nT55Meno6HTp04KOPPvI5nZQ0KgQipUC/fv0YO3Ysa9eupWXLlnTr1o1t27b5HUtKCBUCkVKgQoUKPP744+Tl5fGHP/yBt956i379+vkdS0oIFQKRUuSiiy5ixIgR5Obm8sILLwCwc+dOBg0axP79+31OJ9FKhUCkFKpevTrJyckALF68mLFjx5KUlMTIkSN1U5r8hAqBSCnXu3dvNm7cyC9+8QuGDRtG/fr1mTRpkt+xJIqoEIjEgCuuuIJ//OMffPjhhzRu3Ji1a9eeXlYS+ySR8AqpEJjZJWa2yMy2e8MqBbRJMbOVZrbZzDaaWbegZf9rZp+a2XrvlRJKHhE5s7S0NDIyMk6fP1i3bh0pKSksWLBABSGGhbpHMBhY4pxLBpZ40/kdAu52zjUDOgDjzezioOVPOOdSvNf6EPOIyFmYGeXLlwfgu+++4/Dhw9x66620bduW5cuX+5xO/BBqIegETPfGpwOd8zdwzm1zzm33xj8H9gKJIX6uiIRBeno6mzdvZsqUKezYsYPrr7+ebt26nX1FKVVCLQTVnXO7vfE9QPUzNTaz1kACkBs0+2nvkNE4Myt3hnX7mFmmmWXu27cvxNgickrZsmW5//77ycnJYezYsVxzzTVA4NzBjh07/A0nEXHWzuvNbDFQo4BFQ4HpzrmLg9p+7Zz7yXkCb1lNIAPo5ZxbFTRvD4HiMAXIdc49dbbQ6rxepPjNmzePrl27cu+99/LHP/6Ryy67zO9IEqLz7rzeOdfeOXdFAa83gS+8L/NTX+p7C/nwysBbwNBTRcB7790u4CjwMtD6/H48EQm3tLQ0+vbty7Rp02jQoAGDBw/m66+/9juWFINQDw3NB3p5472AN/M3MLMEYB7winNuTr5lp4qIETi/sCnEPCISJjVq1GDChAlkZ2fTpUsXnnnmGdLT03V1USkUaiEYDfzSzLYD7b1pzCzVzKZ6bboC1wG9C7hM9O9mlgVkAdWAkSHmEZEwq1evHq+88gobNmzgL3/5C2bGkSNHmDp1KseOHfM7noTBWc8RRCOdIxDx18yZM+nZsyf16tVjxIgR9OjRg7g43Z8a7c77HIGISH7du3dn4cKFXHTRRdx5552kpKTwz3/+U4eNSigVAhEpMjOjY8eOrFu3jpkzZ3Lo0CFGjtSR3ZJKhUBEzltcXBzdu3dn69atzJkzBzNj7969dOnShQ0bNvgdT86RCoGIhKxs2bLUqlULgKysLJYsWUJKSgo9e/YkJyfH53RyNioEIhJW7dq1Iy8vjyFDhvCPf/yDJk2a0K9fP06ePOl3NCmECoGIhF2VKlX485//TG5uLn369OHbb789fVXRkSNHfE4n+akQiEixqVmzJs8//zx/+9vfANi8eTO1atVi9OjRHDp0yOd0cooKgYgUu8DDAyAhIYG0tDSGDBlCgwYNeOGFF/jhhx98TicqBCISMcnJySxYsIAVK1ZQv359+vXrR4sWLTh+/Ljf0WJaGb8DiEjsOdUJzttvv82nn35KmTJlcM7x4Ycf0qZNm9N7EBIZ2iMQEV+YGTfffDMPPfQQAEuXLqVt27Zcf/31/Otf//I5XWxRIRCRqPDzn/+cSZMmsX37dtq2bcstt9zCxo0b/Y4VE1QIRCQqJCQk8OCDD5KTk8OoUaP44IMP6NChg55wGgEqBCISVS688EIGDx5MXl4ec+fOJSEhgR9++IFhw4axe/fus7+BFJkKgYhEpSpVqpCWlgbA6tWrGT16NPXr1+f3v/8933zzjb/hSpmQCoGZXWJmi8xsuzcsrL/iE0Gd0swPml/PzFabWY6Zveb1ZiYi8iNt27Zl69atdO7cmVGjRlGvXj3GjBmjw0ZhEuoewWBgiXMuGVjiTRfksHMuxXvdGjR/DDDOOdcA+Bq4N8Q8IlJKNWjQgBkzZvDxxx/Tpk0bZsyYQZkyugI+HEItBJ2A6d74dAL9Dp8Tr5/iG4BT/RgXaX0RiU0pKSm89dZbrFixgri4OL755huuueYaZs2apQfbnadQC0F159ypszd7gOqFtCtvZplmtsrMOnvzqgLfOOdO3VK4E7i8sA8ysz7ee2Tu27cvxNgiUtJVrlwZgM8//5zDhw/To0cPWrZsydtvv62e0ororIXAzBab2aYCXp2C27nAli9s69fx+snsCYw3s/pFDeqcm+KcS3XOpSYmJhZ1dREppZo2bcr69et59dVX+fbbb7n55ptJT0/XQ+2K4KyFwDnX3jl3RQGvN4EvzKwmgDfcW8h77PKGeUAG0BzYD1xsZqcO8tUCdoX8E4lIzImLi+OOO+5g69atPP/88zRo0IALLrgAgC+++MLndNEv1END84Fe3ngv4M38DcysipmV88arAT8Dtnh7EMuALmdaX0TkXCUkJNCvXz9eeuklAHJzc6lTpw533303n376qc/poleohWA08Esz2w6096Yxs1Qzm+q1aQJkmtkGAl/8o51zW7xlg4DfmVkOgXMGL4WYR0TktEsuuYRHH32U119/nUaNGvHwww9rD6EAVhJPqqSmprrMzEy/Y4hICbFr1y5GjBjB1KlTqVSpEv/3f/9HpUqV/I4VcWa2zjtf+yO6s1hESr3LL7+cF198ka1btzJu3LjTReD111/n8OHDPqfznwqBiMSM5ORkevfuDUBWVhZdu3alQYMGTJkyJaZ7SlMhEJGYdOWVV5KRkUGdOnV44IEHaNasGbNnz47Jm9JUCEQkZp3qBGf+/PmUK1eOvn378t133/kdK+JUCEQkppkZt9xyC+vXr+eDDz7goosu4sSJE9x///2sXLnS73gRoUIgIgLEx8fTtGlTIHD/wYIFC2jTpg2dOnVi06ZNPqcrXioEIiL5NGzYkJycHEaOHElGRgZXXXUVd999d6ntB0GFQESkABUrVmTo0KHk5eXx+OOPs2HDBipWrAjA8ePHz7J2yaJCICJyBlWrVuWZZ57ho48+okyZMhw8eJDGjRszbNgwDhw44He8sFAhEBE5B/Hx8QB8//33pKamMnLkSJKSknj22WdL/E1pKgQiIkVQvXp1Zs2axbp162jVqhVPPPEEycnJ7Nmzx+9o502FQETkPLRo0YJ33nmHZcuWcfvtt1O9eqBfrqysrBJ3U5oKgYhICNLT0xk3bhxmxq5du2jVqhWtW7fmvffeKzE9pakQiIiESY0aNZgyZQpffvklN910E+3atWP16tV+xzorFQIRkTCJj4/n7rvvJjs7m+eee45NmzbRpk0bPvvsM7+jnZEKgYhImJUrV46HH36YvLw83njjDWrXrg3ApEmT2LFjh7/hChBSITCzS8xskZlt94ZVCmjzCzNbH/Q6YmadvWX/a2afBi1LCSWPiEg0qVixIp06dQJgz549PP744zRs2JBHHnmEvXsL7OLdF6HuEQwGljjnkoEl3vSPOOeWOedSnHMpwA3AIeC9oCZPnFrunFsfYh4RkahUo0YNsrOz6dWrFxMnTiQpKYk//vGPUfG001ALQSdgujc+Heh8lvZdgLedc4dC/FwRkRKndu3a/PWvf2XLli3cfPPNjB8/niNHjvgdK+RCUN05t9sb3wNUP0v77sDMfPOeNrONZjbOzMoVtqKZ9TGzTDPL3LdvXwiRRUT81ahRI2bPnk1OTg6JiYk457jtttt46aWXfHmO0VkLgZktNrNNBbw6BbdzgQtmC71o1sxqAlcC7wbNHgI0BloBlwCDClvfOTfFOZfqnEtNTEw8W2wRkah36aWXArB//3527drFfffdxxVXXMHcuXMjeg/CWQuBc669c+6KAl5vAl94X/CnvujPdPajKzDPOXe6Y1Dn3G4XcBR4GWgd2o8jIlLyVKtWjZUrVzJv3jzi4uLo0qULrVu3jtgVRqEeGpoP9PLGewFvnqFtD/IdFgoqIkbg/ELp7v1BRKQQZkbnzp3Jysri5ZdfpkKFCtSsWROg2J9yGmohGA380sy2A+29acws1cymnmpkZnWB2sD7+db/u5llAVlANWBkiHlEREq0+Ph4evfuzfLlyylXrhxHjhzhqquu4rbbbmPr1q3F8pkhFQLn3H7nXDvnXLJ3COkrb36mc+6+oHY7nHOXO+dO5lv/Bufcld6hpjudcwdDySMiUto457jvvvtYtGgRc+bMKZbPsJLyUKRgqampLjMz0+8YIiIR8+WXX1K+fPnTvaSdDzNb55xLzT+/TEjJREQkIqpVq1Zs761nDYmIxDgVAhGRGKdCICIS41QIRERinAqBiEiMUyEQEYlxKgQiIjFOhUBEJMapEIiIxDgVAhGRGKdCICIS41QIRERinAqBiEiMUyEQEYlxIRUCM7vdzDab2Ukz+8kzroPadTCzbDPLMbPBQfPrmdlqb/5rZpYQSh4RESm6UPcINgG/AZYX1sDM4oHngY5AU6CHmTX1Fo8BxjnnGgBfA/eGmEdESoiVK2HUqMBQ/BVSxzTOua0Q6HT5DFoDOc65PK/tLKCTmW0FbgB6eu2mA08CL4SSSUSi38qV0K4dHDsGCQmwZAmkpfmdKnZF4hzB5cBnQdM7vXlVgW+cc8fzzS+QmfUxs0wzy9y3b1+xhRWR4peRESgCJ04EhhkZfieKbWctBGa22Mw2FfDqFImApzjnpjjnUp1zqYmJiZH8aBEJs/T0wJ5AfHxgmJ7ud6LYdtZDQ8659iF+xi6gdtB0LW/efuBiMyvj7RWcmi8ipVxaWuBwUEZGoAjosJC/ItF5/Vog2czqEfii7w70dM45M1sGdAFmAb2ANyOQR0SiQFqaCkC0CPXy0f80s51AGvCWmb3rzb/MzBYCeH/t9wfeBbYCs51zm723GAT8zsxyCJwzeCmUPCIiUnTmnPM7Q5Glpqa6zMxMv2OIiJQoZrbOOfeTe750Z7GISIxTIRARiXEqBCIiMU6FQEQkxpXIk8Vmtg/493muXg34MoxxwkW5ika5ika5iqa05qrjnPvJHbklshCEwswyCzpr7jflKhrlKhrlKppYy6VDQyIiMU6FQEQkxsViIZjid4BCKFfRKFfRKFfRxFSumDtHICIiPxaLewQiIhJEhUBEJMaV+kJgZmPN7BMz22hm88zs4kLadTCzbDPLMbPBEch1u5ltNrOTZlbo5WBmtsPMssxsvZkV+5P2ipAr0tvrEjNbZGbbvWGVQtqd8LbVejObX4x5zvjzm1k5M3vNW77azOoWV5Yi5uptZvuCttF9Eco1zcz2mtmmQpabmT3n5d5oZi2iIFO6mR0I2lZ/LO5M3ufWNrNlZrbF+7/4SAFtwru9nHOl+gXcCJTxxscAYwpoEw/kAklAArABaFrMuZoAjYAMIPUM7XYA1SK4vc6ay6ft9Qww2BsfXNC/o7fsYAS20Vl/fqAf8KI33h14LUpy9QYmRur3KehzrwNaAJsKWX4z8DZgwLXA6ijIlA7804dtVRNo4Y1XArYV8O8Y1u1V6vcInHPvuf/fL/IqAj2h5dcayHHO5TnnjhHoKKdYu+J0zm11zmUX52ecj3PMFfHt5b3/dG98OtC5mD/vTM7l5w/OOwdoZ2YWBbl84ZxbDnx1hiadgFdcwCoCvRfW9DmTL5xzu51zH3nj3xHoxyV/f+5h3V6lvhDkcw+BKprf5cBnQdM7+emG94sD3jOzdWbWx+8wHj+2V3Xn3G5vfA9QvZB25c0s08xWmVnnYspyLj//6TbeHyIHCHS+VJzO9d/lNu9wwhwzq13Acj9E6//BNDPbYGZvm1mzSH+4d0ixObA636Kwbq9IdFVZ7MxsMVCjgEVDnXNvem2GAseBv0dTrnPQ1jm3y8wuBRaZ2SfeXzJ+5wq7M+UKnnDOOTMr7LrnOt72SgKWmlmWcy433FlLsAXATOfcUTN7gMBeyw0+Z4pWHxH4fTpoZjcD/wCSI/XhZlYRmAs86pz7tjg/q1QUAudc+zMtN7PewK+Bds47wJbPLiD4L6Na3rxizXWO77HLG+41s3kEdv9DKgRhyBXx7WVmX5hZTefcbm8XeG8h73Fqe+WZWQaBv6bCXQjO5ec/1WanmZUBLgL2hzlHkXM554IzTCVw7iUaFMvvVCiCv3ydcwvNbJKZVXPOFfvD6MysLIEi8Hfn3BsFNAnr9ir1h4bMrAMwELjVOXeokGZrgWQzq2dmCQRO7hXbFSfnyswuNLNKp8YJnPgu8AqHCPNje80HennjvYCf7LmYWRUzK+eNVwN+Bmwphizn8vMH5+0CLC3kj5CI5sp3HPlWAsefo8F84G7vaphrgQNBhwJ9YWY1Tp3XMbPWBL4vi7uY433mS8BW59x/F9IsvNsr0mfEI/0CcggcS1vvvU5dyXEZsDCo3c0Ezs7nEjhEUty5/pPAcb2jwBfAu/lzEbj6Y4P32hwtuXzaXlWBJcB2YDFwiTc/FZjqjbcBsrztlQXcW4x5fvLzA08R+IMDoDzwuvf7twZIKu5tdI65Rnm/SxuAZUDjCOWaCewGfvB+v+4F+gJ9veUGPO/lzuIMV9JFMFP/oG21CmgToW3VlsC5wY1B31s3F+f20iMmRERiXKk/NCQiImemQiAiEuNUCEREYpwKgYhIjFMhEBGJcSoEIiIxToVARCTG/T+7oKGgOv7sWgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 10\n", "Loss = 0.612819\n", "[-0.01504407 1.5836841 3.85385851]\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAD4CAYAAADhNOGaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAnY0lEQVR4nO3deXgV9dn/8fdNSNi0QgUpIoKEoAH8FWLEUoWCWAUUwbYqEVp8VFDRahFRLCISaXGXYnnkoYCiRZairZRNZIlWH0CCC7skpEWCC0gVrCjr/fvjDDzHmLCdk0yS83ld17lmzsx3znwyhHNn5juLuTsiIpK4qoQdQEREwqVCICKS4FQIREQSnAqBiEiCUyEQEUlwVcMOcCLq1q3rTZo0CTuGiEiFsnLlys/cvV7R6RWyEDRp0oTc3NywY4iIVChmtrm46To0JCKS4FQIREQSnAqBiEiCUyEQEUlwKgQiIgkuLoXAzCaZ2TYzW1PCfDOzMWaWb2arzCwjal5fM8sLXn3jkUdERI5dvPYIngO6HGF+VyAtePUHngEws+8Dw4ELgLbAcDOrE6dMIlKeLV0Ko0ZFhhKquFxH4O5vmFmTIzTpATzvkXteLzOz2mbWAOgIvObu/wYws9eIFJSp8cglIuXU0qXQuTPs3QspKbBoEbRrF3aqhFVWfQQNgS1R7wuDaSVN/w4z629muWaWu3379lILKiJlICcnUgQOHIgMc3LCTpTQKkxnsbuPd/dMd8+sV+87V0iLSEXSsWNkTyApKTLs2DHsRAmtrG4xsRVoFPX+jGDaViKHh6Kn55RRJhEJS7t2kcNBOTmRIqDDQqEqq0IwC7jdzKYR6Rje6e4fm9mrwO+jOogvBe4ro0wiEqZ27VQAyom4FAIzm0rkL/u6ZlZI5EygZAB3HwfMBboB+cBu4L+Cef82s4eAFcFHZR/qOBYRkbIRr7OGso4y34HbSpg3CZgUjxwiInL8KkxnsYiIlA4VAhGRBKdCICKS4FQIREQSnAqBiEiCUyEQEUlwKgQiIglOhUBEJMGpEIiIJDgVAhGRBJdwheDLL78MO4KISLmSUIVg586dNGvWjJtuuoktW7YcfQERkQSQUIXA3bnuuut44YUXSEtLY/DgwezYsSPsWCIioUqoQlC7dm2eeuopNm7cSK9evXjiiSdITU1l69atYUcTEQlNQhWCQxo3bsxzzz3HqlWruPvuu2nYMPKY5DfffJN9+/aFnE5EpGwlZCE4pFWrVtx///0AFBYWcvHFF9OiRQumT5/OwYMHQ04nIlI24lIIzKyLmX1gZvlmNqSY+U+Z2XvBa6OZfRE170DUvFnxyHMiGjZsyF//+ldq1KhBr169OP/881mwYAGRZ+qIiFReFusXnZklARuBnwKFRB47meXu60po/2ugjbvfELz/j7ufdDzrzMzM9Nzc3Jhyl+TAgQNMnTqVYcOGUVhYSEFBAY0aNSqVdYmIlCUzW+numUWnx2OPoC2Q7+4F7r4XmAb0OEL7LGBqHNZbKpKSkujTpw8bNmxgwYIFh4vAo48+yoYNG0JOJyISf/EoBA2B6JPyC4Np32FmjYGzgMVRk6ubWa6ZLTOzniWtxMz6B+1yt2/fHofYR1atWjU6deoEwMcff8xDDz1Eq1at6NevH4WFhaW+fhGRslLWncW9gJnufiBqWuNgV+U6YLSZpRa3oLuPd/dMd8+sV69eWWQ9rEGDBmzatInbbruNyZMnk5aWxj333MPOnTvLNIeISGmIRyHYCkQfRD8jmFacXhQ5LOTuW4NhAZADtIlDprg77bTT+MMf/sDGjRu5+uqrmThxos4sEpFKIR6FYAWQZmZnmVkKkS/775z9Y2bnAHWApVHT6phZtWC8LnAhUGwnc3nRpEkTnn/+eTZt2kSdOnU4ePAg3bp1Y9y4cboGQUQqpJgLgbvvB24HXgXWAzPcfa2ZZZvZlVFNewHT/NunKaUDuWb2PrAEeLiks43Km9q1awOwY8cOdu3axa233krLli2ZMWOG9hREpEKJ+fTRMJTm6aMnwt2ZPXs29913H2vXruW8887j5Zdf5swzzww7mojIYaV5+mjCMzO6d+/O+++/z+TJk6lduzYNGjQA4Isvvgg3nIjIUagQxFFSUhK/+tWvWLhwIcnJyXz11Ve0aNGCa665ho0bN4YdT0SkWCoEpaxfv37MnTuXFi1acPPNN/PRRx+FHUlE5FtUCEpRrVq1GDFiBJs2bWLAgAE8++yzNGvWjLy8vLCjiYgcpkJQBurXr8+YMWPYsGEDv/3tb2nWrBkAr7/+Ort37w45nYgkOhWCMtS0aVPuv/9+zIwdO3bQtWtX0tLS+NOf/sT+/fvDjiciCUqFICSnnnoq8+fPp3HjxvTv35+WLVsyc+ZM3fZaRMqcCkGIOnTowFtvvcXf/vY3qlatqrOLRCQUKgQhMzN69OjBqlWryMnJ4eyzzwYit71euXJlyOlEJBGoEJQTSUlJdOjQAYDPP/+cxx57jMzMTK699lrtJYhIqVIhKIfq1KlDfn4+w4YNY86cObRo0YJbbrmFsngOg4gkHhWCcuqUU04hOzubTZs2ccstt+hmdiJSalQIyrn69evzxz/+kc2bN1O/fn3cne7du/PYY4/x9ddfhx1PRCoBFYIK4uSTTwbgyy+/ZP/+/dxzzz00b96ciRMn6hoEEYmJCkEF873vfY958+axZMkSGjZsyE033cS5556rDmUROWEqBBVUx44dWbp0KS+//DKNGjWiUaPI00I/++yzkJOJSEUTl0JgZl3M7AMzyzezIcXMv97MtpvZe8Hrpqh5fc0sL3j1jUeeRGFmXHXVVSxYsIAaNWqwZ88eMjMz6dKlC++++27Y8USkgoi5EJhZEjAW6Aq0ALLMrEUxTae7e+vgNSFY9vvAcOACoC0w3MzqxJopkf36179mxYoVZGRkkJWVRX5+ftiRRKSci8ceQVsg390L3H0vMA3ocYzLXga85u7/dvfPgdeALnHIlJCqVavGoEGDKCgoYOjQocyaNYv09HTtHYjIEcWjEDQEtkS9LwymFfVzM1tlZjPNrNFxLouZ9TezXDPL1YVVR3bKKacwcuRI8vPzyc7OpnXr1gDk5OSwc+fOcMOJSLlTVp3FfweauPv/I/JX/+Tj/QB3H+/ume6eWa9evbgHrIwaNGjAfffdh5nx1Vdf0bNnT1JTU3nyySf55ptvwo4nIuVEPArBVqBR1PszgmmHufsOd98TvJ0AnHesy0p81KpViyVLlpCZmcmgQYNo3rw5zz77rK5BEJG4FIIVQJqZnWVmKUAvYFZ0AzNrEPX2SmB9MP4qcKmZ1Qk6iS8NpkkpaNOmDfPnz2fx4sU0aNCAG264gVWrVoUdS0RCFnMhcPf9wO1EvsDXAzPcfa2ZZZvZlUGzO8xsrZm9D9wBXB8s+2/gISLFZAWQHUyTUtSpUyeWLVvG0qVLycjIAOCxxx7j9ddfDzmZiITBKuITsTIzMz03NzfsGJXG7t27SU9P58MPP6RLly6MGjXqcAeziFQeZrbS3TOLTteVxULNmjXZsGEDjz76KMuXL6dNmzb07t2bwsLCsKOJSBlQIRAAatSoweDBgykoKGDIkCHMmzfv8POTK+Jeo4gcOxUC+ZbatWszatQoCgsLadSoEe5Oz549GTZsmK5BEKmkVAikWDVr1gTgm2++oXr16owcOVLXIIhUUioEckQ1atRg+vTp5ObmkpGRcfgahPfeey/saCISJyoEckzOO+88FixYwMKFCzn33HNp1qwZAJ9++qn6EEQqOBUCOS6dO3dmzpw5nHTSSezfv5+f/OQnXHTRRfzjH/8IO5qInCAVAonJoEGD+Ne//kWHDh244oordKWySAWkQiAnrGrVqvTr14+8vDweeeQR3nrrLVq3bq29A5EKRoVAYlazZk3uueceCgoKePTRR/nxj38MwOLFi9m2bVvI6UTkaFQIJG7q1KnD3XffTVJSEnv37iUrK4umTZsyfPhwdu3aFXY8ESmBCoGUipSUFN544w26detGdnY2qampjB49mj179hx9YREpUyoEUmrOPvtsZsyYwdtvv80Pf/hDBg4cyNtvvx12LBEpQoVASt3555/PwoULyc3NpX379gA88cQTzJo1S9cgiJQDKgRSZs47L/Jgun379vHss8/So0cP2rdvz5tvvhlyMpHEFpdCYGZdzOwDM8s3syHFzL/LzNYFD69fZGaNo+YdMLP3gtesostK5ZOcnMy7777LuHHjKCgooH379nTv3p38/Pywo4kkpJgLgZklAWOBrkALIMvMWhRp9i6QGTy8fibwaNS8r929dfC6EkkIycnJ3HzzzeTn5zNq1CiWL19+eF6FPVy0dCmMGhUZilQg8dgjaAvku3uBu+8FpgE9ohu4+xJ33x28XUbkIfUi1KxZkyFDhrBly5bD9y+65ppr+M1vfsP27dtDTnccli6Fzp1h2LDIUMVAKpB4FIKGwJao94XBtJLcCMyLel/dzHLNbJmZ9SxpITPrH7TLrVBfEHJMqlWrBsD+/fupU6cOf/zjH2natCkjRozgyy+/DDndMcjJgb174cCByDAnJ+xEIsesTDuLzawPkAk8FjW5cfAMzeuA0WaWWtyy7j7e3TPdPbNevXplkFbCULVqVcaPH8+aNWu47LLLePDBB0lNTeWtt94KO9qRdewIKSmQlBQZduwYdiKRYxaPQrAVaBT1/oxg2reY2SXAUOBKdz98VZG7bw2GBUAO0CYOmaSCO+ecc5g5cyZvv/02F154IS1aRLqdPvroIw4cOBBy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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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weDBgykoKGDIkCHMmzfv8POTK+Jeo4gcOxUC+ZbatWszatQoCgsLadSoEe5Oz549GTZsmK5BEKmkVAikWDVr1gTgm2++oXr16owcOVLXIIhUUioEckQ1atRg+vTp5ObmkpGRcfgahPfeey/saCISJyoEckzOO+88FixYwMKFCzn33HNp1qwZAJ9++qn6EEQqOBUCOS6dO3dmzpw5nHTSSezfv5+f/OQnXHTRRfzjH/8IO5qInCAVAonJoEGD+Ne//kWHDh244oordKWySAWkQiAnrGrVqvTr14+8vDweeeQR3nrrLVq3bq29A5EKRoVAYlazZk3uueceCgoKePTRR/nxj38MwOLFi9m2bVvI6UTkaFQIJG7q1KnD3XffTVJSEnv37iUrK4umTZsyfPhwdu3aFXY8ESmBCoGUipSUFN544w26detGdnY2qampjB49mj179hx9YREpUyoEUmrOPvtsZsyYwdtvv80Pf/hDBg4cyNtvvx12LBEpQoVASt3555/PwoULyc3NpX379gA88cQTzJo1S9cgiJQDKgRSZs47L/Jgun379vHss8/So0cP2rdvz5tvvhlyMpHEFpdCYGZdzOwDM8s3syHFzL/LzNYFD69fZGaNo+YdMLP3gtesostK5ZOcnMy7777LuHHjKCgooH379nTv3p38/Pywo4kkpJgLgZklAWOBrkALIMvMWhRp9i6QGTy8fibwaNS8r929dfC6EkkIycnJ3HzzzeTn5zNq1CiWL19+eF6FPVy0dCmMGhUZilQg8dgjaAvku3uBu+8FpgE9ohu4+xJ33x28XUbkIfUi1KxZkyFDhrBly5bD9y+65ppr+M1vfsP27dtDTnccli6Fzp1h2LDIUMVAKpB4FIKGwJao94XBtJLcCMyLel/dzHLNbJmZ9SxpITPrH7TLrVBfEHJMqlWrBsD+/fupU6cOf/zjH2natCkjRozgyy+/DDndMcjJgb174cCByDAnJ+xEIsesTDuLzawPkAk8FjW5cfAMzeuA0WaWWtyy7j7e3TPdPbNevXplkFbCULVqVcaPH8+aNWu47LLLePDBB0lNTeWtt94KO9qRdewIKSmQlBQZduwYdiKRYxaPQrAVaBT1/oxg2reY2SXAUOBKdz98VZG7bw2GBUAO0CYOmaSCO+ecc5g5cyZvv/02F154IS1aRLqdPvroIw4cOBBy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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Initialize all weights to 0 (including the bias)\n", "w = np.zeros(num_features + 1)\n", "\n", "# Learning rate.\n", "eta = 1\n", " \n", "# Run 1 epoch of gradient descent.\n", "for epoch in range(10):\n", " print(\"Epoch %d\" % (epoch + 1))\n", " logistic_regression_gd_epoch(inputs, labels, w, eta)\n", " evaluate_loss(inputs, labels, w)\n", " print(w)\n", " plot_separation_line(inputs, labels, w)\n", " \n", "plot_separation_line(inputs, labels, w)" ] }, { "cell_type": "code", "execution_count": 24, "id": "unable-slide", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1\n", "Loss = 1.745036\n", "[-0.24882603 0.12871464 1.15637038]\n" ] }, { "data": { "image/png": "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X7BkyZLcyXQNDQ1MnDiRF198EYCzzjqLTZs2tTqiadKkSbkLAprZgXVZEEgqA1YB5wDryd5t7JKIeC2vz1nA7yNil6SrgGkRcVEybWdEDOjMezoIDn0RwY4dOxg0aBAAt912G8uWLcuFxHvvvcff//3fU1OTvSvqueeey4ABA1oFxfHHH9/q8Nout2QJ1NbCtGkwdWr3va/ZQerKo4amAA0RsSZ5o0eBWUAuCCLiubz+zwP/WIT3tUOYpFwIANx888254b1797J+/Xqamppy4/3792flypU89dRTufarrrqK733ve+zZs4fPfvazuYv8tTw+/OEPF29z05IlMH06NDVBeTksXuwwsF6jGEEwCliXN74e2N/6+hXAr/LGKyTVkd1sdEdELGxvJklzgDmAbyuZcocddlirv4HDDjuMhQsXAtDc3MzatWupr69n+PDhALzzzju8+OKLPP744+zZsyc335133slXvvIVGhsb+e53v9sqJI466qjOhURtbTYEmpuzz7W1DgLrNbr1EA1J/whUA3+X1zw2IjZIGg88K+mViFjddt6ImA/Mh+ymoW4p2HqdsrIyxo0bx7hx43JtI0aMYNWqVezZs4c333wzt7O65TLiDQ0N3H777ezduzc3z6BBg3j44YeZOXMma9eu5Xe/+10uJFruaNfKtGnZNYGWNYJp07r4k5oVTzGCYAMwJm98dNLWiqSzgZuBv4uI91vaI2JD8rxGUi1wCrBPEJgVqk+fPlRWVlJZWcl5552Xa586dSq7d+/mjTfeaHVUU0uY/OY3v+HSSy/N9T/qqKPIZDI88MADVFVVsW7dOhr79SNTU8ORS5d6H4H1OsUIgqVARtI4sgFwMfCZ/A6STgF+AMyIiM157YOBXRHxvqShwBnAXUWoyaxTysvLqaqqoqqqap9pF154IZMnT97nHImBAwcCsGDBgtw+jOHDh1P51FNkMhnmzZvHwIED2bJlCxUVFb5uk/VYBQdBROyRdDXwNNnDR++LiFcl3QLURUQN8C1gAPCzZLtry2GixwE/kLQXOIzsPoLX2n0jsxLp168fxx9/fIeX8/7sZz9LVVVVq0tzPPvss7kv/n/5l3/h+9//PiNHjsxtXqqqquL6669HUqtLjZuVgk8oM+tiv/3tb/mv//qvVmsTFRUVvPXWWwDMmjWLF154odXO6pNPPplzzz23xJXbocYXnTMrkTPPPJMzzzyzVdvu3btzwzNnzmTgwIHU19fz2GOPsWXLFs4444xcEHziE5+gqampVVCceOKJjB07tls/hx26vEZg1sNs27aN7du353ZWz5kzh+XLl7Nq1Sp27NgBwMUXX8wjjzwCwKc//WlGjBjBxIkTc0ExduxYX7fJ9uE1ArNeYvDgwa0OUZ0/fz6QPdv6nXfeob6+nv79+wPZNYvVq1fzn//5n+zcuTM3z/XXX8+3vvUtdu3axc0339xqbWLMmDGUlZV174eyHs1BYNZLSGLYsGGtLptx+OGH88ILLxARbNq0KbcP4sQTTwRg/fr1zJ8/n127duXmKS8vZ/78+cyePZtNmzaxcOHCXEiMGjXKO65TyEFgdgiQxIgRIxgxYkTuRDmAiRMnsnPnTt5+++1WO6tbgqKuro4vfOELuf4VFRVUVlbywx/+kI9+9KNs2LCBhoYGMpkMI0eO9BVgD1EOArNDnCRGjRrFqFGjmNbmjOfzzjuPt956a59zJIYMGQJkrwp71VVXAXDEEUdQWVlJJpPhO9/5Dh/5yEdobGxk7969xb1uk3U7B4FZirVct+noo49m+vTp+0z/5Cc/yfjx41uFxEsvvZTbRzFv3jxuv/12jjzyyFb7Ib72ta/Rr18/mpqafEe6XsBHDZnZB/biiy/yu9/9rlVQbNmyhW3btiGJyy67jJqamtyaRMvlwS+88MJSl55KvkOZmXWLPXv25A5d/elPf0ptbW0uJNauXUtVVRUrV64Esoe+rl+/fp9zJFr2YVhx+fBRM+sW+ecvXHjhha1+/b/33ns0NjbmxidOnMiWLVt47rnnWLBgAQDnnHMOv/71rwG45JJLqKioaBUUmUzG120qMgeBmXWbiooKxoz5n4sV33bbbbnhXbt2sXr1apqbm4HseRONjY289tprPPDAA7l+n/vc57j33nvZu3cvX/ziFxk3blzuZLoJEyZw+OGHd9vnOVQ4CMysR+jfvz8nnXRSblwSzzzzDAA7d+7MXdRv9OjRAGzdupUnnniCzZs3t3qdu+66ixtuuIEdO3bwwx/+MLcWMWHCBPr169d9H6gXcRCYWY83YMAAJk2axKRJk3JtQ4cOZdOmTezYsYOGhgZWrVpFfX09p59+OgCvv/46N9xwQ65/yxFSd999NzNnzmTTpk3U1dWRyWQYN24cffv27e6P1WM4CMysVxs4cCCTJ09m8uTJrdqnTJnCli1b9jlHYsSIEUD2qrAt+y/Kyso45phjyGQyzJ07l2OPPZbGxkbefffdVFy36dD+dGaWakOGDOG0007jtNP2vY36jBkz+O///u99gqKiogLI3nDon//5n+nbty/jxo3LbWL6+te/zqBBg/jLX/5CRUXFIXHdJh8+ambWjvr6+n3OkVizZg2NjY1UVFRw3XXXcffddzNhwoRcSFRWVvL5z3++x55l3aWHj0qaAXyH7B3K7omIO9pM7wc8BEwGtgAXRcSbybSvAlcAzcA/RcTTxajJzKwQLV/u+SIi9yU/Y8YM+vTpkwuJp59+mg996EO5azfNnj17nxsOnXDCCUztgfezLjgIJJUBdwPnAOuBpZJq2txy8gpgW0RUSroYuBO4SNLxZO9xfALwEeAZSRMjornQuqxwS5ZAba3vxW7WIv+X/rnnntvqLnJ79+5tdY7EKaecwrZt21i5ciVPPfUUTU1NnHrqqSxbtgzIBsWuXbtaBUVVVVWrq8t2l2KsEUwBGiJiDYCkR4FZQH4QzAK+kQz/HPh3ZZfoLODRiHgfeENSQ/J6S4pQlxVgyRKYPh2amqC8HBYvdhiY7c9hhx3G8OHDc+PXXHMN11xzDQDNzc2sXbuWP//5z7npzc3NvPTSSyxcuJA9e/YA2duWLly4EICrrrqKoUOH5kJi4sSJHHXUUV1SezGCYBSwLm98PdB2z0yuT3Kz+x3AUUn7823mHdXem0iaA8wBOProo4tQtu1PbW02BJqbs8+1tQ4Csw+qrKwsd8e5Fj/60Y8A+Otf/5q7AuyRRx4JQFNTE4sWLeKNN95g7969uXnmzZvHl7/85aLX12uOGoqI+cB8yO4sLnE5h7xp07JrAi1rBG2uXmxmRdK3b18qKyuprKzMtZWXl9PQ0EBTUxNvvPFGbj9E28uIF0sxgmADMCZvfHTS1l6f9ZL6AAPJ7jQ+mHmtBKZOzW4O8j4Cs9IpLy+nqqqKqqqqLn2fYgTBUiAjaRzZL/GLgc+06VMDzCa77f9TwLMREZJqgB9L+jeyO4szwB+KUJMVwdSpDgCzNCg4CJJt/lcDT5M9fPS+iHhV0i1AXUTUAPcCC5KdwVvJhgVJv5+S3bG8B/iSjxgyM+tePqHMzCwlOjqh7LBSFGNmZj2Hg8DMLOUcBGZmKecgMDNLOQeBmVnKOQjMzFLOQWBmlnIOAjOzlHMQmJmlnIPAzCzlHARmZinnIDAzSzkHgZlZyjkIzMxSzkFgZpZyDgIzs5QrKAgkDZG0SFJ98jy4nT6TJC2R9KqklyVdlDftAUlvSFqePCYVUo+ZmXVeoWsENwGLIyIDLE7G29oFXBoRJwAzgHmSBuVNvyEiJiWP5QXWY2ZmnVRoEMwCHkyGHwQuaNshIlZFRH0y/DawGRhW4PuamVmRFBoEwyNiYzL8J2D4/jpLmgKUA6vzmm9LNhnNldRvP/POkVQnqa6xsbHAss3MrMUBg0DSM5JWtPOYld8vIgKI/bzOSGABcHlE7E2avwocC/wNMAS4saP5I2J+RFRHRPWwYV6hMDMrlj4H6hARZ3c0TdImSSMjYmPyRb+5g34fAp4Cbo6I5/Neu2Vt4n1J9wPXd6p6MzMrWKGbhmqA2cnwbODJth0klQNPAA9FxM/bTBuZPIvs/oUVBdZjZmadVGgQ3AGcI6keODsZR1K1pHuSPhcCZwKXtXOY6MOSXgFeAYYC/1pgPWZm1knKbtrvXaqrq6Ourq7UZZiZ9SqSlkVEddt2n1lsZpZyDgIzs5RzEJiZpZyDwMws5RwEZmYp5yAwM0s5B4GZWco5CMzMUs5BYGaWcg4CM7OUcxCYmaWcg8DMLOUcBGZmKecgMDNLOQeBmVnKFRQEkoZIWiSpPnke3EG/5ryb0tTktY+T9HtJDZJ+ktzNzMzMulGhawQ3AYsjIgMsTsbbszsiJiWP8/Pa7wTmRkQlsA24osB6zMyskwoNglnAg8nwg2TvO3xQkvsUfxxouY9xp+Y3M7PiKDQIhkfExmT4T8DwDvpVSKqT9LykC5K2o4DtEbEnGV8PjOrojSTNSV6jrrGxscCyzcysRZ8DdZD0DDCinUk3549EREjq6AbIYyNig6TxwLPJDet3dKbQiJgPzIfsPYs7M6+ZmXXsgEEQEWd3NE3SJkkjI2KjpJHA5g5eY0PyvEZSLXAK8BgwSFKfZK1gNLDhA3wGMzMrQKGbhmqA2cnwbODJth0kDZbULxkeCpwBvBYRATwHfGp/85uZWdcqNAjuAM6RVA+cnYwjqVrSPUmf44A6SS+R/eK/IyJeS6bdCFwnqYHsPoN7C6zHzMw6Sdkf5r1LdXV11NXVlboMM7NeRdKyiKhu2+4zi83MUs5BYGaWcg4CM7OUcxCYmaWcg8DMLOUcBGZmKecgMDNLOQeBmVnKOQjMzFLOQWBmlnIOAjOzlHMQmJmlnIPAzCzlHARmZinnIDAzSzkHgZlZyhUUBJKGSFokqT55HtxOn7MkLc97vCfpgmTaA5LeyJs2qZB6zMys8wpdI7gJWBwRGWBxMt5KRDwXEZMiYhLwcWAX8Ou8Lje0TI+I5QXWY2ZmnVRoEMwCHkyGHwQuOED/TwG/iohdBb6vmZkVSaFBMDwiNibDfwKGH6D/xcAjbdpuk/SypLmS+nU0o6Q5kuok1TU2NhZQspmZ5TtgEEh6RtKKdh6z8vtFRACxn9cZCZwEPJ3X/FXgWOBvgCHAjR3NHxHzI6I6IqqHDRt2oLLNzOwg9TlQh4g4u6NpkjZJGhkRG5Mv+s37eakLgSci4q95r92yNvG+pPuB6w+ybjMzK5JCNw3VALOT4dnAk/vpewltNgsl4YEkkd2/sKLAeszMrJMKDYI7gHMk1QNnJ+NIqpZ0T0snSccAY4DftJn/YUmvAK8AQ4F/LbAeMzPrpANuGtqfiNgCTG+nvQ64Mm/8TWBUO/0+Xsj7m5lZ4XxmsZlZyjkIzMxSzkFgZpZyDgIzs5RzEJiZpZyDwMws5RwEZmYp5yAwM0s5B4GZWco5CMzMUs5BYGaWcg4CM7OUcxCYmaWcg8DMLOUcBGZmKecgMDNLuYKCQNKnJb0qaa+k6v30myHpdUkNkm7Kax8n6fdJ+08klRdSj5mZdV6hawQrgP8N/LajDpLKgLuB84DjgUskHZ9MvhOYGxGVwDbgigLrMbNeYskS+OY3s89WWoXeqnIlQPbe8x2aAjRExJqk76PALEkrgY8Dn0n6PQh8A/h+ITWZWc+3ZAlMnw5NTVBeDosXw9Sppa4qvbpjH8EoYF3e+Pqk7Shge0TsadPeLklzJNVJqmtsbOyyYs2s69XWZkOguTn7XFtb6orS7YBBIOkZSSvaeczqjgJbRMT8iKiOiOphw4Z151ubWZFNm5ZdEygryz5Pm1bqitLtgJuGIuLsAt9jAzAmb3x00rYFGCSpT7JW0NJuZoe4qVOzm4Nqa7Mh4M1CpVXQPoKDtBTISBpH9ov+YuAzERGSngM+BTwKzAae7IZ6zKwHmDrVAdBTFHr46D9IWg9MBZ6S9HTS/hFJvwRIfu1fDTwNrAR+GhGvJi9xI3CdpAay+wzuLaQeMzPrPEVEqWvotOrq6qirqyt1GWZmvYqkZRGxzzlfPrPYzCzlHARmZinnIDAzSzkHgZlZyvXKncWSGoG3PuDsQ4F3ilhOsbiuznFdneO6OudQrWtsROxzRm6vDIJCSKprb695qbmuznFdneO6OidtdXnTkJlZyjkIzMxSLo1BML/UBXTAdXWO6+oc19U5qaordfsIzMystTSuEZiZWR4HgZlZyh3yQSDpW5L+KOllSU9IGtRBvxmSXpfUIOmmbqjr05JelbRXUoeHg0l6U9IrkpZL6vIr7XWiru5eXkMkLZJUnzwP7qBfc7Kslkuq6cJ69vv5JfWT9JNk+u8lHdNVtXSyrsskNeYtoyu7qa77JG2WtKKD6ZL03aTulyWd2gNqmiZpR96y+r9dXVPyvmMkPSfpteT/4pfb6VPc5RURh/QDOBfokwzfCdzZTp8yYDUwHigHXgKO7+K6jgOqgFqgej/93gSGduPyOmBdJVpedwE3JcM3tffvmEzb2Q3L6ICfH/gi8B/J8MXAT3pIXZcB/95df09573smcCqwooPpM4FfAQI+Cvy+B9Q0Dfh/JVhWI4FTk+EjgVXt/DsWdXkd8msEEfHr+J/7Ij9P9k5obU0BGiJiTUQ0kb1RTpfeijMiVkbE6135Hh/EQdbV7csref0Hk+EHgQu6+P3252A+f369PwemS1IPqKskIuK3wNb9dJkFPBRZz5O9e+HIEtdUEhGxMSJeSIb/TPY+Lm3v517U5XXIB0EbnyObom2NAtblja9n3wVfKgH8WtIySXNKXUyiFMtreERsTIb/BAzvoF+FpDpJz0u6oItqOZjPn+uT/BDZQfbmS13pYP9dPplsTvi5pDHtTC+Fnvp/cKqklyT9StIJ3f3mySbFU4Dft5lU1OXVHbeq7HKSngFGtDPp5oh4MulzM7AHeLgn1XUQPhYRGyR9GFgk6Y/JL5lS11V0+6srfyQiQlJHxz2PTZbXeOBZSa9ExOpi19qL/QJ4JCLel/R5smstHy9xTT3VC2T/nnZKmgksBDLd9eaSBgCPAddExLtd+V6HRBBExNn7my7pMuATwPRINrC1sQHI/2U0Omnr0roO8jU2JM+bJT1BdvW/oCAoQl3dvrwkbZI0MiI2JqvAmzt4jZbltUZSLdlfU8UOgoP5/C191kvqAwwEthS5jk7XFRH5NdxDdt9LT9Alf1OFyP/yjYhfSvqepKER0eUXo5PUl2wIPBwRj7fTpajL65DfNCRpBvAV4PyI2NVBt6VARtI4SeVkd+512REnB0vSEZKObBkmu+O73SMculkpllcNMDsZng3ss+YiabCkfsnwUOAM4LUuqOVgPn9+vZ8Cnu3gR0i31tVmO/L5ZLc/9wQ1wKXJ0TAfBXbkbQosCUkjWvbrSJpC9vuyq8Oc5D3vBVZGxL910K24y6u794h39wNoILstbXnyaDmS4yPAL/P6zSS7d3412U0kXV3XP5Ddrvc+sAl4um1dZI/+eCl5vNpT6irR8joKWAzUA88AQ5L2auCeZPh04JVkeb0CXNGF9ezz+YFbyP7gAKgAfpb8/f0BGN/Vy+gg6/pm8rf0EvAccGw31fUIsBH4a/L3dQXwBeALyXQBdyd1v8J+jqTrxpquzltWzwOnd9Oy+hjZfYMv531vzezK5eVLTJiZpdwhv2nIzMz2z0FgZpZyDgIzs5RzEJiZpZyDwMws5RwEZmYp5yAwM0u5/w80/dcWeRK02wAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2\n", "Loss = 1.351065\n", "[-0.25431834 0.34606094 1.78335914]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3\n", "Loss = 1.137855\n", "[-0.22464037 0.54365844 2.21990668]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 4\n", "Loss = 0.997713\n", "[-0.1884155 0.71694997 2.56904011]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 5\n", "Loss = 0.894922\n", "[-0.15111609 0.87152665 2.8667137 ]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 6\n", "Loss = 0.814423\n", "[-0.11480187 1.01156579 3.12952178]\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAD4CAYAAADhNOGaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAmPklEQVR4nO3deXhU9b3H8feXIEuLCErMjQETNhugFZCIpBVvKojRViHiwmIFieKGK6Jwq3WhFCiteqURBbGi5QF3TFWKiASKRCQoO2JCBJMRJYo7lPV3/5gDd4wJJM4kJ5P5vJ5nnrP9zsw3h5DPnPVnzjlERCR2NfC7ABER8ZeCQEQkxikIRERinIJARCTGKQhERGJcQ78L+DFatWrlUlJS/C5DRCSqrFq16jPnXHz5+VEZBCkpKRQUFPhdhohIVDGzbRXN16EhEZEYpyAQEYlxCgIRkRinIBARiXEKAhGRGBeRIDCzJ8xsh5mtr2S5mdnDZlZkZmvN7LSQZcPMrNB7DYtEPSIiUnWR2iN4Esg8wvLzgI7eayQwDcDMjgfuAc4AegL3mFnLCNUkInVZfj5MnBgciq8ich+Bc26pmaUcoUl/4CkXfOb122bWwswSgQxgoXNuJ4CZLSQYKHMiUZeI1FH5+dCnD+zdC40awaJFkJ7ud1Uxq7bOESQBJSHTpd68yub/gJmNNLMCMysoKyursUJFpBbk5QVD4MCB4DAvz++KYlrUnCx2zk13zqU559Li439wh7SIRJOMjOCeQFxccJiR4XdFMa22HjERANqETLf25gUIHh4KnZ9XSzWJiF/S04OHg/LygiGgw0K+qq0gyAVGmdlcgieGv3LObTezBcCfQk4Q9wPG1VJNIuKn9HQFQB0RkSAwszkEv9m3MrNSglcCHQPgnHsUeA04HygCdgFXest2mtl4YKX3VvcfOnEsIiK1I1JXDQ0+ynIH3FDJsieAJyJRh4iIVF/UnCwWEZGaoSAQEYlxCgIRkRinIBARiXEKAhGRGKcgEBGJcQoCEZEYpyAQEYlxCgIRkRinIBARiXEKAhGRGKcgEBGJcQoCEZEYpyAQEYlxCgIRkRinIBARiXERCQIzyzSzzWZWZGZjK1j+oJmt9l4fmNmXIcsOhCzLjUQ9IiJSdWH3UGZmcUAOcA5QCqw0s1zn3MZDbZxzt4a0vxHoHvIWu51z3cKtQ0REfpxI7BH0BIqcc8XOub3AXKD/EdoPBuZE4HNFRCQCIhEESUBJyHSpN+8HzCwZaAu8GTK7iZkVmNnbZjagsg8xs5Feu4KysrIIlC0iIlD7J4sHAc875w6EzEt2zqUBQ4CHzKx9RSs656Y759Kcc2nx8fG1UauISEyIRBAEgDYh0629eRUZRLnDQs65gDcsBvL4/vkDERGpYZEIgpVARzNra2aNCP6x/8HVP2aWCrQE8kPmtTSzxt54K+BXwMby64qISM0J+6oh59x+MxsFLADigCeccxvM7H6gwDl3KBQGAXOdcy5k9U7AY2Z2kGAoTQq92khERGqeff/vcnRIS0tzBQUFP2rdPXv20Lhx4whXJCJS95nZKu+c7PfE1J3Fe/bsoUOHDgwdOpT8/HyiMQRFRCItpoJg9+7dDBw4kFdeeYVf/vKX9OjRg5kzZ7Jr1y6/SxMR8U1MBUGLFi146KGHCAQCPProo+zfv5+rrrqKlStXAnDw4EGfKxQRqX0xFQSHNGvWjGuuuYY1a9aQn5/PWWedBcBtt93Gb37zG+bPn69QEJGYEZNBcIiZ0atXL8wMgKSkJN59913OP/98TjnlFB544AG++OILn6sUEalZMR0E5Y0ZM4Zt27YxZ84cEhMTGT16NGPH/uBhqiIi9YqCoJxGjRoxaNAg/v3vf7N69WruuOMOAN555x3OPPNM5syZw969e32uUkQkchQER9C1a1fatw8++uiLL77g008/ZciQIZx88sn84Q9/IBCo7EkaIiLRQ0FQReeeey6bN29m/vz5pKWl8cc//pHu3buzb98+v0sTEQlL2I+YiCUNGjQgMzOTzMxMiouL2bBhA8cccwzOOQYOHEi/fv24/PLLadasmd+liohUmfYIfqR27dpxwQUXALBjxw62bt3KddddR1JSEjfffDObN2/2uUIRkapREERAQkICq1atYvny5VxwwQVMmzaN1NRUFi9e7HdpIiJHpSCIEDMjPT2df/zjH5SUlDBlyhTOPPNMAB577DEmTZrEZ5995nOVIiI/pCCoAQkJCdx+++0cc8wxACxbtoxx48bRunVrhg8ffviRFiIidYGCoBY8/fTTrF+/nuzsbF544QV69uzJ6NGj/S5LRARQENSaLl26kJOTQyAQYOrUqWRlZQHw4YcfMm7cOLZt2+ZzhSISqyISBGaWaWabzazIzH7wTAYzG25mZWa22ntdFbJsmJkVeq9hkainLmvevDmjRo06fP5gyZIl/PnPf6Zdu3YMGDCAhQsXqp8EEalVYfdQZmZxwAfAOUApwT6MB4d2OWlmw4E059yocuseDxQAaYADVgE9nHNHfNJbOD2U1UUfffQRjz32GNOnT+ezzz7j1FNPZdWqVTRsqNs8RCRyarKHsp5AkXOu2Dm3F5gL9K/iuucCC51zO70//guBzAjUFFVOPvlkJkyYQGlpKU8//TSXXHLJ4RD4y1/+woYNG3yuUETqs0gEQRJQEjJd6s0rb6CZrTWz582sTTXXxcxGmlmBmRWUlZVFoOy6p3Hjxlx++eXcddddAHz88cfcfffd/PznP+fXv/41zz//vB5pISIRV1sni/8JpDjnTiX4rX9Wdd/AOTfdOZfmnEuLj4+PeIF10UknnURJSQmTJ09m69atXHLJJaSkpOjyUxGJqEgEQQBoEzLd2pt3mHPuc+fcHm/ycaBHVdeNda1ateKOO+6gqKiI3NxcTj/9dH72s58B8Oabb7Js2TKdXBaRsEQiCFYCHc2srZk1AgYBuaENzCwxZPJCYJM3vgDoZ2Ytzawl0M+bJ+XExcVxwQUXMG/ePJo3bw7AvffeS+/evenevTszZszgu+++87lKEYlGYQeBc24/MIrgH/BNwLPOuQ1mdr+ZXeg1u8nMNpjZGuAmYLi37k5gPMEwWQnc782TKpg/fz7Tp0/HOcfIkSNp3bo1OTk5fpclIlEm7MtH/VDfLh8Nl3OOZcuWkZOTw4UXXsiQIUPYuXMn+fn5ZGZmEhcX53eJIlIH1OTlo+IzM6N3797MnTuXIUOGAPCPf/yD3/72t3Ts2JG//OUv7NypHS0RqZiCoJ667rrreOaZZ2jTpg1jxowhKSmJ7Oxs9u/f73dpIlLHKAjqqWOOOYZLL72UJUuWsHbtWoYNG8bOnTsP36i2dOlS9uzZc5R3EZFYoHMEMcQ5h5kRCARITk7mhBNO4Oqrr+aaa66hTZs2R38DEYlqOkcgmBkAiYmJvPrqq5xxxhn86U9/om3btgwcOJDCwkKfKxQRPygIYlCDBg0499xzyc3NZcuWLYwePZq33nqLpk2bAsFHY3/zzTc+VykitUVBEOPatm3L5MmTKS0tpXXr1gBcc801JCUlceONN7Jp06ajvIOIRDsFgQB875HX48ePZ8CAAUyfPp3OnTvTt29fFi5c6GN1IlKTFATyA2eccQZPPfUUJSUl/OlPf+KDDz5gzZo1AOzZs4cdO3b4XKGIRJKCQCp14oknMm7cOIqLixk1Ktin0LPPPkubNm343e9+x4oVK/TAO5F6QEEgR9WwYUOaNGkCQK9evRg5ciQvv/wyvXr14vTTT+fJJ5/kwIEDPlcpIj+WgkCqpWPHjkydOpVAIEBOTg67d+/mwQcfpEGD4K/SV1995XOFIlJdCgL5UY499liuv/561q9fz+uvv46Z8fXXX5OcnMyFF17IggULOHjwoN9likgVKAgkLGZGQkICAAcPHuTGG29kxYoVZGZmkpqaykMPPaS9BJE6TkEgEdOiRQvGjx/PRx99xOzZs2nVqhW33norW7duBWDv3r3+FigiFYpIEJhZppltNrMiMxtbwfLbzGyj13n9IjNLDll2wMxWe6/c8utK9GncuDFDhgxh+fLlbNq0ia5duwIwYsQI/vu//5tnn32Wffv2+VyliBwSdhCYWRyQA5wHdAYGm1nncs3eA9K8zuufB/4csmy3c66b97oQqVdSU1MPj/fs2ZOSkhIuu+wykpOTue+++9i+fbuP1UVYfj5MnBgcikSRSOwR9ASKnHPFzrm9wFygf2gD59xi59wub/Jtgp3US4y56aabKCws5JVXXqFr167ce++9PPDAA0DwyahRfU9Cfj706QN33x0cKgwkikQiCJKAkpDpUm9eZbKB+SHTTcyswMzeNrMBla1kZiO9dgVlZWVhFSz+iYuL4ze/+Q3z58+nsLCQ2267DYDXX3+drl278thjj/Htt9/6XOWPkJcHe/fCgQPBYV6e3xWJVFmtniw2s8uBNGBKyOxk7/nYQ4CHzKx9Res656Y759Kcc2nx8fG1UK3UtA4dOpCYmAgEn4gaFxfHtddeS+vWrbnlllv44IMPfK6wGjIyoFEjiIsLDjMy/K5IpMoiEQQBILRXk9bevO8xs77A74ELnXOHu8ZyzgW8YTGQB3SPQE0SZc455xzeffddli1bxvnnn09OTg59+vSJnnsR0tNh0SIYPz44TE/3uyKRKgu7hzIzawh8APQhGAArgSHOuQ0hbboTPEmc6ZwrDJnfEtjlnNtjZq2AfKC/c27jkT5TPZTVf9u3b6ewsJCzzjqLffv2kZGRQf/+/cnOzuaEE07wuzyRqFRjPZQ55/YDo4AFwCbgWefcBjO738wOXQU0BWgGPFfuMtFOQIGZrQEWA5OOFgISGxITEznrrLMA2LFjB40aNeLOO++kdevWXHnlleiLgEjkqM9iiRrr16/nkUce4amnnuK7775j+fLlpOsQjEiVVbZHoCCQqPPVV1/xwgsvcOWVV2JmTJgwge+++45rr72Wk08+2e/yROosdV4v9cZxxx3HiBEjMDMAioqKmDx5Mm3btiUrK4tFixZF9z0JIrVMQSBR7+9//zvFxcXccccdLFu2jL59+3LnnXf6XZZI1FAQSL2QnJzMxIkTKSkpYdasWVx++eUArFmzhhtuuIGNG3UNgkhlFARSrzRp0oQrrriCU089FYBVq1Yxc+ZMunTpwtlnn80LL7zA/v37fa5SpG5REEi9NmLECEpLS5k0aRJbtmzh4osvpmvXrtFzo5pILVAQSL3XqlUr7rzzToqLi5k3bx433ngjDRo0wDnHHXfcQX5+vk4uS0zT5aMSs4qLi+nevTtff/013bt3Z9SoUQwePJimTZv6XZpIjdDloyLltGvXjkAgwLRp09i3bx/Z2dkkJSXx3nvv+V2aSK1SEEhMa9asGddeey1r164lLy+PAQMG0LlzsF+lF198kfnz5+t8gtR7OjQkUon09HTefvttOnTowPXXX8/w4cNp2bKl32WJ/Gg6NCRSTUuWLGHOnDkkJCRw2223kZSUxNSpU/0uSyTiFAQilWjUqBGDBg1i2bJlvPfeewwdOpSOHTsCUFpayty5c9m7d6/PVYqET0EgUgXdunVjxowZZGZmAjB79mwGDx5McnIy99xzD4HAD/piEokaCgKRH2HMmDG89tpr9OjRg/Hjx5OcnMzQoUN1YlmikoJA5Edo0KAB5513Hq+88gqFhYXceuutHHvssTRoEPwvNW/ePL799lufqxSpmogEgZllmtlmMysys7EVLG9sZs94y1eYWUrIsnHe/M1mdm4k6hGpTe3bt2fKlCk8+uijQPCx2FlZWSQlJXHzzTezefNmnysUObKwg8DM4oAc4DygMzDYzDqXa5YNfOGc6wA8CEz21u0MDAK6AJnAI977SR2Qnw8TJwaHUnXt27dn+fLl/Pa3v2XatGmkpqbSr18/ioqK/C5NpEKR2CPoCRQ554qdc3uBuUD/cm36A7O88eeBPhbsVaQ/MNc5t8c59yFQ5L2f+Cw/H/r0gbvvDg4VBlVnZqSnpzN79mxKSkoYP34827Zt44QTTgBg3bp1lJWV+VylyP+LRBAkASUh06XevArbeJ3dfwWcUMV1ATCzkWZWYGYF+k9U8/LyYO9eOHAgOMzL87ui6JSQkMBdd93F+++/f/hmtBEjRtCmTRuGDRvGO++843OFIlF0stg5N905l+acS4uPj/e7nHovIwMaNYK4uOAwI8PviqLboW41AWbNmkV2djYvvvgiZ5xxBj179uTVV1/1sTqJdZEIggDQJmS6tTevwjZm1hA4Dvi8iuuKD9LTYdEiGD8+OExP97ui+qNz587k5OQQCASYOnUq33zzDZ988gkA33zzDdu2bfO5Qok1kQiClUBHM2trZo0InvzNLdcmFxjmjV8MvOmCDznKBQZ5VxW1BToC2leuI9LTYdw4hUBNad68OaNGjWLjxo0MGxb87/HEE0/Qrl07BgwYwMKFC9VPgtSKsIPAO+Y/ClgAbAKedc5tMLP7zexCr9lM4AQzKwJuA8Z6624AngU2Av8CbnDOHQi3JpFoYmY0bNgQgIsuuoixY8eyfPly+vXrR6dOnZg6daoCQWqUnj4qUgft2bOH5557jpycHBo3bkyed7Y+EAiQlFTh9RQiR6Wnj4pEkcaNG3P55ZeTn5/PP//5TwA++eQT2rZtS0ZGBs899xz79u3zuUqpLxQEInXcscceC0DTpk2ZMGEC27Zt49JLLyUlJYX777+fzz//3OcKJdopCESixHHHHceYMWMoKioiNzeXX/ziF9x///188803AHz99dc6lyA/ioJAJMrExcVxwQUX8K9//YuSkhJSUlIAGDx4MKeddhqPP/44u3bt8rdIiSoKApEolpiYeHg8KyuLgwcPcvXVV5OUlMTo0aPZsmWLj9VJtFAQiNQTV111FatXr2bp0qWce+65PPzwwzzzzDMAHDhwQH0lSKUUBCL1iJnRu3dv5s6dy7Zt27juuusAeO655+jYsSN//etf2blzp89VSl2jIBCpp0466aTDD7o78cQTSUpK4vbbbycpKYmrrrqK9957z+cKpa5QEIjEgLPPPpulS5eyZs0arrjiCubMmcPQoUMPX2Wkq41im4JAJIaceuqpPPbYYwQCAebMmYOZ8d1339GpUyfuvvtuSktL/S5RfKAgEIlBLVq0oGvXrgDs3LmTU045hQkTJpCSksLFF19MXl6e9hJiiIJAJMa1adOG3NxctmzZwujRo1m8eDG//vWvWbt2rd+lSS3RQ+dE5Ht2797NggULGDBgAAC33HILBw4c4IYbbiA1NdXf4iQseuiciFRJ06ZND4eAc45du3Yxffp0OnXqRN++fZk3bx779+/3t0iJKAWBiFTKzJg+fTolJSVMmDCBzZs3k5WVxb333ut3aRJBCgIROaoTTzyR//mf/+HDDz/kxRdfZMSIEQAsWbKE3/3ud6xYsUInl6NYWEFgZseb2UIzK/SGLSto083M8s1sg5mtNbPLQpY9aWYfmtlq79UtnHpEpGY1bNiQrKws2rVrB0BxcTEvv/wyvXr14vTTT+fJJ59k9+7dPlcp1RXuHsFYYJFzriOwyJsubxdwhXOuC5AJPGRmLUKWj3HOdfNeq8OsR0Rq0ZVXXkkgECAnJ4fdu3dz5ZVXcvrpp2vvIMqEGwT9gVne+CxgQPkGzrkPnHOF3vjHwA4gPszPFZE64thjj+X6669n/fr1LF68mD/84Q+YGfv372fEiBEsWLBAD7yr48INggTn3HZv/BMg4UiNzawn0AgIfTbuBO+Q0YNm1vgI6440swIzKygrKwuzbBGJNDMjIyODSy+9FICioiJeffVVMjMzSU1N5aGHHuLLL7/0t0ip0FGDwMzeMLP1Fbz6h7ZzwX3BSvcHzSwReBq40jl36OvBOCAVOB04HrizsvWdc9Odc2nOubT4eO1QiNR1qampfPTRR8yePZtWrVpx6623kpSUxPr16/0uTcppeLQGzrm+lS0zs0/NLNE5t937Q7+jknbNgVeB3zvn3g5570N7E3vM7O/A7dWqXkTqtMaNGzNkyBCGDBnCu+++y5w5c+jcuTMAjz/+OM2bNycrK4tjjjnG50pjW7iHhnKBYd74MODl8g3MrBHwEvCUc+75cssSvaERPL+grwoi9dRpp53GlClTaNCgAc45ZsyYwWWXXUZycjL33Xcf27dvP/qbSI0INwgmAeeYWSHQ15vGzNLM7HGvzaXAWcDwCi4TnW1m64B1QCvgj2HWIyJRwMzIz8/n1VdfpVu3btx7772cfPLJTJ061e/SYpKeNSQivisqKmLatGlccskl9OrVi/fff5+lS5cydOhQfvrTn/pdXr2hZw2JSJ3VoUMH/vrXv9KrVy8g2LXmNddcQ1JSErfeeiuFhYU+V1i/KQhEpM656667WLZsGeeddx5/+9vfOOWUUxg4cKBuVKshCgIRqXPMjF/96lfMmTOHjz76iPvuu48uXbpgZjjnmDlzJp9//rnfZdYbOkcgIlFl3bp1nHrqqTRp0oTBgwdzww030KNHD7/Ligo6RyAi9cIvfvEL1q1bx/Dhw3n22WdJS0sjPT2d4uJiv0uLWgoCEYk6P//5z5k2bRqBQID//d//xcxITEwE4K233qKkpMTnCqOLgkBEotZxxx3HTTfdxPLly2natCnOObKzs0lJSeGiiy7izTff1AnmKlAQiEi9YWb861//YsyYMSxdupQ+ffrQpUsXcnNz/S6tTlMQiEi9kpKSwqRJkygtLeXJJ5+kWbNmh/tYLisrY9OmTT5XWPcoCESkXmrSpAnDhg3jnXfeISsrC4BHHnmEzp0706dPH1588cXDARHrFAQiUu8Fn2sJ119/PRMnTqSoqIiBAwfStm1bJk+eHPPnERQEIhIz4uPjGTt2LMXFxcybN4/U1FRWrFhxOCg2btwYk6GgIBCRmBMXF0f//v1ZuHAhzzzzDACFhYV06dKFHj168MQTT7B7926fq6w9CgIRiWmHOsVJTEzkkUceYe/evWRnZ5OUlMTtt99OLHSNqyAQEQGaNWvGddddx7p161i8eDF9+vTh0UcfPXzY6JNPPuHgwYNHeZfoFFYQmNnxZrbQzAq9YctK2h0I6ZQmN2R+WzNbYWZFZvaM15uZiIhvzIyMjAyee+45Pv74Y1q1agVAVlYWP/vZz3jggQf44osvfK4yssLdIxgLLHLOdQQWedMV2e2c6+a9LgyZPxl40DnXAfgCyA6zHhGRiGnevDkAzjluvvlmEhISGD16NElJSVx99dVs2LDB5wojI9wg6A/M8sZnEex3uEq8forPBg71Y1yt9UVEaouZMWjQIJYtW8Z7773H0KFDmT17Nv/+978B2LNnD3v37vW5yh8v3CBIcM4d6nH6EyChknZNzKzAzN42swHevBOAL51zh+7oKAWSKvsgMxvpvUdBLJy8EZG6qVu3bsyYMYNAIMAVV1wBwBNPPEFycjL33HMPgUDA5wqr76hBYGZvmNn6Cl79Q9u54MW3lV2Am+w9A3sI8JCZta9uoc656c65NOdcWnx8fHVXFxGJqJYtW/KTn/wECD4NtUePHowfP57k5GQuvfRSlixZ4nOFVdfwaA2cc30rW2Zmn5pZonNuu5klAjsqeY+ANyw2szygO/AC0MLMGnp7Ba2B6ItSEYl5vXv3pnfv3hQXFzNt2jRmzpxJIBDgrbfeAmDfvn2HL1Oti8I9NJQLDPPGhwEvl29gZi3NrLE33gr4FbDR24NYDFx8pPVFRKJFu3btmDJlCqWlpTz99NNA8EF3rVu35uabb2bz5s0+V1ixcINgEnCOmRUCfb1pzCzNzB732nQCCsxsDcE//JOccxu9ZXcCt5lZEcFzBjPDrEdExHc/+clPaNeuHQC7d+/mnHPOYdq0aaSmptKvXz9yc3M5cOCAz1X+P/VZLCJSCz799FNmzJjBo48+SiAQoKioiPbt2+OcO3zTWk1Tn8UiIj5KSEjgrrvuYuvWrSxdupT27YPXzAwZMoThw4ezcuVK32pTEIiI1KKGDRvSu3dvIHijWnx8PC+88AI9e/bkjDPO4KmnnuI///lPrdakIBAR8YmZ8fDDDxMIBJg6dSpfffUVw4YN44EHHqjVOhQEIiI+a968OaNGjWLTpk288cYbZGcHn7Yzb948BgwYwBtvvFGj/SQoCERE6ggzo0+fPiQkBB/S8OWXX/LWW29xzjnn0KlTJ1566aUa+VwFgYhIHTV8+PDD9yS0aNGCPXv21Mjn6PJREZEoEe6lprp8VEQkytXU/QYKAhGRGKcgEBGJcQoCEZEYpyAQEYlxCgIRkRinIBARiXEKAhGRGKcgEBGJcWEFgZkdb2YLzazQG7asoM2vzWx1yOs/ZjbAW/akmX0YsqxbOPWIiEj1hbtHMBZY5JzrCCzypr/HObfYOdfNOdcNOBvYBbwe0mTMoeXOudVh1iMiItUUbhD0B2Z547OAAUdpfzEw3zm3K8zPFRGRCAk3CBKcc9u98U+AhKO0HwTMKTdvgpmtNbMHzaxxZSua2UgzKzCzgrKysjBKFhGRUEcNAjN7w8zWV/DqH9rOBR9jWumjTM0sEfgFsCBk9jggFTgdOB64s7L1nXPTnXNpzrm0+Pj4o5UtIiJV1PBoDZxzfStbZmafmlmic26794d+xxHe6lLgJefcvpD3PrQ3scfM/g7cXsW6RUQkQsI9NJQLDPPGhwEvH6HtYModFvLCAws+W3UAsD7MekREpJrCDYJJwDlmVgj09aYxszQze/xQIzNLAdoAS8qtP9vM1gHrgFbAH8OsR0REqumoh4aOxDn3OdCngvkFwFUh01uBpAranR3O54uISPh0Z7GISIxTEIiIxDgFgYhIjFMQiIjEOAWBiEiMUxCIiMQ4BYGISIxTEIiIxDgFgYhIjFMQiIjEOAWBiEiMUxCIiMQ4BYGISIxTEIiIxDgFgYhIjFMQiIjEuLCCwMwuMbMNZnbQzNKO0C7TzDabWZGZjQ2Z39bMVnjznzGzRuHUIyIi1RfuHsF64CJgaWUNzCwOyAHOAzoDg82ss7d4MvCgc64D8AWQHWY9IhIl8vNh4sTgUPwVbleVmwCCfc9XqidQ5Jwr9trOBfqb2SbgbGCI124WcC8wLZyaRKTuy8+HPn1g715o1AgWLYL0dL+ril21cY4gCSgJmS715p0AfOmc219ufoXMbKSZFZhZQVlZWY0VKyI1Ly8vGAIHDgSHeXl+VxTbjhoEZvaGma2v4NW/Ngo8xDk33TmX5pxLi4+Pr82PFpEIy8gI7gnExQWHGRl+VxTbjnpoyDnXN8zPCABtQqZbe/M+B1qYWUNvr+DQfBGp59LTg4eD8vKCIaDDQv4K6xxBFa0EOppZW4J/6AcBQ5xzzswWAxcDc4FhwMu1UI+I1AHp6QqAuiLcy0ezzKwUSAdeNbMF3vyTzOw1AO/b/ihgAbAJeNY5t8F7izuB28ysiOA5g5nh1CMiItVnzjm/a6i2tLQ0V1BQ4HcZIiJRxcxWOed+cM+X7iwWEYlxCgIRkRinIBARiXEKAhGRGBeVJ4vNrAzY9iNXbwV8FsFyIkV1VY/qqh7VVT31ta5k59wP7siNyiAIh5kVVHTW3G+qq3pUV/WoruqJtbp0aEhEJMYpCEREYlwsBsF0vwuohOqqHtVVPaqremKqrpg7RyAiIt8Xi3sEIiISQkEgIhLj6n0QmNkUM3vfzNaa2Utm1qKSdplmttnMisxsbC3UdYmZbTCzg2ZW6eVgZrbVzNaZ2Wozq/En7VWjrtreXseb2UIzK/SGLStpd8DbVqvNLLcG6zniz29mjc3sGW/5CjNLqalaqlnXcDMrC9lGV9VSXU+Y2Q4zW1/JcjOzh72615rZaXWgpgwz+ypkW/2hpmvyPreNmS02s43e/8WbK2gT2e3lnKvXL6Af0NAbnwxMrqBNHLAFaAc0AtYAnWu4rk7Az4A8IO0I7bYCrWpxex21Lp+215+Bsd742Ir+Hb1l39bCNjrqzw9cDzzqjQ8CnqkjdQ0H/lZbv08hn3sWcBqwvpLl5wPzAQN6ASvqQE0ZwCs+bKtE4DRv/Fjggwr+HSO6ver9HoFz7nX3//0iv02wJ7TyegJFzrli59xegh3l1GhXnM65Tc65zTX5GT9GFeuq9e3lvf8sb3wWMKCGP+9IqvLzh9b7PNDHzKwO1OUL59xSYOcRmvQHnnJBbxPsvTDR55p84Zzb7px71xv/hmA/LuX7c4/o9qr3QVDOCIIpWl4SUBIyXcoPN7xfHPC6ma0ys5F+F+PxY3slOOe2e+OfAAmVtGtiZgVm9raZDaihWqry8x9u430R+Ypg50s1qar/LgO9wwnPm1mbCpb7oa7+H0w3szVmNt/MutT2h3uHFLsDK8otiuj2qo2uKmucmb0B/FcFi37vnHvZa/N7YD8wuy7VVQVnOucCZnYisNDM3ve+yfhdV8Qdqa7QCeecM7PKrntO9rZXO+BNM1vnnNsS6Vqj2D+BOc65PWZ2DcG9lrN9rqmuepfg79O3ZnY+MA/oWFsfbmbNgBeAW5xzX9fkZ9WLIHDO9T3ScjMbDvwW6OO8A2zlBIDQb0atvXk1WlcV3yPgDXeY2UsEd//DCoII1FXr28vMPjWzROfcdm8XeEcl73FoexWbWR7Bb1ORDoKq/PyH2pSaWUPgOODzCNdR7bqcc6E1PE7w3EtdUCO/U+EI/ePrnHvNzB4xs1bOuRp/GJ2ZHUMwBGY7516soElEt1e9PzRkZpnAHcCFzrldlTRbCXQ0s7Zm1ojgyb0au+Kkqszsp2Z27KFxgie+K7zCoZb5sb1ygWHe+DDgB3suZtbSzBp7462AXwEba6CWqvz8ofVeDLxZyZeQWq2r3HHkCwkef64LcoErvKthegFfhRwK9IWZ/deh8zpm1pPg38uaDnO8z5wJbHLOPVBJs8hur9o+I17bL6CI4LG01d7r0JUcJwGvhbQ7n+DZ+S0ED5HUdF1ZBI/r7QE+BRaUr4vg1R9rvNeGulKXT9vrBGARUAi8ARzvzU8DHvfGfwms87bXOiC7Buv5wc8P3E/wCwdAE+A57/fvHaBdTW+jKtY10ftdWgMsBlJrqa45wHZgn/f7lQ1cC1zrLTcgx6t7HUe4kq4WaxoVsq3eBn5ZS9vqTILnBteG/N06vya3lx4xISIS4+r9oSERETkyBYGISIxTEIiIxDgFgYhIjFMQiIjEOAWBiEiMUxCIiMS4/wOdc0D3FfRdtwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 7\n", "Loss = 0.748701\n", "[-0.08030788 1.13986418 3.36654019]\n" ] }, { "data": { "image/png": "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Aan8fv7znx8PgSNHjrB161Zuv/12EhISGDVqFDk5OT5XKFK56OmjEhU2b97MzJkzWbp0KUeOHGHhwoVcf/31fpclElX09FGJau3bt+exxx5jz549jB8/nm7dugGwfv16Fi1axKFDh07yDiJSEgWBRJVGjRoxceJEGjduDMBjjz3GkCFDSEpK4r777uOTTz7xuUKR6KMgkKg2b948Xn75ZTp06MA999xD06ZNmTBhgt9liUQVBYFENTPj0ksvZdWqVezcuZOhQ4ce31v49ttveeGFF/j+++99rlKkYlMQSKXxi1/8gtmzZzNixAgAli9fTs+ePWnTpg2zZ8/mf//7n88VilRMCgKptK699loef/xxateuzS233EJCQgJ33nmnTiyLFKEgkEqrWrVqxx9X8frrr9OtWzfWrl1LfHw8AHl5eSd5B5HYoCCQSs/M6Ny5M0899RRvvPEGZsb+/ftp06YNqampPPnkkxw5csTvMkV8oyCQmHJsbyA+Pp4pU6ZQWFjItddeS/PmzZk+fTr79+/3t0ARHygIJCbVqlWL3//+9+zatYtnnnmGFi1acMcddxw/XBT1/SOIlIGCQGJaXFwcvXv3Zt26dbz//vv88pe/BGDIkCH06tWLdevWVa5e1ESKoSAQ8bRq1er4eOvWrdmwYQOXXHIJ5557LgsXLtTVRlJpKQhEinH33Xezd+9eFixYwNGjR7nhhhuYNGmS32WJRISCQKQENWrUYOjQobz77rusWbOGm2++GYA1a9Ycny9SGSgIRE7CzOjatStNmgS64s7OzmbZsmWcffbZdO3aleeff16PsZCopiAQKaMRI0aQl5fH1KlT2bVrF7/5zW+49NJL/S5L5CcLSxCYWQ8z22VmOWY2rpjl1c1smbd8o5klBy27y5u/y8wuC0c9IpF22mmnceedd5Kbm8uSJUsYOnQoAIcPH+aee+5h7969PlcoUnohB4GZxQEPA5cDbYEBZta2SLMbgS+ccy2BGcAD3rptgf5AO6AHMNt7P6kAMjNhypTAUIpXrVo1+vfvz29/+1sANm7cyP3330/z5s259tprydTGkygQjj2CjkCOc+4D59xhYCnQu0ib3sAib3w50NXMzJu/1Dl3yDmXC+R47yc+y8yErl1hwoTAUN9npdOlSxd2797N6NGjWb16Neeffz7nnXcehYWFfpcmUqJwBEET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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 8\n", "Loss = 0.693522\n", "[-0.04790646 1.2583586 3.58333835]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 9\n", "Loss = 0.646267\n", "[-0.01760543 1.36846522 3.78363291]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 10\n", "Loss = 0.605197\n", "[0.01070527 1.47127238 3.9700663 ]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Initialize all weights to 0 (including the bias)\n", "w = np.zeros(num_features + 1)\n", "\n", "# Learning rate.\n", "eta = 1\n", " \n", "# Run 1 epoch of stochastic gradient descent.\n", "for epoch in range(10):\n", " print(\"Epoch %d\" % (epoch + 1))\n", " logistic_regression_sgd_epoch(inputs, labels, w, eta)\n", " evaluate_loss(inputs, labels, w)\n", " print(w)\n", " plot_separation_line(inputs, labels, w)\n", " \n", "plot_separation_line(inputs, labels, w)" ] }, { "cell_type": "markdown", "id": "interested-corruption", "metadata": {}, "source": [ "### Exercise 5" ] }, { "cell_type": "code", "execution_count": 25, "id": "atlantic-scholarship", "metadata": {}, "outputs": [], "source": [ "from sklearn.datasets import load_digits\n", "data = load_digits()" ] }, { "cell_type": "code", "execution_count": 26, "id": "thorough-graduation", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 1. 0. 0. ... 0. 0. 0.]\n", " [ 1. 0. 0. ... 10. 0. 0.]\n", " [ 1. 0. 0. ... 16. 9. 0.]\n", " ...\n", " [ 1. 0. 0. ... 6. 0. 0.]\n", " [ 1. 0. 0. ... 12. 0. 0.]\n", " [ 1. 0. 0. ... 12. 1. 0.]]\n", "[0 1 2 ... 8 9 8]\n", ".. _digits_dataset:\n", "\n", "Optical recognition of handwritten digits dataset\n", "--------------------------------------------------\n", "\n", "**Data Set Characteristics:**\n", "\n", " :Number of Instances: 1797\n", " :Number of Attributes: 64\n", " :Attribute Information: 8x8 image of integer pixels in the range 0..16.\n", " :Missing Attribute Values: None\n", " :Creator: E. Alpaydin (alpaydin '@' boun.edu.tr)\n", " :Date: July; 1998\n", "\n", "This is a copy of the test set of the UCI ML hand-written digits datasets\n", "https://archive.ics.uci.edu/ml/datasets/Optical+Recognition+of+Handwritten+Digits\n", "\n", "The data set contains images of hand-written digits: 10 classes where\n", "each class refers to a digit.\n", "\n", "Preprocessing programs made available by NIST were used to extract\n", "normalized bitmaps of handwritten digits from a preprinted form. From a\n", "total of 43 people, 30 contributed to the training set and different 13\n", "to the test set. 32x32 bitmaps are divided into nonoverlapping blocks of\n", "4x4 and the number of on pixels are counted in each block. This generates\n", "an input matrix of 8x8 where each element is an integer in the range\n", "0..16. This reduces dimensionality and gives invariance to small\n", "distortions.\n", "\n", "For info on NIST preprocessing routines, see M. D. Garris, J. L. Blue, G.\n", "T. Candela, D. L. Dimmick, J. Geist, P. J. Grother, S. A. Janet, and C.\n", "L. Wilson, NIST Form-Based Handprint Recognition System, NISTIR 5469,\n", "1994.\n", "\n", ".. topic:: References\n", "\n", " - C. Kaynak (1995) Methods of Combining Multiple Classifiers and Their\n", " Applications to Handwritten Digit Recognition, MSc Thesis, Institute of\n", " Graduate Studies in Science and Engineering, Bogazici University.\n", " - E. Alpaydin, C. Kaynak (1998) Cascading Classifiers, Kybernetika.\n", " - Ken Tang and Ponnuthurai N. Suganthan and Xi Yao and A. Kai Qin.\n", " Linear dimensionalityreduction using relevance weighted LDA. School of\n", " Electrical and Electronic Engineering Nanyang Technological University.\n", " 2005.\n", " - Claudio Gentile. A New Approximate Maximal Margin Classification\n", " Algorithm. NIPS. 2000.\n", "\n" ] } ], "source": [ "inputs = data.data # num_examples x num_features\n", "labels = data.target # num_examples x num_labels\n", "\n", "num_examples, num_features = np.shape(inputs)\n", "num_labels = np.max(labels)+1 # labels are 0, 1, ..., num_labels-1\n", "\n", "# Augment points with a dimension for the bias.\n", "inputs = np.concatenate([np.ones((num_examples, 1)), inputs], axis=1)\n", "\n", "print(inputs)\n", "print(labels)\n", "\n", "print(data.DESCR)" ] }, { "cell_type": "code", "execution_count": 27, "id": "nearby-morgan", "metadata": {}, "outputs": [], "source": [ "# Split between train and test data.\n", "from sklearn.model_selection import train_test_split\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(inputs, labels, test_size=0.2, random_state=42)" ] }, { "cell_type": "code", "execution_count": 28, "id": "pressing-zambia", "metadata": {}, "outputs": [], "source": [ "# One epoch of the *stochastic* gradient descent algorithm for logistic regression.\n", "def multi_class_logistic_regression_sgd_epoch(inputs, labels, W, eta):\n", " for x, y in zip(inputs, labels):\n", " # Label scores according to the model (num_labels x 1).\n", " label_scores = W.dot(x)[:, None]\n", " # One-hot vector with the true label (num_labels x 1).\n", " y_one_hot = np.zeros((np.size(W, 0), 1))\n", " y_one_hot[y] = 1\n", " # Softmax function.\n", " # This gives the label probabilities according to the model (num_labels x 1).\n", " label_probabilities = np.exp(label_scores) / np.sum(np.exp(label_scores))\n", " # SGD update. W is num_labels x num_features.\n", " W += eta * (y_one_hot - label_probabilities) * x[None, :]" ] }, { "cell_type": "code", "execution_count": 29, "id": "pleasant-cabinet", "metadata": {}, "outputs": [], "source": [ "# Evaluate cross-entropy loss.\n", "def evaluate_loss(inputs, labels, w):\n", " loss = 0.\n", " for x, y in zip(inputs, labels):\n", " # Label scores according to the model (num_labels x 1).\n", " label_scores = W.dot(x)\n", " # One-hot vector with the true label (num_labels x 1).\n", " y_one_hot = np.zeros(np.size(W, 0))\n", " y_one_hot[y] = 1\n", " # Softmax function.\n", " # This gives the label probabilities according to the model (num_labels x 1).\n", " label_probabilities = np.exp(label_scores) / np.sum(np.exp(label_scores))\n", " loss += -y_one_hot.dot(np.log(label_probabilities))\n", " print(\"Loss = %f\" % loss)\n", " return loss " ] }, { "cell_type": "code", "execution_count": 30, "id": "tamil-seeking", "metadata": {}, "outputs": [], "source": [ "# Run classifier.\n", "def multi_class_classify(inputs, W):\n", " predicted_labels = []\n", " for x in inputs:\n", " y_hat = np.argmax(W.dot(x))\n", " predicted_labels.append(y_hat)\n", " predicted_labels = np.array(predicted_labels)\n", " return predicted_labels" ] }, { "cell_type": "code", "execution_count": 31, "id": "consecutive-calendar", "metadata": {}, "outputs": [], "source": [ "# Compute accuracy of predicted labels.\n", "def evaluate(predicted_labels, gold_labels):\n", " accuracy = np.mean(predicted_labels == gold_labels)\n", " return accuracy" ] }, { "cell_type": "code", "execution_count": 32, "id": "undefined-attack", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1\n", "Loss = 305.167551\n", "Accuracy (training set): 0.940153\n", "Accuracy (test set): 0.933333\n", "\n", "Epoch 2\n", "Loss = 230.215382\n", "Accuracy (training set): 0.951287\n", "Accuracy (test set): 0.941667\n", "\n", "Epoch 3\n", "Loss = 189.016469\n", "Accuracy (training set): 0.956855\n", "Accuracy (test set): 0.958333\n", "\n", "Epoch 4\n", "Loss = 159.421717\n", "Accuracy (training set): 0.961726\n", "Accuracy (test set): 0.952778\n", "\n", "Epoch 5\n", "Loss = 136.314109\n", "Accuracy (training set): 0.966597\n", "Accuracy (test set): 0.955556\n", "\n", "Epoch 6\n", "Loss = 118.551712\n", "Accuracy (training set): 0.972164\n", "Accuracy (test set): 0.958333\n", "\n", "Epoch 7\n", "Loss = 104.767118\n", "Accuracy (training set): 0.977731\n", "Accuracy (test set): 0.961111\n", "\n", "Epoch 8\n", "Loss = 94.470651\n", "Accuracy (training set): 0.979123\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 9\n", "Loss = 86.862776\n", "Accuracy (training set): 0.981907\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 10\n", "Loss = 80.780504\n", "Accuracy (training set): 0.984690\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 11\n", "Loss = 75.531997\n", "Accuracy (training set): 0.985386\n", "Accuracy (test set): 0.972222\n", "\n", "Epoch 12\n", "Loss = 70.870598\n", "Accuracy (training set): 0.986778\n", "Accuracy (test set): 0.975000\n", "\n", "Epoch 13\n", "Loss = 66.713040\n", "Accuracy (training set): 0.987474\n", "Accuracy (test set): 0.975000\n", "\n", "Epoch 14\n", "Loss = 62.981915\n", "Accuracy (training set): 0.988170\n", "Accuracy (test set): 0.975000\n", "\n", "Epoch 15\n", "Loss = 59.595183\n", "Accuracy (training set): 0.988866\n", "Accuracy (test set): 0.975000\n", "\n", "Epoch 16\n", "Loss = 56.492621\n", "Accuracy (training set): 0.988866\n", "Accuracy (test set): 0.975000\n", "\n", "Epoch 17\n", "Loss = 53.638695\n", "Accuracy (training set): 0.989562\n", "Accuracy (test set): 0.975000\n", "\n", "Epoch 18\n", "Loss = 51.013289\n", "Accuracy (training set): 0.989562\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 19\n", "Loss = 48.602867\n", "Accuracy (training set): 0.991649\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 20\n", "Loss = 46.395135\n", "Accuracy (training set): 0.992345\n", "Accuracy (test set): 0.972222\n", "\n", "Epoch 21\n", "Loss = 44.376628\n", "Accuracy (training set): 0.994433\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 22\n", "Loss = 42.532159\n", "Accuracy (training set): 0.995129\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 23\n", "Loss = 40.845255\n", "Accuracy (training set): 0.995129\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 24\n", "Loss = 39.299007\n", "Accuracy (training set): 0.995825\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 25\n", "Loss = 37.876942\n", "Accuracy (training set): 0.996521\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 26\n", "Loss = 36.563702\n", "Accuracy (training set): 0.996521\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 27\n", "Loss = 35.345470\n", "Accuracy (training set): 0.996521\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 28\n", "Loss = 34.210157\n", "Accuracy (training set): 0.996521\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 29\n", "Loss = 33.147422\n", "Accuracy (training set): 0.996521\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 30\n", "Loss = 32.148571\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 31\n", "Loss = 31.206389\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 32\n", "Loss = 30.314942\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 33\n", "Loss = 29.469371\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 34\n", "Loss = 28.665688\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 35\n", "Loss = 27.900604\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 36\n", "Loss = 27.171371\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 37\n", "Loss = 26.475658\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 38\n", "Loss = 25.811457\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 39\n", "Loss = 25.177004\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 40\n", "Loss = 24.570724\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 41\n", "Loss = 23.991183\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 42\n", "Loss = 23.437055\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 43\n", "Loss = 22.907099\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.969444\n", "\n", "Epoch 44\n", "Loss = 22.400137\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.966667\n", "\n", "Epoch 45\n", "Loss = 21.915044\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 46\n", "Loss = 21.450739\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 47\n", "Loss = 21.006181\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 48\n", "Loss = 20.580370\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 49\n", "Loss = 20.172341\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 50\n", "Loss = 19.781171\n", "Accuracy (training set): 0.997216\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 51\n", "Loss = 19.405976\n", "Accuracy (training set): 0.997912\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 52\n", "Loss = 19.045911\n", "Accuracy (training set): 0.997912\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 53\n", "Loss = 18.700174\n", "Accuracy (training set): 0.997912\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 54\n", "Loss = 18.368003\n", "Accuracy (training set): 0.997912\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 55\n", "Loss = 18.048677\n", "Accuracy (training set): 0.997912\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 56\n", "Loss = 17.741514\n", "Accuracy (training set): 0.997912\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 57\n", "Loss = 17.445870\n", "Accuracy (training set): 0.997912\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 58\n", "Loss = 17.161138\n", "Accuracy (training set): 0.997912\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 59\n", "Loss = 16.886748\n", "Accuracy (training set): 0.997912\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 60\n", "Loss = 16.622163\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 61\n", "Loss = 16.366876\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 62\n", "Loss = 16.120414\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 63\n", "Loss = 15.882327\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 64\n", "Loss = 15.652198\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 65\n", "Loss = 15.429629\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 66\n", "Loss = 15.214250\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 67\n", "Loss = 15.005711\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 68\n", "Loss = 14.803683\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 69\n", "Loss = 14.607854\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 70\n", "Loss = 14.417935\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 71\n", "Loss = 14.233649\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 72\n", "Loss = 14.054738\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 73\n", "Loss = 13.880956\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 74\n", "Loss = 13.712074\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 75\n", "Loss = 13.547875\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 76\n", "Loss = 13.388151\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 77\n", "Loss = 13.232711\n", "Accuracy (training set): 0.998608\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 78\n", "Loss = 13.081371\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 79\n", "Loss = 12.933958\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 80\n", "Loss = 12.790308\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 81\n", "Loss = 12.650267\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 82\n", "Loss = 12.513689\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 83\n", "Loss = 12.380436\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 84\n", "Loss = 12.250376\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 85\n", "Loss = 12.123385\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 86\n", "Loss = 11.999347\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 87\n", "Loss = 11.878150\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 88\n", "Loss = 11.759687\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 89\n", "Loss = 11.643860\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 90\n", "Loss = 11.530574\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 91\n", "Loss = 11.419737\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 92\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss = 11.311264\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 93\n", "Loss = 11.205074\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 94\n", "Loss = 11.101089\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 95\n", "Loss = 10.999235\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 96\n", "Loss = 10.899443\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 97\n", "Loss = 10.801645\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 98\n", "Loss = 10.705778\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 99\n", "Loss = 10.611781\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n", "Epoch 100\n", "Loss = 10.519594\n", "Accuracy (training set): 0.999304\n", "Accuracy (test set): 0.963889\n", "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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9wFmNgIYAdChQ4dEaz9IixYwZw506ADc9Lla8yJyWA8//DCLFy9mQew3zKxZs/joo49YvHjx/qGLY8eO5ZhjjuHbb7/l9NNP5+qrr6ZVq1YHvc+KFSt46aWX+P3vf88111zD5MmTGTp06EH7nHPOObz//vuYGc8//zyPPvoojz/+OA888ADNmzdn0aJFAGzatImioiJuvPFGZs+eTU5ODhs3bqz2sSZrHP0vgKfN7IeELpq1wF7gZ8A0dy883Jlidx8DjAHIzc31qhTQuDH07RtbWL0aTjihKm8jIilwuJZ3berTp89B49OfeuopXn31VQDWrFnDihUrDgn6nJwcevbsCUDv3r35vKTrOE5hYSHXXnstX375Jbt27dr/Ge+88w4TJkzYv1/Lli2ZOnUq55133v59jjnmmGofVyInY9cC7eOWs2Pr9nP3L9x9sLv3An4dW1cMnAncYmafE/rxh5nZw9Wu+nDcQx+9WvQiUklHHnnk/uezZs3inXfeYc6cORQUFNCrV68yx683btx4//P69euX2b9/6623csstt7Bo0SKee+65Wr8aOJGg/xDobGY5ZtYIuA6YEr+DmWWZWcl73QmMBXD36929g7t3IrT689z9kFE7SbVpE2zZohE3InJYzZo1Y8uWLeVu37x5My1btqRp06Z88sknvP/++1X+rM2bN9OuXTsAxo0bt399//79eeaZZ/Yvb9q0ib59+zJ79mw+++wzgKR03VQY9O6+B7gFeBtYCkx09yVmNsrMrojt1g9YZmbLCSdeH6x2ZVVVMrRSLXoROYxWrVpx9tln061bN+64445Dtg8YMIA9e/bQpUsXRo4cSd/9fcOVd9999/H973+f3r17k5WVtX/9XXfdxaZNm+jWrRs9evRg5syZtG7dmjFjxjB48GB69OjBtddeW+XPLWHuVeoSrzG5ubmen59f9Td49VUYPBjmzYPTTkteYSKSVEuXLqVLly6pLiMtlfVvZ2bz3L3MkY2RujIWUIteRKSU6AX955+He8Um4Uy1iEgURC/oV68OrXlNliQiAkQx6D//XCNuRETiRC/oS1r0IiICRC3ov/kmjKNXi15EZL9oBb1G3IhIgqozTTHAk08+yfbt25NYUc2JVtDrhiMikqBMCvpI3RxcLXqRNJWCeYpLT1M8evRoRo8ezcSJE9m5cyeDBg3i/vvvZ9u2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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Initialize all weights to 0 (including the bias)\n", "W = np.zeros((num_labels, num_features+1)) # num_labels x (num_features + 1)\n", "\n", "# Learning rate.\n", "eta = 0.001 \n", " \n", "# Run 100 epochs of perceptron.\n", "train_accuracies = []\n", "test_accuracies = []\n", "losses = []\n", "for epoch in range(100):\n", " print(\"Epoch %d\" % (epoch + 1))\n", "\n", " # Run 1 epoch of training.\n", " multi_class_logistic_regression_sgd_epoch(X_train, y_train, W, eta)\n", " loss = evaluate_loss(X_train, y_train, W)\n", " losses.append(loss)\n", " \n", " # Predict on training set and evaluate.\n", " predicted_labels = multi_class_classify(X_train, W)\n", " accuracy = evaluate(predicted_labels, y_train)\n", " print(\"Accuracy (training set): %f\" % accuracy)\n", " train_accuracies.append(accuracy)\n", " \n", " # Predict on test set and evaluate.\n", " predicted_labels = multi_class_classify(X_test, W)\n", " accuracy = evaluate(predicted_labels, y_test)\n", " print(\"Accuracy (test set): %f\\n\" % accuracy)\n", " test_accuracies.append(accuracy)\n", "\n", "# Plot loss as a function of number of epochs.\n", "plt.plot(range(100), losses, 'b-', label='train loss')\n", "plt.legend()\n", "plt.show()\n", "\n", "# Plot train and test accuracies as a function of number of epochs.\n", "plt.plot(range(100), train_accuracies, 'b-', label='train acc')\n", "plt.plot(range(100), test_accuracies, 'r-', label='test acc')\n", "plt.legend()\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": 33, "id": "outdoor-delivery", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.0\n", "0.9583333333333334\n" ] } ], "source": [ "from sklearn.linear_model import LogisticRegression\n", "clf = LogisticRegression(fit_intercept=False, penalty='none')\n", "clf.fit(X_train, y_train)\n", "print(clf.score(X_train, y_train))\n", "print(clf.score(X_test, y_test))" ] }, { "cell_type": "code", "execution_count": null, "id": "approximate-fifty", "metadata": {}, "outputs": [], "source": [] } ], "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.9.2" } }, "nbformat": 4, "nbformat_minor": 5 }