Skip to content

Instantly share code, notes, and snippets.

@dzenanh
Created June 3, 2019 16:57
Show Gist options
  • Save dzenanh/547f6c3a25a746bb5f9ce152265bdc62 to your computer and use it in GitHub Desktop.
Save dzenanh/547f6c3a25a746bb5f9ce152265bdc62 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Perceptron Learning in Python - Basis for Neural Networks"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### with learning visualization"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import scipy as sc\n",
"import numpy.random\n",
"from pandas import Series,DataFrame\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"import matplotlib.pylab as plt\n",
"import random\n",
"from pylab import meshgrid\n",
"%matplotlib inline\n",
"plt.rcParams['figure.figsize'] = (12.0, 8.0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let us create some artificial data with 2 classes - red and green."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# X\n",
"x1 = [0,1,2,3,-2,5]\n",
"# can be seen as y in 2D\n",
"x2 = [2,0,2,-1,-2,-1]\n",
"# target \n",
"y = [1,1,1,0,0,0]\n",
"colors = [\"green\",\"green\",\"green\",\"red\",\"red\",\"red\"]"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[2, 3]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x1[2:4]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's plot the points."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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5/u3gMzMUsoBYGapV1ZW1u4+/ReCA8DMLKUcAGZmKeUAMDNLKQeAmVlKOQDMzFrYW2+9xW233VY3v2PHDqZMmVLEijIcAGZmLezQAOjduzcPPPBAESvKcACYWftSWQllZXDEEZm/BfjVzC1btjB48GC+8IUvMHToUCZMmMA777zD5s2b634m+txzz2Xjxo0AbN68mTFjxjB8+HBuuOEGjj76aAD27NnDeeedx5lnnsnw4cN56KGHAJg9ezabN29m5MiRXHfddWzZsoVhw4YBMGbMGNatW1dXy7hx46iqquJPf/oTV155JaNHj+aMM86oW1dBRUSbfYwaNSrMrGNbv3590zvfe29E164R8NdH166Z9jy8+uqrUVJSEqtXr46IiKlTp8Y999wTH/vYx+L3v/99RESsXLkyPvrRj0ZExIUXXhj33XdfREQsXLgwPvCBD0RExHvvvRe7d++OiIiampr48Ic/HPv3749XX301hg4detB4B+bnzZsX3/rWtyIiYseOHXHKKadERMT1118f99xzT0RE/PGPf4xBgwbFnj17Dqo717YDqqKJ77HeAzCz9mPOHKitPbittjbTnqeBAwcycuRIAEaNGsWWLVv47W9/y9SpUxk5ciRf/OIX2bkz8yv2K1asYOrUqQB89rOfrVtHRPDNb36TESNGMH78eLZv387rr7/e4LiXXHJJ3eGgpUuX1p0beOyxx/jud7/LyJEjGTduHHv37mXbtm15v85s/jE4M2s/6nsDLMAbY6dOneqmS0pKeP311+nevTtr1qxp4FkHq6yspKamhlWrVlFaWkpZWRl79+5t8Dl9+vShR48erF27liVLlnD77bcDmTB58MEHOfXUUw/vBTWB9wDMrP2o7z7hLXD/8GOOOYaBAwfy05/+FMi8Ib/wwgtA5rj9gw8+CMDixYvrnrN792569epFaWkpTz31FFu3bgUa/nlogM985jN8//vfZ/fu3YwYMQKAT3ziE/zoRz8ikh/sXL16dcFfY6FuCXmXpDck5fwxDUnjJO2WtCZ5fKsQ45pZysydC127HtzWtWumvQVUVlZy5513cvrppzN06NC6E7E//OEPmTdvHiNGjGDTpk0ce+yxAEyfPp2qqiqGDx/O3XffzWmnnQZAjx49GDt2LMOGDeO666573zhTpkxh8eLFXHLJJXVtN954I++99x4jRoxg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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(x1[0:3],x2[0:3], c=\"green\", marker=\"+\", label=\"positive\")\n",
"plt.scatter(x1[3:6],x2[3:6], c=\"red\", marker=\"o\", label=\"negative\")\n",
"plt.legend(loc='best')\n",
"plt.title(\"Perceptron Learning\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Set initial weights."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([1, 1])"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#w1 = round(random.uniform(1,2), 2)\n",
"#w2 = round(random.uniform(1,2), 2)\n",
"#w3 = round(random.uniform(1,2), 2)\n",
"W = np.array([1,1])\n",
"W"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Set learning rate alpha."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"alpha = 0.5"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot initial decision line."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# evaluation function if point lies on decision boundary- y=f(x)\n",
"def decision_line_func(weights,px,py):\n",
" return weights[0]*px + weights[1]*py == 0.0\n",
"\n",
"def plot_decision_line(W, step):\n",
" # get max and min of X\n",
" #maxX = max(max(x1),max(x2))\n",
" #minX = min(min(x1),min(x2))\n",
" \n",
" # returns list of points that lie on decision boundary\n",
" line_x1 = np.arange(-6, 6, 1)#range(-10,10)\n",
" line_x2 = np.arange(-6, 6, 1)\n",
" # grid of points\n",
" X1,X2 = meshgrid(line_x1, line_x2) \n",
" # evaluation of the function on the grid\n",
" mask = decision_line_func(W,X1, X2) \n",
" #print(X1[mask])\n",
"\n",
" # plot decision line\n",
" plt.plot(X1[mask],X2[mask], label='Decision line', linewidth=3)\n",
" plt.title(\"Perceptron Learning-Step:\" + str(step))\n",
" plt.text(4, 4, str(step), fontsize=20)\n",
" \n",
" \n",
"plot_decision_line([1,1],1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot points and decision line."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#plt.plot(X[mask], Y[mask], label='Decision line')\n",
"def plot_points_and_decision_line(weights,x,y,c, step):\n",
" plot_decision_line(weights,step)\n",
" plt.scatter(x, y, label='X', c=colors)\n",
" plt.legend(loc=2)\n",
" plt.xlim(-6,6)\n",
" plt.ylim(-6,6)\n",
" plt.show()\n",
" \n",
"plot_points_and_decision_line(W,x1,x2,colors,1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As you can see, one point(the most right one) is wrongly classified. It is classified as 1 but should be 0."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"# evaluation function - y=f(x)\n",
"def predict(weights,x1,x2):\n",
" return 1 if weights[0]*x1 + weights[1]*x2 > 0 else 0"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"# reset weights\n",
"W = np.array([1,1])\n",
"alpha=0.5"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Perceptron algorithm."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"oldWeight: [1 1] newWeight: [-0.5 1.5]\n"
]
},
{
"data": {
"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": [
"oldWeight: [-0.5 1.5] newWeight: [0. 1.5]\n"
]
},
{
"data": {
"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": [
"oldWeight: [0. 1.5] newWeight: [0.5 1.5]\n"
]
},
{
"data": {
"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": [
"oldWeight: [0.5 1.5] newWeight: [-2. 2.]\n"
]
},
{
"data": {
"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": [
"oldWeight: [-2. 2.] newWeight: [-1.5 2. ]\n"
]
},
{
"data": {
"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": [
"oldWeight: [-1.5 2. ] newWeight: [-1. 2.]\n"
]
},
{
"data": {
"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": [
"oldWeight: [-1. 2.] newWeight: [-0.5 2. ]\n"
]
},
{
"data": {
"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": [
"oldWeight: [-0.5 2. ] newWeight: [0. 2.]\n"
]
},
{
"data": {
"image/png": "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AGBmM83shko1jAUe89RguyTL9DpInMzsFqKDfBfUNq/UTaon/TaQW8NQWpzre5joQG+9vwMhzYN67CLNkJmdZWa5ZrYfUW/6L00R6hKGWILdzPa16Espyy36QsvxcbQrshe7DPiM6MykXcDEZMuRliSWoRgze4TovNgHUgdb2rr7ptqWExGR+GUc7GbWkegbeL114EREJHlxnMfeC1gLPGTRNUGWEH1jcXv6TGY2HhgP0K5du4GHH354DKsWEdl7LFmyZJ27d6ptvjh67AVEp2MNdvdXzexeYIu7V3vubUFBgRcWFlY3WUREqmBmS9y9oLb54jh4WkR0alTFlyFmEJ3/KyIiCcg42N19DbDSzCpuInAyadeyEBGRphXXtWKuILroUGuiS7heFFO7IiJST7EEu7svJboOdIOVlpZSVFRESUlJHCVJBvLy8ujatSs5OTlJlyIiDdBsru5YVFREhw4d6NmzJ2mXUZUm5u6sX7+eoqIievXqlXQ5ItIAzeaSAiUlJRxwwAEK9YSZGQcccIA+OYm0YM0m2AGFejOh10GkZWtWwS4iIplTsKfJysqif//+HHnkkRx99NHcddddlJeXN6itm2++mdmzZ1c7/be//S2PPvpoQ0vdbcWKFRx11FEAFBYW8oMf/CDjNkWkZWs2B0+bgzZt2rB06VIAPvvsM77zne+wZcsWbr311nq3ddttt9U4fcKECQ2qsSYFBQUUFGR0cpKIBEA99mrk5+czbdo0pkyZgruza9currnmGgYNGkS/fv24//77d8/7i1/8gr59+3L00UczadIkAMaNG8eMGTMAmDRpEn369KFfv35cfXV006BbbrmFX/3qVwAsXbqU4447jn79+nHWWWexcWN0z+ShQ4dy3XXXccwxx3DYYYexcGH6/aL3NH/+fEaNGrW7/YsvvpihQ4fSu3dvfv3rX++e7/HHH+eYY46hf//+XHbZZezatSumvSYizUGz7LH3nPS3Rmt7xc9H1nne3r17s2vXLj777DOee+45OnbsyGuvvcbnn3/O4MGDOfXUU1m+fDnPPfccr776Km3btmXDhg1faGP9+vU888wzLF++HDNj06Y9r2Y8ZswY7rvvPoYMGcLNN9/MrbfeyuTJkwEoKytj8eLFPP/889x66601Du9Utnz5cubNm8fWrVv5yle+wsSJE/nggw944oknePnl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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": [
"oldWeight: [0. 2.] newWeight: [0.5 2. ]\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAEICAYAAABLdt/UAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzt3Xt8FfWd//HXJ8lJQi7cQhLkGiJ4QUXEgLbUilWQRVbUh3bbekPbUnDrtVas3frTrm3VesEK20pd26rsakurtipFUbHqFhEUr6AERAgCgXDLhdy/vz/mJJ6Ek4TkTHKS4f18PPIwmZkz85lz5J1vvvOd+ZpzDhERCY6EeBcgIiL+UrCLiASMgl1EJGAU7CIiAaNgFxEJGAW7iEjAKNhFuoCZnWZmH8e7Djk8KNgDxMw2mdkBMyszsx1m9nszy4h3XZHCNZ7VhcebaWavd9XxWuKce805d3Rn7d/MbjGzT8OffZGZPRmxbrmZfacTjz3WzF4zs33hY/+ks44lh0bBHjz/6pzLAMYBBcB/tHcHZpbke1U94NgdFe+azexy4FLgrPBnXwC81IUl/A/wD6A/cDpwlZmd24XHl2YU7AHlnNsKLAGOBzCzPmb232a2zcy2mtkdZpYYXjfTzN4ws/vNrAS4Lbz8u2a21sxKzewjMxsXXj7IzP5sZjvDrcRrGo5rZreZ2WIzezL8urfN7MTwuseAYcDfwi3Lm8wsz8ycmX3bzDYDL4e3PdfMPjSzveEW57ERx9hkZjea2XvhVuKTZpba3veojffkSDN72cxKzGyXmS0ys77NaphrZu8B5WaW1FpdZjbJzIoO9RzC7802M/vczL4Tfo9GtnAq44GlzrkN4c9+u3NuYXg/PwNOA+aH3/P54eXHmNmLZrbbzD42s69HHPv3Zvab8PpSM3vVzIa38lbmAYucc3XhGl4Hjjv0T0J855zTV0C+gE14rTaAocCHwH+Gf34KeAhIB3KAlcD3wutmArXA1UAS0Au4CNiKFxoGjASG4zUGVgO3AslAPrARODu8r9uAGuBCIATcCHwKhJrXGP45D3DAo+HaegFHAeXA5PA+bgIKgeSIfawEBuG1EtcCs1t4T2YCr7ewrrX3ZGT4+ClANl6LdF6z93pN+H3u1VZdwCSgqNnrW9p2KrAdLxzTgMfD79HIFs7jEmA38EO81npis/XLge9E/JwObAGuCH/eJwG7gNHh9b8HSoGvhs//gcj3EHgWuDni558Dd4Y/q6OBImB8vP89HM5fcS9AXz5+mF5YlAF7gc+A/woHZS5Q1RBA4W2/CbwS/n4msLnZvpYC10Y5xilRtv0R8Lvw97cBKyLWJQDbgNMiaowW7PkRy34C/LHZPrYCkyL2cUnE+ruB37TwnswkSrC39Z5E2f484J1m7/WVUd7/qHURPdhb2vYR4BcR60bSSrCHt7kYWIb3C7EEmBuxbjlNg/3fgNeavf4h4P+Fv/898ETEugygDhjawrG/jPeLtzZc5+3x/rdwuH/1uP5MadN5zrllkQvM7AS81tQ2M2tYnIDXamsQ+T14LdENUfY/HBhkZnsjliUCr0Xbl3OuPtwFMaiNuiOPPwjvF1PkPrYAgyO22R7xfcUh7L+54bTynphZLl5L9TQgM7xuTys1d6SulrYdBKyKdhwzGwZ81PCz8/rUcc4tAhaZWQjvl9AiM1vjnFsa5bjDgVOafYZJwGPRjumcKzOz3eG6mpyzmfUH/g58H6+vfSCw2Mx2OOf+q5Vzl06kYD88bMFrnQ5wztW2sE3zx3xuAY5sYV+fOudGtXK8oQ3fmFkCMAT4vIXjRDv+58AJEfuw8D63tnLM9mrrPfl5uKYTnHO7zew8YH4rNftpG9571qDx/XTObcZrQUflnKsB/mRmc/GuryyNUucW4FXn3ORWaoj8DDPwuos+j7JdPlDnnHs0/HORmT0BTMP7i1HiQBdPDwPOuW3AC8C9ZtbbzBLCFwdPb+VlDwM3mtnJ5hkZvoC2EigNXzjsZWaJZna8mY2PeO3JZnaBeaNFrsML0BXhdTvwwqA1fwTOMbMzwy3QH4T38X/tPnmPmVlq5NchvCeZeN1a+8xsMF7/dVf5I3CFmR1rZml4XVMtMu/i9zlmlhk+j3/B659/M7xJ8/f8WeAoM7vUzELhr/GRF6iBaWb2FTNLBv4Tr3st2l8on3gl2LfCxx6I19XzXofOXHyhYD98XIZ3sfMjvC6FxcARLW3snPsT8DO8P69LgaeB/s65OmA6MBbvouguvF8CfSJe/gzeP+49eMPwLgi3JAF+AfyHeaNdbmzh2B/jXRB8MLz/f8Ubxlnd/tMGvD7gA5Ff4V86rb0nt+MNGd0HPAf8pYPHbjfn3BLgV8AreH3XDb8Uq1p4yX7gFmAz3vWVu4E5zrmG8fsPABea2R4z+5VzrhSYAnwDrxW+HbgL70Jpg/8B/h/eRdmT8T4PAMxsiZndEq51P3ABcD3ee7gG+AC4o6PnL7Gz8MUPEV+Y2W14F/kuaWtbOTThlvQHQEorXWl+Hu/3eBd6230PhHQParGLdENmdr6ZpZhZP7zW9N+6ItQlGHwJdjPra95NKevMu6HlS37sV+Qw9j2gGG9kUh0wJ77lSE/iS1eMmf0Bb1zsw+GLLWnOub1tvU5ERPwXc7CbWR+8Cyb5Th32IiJx58c49hHATuB35j0TZDXeHYvlkRuZ2SxgFkB6evrJxxxzjA+HFhE5fKxevXqXcy67re38aLEX4A3Hmuice9PMHgD2O+daHHtbUFDgVq1a1dJqERGJwsxWO+cK2trOj4unRXhDoxpuhliMN/5XRETiIOZgd85tB7aYWcMkAmcS8SwLERHpWn49K+ZqvIcOJeM9wvUKn/YrIiLt5EuwO+fW4D0HusNqamooKiqisrLSj5IkBqmpqQwZMoRQKBTvUkSkA7rN0x2LiorIzMwkLy+PiMeoShdzzlFSUkJRUREjRoyIdzki0gHd5pEClZWVZGVlKdTjzMzIysrSX04iPVi3CXZAod5N6HMQ6dm6VbCLiEjsFOwREhMTGTt2LMcddxwnnngi9957L/X19R3a16233sqyZctaXP+b3/yGRx99tMX1h2rTpk0cf/zxAKxatYprrrkm5n2KSM/WbS6edge9evVizZo1ABQXF/Otb32L/fv3c/vtt7d7Xz/96U9bXT979uwO1diagoICCgpiGpwkIgGgFnsLcnJyWLhwIfPnz8c5R11dHT/84Q8ZP348Y8aM4aGHHmrc9q677uKEE07gxBNP5OabbwZg5syZLF68GICbb76Z0aNHM2bMGG680Zs06LbbbuOee+4BYM2aNZx66qmMGTOG888/nz17vDmTJ02axNy5c5kwYQJHHXUUr70WOV/0wZYvX8706dMb93/llVcyadIk8vPz+dWvftW43eOPP86ECRMYO3Ys3/ve96irq/PpXROR7qBbttjzbn6u0/a96c5zDnnb/Px86urqKC4u5plnnqFPnz689dZbVFVVMXHiRKZMmcK6det45plnePPNN0lLS2P37t1N9lFSUsJTTz3FunXrMDP27j34acaXXXYZDz74IKeffjq33nort99+O/PmzQOgtraWlStX8vzzz3P77be32r3T3Lp163jllVcoLS3l6KOPZs6cORQWFvLkk0/yxhtvEAqFuOqqq1i0aBGXXXbZIe9XRLq3bhns3dELL7zAe++919gK37dvH+vXr2fZsmVcccUVpKWlAdC/f/8mr+vTpw+pqal8+9vfZvr06Y0t6gb79u1j7969nH66N4fy5ZdfzkUXXdS4/oILLgDg5JNPZtOmTe2q+ZxzziElJYWUlBRycnLYsWMHL730EqtXr2b8eG/u6QMHDpCTk9Ou/YpI96Zgb8XGjRtJTEwkJycH5xwPPvggZ599dpNtli5d2uo+kpKSWLlyJS+99BKLFy9m/vz5vPzyy4dcQ0qKN79wYmIitbXtmxmt4bWRr3fOcfnll/OLX/yiXfsSkZ6jWwZ7e7pLOsvOnTuZPXs23//+9zEzzj77bH7961/zta99jVAoxCeffMLgwYOZPHkyP/3pT7n44osbu2IiW+1lZWVUVFQwbdo0Jk6cSH5+fpPj9OnTh379+vHaa69x2mmn8dhjjzW23jvDmWeeyYwZM7j++uvJyclh9+7dlJaWMnz48E47poh0rW4Z7PFy4MABxo4dS01NDUlJSVx66aXccMMNAHznO99h06ZNjBs3Ducc2dnZPP3000ydOpU1a9ZQUFBAcnIy06ZN4+c//3njPktLS5kxYwaVlZU457jvvvsOOu4f/vAHZs+eTUVFBfn5+fzud7/rtHMcPXo0d9xxB1OmTKG+vp5QKMSCBQsU7CIB4sucp+0VbaKNtWvXcuyxx3Z5LRKdPg+R7qcrJ9oQEZFuRMEuIhIwCnYRkYBRsIuIBIyCXUQC6bnnnmPKlCkMGTKEXr16kZ+fz0UXXcQ///nPeJfW6RTsIhI4c+fOZfr06bz99ttMnTqVa6+9lnHjxvHMM88wceJEHn/88XiX2KkU7GFbtmxhxIgRjc962bNnDyNGjGj3bfwiEl/bt2/nnnvuITc3l48++oiHH36YO++8k8WLF7N06VKcc9x6663xLrNT9chgr66rZsHKBZzy8Cl85ZGv8Oi7j1LvOvbc9AZDhw5lzpw5jU9nvPnmm5k1axZ5eXk+VCwiXeWzzz6jvr6eU0455aDnIJ1xxhlkZmayc+fOOFXXNXrcnaf1rp7Jj01m1eerqKipAGDN9jUsWb+E/73wf2Pa9/XXX8/JJ5/MvHnzeP3115k/f74fJYtIFxo1ahTJycmsXLmSXbt2MWDAgMZ1//jHPygtLeW8886LY4Wdr8cF+98L/87b295uDHWA8ppy/vrJX1mzfQ1jB47t8L5DoRC//OUvmTp1Ki+88AKhUMiPkkWkC/Xv35+77rqLG264gdGjR3PeeeeRlZXFhg0b+Otf/8rkyZObzKcQRD0u2F/59BXKqssOWl5XX8erm16NKdgBlixZwhFHHMEHH3zA5MmTY9qXiMTHddddR15eHldeeSW//e1vG5ePHDmSmTNnBv5R1T2uj31gxkBSE1MPWp6cmExOemwf1po1a3jxxRdZsWIF999/P9u2bYtpfyISH3fffTcXXnghM2fOZMOGDZSXl7N69Wry8/O5+OKLuemmm+JdYqfqccF+yZhLSExIPGh5YkIiM46Z0eH9OueYM2cO8+bNY9iwYfzwhz9snMZORHqO5cuXM3fuXM4991zuu+8+8vPzSUtLY9y4cTz11FMMHjyYe++9l40bN8a71E7T44I9NyOXv33zb2SnZZOZnElGcgbD+gzj5cteJi2U1uH9/va3v2XYsGGN3S9XXXUVa9eu5dVXX/WrdBHpAs8++yzgjYBpLi0tjQkTJlBfX88777zT1aV1Gd/62M0sEVgFbHXOTW9r+1icMeIMtv1gG+/ueJekhCROyDkBM4tpn7NmzWLWrFmNPycmJvL222/HWqqIdLGqqiqAFoc0NixPTk7uspq6mp8t9muBtT7ur1WJCYmMO2IcY3LHxBzqIhIcp512GgALFy5k69atTdYtWbKEN954g9TUVL785S/Ho7wu4UuL3cyGAOcAPwNu8GOfIiIdceGFF3LWWWexbNkyjj32WM4//3wGDhzI2rVrefbZZ3HOceedd5KVlRXvUjuNX10x84CbgMxYduKcU+u7G4jHrFoifklISOD5559nwYIFPPHEEzz11FNUVFTQv39/pk2bxjXXXMOUKVPiXWanijnYzWw6UOycW21mk1rZbhYwC2DYsGEHrU9NTaWkpISsrCyFexw55ygpKSE19eAhpSI9RSgU4rrrruO6666LdylxEfOcp2b2C+BSoBZIBXoDf3HOXdLSa6LNeVpTU0NRURGVlZUx1SOxS01NZciQIbrzVqSbOdQ5T2NusTvnfgT8KHzQScCNrYV6S0KhECNGjIi1HBGRw16PG8cuIiKt8/VZMc655cByP/cpIiLtoxa7iEjAKNhFRAJGwS4iEjAKdhGRgFGwi4gEjIJdRCRgFOwiIgGjYBcRCRgFu4hIwCjYRUQCRsEuIhIwCnYRkYBRsIuIBIyCXUQkYBTsIiIBo2AXEQkYBbuISMAo2EVEAkbBLiISMAp2EZGAUbCLiASMgl1EJGAU7CIiAaNgFxEJGAW7iEjAKNhFRAJGwS4iEjBJ8S5ApDso3F3IgrcWsGH3Bs4ccSZXnHQFvVN6x7ss36woWsHC1QvZW7mXi0ZfxEXHXURSgv75B5U552LbgdlQ4FEgF3DAQufcA629pqCgwK1atSqm44r45aWNL3HuE+dSU1dDTX0NaaE0snplsXrWarLTs+NdXszu++d9/OSVn3Cg5gAOR3oonYJBBbx46YuEEkPxLk/awcxWO+cK2trOj66YWuAHzrnRwKnAv5vZaB/2K9LpnHNc/vTlVNRUUFNfA0BFTQXby7Zzxz/uiHN1sdtVsYtbXrqFipoKHF4jrrymnFWfr+LPa/8c5+qks8Qc7M65bc65t8PflwJrgcGx7lekK3y27zN2H9h90PKa+hqe/vjpOFTkr1c3vUpKYspBy8tryvnzRwr2oPL14qmZ5QEnAW9GWTfLzFaZ2aqdO3f6eViRDksPpVPv6qOuy0zO7OJq/JeZktnYUo+UYAn069UvDhVJV/At2M0sA/gzcJ1zbn/z9c65hc65AudcQXZ2z++3lGDITs/m1CGnHnQhMS2UxtUTro5TVf45I+8MUpIObrGnJKbw3XHfjUNF0hV8CXYzC+GF+iLn3F/82KdIV3nywic5ZsAxZCRn0Du5N6lJqXzj+G/w3ZN7fvCFEkMsvWQp2WnZ9E7pTe8U7/zunnw34wePj3d50kn8GBVjwB+A3c656w7lNRoVI92Nc46VW1dStL+IgkEFDO87PN4l+aq2vpblm5ZTVl3G6cNPVzdMD3Woo2L8CPavAK8B7wMNnZW3OOeeb+k1CnYRkfY71GCP+Q4F59zrgMW6HxER8YceKSAiEjAKdhGRgFGwi4gEjIJdRCRgFOwiIgGjYBcRCRgFu4hIwCjYRUQCRsEuIhIwCnYRkYDRpIc+WvTmZ7xftI+RORmMzMlgVG4mg/qk4j0nTUSkayjYffTKumKWrS1usiw9OZEjw0E/MieDUTmZjMrJYGj/NBITFPgi4j8Fu4/WF5cdtKy8uo73ivbxXtG+JsuTkxLIH5DeGPZeCz+DvKx0kpPUQyYiHadg99Ed5x3PJzvKKCwupbC4jPXFZeytqIm6bXVtPeu2l7JueymwrXF5YoIxPCuNUREt/JE5GRyZnUGv5MQuOhMR6clifh57Rxwuz2N3zlFSXs36HWUU7iyjcEcp64vLKCwuo7i0ql37MoPBfXs1Dfxc7/veqaFOOgMR6U66bKKNjjhcgr01+w7UUFjctHW/fkcZW/ceaPe+cnunNIb9kTkZjAp/ZWUcPNeliPRcCvYeqqK6lg3F5RTuLPVa+uEW/qaScurb+VH1Sws1CfuGfvyBvTVSR6QnUrAHTFVtHZt2VbA+ooW/obiMjTvLqa6rb3sHETJSkpqGffi/Q/pppI5Id9ZlU+NJ10hJSuTogZkcPTCzyfLauno2765oEvYN/fgHauqi7qusqpZ3t+zl3S17mx0jgSOzm4b9qNwMhmelE0rUSB2RnkIt9oCqr3d8vu/AF2EfvoC7fkcp+ytr27WvpAQjb0B6Y9g3fB2ZnUFqSCN1RLqKWuyHuYQEY0i/NIb0S+OMo3Malzvn2FlWReGOL1r2XvdOObvKoo/Uqa13jX39kcxgaL+0JoE/KjeTI7PTydRIHZG4UYtdGu2tqG4yQqdhiObn+yrbva8j+qQ2ad03jMfvn57cCZWLHB508VR8U1ZVy4bG1v0XQzQ3765o90idrPTkiLDPYGROJqNyM8jJTNFIHZE2qCtGfJORksSJQ/ty4tC+TZZX1tTx6a7yxi6dwmJviOamknJq6qInfkl5NSWf7ubNT3c3WZ6ZmtT0om24hT+4by8SNFJHpF0U7NJhqaFEjj2iN8ce0bvJ8pq6ej4rqTjoBqwNO8uorIk+NLO0spZ3Nu/lnc1NR+qkhryROqMa++/DI3X6p5GkkToiUSnYxXehxITG7hYY2Li8vt6xde+BL8bi7/hiiGZpVfSROpU19Xz4+X4+/Hx/s2MYI8IPURvZ8BC1nAxGDEjXSB057KmPXeLOOceO/VURI3S+CPyS8up27SvBYFj/tCZh3/BLJj2l+7RjKmsree6T59hVsYvT807nmAHHxLsk6QG69OKpmU0FHgASgYedc3e2tr2CXQ5VSZkX+N4YfK87Z/2OMrbvb/9IncF9e0W947ZvWteO1Hl3+7t87dGvUVNXQ22995fKxSdczMJ/XagLyNKqLgt2M0sEPgEmA0XAW8A3nXMftfQaBbvEan9lTeNdtpF3227ZU0F7/5cekJHCyJx0bxKU3AxGZmcwMjeD7Az/R+o458h7II/N+zY3WZ4eSueRGY/w9eO+7uvxJFi6clTMBKDQObcxfOAngBlAi8EuEqveqSFOGtaPk4b1a7L8QHUdG3eVNfbhN3TvfFZSQW0LYzN3lVWxq6yKFRubjtTpnZrEqNxMRoYv2DZ06Qzq0/GROmu2r2H3gd0HLS+vKeehVQ8p2MUXfgT7YGBLxM9FwCnNNzKzWcAsgGHDhvlwWJGD9UpO5LhBfThuUJ8my6tr6/mspPyLG7DCLfwNO8uoro0+Umd/ZS2rP9vD6s/2NFmelpzYOFKn8THJuZkM7derzZE61XXVJLQwh3xlbfu7l0Si6bKrSc65hcBC8Lpiuuq4IuBNRTgqN5NRuZn8S8TyunpH0Z6KxjttP9lR2ngzVnl19IeoVVTX8f7Wfby/tdl0h4kJ5GenRzwT37uAmzcgjZQkb6TOuCPGkZhw8KidtFAaF4+52LfzlcObH8G+FRga8fOQ8DKRbs+bijCd4VnpnEVu43LnHNv2VUbcbRu+Aau16Q7rIqc7bHaM/mmNXTnXjHmc+1fdRBWbqaovJSOUwYkDT+TbJ327U89VDh9+XDxNwrt4eiZeoL8FfMs592FLr9HFU+mpok132DBip73THQL0Sqkgb0AqXx6Rz1G5mY3DNPv00kPU5GBddvHUOVdrZt8HluINd3yktVAX6cnMjAEZKQzISOFLR2Y1WRdtusPC4jKK9rQ83eGBqjTWboW1Wzc1WZ6TmRIxQueLC7hZ6ckaEilt0g1KIp2sorqWjTvLm9xxW1hcxme7K6hr51PU+qaFGh+eFjkW/4g+mu7wcKCnO4p0cw3THUbecVsY43SHjUMzw//VdIfBoqc7inRzTac7PKJxeW1dPVv2HGB9uP++sKE/v7iMihZG6rQ23WF+9sF32w7PSic5SQ9RCyoFu0g3k5SYwIgB6YwYkM6UiOUN0x0WNo7SaZgUpeXpDqtq61m7bT9rtzV9iFpSgjE8K+2Lu2013WGgqCtGpIdrnO6wuPkdt2UtTnfYkobpDps/QG1kToamO+wG1McuIo3THTYdj1/G1r0tj9RpycDeqYzKzWh8Jr6mO+x6CnYRaVF5VW3jkzIbxuEXFpd2eLrDpk/N9AI/t7emO/SbLp6KSIvSU5IYM6QvY4ZEn+4w8pn464tL+XRX29Mdrmw+3WFKEiMjRug0hL6mO+x8CnYRadTadIebd1dEPBO/tHGkTovTHVa1Pd1h5AxYw7PSCGm6Q18o2EWkTaFEL4yPzM5osrxhusMv+vFLG/vyS1sYqdPadId5Wenh1n03n+6wrAz+7/8gMxNOOQUSutcvJPWxi4i/Xn8dd955FCelU9h/MOv7DabwostZ3yuLDTvL2FXW0ekOvcBvaOkfmZNBRjymO3zkEbj6akhKAuegTx9YsgSOP77TD62LpyLS9UpLYfBg77+R0tLg449hyBB2l1c3aeE3fL9tX/ufRz+oT2qTZ+k0PC65T1onDc185x2YOBEONBtVlJsLW7dCYuf+ZaGLpyLS9Z5+mqhzE9bWwqJFMHcu/dOTmTCiPxNG9G+ySWllDRt2lh90x+3m3S1Pd/j5vko+31fJPz7Z2bjs0lOH85/ndVLr+aGHoDrKXxwVFbB8OZx5Zucct50U7CLinz17vBBvrroaSkpafWlmaoixQ/sydujBI3UiH6LWMGJn067yqNMdjszJOGiZb3btgrroj3Vgz57oy+NAwS4i/jnrLO/21ebS02Hq1A7tMjWUyOhBvRk96OCROo3THUaMxz9mYGaHjnNIZsyAv/8dysubLq+uhq9+tfOO204KdhHxz+jRcNll8PjjX4RfejqccYb35aNQYkJ49EwmUzv/uqXn3/4NFiyADz744vzS0uCWWyAnp4uKaJuCXUT89etfw7Rp3uiR6mq49FL4+tejt+R7muRkePVV7xfXk09C374wZ47vv7RipVExIiI9xKGOiuleo+pFRCRmCnYRkYBRsIuIBIyCXUQkYBTsIiIBo2AXEQkYBbuISMAo2EVEAkbBLiISMAp2OXTl5fDhh7BvX7wrEZFWxBTsZvZLM1tnZu+Z2VNm1rftV0mP4xz8+MeQnQ1f+hIMHAizZ0d/PKuIxF2sLfYXgeOdc2OAT4AfxV6SdDsLFsC8ed6sMaWlUFkJjz3mhb2IdDsxBbtz7gXnXEOzbQUwJPaSpNu5+25vhphIFRVe4NdHn6FeROLHzz72K4ElLa00s1lmtsrMVu3cubOlzaQ72rUr+vLKSqiq6tpaRKRNbQa7mS0zsw+ifM2I2ObHQC2wqKX9OOcWOucKnHMF2dnZ/lQvXaOghaeE5uVBr15dWoqItK3NiTacc2e1tt7MZgLTgTNdPB7uLp3v3nth0iSvhd7Q9dKrF8yfH9eyRCS6WEfFTAVuAs51zlW0tb30UOPHw4oVcMEFMGKENzvOyy93eA5LEelcsU6NNx9IAV40b9qrFc652TFXJd3PCSfAn/4U7ypE5BDEFOzOuZF+FSIiIv7QnaciIgGjYBcRCRgFu4hIwCjYRUQCRsEuIhIwCnYRkYBRsIuIBIyCXUQkYBTsIiIBo2AXEQkYBbuISMAo2EVEAkbBLiISMAp2EZGAUbCgiObdAAAFqklEQVSLiASMgl1EJGAU7CIiAaNgFxEJGAW7iEjAKNhFRAJGwS4iEjAKdhGRgFGwi4gEjIJdRCRgFOwiIgGjYBcRCRgFu4hIwPgS7Gb2AzNzZjbAj/2JiEjHxRzsZjYUmAJsjr0cERGJlR8t9vuBmwDnw75ERCRGMQW7mc0Atjrn3vWpHhERiVFSWxuY2TJgYJRVPwZuweuGaZOZzQJmAQwbNqwdJYqISHuYcx3rQTGzE4CXgIrwoiHA58AE59z21l5bUFDgVq1a1aHjiogcrsxstXOuoK3t2myxt8Q59z6QE3HATUCBc25XR/cpIiKx0zh2EZGA6XCLvTnnXJ5f+xIRkY5Ti11EJGAU7CIiAaNgFxEJGAW7iEjAKNhFRAJGwS4iEjAKdhGRgFGwi4gEjIJdRCRgFOwiIgGjYBcRCRgFu4hIwCjYRUQCRsEuIhIwCnYRkYBRsIuIBIyCXUQkYBTsIiIBo2AXEQkYBbuISMAo2EVEAkbBLiISMAp2EZGAUbCLiASMgl1EJGAU7CIiAaNgFxEJGAW7iEjAxBzsZna1ma0zsw/N7G4/ihIRkY5LiuXFZnYGMAM40TlXZWY5/pQlIiIdFWuLfQ5wp3OuCsA5Vxx7SSIiEouYWuzAUcBpZvYzoBK40Tn3VrQNzWwWMCv8Y5WZfRDjsbuzAcCueBfRiYJ8fkE+N9D59XRHH8pGbQa7mS0DBkZZ9ePw6/sDpwLjgT+aWb5zzjXf2Dm3EFgY3ucq51zBoRTYE+n8eq4gnxvo/Ho6M1t1KNu1GezOubNaOcgc4C/hIF9pZvV4vzF3HmqhIiLir1j72J8GzgAws6OAZIL9Z5CISLcXax/7I8Aj4f7yauDyaN0wUSyM8bjdnc6v5wryuYHOr6c7pPOzQ8thERHpKXTnqYhIwCjYRUQCJq7Bfjg8jsDMfmBmzswGxLsWv5jZL8Of23tm9pSZ9Y13TX4ws6lm9rGZFZrZzfGux09mNtTMXjGzj8L/3q6Nd01+M7NEM3vHzJ6Ndy1+M7O+ZrY4/O9urZl9qbXt4xbszR5HcBxwT7xq6SxmNhSYAmyOdy0+exE43jk3BvgE+FGc64mZmSUCC4B/AUYD3zSz0fGtyle1wA+cc6Px7jv594CdH8C1wNp4F9FJHgD+7pw7BjiRNs4zni32w+FxBPcDNwGBukLtnHvBOVcb/nEFMCSe9fhkAlDonNvonKsGnsBreASCc26bc+7t8PeleMEwOL5V+cfMhgDnAA/Huxa/mVkf4KvAfwM456qdc3tbe008g73hcQRvmtmrZjY+jrX4zsxmAFudc+/Gu5ZOdiWwJN5F+GAwsCXi5yICFHyRzCwPOAl4M76V+GoeXiOqPt6FdIIReDd9/i7c1fSwmaW39oJYx7G3yq/HEXRXbZzfLXjdMD1Sa+fmnHsmvM2P8f7EX9SVtUnHmVkG8GfgOufc/njX4wczmw4UO+dWm9mkeNfTCZKAccDVzrk3zewB4GbgJ629oNME/XEELZ2fmZ2A91v2XTMDr6vibTOb4Jzb3oUldlhrnx2Amc0EpgNn9qRfxq3YCgyN+HlIeFlgmFkIL9QXOef+Eu96fDQRONfMpgGpQG8ze9w5d0mc6/JLEVDknGv4C2sxXrC3KJ5dMYF9HIFz7n3nXI5zLs85l4f3wYzrKaHeFjObivdn77nOuYp41+OTt4BRZjbCzJKBbwB/jXNNvjGvhfHfwFrn3H3xrsdPzrkfOeeGhP+tfQN4OUChTjg3tphZw5MdzwQ+au01ndpib0NHH0cg8TcfSAFeDP9FssI5Nzu+JcXGOVdrZt8HlgKJwCPOuQ/jXJafJgKXAu+b2Zrwslucc8/HsSY5dFcDi8KNjo3AFa1trEcKiIgEjO48FREJGAW7iEjAKNhFRAJGwS4iEjAKdhGRgFGwi4gEjIJdRCRg/j+C3gPEEgEDqwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"oldWeight: [0.5 2. ] newWeight: [-2. 2.5]\n"
]
},
{
"data": {
"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": [
"oldWeight: [-2. 2.5] newWeight: [-1.5 2.5]\n"
]
},
{
"data": {
"image/png": "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+ig5OTn4fD4aGho47bTTOO+881i7di2PPvoob7/9NhkZGezcufOQfezYsYNHHnmEtWvXYmbs3h26mvE111zDb3/7W8466yx+/OMfc/vtt7NgwQIAmpubWb58OU8++SS33357u6d3Drd27VpeeuklamtrGTNmDPPnz2f9+vWUlpbyxhtvkJyczDe+8Q0WLVrENddcc8z7FZHYFpPBHoueffZZ3n333YOz8JqaGj766COef/55rr/+ejIyMgDo37//IffLyckhLS2Nr3zlK1x44YUHZ9QH1NTUsHv3bs46K3BN5WuvvZYrrrji4Pjll18OwNSpU9m4ceNx1XzBBReQmppKamoqubm5bNmyhRdeeIEVK1bg9QauRb1//35yc3OPa78iEtsU7O3YsGEDiYmJ5Obm4pzjt7/9Leeff/4h2zzzzDPt7iMpKYnly5fzwgsvsHTpUu655x5efPHFY64hNTVwveHExESam4/vSmkH7tv2/s45rr32Wn76058e175EpOeIyWA/ntMlXWXbtm3ccMMNfPOb38TMOP/88/nd737HOeecQ3JyMh9++CF5eXnMnDmTO+64gyuvvPLgqZi2s/a9e/dSV1fH7NmzOe200xg1atQhx8nJyaFfv3689tprnHHGGTzwwAMHZ+9dYcaMGVxyySXcdNNN5ObmsnPnTmpraxk+fHiXHVNEuldMBnu07N+/n8mTJ9PU1ERSUhJXX301//Ef/wHAV7/6VTZu3MiUKVNwzjFo0CCWLVvGrFmzKC8vp7CwkJSUFGbPns1///d/H9xnbW0tl1xyCfX19TjnuOuuu0KOe//993PDDTdQV1fHqFGj+Mtf/tJlj3Hs2LHceeednHfeebS2tpKcnMy9996rYBeJIxG55unxCnehjTVr1nDyySd3ey0Snn4eIrGnOy+0ISIiMUTBLiISZxTsIiJxRsEuIhJnFOwiEneWLl3KjTfeyBlnnEGfPn0wM6666qp27/Pmm28ye/Zs+vfvT3p6OhMnTmTBggU9cskNtTuKSNy58847WbVqFVlZWeTn57N27dp2t3/00Uf5whe+QFpaGkVFRfTv35/HH3+cm266iTfeeIMlS5Z0U+WRoRl7kN/vZ+TIkQfXetm1axcjR4487o/xi0j03X333Xz44Yfs2bOH3/3ud+1uu2fPHr72ta+RmJjIyy+/zJ/+9Cd+8Ytf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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": [
"oldWeight: [-1.5 2.5] newWeight: [-1. 2.5]\n"
]
},
{
"data": {
"image/png": "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u+66C4CWlhZWr17NU089xW233Raye6ezDRs28PLLL1NfX88RRxzBwoUL2bhxI4899hjLli0jISGBL33pSyxZsoQrr7yy18cVkdgWk8Eei5577jneeuutYCt89+7d/Otf/+KFF17gmmuuISUlBYD09PQDHpeWlkZycjKf//znOe+884It6na7d++mtraWU07x1lS+6qqruOSSS4LbL7roIgCOP/54Kioq+lTzueeeS1JSEklJSWRlZfHhhx/y4osvsnbtWmbN8tai3rdvH1lZWX06rojENgV7COXl5cTFxZGVlYVzjt/85jecddZZB+zz7LPPhjxGfHw8q1ev5sUXX+Txxx9n0aJFvPTSS72uISnJW284Li6Olpa+rZTW/tiOj3fOcdVVV/GTn/ykT8cSkaEjJoO9L90lA+Wjjz7i+uuv58tf/jJmxllnncW9997LJz/5SRISEnj//feZNGkS8+bN44c//CGXXXZZsCumY6t9z549NDQ0cM4551BcXEx+fv4B50lLS2PMmDG89tprnHzyyTzyyCPB1vtAOP3007nwwgv5+te/TlZWFjU1NdTX1zNlypQBO6eIDK6YDPZo2bdvHzNmzKC5uZn4+HiuuOIKvvGNbwBw3XXXUVFRwcyZM3HOMXbsWJYuXcr8+fMpLS2lqKiIxMREzjnnHH784x8Hj1lfX8+FF15IY2Mjzjl+9atfHXTehx56iOuvv56Ghgby8/N58MEHB+w5Tp06ldtvv50zzzyTtrY2EhISuOeeexTsIj4SkTVP+6qrhTbWr1/PUUcdNei1SNf0fojEnsFcaENERGKIgl1ExGcU7CIiPqNgFxHxGQW7iPjO448/zg033MDJJ5/MqFGjMDMuv/zyLvdtbm7m7rvv5pprrmHGjBkkJiZiZtx///2DXHXkaLijiPjO7bffzrp16xg5ciTZ2dls2LCh23337t3L1772NQDGjRvH+PHj2bJly2CVOiDUYg/YsmULeXl5wbledu3aRV5eXp8v4xeR6Lvzzjt5//33qaur49577w25b0pKCk899RTbtm1jx44dXHvttYNU5cAZksHe1NrEPavv4YT7T+CkB07i4XUP0+b6N296u8mTJ7Nw4cLg7Iw333wzCxYsIDc3NwIVi8hgOu200zjssMN6tRpYYmIiZ599NhMmTBiEygbHkOuKaXNtzHtkHiXbSmho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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": [
"oldWeight: [-1. 2.5] newWeight: [-0.5 2.5]\n"
]
},
{
"data": {
"image/png": "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9hr5+fmUlZU1a2Pz5s385S9/YdWqVZgZW7bsejXjc889l1tvvZVjjz2Wq666imuuuYb58+cDUFdXx7Jly3jssce45ppr2hzeaWnVqlU899xzVFRU8IUvfIE5c+bw4Ycf8uCDD/Lyyy+TnZ3NhRdeyKJFizj33HM73K6I9G69Mth7o6eeeoq33nqrqRe+detWPvjgA5555hnOP/988vPzARgyZEiz1w0cOJC8vDwuuOACTjnllKYedaOtW7eyZcsWjj02uKfyeeedx+mnn960/NRTTwXg8MMPZ82aNZ2q+eSTTyY3N5fc3FyGDx/Op59+ytKlS1m+fDkTJwb3oq6qqmL48OGdaldEejcFextWr15NZmYmw4cPx9259dZbOemkk5qt8+STT7bZRlZWFsuWLWPp0qUsXryYBQsW8Oyzz3a4htzc4H7DmZmZ1NV17k5pja+Nf727c95553H99dd3qi0RSR+9Mtg7M1zSXTZu3Mjs2bP5wQ9+gJlx0kkncfvtt/OVr3yF7Oxs3n//fUaOHMmUKVO49tprOfvss5uGYuJ77du3b6eyspJp06YxadIkxo0b12w7AwcOZPDgwbz44oscffTR3HfffU299+5w/PHHM336dH7yk58wfPhwysrKqKioYPTo0d22TRHpWb0y2FOlqqqKQw45hNraWrKyspgxYwY//elPAfjud7/LmjVrOOyww3B3hg0bxpIlS5g6dSorVqygqKiInJwcpk2bxi9+8YumNisqKpg+fTrV1dW4O7/+9a932e4999zD7NmzqaysZNy4cdx9993dto/jx4/nuuuu48QTT6ShoYHs7Gxuu+02BbtIhIRyz9POSnSjjZUrV/LFL36xx2uRxPR5iPQ+PXmjDRER6UUU7CIiEaNgFxGJGAW7iEjEKNhFJHIWL17M3LlzOfrooxkwYABmxjnnnJNw3Q8++IAbbriBr3zlK4waNYqcnBz23HNPpk+fznPPPdfDlYdDpzuKSORcd911vPnmm/Tr14+CggJWrVrV6rpXXnklDz74IOPHj2fatGkMGTKE9957j0cffZRHH32UW265Je2umqoee0xJSQljx45tutZLeXk5Y8eO7fQ0fhFJvZtvvpn333+fbdu2cfvtt7e57tSpU3njjTd45513uOOOO7j++ut5+OGHWbp0KdnZ2VxyySWsX7++hyoPR1oGe019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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": [
"oldWeight: [-0.5 2.5] newWeight: [0. 2.5]\n"
]
},
{
"data": {
"image/png": "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5Pnnn2f58uWYGVu27H0340suuYQHHniAIUOGcOutt3L77bczZcoUAMrKyli0aBEvvvgit99+e43DO5UtX76cefPmUVxczJFHHsmECRNYsWIFTz/9NK+//jpZWVlceeWVTJ8+nUsuuaTO7YpI89Ysg705mj17Nm+99dbuXvjWrVv58MMPefnll7nsssvIyckBoGPHjnus16FDB1q1asUPf/hDRo0atbtHvcvWrVvZsmULQ4YEz1S+9NJLOffcc3fPP/vsswEYMGAAq1atqlfNp59+OtnZ2WRnZ5Obm8vnn3/O3LlzWbx4MQMHBs+i3r59O7m5ufVqV0SaNwV7DVauXElGRga5ubm4Ow888ACnnHLKHsu89NJLNbaRmZnJokWLmDt3LjNmzGDq1Km88sorda4hOzt43nBGRgZlZfV7UtqudRPXd3cuvfRS7rrrrnq1JSLpo1kGe32GSxrL+vXrGT9+PD/+8Y8xM0455RQeeughvvvd75KVlcUHH3xA586dGT58OHfccQcXXnjh7qGYxF77tm3bKCkp4bTTTuOEE06gZ8+ee2ynQ4cO7L///rz66qsMHjyYJ598cnfvvTGcdNJJjB49mquvvprc3Fw2bdpEcXEx3bp1a7RtikjTapbBnirbt2+nX79+lJaWkpmZycUXX8zPfvYzAC6//HJWrVpF//79cXc6derEzJkzGTlyJIWFheTn59OyZUtOO+00fvnLX+5us7i4mNGjR7Njxw7cnfvuu2+v7T7++OOMHz+ekpISevbsyWOPPdZo+9i7d2/uvPNORowYQUVFBVlZWTz44IMKdpEYieSZp/VV1YM2li1bxje/+c0mr0WqptdDpPlpygdtiIhIM6JgFxGJGQW7iEjMKNhFRGJGwS4isTNjxgwmTpzI4MGDad++PWbGRRddVOWyq1ev5sorr2TQoEEcfPDBZGdnc+ihhzJ48GAee+wxSktLm7j65OlyRxGJnTvvvJOlS5fStm1bunTpwvLly6td9qOPPmL69OkMGjSIs846i44dO7Jx40ZmzZrF2LFjefLJJ5k9ezaZmekTl+lTaSNbvXo1J554IosXL6Zjx45s3ryZ/v37M2/ePLp3757q8kSkHiZPnkyXLl047LDDWLBgAcOGDat22eOPP57NmzfTosWeAxilpaWMGDGCefPm8dxzz3Heeec1dtmRScuhmJ3l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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": [
"oldWeight: [0. 2.5] newWeight: [0.5 2.5]\n"
]
},
{
"data": {
"image/png": "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3WEfVVVV/OEPf2DdunWYGXv2dB3N+OKLL+buu+/mtNNO44c//CE333wzCxcuBKC5uZlVq1bxxz/+kZtvvjlh805n69at45VXXqGmpoYjjzySBQsWsGHDBp588kn+9Kc/EQqF+MY3vsGSJUu4+OKLe7xfERncBmWwD0bPP/88b7/9dnstfO/evbz//vu8+OKLXHrppYTDYQBGjBjRYbuCggKys7O57LLLOPfcc9tr1G327t3Lnj17OO00b07lSy65hPPPP799+XnnnQfA9OnT2bRpU6/KfM4555CVlUVWVhZFRUVs376dl156idWrVzNjhjcXdX19PUVFRb3ar4gMbgr2BDZu3Eh6ejpFRUU457j77rs566yzOqzz3HPPJdxHRkYGq1at4qWXXmLp0qUsWrSIl19+ucdlyMry5htOT0+nubl3M6W1bRu9vXOOSy65hB//+Me92peIDB2DMth701zSX3bu3Mn8+fP55je/iZlx1llnce+99/KpT32KUCjE+vXrGTduHGeccQa33HILF1xwQXtTTHStvba2lrq6Os4++2xOOeUUJk2a1OE4BQUFFBYW8uqrr3Lqqafy+OOPt9fe+8OsWbOYM2cO3/nOdygqKmL37t3U1NQwfvz4fjumiAysQRnsqVJfX8+0adNoamoiIyODiy66iO9+97sAXH755WzatIkTTjgB5xyjR49m2bJlzJ49mzVr1lBWVkZmZiZnn302t912W/s+a2pqmDNnDg0NDTjn+MUvftHluI8++ijz58+nrq6OSZMm8fDDD/fbOU6ZMoVbb72VM888k9bWVkKhEPfcc4+CXSRAfJnztLdiTbSxdu1ajj766AEvi8Smn4fI4DOQE22IiMggomAXEQkYBbuISMAo2EVEAkbBLiKBs3TpUq688kpOPfVUhg0bhplx4YUX9nj7yy+/HDPDzNiwYUM/lrR/6HFHEQmcW2+9lbfeeou8vDyKi4tZt25dj7d9+umnefDBB8nLy6O2trYfS9l/VGOP2LJlCxMnTmwf66W6upqJEyf2uhu/iKTenXfeyfr169m3bx/33ntvj7fbuXMnV1xxBV/60peYPn16P5awfw3JYG9saeSeVfdw0gMn8YmHPsFjbz1Gq+vbuOltSkpKWLBgQfvojNdffz3z5s1jwoQJPpRYRAbS6aefzkc/+tFezwY2b948AO65557+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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"wrong_prediction = True\n",
"step = 0\n",
"while wrong_prediction == True:\n",
" # set as false\n",
" wrong_prediction = False\n",
" # for every point in data\n",
" for point_index in range(0,len(x1)):\n",
" #print(point_index)\n",
" px = x1[point_index]\n",
" py = x2[point_index]\n",
" target_class = y[point_index]\n",
"\n",
" # make prediction\n",
" y_predicted = predict(W, px,py)\n",
" # if prediction not correct-> compute new perceptron weights\n",
" if y_predicted != target_class:\n",
" # set that at least one point is wrongly classified\n",
" wrong_prediction = True\n",
" #print(y_predicted,target_class)\n",
" # weights recomputation\n",
" newW = np.asarray(W) + alpha * (target_class-y_predicted)*np.asarray([px,py])\n",
" print(\"oldWeight:\", W, \"newWeight:\",newW)\n",
" W = newW\n",
" plot_points_and_decision_line(newW,x1,x2,colors,step)\n",
" # increase step\n",
" step = step+1\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0.5, 2.5])"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# final weights\n",
"W"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now you can make predictive classification on you points with: "
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.0"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"px * W[0] + py *W[1]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For example, point A with (2,-4)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"predict(W,2,-4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Point A is classified as 0"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:snakes]",
"language": "python",
"name": "conda-env-snakes-py"
},
"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.5.6"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Perceptron Learning in Python - Basis for Neural Networks"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### with learning visualization"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import scipy as sc\n",
"import numpy.random\n",
"from pandas import Series,DataFrame\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"import matplotlib.pylab as plt\n",
"import random\n",
"from pylab import meshgrid\n",
"%matplotlib inline\n",
"plt.rcParams['figure.figsize'] = (12.0, 8.0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let us create some artificial data with 2 classes - red and green."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# X\n",
"x1 = [0,1,2,3,-2,5]\n",
"# can be seen as y in 2D\n",
"x2 = [2,0,2,-1,-2,-1]\n",
"# target \n",
"y = [1,1,1,0,0,0]\n",
"colors = [\"green\",\"green\",\"green\",\"red\",\"red\",\"red\"]"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[2, 3]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x1[2:4]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's plot the points."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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5/u3gMzMUsoBYGapV1ZW1u4+/ReCA8DMLKUcAGZmKeUAMDNLKQeAmVlKOQDMzFrYW2+9xW233VY3v2PHDqZMmVLEijIcAGZmLezQAOjduzcPPPBAESvKcACYWftSWQllZXDEEZm/BfjVzC1btjB48GC+8IUvMHToUCZMmMA777zD5s2b634m+txzz2Xjxo0AbN68mTFjxjB8+HBuuOEGjj76aAD27NnDeeedx5lnnsnw4cN56KGHAJg9ezabN29m5MiRXHfddWzZsoVhw4YBMGbMGNatW1dXy7hx46iqquJPf/oTV155JaNHj+aMM86oW1dBRUSbfYwaNSrMrGNbv3590zvfe29E164R8NdH166Z9jy8+uqrUVJSEqtXr46IiKlTp8Y999wTH/vYx+L3v/99RESsXLkyPvrRj0ZExIUXXhj33XdfREQsXLgwPvCBD0RExHvvvRe7d++OiIiampr48Ic/HPv3749XX301hg4detB4B+bnzZsX3/rWtyIiYseOHXHKKadERMT1118f99xzT0RE/PGPf4xBgwbFnj17Dqo717YDqqKJ77HeAzCz9mPOHKitPbittjbTnqeBAwcycuRIAEaNGsWWLVv47W9/y9SpUxk5ciRf/OIX2bkz8yv2K1asYOrUqQB89rOfrVtHRPDNb36TESNGMH78eLZv387rr7/e4LiXXHJJ3eGgpUuX1p0beOyxx/jud7/LyJEjGTduHHv37mXbtm15v85s/jE4M2s/6nsDLMAbY6dOneqmS0pKeP311+nevTtr1qxp4FkHq6yspKamhlWrVlFaWkpZWRl79+5t8Dl9+vShR48erF27liVLlnD77bcDmTB58MEHOfXUUw/vBTWB9wDMrP2o7z7hLXD/8GOOOYaBAwfy05/+FMi8Ib/wwgtA5rj9gw8+CMDixYvrnrN792569epFaWkpTz31FFu3bgUa/nlogM985jN8//vfZ/fu3YwYMQKAT3ziE/zoRz8ikh/sXL16dcFfY6FuCXmXpDck5fwxDUnjJO2WtCZ5fKsQ45pZysydC127HtzWtWumvQVUVlZy5513cvrppzN06NC6E7E//OEPmTdvHiNGjGDTpk0ce+yxAEyfPp2qqiqGDx/O3XffzWmnnQZAjx49GDt2LMOGDeO666573zhTpkxh8eLFXHLJJXVtN954I++99x4jRoxg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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(x1[0:3],x2[0:3], c=\"green\", marker=\"+\", label=\"positive\")\n",
"plt.scatter(x1[3:6],x2[3:6], c=\"red\", marker=\"o\", label=\"negative\")\n",
"plt.legend(loc='best')\n",
"plt.title(\"Perceptron Learning\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Set initial weights."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([1, 1])"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#w1 = round(random.uniform(1,2), 2)\n",
"#w2 = round(random.uniform(1,2), 2)\n",
"#w3 = round(random.uniform(1,2), 2)\n",
"W = np.array([1,1])\n",
"W"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Set learning rate alpha."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"alpha = 0.5"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot initial decision line."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# evaluation function if point lies on decision boundary- y=f(x)\n",
"def decision_line_func(weights,px,py):\n",
" return weights[0]*px + weights[1]*py == 0.0\n",
"\n",
"def plot_decision_line(W, step):\n",
" # get max and min of X\n",
" #maxX = max(max(x1),max(x2))\n",
" #minX = min(min(x1),min(x2))\n",
" \n",
" # returns list of points that lie on decision boundary\n",
" line_x1 = np.arange(-6, 6, 1)#range(-10,10)\n",
" line_x2 = np.arange(-6, 6, 1)\n",
" # grid of points\n",
" X1,X2 = meshgrid(line_x1, line_x2) \n",
" # evaluation of the function on the grid\n",
" mask = decision_line_func(W,X1, X2) \n",
" #print(X1[mask])\n",
"\n",
" # plot decision line\n",
" plt.plot(X1[mask],X2[mask], label='Decision line', linewidth=3)\n",
" plt.title(\"Perceptron Learning-Step:\" + str(step))\n",
" plt.text(4, 4, str(step), fontsize=20)\n",
" \n",
" \n",
"plot_decision_line([1,1],1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot points and decision line."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#plt.plot(X[mask], Y[mask], label='Decision line')\n",
"def plot_points_and_decision_line(weights,x,y,c, step):\n",
" plot_decision_line(weights,step)\n",
" plt.scatter(x, y, label='X', c=colors)\n",
" plt.legend(loc=2)\n",
" plt.xlim(-6,6)\n",
" plt.ylim(-6,6)\n",
" plt.show()\n",
" \n",
"plot_points_and_decision_line(W,x1,x2,colors,1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As you can see, one point(the most right one) is wrongly classified. It is classified as 1 but should be 0."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"# evaluation function - y=f(x)\n",
"def predict(weights,x1,x2):\n",
" return 1 if weights[0]*x1 + weights[1]*x2 > 0 else 0"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"# reset weights\n",
"W = np.array([1,1])\n",
"alpha=0.5"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Perceptron algorithm."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"oldWeight: [1 1] newWeight: [-0.5 1.5]\n"
]
},
{
"data": {
"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": [
"oldWeight: [-0.5 1.5] newWeight: [0. 1.5]\n"
]
},
{
"data": {
"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": [
"oldWeight: [0. 1.5] newWeight: [0.5 1.5]\n"
]
},
{
"data": {
"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": [
"oldWeight: [0.5 1.5] newWeight: [-2. 2.]\n"
]
},
{
"data": {
"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": [
"oldWeight: [-2. 2.] newWeight: [-1.5 2. ]\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAEICAYAAABLdt/UAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzt3Xl4VeW5/vHvQxISEhBkiMgQSAiICIgQEEUEgih1wvanrVUBUURQsO3RVmprj1pPezqqEBwodea0Vlu1g1aFACIKGAbHoAQIEgSReQgh0/v7Y21o5kD2SvbA/bmuXGTvtfa7nr02ubOypsecc4iISPRoFuoCRETEXwp2EZEoo2AXEYkyCnYRkSijYBcRiTIKdhGRKKNgF2kCZjbczD4LdR1yclCwRxEzyzezw2Z20My+MrOnzaxlqOuqKFDjRU24vBvN7J2mWl5tnHNLnXNnNNb4ZnaPmW0KfPYFZvZChWmLzWxyYy27wnJGmJkzswcbe1lSNwV79LnCOdcSGAhkAD890QHMLNb3qiJg2Q0V6prNbCIwHrgo8NlnAAubuIY44BFgRVMuV2qmYI9SzrmtwOtAXwAza21mfzSzbWa21cweNLOYwLQbzWyZmT1kZruA+wLP32JmuWZ2wMw+NbOBgec7mdlfzezrwFbiHUeXa2b3mdlLZvZC4HWrzezswLTngBTgH4Etyx+ZWffAVt7NZvYFkB2Y90oz+8TM9ga2OM+ssIx8M7vLzD40s32BZSWc6DqqZ530MLNsM9tlZjvNbL6ZtalSw91m9iFwyMxi66rLzEaaWcHxvofAutlmZl+a2eTAOkqv5a0MBt5wzm0IfPbbnXNzA+P8DzAcyAqs86zA873N7C0z221mn5nZtyss+2kzezww/YCZLTGzbvWszjuBN4F1x7v+pRE55/QVJV9APt5WG0BX4BPg54HHLwNPAElAMrASuDUw7UagFJgBxAItgGuArXihYUA60A1vY2AV8DOgOZAGbAQuCYx1H1ACXA3EAXcBm4C4qjUGHncHHPBsoLYWQC/gEDAmMMaPgDygeYUxVgKdgLZALjC1lnVyI/BOLdPqWifpgeXHAx2At4GHq6zrtYH13KK+uoCRQEGV19c271hgO3AWkAg8H1hH6bW8jxuA3cAP8bbWY6pMXwxMrvA4CdgCTAp83ucAO4E+gelPAweACwPv/5GK6xD4JzCzwuNuwOdAy8BrHwz1z8LJ/hXyAvTl44fphcVBYC+wGXg0EJSnAUeOBlBg3u8CiwLf3wh8UWWsN4Dv1bCMc2uY98fAU4Hv7wOWV5jWDNgGDK9QY03BnlbhuXuBv1QZYyswssIYN1SY/mvg8VrWyY3UEOz1rZMa5r8KWFNlXd9Uw/qvsS5qDvba5n0S+GWFaenUEeyBea4HFuD9QtwF3F1h2mIqB/t3gKVVXv8E8N+B758G/lxhWkugDOhay7JfBb5T4bUK9hB/Rdz+TKnXVc65BRWfMLN+eFu+28zs6NPN8Lbajqr4PXhbohtqGL8b0MnM9lZ4LgZYWtNYzrnywC6ITvXUXXH5nfB+MVUcYwvQucI82yt8X3gc41fVjTrWiZmdhrelOhxoFZi2p46aG1JXbfN2AnJqWo6ZpQCfHn3svH3qOOfmA/MD+7qvCny/1jn3Rg3L7QacW+UzjAWeq2mZzrmDZrY7UFel92xmVwCtnHMvIGFDwX5y2IK3ddreOVdayzxVb/O5BehRy1ibnHM961he16PfmFkzoAvwZS3LqWn5XwL9KoxhgTG31rHME1XfOvlFoKZ+zrndZnYVkFVHzX7ahrfOjjq2Pp1zX+BtQdfIOVcCvGhmd+MdX3mjhjq3AEucc2PqqKHiZ9gSb3fRlzXMNxrIMLOjv6RaA2Vm1s85N66O8aUR6eDpScA5tw3vwNbvzOwUM2sWODg4oo6XzQPuMrNB5kkPHEBbCRwIHDhsYWYxZtbXzAZXeO0gM/uWeWeLfB8vQJcHpn2Ft1++Ln8BLjOz0YEt0DsDY7x7wm/eY2aWUPHrONZJK7zdWvvMrDPe/uum8hdgkpmdaWaJeLumamXewe/LzKxV4H18A2///NEzVKqu838CvcxsvJnFBb4GVzxADVxqZheYWXPg53i712r6C+VevGMiAwJffwf+gLf/XkJEwX7ymIB3sPNTvF0KLwGn1zazc+5F4H+A/8M7kPYK0NY5VwZcjvdDvAnvoNs8vC21o17F24+7B+80vG8FtiQBfgn8NHC2y121LPszvAOCswPjX4F3Gmfxib9tAM4HDlf8CvzSqWud3I93yug+4F/A3xq47BPmnHsdmAUswjtofPSX4pFaXrIfuAf4Au/4yq+Bac65o+fvPwJcbWZ7zGyWc+4AcDFwLd5W+HbgV3gHSo/6P+C/8Q7KDsL7PAAws9fN7J5ArQecdxbOdufcdrz1e8g5tzuYdSDBMefUaEP8Y2b34R3ku6G+eeX4BLakPwbi69iV5ufynsY70HvC10BIeNAWu0gYMrNvmlm8mZ2KtzX9j6YIdYkOvgS7mbUx76KUdeZd0HKeH+OKnMRuBXbgnZlUBkwLbTkSSXzZFWNmz+CdFzsvcLAl0Tm3t77XiYiI/4IOdjNrjXcFXprTDnsRkZDz4zz2VOBr4Cnz7gmyCu+KxUMVZzKzKcAUgKSkpEG9e/f2YdEiIiePVatW7XTOdahvPj+22DPwTsca5pxbYWaPAPudc7Wee5uRkeFycnJqmywiIjUws1XOuYz65vPj4GkB3qlRRy+GeAnv/F8REQmBoIM9cFHCFjM72kRgNBXuZSEiIk3Lr3vFzMC76VBzvFu46nJiEZEQ8SXYnXNr8e4D3WAlJSUUFBRQVFTkR0kShISEBLp06UJcXFyoSxGRBgibuzsWFBTQqlUrunfvToXbqEoTc86xa9cuCgoKSE1NDXU5ItIAYXNLgaKiItq1a6dQDzEzo127dvrLSSSChU2wAwr1MKHPQSSyhVWwi4hI8BTsFcTExDBgwADOOusszj77bH73u99RXl7eoLF+9rOfsWDBglqnP/744zz77LMNLfWY/Px8+vbtC0BOTg533HFH0GOKSGQLm4On4aBFixasXbsWgB07dnDdddexf/9+7r///hMe64EHHqhz+tSpUxtUY10yMjLIyAjq5CQRiQLaYq9FcnIyc+fOJSsrC+ccZWVl/PCHP2Tw4MH079+fJ5544ti8v/rVr+jXrx9nn302M2fOBODGG2/kpZdeAmDmzJn06dOH/v37c9ddXtOg++67j9/+9rcArF27lqFDh9K/f3+++c1vsmeP1zN55MiR3H333QwZMoRevXqxdGnFftHVLV68mMsvv/zY+DfddBMjR44kLS2NWbNmHZvv+eefZ8iQIQwYMIBbb72VsrIyn9aaiISDsNxi7z7zX402dv7/Xnbc86alpVFWVsaOHTt49dVXad26Ne+//z5Hjhxh2LBhXHzxxaxbt45XX32VFStWkJiYyO7dlTuC7dq1i5dffpl169ZhZuzdW/1uxhMmTGD27NmMGDGCn/3sZ9x///08/PDDAJSWlrJy5Upee+017r///jp371S1bt06Fi1axIEDBzjjjDOYNm0aeXl5vPDCCyxbtoy4uDhuu+025s+fz4QJE457XBEJb2EZ7OHozTff5MMPPzy2Fb5v3z7Wr1/PggULmDRpEomJiQC0bdu20utat25NQkICN998M5dffvmxLeqj9u3bx969exkxwuuhPHHiRK655ppj07/1rW8BMGjQIPLz80+o5ssuu4z4+Hji4+NJTk7mq6++YuHChaxatYrBg73e04cPHyY5OfmExhWR8KZgr8PGjRuJiYkhOTkZ5xyzZ8/mkksuqTTPG2+8UecYsbGxrFy5koULF/LSSy+RlZVFdnb2cdcQH+/1F46JiaG09MQ6ox19bcXXO+eYOHEiv/zlL09oLBGJHGEZ7Ceyu6SxfP3110ydOpXp06djZlxyySU89thjZGZmEhcXx+eff07nzp0ZM2YMDzzwANdff/2xXTEVt9oPHjxIYWEhl156KcOGDSMtLa3Sclq3bs2pp57K0qVLGT58OM8999yxrffGMHr0aMaNG8cPfvADkpOT2b17NwcOHKBbt26NtkwRaVphGeyhcvjwYQYMGEBJSQmxsbGMHz+e//qv/wJg8uTJ5OfnM3DgQJxzdOjQgVdeeYWxY8eydu1aMjIyaN68OZdeeim/+MUvjo154MABxo0bR1FREc45fv/731db7jPPPMPUqVMpLCwkLS2Np556qtHeY58+fXjwwQe5+OKLKS8vJy4ujjlz5ijYRaKILz1PT1RNjTZyc3M588wzm7wWqZk+D5Hw05SNNkREJIwo2EVEooyCXUQkyijYRUSijIJdRE4Kzz//PGaGmTFv3rxQl9OoFOwiEvW2bNnC9OnTadmyZahLaRIK9oAtW7aQmpp67F4ve/bsITU19YQv4xeR8OKcY9KkSbRr165R7qoajiIy2IvLipmzcg7nzjuXC568gGc/eJZy17D7ph/VtWtXpk2bduzujDNnzmTKlCl0797dh4pFJFRmzZpFdnY2Tz31FElJSaEup0lE3JWn5a6cMc+NIefLHApLCgFYu30tr69/nT9d/aegxv7BD37AoEGDePjhh3nnnXfIysryo2QRCZHc3FxmzpzJ9773PS688MITuk9TJIu4YP933r9ZvW31sVAHOFRyiL9//nfWbl/LgI4DGjx2XFwcv/nNbxg7dixvvvkmcXFxfpQsIiFQWlrK+PHjSUlJqXSbj5NBxO2KWbRpEQeLD1Z7vqy8jCX5S4Ie//XXX+f000/n448/DnosEQmdBx54gDVr1vD000/TokWLUJfTpCIu2Du27EhCTEK155vHNCc5Kbj7iq9du5a33nqL5cuX89BDD7Ft27agxhOR0FixYgW/+MUvuPPOOznvvPNCXU6Ti7hgv6H/DcQ0i6n2fEyzGMb1HtfgcZ1zTJs2jYcffpiUlBR++MMfHmtjJyKRo7S0lAkTJtCrVy9+/vOfh7qckIi4YD+t5Wn847v/oENiB1o1b0XL5i1JaZ1C9oRsEuMSGzzuH/7wB1JSUhgzZgwAt912G7m5uSxZEvzuHRFpOgcPHuTzzz8nNzeXhISEYxclmdmxxvS33HILZsb3v//9EFfbOHw7eGpmMUAOsNU5d3l98wdjVOoott25jQ+++oDYZrH0S+6HmQU15pQpU5gyZcqxxzExMaxevTrYUkWkicXHx3PzzTfXOG316tWsWbOGCy64gDPOOCNqd9P4eVbM94Bc4BQfx6xVTLMYBp4+sCkWJSIRpEWLFrXeMuC+++5jzZo1TJw4kcmTJzdxZU3Hl10xZtYFuAyI7hswiIhEAL/2sT8M/AgI6vLPUHRzkur0OYhEtqCD3cwuB3Y451bVM98UM8sxs5yvv/662vSEhAR27dqlUAkx5xy7du0iIaH6KaUike6+++7DORfVu2HAh56nZvZLYDxQCiTg7WP/m3PuhtpeU1PP05KSEgoKCigqKgqqHgleQkICXbp00ZW3ImHmeHueBn3w1Dn3Y+DHgYWOBO6qK9RrExcXR2pqarDliIic9CLuPHYREambrzcBc84tBhb7OaaIiJwYbbGLiEQZBbuISJRRsIuIRBkFu4hIlFGwi4hEGQW7iEiUUbCLiEQZBbuISJRRsIuIRBkFu4hIlFGwi0jU2L5Pd4cFBbuIRIHlG3dx/bzljP7dYvYcKg51OSHn603ARESainOOpet3kpWdx8r83ceef3LZJu68+IwQVhZ6CnYRiSjOObLX7WBWdh4fbNlbaVpMM2P/4ZIQVRY+FOwiEhHKyx1vfLKd2dl5fLptf6VpcTHG/xvYhWkje9CtXVKIKgwfCnYRCWtl5Y5/fvglWdl5rN9xsNK05rHNuHZwV24d0YPObVqEqMLwo2AXkbBUUlbOK2u28ujiDWzaeajStIS4Zlx/bjemXJjGaaeo8XpVCnYRCStHSst4aVUBjy3eQMGew5WmJTWPYcL53bn5glTat4wPUYXhT8EuImGhqKSMP6/8gife3si2Kuejt0qIZdKwVG4a1p02ic1DVGHkULCLSEgdOlLK/BWbmfv2JnYePFJp2qmJcUwensb487pxSkJciCqMPAp2EQmJ/UUlPPtuPn98ZxN7Ciufoti+ZTy3XpjGdeemkBSvmDpRWmMi0qT2Fhbz5LJ8nl62if1FpZWmdTwlgakj0rh2SAoJcTEhqjDyKdhFpEnsPHiEeUs38dx7+RwqLqs0rcupLbhtZDr/b1Bn4mMV6MFSsItIo/pqfxFz397I/BWbKSoprzQttX0St43swVXndCYuRreu8ouCXUQaxda9h3l88QZeyNlCcWnlQO+Z3JLpmelc3r8TMc0sRBVGLwW7iPhq865DPLpoA39dXUBpuas0rc/ppzAjM51LzupIMwV6o1Gwi4gv8nYc5NFFebz6wZeUVQn0s7u24Y7MdDJ7J2OmQG9sCnYRIG93HnPen8OG3RsYnTqaSedM4pT4U0Jdlm+WFyxn7qq57C3ayzV9ruGas64htpk/P/7rtu9ndnYer320DVc5zxnSvS0zRqdzQXp7BXoTMlf1kzjRAcy6As8CpwEOmOuce6Su12RkZLicnJyglivil4UbF3Lln6+kpKyEkvISEuMSadeiHaumrKJDUodQlxe037/3e+5ddC+HSw7jcCTFJZHRKYO3xr9FXEzDL/r5qGAfs7LX89anX1WbdkF6e6ZnpjM0rV0wpUsVZrbKOZdR33x+/MouBe50zq02s1bAKjN7yzn3qQ9jizQq5xwTX5lIYUnhsecKSwopKSvhwbcf5JFv1LmNEvZ2Fu7knoX3cKTsP1d0Hio5RM6XOfw1969c2/faEx5z1eY9zM5ez+LPvq42bdQZHZie2ZNB3U4Nqm4JTtDB7pzbBmwLfH/AzHKBzoCCXcLe5n2b2X14d7XnS8pLeOWzVyI+2JfkLyE+Jr5SsIMX7n/99PiD3TnH8o27mZ29nnc37Ko2/ZKzTmNGZk/6dm7tS90SHF/3sZtZd+AcYEUN06YAUwBSUlL8XKxIgyXFJVHuymuc1qp5qyauxn+t4lvhqL67tZk149QW9W9VO+d4e/1OsrLX837+nkrTzOCyfqczPTOd3h2j53hENPAt2M2sJfBX4PvOuf1Vpzvn5gJzwdvH7tdyRYLRIakDQ7sMZdmWZZSW/+fy9sS4RGYMmRHCyvwxqvso4mPjOVB8oNLz8THx3DLwllpf55xjYe4OZmev54OCfZWmxTQzxg3oxO2j0unRoWWj1C3B8SXYzSwOL9TnO+f+5seYIk3lhatf4KLnLiJ/bz7NaEZxeTHX9r2WWwbVHnyRIi4mjjdueIOxz489tjumuKyYX4/5NYM7D642f3m549+B9nO5NbSfu3pQF6aNSCelXWKT1C8N48dZMQY8A+x2zn3/eF6js2Ik3DjnWLl1JQX7C8jolEG3Nt1CXZKvSstLWZy/mIPFBxnRbUS13TClZeX888NtZC3KI0/t58LW8Z4V40ewXwAsBT4Cju6svMc591ptr1Gwi4SHkrJyXl6zlUcX5ZG/q7DStBZxMVx/bgpTLkwjWe3nwkKTne7onHsH0JUHIhHkSGkZL+Z47ee27q25/dzkC1Jpp/ZzEUlXnoqcRA4Xl/Hn97/giSUb2b6/cvu5UwLt5yap/VzEU7CLnAQOHSnl+eWb+cPSjew8WFxpWtuk5tx8Qaraz0URBbtIFNtfVMIzy/L547JN7K2l/dz1Q1NIbK4oiCb6NEWi0J5DxTy1bBNPvZvPgSrt505vncDUET34zuCuaj8XpRTsIlFk58Ej/GHpRp5/b7Paz53EFOwiUWD7Pq/93P+trN5+Lq19EreNSmfcgE5qP3eSULCLRLCCPYU8vmQDf3m/gOKyyoHe67SWTM/syWX9Tlf7uZOMgl0kAuXvPMSji/P42+qt1drPndXJaz93cR+1nztZKdhFIkjejgPMWbSBV9dupUqeM6BrG+4Ync6oM9R+7mSnYBeJALnb9pOVncdrH6v9nNRPwS4Sxj4s2Mvs7Lxa28/NyEznXLWfkyoU7CJhaNXm3cxamMeSz6u3n8vsncz0zHQGpqj9nNRMwS4SJpxzvLdxF7MX5vHeRrWfk4ZTsIuEmHOOJZ9/TVZ2Hjmbq7efu7x/J6aPSueMjpHfqk+ahoJdJESccyzI3UFWLe3nrhrQmdtG9VD7OTlhCnaRJlZe7nj94+3Mzl7Puu2Ve5Gq/Zz4QcEu0kRKy8r5x4dfMmfRhhrbz3030H6uk9rPSZAU7CKNrLi0nFfWbOXRxTW3n7thaAq3DFf7OfGPgl2kkRwpLeMvOQU8XkP7uZbxsUw4rxs3q/2cNAIFu4jPDheX8aeVX/DE2xv4av+RStNOSYjlpgtSufF8tZ+TxqNgF/HJwUD7uXl1tJ+bcF43Wqn9nDQyBbtIkPYdLuGZd/N5sob2cx1aee3nrjtX7eek6eh/mkgD7TlUzJPLNvH0snwOHFH7OQkfCnaRE/T1gSPMW7qR55ZvprBK+7mubQPt5wZ2oXmsuhVJaCjYRY7T9n1FPPH2Bv608gu1n5OwpmAXqUfBnkIeW7yBF3PUfk4ig4JdpBb5Ow8xZ1EeL6+prf1cTy7uc1qD2s8VlRbxr8//xc7CnYzoPoLe7Xv7VbaIP8FuZmOBR4AYYJ5z7n/9GFckFNZ/dYA5i/L4+wdfNkr7uQ+2f0Dms5mUlJVQWu4ddL2+3/XMvWKuOiCJL4IOdjOLAeYAY4AC4H0z+7tz7tNgxxZpSp9+uZ+sRet5/ePt1dvPpbbljsyeDEtvF1T4Oue48s9Xsvvw7krP/+njPzGmxxi+fda3Gzy2yFF+bLEPAfKccxsBzOzPwDhAwS4R4YMtXvu5BbnV288N79me6aP8az+3dvvaaqEOcKjkEE/kPKFgF1/4EeydgS0VHhcA51adycymAFMAUlJSfFisSHBy8nczKzuPt2toPze6dzK3N0L7ueKyYppR81kzRaVFvi5LTl5NdvDUOTcXmAuQkZHh6pldpFE453hvwy5mZa9n+cbqW85jz+rI9Mz0Rms/N/D0gcQ0q37BUmJcItf3v75RliknHz+CfSvQtcLjLoHnRMKGc47FgfZzq6q0n2sWaD93exO0n4uLiWP+t+Zz9YtXU1peSnFZMS3jWnJ2x7O5+ZybG3XZcvLwI9jfB3qaWSpeoF8LXOfDuCJBKy93LMj9iqxFeXxYS/u520f1IK0J2899o+c3yL09l2fWPsP2g9sZ02MMV/S6osYteZGGCDrYnXOlZjYdeAPvdMcnnXOfBF2ZSBDKyh2vf7yNrOy8WtrPdWXaiB4haz+X0jqFe0fcG5JlS/TzZR+7c+414DU/xhIJxtH2c1nZeWz4+lClafGxzfjukBSmXJim9nMS1XTlqUSF4tJyXl5TwKOLN7C5tvZzF6aR3Ert5yT6KdglohWVlPHiqtrbz008vxs3DVP7OTm5KNglIh0uLuP/Vn7B3Draz006P5XWiepWJCcfBbtElINHSnnuPa/93K5D1dvPTR6eyvihaj8nJzcFu0QEtZ8TOX76KZCwtvtQMU++s4ln3q3efq5T6wSmjuzBtzPUfk6kIgW7hKW62s+ltE3ktpE9+Jbaz4nUSMEuYWX7viIeX+K1nztSWqX9XIckbh/ptZ+LVfs5kVop2CUsbNldyGNLNvBSDe3nzjitFdMz07lU7eciR2kpLFvm/TtsGCRE2fUDBw/Cu+9Cq1Zw7rnQLLw2NBTsElKbdh7i0Vraz/Xt7LWfG3Nmw9rPSYi88w5cdRUUF4MZOAfz58MVV4S6Mn88+STMmAGxsd57a90aXn8d+vYNdWXHmKvaKqYJZGRkuJycnCZfroSP9V8dIGtRHv+oof3cOSltuCOzJyPP6KBWcZHmwAHo3Nn7t6LERPjsM+jSJTR1+WXNGu8vkMOVL4bjtNNg61aIadyD+Ga2yjmXUd982mKXJvXJl/vIys7j359Ubz93bmpb7hjdk/N7BNd+TkLolVeo9sGCt0tm/ny4++6mr8lPTzzh/SVSVWEhLF4Mo0c3eUk1UbBLk1i7ZS9Z2etZkLuj2rThPdszI7MnQ1LbhqAy8dWePV6IV1VcDLt2NX09ftu5E8rKap62Z0/Nz4eAgl0a1fv5u5m1cD1L1++sNu2iM5O5fVQ65/jcfk5C6KKLvP3qVSUlwdixTV+P38aNg3//Gw5VvnMoxcVw4YWhqakGCnbxXX3t577R12s/d1anxmk/JyHUpw9MmADPP/+f8EtKglGjvK9I953vwJw58PHH/3l/iYlwzz2QnBza2ipQsItvjrafm71wPau/2FtpWjODK8722s/1Oq1x289JiD32GFx6qXf2SHExjB8P3/52zVvykaZ5c1iyxPvF9cIL0KYNTJsWdr+0dFaMBK283PFW7ldkZefx0dbq7ee+eU5nbhvZtO3nRKKRzoqRRldf+7lrMrz2c13bhqb9nMjJSsEuJ6y0rJy/f/AlcxbV3n7u1hFpnN5a7edEQkHBLsetrvZzic1juGFoNyYPT1X7OZEQU7BLvYpKyngxZwuPL9lYrf1cq/hYJp7fnZsuSKVtUvMQVSgiFSnYpVaHi8uYv2Izc9/eyI4DldvPtW4Rx03DUrlxWHdat1C3IpFwomCXaupqP9cuqTmTh6cx/rxutIzXfx+RcKSfTDlm3+ESnl7mtZ/bd7hy+7nkVvFMUfs5kYign1Cpt/3ctJE9uEbt50QihoL9JLbjQBHzlm7i+Vraz90+qgffPEft50QijYL9JLRt32GeWLKx1vZz00elc+XZNbSfO3QI8vO9e2q31n1eRMJVUMFuZr8BrgCKgQ3AJOfc3rpfJaFSV/u53h299nPf6FtD+znn4Kc/hYce8rrGlJTAxImQleU9FpGwEuxP5VvAj51zpWb2K+DHQITfST/61NV+rl/n1szITOeiutrPzZkDDz9cuWvMc895W+2/+lUjVi4iDeHbTcDM7JvA1c656+ubVzcBaxp1tZ8bmNKGGaN7MrLXcbSfS0mBLVuqP5+UBPv3h10jX5FoFYqbgN0EvFBHQVOAKQApKSk+LlZMyD/cAAAIdElEQVSqqqv93NC0ttyR2ZPzTqT93M7qTTIAKCqCI0eghe4JIxJO6g12M1sAdKxh0k+cc68G5vkJUArMr20c59xcYC54W+wNqlbqVFf7uQt7dWBGZjqDuzeg/VxGBixdWv357t0V6iJhqN5gd85dVNd0M7sRuBwY7UJxc3epp/3caUzPTGdA1zYNX8DvfgcjR3pb6OWBg64tWngHT0Uk7AR7VsxY4EfACOdcYX3zi3+cc7y7YRezFq5nxabK7efMvPZzt4/yqf3c4MGwfDk88ACsWgVnngn33gtDhwY/toj4Lth97FlAPPBWYH/tcufc1KCrklo551j82dfMzq65/dyVgfZzPf1uP9evH7z4or9jikijCCrYnXPpfhUidaur/Vzs0fZzo9JJbZ8UogpFJFzo6pIwV1bueO2jbcxZVL39XPOYZlyT0YWpaj8nIhUo2MNUfe3nrjs3hSkXqv2ciFSnYA8zxaXl/G21137ui93V28+NH9qNycPT6NAqPkQViki4U7CHifraz904rDuThqn9nIjUT8EeYnW1n2uT6LWfm3i+2s+JyPFTsIfIwSOlPPtePn9cuqla+7n2Lb32czcMVfs5ETlxSo0mVl/7uVtH9OC6ISm0aK5uRSLSMAr2JrL7UDF/fGcjz767uVr7uc5tWjB1ZA+uGdRF7edEJGgK9kZWV/u5bu0SuX1kOled01nt50TENwr2RlJX+7keHZKYnpnOFf1raD8nIhIkBbvPtuwu5NHFG3hp1RZKyirf7LJ3x1bMyOzJ2L4dq7efExHxiYLdJ/sKS/j5vz7l5TVbKavSrqh/l9bMyOzJ6N7JtbefExHxiYLdJ4nxMby3YVelUB/U7VRmZKYz4njaz4mI+ETB7pO4mGZMG9mDn77yMeeltWPG6HTOSzuB9nMiIj5RsPvomowunHl6KwZ1a0D7ORERn+iUDB/Fx8Yo1EUk5BTsIiJRRsEuIhJlFOwiIlFGwS4iEmUU7CIiUUbBLiISZRTsIiJRRsEuIhJlFOwiIlFGwS4iEmUU7CIiUcaXYDezO83MmVl7P8YTEZGGCzrYzawrcDHwRfDliIhIsPzYYn8I+BHg6ptRREQaX1DBbmbjgK3OuQ98qkdERIJUb6MNM1sAdKxh0k+Ae/B2w9TLzKYAUwBSUlJOoEQRETkR5lzD9qCYWT9gIVAYeKoL8CUwxDm3va7XZmRkuJycnAYtV0TkZGVmq5xzGfXN1+DWeM65j4DkCgvMBzKcczsbOqaIiARP57GLiEQZ35pZO+e6+zWWiIg0nLbYRUSijIJdRCTKKNhFRKKMgl1EJMoo2EVEooyCXUQkyijYRUSijIJdRCTKKNhFRKKMgl1EJMoo2EVEooyCXUQkyijYRUSijIJdRCTKKNhFRKKMgl1EJMoo2EVEooyCXUQkyijYRUSijIJdRCTKKNhFRKKMgl1EJMoo2EVEooyCXUQkyijYRUSijIJdRCTKKNhFRKKMgl1EJMoEHexmNsPM1pnZJ2b2az+KEhGRhosN5sVmNgoYB5ztnDtiZsn+lCUiIg0V7Bb7NOB/nXNHAJxzO4IvSUREghHUFjvQCxhuZv8DFAF3Oefer2lGM5sCTAk8PGJmHwe57HDWHtgZ6iIaUTS/v2h+b6D3F+nOOJ6Z6g12M1sAdKxh0k8Cr28LDAUGA38xszTnnKs6s3NuLjA3MGaOcy7jeAqMRHp/kSua3xvo/UU6M8s5nvnqDXbn3EV1LGQa8LdAkK80s3K835hfH2+hIiLir2D3sb8CjAIws15Ac6L7zyARkbAX7D72J4EnA/vLi4GJNe2GqcHcIJcb7vT+Ilc0vzfQ+4t0x/X+7PhyWEREIoWuPBURiTIKdhGRKBPSYD8ZbkdgZneamTOz9qGuxS9m9pvA5/ahmb1sZm1CXZMfzGysmX1mZnlmNjPU9fjJzLqa2SIz+zTw8/a9UNfkNzOLMbM1ZvbPUNfiNzNrY2YvBX7ucs3svLrmD1mwV7kdwVnAb0NVS2Mxs67AxcAXoa7FZ28BfZ1z/YHPgR+HuJ6gmVkMMAf4BtAH+K6Z9QltVb4qBe50zvXBu+7k9ih7fwDfA3JDXUQjeQT4t3OuN3A29bzPUG6xnwy3I3gI+BEQVUeonXNvOudKAw+XA11CWY9PhgB5zrmNzrli4M94Gx5RwTm3zTm3OvD9Abxg6BzaqvxjZl2Ay4B5oa7Fb2bWGrgQ+COAc67YObe3rteEMtiP3o5ghZktMbPBIazFd2Y2DtjqnPsg1LU0spuA10NdhA86A1sqPC4gioKvIjPrDpwDrAhtJb56GG8jqjzUhTSCVLyLPp8K7GqaZ2ZJdb0g2PPY6+TX7QjCVT3v7x683TARqa735px7NTDPT/D+xJ/flLVJw5lZS+CvwPedc/tDXY8fzOxyYIdzbpWZjQx1PY0gFhgIzHDOrTCzR4CZwL11vaDRRPvtCGp7f2bWD++37AdmBt6uitVmNsQ5t70JS2ywuj47ADO7EbgcGB1Jv4zrsBXoWuFxl8BzUcPM4vBCfb5z7m+hrsdHw4ArzexSIAE4xcyed87dEOK6/FIAFDjnjv6F9RJesNcqlLtiovZ2BM65j5xzyc657s657ngfzMBICfX6mNlYvD97r3TOFYa6Hp+8D/Q0s1Qzaw5cC/w9xDX5xrwtjD8Cuc6534e6Hj85537snOsS+Fm7FsiOolAnkBtbzOzonR1HA5/W9ZpG3WKvR0NvRyChlwXEA28F/iJZ7pybGtqSguOcKzWz6cAbQAzwpHPukxCX5adhwHjgIzNbG3juHufcayGsSY7fDGB+YKNjIzCprpl1SwERkSijK09FRKKMgl1EJMoo2EVEooyCXUQkyijYRUSijIJdRCTKKNhFRKLM/wfUHkEMtG/hXAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"oldWeight: [-1.5 2. ] newWeight: [-1. 2.]\n"
]
},
{
"data": {
"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": [
"oldWeight: [-1. 2.] newWeight: [-0.5 2. ]\n"
]
},
{
"data": {
"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": [
"oldWeight: [-0.5 2. ] newWeight: [0. 2.]\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAEICAYAAABLdt/UAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAHZZJREFUeJzt3Xl4FeX99/H3lyQkbOJGVHaotYqCFILLQxWsoggo1UtbWxVwKYKtba0b6k+r/mxtbVWs8LRS686vVbFqFynKWtQHMVhcQWuVShCUfQuRhHx/f8wJzzFkP5NMcvN5Xde5SM7M3POdOeRz7nPPnBlzd0REJBytki5ARETipWAXEQmMgl1EJDAKdhGRwCjYRUQCo2AXEQmMgl2kCZjZCWb2XtJ1yN5BwR4QM1thZjvMbJuZfWpmD5tZ+6TrSpeq8ZQmXN84M3upqdZXHXdf6O5faaz2zewGM/so9doXmdkTadPmm9mljbTe7ql1pj/czK5qjPVJ3SjYw3OGu7cHBgAFwH/VtwEzy469qhaw7oZKumYzGwtcCJySeu0LgDlNsW53/9jd21c8gL5AOfB0U6xfqqZgD5S7rwJmAkcBmFlHM/u9ma02s1VmdruZZaWmjTOzl83sHjNbD9ySev67ZrbMzLaa2btmNiD1fGcze9rM1qZ6iT+oWK+Z3WJmM8zsidRyr5vZ0alpjwHdgb+kenbXmlnPVA/vEjP7GJibmvdMM3vHzDalepxHpK1jhZldbWZvmtnm1Lry6ruPatknXzKzuWa23szWmdl0M9u3Ug3XmdmbwHYzy66pLjMbamZFdd2G1L5ZbWafmNmlqX10aDWbMgiY5e7/Tr32a9x9WqqdnwInAFNS+3xK6vnDzexFM9tgZu+Z2TfT1v2wmf02NX2rmS0wsx513K1jgH+4+4o6zi+Nwd31COQBrCDqtQF0A94B/jv1+zPA/UA7IB9YDFyWmjYOKAOuALKBNsC5wCqi0DDgUKAHUWdgCXAz0BroDXwInJZq6xagFDgHyAGuBj4CcirXmPq9J+DAo6na2gCHAduBYak2rgU+AFqntbEY6AzsDywDJlSzT8YBL1UzraZ9cmhq/blAJ+AfwORK+3ppaj+3qa0uYChQVGn56uYdDqwBjgTaAo+n9tGh1WzHBcAG4Bqi3npWpenzgUvTfm8HrAQuSr3eXwXWAX1S0x8GtgInprb/3vR9CPwVmFRFHQb8GxiX9N/C3v5IvAA9Ynwxo7DYBmwC/gP831RQHgR8XhFAqXm/DcxL/TwO+LhSW7OAH1axjmOrmPd64KHUz7cAi9KmtQJWAyek1VhVsPdOe+4m4MlKbawChqa1cUHa9DuB31azT8ZRRbDXtk+qmP8bwD8r7euLq9j/VdZF1cFe3bwPAnekTTuUGoI9Nc/5wGyiN8T1wHVp0+bzxWD/FrCw0vL3Az9J/fww8Me0ae2BXUC3Wv7/nZD6/9c+6b+Fvf3R4sYzpVbfcPfZ6U+YWV+inu9qM6t4uhVRr61C+s8Q9UT/XUX7PYDOZrYp7bksYGFVbbl7eWoIonMtdaevvzPRG1N6GyuBLmnzrEn7ubgO7VfWgxr2iZkdRNRTPQHokJq2sYaaG1JXdfN2BgqrWo+ZdQferfjdo3Ft3H06MN3McojehKab2VJ3n1XFensAx1Z6DbOBx6pap7tvM7MNqbqq2uYKY4Gn3X1bDfNIE1Cw7x1WEvVOD3T3smrmqXyZz5XAl6pp6yN3/3IN6+tW8YOZtQK6Ap9Us56q1v8J0UG4ijYs1eaqGtZZX7Xtk5+laurr7hvM7BvAlBpqjtNqon1WYff+dPePiXrQVXL3UuApM7uO6PjKrCrqXAkscPdhNdSQ/hq2Jxou+qS6mc2sYvjurBralCaig6d7AXdfDbwA3GVm+5hZq9TBwSE1LPYAcLWZDbTIoakDaIuBrakDh23MLMvMjjKzQWnLDjSzsy06W+RHRAG6KDXtU6Jx+Zo8CYw0s5NTPdCrUm28Uu+Nj5iZ5aU/6rBPOhANK2w2sy5E49dN5UngIjM7wszaEg1NVcuig98jzaxDajtOJxqffzU1S+V9/lfgMDO70MxyUo9B6QeogRFm9jUzaw38N9HwWk299bOIPtHMq9+mSmNQsO89xhAd7HyX6A9wBnBIdTO7+1PAT4H/ITqQ9iywv7vvAkYB/YkOiq4jehPomLb4c0TjuBuJTsM7O9WTBLgD+K/U2S5XV7Pu94gOCN6Xav8MotM4d9Z/swH4P8CO9EfqTaemfXIr0Smjm4G/AX9q4Lrrzd1nAr8mCskP+P9vip9Xs8gW4AbgY6LjK3cCE9294vz9e4FzzGyjmf3a3bcCpwLnEfXC1wC/IDpQWuF/gJ8QHZQdSPR6AGBmM83shko1jAUe89RguyTL9DpInMzsFqKDfBfUNq/UTaon/TaQW8NQWpzre5joQG+9vwMhzYN67CLNkJmdZWa5ZrYfUW/6L00R6hKGWILdzPa16Espyy36QsvxcbQrshe7DPiM6MykXcDEZMuRliSWoRgze4TovNgHUgdb2rr7ptqWExGR+GUc7GbWkegbeL114EREJHlxnMfeC1gLPGTRNUGWEH1jcXv6TGY2HhgP0K5du4GHH354DKsWEdl7LFmyZJ27d6ptvjh67AVEp2MNdvdXzexeYIu7V3vubUFBgRcWFlY3WUREqmBmS9y9oLb54jh4WkR0alTFlyFmEJ3/KyIiCcg42N19DbDSzCpuInAyadeyEBGRphXXtWKuILroUGuiS7heFFO7IiJST7EEu7svJboOdIOVlpZSVFRESUlJHCVJBvLy8ujatSs5OTlJlyIiDdBsru5YVFREhw4d6NmzJ2mXUZUm5u6sX7+eoqIievXqlXQ5ItIAzeaSAiUlJRxwwAEK9YSZGQcccIA+OYm0YM0m2AGFejOh10GkZWtWwS4iIplTsKfJysqif//+HHnkkRx99NHcddddlJeXN6itm2++mdmzZ1c7/be//S2PPvpoQ0vdbcWKFRx11FEAFBYW8oMf/CDjNkWkZWs2B0+bgzZt2rB06VIAPvvsM77zne+wZcsWbr311nq3ddttt9U4fcKECQ2qsSYFBQUUFGR0cpKIBEA99mrk5+czbdo0pkyZgruza9currnmGgYNGkS/fv24//77d8/7i1/8gr59+3L00UczadIkAMaNG8eMGTMAmDRpEn369KFfv35cfXV006BbbrmFX/3qVwAsXbqU4447jn79+nHWWWexcWN0z+ShQ4dy3XXXccwxx3DYYYexcGH6/aL3NH/+fEaNGrW7/YsvvpihQ4fSu3dvfv3rX++e7/HHH+eYY46hf//+XHbZZezatSumvSYizUGz7LH3nPS3Rmt7xc9H1nne3r17s2vXLj777DOee+45OnbsyGuvvcbnn3/O4MGDOfXUU1m+fDnPPfccr776Km3btmXDhg1faGP9+vU888wzLF++HDNj06Y9r2Y8ZswY7rvvPoYMGcLNN9/MrbfeyuTJkwEoKytj8eLFPP/889x66601Du9Utnz5cubNm8fWrVv5yle+wsSJE/nggw944oknePnl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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": [
"oldWeight: [0. 2.] newWeight: [0.5 2. ]\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAEICAYAAABLdt/UAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzt3Xt8FfWd//HXJ8lJQi7cQhLkGiJ4QUXEgLbUilWQRVbUh3bbekPbUnDrtVas3frTrm3VesEK20pd26rsakurtipFUbHqFhEUr6AERAgCgXDLhdy/vz/mJJ6Ek4TkTHKS4f18PPIwmZkz85lz5J1vvvOd+ZpzDhERCY6EeBcgIiL+UrCLiASMgl1EJGAU7CIiAaNgFxEJGAW7iEjAKNhFuoCZnWZmH8e7Djk8KNgDxMw2mdkBMyszsx1m9nszy4h3XZHCNZ7VhcebaWavd9XxWuKce805d3Rn7d/MbjGzT8OffZGZPRmxbrmZfacTjz3WzF4zs33hY/+ks44lh0bBHjz/6pzLAMYBBcB/tHcHZpbke1U94NgdFe+azexy4FLgrPBnXwC81IUl/A/wD6A/cDpwlZmd24XHl2YU7AHlnNsKLAGOBzCzPmb232a2zcy2mtkdZpYYXjfTzN4ws/vNrAS4Lbz8u2a21sxKzewjMxsXXj7IzP5sZjvDrcRrGo5rZreZ2WIzezL8urfN7MTwuseAYcDfwi3Lm8wsz8ycmX3bzDYDL4e3PdfMPjSzveEW57ERx9hkZjea2XvhVuKTZpba3veojffkSDN72cxKzGyXmS0ys77NaphrZu8B5WaW1FpdZjbJzIoO9RzC7802M/vczL4Tfo9GtnAq44GlzrkN4c9+u3NuYXg/PwNOA+aH3/P54eXHmNmLZrbbzD42s69HHPv3Zvab8PpSM3vVzIa38lbmAYucc3XhGl4Hjjv0T0J855zTV0C+gE14rTaAocCHwH+Gf34KeAhIB3KAlcD3wutmArXA1UAS0Au4CNiKFxoGjASG4zUGVgO3AslAPrARODu8r9uAGuBCIATcCHwKhJrXGP45D3DAo+HaegFHAeXA5PA+bgIKgeSIfawEBuG1EtcCs1t4T2YCr7ewrrX3ZGT4+ClANl6LdF6z93pN+H3u1VZdwCSgqNnrW9p2KrAdLxzTgMfD79HIFs7jEmA38EO81npis/XLge9E/JwObAGuCH/eJwG7gNHh9b8HSoGvhs//gcj3EHgWuDni558Dd4Y/q6OBImB8vP89HM5fcS9AXz5+mF5YlAF7gc+A/woHZS5Q1RBA4W2/CbwS/n4msLnZvpYC10Y5xilRtv0R8Lvw97cBKyLWJQDbgNMiaowW7PkRy34C/LHZPrYCkyL2cUnE+ruB37TwnswkSrC39Z5E2f484J1m7/WVUd7/qHURPdhb2vYR4BcR60bSSrCHt7kYWIb3C7EEmBuxbjlNg/3fgNeavf4h4P+Fv/898ETEugygDhjawrG/jPeLtzZc5+3x/rdwuH/1uP5MadN5zrllkQvM7AS81tQ2M2tYnIDXamsQ+T14LdENUfY/HBhkZnsjliUCr0Xbl3OuPtwFMaiNuiOPPwjvF1PkPrYAgyO22R7xfcUh7L+54bTynphZLl5L9TQgM7xuTys1d6SulrYdBKyKdhwzGwZ81PCz8/rUcc4tAhaZWQjvl9AiM1vjnFsa5bjDgVOafYZJwGPRjumcKzOz3eG6mpyzmfUH/g58H6+vfSCw2Mx2OOf+q5Vzl06kYD88bMFrnQ5wztW2sE3zx3xuAY5sYV+fOudGtXK8oQ3fmFkCMAT4vIXjRDv+58AJEfuw8D63tnLM9mrrPfl5uKYTnHO7zew8YH4rNftpG9571qDx/XTObcZrQUflnKsB/mRmc/GuryyNUucW4FXn3ORWaoj8DDPwuos+j7JdPlDnnHs0/HORmT0BTMP7i1HiQBdPDwPOuW3AC8C9ZtbbzBLCFwdPb+VlDwM3mtnJ5hkZvoC2EigNXzjsZWaJZna8mY2PeO3JZnaBeaNFrsML0BXhdTvwwqA1fwTOMbMzwy3QH4T38X/tPnmPmVlq5NchvCeZeN1a+8xsMF7/dVf5I3CFmR1rZml4XVMtMu/i9zlmlhk+j3/B659/M7xJ8/f8WeAoM7vUzELhr/GRF6iBaWb2FTNLBv4Tr3st2l8on3gl2LfCxx6I19XzXofOXHyhYD98XIZ3sfMjvC6FxcARLW3snPsT8DO8P69LgaeB/s65OmA6MBbvouguvF8CfSJe/gzeP+49eMPwLgi3JAF+AfyHeaNdbmzh2B/jXRB8MLz/f8Ubxlnd/tMGvD7gA5Ff4V86rb0nt+MNGd0HPAf8pYPHbjfn3BLgV8AreH3XDb8Uq1p4yX7gFmAz3vWVu4E5zrmG8fsPABea2R4z+5VzrhSYAnwDrxW+HbgL70Jpg/8B/h/eRdmT8T4PAMxsiZndEq51P3ABcD3ee7gG+AC4o6PnL7Gz8MUPEV+Y2W14F/kuaWtbOTThlvQHQEorXWl+Hu/3eBd6230PhHQParGLdENmdr6ZpZhZP7zW9N+6ItQlGHwJdjPra95NKevMu6HlS37sV+Qw9j2gGG9kUh0wJ77lSE/iS1eMmf0Bb1zsw+GLLWnOub1tvU5ERPwXc7CbWR+8Cyb5Th32IiJx58c49hHATuB35j0TZDXeHYvlkRuZ2SxgFkB6evrJxxxzjA+HFhE5fKxevXqXcy67re38aLEX4A3Hmuice9PMHgD2O+daHHtbUFDgVq1a1dJqERGJwsxWO+cK2trOj4unRXhDoxpuhliMN/5XRETiIOZgd85tB7aYWcMkAmcS8SwLERHpWn49K+ZqvIcOJeM9wvUKn/YrIiLt5EuwO+fW4D0HusNqamooKiqisrLSj5IkBqmpqQwZMoRQKBTvUkSkA7rN0x2LiorIzMwkLy+PiMeoShdzzlFSUkJRUREjRoyIdzki0gHd5pEClZWVZGVlKdTjzMzIysrSX04iPVi3CXZAod5N6HMQ6dm6VbCLiEjsFOwREhMTGTt2LMcddxwnnngi9957L/X19R3a16233sqyZctaXP+b3/yGRx99tMX1h2rTpk0cf/zxAKxatYprrrkm5n2KSM/WbS6edge9evVizZo1ABQXF/Otb32L/fv3c/vtt7d7Xz/96U9bXT979uwO1diagoICCgpiGpwkIgGgFnsLcnJyWLhwIfPnz8c5R11dHT/84Q8ZP348Y8aM4aGHHmrc9q677uKEE07gxBNP5OabbwZg5syZLF68GICbb76Z0aNHM2bMGG680Zs06LbbbuOee+4BYM2aNZx66qmMGTOG888/nz17vDmTJ02axNy5c5kwYQJHHXUUr70WOV/0wZYvX8706dMb93/llVcyadIk8vPz+dWvftW43eOPP86ECRMYO3Ys3/ve96irq/PpXROR7qBbttjzbn6u0/a96c5zDnnb/Px86urqKC4u5plnnqFPnz689dZbVFVVMXHiRKZMmcK6det45plnePPNN0lLS2P37t1N9lFSUsJTTz3FunXrMDP27j34acaXXXYZDz74IKeffjq33nort99+O/PmzQOgtraWlStX8vzzz3P77be32r3T3Lp163jllVcoLS3l6KOPZs6cORQWFvLkk0/yxhtvEAqFuOqqq1i0aBGXXXbZIe9XRLq3bhns3dELL7zAe++919gK37dvH+vXr2fZsmVcccUVpKWlAdC/f/8mr+vTpw+pqal8+9vfZvr06Y0t6gb79u1j7969nH66N4fy5ZdfzkUXXdS4/oILLgDg5JNPZtOmTe2q+ZxzziElJYWUlBRycnLYsWMHL730EqtXr2b8eG/u6QMHDpCTk9Ou/YpI96Zgb8XGjRtJTEwkJycH5xwPPvggZ599dpNtli5d2uo+kpKSWLlyJS+99BKLFy9m/vz5vPzyy4dcQ0qKN79wYmIitbXtmxmt4bWRr3fOcfnll/OLX/yiXfsSkZ6jWwZ7e7pLOsvOnTuZPXs23//+9zEzzj77bH7961/zta99jVAoxCeffMLgwYOZPHkyP/3pT7n44osbu2IiW+1lZWVUVFQwbdo0Jk6cSH5+fpPj9OnTh379+vHaa69x2mmn8dhjjzW23jvDmWeeyYwZM7j++uvJyclh9+7dlJaWMnz48E47poh0rW4Z7PFy4MABxo4dS01NDUlJSVx66aXccMMNAHznO99h06ZNjBs3Ducc2dnZPP3000ydOpU1a9ZQUFBAcnIy06ZN4+c//3njPktLS5kxYwaVlZU457jvvvsOOu4f/vAHZs+eTUVFBfn5+fzud7/rtHMcPXo0d9xxB1OmTKG+vp5QKMSCBQsU7CIB4sucp+0VbaKNtWvXcuyxx3Z5LRKdPg+R7qcrJ9oQEZFuRMEuIhIwCnYRkYBRsIuIBIyCXUQC6bnnnmPKlCkMGTKEXr16kZ+fz0UXXcQ///nPeJfW6RTsIhI4c+fOZfr06bz99ttMnTqVa6+9lnHjxvHMM88wceJEHn/88XiX2KkU7GFbtmxhxIgRjc962bNnDyNGjGj3bfwiEl/bt2/nnnvuITc3l48++oiHH36YO++8k8WLF7N06VKcc9x6663xLrNT9chgr66rZsHKBZzy8Cl85ZGv8Oi7j1LvOvbc9AZDhw5lzpw5jU9nvPnmm5k1axZ5eXk+VCwiXeWzzz6jvr6eU0455aDnIJ1xxhlkZmayc+fOOFXXNXrcnaf1rp7Jj01m1eerqKipAGDN9jUsWb+E/73wf2Pa9/XXX8/JJ5/MvHnzeP3115k/f74fJYtIFxo1ahTJycmsXLmSXbt2MWDAgMZ1//jHPygtLeW8886LY4Wdr8cF+98L/87b295uDHWA8ppy/vrJX1mzfQ1jB47t8L5DoRC//OUvmTp1Ki+88AKhUMiPkkWkC/Xv35+77rqLG264gdGjR3PeeeeRlZXFhg0b+Otf/8rkyZObzKcQRD0u2F/59BXKqssOWl5XX8erm16NKdgBlixZwhFHHMEHH3zA5MmTY9qXiMTHddddR15eHldeeSW//e1vG5ePHDmSmTNnBv5R1T2uj31gxkBSE1MPWp6cmExOemwf1po1a3jxxRdZsWIF999/P9u2bYtpfyISH3fffTcXXnghM2fOZMOGDZSXl7N69Wry8/O5+OKLuemmm+JdYqfqccF+yZhLSExIPGh5YkIiM46Z0eH9OueYM2cO8+bNY9iwYfzwhz9snMZORHqO5cuXM3fuXM4991zuu+8+8vPzSUtLY9y4cTz11FMMHjyYe++9l40bN8a71E7T44I9NyOXv33zb2SnZZOZnElGcgbD+gzj5cteJi2U1uH9/va3v2XYsGGN3S9XXXUVa9eu5dVXX/WrdBHpAs8++yzgjYBpLi0tjQkTJlBfX88777zT1aV1Gd/62M0sEVgFbHXOTW9r+1icMeIMtv1gG+/ueJekhCROyDkBM4tpn7NmzWLWrFmNPycmJvL222/HWqqIdLGqqiqAFoc0NixPTk7uspq6mp8t9muBtT7ur1WJCYmMO2IcY3LHxBzqIhIcp512GgALFy5k69atTdYtWbKEN954g9TUVL785S/Ho7wu4UuL3cyGAOcAPwNu8GOfIiIdceGFF3LWWWexbNkyjj32WM4//3wGDhzI2rVrefbZZ3HOceedd5KVlRXvUjuNX10x84CbgMxYduKcU+u7G4jHrFoifklISOD5559nwYIFPPHEEzz11FNUVFTQv39/pk2bxjXXXMOUKVPiXWanijnYzWw6UOycW21mk1rZbhYwC2DYsGEHrU9NTaWkpISsrCyFexw55ygpKSE19eAhpSI9RSgU4rrrruO6666LdylxEfOcp2b2C+BSoBZIBXoDf3HOXdLSa6LNeVpTU0NRURGVlZUx1SOxS01NZciQIbrzVqSbOdQ5T2NusTvnfgT8KHzQScCNrYV6S0KhECNGjIi1HBGRw16PG8cuIiKt8/VZMc655cByP/cpIiLtoxa7iEjAKNhFRAJGwS4iEjAKdhGRgFGwi4gEjIJdRCRgFOwiIgGjYBcRCRgFu4hIwCjYRUQCRsEuIhIwCnYRkYBRsIuIBIyCXUQkYBTsIiIBo2AXEQkYBbuISMAo2EVEAkbBLiISMAp2EZGAUbCLiASMgl1EJGAU7CIiAaNgFxEJGAW7iEjAKNhFRAJGwS4iEjBJ8S5ApDso3F3IgrcWsGH3Bs4ccSZXnHQFvVN6x7ss36woWsHC1QvZW7mXi0ZfxEXHXURSgv75B5U552LbgdlQ4FEgF3DAQufcA629pqCgwK1atSqm44r45aWNL3HuE+dSU1dDTX0NaaE0snplsXrWarLTs+NdXszu++d9/OSVn3Cg5gAOR3oonYJBBbx46YuEEkPxLk/awcxWO+cK2trOj66YWuAHzrnRwKnAv5vZaB/2K9LpnHNc/vTlVNRUUFNfA0BFTQXby7Zzxz/uiHN1sdtVsYtbXrqFipoKHF4jrrymnFWfr+LPa/8c5+qks8Qc7M65bc65t8PflwJrgcGx7lekK3y27zN2H9h90PKa+hqe/vjpOFTkr1c3vUpKYspBy8tryvnzRwr2oPL14qmZ5QEnAW9GWTfLzFaZ2aqdO3f6eViRDksPpVPv6qOuy0zO7OJq/JeZktnYUo+UYAn069UvDhVJV/At2M0sA/gzcJ1zbn/z9c65hc65AudcQXZ2z++3lGDITs/m1CGnHnQhMS2UxtUTro5TVf45I+8MUpIObrGnJKbw3XHfjUNF0hV8CXYzC+GF+iLn3F/82KdIV3nywic5ZsAxZCRn0Du5N6lJqXzj+G/w3ZN7fvCFEkMsvWQp2WnZ9E7pTe8U7/zunnw34wePj3d50kn8GBVjwB+A3c656w7lNRoVI92Nc46VW1dStL+IgkEFDO87PN4l+aq2vpblm5ZTVl3G6cNPVzdMD3Woo2L8CPavAK8B7wMNnZW3OOeeb+k1CnYRkfY71GCP+Q4F59zrgMW6HxER8YceKSAiEjAKdhGRgFGwi4gEjIJdRCRgFOwiIgGjYBcRCRgFu4hIwCjYRUQCRsEuIhIwCnYRkYDRpIc+WvTmZ7xftI+RORmMzMlgVG4mg/qk4j0nTUSkayjYffTKumKWrS1usiw9OZEjw0E/MieDUTmZjMrJYGj/NBITFPgi4j8Fu4/WF5cdtKy8uo73ivbxXtG+JsuTkxLIH5DeGPZeCz+DvKx0kpPUQyYiHadg99Ed5x3PJzvKKCwupbC4jPXFZeytqIm6bXVtPeu2l7JueymwrXF5YoIxPCuNUREt/JE5GRyZnUGv5MQuOhMR6clifh57Rxwuz2N3zlFSXs36HWUU7iyjcEcp64vLKCwuo7i0ql37MoPBfXs1Dfxc7/veqaFOOgMR6U66bKKNjjhcgr01+w7UUFjctHW/fkcZW/ceaPe+cnunNIb9kTkZjAp/ZWUcPNeliPRcCvYeqqK6lg3F5RTuLPVa+uEW/qaScurb+VH1Sws1CfuGfvyBvTVSR6QnUrAHTFVtHZt2VbA+ooW/obiMjTvLqa6rb3sHETJSkpqGffi/Q/pppI5Id9ZlU+NJ10hJSuTogZkcPTCzyfLauno2765oEvYN/fgHauqi7qusqpZ3t+zl3S17mx0jgSOzm4b9qNwMhmelE0rUSB2RnkIt9oCqr3d8vu/AF2EfvoC7fkcp+ytr27WvpAQjb0B6Y9g3fB2ZnUFqSCN1RLqKWuyHuYQEY0i/NIb0S+OMo3Malzvn2FlWReGOL1r2XvdOObvKoo/Uqa13jX39kcxgaL+0JoE/KjeTI7PTydRIHZG4UYtdGu2tqG4yQqdhiObn+yrbva8j+qQ2ad03jMfvn57cCZWLHB508VR8U1ZVy4bG1v0XQzQ3765o90idrPTkiLDPYGROJqNyM8jJTNFIHZE2qCtGfJORksSJQ/ty4tC+TZZX1tTx6a7yxi6dwmJviOamknJq6qInfkl5NSWf7ubNT3c3WZ6ZmtT0om24hT+4by8SNFJHpF0U7NJhqaFEjj2iN8ce0bvJ8pq6ej4rqTjoBqwNO8uorIk+NLO0spZ3Nu/lnc1NR+qkhryROqMa++/DI3X6p5GkkToiUSnYxXehxITG7hYY2Li8vt6xde+BL8bi7/hiiGZpVfSROpU19Xz4+X4+/Hx/s2MYI8IPURvZ8BC1nAxGDEjXSB057KmPXeLOOceO/VURI3S+CPyS8up27SvBYFj/tCZh3/BLJj2l+7RjKmsree6T59hVsYvT807nmAHHxLsk6QG69OKpmU0FHgASgYedc3e2tr2CXQ5VSZkX+N4YfK87Z/2OMrbvb/9IncF9e0W947ZvWteO1Hl3+7t87dGvUVNXQ22995fKxSdczMJ/XagLyNKqLgt2M0sEPgEmA0XAW8A3nXMftfQaBbvEan9lTeNdtpF3227ZU0F7/5cekJHCyJx0bxKU3AxGZmcwMjeD7Az/R+o458h7II/N+zY3WZ4eSueRGY/w9eO+7uvxJFi6clTMBKDQObcxfOAngBlAi8EuEqveqSFOGtaPk4b1a7L8QHUdG3eVNfbhN3TvfFZSQW0LYzN3lVWxq6yKFRubjtTpnZrEqNxMRoYv2DZ06Qzq0/GROmu2r2H3gd0HLS+vKeehVQ8p2MUXfgT7YGBLxM9FwCnNNzKzWcAsgGHDhvlwWJGD9UpO5LhBfThuUJ8my6tr6/mspPyLG7DCLfwNO8uoro0+Umd/ZS2rP9vD6s/2NFmelpzYOFKn8THJuZkM7derzZE61XXVJLQwh3xlbfu7l0Si6bKrSc65hcBC8Lpiuuq4IuBNRTgqN5NRuZn8S8TyunpH0Z6KxjttP9lR2ngzVnl19IeoVVTX8f7Wfby/tdl0h4kJ5GenRzwT37uAmzcgjZQkb6TOuCPGkZhw8KidtFAaF4+52LfzlcObH8G+FRga8fOQ8DKRbs+bijCd4VnpnEVu43LnHNv2VUbcbRu+Aau16Q7rIqc7bHaM/mmNXTnXjHmc+1fdRBWbqaovJSOUwYkDT+TbJ327U89VDh9+XDxNwrt4eiZeoL8FfMs592FLr9HFU+mpok132DBip73THQL0Sqkgb0AqXx6Rz1G5mY3DNPv00kPU5GBddvHUOVdrZt8HluINd3yktVAX6cnMjAEZKQzISOFLR2Y1WRdtusPC4jKK9rQ83eGBqjTWboW1Wzc1WZ6TmRIxQueLC7hZ6ckaEilt0g1KIp2sorqWjTvLm9xxW1hcxme7K6hr51PU+qaFGh+eFjkW/4g+mu7wcKCnO4p0cw3THUbecVsY43SHjUMzw//VdIfBoqc7inRzTac7PKJxeW1dPVv2HGB9uP++sKE/v7iMihZG6rQ23WF+9sF32w7PSic5SQ9RCyoFu0g3k5SYwIgB6YwYkM6UiOUN0x0WNo7SaZgUpeXpDqtq61m7bT9rtzV9iFpSgjE8K+2Lu2013WGgqCtGpIdrnO6wuPkdt2UtTnfYkobpDps/QG1kToamO+wG1McuIo3THTYdj1/G1r0tj9RpycDeqYzKzWh8Jr6mO+x6CnYRaVF5VW3jkzIbxuEXFpd2eLrDpk/N9AI/t7emO/SbLp6KSIvSU5IYM6QvY4ZEn+4w8pn464tL+XRX29Mdrmw+3WFKEiMjRug0hL6mO+x8CnYRadTadIebd1dEPBO/tHGkTovTHVa1Pd1h5AxYw7PSCGm6Q18o2EWkTaFEL4yPzM5osrxhusMv+vFLG/vyS1sYqdPadId5Wenh1n03n+6wrAz+7/8gMxNOOQUSutcvJPWxi4i/Xn8dd955FCelU9h/MOv7DabwostZ3yuLDTvL2FXW0ekOvcBvaOkfmZNBRjymO3zkEbj6akhKAuegTx9YsgSOP77TD62LpyLS9UpLYfBg77+R0tLg449hyBB2l1c3aeE3fL9tX/ufRz+oT2qTZ+k0PC65T1onDc185x2YOBEONBtVlJsLW7dCYuf+ZaGLpyLS9Z5+mqhzE9bWwqJFMHcu/dOTmTCiPxNG9G+ySWllDRt2lh90x+3m3S1Pd/j5vko+31fJPz7Z2bjs0lOH85/ndVLr+aGHoDrKXxwVFbB8OZx5Zucct50U7CLinz17vBBvrroaSkpafWlmaoixQ/sydujBI3UiH6LWMGJn067yqNMdjszJOGiZb3btgrroj3Vgz57oy+NAwS4i/jnrLO/21ebS02Hq1A7tMjWUyOhBvRk96OCROo3THUaMxz9mYGaHjnNIZsyAv/8dysubLq+uhq9+tfOO204KdhHxz+jRcNll8PjjX4RfejqccYb35aNQYkJ49EwmUzv/uqXn3/4NFiyADz744vzS0uCWWyAnp4uKaJuCXUT89etfw7Rp3uiR6mq49FL4+tejt+R7muRkePVV7xfXk09C374wZ47vv7RipVExIiI9xKGOiuleo+pFRCRmCnYRkYBRsIuIBIyCXUQkYBTsIiIBo2AXEQkYBbuISMAo2EVEAkbBLiISMAp2OXTl5fDhh7BvX7wrEZFWxBTsZvZLM1tnZu+Z2VNm1rftV0mP4xz8+MeQnQ1f+hIMHAizZ0d/PKuIxF2sLfYXgeOdc2OAT4AfxV6SdDsLFsC8ed6sMaWlUFkJjz3mhb2IdDsxBbtz7gXnXEOzbQUwJPaSpNu5+25vhphIFRVe4NdHn6FeROLHzz72K4ElLa00s1lmtsrMVu3cubOlzaQ72rUr+vLKSqiq6tpaRKRNbQa7mS0zsw+ifM2I2ObHQC2wqKX9OOcWOucKnHMF2dnZ/lQvXaOghaeE5uVBr15dWoqItK3NiTacc2e1tt7MZgLTgTNdPB7uLp3v3nth0iSvhd7Q9dKrF8yfH9eyRCS6WEfFTAVuAs51zlW0tb30UOPHw4oVcMEFMGKENzvOyy93eA5LEelcsU6NNx9IAV40b9qrFc652TFXJd3PCSfAn/4U7ypE5BDEFOzOuZF+FSIiIv7QnaciIgGjYBcRCRgFu4hIwCjYRUQCRsEuIhIwCnYRkYBRsIuIBIyCXUQkYBTsIiIBo2AXEQkYBbuISMAo2EVEAkbBLiISMAp2EZGAUbCgiObdAAAFqklEQVSLiASMgl1EJGAU7CIiAaNgFxEJGAW7iEjAKNhFRAJGwS4iEjAKdhGRgFGwi4gEjIJdRCRgFOwiIgGjYBcRCRgFu4hIwPgS7Gb2AzNzZjbAj/2JiEjHxRzsZjYUmAJsjr0cERGJlR8t9vuBmwDnw75ERCRGMQW7mc0Atjrn3vWpHhERiVFSWxuY2TJgYJRVPwZuweuGaZOZzQJmAQwbNqwdJYqISHuYcx3rQTGzE4CXgIrwoiHA58AE59z21l5bUFDgVq1a1aHjiogcrsxstXOuoK3t2myxt8Q59z6QE3HATUCBc25XR/cpIiKx0zh2EZGA6XCLvTnnXJ5f+xIRkY5Ti11EJGAU7CIiAaNgFxEJGAW7iEjAKNhFRAJGwS4iEjAKdhGRgFGwi4gEjIJdRCRgFOwiIgGjYBcRCRgFu4hIwCjYRUQCRsEuIhIwCnYRkYBRsIuIBIyCXUQkYBTsIiIBo2AXEQkYBbuISMAo2EVEAkbBLiISMAp2EZGAUbCLiASMgl1EJGAU7CIiAaNgFxEJGAW7iEjAxBzsZna1ma0zsw/N7G4/ihIRkY5LiuXFZnYGMAM40TlXZWY5/pQlIiIdFWuLfQ5wp3OuCsA5Vxx7SSIiEouYWuzAUcBpZvYzoBK40Tn3VrQNzWwWMCv8Y5WZfRDjsbuzAcCueBfRiYJ8fkE+N9D59XRHH8pGbQa7mS0DBkZZ9ePw6/sDpwLjgT+aWb5zzjXf2Dm3EFgY3ucq51zBoRTYE+n8eq4gnxvo/Ho6M1t1KNu1GezOubNaOcgc4C/hIF9pZvV4vzF3HmqhIiLir1j72J8GzgAws6OAZIL9Z5CISLcXax/7I8Aj4f7yauDyaN0wUSyM8bjdnc6v5wryuYHOr6c7pPOzQ8thERHpKXTnqYhIwCjYRUQCJq7Bfjg8jsDMfmBmzswGxLsWv5jZL8Of23tm9pSZ9Y13TX4ws6lm9rGZFZrZzfGux09mNtTMXjGzj8L/3q6Nd01+M7NEM3vHzJ6Ndy1+M7O+ZrY4/O9urZl9qbXt4xbszR5HcBxwT7xq6SxmNhSYAmyOdy0+exE43jk3BvgE+FGc64mZmSUCC4B/AUYD3zSz0fGtyle1wA+cc6Px7jv594CdH8C1wNp4F9FJHgD+7pw7BjiRNs4zni32w+FxBPcDNwGBukLtnHvBOVcb/nEFMCSe9fhkAlDonNvonKsGnsBreASCc26bc+7t8PeleMEwOL5V+cfMhgDnAA/Huxa/mVkf4KvAfwM456qdc3tbe008g73hcQRvmtmrZjY+jrX4zsxmAFudc+/Gu5ZOdiWwJN5F+GAwsCXi5yICFHyRzCwPOAl4M76V+GoeXiOqPt6FdIIReDd9/i7c1fSwmaW39oJYx7G3yq/HEXRXbZzfLXjdMD1Sa+fmnHsmvM2P8f7EX9SVtUnHmVkG8GfgOufc/njX4wczmw4UO+dWm9mkeNfTCZKAccDVzrk3zewB4GbgJ629oNME/XEELZ2fmZ2A91v2XTMDr6vibTOb4Jzb3oUldlhrnx2Amc0EpgNn9qRfxq3YCgyN+HlIeFlgmFkIL9QXOef+Eu96fDQRONfMpgGpQG8ze9w5d0mc6/JLEVDknGv4C2sxXrC3KJ5dMYF9HIFz7n3nXI5zLs85l4f3wYzrKaHeFjObivdn77nOuYp41+OTt4BRZjbCzJKBbwB/jXNNvjGvhfHfwFrn3H3xrsdPzrkfOeeGhP+tfQN4OUChTjg3tphZw5MdzwQ+au01ndpib0NHH0cg8TcfSAFeDP9FssI5Nzu+JcXGOVdrZt8HlgKJwCPOuQ/jXJafJgKXAu+b2Zrwslucc8/HsSY5dFcDi8KNjo3AFa1trEcKiIgEjO48FREJGAW7iEjAKNhFRAJGwS4iEjAKdhGRgFGwi4gEjIJdRCRg/j+C3gPEEgEDqwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"oldWeight: [0.5 2. ] newWeight: [-2. 2.5]\n"
]
},
{
"data": {
"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": [
"oldWeight: [-2. 2.5] newWeight: [-1.5 2.5]\n"
]
},
{
"data": {
"image/png": "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+ig5OTn4fD4aGho47bTTOO+881i7di2PPvoob7/9NhkZGezcufOQfezYsYNHHnmEtWvXYmbs3h26mvE111zDb3/7W8466yx+/OMfc/vtt7NgwQIAmpubWb58OU8++SS33357u6d3Drd27VpeeuklamtrGTNmDPPnz2f9+vWUlpbyxhtvkJyczDe+8Q0WLVrENddcc8z7FZHYFpPBHoueffZZ3n333YOz8JqaGj766COef/55rr/+ejIyMgDo37//IffLyckhLS2Nr3zlK1x44YUHZ9QH1NTUsHv3bs46K3BN5WuvvZYrrrji4Pjll18OwNSpU9m4ceNx1XzBBReQmppKamoqubm5bNmyhRdeeIEVK1bg9QauRb1//35yc3OPa78iEtsU7O3YsGEDiYmJ5Obm4pzjt7/9Leeff/4h2zzzzDPt7iMpKYnly5fzwgsvsHTpUu655x5efPHFY64hNTVwveHExESam4/vSmkH7tv2/s45rr32Wn76058e175EpOeIyWA/ntMlXWXbtm3ccMMNfPOb38TMOP/88/nd737HOeecQ3JyMh9++CF5eXnMnDmTO+64gyuvvPLgqZi2s/a9e/dSV1fH7NmzOe200xg1atQhx8nJyaFfv3689tprnHHGGTzwwAMHZ+9dYcaMGVxyySXcdNNN5ObmsnPnTmpraxk+fHiXHVNEuldMBnu07N+/n8mTJ9PU1ERSUhJXX301//Ef/wHAV7/6VTZu3MiUKVNwzjFo0CCWLVvGrFmzKC8vp7CwkJSUFGbPns1///d/H9xnbW0tl1xyCfX19TjnuOuuu0KOe//993PDDTdQV1fHqFGj+Mtf/tJlj3Hs2LHceeednHfeebS2tpKcnMy9996rYBeJIxG55unxCnehjTVr1nDyySd3ey0Snn4eIrGnOy+0ISIiMUTBLiISZxTsIiJxRsEuIhJnFOwiEneWLl3KjTfeyBlnnEGfPn0wM6666qp27/Pmm28ye/Zs+vfvT3p6OhMnTmTBggU9cskNtTuKSNy58847WbVqFVlZWeTn57N27dp2t3/00Uf5whe+QFpaGkVFRfTv35/HH3+cm266iTfeeIMlS5Z0U+WRoRl7kN/vZ+TIkQfXetm1axcjR4487o/xi0j03X333Xz44Yfs2bOH3/3ud+1uu2fPHr72ta+RmJjIyy+/zJ/+9Cd+8Ytf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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": [
"oldWeight: [-1.5 2.5] newWeight: [-1. 2.5]\n"
]
},
{
"data": {
"image/png": "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u+66C4CWlhZWr17NU089xW233Raye6ezDRs28PLLL1NfX88RRxzBwoUL2bhxI4899hjLli0jISGBL33pSyxZsoQrr7yy18cVkdgWk8Eei5577jneeuutYCt89+7d/Otf/+KFF17gmmuuISUlBYD09PQDHpeWlkZycjKf//znOe+884It6na7d++mtraWU07x1lS+6qqruOSSS4LbL7roIgCOP/54Kioq+lTzueeeS1JSEklJSWRlZfHhhx/y4osvsnbtWmbN8tai3rdvH1lZWX06rojENgV7COXl5cTFxZGVlYVzjt/85jecddZZB+zz7LPPhjxGfHw8q1ev5sUXX+Txxx9n0aJFvPTSS72uISnJW284Li6Olpa+rZTW/tiOj3fOcdVVV/GTn/ykT8cSkaEjJoO9L90lA+Wjjz7i+uuv58tf/jJmxllnncW9997LJz/5SRISEnj//feZNGkS8+bN44c//CGXXXZZsCumY6t9z549NDQ0cM4551BcXEx+fv4B50lLS2PMmDG89tprnHzyyTzyyCPB1vtAOP3007nwwgv5+te/TlZWFjU1NdTX1zNlypQBO6eIDK6YDPZo2bdvHzNmzKC5uZn4+HiuuOIKvvGNbwBw3XXXUVFRwcyZM3HOMXbsWJYuXcr8+fMpLS2lqKiIxMREzjnnHH784x8Hj1lfX8+FF15IY2Mjzjl+9atfHXTehx56iOuvv56Ghgby8/N58MEHB+w5Tp06ldtvv50zzzyTtrY2EhISuOeeexTsIj4SkTVP+6qrhTbWr1/PUUcdNei1SNf0fojEnsFcaENERGKIgl1ExGcU7CIiPqNgFxHxGQW7iPjO448/zg033MDJJ5/MqFGjMDMuv/zyLvdtbm7m7rvv5pprrmHGjBkkJiZiZtx///2DXHXkaLijiPjO7bffzrp16xg5ciTZ2dls2LCh23337t3L1772NQDGjRvH+PHj2bJly2CVOiDUYg/YsmULeXl5wbledu3aRV5eXp8v4xeR6Lvzzjt5//33qaur49577w25b0pKCk899RTbtm1jx44dXHvttYNU5cAZksHe1NrEPavv4YT7T+CkB07i4XUP0+b6N296u8mTJ7Nw4cLg7Iw333wzCxYsIDc3NwIVi8hgOu200zjssMN6tRpYYmIiZ599NhMmTBiEygbHkOuKaXNtzHtkHiXbSmho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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": [
"oldWeight: [-1. 2.5] newWeight: [-0.5 2.5]\n"
]
},
{
"data": {
"image/png": "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9hr5+fmUlZU1a2Pz5s385S9/YdWqVZgZW7bsejXjc889l1tvvZVjjz2Wq666imuuuYb58+cDUFdXx7Jly3jssce45ppr2hzeaWnVqlU899xzVFRU8IUvfIE5c+bw4Ycf8uCDD/Lyyy+TnZ3NhRdeyKJFizj33HM73K6I9G69Mth7o6eeeoq33nqrqRe+detWPvjgA5555hnOP/988vPzARgyZEiz1w0cOJC8vDwuuOACTjnllKYedaOtW7eyZcsWjj02uKfyeeedx+mnn960/NRTTwXg8MMPZ82aNZ2q+eSTTyY3N5fc3FyGDx/Op59+ytKlS1m+fDkTJwb3oq6qqmL48OGdaldEejcFextWr15NZmYmw4cPx9259dZbOemkk5qt8+STT7bZRlZWFsuWLWPp0qUsXryYBQsW8Oyzz3a4htzc4H7DmZmZ1NV17k5pja+Nf727c95553H99dd3qi0RSR+9Mtg7M1zSXTZu3Mjs2bP5wQ9+gJlx0kkncfvtt/OVr3yF7Oxs3n//fUaOHMmUKVO49tprOfvss5uGYuJ77du3b6eyspJp06YxadIkxo0b12w7AwcOZPDgwbz44oscffTR3HfffU299+5w/PHHM336dH7yk58wfPhwysrKqKioYPTo0d22TRHpWb0y2FOlqqqKQw45hNraWrKyspgxYwY//elPAfjud7/LmjVrOOyww3B3hg0bxpIlS5g6dSorVqygqKiInJwcpk2bxi9+8YumNisqKpg+fTrV1dW4O7/+9a932e4999zD7NmzqaysZNy4cdx9993dto/jx4/nuuuu48QTT6ShoYHs7Gxuu+02BbtIhIRyz9POSnSjjZUrV/LFL36xx2uRxPR5iPQ+PXmjDRER6UUU7CIiEaNgFxGJGAW7iEjEKNhFJHIWL17M3LlzOfrooxkwYABmxjnnnJNw3Q8++IAbbriBr3zlK4waNYqcnBz23HNPpk+fznPPPdfDlYdDpzuKSORcd911vPnmm/Tr14+CggJWrVrV6rpXXnklDz74IOPHj2fatGkMGTKE9957j0cffZRHH32UW265Je2umqoee0xJSQljx45tutZLeXk5Y8eO7fQ0fhFJvZtvvpn333+fbdu2cfvtt7e57tSpU3njjTd45513uOOOO7j++ut5+OGHWbp0KdnZ2VxyySWsX7++hyoPR1oGe019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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": [
"oldWeight: [-0.5 2.5] newWeight: [0. 2.5]\n"
]
},
{
"data": {
"image/png": "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5Pnnn2f58uWYGVu27H0340suuYQHHniAIUOGcOutt3L77bczZcoUAMrKyli0aBEvvvgit99+e43DO5UtX76cefPmUVxczJFHHsmECRNYsWIFTz/9NK+//jpZWVlceeWVTJ8+nUsuuaTO7YpI89Ysg705mj17Nm+99dbuXvjWrVv58MMPefnll7nsssvIyckBoGPHjnus16FDB1q1asUPf/hDRo0atbtHvcvWrVvZsmULQ4YEz1S+9NJLOffcc3fPP/vsswEYMGAAq1atqlfNp59+OtnZ2WRnZ5Obm8vnn3/O3LlzWbx4MQMHBs+i3r59O7m5ufVqV0SaNwV7DVauXElGRga5ubm4Ow888ACnnHLKHsu89NJLNbaRmZnJokWLmDt3LjNmzGDq1Km88sorda4hOzt43nBGRgZlZfV7UtqudRPXd3cuvfRS7rrrrnq1JSLpo1kGe32GSxrL+vXrGT9+PD/+8Y8xM0455RQeeughvvvd75KVlcUHH3xA586dGT58OHfccQcXXnjh7qGYxF77tm3bKCkp4bTTTuOEE06gZ8+ee2ynQ4cO7L///rz66qsMHjyYJ598cnfvvTGcdNJJjB49mquvvprc3Fw2bdpEcXEx3bp1a7RtikjTapbBnirbt2+nX79+lJaWkpmZycUXX8zPfvYzAC6//HJWrVpF//79cXc6derEzJkzGTlyJIWFheTn59OyZUtOO+00fvnLX+5us7i4mNGjR7Njxw7cnfvuu2+v7T7++OOMHz+ekpISevbsyWOPPdZo+9i7d2/uvPNORowYQUVFBVlZWTz44IMKdpEYieSZp/VV1YM2li1bxje/+c0mr0WqptdDpPlpygdtiIhIM6JgFxGJGQW7iEjMKNhFRGJGwS4isTNjxgwmTpzI4MGDad++PWbGRRddVOWyq1ev5sorr2TQoEEcfPDBZGdnc+ihhzJ48GAee+wxSktLm7j65OlyRxGJnTvvvJOlS5fStm1bunTpwvLly6td9qOPPmL69OkMGjSIs846i44dO7Jx40ZmzZrF2LFjefLJJ5k9ezaZmekTl+lTaSNbvXo1J554IosXL6Zjx45s3ryZ/v37M2/ePLp3757q8kSkHiZPnkyXLl047LDDWLBgAcOGDat22eOPP57NmzfTosWeAxilpaWMGDGCefPm8dxzz3Heeec1dtmRScuhmJ3l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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": [
"oldWeight: [0. 2.5] newWeight: [0.5 2.5]\n"
]
},
{
"data": {
"image/png": "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3WEfVVVV/OEPf2DdunWYGXv2dB3N+OKLL+buu+/mtNNO44c//CE333wzCxcuBKC5uZlVq1bxxz/+kZtvvjlh805n69at45VXXqGmpoYjjzySBQsWsGHDBp588kn+9Kc/EQqF+MY3vsGSJUu4+OKLe7xfERncBmWwD0bPP/88b7/9dnstfO/evbz//vu8+OKLXHrppYTDYQBGjBjRYbuCggKys7O57LLLOPfcc9tr1G327t3Lnj17OO00b07lSy65hPPPP799+XnnnQfA9OnT2bRpU6/KfM4555CVlUVWVhZFRUVs376dl156idWrVzNjhjcXdX19PUVFRb3ar4gMbgr2BDZu3Eh6ejpFRUU457j77rs566yzOqzz3HPPJdxHRkYGq1at4qWXXmLp0qUsWrSIl19+ucdlyMry5htOT0+nubl3M6W1bRu9vXOOSy65hB//+Me92peIDB2DMth701zSX3bu3Mn8+fP55je/iZlx1llnce+99/KpT32KUCjE+vXrGTduHGeccQa33HILF1xwQXtTTHStvba2lrq6Os4++2xOOeUUJk2a1OE4BQUFFBYW8uqrr3Lqqafy+OOPt9fe+8OsWbOYM2cO3/nOdygqKmL37t3U1NQwfvz4fjumiAysQRnsqVJfX8+0adNoamoiIyODiy66iO9+97sAXH755WzatIkTTjgB5xyjR49m2bJlzJ49mzVr1lBWVkZmZiZnn302t912W/s+a2pqmDNnDg0NDTjn+MUvftHluI8++ijz58+nrq6OSZMm8fDDD/fbOU6ZMoVbb72VM888k9bWVkKhEPfcc4+CXSRAfJnztLdiTbSxdu1ajj766AEvi8Smn4fI4DOQE22IiMggomAXEQkYBbuISMAo2EVEAkbBLiKBs3TpUq688kpOPfVUhg0bhplx4YUX9nj7yy+/HDPDzNiwYUM/lrR/6HFHEQmcW2+9lbfeeou8vDyKi4tZt25dj7d9+umnefDBB8nLy6O2trYfS9l/VGOP2LJlCxMnTmwf66W6upqJEyf2uhu/iKTenXfeyfr169m3bx/33ntvj7fbuXMnV1xxBV/60peYPn16P5awfw3JYG9saeSeVfdw0gMn8YmHPsFjbz1Gq+vbuOltSkpKWLBgQfvojNdffz3z5s1jwoQJPpRYRAbS6aefzkc/+tFezwY2b948AO65557+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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"wrong_prediction = True\n",
"step = 0\n",
"while wrong_prediction == True:\n",
" # set as false\n",
" wrong_prediction = False\n",
" # for every point in data\n",
" for point_index in range(0,len(x1)):\n",
" #print(point_index)\n",
" px = x1[point_index]\n",
" py = x2[point_index]\n",
" target_class = y[point_index]\n",
"\n",
" # make prediction\n",
" y_predicted = predict(W, px,py)\n",
" # if prediction not correct-> compute new perceptron weights\n",
" if y_predicted != target_class:\n",
" # set that at least one point is wrongly classified\n",
" wrong_prediction = True\n",
" #print(y_predicted,target_class)\n",
" # weights recomputation\n",
" newW = np.asarray(W) + alpha * (target_class-y_predicted)*np.asarray([px,py])\n",
" print(\"oldWeight:\", W, \"newWeight:\",newW)\n",
" W = newW\n",
" plot_points_and_decision_line(newW,x1,x2,colors,step)\n",
" # increase step\n",
" step = step+1\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0.5, 2.5])"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# final weights\n",
"W"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now you can make predictive classification on you points with: "
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.0"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"px * W[0] + py *W[1]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For example, point A with (2,-4)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"predict(W,2,-4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Point A is classified as 0"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:snakes]",
"language": "python",
"name": "conda-env-snakes-py"
},
"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.5.6"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment