{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "b1936e01", "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "id": "4cda8497", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# vstupní vektor 1 (obrázek :-)\n", "# +1 -1 -1 -1 -1 -1 -1 -1 -1 -1\n", "# -1 +1 -1 -1 -1 -1 -1 -1 -1 -1\n", "# -1 -1 +1 -1 -1 -1 -1 -1 -1 -1\n", "# -1 -1 -1 +1 -1 -1 -1 -1 -1 -1\n", "# -1 -1 -1 -1 +1 -1 -1 -1 -1 -1\n", "# -1 -1 -1 -1 -1 +1 -1 -1 -1 -1\n", "# -1 -1 -1 -1 -1 -1 +1 -1 -1 -1\n", "# -1 -1 -1 -1 -1 -1 -1 +1 -1 -1\n", "# -1 -1 -1 -1 -1 -1 -1 -1 +1 -1\n", "# -1 -1 -1 -1 -1 -1 -1 -1 -1 +1\n", "\n", "s_1 = (\n", " +1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, +1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, +1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, +1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, +1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, +1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, +1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, +1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, +1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, +1,\n", ")\n", "s_1 = np.array(s_1)\n", "plt.matshow(s_1.reshape(10, 10), cmap='gray')" ] }, { "cell_type": "code", "execution_count": 3, "id": "812e2675", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0 -1 -1 ... -1 -1 1]\n", " [-1 0 1 ... 1 1 -1]\n", " [-1 1 0 ... 1 1 -1]\n", " ...\n", " [-1 1 1 ... 0 1 -1]\n", " [-1 1 1 ... 1 0 -1]\n", " [ 1 -1 -1 ... -1 -1 0]]\n" ] } ], "source": [ "# učení: matice vah pro obrázek 1\n", "w_1 = np.outer(s_1, s_1)\n", "np.fill_diagonal(w_1, 0)\n", "print(w_1)" ] }, { "cell_type": "code", "execution_count": 4, "id": "3d5a5fe2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# vstupní vektor 2 (obrázek :-)\n", "\n", "s_2 = (\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, +1, +1, +1, +1, +1, +1, -1, -1,\n", " -1, -1, +1, -1, -1, -1, -1, +1, -1, -1,\n", " -1, -1, +1, -1, -1, -1, -1, +1, -1, -1,\n", " -1, -1, +1, -1, -1, -1, -1, +1, -1, -1,\n", " -1, -1, +1, -1, -1, -1, -1, +1, -1, -1,\n", " -1, -1, +1, +1, +1, +1, +1, +1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", ")\n", "s_2 = np.array(s_2)\n", "plt.matshow(s_2.reshape(10, 10), cmap='gray')" ] }, { "cell_type": "code", "execution_count": 5, "id": "25b39307", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[0 1 1 ... 1 1 1]\n", " [1 0 1 ... 1 1 1]\n", " [1 1 0 ... 1 1 1]\n", " ...\n", " [1 1 1 ... 0 1 1]\n", " [1 1 1 ... 1 0 1]\n", " [1 1 1 ... 1 1 0]]\n" ] } ], "source": [ "# učení: matice vah pro obrázek 2\n", "w_2 = np.outer(s_2, s_2)\n", "np.fill_diagonal(w_2, 0)\n", "print(w_2)" ] }, { "cell_type": "code", "execution_count": 6, "id": "818b374c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[0. 0. 0. ... 0. 0. 1.]\n", " [0. 0. 1. ... 1. 1. 0.]\n", " [0. 1. 0. ... 1. 1. 0.]\n", " ...\n", " [0. 1. 1. ... 0. 1. 0.]\n", " [0. 1. 1. ... 1. 0. 0.]\n", " [1. 0. 0. ... 0. 0. 0.]]\n" ] } ], "source": [ "# celková matice vah\n", "w = (w_1 + w_2) / 2\n", "print(w)" ] }, { "cell_type": "raw", "id": "eaae344d", "metadata": {}, "source": [ "# vybavování" ] }, { "cell_type": "code", "execution_count": 7, "id": "aafa3789", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# vektor k rozpoznání\n", "s = (\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, +1, +1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, +1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, +1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, +1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, +1, -1, -1, -1, -1, -1,\n", " -1, -1, +1, +1, +1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", ")\n", "s = np.array(s)\n", "plt.matshow(s.reshape(10, 10), cmap='gray')" ] }, { "cell_type": "code", "execution_count": 8, "id": "82077137", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 1. iterace\n", "o = np.sign(w @ s)\n", "plt.matshow(o.reshape(10, 10), cmap='gray')" ] }, { "cell_type": "code", "execution_count": 21, "id": "f7a5a5cb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# vektor k rozpoznání\n", "s = (\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, +1, +1, +1, +1, -1, -1,\n", " -1, -1, -1, -1, +1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, +1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, +1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, +1, -1, -1, -1, -1, -1,\n", " -1, -1, +1, +1, +1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", ")\n", "s = np.array(s)\n", "plt.matshow(s.reshape(10, 10), cmap='gray')" ] }, { "cell_type": "code", "execution_count": 22, "id": "9ba42151", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZoAAAGkCAYAAAAIduO+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAATqklEQVR4nO3df2jc9f3A8dc1XZMqyblWUpT+MIWx1maibUS01TGUgDpZx3A/ULfpX0K0qYWhroKbmw3dmAzWtZIyujlp7R/7YWWTrTjW2qlYa/3BNiybsGY6qQ65q8pO2n6+f8jK8tXYXM0rd5c+HvCm9JP75F68W/Lkc3e5KxVFUQQAJJnW6AEAmNqEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVC0bmo0bN0ZPT090dHTEsmXL4vHHH2/0SE1laGgoLrzwwujs7Izu7u5YuXJlvPTSS40eq+kNDQ1FqVSK1atXN3qUpvTKK6/E9ddfH7Nnz47TTjstzj///Ni3b1+jx2oqR44cibvuuit6enpi5syZsXDhwrjnnnvi2LFjjR6tYVoyNNu3b4/Vq1fH2rVrY//+/XHppZfGlVdeGQcPHmz0aE1j165dMTAwEE899VTs3Lkzjhw5Ev39/fH22283erSmtXfv3hgeHo7zzjuv0aM0pTfffDOWL18eH/vYx+LRRx+Nv/zlL/GDH/wgzjjjjEaP1lTWr18f999/f2zYsCH++te/xve+9734/ve/Hz/60Y8aPVrDlFrxTTUvuuiiWLp0aWzatOn4scWLF8fKlStjaGiogZM1r9dffz26u7tj165dcdlllzV6nKbz1ltvxdKlS2Pjxo3x3e9+N84///z44Q9/2Oixmsodd9wRf/rTnzx6cAKf/exnY86cOfGTn/zk+LEvfOELcdppp8XPf/7zBk7WOC13RfPuu+/Gvn37or+/f9Tx/v7+eOKJJxo0VfOrVCoRETFr1qwGT9KcBgYG4uqrr44rrrii0aM0rR07dkRfX19ce+210d3dHRdccEFs3ry50WM1nRUrVsRjjz0WBw4ciIiI559/Pvbs2RNXXXVVgydrnOmNHqBeb7zxRhw9ejTmzJkz6vicOXPitddea9BUza0oilizZk2sWLEient7Gz1O03nooYfi2Wefjb179zZ6lKb28ssvx6ZNm2LNmjXxzW9+M55++ulYtWpVtLe3x1e/+tVGj9c0br/99qhUKrFo0aJoa2uLo0ePxr333htf+cpXGj1aw7RcaP6rVCqN+ntRFO87xntuueWWeOGFF2LPnj2NHqXpjIyMxODgYPz+97+Pjo6ORo/T1I4dOxZ9fX2xbt26iIi44IIL4s9//nNs2rRJaP7H9u3b48EHH4ytW7fGkiVL4rnnnovVq1fH2WefHV/72tcaPV5DtFxozjzzzGhra3vf1cuhQ4fed5VDxK233ho7duyI3bt3x9y5cxs9TtPZt29fHDp0KJYtW3b82NGjR2P37t2xYcOGqNVq0dbW1sAJm8dZZ50V55577qhjixcvjl/84hcNmqg5feMb34g77rgjvvzlL0dExKc+9an4xz/+EUNDQ6dsaFruOZoZM2bEsmXLYufOnaOO79y5My655JIGTdV8iqKIW265JX75y1/GH/7wh+jp6Wn0SE3p8ssvjxdffDGee+6546uvry+uu+66eO6550Tmfyxfvvx9L5E/cOBALFiwoEETNad33nknpk0b/aO1ra3tlH55c8td0URErFmzJm644Ybo6+uLiy++OIaHh+PgwYNx8803N3q0pjEwMBBbt26Nhx9+ODo7O49fAZbL5Zg5c2aDp2senZ2d73ve6vTTT4/Zs2d7Puv/ue222+KSSy6JdevWxRe/+MV4+umnY3h4OIaHhxs9WlO55ppr4t5774358+fHkiVLYv/+/XHffffFTTfd1OjRGqdoUT/+8Y+LBQsWFDNmzCiWLl1a7Nq1q9EjNZWI+MC1ZcuWRo/W9D796U8Xg4ODjR6jKT3yyCNFb29v0d7eXixatKgYHh5u9EhNp1qtFoODg8X8+fOLjo6OYuHChcXatWuLWq3W6NEapiV/jwaA1tFyz9EA0FqEBoBUQgNAKqEBIJXQAJBKaABI1bKhqdVq8a1vfStqtVqjR2l69mp87NP42Kfxs1fvadnfo6lWq1Eul6NSqURXV1ejx2lq9mp87NP42Kfxs1fvadkrGgBag9AAkGrS31Tz2LFj8eqrr0ZnZ+dH+vyYarU66k/GZq/Gxz6Nj30av6m+V0VRxOHDh+Pss89+3ztW/69Jf47mn//8Z8ybN28y7xKARCMjIx/6eVeT/tBZZ2fnZN8lAIlO9HN90kPj45YBppYT/Vz3YgAAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQKqTCs3GjRujp6cnOjo6YtmyZfH4449P9FwATBF1h2b79u2xevXqWLt2bezfvz8uvfTSuPLKK+PgwYMZ8wHQ4ur+4LOLLrooli5dGps2bTp+bPHixbFy5coYGho64fnVajXK5XL9kwLQlCqVSnR1dY359bquaN59993Yt29f9Pf3jzre398fTzzxxAeeU6vVolqtjloAnDrqCs0bb7wRR48ejTlz5ow6PmfOnHjttdc+8JyhoaEol8vHl49xBji1nNSLAf7/p6kVRTHmJ6zdeeedUalUjq+RkZGTuUsAWtT0em585plnRltb2/uuXg4dOvS+q5z/am9vj/b29pOfEICWVtcVzYwZM2LZsmWxc+fOUcd37twZl1xyyYQOBsDUUNcVTUTEmjVr4oYbboi+vr64+OKLY3h4OA4ePBg333xzxnwAtLi6Q/OlL30p/v3vf8c999wT//rXv6K3tzd++9vfxoIFCzLmA6DF1f17NB+V36MBmFom9PdoAKBeQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmmN3oAxlYURaNHgFNWqVRq9AhThisaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkKqu0AwNDcWFF14YnZ2d0d3dHStXroyXXnopazYApoC6QrNr164YGBiIp556Knbu3BlHjhyJ/v7+ePvtt7PmA6DFlYqP8Olar7/+enR3d8euXbvisssuG9c51Wo1yuXyyd7lKcUHn0Hj+OCz8atUKtHV1TXm1z/SJ2xWKpWIiJg1a9aYt6nValGr1Y7/vVqtfpS7BKDFnPSLAYqiiDVr1sSKFSuit7d3zNsNDQ1FuVw+vubNm3eydwlACzrph84GBgbiN7/5TezZsyfmzp075u0+6IpGbMbHQ2fQOB46G7+Uh85uvfXW2LFjR+zevftDIxMR0d7eHu3t7SdzNwBMAXWFpiiKuPXWW+NXv/pV/PGPf4yenp6suQCYIuoKzcDAQGzdujUefvjh6OzsjNdeey0iIsrlcsycOTNlQABaW13P0Yz1mOWWLVvi61//+ri+h5c3j5/naKBxPEczfhP6HI0ffADUy3udAZBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSndQHn3Fq8662TCRv1jv1uaIBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABI9ZFCMzQ0FKVSKVavXj1B4wAw1Zx0aPbu3RvDw8Nx3nnnTeQ8AEwxJxWat956K6677rrYvHlzfPzjH5/omQCYQk4qNAMDA3H11VfHFVdcccLb1mq1qFaroxYAp47p9Z7w0EMPxbPPPht79+4d1+2Hhobi29/+dt2DATA11HVFMzIyEoODg/Hggw9GR0fHuM658847o1KpHF8jIyMnNSgAralUFEUx3hv/+te/js9//vPR1tZ2/NjRo0ejVCrFtGnTolarjfraB6lWq1Eul09+4lNIHf80k6pUKjV6BKYQ/89bX6VSia6urjG/XtdDZ5dffnm8+OKLo47deOONsWjRorj99ttPGBkATj11haazszN6e3tHHTv99NNj9uzZ7zsOABHeGQCAZHU9RzMRPEczfh675lTg/3nrO9FzNK5oAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASBV3aF55ZVX4vrrr4/Zs2fHaaedFueff37s27cvYzYApoDp9dz4zTffjOXLl8dnPvOZePTRR6O7uzv+/ve/xxlnnJE0HgCtrq7QrF+/PubNmxdbtmw5fuycc86Z6JkAmELqeuhsx44d0dfXF9dee210d3fHBRdcEJs3b/7Qc2q1WlSr1VELgFNHXaF5+eWXY9OmTfGJT3wifve738XNN98cq1atigceeGDMc4aGhqJcLh9f8+bN+8hDA9A6SkVRFOO98YwZM6Kvry+eeOKJ48dWrVoVe/fujSeffPIDz6nValGr1Y7/vVqtis041fFPM6lKpVKjR2AK8f+89VUqlejq6hrz63Vd0Zx11llx7rnnjjq2ePHiOHjw4JjntLe3R1dX16gFwKmjrtAsX748XnrppVHHDhw4EAsWLJjQoQCYOuoKzW233RZPPfVUrFu3Lv72t7/F1q1bY3h4OAYGBrLmA6DVFXV65JFHit7e3qK9vb1YtGhRMTw8XNf5lUqliAhrHKtZNXpfrKm1mlWj96WVVqVS+dC9rOvFABOhWq1GuVyezLtsWZP8TzNuniRlIvl/3vom9MUAAFAvoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBqeqMHoPU063tTAc3JFQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBqeqMHYGylUqnRIwB8ZK5oAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVHWF5siRI3HXXXdFT09PzJw5MxYuXBj33HNPHDt2LGs+AFpcXR8TsH79+rj//vvjZz/7WSxZsiSeeeaZuPHGG6NcLsfg4GDWjAC0sLpC8+STT8bnPve5uPrqqyMi4pxzzolt27bFM888kzIcAK2vrofOVqxYEY899lgcOHAgIiKef/752LNnT1x11VVjnlOr1aJarY5aAJxCijocO3asuOOOO4pSqVRMnz69KJVKxbp16z70nLvvvruICMuyLGuKrkql8qEdqCs027ZtK+bOnVts27ateOGFF4oHHnigmDVrVvHTn/50zHP+85//FJVK5fgaGRlp+KZYlmVZE7cmNDRz584tNmzYMOrYd77zneKTn/zkuL9HpVJp+KZYlmVZE7dOFJq6nqN55513Ytq00ae0tbV5eTMAY6rrVWfXXHNN3HvvvTF//vxYsmRJ7N+/P+6777646aabsuYDoNXV89BZtVotBgcHi/nz5xcdHR3FwoULi7Vr1xa1Ws1DZ5ZlWafoOtFDZ6WiKIqYRNVqNcrl8mTeJQCJKpVKdHV1jfl173UGQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVJMemqIoJvsuAUh0op/rkx6aw4cPT/ZdApDoRD/XS8UkX2IcO3YsXn311ejs7IxSqXTS36darca8efNiZGQkurq6JnDCqcdejY99Gh/7NH5Tfa+KoojDhw/H2WefHdOmjX3dMn0SZ4qIiGnTpsXcuXMn7Pt1dXVNyX/ADPZqfOzT+Nin8ZvKe1Uul094Gy8GACCV0ACQqmVD097eHnfffXe0t7c3epSmZ6/Gxz6Nj30aP3v1nkl/MQAAp5aWvaIBoDUIDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKT6P+RbXfmFqPdRAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 1. iterace\n", "o = np.sign(w @ s)\n", "plt.matshow(o.reshape(10, 10), cmap='gray')" ] }, { "cell_type": "code", "execution_count": 11, "id": "6b2f3a00", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZoAAAGkCAYAAAAIduO+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAATUklEQVR4nO3dbWiV9/nA8SvGmWhJ0mmJVHyovplWV3xIKVXbMVoCrStzjO6BttvaV4XUxgmjOgtubhrcWBnMqUSG6+a0vthDLVthoWNaZ4vWh7ZsQ8cGM2sntqOcY1t2inr/X4zJ8rfWHJvLcxI/H/hRvHPunItfIV/u89hQFEURAJBkVK0HAGBkExoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIN29Bs2rQppk+fHs3NzbFgwYJ4/vnnaz1SXenp6Ymbb745Wlpaor29PZYuXRrHjh2r9Vh1r6enJxoaGmL58uW1HqUuvfbaa3H//ffHhAkTYty4cTF37tw4dOhQrceqK2fOnInHH388pk+fHmPHjo0ZM2bE2rVr49y5c7UerWaGZWh27doVy5cvj9WrV8eRI0fitttui7vuuitOnDhR69Hqxp49e6KrqytefPHF6OvrizNnzkRnZ2e88847tR6tbh08eDB6e3vjpptuqvUodemtt96KRYsWxUc+8pF49tln409/+lN873vfi2uvvbbWo9WVDRs2xJYtW2Ljxo3x5z//Ob7zne/Ed7/73fjBD35Q69FqpmE4fqjmLbfcEvPnz4/NmzefPzZr1qxYunRp9PT01HCy+vXGG29Ee3t77NmzJ26//fZaj1N33n777Zg/f35s2rQpvv3tb8fcuXPj+9//fq3HqisrV66MP/zhDx49uIRPfepTMXHixPjRj350/thnP/vZGDduXPz0pz+t4WS1M+yuaN577704dOhQdHZ2Djje2dkZ+/fvr9FU9a9UKkVExPjx42s8SX3q6uqKJUuWxJ133lnrUerW7t27o6OjI+69995ob2+PefPmxdatW2s9Vt1ZvHhxPPfcc3H8+PGIiHj55Zdj3759cffdd9d4stoZXesBqvXmm2/G2bNnY+LEiQOOT5w4MU6ePFmjqepbURSxYsWKWLx4ccyZM6fW49Sdp556Kg4fPhwHDx6s9Sh17W9/+1ts3rw5VqxYEV//+tfjwIED8eijj0ZTU1N86UtfqvV4deOxxx6LUqkUM2fOjMbGxjh79mysW7cuvvjFL9Z6tJoZdqH5r4aGhgH/LorigmP8xyOPPBKvvPJK7Nu3r9aj1J3+/v7o7u6O3/72t9Hc3FzrcerauXPnoqOjI9avXx8REfPmzYs//vGPsXnzZqH5H7t27Yrt27fHjh07Yvbs2XH06NFYvnx5TJo0Kb785S/XeryaGHahue6666KxsfGCq5dTp05dcJVDxLJly2L37t2xd+/emDx5cq3HqTuHDh2KU6dOxYIFC84fO3v2bOzduzc2btwYlUolGhsbazhh/bj++uvjxhtvHHBs1qxZ8fOf/7xGE9Wnr33ta7Fy5cr4whe+EBERH//4x+Pvf/979PT0XLWhGXbP0YwZMyYWLFgQfX19A4739fXFwoULazRV/SmKIh555JH4xS9+Eb/73e9i+vTptR6pLt1xxx3x6quvxtGjR8+vjo6OuO++++Lo0aMi8z8WLVp0wUvkjx8/HtOmTavRRPXp3XffjVGjBv5pbWxsvKpf3jzsrmgiIlasWBEPPPBAdHR0xK233hq9vb1x4sSJePjhh2s9Wt3o6uqKHTt2xNNPPx0tLS3nrwDb2tpi7NixNZ6ufrS0tFzwvNU111wTEyZM8HzW//PVr341Fi5cGOvXr4/Pfe5zceDAgejt7Y3e3t5aj1ZX7rnnnli3bl1MnTo1Zs+eHUeOHIknnngiHnrooVqPVjvFMPXDH/6wmDZtWjFmzJhi/vz5xZ49e2o9Ul2JiPdd27Ztq/Vode8Tn/hE0d3dXesx6tIzzzxTzJkzp2hqaipmzpxZ9Pb21nqkulMul4vu7u5i6tSpRXNzczFjxoxi9erVRaVSqfVoNTMs30cDwPAx7J6jAWB4ERoAUgkNAKmEBoBUQgNAKqEBINWwDU2lUolvfOMbUalUaj1K3bNXg2OfBsc+DZ69+o9h+z6acrkcbW1tUSqVorW1tdbj1DV7NTj2aXDs0+DZq/8Ytlc0AAwPQgNAqiv+oZrnzp2L119/PVpaWj7U98eUy+UB/+Xi7NXg2KfBsU+DN9L3qiiKOH36dEyaNOmCT6z+X1f8OZp//OMfMWXKlCt5lwAk6u/v/8Dvu7riD521tLRc6bsEINGl/q5f8dD4umWAkeVSf9e9GACAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkOqyQrNp06aYPn16NDc3x4IFC+L5558f6rkAGCGqDs2uXbti+fLlsXr16jhy5Ejcdtttcdddd8WJEycy5gNgmKv6i89uueWWmD9/fmzevPn8sVmzZsXSpUujp6fnkueXy+Voa2urflIA6lKpVIrW1taL/ryqK5r33nsvDh06FJ2dnQOOd3Z2xv79+9/3nEqlEuVyecAC4OpRVWjefPPNOHv2bEycOHHA8YkTJ8bJkyff95yenp5oa2s7v3yNM8DV5bJeDPD/v02tKIqLfsPaqlWrolQqnV/9/f2Xc5cADFOjq7nxddddF42NjRdcvZw6deqCq5z/ampqiqampsufEIBhraormjFjxsSCBQuir69vwPG+vr5YuHDhkA4GwMhQ1RVNRMSKFSvigQceiI6Ojrj11lujt7c3Tpw4EQ8//HDGfAAMc1WH5vOf/3z861//irVr18Y///nPmDNnTvzmN7+JadOmZcwHwDBX9ftoPizvowEYWYb0fTQAUC2hASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkKrqD9Ucqa7wR74NysW+TA5gOHFFA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABINbrWA9SLhoaGWo8AMCK5ogEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCpqgpNT09P3HzzzdHS0hLt7e2xdOnSOHbsWNZsAIwAVYVmz5490dXVFS+++GL09fXFmTNnorOzM955552s+QAY5hqKoigu9+Q33ngj2tvbY8+ePXH77bcP6pxyuRxtbW2Xe5cA1JlSqRStra0X/fmH+obNUqkUERHjx4+/6G0qlUpUKpXz/y6Xyx/mLgEYZi77xQBFUcSKFSti8eLFMWfOnIverqenJ9ra2s6vKVOmXO5dAjAMXfZDZ11dXfHrX/869u3bF5MnT77o7d7vikZsAEaOlIfOli1bFrt37469e/d+YGQiIpqamqKpqely7gaAEaCq0BRFEcuWLYtf/vKX8fvf/z6mT5+eNRcAI0RVoenq6oodO3bE008/HS0tLXHy5MmIiGhra4uxY8emDAjA8FbVczQNDQ3ve3zbtm3xla98ZVC/w8ubAUaWIX2O5kO85QaAq5TPOgMgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQKoPFZqenp5oaGiI5cuXD9E4AIw0lx2agwcPRm9vb9x0001DOQ8AI8xlhebtt9+O++67L7Zu3Rof/ehHh3omAEaQywpNV1dXLFmyJO68885L3rZSqUS5XB6wALh6jK72hKeeeioOHz4cBw8eHNTte3p64pvf/GbVgwEwMlR1RdPf3x/d3d2xffv2aG5uHtQ5q1atilKpdH719/df1qAADE8NRVEUg73xr371q/jMZz4TjY2N54+dPXs2GhoaYtSoUVGpVAb87P2Uy+Voa2u7/IkBqCulUilaW1sv+vOqHjq744474tVXXx1w7MEHH4yZM2fGY489dsnIAHD1qSo0LS0tMWfOnAHHrrnmmpgwYcIFxwEgwicDAJCsqudohoLnaABGlks9R+OKBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSVR2a1157Le6///6YMGFCjBs3LubOnRuHDh3KmA2AEWB0NTd+6623YtGiRfHJT34ynn322Whvb4+//vWvce211yaNB8BwV1VoNmzYEFOmTIlt27adP3bDDTcM9UwAjCBVPXS2e/fu6OjoiHvvvTfa29tj3rx5sXXr1g88p1KpRLlcHrAAuIoUVWhqaiqampqKVatWFYcPHy62bNlSNDc3F08++eRFz1mzZk0REZZlWdYIXaVS6QPb0VAURRGDNGbMmOjo6Ij9+/efP/boo4/GwYMH44UXXnjfcyqVSlQqlfP/LpfLMWXKlMHeJQB1rlQqRWtr60V/XtVDZ9dff33ceOONA47NmjUrTpw4cdFzmpqaorW1dcAC4OpRVWgWLVoUx44dG3Ds+PHjMW3atCEdCoARpJrnaA4cOFCMHj26WLduXfGXv/yl+NnPflaMGzeu2L59+6B/R6lUqvnjiZZlWdbQrUs9R1NVaIqiKJ555plizpw5RVNTUzFz5syit7e3qvOFxrIsa2StIX0xwFAol8vR1tZ2Je8SgERD+mIAAKiW0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUVYXmzJkz8fjjj8f06dNj7NixMWPGjFi7dm2cO3cuaz4AhrnR1dx4w4YNsWXLlnjyySdj9uzZ8dJLL8WDDz4YbW1t0d3dnTUjAMNYVaF54YUX4tOf/nQsWbIkIiJuuOGG2LlzZ7z00kspwwEw/FX10NnixYvjueeei+PHj0dExMsvvxz79u2Lu++++6LnVCqVKJfLAxYAV5GiCufOnStWrlxZNDQ0FKNHjy4aGhqK9evXf+A5a9asKSLCsizLGqGrVCp9YAeqCs3OnTuLyZMnFzt37ixeeeWV4ic/+Ukxfvz44sc//vFFz/n3v/9dlEql86u/v7/mm2JZlmUN3RrS0EyePLnYuHHjgGPf+ta3io997GOD/h2lUqnmm2JZlmUN3bpUaKp6jubdd9+NUaMGntLY2OjlzQBcVFWvOrvnnnti3bp1MXXq1Jg9e3YcOXIknnjiiXjooYey5gNguKvmobNyuVx0d3cXU6dOLZqbm4sZM2YUq1evLiqViofOLMuyrtJ1qYfOGoqiKOIKKpfL0dbWdiXvEoBEpVIpWltbL/pzn3UGQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVEIDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0AqYQGgFRCA0AqoQEgldAAkEpoAEglNACkEhoAUgkNAKmEBoBUQgNAKqEBIJXQAJBKaABIJTQApBIaAFIJDQCphAaAVFc8NEVRXOm7BCDRpf6uX/HQnD59+krfJQCJLvV3vaG4wpcY586di9dffz1aWlqioaHhsn9PuVyOKVOmRH9/f7S2tg7hhCOPvRoc+zQ49mnwRvpeFUURp0+fjkmTJsWoURe/bhl9BWeKiIhRo0bF5MmTh+z3tba2jsj/gRns1eDYp8GxT4M3kveqra3tkrfxYgAAUgkNAKmGbWiamppizZo10dTUVOtR6p69Ghz7NDj2afDs1X9c8RcDAHB1GbZXNAAMD0IDQCqhASCV0ACQSmgASCU0AKQSGgBSCQ0Aqf4POj4hyoPKPwAAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# vektor k rozpoznání\n", "s = (\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, +1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", ")\n", "s = np.array(s)\n", "plt.matshow(s.reshape(10, 10), cmap='gray')" ] }, { "cell_type": "code", "execution_count": 12, "id": "64d17cb9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 1. iterace\n", "o = np.sign(w @ s)\n", "plt.matshow(o.reshape(10, 10), cmap='gray')" ] }, { "cell_type": "code", "execution_count": 13, "id": "125a6e9c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# vektor k rozpoznání\n", "s = (\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, +1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", ")\n", "s = np.array(s)\n", "plt.matshow(s.reshape(10, 10), cmap='gray')" ] }, { "cell_type": "code", "execution_count": 14, "id": "43ec5635", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 1. iterace\n", "o = np.sign(w @ s)\n", "plt.matshow(o.reshape(10, 10), cmap='gray')" ] }, { "cell_type": "code", "execution_count": 15, "id": "7c3a9f14", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# vektor k rozpoznání\n", "s = (\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, +1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", ")\n", "s = np.array(s)\n", "plt.matshow(s.reshape(10, 10), cmap='gray')" ] }, { "cell_type": "code", "execution_count": 16, "id": "eceb47df", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 1. iterace\n", "o = np.sign(w @ s)\n", "plt.matshow(o.reshape(10, 10), cmap='gray')" ] }, { "cell_type": "code", "execution_count": 29, "id": "696472d6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# vektor k rozpoznání\n", "s = (\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, +1, +1, +1, +1, +1, +1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", " -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n", ")\n", "s = np.array(s)\n", "plt.matshow(s.reshape(10, 10), cmap='gray')" ] }, { "cell_type": "code", "execution_count": 30, "id": "a4e855dc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 1. iterace\n", "o = np.sign(w @ s)\n", "plt.matshow(o.reshape(10, 10), cmap='gray')" ] }, { "cell_type": "code", "execution_count": 31, "id": "5aa194ae", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 2. iterace\n", "o = np.sign(w @ o)\n", "plt.matshow(o.reshape(10, 10), cmap='gray')" ] }, { "cell_type": "code", "execution_count": 32, "id": "97810cc1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 3. iterace\n", "o = np.sign(w @ o)\n", "plt.matshow(o.reshape(10, 10), cmap='gray')" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.11.13" } }, "nbformat": 4, "nbformat_minor": 5 }