From eceb18a05b3b158b58710b36837abf81070bb206 Mon Sep 17 00:00:00 2001 From: jaassoon Date: Wed, 1 May 2019 12:51:48 +0900 Subject: [PATCH 01/16] Create __init__.py --- perceptron/__init__.py | 1 + 1 file changed, 1 insertion(+) create mode 100644 perceptron/__init__.py diff --git a/perceptron/__init__.py b/perceptron/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/perceptron/__init__.py @@ -0,0 +1 @@ + From 73ce6610cc2acce92b8f9c672e045b13507acdec Mon Sep 17 00:00:00 2001 From: jaassoon Date: Wed, 1 May 2019 14:17:27 +0900 Subject: [PATCH 02/16] Update main.py import binary_perceptron --- main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index 7b9aa13..f284726 100644 --- a/main.py +++ b/main.py @@ -2,7 +2,7 @@ import struct import matplotlib.pyplot as plt -from perceptron import * +from perceptron import binary_perceptron def loadImageSet(which=0): print "load image set" @@ -69,4 +69,4 @@ def loadLabelSet(which=0): # plt.show() perceptron = Perceptron() - perceptron.hog_test(imgs[index]) \ No newline at end of file + perceptron.hog_test(imgs[index]) From 68d6535a8e4c8dc9baa1d06c6a3ebb8d08b1e33d Mon Sep 17 00:00:00 2001 From: jaassoon Date: Wed, 1 May 2019 14:20:57 +0900 Subject: [PATCH 03/16] Update binary_perceptron.py cross_validation -> model_selection --- perceptron/binary_perceptron.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/perceptron/binary_perceptron.py b/perceptron/binary_perceptron.py index e6ff6e0..2a3297a 100644 --- a/perceptron/binary_perceptron.py +++ b/perceptron/binary_perceptron.py @@ -12,7 +12,7 @@ import random import time -from sklearn.cross_validation import train_test_split +from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score From ab59162499a6e9e5912cfb035615f64acc377b90 Mon Sep 17 00:00:00 2001 From: jaassoon Date: Wed, 1 May 2019 14:35:47 +0900 Subject: [PATCH 04/16] Update main.py binary_perceptron. --- main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.py b/main.py index f284726..57f39ed 100644 --- a/main.py +++ b/main.py @@ -68,5 +68,5 @@ def loadLabelSet(which=0): plt.imshow(imgs[index] , cmap='gray') # plt.show() - perceptron = Perceptron() + perceptron = binary_perceptron.Perceptron() perceptron.hog_test(imgs[index]) From 720cd3b4d3aca29db18d74954f74148c09231812 Mon Sep 17 00:00:00 2001 From: jaassoon Date: Thu, 2 May 2019 09:32:54 +0900 Subject: [PATCH 05/16] add percentron notebook add percentron notebook --- perceptron/percentron.ipynb | 129 ++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 perceptron/percentron.ipynb diff --git a/perceptron/percentron.ipynb b/perceptron/percentron.ipynb new file mode 100644 index 0000000..69c57a8 --- /dev/null +++ b/perceptron/percentron.ipynb @@ -0,0 +1,129 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "临时测试.ipynb", + "version": "0.3.2", + "provenance": [] + }, + "kernelspec": { + "name": "python2", + "display_name": "Python 2" + } + }, + "cells": [ + { + "metadata": { + "id": "l5PdzxmC353t", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 573 + }, + "outputId": "6be26a5b-16e6-41cd-ba83-5c1b2570ba01" + }, + "cell_type": "code", + "source": [ + "import numpy as np\n", + "import matplotlib as mpl\n", + "import matplotlib.pyplot as plt\n", + "\n", + "\n", + "def makePLAData(w,b, numlines):\n", + " w = np.array(w)\n", + " numFeatures = len(w)\n", + " x = np.random.rand(numlines, numFeatures) * 20 #随机产生numlines个数据的数据集\n", + " cls = np.sign(np.sum(w*x,axis=1)+b) #用标准线 w*x+b=0进行分类\n", + " dataSet = np.column_stack((x,cls))\n", + " #至此样例数据已经生成\n", + "\n", + " #下面是存储标准分类线,以便显示观察\n", + " x = np.linspace(0, 20, 500) #创建分类线上的点,以点构线。\n", + " y = -w[...,0] / w[...,1] * x - b / w[...,1]\n", + " rows = np.column_stack((x.T, y.T, np.zeros((500, 1))))\n", + " dataSet = np.row_stack((dataSet, rows))\n", + "\n", + " return dataSet\n", + "\n", + "\n", + "def showFigure(dataSet):\n", + " fig = plt.figure()\n", + " ax = fig.add_subplot(1,1,1)\n", + " ax.set_title('Linear separable data set')\n", + " plt.xlabel('X')\n", + " plt.ylabel('Y')\n", + " #图例设置\n", + " labels = ['classOne', 'standarLine', 'classTow', 'modelLine']\n", + " markers = ['o','.','x','.']\n", + " colors = ['r','y','g','b']\n", + " for i in range(4):\n", + " idx = np.where(dataSet[:,2]==i-1) #找出同类型的点,返回索引值\n", + " ax.scatter(dataSet[idx, 0], dataSet[idx, 1], marker=markers[i], color=colors[i], label=labels[i], s=10)\n", + "\n", + " plt.legend(loc = 'upper right')\n", + " plt.show()\n", + "\n", + "\n", + "def PLA_train(dataSet,plot = False):\n", + " numLines = dataSet.shape[0]\n", + " numFeatures = dataSet.shape[1]\n", + " #模型初始化\n", + " w = np.ones((1, numFeatures-1))\n", + " b = 0.1\n", + " k = 1\n", + " i = 0\n", + " #用梯度下降方法,逐渐调整w和b的值\n", + " while i" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "display_data", + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEWCAYAAAB1xKBvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi40LCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcv7US4rQAAIABJREFUeJztvXmcFOW18P89M4wsAgoyGFxwMMEY\ntkEWQREkEtGgLyDGvJIgEmPUXIx6o6gXckWJS1ySuCYqcRtQYzBR5ubVRIUY0Z9GlsuqRBQGwQVw\nkB2Eoc/vj6oeeprumeru6u6q7vP9fOrTXfupp6vr1HO2R1QVwzAMw2iKknwLYBiGYYQDUxiGYRiG\nJ0xhGIZhGJ4whWEYhmF4whSGYRiG4QlTGIZhGIYnTGEYviIig0Xk3/mWIyyISIWIqIg0S7L+ZhGZ\n6dO5nhSRW/04llGcmMIw0kJEakTkO/HLVXWeqn4zHzIZ/iEir4vIpXk4b8L7yggGpjCMgiDZG3q+\nEZHSfMtgGH5hCsPwFREZKiLrY+ZrROQ6EVkqIltF5DkRaRGz/lwRWSwiW0Tk/xORXjHrbhSRj0Rk\nu4i8JyLnxaybICJvichvRaQWuDmBLCeLyAIR2SYiG0TkNzHrBrrn2yIiS0RkaMy610XkDhF51913\ntoi0j1k/S0Q+d6/nDRHpHrPuSRH5vYi8JCI7gW+LyDki8r/usdaJyEGyApeIyKci8pmIXNdI+yaV\nO8G2J4nIIrf9ngNi272diPxVRDaJyJfu92PcdbcBg4EHRWSHiDzoLr/PlX+biCwUkcGNnHuE+5tt\nF5FPYq8p2W8uIjOAzsD/uOe9PtnxjTyhqjbZlPIE1ADfSbB8KLA+brt3gaOA9sD7wBXuupOAjcAA\noBS42N2+ubv+Ane/EuD/AjuBTu66CUAd8DOgGdAygSxvAxe531sDA93vRwO1wAj32Ge68+Xu+teB\nT4AewKHAn4GZMce9BGgDNAfuBRbHrHsS2AoMco/dwm2Tnu58L2ADMNrdvgJQ4Fn3XD2BTdG2xVGE\nM73IHXfthwBrgf8EyoDvAfuAW931RwDnA63ca5kFvBiz/+vApXHHHOfu1wy4FvgcaJHk/vgMGOx+\nbwf08fib15DgvrIpGJP1MIxccL+qfqqqm4H/AXq7yy8DHlHVf6nqflV9CvgKGAigqrPc/SKq+hyw\nCjg55rifquoDqlqnqrsTnHcf8A0R6aCqO1T1HXf5OOAlVX3JPfarwAKcB3GUGaq6XFV3Av8NfD9q\nXlLVx1V1u6p+hfNArxSRw2L2na2qb7nH3qOqr6vqMnd+KY5yOD1O1ltUdaeqLgOeAMYmuB4vckcZ\niKMo7lXVfar6PDA/ulJVa1X1z6q6S1W3A7clkKkBqjrT3a9OVX+NozCT+av2Ad1EpK2qfqmqi9zl\njf7mRrAxhWHkgs9jvu/CedsHOA641jVNbBGRLcCxOL0KRGR8jOliC84bf4eYY61r4rw/Bk4AVorI\nfBE5N+a8F8Sd9zSgU5Jjr8V5+HYQkVIR+ZVrKtuG80ZMY3KJyAAR+Ydr/tkKXBG3faLzHZXgerzI\nHeUo4BNVja0uujZGplYi8oiIrHWv4w3g8MZ8Lq5p8X3XFLcFOCzBdUQ5H0eRrRWRf4rIKTHXkPQ3\nN4JNIB2FRtGwDrhNVW+LXyEixwHTgWHA26q6X0QWAxKzWaOlllV1FTBWREqAMcDzInKEe94ZqvqT\nRnY/NuZ7Z5w35i+AHwCjgO/gKIvDgC+bkOsZ4EHgu6q6R0Tu5eAH7bHAypjzfZpAJi9yR/kMOFpE\nJEZpdAY+cr9fi9M7GKCqn4tIb+B/Y66jwTW4/orrcX6PFaoaEZH4665HVecDo0SkDLgS+JN7jUl/\n80TnNYKF9TCMTCgTkRYxU6ovINOBK9w3cBGRQ10HcRsce77i2PMRkR/h9DA8IyLjRKRcVSPAFndx\nBJgJ/B8ROcvtMbQQx1l/TMzu40Skm4i0AqYBz6vqfhx7/1c4voNWwO0eRGkDbHaVxck4Siee/3bf\n+rsDPwKeS7CNF7mjvI3j47lKRMpEZAwNzXltgN3AFnEc+lPj9t8AHB+3fR3O79FMRG4C2ia6WBE5\nRER+KCKHqeo+YBtOu0Pjv3mi8xoBwhSGkQkv4Tx0otPNqeysqguAn+C8fX8JfIjjzEZV3wN+jfPg\n24DjDH4rRfnOBlaIyA7gPuBCVd2tqutwegmTcR6A64BJNPw/zMBxYH+O47i+yl1ehWPa+QR4D3iH\npvkPYJqIbAduwnnbjuefONc/B7hHVV+J38Cj3NFt9+L0qiYAm3GCBv4Ss8m9QEucXtM7wN/iDnEf\n8D03gup+4O/uNh/gXP8eGjcJXgTUuOauK4AfunIl/c1d7gB+4ZqrkkaLGflBGpo4DcMQkddxIpP+\nkG9ZDCNIWA/DMAzD8IQpDMMwDMMTZpIyDMMwPGE9DMMwDMMTBZWH0aFDB62oqMi3GIZhGKFh4cKF\nX6hquZdtC0phVFRUsGDBgnyLYRiGERpEZG3TWzmYScowDMPwhCkMwzAMwxOmMAzDMAxPFJQPwzCM\n4LNv3z7Wr1/Pnj178i1KUdGiRQuOOeYYysrK0j6GKQzDMHLK+vXradOmDRUVFYgkLHZr+IyqUltb\ny/r16+nSpUvax8maSUpEjnXHAHhPRFaIyNXu8vYi8qqIrHI/2yXZ/2J3m1UicnG25DQMI7fs2bOH\nI444wpRFDhERjjjiiIx7ddn0YdQB16pqN5zRtCaKSDfgRmCOqnbFqcx5Y/yOMeWWB+CUZJ6aTLEY\nhu9UV8OVVzqfRlYwZZF7/GjzrCkMVf0sOiyjOwTk+zhjEo8CnnI3ewoYnWD3s4BXVXWzqn4JvIpT\nqtpIhj3k/KG6GsaOhYcecj7j29Pa2ShichIlJSIVOIO//ws4UlU/c1d9DhyZYJejaVhrf727LNGx\nLxORBSKyYNOmTb7JHCqaesgZ3nnlFdi1y/m+a5czH8XauaC5+eabueeee3w73vr16xk1ahRdu3bl\n61//OldffTV79+717fj5IOsKQ0RaA38GrlHVbbHr3KEjM6p+qKqPqmo/Ve1XXu4puz34pPoW29hD\nzkiN4cOhVSvne6tWznyUoLaz9XoCh6oyZswYRo8ezapVq/jggw/YsWMHU6ZMybdoGZFVheGO5/tn\n4GlVjY72tUFEOrnrOwEbE+z6CQ3HVD7GXVb4pPMW29hDzkiNkSPh2Wdh4kTnc+TIA+uC2M7W60mb\nqqoqevXqRWVlJRdddFGDddOnT6d///5UVlZy/vnns8t9UZg1axY9evSgsrKSIUOGALBixQpOPvlk\nevfuTa9evVi1ahVz586lRYsW/OhHPwKgtLSU3/72tzz++OPs2rWLJ598kjFjxnD22WfTtWtXrr/+\n+vpzv/LKK5xyyin06dOHCy64gB07duSoRTygqlmZcAaHrwLujVt+N3Cj+/1G4K4E+7YH1gDt3GkN\n0L6pc/bt21dDz8SJqnBgmjjR236zZzvbzp6dXfmKnaC1c/z9MmJEviVqkvfeey/1nXxu9+XLl2vX\nrl1106ZNqqpaW1urU6dO1bvvvltVVb/44ov6badMmaL333+/qqr26NFD169fr6qqX375paqqXnnl\nlTpz5kxVVf3qq690165det999+k111xz0Hl79+6tS5Ys0SeeeEK7dOmiW7Zs0d27d2vnzp31448/\n1k2bNungwYN1x44dqqr6q1/9Sm+55RZfrlk1cdsDC9Tjcz2beRiDcMb1XSYii91lk4FfAX8SkR/j\njA38fQAR6QdcoaqXqupmEfklMN/db5qqbs6irMFh+HB44gnH5JHKW+zIkQ3fho3sELR2Hj4c/vAH\n+OorZ/6115xeRpBkzJRoL2rXLue/Ed/zS4O5c+dywQUX0KFDBwDat29/YOWWLSyfM4df/Pa3bNmx\ngx07dnDWWWcBMGjQICZMmMD3v/99xowZA8App5zCbbfdxvr16xkzZgxdu3b1JMOwYcM47LDDAOjW\nrRtr165ly5YtvPfeewwaNAiAvXv2cEplJWzZAocfntE1+0E2o6TeVFVR1V6q2tudXlLVWlUdpqpd\nVfU7UUWgqgtU9dKY/R9X1W+40xPZkjNwNGYSMQoHv/wOI0fCsGEH5vfuTd+3ElRfSC59R7t3w+rV\nTPjP/+TBq69m2bx5TJ06tT5/4eGHH+bWW29l3bp19O3bl9raWn7wgx9QXV1Ny5YtGTFiBHPnzqVb\nt24sXLiwwaG3bdvGxx9/zDe+8Q0AmjdvXr+utLSUuro6VJUzzzyTxYsXs/j113nvmWd4bNIkWL3a\nURp5xmpJBZGRI+HBB01ZFCp++x0uvzxz30qQfSFZ8B2dccYZzJo1i9raWgA2b3YNGHv2QCTC9p07\n6dS+Pftqa3n66afr9/voo48YMGAA06ZNo7y8nHXr1rF69WqOP/54rrrqKkaNGsXSpUsZNmwYu3bt\noqqqCoD9+/dz7bXXMmHCBFpFryUBAwcO5K233uLDDz+EbdvYuXMnH6xdC5EIbNuWdL9cYQrDMHJN\nU2/Mqb7p+9ErDWoEGGSl1929e3emTJnC6aefTmVlJT//+c+dFS1aQEkJv7ziCgb86EcM+v73OfHE\nE+v3mzRpEj179qRHjx6ceuqpVFZW8qc//YkePXrQu3dvli9fzvjx4xERXnjhBWbNmkXXrl054YQT\naNGiBbfffnujcpWXl/Pkk08yduxYen33u5xyySWsrKmBkhJo2zbj684Yr86OMEwF4fQ2DhA0B7Nf\nzJ6t2qqV46Ru1arh9TW2Ll8y+UxaTu9c8uWXqmvXOp/5xmdZguz0NozkVFc7b7HDhyd+Y8yCozMw\n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\nYRiGJ/5/PCTg4lTt97kAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + } + ] +} \ No newline at end of file From cc7b5e4199d090ce3e752dda0eb05c04fc24b334 Mon Sep 17 00:00:00 2001 From: jaassoon Date: Thu, 2 May 2019 09:57:21 +0900 Subject: [PATCH 06/16] =?UTF-8?q?=E4=BD=BF=E7=94=A8=20Colaboratory=20?= =?UTF-8?q?=E5=88=9B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- percentron/tmp.ipynb | 140 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 percentron/tmp.ipynb diff --git a/percentron/tmp.ipynb b/percentron/tmp.ipynb new file mode 100644 index 0000000..34806ab --- /dev/null +++ b/percentron/tmp.ipynb @@ -0,0 +1,140 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "tmp.ipynb", + "version": "0.3.2", + "provenance": [], + "include_colab_link": true + }, + "kernelspec": { + "name": "python2", + "display_name": "Python 2" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "metadata": { + "id": "l5PdzxmC353t", + "colab_type": "code", + "outputId": "6be26a5b-16e6-41cd-ba83-5c1b2570ba01", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 573 + } + }, + "cell_type": "code", + "source": [ + "import numpy as np\n", + "import matplotlib as mpl\n", + "import matplotlib.pyplot as plt\n", + "\n", + "\n", + "def makePLAData(w,b, numlines):\n", + " w = np.array(w)\n", + " numFeatures = len(w)\n", + " x = np.random.rand(numlines, numFeatures) * 20 #随机产生numlines个数据的数据集\n", + " cls = np.sign(np.sum(w*x,axis=1)+b) #用标准线 w*x+b=0进行分类\n", + " dataSet = np.column_stack((x,cls))\n", + " #至此样例数据已经生成\n", + "\n", + " #下面是存储标准分类线,以便显示观察\n", + " x = np.linspace(0, 20, 500) #创建分类线上的点,以点构线。\n", + " y = -w[...,0] / w[...,1] * x - b / w[...,1]\n", + " rows = np.column_stack((x.T, y.T, np.zeros((500, 1))))\n", + " dataSet = np.row_stack((dataSet, rows))\n", + "\n", + " return dataSet\n", + "\n", + "\n", + "def showFigure(dataSet):\n", + " fig = plt.figure()\n", + " ax = fig.add_subplot(1,1,1)\n", + " ax.set_title('Linear separable data set')\n", + " plt.xlabel('X')\n", + " plt.ylabel('Y')\n", + " #图例设置\n", + " labels = ['classOne', 'standarLine', 'classTow', 'modelLine']\n", + " markers = ['o','.','x','.']\n", + " colors = ['r','y','g','b']\n", + " for i in range(4):\n", + " idx = np.where(dataSet[:,2]==i-1) #找出同类型的点,返回索引值\n", + " ax.scatter(dataSet[idx, 0], dataSet[idx, 1], marker=markers[i], color=colors[i], label=labels[i], s=10)\n", + "\n", + " plt.legend(loc = 'upper right')\n", + " plt.show()\n", + "\n", + "\n", + "def PLA_train(dataSet,plot = False):\n", + " numLines = dataSet.shape[0]\n", + " numFeatures = dataSet.shape[1]\n", + " #模型初始化\n", + " w = np.ones((1, numFeatures-1))\n", + " b = 0.1\n", + " k = 1\n", + " i = 0\n", + " #用梯度下降方法,逐渐调整w和b的值\n", + " while i" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\nlTpz5kxVVf3qq690165det999+k111xz0Hl79+6tS5Ys0SeeeEK7dOmiW7Zs0d27d2vnzp31448/\n1k2bNungwYN1x44dqqr6q1/9Sm+55RZfrlk1cdsDC9Tjcz2beRiDcMb1XSYii91lk4FfAX8SkR/j\njA38fQAR6QdcoaqXqupmEfklMN/db5qqbs6irMFh+HB44gnH5JHKW+zIkQ3fho3sELR2Hj4c/vAH\n+OorZ/6115xeRpBkzJRoL2rXLue/Ed/zS4O5c+dywQUX0KFDBwDat29/YOWWLSyfM4df/Pa3bNmx\ngx07dnDWWWcBMGjQICZMmMD3v/99xowZA8App5zCbbfdxvr16xkzZgxdu3b1JMOwYcM47LDDAOjW\nrRtr165ly5YtvPfeewwaNAiAvXv2cEplJWzZAocfntE1+0E2o6TeVFVR1V6q2tudXlLVWlUdpqpd\nVfU7UUWgqgtU9dKY/R9X1W+40xPZkjNwNGYSMQoHv/wOI0fCsGEH5vfuTd+3ElRfSC59R7t3w+rV\nTPjP/+TBq69m2bx5TJ06tT5/4eGHH+bWW29l3bp19O3bl9raWn7wgx9QXV1Ny5YtGTFiBHPnzqVb\nt24sXLiwwaG3bdvGxx9/zDe+8Q0AmjdvXr+utLSUuro6VJUzzzyTxYsXs/j113nvmWd4bNIkWL3a\nURp5xmpJBZGRI+HBB01ZFCp++x0uvzxz30qQfSFZ8B2dccYZzJo1i9raWgA2b3YNGHv2QCTC9p07\n6dS+Pftqa3n66afr9/voo48YMGAA06ZNo7y8nHXr1rF69WqOP/54rrrqKkaNGsXSpUsZNmwYu3bt\noqqqCoD9+/dz7bXXMmHCBFpFryUBAwcO5K233uLDDz+EbdvYuXMnH6xdC5EIbNuWdL9cYQrDMHJN\nU2/Mqb7p+9ErDWoEGGSl1929e3emTJnC6aefTmVlJT//+c+dFS1aQEkJv7ziCgb86EcM+v73OfHE\nE+v3mzRpEj179qRHjx6ceuqpVFZW8qc//YkePXrQu3dvli9fzvjx4xERXnjhBWbNmkXXrl054YQT\naNGiBbfffnujcpWXl/Pkk08yduxYen33u5xyySWsrKmBkhJo2zbj684Yr86OMEwF4fQ2DhA0B7Nf\nzJ6t2qqV46Ru1arh9TW2Ll8y+UxaTu9c8uWXqmvXOp/5xmdZguz0NozkVFc7b7HDhyd+Y8yCozMw\n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\nYRiGJ/5/PCTg4lTt97kAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + } + ] +} \ No newline at end of file From d21c272e0ba1f9410b771e6fb7c83e3a481c2063 Mon Sep 17 00:00:00 2001 From: jaassoon Date: Thu, 2 May 2019 10:00:39 +0900 Subject: [PATCH 07/16] =?UTF-8?q?=E4=BD=BF=E7=94=A8=20Colaboratory=20?= =?UTF-8?q?=E5=88=9B=E5=BB=BAperceptron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- perceptron/perceptron.ipynb | 140 ++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 perceptron/perceptron.ipynb diff --git a/perceptron/perceptron.ipynb b/perceptron/perceptron.ipynb new file mode 100644 index 0000000..8d53700 --- /dev/null +++ b/perceptron/perceptron.ipynb @@ -0,0 +1,140 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "tmp.ipynb", + "version": "0.3.2", + "provenance": [], + "include_colab_link": true + }, + "kernelspec": { + "name": "python2", + "display_name": "Python 2" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "metadata": { + "id": "l5PdzxmC353t", + "colab_type": "code", + "outputId": "6be26a5b-16e6-41cd-ba83-5c1b2570ba01", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 573 + } + }, + "cell_type": "code", + "source": [ + "import numpy as np\n", + "import matplotlib as mpl\n", + "import matplotlib.pyplot as plt\n", + "\n", + "\n", + "def makePLAData(w,b, numlines):\n", + " w = np.array(w)\n", + " numFeatures = len(w)\n", + " x = np.random.rand(numlines, numFeatures) * 20 #随机产生numlines个数据的数据集\n", + " cls = np.sign(np.sum(w*x,axis=1)+b) #用标准线 w*x+b=0进行分类\n", + " dataSet = np.column_stack((x,cls))\n", + " #至此样例数据已经生成\n", + "\n", + " #下面是存储标准分类线,以便显示观察\n", + " x = np.linspace(0, 20, 500) #创建分类线上的点,以点构线。\n", + " y = -w[...,0] / w[...,1] * x - b / w[...,1]\n", + " rows = np.column_stack((x.T, y.T, np.zeros((500, 1))))\n", + " dataSet = np.row_stack((dataSet, rows))\n", + "\n", + " return dataSet\n", + "\n", + "\n", + "def showFigure(dataSet):\n", + " fig = plt.figure()\n", + " ax = fig.add_subplot(1,1,1)\n", + " ax.set_title('Linear separable data set')\n", + " plt.xlabel('X')\n", + " plt.ylabel('Y')\n", + " #图例设置\n", + " labels = ['classOne', 'standarLine', 'classTow', 'modelLine']\n", + " markers = ['o','.','x','.']\n", + " colors = ['r','y','g','b']\n", + " for i in range(4):\n", + " idx = np.where(dataSet[:,2]==i-1) #找出同类型的点,返回索引值\n", + " ax.scatter(dataSet[idx, 0], dataSet[idx, 1], marker=markers[i], color=colors[i], label=labels[i], s=10)\n", + "\n", + " plt.legend(loc = 'upper right')\n", + " plt.show()\n", + "\n", + "\n", + "def PLA_train(dataSet,plot = False):\n", + " numLines = dataSet.shape[0]\n", + " numFeatures = dataSet.shape[1]\n", + " #模型初始化\n", + " w = np.ones((1, numFeatures-1))\n", + " b = 0.1\n", + " k = 1\n", + " i = 0\n", + " #用梯度下降方法,逐渐调整w和b的值\n", + " while i" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\nlTpz5kxVVf3qq690165det999+k111xz0Hl79+6tS5Ys0SeeeEK7dOmiW7Zs0d27d2vnzp31448/\n1k2bNungwYN1x44dqqr6q1/9Sm+55RZfrlk1cdsDC9Tjcz2beRiDcMb1XSYii91lk4FfAX8SkR/j\njA38fQAR6QdcoaqXqupmEfklMN/db5qqbs6irMFh+HB44gnH5JHKW+zIkQ3fho3sELR2Hj4c/vAH\n+OorZ/6115xeRpBkzJRoL2rXLue/Ed/zS4O5c+dywQUX0KFDBwDat29/YOWWLSyfM4df/Pa3bNmx\ngx07dnDWWWcBMGjQICZMmMD3v/99xowZA8App5zCbbfdxvr16xkzZgxdu3b1JMOwYcM47LDDAOjW\nrRtr165ly5YtvPfeewwaNAiAvXv2cEplJWzZAocfntE1+0E2o6TeVFVR1V6q2tudXlLVWlUdpqpd\nVfU7UUWgqgtU9dKY/R9X1W+40xPZkjNwNGYSMQoHv/wOI0fCsGEH5vfuTd+3ElRfSC59R7t3w+rV\nTPjP/+TBq69m2bx5TJ06tT5/4eGHH+bWW29l3bp19O3bl9raWn7wgx9QXV1Ny5YtGTFiBHPnzqVb\nt24sXLiwwaG3bdvGxx9/zDe+8Q0AmjdvXr+utLSUuro6VJUzzzyTxYsXs/j113nvmWd4bNIkWL3a\nURp5xmpJBZGRI+HBB01ZFCp++x0uvzxz30qQfSFZ8B2dccYZzJo1i9raWgA2b3YNGHv2QCTC9p07\n6dS+Pftqa3n66afr9/voo48YMGAA06ZNo7y8nHXr1rF69WqOP/54rrrqKkaNGsXSpUsZNmwYu3bt\noqqqCoD9+/dz7bXXMmHCBFpFryUBAwcO5K233uLDDz+EbdvYuXMnH6xdC5EIbNuWdL9cYQrDMHJN\nU2/Mqb7p+9ErDWoEGGSl1929e3emTJnC6aefTmVlJT//+c+dFS1aQEkJv7ziCgb86EcM+v73OfHE\nE+v3mzRpEj179qRHjx6ceuqpVFZW8qc//YkePXrQu3dvli9fzvjx4xERXnjhBWbNmkXXrl054YQT\naNGiBbfffnujcpWXl/Pkk08yduxYen33u5xyySWsrKmBkhJo2zbj684Yr86OMEwF4fQ2DhA0B7Nf\nzJ6t2qqV46Ru1arh9TW2Ll8y+UxaTu9c8uWXqmvXOp/5xmdZguz0NozkVFc7b7HDhyd+Y8yCozMw\n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\nYRiGJ/5/PCTg4lTt97kAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + } + ] +} \ No newline at end of file From a503b974f44e1d41ea8d85f0b376f05a292249c7 Mon Sep 17 00:00:00 2001 From: jaassoon Date: Thu, 2 May 2019 10:01:26 +0900 Subject: [PATCH 08/16] Delete percentron.ipynb useless --- perceptron/percentron.ipynb | 129 ------------------------------------ 1 file changed, 129 deletions(-) delete mode 100644 perceptron/percentron.ipynb diff --git a/perceptron/percentron.ipynb b/perceptron/percentron.ipynb deleted file mode 100644 index 69c57a8..0000000 --- a/perceptron/percentron.ipynb +++ /dev/null @@ -1,129 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "临时测试.ipynb", - "version": "0.3.2", - "provenance": [] - }, - "kernelspec": { - "name": "python2", - "display_name": "Python 2" - } - }, - "cells": [ - { - "metadata": { - "id": "l5PdzxmC353t", - "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 573 - }, - "outputId": "6be26a5b-16e6-41cd-ba83-5c1b2570ba01" - }, - "cell_type": "code", - "source": [ - "import numpy as np\n", - "import matplotlib as mpl\n", - "import matplotlib.pyplot as plt\n", - "\n", - "\n", - "def makePLAData(w,b, numlines):\n", - " w = np.array(w)\n", - " numFeatures = len(w)\n", - " x = np.random.rand(numlines, numFeatures) * 20 #随机产生numlines个数据的数据集\n", - " cls = np.sign(np.sum(w*x,axis=1)+b) #用标准线 w*x+b=0进行分类\n", - " dataSet = np.column_stack((x,cls))\n", - " #至此样例数据已经生成\n", - "\n", - " #下面是存储标准分类线,以便显示观察\n", - " x = np.linspace(0, 20, 500) #创建分类线上的点,以点构线。\n", - " y = -w[...,0] / w[...,1] * x - b / w[...,1]\n", - " rows = np.column_stack((x.T, y.T, np.zeros((500, 1))))\n", - " dataSet = np.row_stack((dataSet, rows))\n", - "\n", - " return dataSet\n", - "\n", - "\n", - "def showFigure(dataSet):\n", - " fig = plt.figure()\n", - " ax = fig.add_subplot(1,1,1)\n", - " ax.set_title('Linear separable data set')\n", - " plt.xlabel('X')\n", - " plt.ylabel('Y')\n", - " #图例设置\n", - " labels = ['classOne', 'standarLine', 'classTow', 'modelLine']\n", - " markers = ['o','.','x','.']\n", - " colors = ['r','y','g','b']\n", - " for i in range(4):\n", - " idx = np.where(dataSet[:,2]==i-1) #找出同类型的点,返回索引值\n", - " ax.scatter(dataSet[idx, 0], dataSet[idx, 1], marker=markers[i], color=colors[i], label=labels[i], s=10)\n", - "\n", - " plt.legend(loc = 'upper right')\n", - " plt.show()\n", - "\n", - "\n", - "def PLA_train(dataSet,plot = False):\n", - " numLines = dataSet.shape[0]\n", - " numFeatures = dataSet.shape[1]\n", - " #模型初始化\n", - " w = np.ones((1, numFeatures-1))\n", - " b = 0.1\n", - " k = 1\n", - " i = 0\n", - " #用梯度下降方法,逐渐调整w和b的值\n", - " while i" - ] - }, - "metadata": { - "tags": [] - } - }, - { - "output_type": "display_data", - "data": { - "image/png": "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\nlTpz5kxVVf3qq690165det999+k111xz0Hl79+6tS5Ys0SeeeEK7dOmiW7Zs0d27d2vnzp31448/\n1k2bNungwYN1x44dqqr6q1/9Sm+55RZfrlk1cdsDC9Tjcz2beRiDcMb1XSYii91lk4FfAX8SkR/j\njA38fQAR6QdcoaqXqupmEfklMN/db5qqbs6irMFh+HB44gnH5JHKW+zIkQ3fho3sELR2Hj4c/vAH\n+OorZ/6115xeRpBkzJRoL2rXLue/Ed/zS4O5c+dywQUX0KFDBwDat29/YOWWLSyfM4df/Pa3bNmx\ngx07dnDWWWcBMGjQICZMmMD3v/99xowZA8App5zCbbfdxvr16xkzZgxdu3b1JMOwYcM47LDDAOjW\nrRtr165ly5YtvPfeewwaNAiAvXv2cEplJWzZAocfntE1+0E2o6TeVFVR1V6q2tudXlLVWlUdpqpd\nVfU7UUWgqgtU9dKY/R9X1W+40xPZkjNwNGYSMQoHv/wOI0fCsGEH5vfuTd+3ElRfSC59R7t3w+rV\nTPjP/+TBq69m2bx5TJ06tT5/4eGHH+bWW29l3bp19O3bl9raWn7wgx9QXV1Ny5YtGTFiBHPnzqVb\nt24sXLiwwaG3bdvGxx9/zDe+8Q0AmjdvXr+utLSUuro6VJUzzzyTxYsXs/j113nvmWd4bNIkWL3a\nURp5xmpJBZGRI+HBB01ZFCp++x0uvzxz30qQfSFZ8B2dccYZzJo1i9raWgA2b3YNGHv2QCTC9p07\n6dS+Pftqa3n66afr9/voo48YMGAA06ZNo7y8nHXr1rF69WqOP/54rrrqKkaNGsXSpUsZNmwYu3bt\noqqqCoD9+/dz7bXXMmHCBFpFryUBAwcO5K233uLDDz+EbdvYuXMnH6xdC5EIbNuWdL9cYQrDMHJN\nU2/Mqb7p+9ErDWoEGGSl1929e3emTJnC6aefTmVlJT//+c+dFS1aQEkJv7ziCgb86EcM+v73OfHE\nE+v3mzRpEj179qRHjx6ceuqpVFZW8qc//YkePXrQu3dvli9fzvjx4xERXnjhBWbNmkXXrl054YQT\naNGiBbfffnujcpWXl/Pkk08yduxYen33u5xyySWsrKmBkhJo2zbj684Yr86OMEwF4fQ2DhA0B7Nf\nzJ6t2qqV46Ru1arh9TW2Ll8y+UxaTu9c8uWXqmvXOp/5xmdZguz0NozkVFc7b7HDhyd+Y8yCozMw\n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\nYRiGJ/5/PCTg4lTt97kAAAAASUVORK5CYII=\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "tags": [] - } - } - ] - } - ] -} \ No newline at end of file From ced99aea84dbd9e3d494444cc89411f2ac671092 Mon Sep 17 00:00:00 2001 From: jaassoon Date: Thu, 2 May 2019 10:05:13 +0900 Subject: [PATCH 09/16] =?UTF-8?q?=E4=BD=BF=E7=94=A8=20Colaboratory=20?= =?UTF-8?q?=E5=88=9B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- perceptron/perceptron.ipynb | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/perceptron/perceptron.ipynb b/perceptron/perceptron.ipynb index 8d53700..3fc3eb9 100644 --- a/perceptron/perceptron.ipynb +++ b/perceptron/perceptron.ipynb @@ -135,6 +135,19 @@ } } ] + }, + { + "metadata": { + "id": "DSLOZLXDEeoa", + "colab_type": "code", + "colab": {} + }, + "cell_type": "code", + "source": [ + "" + ], + "execution_count": 0, + "outputs": [] } ] } \ No newline at end of file From 617e47bd08550385c274edf7c94c3ecbf8dd432a Mon Sep 17 00:00:00 2001 From: jaassoon Date: Thu, 2 May 2019 10:08:46 +0900 Subject: [PATCH 10/16] =?UTF-8?q?=E4=BD=BF=E7=94=A8=20Colaboratory=20?= =?UTF-8?q?=E5=88=9B=E5=BB=BApercentron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- percentron/percentron.ipynb | 140 ++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 percentron/percentron.ipynb diff --git a/percentron/percentron.ipynb b/percentron/percentron.ipynb new file mode 100644 index 0000000..5b774ae --- /dev/null +++ b/percentron/percentron.ipynb @@ -0,0 +1,140 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "percentron.ipynb", + "version": "0.3.2", + "provenance": [], + "include_colab_link": true + }, + "kernelspec": { + "name": "python2", + "display_name": "Python 2" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "metadata": { + "id": "l5PdzxmC353t", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 573 + }, + "outputId": "6be26a5b-16e6-41cd-ba83-5c1b2570ba01" + }, + "cell_type": "code", + "source": [ + "import numpy as np\n", + "import matplotlib as mpl\n", + "import matplotlib.pyplot as plt\n", + "\n", + "\n", + "def makePLAData(w,b, numlines):\n", + " w = np.array(w)\n", + " numFeatures = len(w)\n", + " x = np.random.rand(numlines, numFeatures) * 20 #随机产生numlines个数据的数据集\n", + " cls = np.sign(np.sum(w*x,axis=1)+b) #用标准线 w*x+b=0进行分类\n", + " dataSet = np.column_stack((x,cls))\n", + " #至此样例数据已经生成\n", + "\n", + " #下面是存储标准分类线,以便显示观察\n", + " x = np.linspace(0, 20, 500) #创建分类线上的点,以点构线。\n", + " y = -w[...,0] / w[...,1] * x - b / w[...,1]\n", + " rows = np.column_stack((x.T, y.T, np.zeros((500, 1))))\n", + " dataSet = np.row_stack((dataSet, rows))\n", + "\n", + " return dataSet\n", + "\n", + "\n", + "def showFigure(dataSet):\n", + " fig = plt.figure()\n", + " ax = fig.add_subplot(1,1,1)\n", + " ax.set_title('Linear separable data set')\n", + " plt.xlabel('X')\n", + " plt.ylabel('Y')\n", + " #图例设置\n", + " labels = ['classOne', 'standarLine', 'classTow', 'modelLine']\n", + " markers = ['o','.','x','.']\n", + " colors = ['r','y','g','b']\n", + " for i in range(4):\n", + " idx = np.where(dataSet[:,2]==i-1) #找出同类型的点,返回索引值\n", + " ax.scatter(dataSet[idx, 0], dataSet[idx, 1], marker=markers[i], color=colors[i], label=labels[i], s=10)\n", + "\n", + " plt.legend(loc = 'upper right')\n", + " plt.show()\n", + "\n", + "\n", + "def PLA_train(dataSet,plot = False):\n", + " numLines = dataSet.shape[0]\n", + " numFeatures = dataSet.shape[1]\n", + " #模型初始化\n", + " w = np.ones((1, numFeatures-1))\n", + " b = 0.1\n", + " k = 1\n", + " i = 0\n", + " #用梯度下降方法,逐渐调整w和b的值\n", + " while i" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\nlTpz5kxVVf3qq690165det999+k111xz0Hl79+6tS5Ys0SeeeEK7dOmiW7Zs0d27d2vnzp31448/\n1k2bNungwYN1x44dqqr6q1/9Sm+55RZfrlk1cdsDC9Tjcz2beRiDcMb1XSYii91lk4FfAX8SkR/j\njA38fQAR6QdcoaqXqupmEfklMN/db5qqbs6irMFh+HB44gnH5JHKW+zIkQ3fho3sELR2Hj4c/vAH\n+OorZ/6115xeRpBkzJRoL2rXLue/Ed/zS4O5c+dywQUX0KFDBwDat29/YOWWLSyfM4df/Pa3bNmx\ngx07dnDWWWcBMGjQICZMmMD3v/99xowZA8App5zCbbfdxvr16xkzZgxdu3b1JMOwYcM47LDDAOjW\nrRtr165ly5YtvPfeewwaNAiAvXv2cEplJWzZAocfntE1+0E2o6TeVFVR1V6q2tudXlLVWlUdpqpd\nVfU7UUWgqgtU9dKY/R9X1W+40xPZkjNwNGYSMQoHv/wOI0fCsGEH5vfuTd+3ElRfSC59R7t3w+rV\nTPjP/+TBq69m2bx5TJ06tT5/4eGHH+bWW29l3bp19O3bl9raWn7wgx9QXV1Ny5YtGTFiBHPnzqVb\nt24sXLiwwaG3bdvGxx9/zDe+8Q0AmjdvXr+utLSUuro6VJUzzzyTxYsXs/j113nvmWd4bNIkWL3a\nURp5xmpJBZGRI+HBB01ZFCp++x0uvzxz30qQfSFZ8B2dccYZzJo1i9raWgA2b3YNGHv2QCTC9p07\n6dS+Pftqa3n66afr9/voo48YMGAA06ZNo7y8nHXr1rF69WqOP/54rrrqKkaNGsXSpUsZNmwYu3bt\noqqqCoD9+/dz7bXXMmHCBFpFryUBAwcO5K233uLDDz+EbdvYuXMnH6xdC5EIbNuWdL9cYQrDMHJN\nU2/Mqb7p+9ErDWoEGGSl1929e3emTJnC6aefTmVlJT//+c+dFS1aQEkJv7ziCgb86EcM+v73OfHE\nE+v3mzRpEj179qRHjx6ceuqpVFZW8qc//YkePXrQu3dvli9fzvjx4xERXnjhBWbNmkXXrl054YQT\naNGiBbfffnujcpWXl/Pkk08yduxYen33u5xyySWsrKmBkhJo2zbj684Yr86OMEwF4fQ2DhA0B7Nf\nzJ6t2qqV46Ru1arh9TW2Ll8y+UxaTu9c8uWXqmvXOp/5xmdZguz0NozkVFc7b7HDhyd+Y8yCozMw\n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\nYRiGJ/5/PCTg4lTt97kAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + } + ] +} \ No newline at end of file From 3f9ef9523adab9bd939c234aeb414242c4401479 Mon Sep 17 00:00:00 2001 From: jaassoon Date: Thu, 2 May 2019 10:10:56 +0900 Subject: [PATCH 11/16] =?UTF-8?q?=E4=BD=BF=E7=94=A8=20Colaboratory=20?= =?UTF-8?q?=E5=88=9B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- perceptron/perceptron.ipynb | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/perceptron/perceptron.ipynb b/perceptron/perceptron.ipynb index 3fc3eb9..0485cac 100644 --- a/perceptron/perceptron.ipynb +++ b/perceptron/perceptron.ipynb @@ -3,9 +3,10 @@ "nbformat_minor": 0, "metadata": { "colab": { - "name": "tmp.ipynb", + "name": "perceptron.ipynb", "version": "0.3.2", "provenance": [], + "collapsed_sections": [], "include_colab_link": true }, "kernelspec": { @@ -28,11 +29,11 @@ "metadata": { "id": "l5PdzxmC353t", "colab_type": "code", - "outputId": "6be26a5b-16e6-41cd-ba83-5c1b2570ba01", "colab": { "base_uri": "https://localhost:8080/", "height": 573 - } + }, + "outputId": "6be26a5b-16e6-41cd-ba83-5c1b2570ba01" }, "cell_type": "code", "source": [ @@ -108,7 +109,7 @@ "showFigure(dataSet)\n", "w,b= PLA_train(dataSet,True)\n" ], - "execution_count": 0, + "execution_count": 2, "outputs": [ { "output_type": "display_data", @@ -135,19 +136,6 @@ } } ] - }, - { - "metadata": { - "id": "DSLOZLXDEeoa", - "colab_type": "code", - "colab": {} - }, - "cell_type": "code", - "source": [ - "" - ], - "execution_count": 0, - "outputs": [] } ] } \ No newline at end of file From 4af85d0ecd27945e8cb7e20dc4483a59be82ce30 Mon Sep 17 00:00:00 2001 From: jaassoon Date: Thu, 2 May 2019 10:12:25 +0900 Subject: [PATCH 12/16] Delete percentron.ipynb --- percentron/percentron.ipynb | 140 ------------------------------------ 1 file changed, 140 deletions(-) delete mode 100644 percentron/percentron.ipynb diff --git a/percentron/percentron.ipynb b/percentron/percentron.ipynb deleted file mode 100644 index 5b774ae..0000000 --- a/percentron/percentron.ipynb +++ /dev/null @@ -1,140 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "percentron.ipynb", - "version": "0.3.2", - "provenance": [], - "include_colab_link": true - }, - "kernelspec": { - "name": "python2", - "display_name": "Python 2" - } - }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "metadata": { - "id": "l5PdzxmC353t", - "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 573 - }, - "outputId": "6be26a5b-16e6-41cd-ba83-5c1b2570ba01" - }, - "cell_type": "code", - "source": [ - "import numpy as np\n", - "import matplotlib as mpl\n", - "import matplotlib.pyplot as plt\n", - "\n", - "\n", - "def makePLAData(w,b, numlines):\n", - " w = np.array(w)\n", - " numFeatures = len(w)\n", - " x = np.random.rand(numlines, numFeatures) * 20 #随机产生numlines个数据的数据集\n", - " cls = np.sign(np.sum(w*x,axis=1)+b) #用标准线 w*x+b=0进行分类\n", - " dataSet = np.column_stack((x,cls))\n", - " #至此样例数据已经生成\n", - "\n", - " #下面是存储标准分类线,以便显示观察\n", - " x = np.linspace(0, 20, 500) #创建分类线上的点,以点构线。\n", - " y = -w[...,0] / w[...,1] * x - b / w[...,1]\n", - " rows = np.column_stack((x.T, y.T, np.zeros((500, 1))))\n", - " dataSet = np.row_stack((dataSet, rows))\n", - "\n", - " return dataSet\n", - "\n", - "\n", - "def showFigure(dataSet):\n", - " fig = plt.figure()\n", - " ax = fig.add_subplot(1,1,1)\n", - " ax.set_title('Linear separable data set')\n", - " plt.xlabel('X')\n", - " plt.ylabel('Y')\n", - " #图例设置\n", - " labels = ['classOne', 'standarLine', 'classTow', 'modelLine']\n", - " markers = ['o','.','x','.']\n", - " colors = ['r','y','g','b']\n", - " for i in range(4):\n", - " idx = np.where(dataSet[:,2]==i-1) #找出同类型的点,返回索引值\n", - " ax.scatter(dataSet[idx, 0], dataSet[idx, 1], marker=markers[i], color=colors[i], label=labels[i], s=10)\n", - "\n", - " plt.legend(loc = 'upper right')\n", - " plt.show()\n", - "\n", - "\n", - "def PLA_train(dataSet,plot = False):\n", - " numLines = dataSet.shape[0]\n", - " numFeatures = dataSet.shape[1]\n", - " #模型初始化\n", - " w = np.ones((1, numFeatures-1))\n", - " b = 0.1\n", - " k = 1\n", - " i = 0\n", - " #用梯度下降方法,逐渐调整w和b的值\n", - " while i" - ] - }, - "metadata": { - "tags": [] - } - }, - { - "output_type": "display_data", - "data": { - "image/png": "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\nlTpz5kxVVf3qq690165det999+k111xz0Hl79+6tS5Ys0SeeeEK7dOmiW7Zs0d27d2vnzp31448/\n1k2bNungwYN1x44dqqr6q1/9Sm+55RZfrlk1cdsDC9Tjcz2beRiDcMb1XSYii91lk4FfAX8SkR/j\njA38fQAR6QdcoaqXqupmEfklMN/db5qqbs6irMFh+HB44gnH5JHKW+zIkQ3fho3sELR2Hj4c/vAH\n+OorZ/6115xeRpBkzJRoL2rXLue/Ed/zS4O5c+dywQUX0KFDBwDat29/YOWWLSyfM4df/Pa3bNmx\ngx07dnDWWWcBMGjQICZMmMD3v/99xowZA8App5zCbbfdxvr16xkzZgxdu3b1JMOwYcM47LDDAOjW\nrRtr165ly5YtvPfeewwaNAiAvXv2cEplJWzZAocfntE1+0E2o6TeVFVR1V6q2tudXlLVWlUdpqpd\nVfU7UUWgqgtU9dKY/R9X1W+40xPZkjNwNGYSMQoHv/wOI0fCsGEH5vfuTd+3ElRfSC59R7t3w+rV\nTPjP/+TBq69m2bx5TJ06tT5/4eGHH+bWW29l3bp19O3bl9raWn7wgx9QXV1Ny5YtGTFiBHPnzqVb\nt24sXLiwwaG3bdvGxx9/zDe+8Q0AmjdvXr+utLSUuro6VJUzzzyTxYsXs/j113nvmWd4bNIkWL3a\nURp5xmpJBZGRI+HBB01ZFCp++x0uvzxz30qQfSFZ8B2dccYZzJo1i9raWgA2b3YNGHv2QCTC9p07\n6dS+Pftqa3n66afr9/voo48YMGAA06ZNo7y8nHXr1rF69WqOP/54rrrqKkaNGsXSpUsZNmwYu3bt\noqqqCoD9+/dz7bXXMmHCBFpFryUBAwcO5K233uLDDz+EbdvYuXMnH6xdC5EIbNuWdL9cYQrDMHJN\nU2/Mqb7p+9ErDWoEGGSl1929e3emTJnC6aefTmVlJT//+c+dFS1aQEkJv7ziCgb86EcM+v73OfHE\nE+v3mzRpEj179qRHjx6ceuqpVFZW8qc//YkePXrQu3dvli9fzvjx4xERXnjhBWbNmkXXrl054YQT\naNGiBbfffnujcpWXl/Pkk08yduxYen33u5xyySWsrKmBkhJo2zbj684Yr86OMEwF4fQ2DhA0B7Nf\nzJ6t2qqV46Ru1arh9TW2Ll8y+UxaTu9c8uWXqmvXOp/5xmdZguz0NozkVFc7b7HDhyd+Y8yCozMw\n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\nYRiGJ/5/PCTg4lTt97kAAAAASUVORK5CYII=\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "tags": [] - } - } - ] - } - ] -} \ No newline at end of file From 251a410f51cdfaaaa5a801257f84c0370305df5c Mon Sep 17 00:00:00 2001 From: jaassoon Date: Thu, 2 May 2019 10:12:42 +0900 Subject: [PATCH 13/16] Delete tmp.ipynb --- percentron/tmp.ipynb | 140 ------------------------------------------- 1 file changed, 140 deletions(-) delete mode 100644 percentron/tmp.ipynb diff --git a/percentron/tmp.ipynb b/percentron/tmp.ipynb deleted file mode 100644 index 34806ab..0000000 --- a/percentron/tmp.ipynb +++ /dev/null @@ -1,140 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "tmp.ipynb", - "version": "0.3.2", - "provenance": [], - "include_colab_link": true - }, - "kernelspec": { - "name": "python2", - "display_name": "Python 2" - } - }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "metadata": { - "id": "l5PdzxmC353t", - "colab_type": "code", - "outputId": "6be26a5b-16e6-41cd-ba83-5c1b2570ba01", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 573 - } - }, - "cell_type": "code", - "source": [ - "import numpy as np\n", - "import matplotlib as mpl\n", - "import matplotlib.pyplot as plt\n", - "\n", - "\n", - "def makePLAData(w,b, numlines):\n", - " w = np.array(w)\n", - " numFeatures = len(w)\n", - " x = np.random.rand(numlines, numFeatures) * 20 #随机产生numlines个数据的数据集\n", - " cls = np.sign(np.sum(w*x,axis=1)+b) #用标准线 w*x+b=0进行分类\n", - " dataSet = np.column_stack((x,cls))\n", - " #至此样例数据已经生成\n", - "\n", - " #下面是存储标准分类线,以便显示观察\n", - " x = np.linspace(0, 20, 500) #创建分类线上的点,以点构线。\n", - " y = -w[...,0] / w[...,1] * x - b / w[...,1]\n", - " rows = np.column_stack((x.T, y.T, np.zeros((500, 1))))\n", - " dataSet = np.row_stack((dataSet, rows))\n", - "\n", - " return dataSet\n", - "\n", - "\n", - "def showFigure(dataSet):\n", - " fig = plt.figure()\n", - " ax = fig.add_subplot(1,1,1)\n", - " ax.set_title('Linear separable data set')\n", - " plt.xlabel('X')\n", - " plt.ylabel('Y')\n", - " #图例设置\n", - " labels = ['classOne', 'standarLine', 'classTow', 'modelLine']\n", - " markers = ['o','.','x','.']\n", - " colors = ['r','y','g','b']\n", - " for i in range(4):\n", - " idx = np.where(dataSet[:,2]==i-1) #找出同类型的点,返回索引值\n", - " ax.scatter(dataSet[idx, 0], dataSet[idx, 1], marker=markers[i], color=colors[i], label=labels[i], s=10)\n", - "\n", - " plt.legend(loc = 'upper right')\n", - " plt.show()\n", - "\n", - "\n", - "def PLA_train(dataSet,plot = False):\n", - " numLines = dataSet.shape[0]\n", - " numFeatures = dataSet.shape[1]\n", - " #模型初始化\n", - " w = np.ones((1, numFeatures-1))\n", - " b = 0.1\n", - " k = 1\n", - " i = 0\n", - " #用梯度下降方法,逐渐调整w和b的值\n", - " while i" - ] - }, - "metadata": { - "tags": [] - } - }, - { - "output_type": "display_data", - "data": { - "image/png": "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\nlTpz5kxVVf3qq690165det999+k111xz0Hl79+6tS5Ys0SeeeEK7dOmiW7Zs0d27d2vnzp31448/\n1k2bNungwYN1x44dqqr6q1/9Sm+55RZfrlk1cdsDC9Tjcz2beRiDcMb1XSYii91lk4FfAX8SkR/j\njA38fQAR6QdcoaqXqupmEfklMN/db5qqbs6irMFh+HB44gnH5JHKW+zIkQ3fho3sELR2Hj4c/vAH\n+OorZ/6115xeRpBkzJRoL2rXLue/Ed/zS4O5c+dywQUX0KFDBwDat29/YOWWLSyfM4df/Pa3bNmx\ngx07dnDWWWcBMGjQICZMmMD3v/99xowZA8App5zCbbfdxvr16xkzZgxdu3b1JMOwYcM47LDDAOjW\nrRtr165ly5YtvPfeewwaNAiAvXv2cEplJWzZAocfntE1+0E2o6TeVFVR1V6q2tudXlLVWlUdpqpd\nVfU7UUWgqgtU9dKY/R9X1W+40xPZkjNwNGYSMQoHv/wOI0fCsGEH5vfuTd+3ElRfSC59R7t3w+rV\nTPjP/+TBq69m2bx5TJ06tT5/4eGHH+bWW29l3bp19O3bl9raWn7wgx9QXV1Ny5YtGTFiBHPnzqVb\nt24sXLiwwaG3bdvGxx9/zDe+8Q0AmjdvXr+utLSUuro6VJUzzzyTxYsXs/j113nvmWd4bNIkWL3a\nURp5xmpJBZGRI+HBB01ZFCp++x0uvzxz30qQfSFZ8B2dccYZzJo1i9raWgA2b3YNGHv2QCTC9p07\n6dS+Pftqa3n66afr9/voo48YMGAA06ZNo7y8nHXr1rF69WqOP/54rrrqKkaNGsXSpUsZNmwYu3bt\noqqqCoD9+/dz7bXXMmHCBFpFryUBAwcO5K233uLDDz+EbdvYuXMnH6xdC5EIbNuWdL9cYQrDMHJN\nU2/Mqb7p+9ErDWoEGGSl1929e3emTJnC6aefTmVlJT//+c+dFS1aQEkJv7ziCgb86EcM+v73OfHE\nE+v3mzRpEj179qRHjx6ceuqpVFZW8qc//YkePXrQu3dvli9fzvjx4xERXnjhBWbNmkXXrl054YQT\naNGiBbfffnujcpWXl/Pkk08yduxYen33u5xyySWsrKmBkhJo2zbj684Yr86OMEwF4fQ2DhA0B7Nf\nzJ6t2qqV46Ru1arh9TW2Ll8y+UxaTu9c8uWXqmvXOp/5xmdZguz0NozkVFc7b7HDhyd+Y8yCozMw\n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\nYRiGJ/5/PCTg4lTt97kAAAAASUVORK5CYII=\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "tags": [] - } - } - ] - } - ] -} \ No newline at end of file From c019802ab06b77ebc108ed97bdbead2be34162b4 Mon Sep 17 00:00:00 2001 From: jaassoon Date: Thu, 2 May 2019 19:21:00 +0900 Subject: [PATCH 14/16] print wb --- perceptron/perceptron.ipynb | 98 ++++++++++++++++++++++++++++++------- 1 file changed, 80 insertions(+), 18 deletions(-) diff --git a/perceptron/perceptron.ipynb b/perceptron/perceptron.ipynb index 0485cac..9be87e2 100644 --- a/perceptron/perceptron.ipynb +++ b/perceptron/perceptron.ipynb @@ -27,21 +27,49 @@ }, { "metadata": { - "id": "l5PdzxmC353t", + "id": "Ozjc0kWAKhzD", "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 573 - }, - "outputId": "6be26a5b-16e6-41cd-ba83-5c1b2570ba01" + "colab": {} }, "cell_type": "code", "source": [ "import numpy as np\n", "import matplotlib as mpl\n", - "import matplotlib.pyplot as plt\n", - "\n", - "\n", + "import matplotlib.pyplot as plt" + ], + "execution_count": 0, + "outputs": [] + }, + { + "metadata": { + "id": "s-TY7p30RTqL", + "colab_type": "text" + }, + "cell_type": "markdown", + "source": [ + "numlines表示产生的数据点数,这里是200个点" + ] + }, + { + "metadata": { + "id": "qXk8hNunWw9o", + "colab_type": "text" + }, + "cell_type": "markdown", + "source": [ + "为了测试该算法,这里简单模拟生成数据进行测试。假设生成的数据都是线性可分的, \n", + "那么只需要在坐标轴上随机生成大量的数据点,再用一条标准线进行分类。 \n", + "然后用这些分类的数据进行训练,查看训练出的模型与标准线的差距。" + ] + }, + { + "metadata": { + "id": "Fhk5eKGiRSY4", + "colab_type": "code", + "colab": {} + }, + "cell_type": "code", + "source": [ "def makePLAData(w,b, numlines):\n", " w = np.array(w)\n", " numFeatures = len(w)\n", @@ -56,9 +84,19 @@ " rows = np.column_stack((x.T, y.T, np.zeros((500, 1))))\n", " dataSet = np.row_stack((dataSet, rows))\n", "\n", - " return dataSet\n", - "\n", - "\n", + " return dataSet" + ], + "execution_count": 0, + "outputs": [] + }, + { + "metadata": { + "id": "l5PdzxmC353t", + "colab_type": "code", + "colab": {} + }, + "cell_type": "code", + "source": [ "def showFigure(dataSet):\n", " fig = plt.figure()\n", " ax = fig.add_subplot(1,1,1)\n", @@ -102,19 +140,35 @@ " dataSet = np.row_stack((dataSet,rows))\n", "\n", " showFigure(dataSet)\n", - " return w, b\n", - "\n", + " return w, b" + ], + "execution_count": 0, + "outputs": [] + }, + { + "metadata": { + "id": "vwWU5C3NSMVu", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 607 + }, + "outputId": "8f5bbb4f-6469-429d-df6b-ca7c29d4843d" + }, + "cell_type": "code", + "source": [ "#测试:\n", "dataSet = makePLAData([1,-2],7,200)\n", "showFigure(dataSet)\n", - "w,b= PLA_train(dataSet,True)\n" + "w,b= PLA_train(dataSet,True)\n", + "print('w={} \\nb={}'.format(w,b))" ], - "execution_count": 2, + "execution_count": 13, "outputs": [ { "output_type": "display_data", "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEWCAYAAAB1xKBvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi40LCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcv7US4rQAAIABJREFUeJztnXucFNWV+L+HYeShyEPQoIhoFqO8\nBnkjAVEiEvAHBKMJCQoaV3QxJhs1cSURJT6jm/iMqFFxQFmDiTLr4gaFGDWrkcfylhVFEHwADoyA\ngDDM+f1R1WNP0z3Tj6ququ7z/Xzq0/W4VXXqVvU99557z7miqhiGYRhGQzQKWgDDMAwjGpjCMAzD\nMNLCFIZhGIaRFqYwDMMwjLQwhWEYhmGkhSkMwzAMIy1MYRieIiKDReT/gpYjKohIJxFREWmc4vjN\nIjLbo3vNFJFbvbiWUZyYwjCyQkQ2isi3Ever6uuq+o0gZDK8Q0ReFZHLA7hv0u/KCAemMIyCIFUN\nPWhEpCRoGQzDK0xhGJ4iIkNFZEvc9kYRuU5EVorI5yLyrIg0jTt+vogsF5EqEfkfEekRd+wGEXlf\nRHaLyFoR+U7csUki8ncR+Z2IVAI3J5Gln4gsEZFdIrJVRH4bd2yAe78qEVkhIkPjjr0qIneIyNvu\nufNEpE3c8bki8qn7PK+JSNe4YzNF5GERmS8iXwBni8goEflf91qbReQwWYHLRORjEflERK6rJ39T\nyp0k7RkisszNv2eB+HxvLSIvish2Ednprndwj90GDAYeFJE9IvKgu/8+V/5dIrJURAbXc++R7jvb\nLSIfxT9TqncuIrOAjsB/uvf9earrGwGhqrbYkvECbAS+lWT/UGBLQrq3geOBNsA7wJXusTOAbUB/\noASY6KZv4h6/0D2vEfA94AugvXtsElAN/BhoDDRLIsubwMXu+lHAAHf9BKASGOle+1x3u517/FXg\nI6AbcCTwJ2B23HUvA1oATYB7geVxx2YCnwOD3Gs3dfOku7vdA9gKjHXTdwIUmOPeqzuwPZa3OIpw\ndjpyJzz7EcAm4F+BUuC7wEHgVvf4McAFQHP3WeYCL8Sd/ypwecI1J7jnNQauBT4Fmqb4Pj4BBrvr\nrYFeab7zjST5rmwJx2ItDCMf3K+qH6vqDuA/gZ7u/iuAR1T1H6p6SFWfAr4EBgCo6lz3vBpVfRZY\nD/SLu+7HqvqAqlar6r4k9z0I/JOItFXVPar6lrt/AjBfVee7134ZWIJTEMeYpaqrVfUL4FfARTHz\nkqo+oaq7VfVLnAK9TERaxp07T1X/7l57v6q+qqqr3O2VOMrhrARZb1HVL1R1FfAkMD7J86Qjd4wB\nOIriXlU9qKrPAYtjB1W1UlX/pKp7VXU3cFsSmeqgqrPd86pV9d9xFGaq/qqDQBcROVpVd6rqMnd/\nve/cCDemMIx88Gnc+l6c2j7AScC1rmmiSkSqgBNxWhWIyCVxposqnBp/27hrbW7gvj8CTgXWichi\nETk/7r4XJtz3m0D7FNfehFP4thWREhG50zWV7cKpEVOfXCLSX0T+6pp/PgeuTEif7H7HJ3medOSO\ncTzwkarGRxfdFCdTcxF5REQ2uc/xGtCqvj4X17T4jmuKqwJaJnmOGBfgKLJNIvI3ERkY9wwp37kR\nbkLZUWgUDZuB21T1tsQDInIS8BgwDHhTVQ+JyHJA4pLVG2pZVdcD40WkETAOeE5EjnHvO0tV/7me\n00+MW++IU2P+DPgBMAb4Fo6yaAnsbECuZ4AHgW+r6n4RuZfDC9oTgXVx9/s4iUzpyB3jE+AEEZE4\npdEReN9dvxanddBfVT8VkZ7A/8Y9R51ncPsrfo7zPtaoao2IJD53Laq6GBgjIqXA1cAf3WdM+c6T\n3dcIF9bCMHKhVESaxi2ZVkAeA650a+AiIke6HcQtcOz5imPPR0QuxWlhpI2ITBCRdqpaA1S5u2uA\n2cD/E5Hz3BZDU3E66zvEnT5BRLqISHNgOvCcqh7Csfd/idN30By4PQ1RWgA7XGXRD0fpJPIrt9bf\nFbgUeDZJmnTkjvEmTh/PNSJSKiLjqGvOawHsA6rE6dCflnD+VuCUhPTVOO+jsYjcBByd7GFF5AgR\n+aGItFTVg8AunHyH+t95svsaIcIUhpEL83EKndhycyYnq+oS4J9xat87gfdwOrNR1bXAv+MUfFtx\nOoP/nqF8I4A1IrIHuA/4vqruU9XNOK2EG3EKwM3A9dT9P8zC6cD+FKfj+hp3fzmOaecjYC3wFg3z\nL8B0EdkN3IRT207kbzjPvxC4R1UXJCZIU+5Y2gM4rapJwA6cQQN/jktyL9AMp9X0FvDfCZe4D/iu\nO4LqfuAvbpp3cZ5/P/WbBC8GNrrmriuBH7pypXznLncAv3TNVSlHixnBIHVNnIZhiMirOCOT/hC0\nLIYRJqyFYRiGYaSFKQzDMAwjLcwkZRiGYaSFtTAMwzCMtCgoP4y2bdtqp06dghbDMAwjMixduvQz\nVW2XTtqCUhidOnViyZIlQYthGIYRGURkU8OpHMwkZRiGYaSFKQzDMAwjLUxhGIZhGGnhWx+GiJyI\nE0bhOJyYQI+q6n1u3JpnceYB2AhcpKo7k5w/Efilu3mrGwbZMIyIc/DgQbZs2cL+/fuDFqWoaNq0\nKR06dKC0tDTra/jZ6V0NXKuqy9zAYktF5GWcuDELVfVOEbkBuAH4RfyJccHQ+uAom6UiUpFMsRiG\nES22bNlCixYt6NSpEyJJg90aHqOqVFZWsmXLFk4++eSsr+ObSUpVP4lNmuJO0PIOzoxhY4BYa+Ep\nYGyS088DXlbVHa6SeBknkJxhGBFn//79HHPMMaYs8oiIcMwxx+TcqstLH4aIdMKZmvEfwHGq+ol7\n6FMck1UiJ1A3EuYWd1+ya18hzrzNS7Zv3+6ZzIZh+EfayqKqCj780Pk1csILBe27whCRo3DmRP6p\nqu6KP+ZO7JJTbBJVfVRV+6hqn3bt0vI9MQwjClRVwYYNsG2b82tKI3B8VRjubFt/Ap5W1Vgs/q0i\n0t493h5nQvhEPqLujGcd3H2GARUVcPXVzq9RuOzaBTXuvEs1Nc62j9x8883cc889nl1vy5YtjBkz\nhs6dO/P1r3+dn/zkJxw4cMCz6weBbwpDnPbP48A7qvrbuEMVwER3fSIwL8npfwGGi0hrEWkNDHf3\nGcVORQWMHw8PPeT8+qU0TCkFz9FHQyO3iGrUyNmOCKrKuHHjGDt2LOvXr+fdd99lz549TJ06NWjR\ncsLPFsYgnFm3zhGR5e4yErgTOFdE1uPMi3wngIj0EZE/AKjqDuDXwGJ3me7uM4qdBQtg715nfe9e\nZ9tr8qWUjPpp1QpOOQWOPdb5bdXK08uXl5fTo0cPysrKuPjii+sce+yxx+jbty9lZWVccMEF7HW/\nublz59KtWzfKysoYMmQIAGvWrKFfv3707NmTHj16sH79ehYtWkTTpk259NJLASgpKeF3v/sdTzzx\nBHv37mXmzJmMGzeOESNG0LlzZ37+85/X3nvBggUMHDiQXr16ceGFF7Jnzx5PnzsnVLVglt69e6tR\n4Mybp9q8uSo4v/PmeX+PKVOc68eWKVO8v0cRs3bt2sxPmjfPeQ8eve/Vq1dr586ddfv27aqqWllZ\nqdOmTdO7775bVVU/++yz2rRTp07V+++/X1VVu3Xrplu2bFFV1Z07d6qq6tVXX62zZ89WVdUvv/xS\n9+7dq/fdd5/+9Kc/Pey+PXv21BUrVuiTTz6pJ598slZVVem+ffu0Y8eO+uGHH+r27dt18ODBumfP\nHlVVvfPOO/WWW27x5JlVk+c9sETTLGMLKvigUQSMHg1z5jgti+HDnW2vGT4cnnzSacE0b+5sG8ER\na/Ht3eu8lzlzcn7vixYt4sILL6Rt27YAtGnTps7x1atX88tf/pKqqir27NnDeeedB8CgQYOYNGkS\nF110EePGjQNg4MCB3HbbbWzZsoVx48bRuXPntGQYNmwYLVu2BKBLly5s2rSJqqoq1q5dy6BBgwA4\ncOAAAwcOzOlZvcRCg3iN2b79Z/RoePDB5IWGF/kfU0pTpnhSOIUWr75Vv7752JDa//xP/82QCUya\nNIkHH3yQVatWMW3atFr/hRkzZnDrrbeyefNmevfuTWVlJT/4wQ+oqKigWbNmjBw5kkWLFtGlSxeW\nLl1a55q7du3iww8/5J/+6Z8AaNKkSe2xkpISqqurUVXOPfdcli9fzvLly1m7di2PP/6478+bLqYw\nvMRs38HiZf7Xp5QKAa/yyq9vPn5IbZcu0KyZs9+jFt8555zD3LlzqaysBGDHjrpdpLt376Z9+/Yc\nPHiQp59+unb/+++/T//+/Zk+fTrt2rVj8+bNbNiwgVNOOYVrrrmGMWPGsHLlSoYNG8bevXspLy8H\n4NChQ1x77bVMmjSJ5s2bp5RrwIAB/P3vf+e9994D4IsvvuDdd9/N+Xm9whSGl+SjQ9ZIjeV/+niV\nV37lefyQ2sGD4YEH6rb4cnTo69q1K1OnTuWss86irKyMn/3sZ3WO//rXv6Z///4MGjSI0047rXb/\n9ddfT/fu3enWrRtnnnkmZWVl/PGPf6Rbt2707NmT1atXc8kllyAiPP/888ydO5fOnTtz6qmn0rRp\nU26//fZ65WrXrh0zZ85k/Pjx9OjRg4EDB7Ju3bqsntEX0u3siMISeKd3PjpkjdRY/qePV3mVxXXS\n6vTeuVN16VLVxYudX7eDucFjRr1Yp3eYyEeHrJEay//08Sqv/Mrz2JDaXbsc/4v4IbXJHPo8HnJr\nJEccBVMY9OnTR22KVsMIN++88w6nn3569heI9W/U1DgOfT74aBQqyfJeRJaqap90zrcWhmEY0aK+\n1ofhK9bpbYSDKAxHjoKMxUKrVtCxY+Epi5BH5zWFYQRPFIYjR0HGsGKKNj0iEJ3XFEYxErY/cBSG\nw0ZBxjASJkUbhtp7fTLkOTpvNpjCKDbC9AeOMXy445AF4Q3FEQUZw0hDijZfhXgatfd77723Nsig\nF3Tq1InPPvssfRmOPpqhV17JkrVr60TnXbJkCddcc41ncuWCKYxiI4w15SiE4si3jBUVMGqUs4RB\nqWdLfYo2nyaYNGrvXiuMTGU41KIFNG0KbdrUGfnVp08f7r//fv/kygBTGMVGWGvKo0c7sixYEN4C\nMl/hQioq4MILYf58Z7noovDmSUPUp2jzaYJJmFvji5ISRo0aRVlZGd26deOWW27h448/5uyzz+bs\ns88G4KqrrqJPnz507dqVadOm1V6qU6dOTJs2jV69etG9e/daT+zKykqGDx9O165dufzyy4l3WRg7\ndiy9R4+m6/e+x6N//nNtC+Koo47i2muvpaysjDfffBMaN4avfa1OZ/6rr77K+eefDziTPF122WUM\nHTqUU045pY4imT17dm2Y9cmTJ3Po0CHv8zFdD78oLIF7ekcFj0NFe4J5aX9FYnj1AguxXuttnG+P\n7Z07VTdtUt25U5977jm9/PLLaw9VVVXpSSedVBvuXNUJea6qWl1drWeddZauWLFCVVVPOumk2nDn\nDz30kP7oRz9SVdUf//jHtaHIX3zxRQXqhE9XVd378cfa9dRT9bP331dVVUCfffbZ2nueddZZunjx\n4jpi//Wvf9VRo0apquq0adN04MCBun//ft2+fbu2adNGDxw4oGvXrtXzzz9fDxw4oKqqV111lT71\n1FOHZUGunt7WwihGwhhYL4ymsqAYPhyOOOKr7SZNwtMSTEU2AykymCBp+/YKFi/uyfbtObS04obi\ndu/enZdffplf/OIXvP7667VhxuP54x//SK9evTjjjDNYs2YNa9eurT0WC23eu3dvNm7cCMBrr73G\nhAkTABg1ahStW7euTX///fdTVlbGgBEj2Pzpp6zf5sxMXVJSwgUXXJDRY4waNYomTZrQtm1bjj32\nWLZu3crChQtZunQpffv2pWfPnixcuJANGzZkdN108M1xT0SeAM4HtqlqN3ffs8A33CStgCpV7Znk\n3I3AbuAQUK1peiEaEcbmoPiK0aNh7lx45BFne/LkcCn3RHKZr6JVq7R8KTZuvIkvvljBxo030a5d\n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\nSIv/D4elztV7ENTbAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] @@ -126,7 +180,7 @@ { "output_type": "display_data", "data": { - "image/png": "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\nlTpz5kxVVf3qq690165det999+k111xz0Hl79+6tS5Ys0SeeeEK7dOmiW7Zs0d27d2vnzp31448/\n1k2bNungwYN1x44dqqr6q1/9Sm+55RZfrlk1cdsDC9Tjcz2beRiDcMb1XSYii91lk4FfAX8SkR/j\njA38fQAR6QdcoaqXqupmEfklMN/db5qqbs6irMFh+HB44gnH5JHKW+zIkQ3fho3sELR2Hj4c/vAH\n+OorZ/6115xeRpBkzJRoL2rXLue/Ed/zS4O5c+dywQUX0KFDBwDat29/YOWWLSyfM4df/Pa3bNmx\ngx07dnDWWWcBMGjQICZMmMD3v/99xowZA8App5zCbbfdxvr16xkzZgxdu3b1JMOwYcM47LDDAOjW\nrRtr165ly5YtvPfeewwaNAiAvXv2cEplJWzZAocfntE1+0E2o6TeVFVR1V6q2tudXlLVWlUdpqpd\nVfU7UUWgqgtU9dKY/R9X1W+40xPZkjNwNGYSMQoHv/wOI0fCsGEH5vfuTd+3ElRfSC59R7t3w+rV\nTPjP/+TBq69m2bx5TJ06tT5/4eGHH+bWW29l3bp19O3bl9raWn7wgx9QXV1Ny5YtGTFiBHPnzqVb\nt24sXLiwwaG3bdvGxx9/zDe+8Q0AmjdvXr+utLSUuro6VJUzzzyTxYsXs/j113nvmWd4bNIkWL3a\nURp5xmpJBZGRI+HBB01ZFCp++x0uvzxz30qQfSFZ8B2dccYZzJo1i9raWgA2b3YNGHv2QCTC9p07\n6dS+Pftqa3n66afr9/voo48YMGAA06ZNo7y8nHXr1rF69WqOP/54rrrqKkaNGsXSpUsZNmwYu3bt\noqqqCoD9+/dz7bXXMmHCBFpFryUBAwcO5K233uLDDz+EbdvYuXMnH6xdC5EIbNuWdL9cYQrDMHJN\nU2/Mqb7p+9ErDWoEGGSl1929e3emTJnC6aefTmVlJT//+c+dFS1aQEkJv7ziCgb86EcM+v73OfHE\nE+v3mzRpEj179qRHjx6ceuqpVFZW8qc//YkePXrQu3dvli9fzvjx4xERXnjhBWbNmkXXrl054YQT\naNGiBbfffnujcpWXl/Pkk08yduxYen33u5xyySWsrKmBkhJo2zbj684Yr86OMEwF4fQ2DhA0B7Nf\nzJ6t2qqV46Ru1arh9TW2Ll8y+UxaTu9c8uWXqmvXOp/5xmdZguz0NozkVFc7b7HDhyd+Y8yCozMw\n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\nYRiGJ/5/PCTg4lTt97kAAAAASUVORK5CYII=\n", + "image/png": "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\nRK5CYII=\n", "text/plain": [ "
" ] @@ -134,6 +188,14 @@ "metadata": { "tags": [] } + }, + { + "output_type": "stream", + "text": [ + "w=[[ 46.27255845 -93.94378277]] \n", + "b=332.1\n" + ], + "name": "stdout" } ] } From bfa227d1652849a40f9b2dfbe8ebc8f904bacae2 Mon Sep 17 00:00:00 2001 From: jaassoon Date: Fri, 3 May 2019 18:31:47 +0900 Subject: [PATCH 15/16] Add refs --- perceptron/perceptron.ipynb | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/perceptron/perceptron.ipynb b/perceptron/perceptron.ipynb index 9be87e2..5c948c1 100644 --- a/perceptron/perceptron.ipynb +++ b/perceptron/perceptron.ipynb @@ -26,13 +26,14 @@ ] }, { + "cell_type": "code", "metadata": { "id": "Ozjc0kWAKhzD", "colab_type": "code", "colab": {} }, - "cell_type": "code", "source": [ + "#参考自https://blog.csdn.net/u014556057/article/details/81289915\n", "import numpy as np\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt" @@ -41,21 +42,21 @@ "outputs": [] }, { + "cell_type": "markdown", "metadata": { "id": "s-TY7p30RTqL", "colab_type": "text" }, - "cell_type": "markdown", "source": [ "numlines表示产生的数据点数,这里是200个点" ] }, { + "cell_type": "markdown", "metadata": { "id": "qXk8hNunWw9o", "colab_type": "text" }, - "cell_type": "markdown", "source": [ "为了测试该算法,这里简单模拟生成数据进行测试。假设生成的数据都是线性可分的, \n", "那么只需要在坐标轴上随机生成大量的数据点,再用一条标准线进行分类。 \n", @@ -63,12 +64,12 @@ ] }, { + "cell_type": "code", "metadata": { "id": "Fhk5eKGiRSY4", "colab_type": "code", "colab": {} }, - "cell_type": "code", "source": [ "def makePLAData(w,b, numlines):\n", " w = np.array(w)\n", @@ -90,12 +91,12 @@ "outputs": [] }, { + "cell_type": "code", "metadata": { "id": "l5PdzxmC353t", "colab_type": "code", "colab": {} }, - "cell_type": "code", "source": [ "def showFigure(dataSet):\n", " fig = plt.figure()\n", @@ -146,16 +147,16 @@ "outputs": [] }, { + "cell_type": "code", "metadata": { "id": "vwWU5C3NSMVu", "colab_type": "code", + "outputId": "8f5bbb4f-6469-429d-df6b-ca7c29d4843d", "colab": { "base_uri": "https://localhost:8080/", "height": 607 - }, - "outputId": "8f5bbb4f-6469-429d-df6b-ca7c29d4843d" + } }, - "cell_type": "code", "source": [ "#测试:\n", "dataSet = makePLAData([1,-2],7,200)\n", @@ -163,7 +164,7 @@ "w,b= PLA_train(dataSet,True)\n", "print('w={} \\nb={}'.format(w,b))" ], - "execution_count": 13, + "execution_count": 0, "outputs": [ { "output_type": "display_data", From 46ba5057b2ea5e1555ce763fd583cc37ed178a56 Mon Sep 17 00:00:00 2001 From: jaassoon Date: Sat, 4 May 2019 07:44:35 +0900 Subject: [PATCH 16/16] =?UTF-8?q?=E4=BD=BF=E7=94=A8=20Colaboratory=20?= =?UTF-8?q?=E5=88=9B=E5=BB=BAmlp/mlp.ipynb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mlp/mlp.ipynb | 260 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 260 insertions(+) create mode 100644 mlp/mlp.ipynb diff --git a/mlp/mlp.ipynb b/mlp/mlp.ipynb new file mode 100644 index 0000000..bda5acf --- /dev/null +++ b/mlp/mlp.ipynb @@ -0,0 +1,260 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "mlp.ipynb", + "version": "0.3.2", + "provenance": [], + "collapsed_sections": [], + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Dv5VPaImpOa6", + "colab_type": "text" + }, + "source": [ + "有时候,看看神经网络学习到的权重可以帮助我们深入了解神经网络的学习行为。例如,如果权重看起来是非结构化的,可能有些特征根本没有用到。如果存在非常大的系数,可能正则化项设置的较低,或者学习率太高了。\n", + "\n", + "这个例子告诉我们如何将MLP(Multi-Layer Perceptron,多层感知器)分类器在MNIST数据集上训练得到的第一层的权重可视化。\n", + "\n", + "输入数据是28×28像素的手写数字,因此有784(28×28=784)个特征。所以第一层的权重矩阵的维度是(784,hidden_layer_sizes[0]),我们可以拿出权重矩阵的单独一列可视化成一个28×28的图片。\n", + "\n", + "为了运行更快,这里只用了很少的隐藏层单元,并且只训练了很短的时间。训练时间更长的话,权重会更平滑。" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "GmfRmEOvLvqv", + "colab_type": "code", + "colab": {} + }, + "source": [ + "#参考自https://zhuanlan.zhihu.com/p/51250297 MLP权重在MNIST数据集上的可视化\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.datasets import fetch_openml\n", + "from sklearn.neural_network import MLPClassifier" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "5Fx1ZKl9q0xZ", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 204 + }, + "outputId": "f371bf60-26fc-4b8a-ef77-943bc908a897" + }, + "source": [ + "#%debug\n", + "print(__doc__)\n", + "# Load data from https://www.openml.org/d/554\n", + "X, y = fetch_openml('mnist_784', version=1, return_X_y=True)\n", + "print('Length of X is {}, 表示取得7万张图片'.format(len(X)))\n", + "print('X is {}, onehot格式的图片数据'.format(X))\n", + "print('y is {},显示前20个标签的值'.format(y[:20]))\n", + "X = X / 255.\n", + "\n", + "#然后划分训练集和测试集,这里就简单地将前6万个样本作为训练集,剩下的作为测试集:\n", + "# rescale the data, use the traditional train/test split\n", + "X_train, X_test = X[:60000], X[60000:]\n", + "y_train, y_test = y[:60000], y[60000:]" + ], + "execution_count": 5, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Automatically created module for IPython interactive environment\n", + "Length of X is 70000, 表示取得7万张图片\n", + "X is [[0. 0. 0. ... 0. 0. 0.]\n", + " [0. 0. 0. ... 0. 0. 0.]\n", + " [0. 0. 0. ... 0. 0. 0.]\n", + " ...\n", + " [0. 0. 0. ... 0. 0. 0.]\n", + " [0. 0. 0. ... 0. 0. 0.]\n", + " [0. 0. 0. ... 0. 0. 0.]], onehot格式的图片数据\n", + "y is ['5' '0' '4' '1' '9' '2' '1' '3' '1' '4' '3' '5' '3' '6' '1' '7' '2' '8'\n", + " '6' '9'],显示前20个标签的值\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "c_c6s0GfK7D2", + "colab_type": "code", + "outputId": "32baf800-9ae8-4d5e-cb61-1b9bb0a540f3", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 275 + } + }, + "source": [ + "#然后就是调用MLPClassifier,得到一个分类器:\n", + "# mlp = MLPClassifier(hidden_layer_sizes=(100, 100), max_iter=400, alpha=1e-4,\n", + "# solver='sgd', verbose=10, tol=1e-4, random_state=1)\n", + "mlp = MLPClassifier(hidden_layer_sizes=(50,), max_iter=10, alpha=1e-4,\n", + " solver='sgd', verbose=10, tol=1e-4, random_state=1,\n", + " learning_rate_init=.1)\n", + "#hidden_layer_sizes是隐藏层的维度,这里只设置了一个隐藏层,为50个神经元。\n", + "#最大迭代次数只设置了10次,alpha是正则项前面的参数。这里选择用SGD训练,verbose是设置是否输出训练时的信息。\n", + "\n", + "#定义好分类器后,就是训练了:\n", + "mlp.fit(X_train, y_train)\n", + "print(\"Training set score: %f\" % mlp.score(X_train, y_train))\n", + "print(\"Test set score: %f\" % mlp.score(X_test, y_test))" + ], + "execution_count": 6, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Iteration 1, loss = 0.32009978\n", + "Iteration 2, loss = 0.15347534\n", + "Iteration 3, loss = 0.11544755\n", + "Iteration 4, loss = 0.09279764\n", + "Iteration 5, loss = 0.07889367\n", + "Iteration 6, loss = 0.07170497\n", + "Iteration 7, loss = 0.06282111\n", + "Iteration 8, loss = 0.05529723\n", + "Iteration 9, loss = 0.04960484\n", + "Iteration 10, loss = 0.04645355\n" + ], + "name": "stdout" + }, + { + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.6/dist-packages/sklearn/neural_network/multilayer_perceptron.py:562: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (10) reached and the optimization hasn't converged yet.\n", + " % self.max_iter, ConvergenceWarning)\n" + ], + "name": "stderr" + }, + { + "output_type": "stream", + "text": [ + "Training set score: 0.986800\n", + "Test set score: 0.970000\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gDvPZJLRBpyn", + "colab_type": "text" + }, + "source": [ + "第一句是创建一个figure和多个子图,这里将画图界面分成4×4的格式,也就是16个图,因此axes是包含了4×4个元素的array,代表着16个子图。\n", + "\n", + "这里只取了第一层的权重矩阵(实际上这里也只有一层),维度是(784,50)。因为权重有大有小,画在一张图上可能差异比较大,所以第二句代码先取了这列的最小值vmin和最大值vmax,便于后面控制标准化。\n", + "\n", + "for循环中的axes.ravel()是将多维数据降为一维,并且默认是行序优先。降维之后维度是(16,)。注意这里权重矩阵转置之后维度是(50,784),两者的行不一致,但仍然可以zip。\n", + "\n", + "matshow是将矩阵以图片的形式展现出来的函数。cmap=plt.cm.gray是灰度显示。vmin和vmax参数是用来控制标准化时候的最小和最大值。set_xticks和set_yticks是设置x轴和y轴的数字标签,这里设置为空表明最终的图片没有x轴和y轴标签。" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ennQtKRRDSed", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 697 + }, + "outputId": "008cedd5-2873-41f1-96c7-1dc06efb2a99" + }, + "source": [ + "#%debug\n", + "fig, axes = plt.subplots(4, 4)\n", + "# use global min / max to ensure all weights are shown on the same scale\n", + "vmin, vmax = mlp.coefs_[0].min(), mlp.coefs_[0].max()\n", + "for coef, ax in zip(mlp.coefs_[0].T, axes.ravel()):\n", + " ax.matshow(coef.reshape(28, 28), cmap=plt.cm.gray, vmin=.5 * vmin,\n", + " vmax=.5 * vmax)\n", + " ax.set_xticks(())\n", + " ax.set_yticks(())\n", + "\n", + "plt.show()\n", + "print('转置后的权重矩阵 {}'.format(mlp.coefs_[0].T))\n", + "print('转置前的权重矩阵 {}'.format(mlp.coefs_[0]))" + ], + "execution_count": 7, + "outputs": [ + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "stream", + "text": [ + "转置后的权重矩阵 [[-0.01405516 -0.08141165 -0.02936362 ... 0.02848052 -0.05605756\n", + " 0.04899327]\n", + " [ 0.03731949 0.03029191 0.00458322 ... -0.07641292 0.08426531\n", + " 0.04567228]\n", + " [-0.08467273 -0.04884564 0.0653725 ... -0.01940089 -0.07566693\n", + " -0.01877677]\n", + " ...\n", + " [-0.0349585 0.01248014 0.03607697 ... -0.06692097 -0.03975366\n", + " 0.04117367]\n", + " [-0.03594751 -0.08420591 0.01011511 ... -0.0281908 -0.06697031\n", + " -0.00405521]\n", + " [-0.06266732 0.0198425 -0.08256532 ... -0.05097943 0.08218818\n", + " -0.05411453]]\n", + "转置前的权重矩阵 [[-0.01405516 0.03731949 -0.08467273 ... -0.0349585 -0.03594751\n", + " -0.06266732]\n", + " [-0.08141165 0.03029191 -0.04884564 ... 0.01248014 -0.08420591\n", + " 0.0198425 ]\n", + " [-0.02936362 0.00458322 0.0653725 ... 0.03607697 0.01011511\n", + " -0.08256532]\n", + " ...\n", + " [ 0.02848052 -0.07641292 -0.01940089 ... -0.06692097 -0.0281908\n", + " -0.05097943]\n", + " [-0.05605756 0.08426531 -0.07566693 ... -0.03975366 -0.06697031\n", + " 0.08218818]\n", + " [ 0.04899327 0.04567228 -0.01877677 ... 0.04117367 -0.00405521\n", + " -0.05411453]]\n" + ], + "name": "stdout" + } + ] + } + ] +} \ No newline at end of file