{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline\n", "def myshow(mytitle=None):\n", " ax = axes()\n", " ax.spines['left'].set_position('zero');\n", " ax.spines['right'].set_color('none')\n", " ax.spines['bottom'].set_position('zero');\n", " ax.spines['top'].set_color('none')\n", " ax.spines['left'].set_smart_bounds(True); \n", " ax.spines['bottom'].set_smart_bounds(True)\n", " ax.set_aspect('equal');\n", " if mytitle is not None:\n", " title(mytitle)\n", " show()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "# we see how the vector w define the orientation of the decision surface\n", "# and how w_0 define the location of the decision surface\n", "w_0 = -1.\n", "w_angle = radians(60)\n", "w_length = .8\n", "print(\"angle of the vector w: %.1f degrees\"%degrees(w_angle))\n", "print(\"normal distance from the origin to the deciison surface: %.1f\"%(-w_0/w_length))\n", "w = array([cos(w_angle), sin(w_angle)]) * w_length\n", "print(\"w_1: %f w_2: %f\"%(w[0],w[1]))\n", "x = linspace(-5,5,100)\n", "# since w^Tx + w_0 = x1*w1 + x2*w2 + w_0 = 0 we can rearrange terms to get\n", "# x2 = -(x1*w1 + w_0) / w2\n", "x = column_stack((x, -(x*w[0] + w_0)/w[1]))\n", "plot([0,w[0]],[0,w[1]], linewidth=2, color='g') # w vector\n", "plot(x[:,0],x[:,1],'r') # decision surface\n", "myshow(\"w is the green vector, the decision surface is the red line\")" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "angle of the vector w: 60.0 degrees\n", "normal distance from the origin to the deciison surface: 1.2\n", "w_1: 0.400000 w_2: 0.692820\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nVLyxdAUAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "# we see how y(pointx) gives a signed measure of the perpendicular\n", "# distance distancex of the point pointx from the decision surface\n", "pointx = array([2.5,2.5])\n", "distancex = (dot(w,pointx) + w_0) / w_length\n", "print(\"perpendicular distance r of the point x from the decision surface: %f\"%distancex)\n", "# x_perp is found by rearraging terms in (4.6) on page 182\n", "x_perp = pointx - distancex*(w/w_length)\n", "plot([x_perp[0],pointx[0]],[x_perp[1],pointx[1]],'g', ls='dashed')\n", "plot([pointx[0]],[pointx[1]],'bo') # arbitrary point x\n", "plot(x[:,0],x[:,1],'r') # decision surface\n", "myshow('x is the blue point, the decision surface is the red line, the perpendicular distance is the dashed green line')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "perpendicular distance r of the point x from the decision surface: 2.165064\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n1y6p6ZvIAjCJJCIygEkkEZFu7BNJRERERGXGJJKIiIiIyoxJJBERERGVGZNIIiIiIiozJpFERERE\nVGZMIomIiIiozJhEEhEREVGZMYkkIiIiojJjEklEREREZcYkkogs0pw5c+Dj44OAgAAMHDgQ6enp\ncodERGRWmEQSkUUKDQ3FhQsXcPbsWTRt2hTLli2TOyQiIrPCJJKILFJISAisrKQqMCgoCElJSTJH\nRERkXphEEpHF27x5M3r16iV3GEREZqWK3AEQEZWXkJAQ3L59u9j3S5cuRd++fQEAS5YsQdWqVTFy\n5MiKDo+IyKwphBBC7iCIiOSwdetWbNy4EUeOHEH16tV1zjN27Fh4eXlpPiuVSiiVyooJkKgQlUoF\nlUql+cyySHJjEklEFikmJgazZs3C0aNH4ezsLHc4RERmh0kkEVmkZ599Frm5uXB0dAQAtGnTBh9/\n/LHMURERmQ8mkURERERUZnw6m4iIiIjKjEkkEREREZUZk0giIiIiKjMmkURERERUZkwiiYiIiKjM\nmEQSERERUZkxiSQiIiKiMmMSSURERERl9v8A2Lyd4uDlxl4AAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 3 } ], "metadata": {} } ] }