Last active
February 27, 2019 00:39
-
-
Save shotahorii/f9e63661596a039374fe76d039f40558 to your computer and use it in GitHub Desktop.
Norm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### Norm (L1, L2 and L∞)\n", | |
| "- https://mathtrain.jp/lpnorm" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 19, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/latex": [ | |
| "ノルムとは、ベクトルの大きさを表す量のことである。<br>\n", | |
| "n次元ベクトル$$x=(x_1,x_2,...,x_n)$$を考える。一般に、$$1 \\leq p < \\infty$$ に対して、\n", | |
| "以下をxのLPノルムと呼び、$$||x||_p$$と書く。<br><br>\n", | |
| "$$||x||_p = \\sqrt[p]{|x_1|^p+|x_2|^p+...+|x_n|^p}$$" | |
| ], | |
| "text/plain": [ | |
| "<IPython.core.display.Latex object>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "%%latex\n", | |
| "ノルムとは、ベクトルの大きさを表す量のことである。<br>\n", | |
| "n次元ベクトル$$x=(x_1,x_2,...,x_n)$$を考える。一般に、$$1 \\leq p < \\infty$$ に対して、\n", | |
| "以下をxのLPノルムと呼び、$$||x||_p$$と書く。<br><br>\n", | |
| "$$||x||_p = \\sqrt[p]{|x_1|^p+|x_2|^p+...+|x_n|^p}$$" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "**L2ノルム**" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 24, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/latex": [ | |
| "特にpの表記無く$$||x||$$と記載される場合、一般にL2ノルムを指す。<br>\n", | |
| "これは普通の意味での\"長さ\"であり、ユークリッドノルムとも呼ばれる。<br><br>\n", | |
| "$$||x||_2 = \\sqrt{x_1^2+x_2^2+...+x_n^2}$$" | |
| ], | |
| "text/plain": [ | |
| "<IPython.core.display.Latex object>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "%%latex\n", | |
| "特にpの表記無く$$||x||$$と記載される場合、一般にL2ノルムを指す。<br>\n", | |
| "これは普通の意味での\"長さ\"であり、ユークリッドノルムとも呼ばれる。<br><br>\n", | |
| "$$||x||_2 = \\sqrt{x_1^2+x_2^2+...+x_n^2}$$" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "**L1ノルム**" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 26, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/latex": [ | |
| "L1ノルムは、各成分の絶対値の和である。ユークリッド距離に対して、こちらをマンハッタン距離という。<br><br>\n", | |
| "$$||x||_1 = |x_1|+|x_2|+...+|x_n|$$" | |
| ], | |
| "text/plain": [ | |
| "<IPython.core.display.Latex object>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "%%latex\n", | |
| "L1ノルムは、各成分の絶対値の和である。ユークリッド距離に対して、こちらをマンハッタン距離という。<br><br>\n", | |
| "$$||x||_1 = |x_1|+|x_2|+...+|x_n|$$" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "**L∞**" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 31, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/latex": [ | |
| "$$x_1$$ ~ $$x_n$$の中で、最も絶対値が大きいものの一つを$$x_k$$とする。\n", | |
| "するとpが十分大きい時、以下が成り立つ。<br><br>\n", | |
| "$$\\sqrt[p]{|x_1|^p+|x_2|^p+...+|x_n|^p} \\simeq |x_k|$$<br><br>\n", | |
| "そこで、L∞ノルムは絶対値最大の成分の絶対値と定義される。無限大ノルム,supノルムなどとも呼ばれる。" | |
| ], | |
| "text/plain": [ | |
| "<IPython.core.display.Latex object>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "%%latex\n", | |
| "$$x_1$$ ~ $$x_n$$の中で、最も絶対値が大きいものの一つを$$x_k$$とする。\n", | |
| "するとpが十分大きい時、以下が成り立つ。<br><br>\n", | |
| "$$\\sqrt[p]{|x_1|^p+|x_2|^p+...+|x_n|^p} \\simeq |x_k|$$<br><br>\n", | |
| "そこで、L∞ノルムは絶対値最大の成分の絶対値と定義される。無限大ノルム,supノルムなどとも呼ばれる。" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "**単位円の図示**" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 33, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/latex": [ | |
| "二次元ベクトルに対して$$||x||_p=1$$であるような領域(単位円)を図示する。\n", | |
| "pを1から徐々に増やしていくにつれて単位円はふくらんでいく。(n≥3でも同様)" | |
| ], | |
| "text/plain": [ | |
| "<IPython.core.display.Latex object>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "%%latex\n", | |
| "二次元ベクトルに対して$$||x||_p=1$$であるような領域(単位円)を図示する。\n", | |
| "pを1から徐々に増やしていくにつれて単位円はふくらんでいく。(n≥3でも同様)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 69, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "import math\n", | |
| "import numpy as np\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "%matplotlib inline" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 88, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "横軸が変数x_1、縦軸が変数x_2を表すとする。\n", | |
| "青がL1ノルム、緑がL2ノルム、赤がL∞ノルムの単位円である。\n" | |
| ] | |
| }, | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUkAAAFCCAYAAAB8TS9rAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmYVNW97vHvj3keZZ4FUUGioiAohpJERVEhgJFgNJhE\nIYp6EmMSY6Idk3uuGo8THhRyVTBAVJyYBEGloogMMgkyOzAKIjKP3fS6f3S1aZuq3dVde9fU7+d5\n6qFq16q1Vm9Wv7323quqzDmHiIhEVyHVHRARSWcKSRERDwpJEREPCkkREQ8KSRERDwpJEREPCkkR\nEQ8KSUkpM/vCzHaaWfUi235hZnNT2S+RQgpJSTVHwTj8ryjbS8XMzJceiRShkJR08HfgLjOrU/wJ\nM7vQzBaZ2R4zW2hmPYs8N9fM/mZm88zsENAusu2vZvaBmR0wsylm1sDMJpjZvkgdrZP5w0lmU0hK\nOvgICAN3F91oZvWB6cDjQEPgMWBGZHuhnwK/BGoDmyPbrgOuB5oDHYD5wLNAfWAtcH9AP4dkIYWk\npIv7gZFm1rDItn7AeufcJOdcvnPuRQpC7uoiZcY559ZGns+LbHveOfeFc+4AMBP41Dk31zmXD0wG\nzk3CzyNZQiEpacE59wkFs8Z7IpuMgpngpmJFNwEtijzeEqW6nUXuH4nyuFZCnZVyRSEp6SQHuJmC\nEHTANqBtsTKtI9sL6WOsJFAKSUkbzrlPgZeAOyKbZgKnmdkQM6toZtcBZwLTUtVHKX8UkpJqxWeC\nDwA1AOec+wa4Cvgt8HXk337OuT0xXhtrm0iZWaIfumtmLYEXgCZAPvAP59yTUco9CVwBHAKGOeeW\nJ9SwiEgSVPKhjjzgN8655WZWC1hiZrOdc2sLC5jZFUB759xpZnYB8AzQw4e2RUQClfDhtnNuR+Gs\n0Dl3EFjDd68+AvSnYLaJc24hUNfMmiTatohI0Hw9J2lmbYFzgIXFnmrBd5dqbOPkIBURSTu+hWTk\nUPsV4M7IjFJEJOP5cU4SM6tEQUD+0zk3JUqRbUCrIo9b8t21bkXr0tVJEQmEc67UH4Li10zyOWC1\nc+6JGM9PBW4EMLMewF7n3M4YZXHOpfx2//33p7wP6ov3LV3GSrrtF/Ul+q2sEp5JmtlFFHyYwEoz\nW0bBOrU/Am0KxrAb65x708yuNLONFCwBuinRdkVEkiHhkHTOfQBUjKPcyETbEhFJNr3jJoZQKJTq\nLnxLfUl/6bRf1Bd/JfyOG7+ZmUu3Pkl6MrOEzjVJ+RIZLym7cCMikpUUkiIiHhSSIiIeFJIiIh4U\nkiIiHhSSIiIeFJIiIh4UkiIiHhSSIiIeFJIiIh4UkiIiHhSSIiIeFJIiIh4UkiIiHhSSIiIeFJIi\nIh4UkiIiHhSSIiIeFJIiIh4UkiIiHhSSIiIeFJIiIh4UkiIiHhSSIiIefAlJM3vWzHaa2ccxnu9t\nZnvNbGnk9ic/2hURCVoln+p5HhgFvOBR5j3n3DU+tScikhS+zCSdc/OAPSUUMz/aEhFJpmSek+xp\nZsvNbIaZdUpiuyIiZebX4XZJlgCtnXOHzewK4A2gY5LaFhEps6SEpHPuYJH7M81stJk1cM59E618\nTk7Ot/dDoRChUCjwPopIdgmHw4TD4YTrMedc4r0BzKwtMM051yXKc02cczsj97sDLzvn2saox/nV\nJ8luZobGisQrMl5KfW3El5mkmU0CQkBDM9sM3A9UAZxzbiww2Mx+BeQCR4Dr/GhXRCRovs0k/aKZ\npMRLM0kpjbLOJPWOGxERDwpJEREPCkkREQ8KSRERDwpJEREPCkkREQ8KSRERDwpJEREPCkkREQ8K\nSRERDwpJEREPCkkREQ8KSRERDwpJEREPCkkREQ8KSRERDwpJEREPCkkREQ8KSRERDwpJEREPCkkR\nEQ8KSRERDwpJEREPCkkREQ8KSRERDwpJEREPvoSkmT1rZjvN7GOPMk+a2QYzW25m5/jRrohI0Pya\nST4PXB7rSTO7AmjvnDsNGA4841O7IiKB8iUknXPzgD0eRfoDL0TKLgTqmlkTP9oWEQlSss5JtgC2\nFHm8LbJNpEzy8wFqpLobUg5USnUHRArl5efx2Z7P2LB7A5/t+Ywt+7ew/cB2vjr0FbuP7Gbf0X0c\nyj3Esbxj7Dt0BP6UR/0H61O1UlVqVqlJnap1aFC9AY1rNqZZrWa0qtOKdvXb0aFBBzo06EC1StVS\n/SNKBkpWSG4DWhV53DKyLaqcnJxv74dCIUKhUFD9ygxmqe5BUlQCOkZu8dsbSF8ynnOp7kHKhcNh\nwuFwwvWY82lnmllbYJpzrkuU564EbnPO9TOzHsDjzrkeMepxfvUpa5hl/KB3zrF612pmbZzFnM/m\nMH/LfFrXbU3Plj3p1qIbXZt1pVOjTtSoHPsQ2jkYORKWLoVZs6BevcoMHpzL4cPw2mtQtWrs9o+f\n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\nO8lk4XCYcDiccD1+Hm7/1jm3JMpzFYF1FFy4+RJYBPzEObcmRl2aSUpcEv36BilfUvLJ5GY2wMy2\nAD2A6WY2M7K9mZlNB3DOnQBGArOBT4AXYwWkiEi60WJyyViaSUpp6DtuREQCoJAUEfGgkBQR8aCQ\nFBHxoJAUEfGgkBQR8aCQFBHxoJAUEfGgkBQR8aCQFBHxoJAUEfGgkBQR8aCQFBHxoJAUEfGgkBQR\n8aCQFBHxoJAUEfGgkBQR8aCQFBHxoJAUEfGgkBQR8aCQFBHxoJAUEfGgkBQR8aCQFBHxoJAUEfGQ\nUEia2WAzW2VmJ8ysq0e5L8xshZktM7NFibQpIpJMlRJ8/UrgR8CYEsrlAyHn3J4E2xMRSaqEQtI5\ntw7AzKyEooYO7UUkAyUruBwwx8wWm9nNSWpTRCRhJc4kzWwO0KToJgpC717n3LQ427nIOfelmTWi\nICzXOOfmlb67IiLJVWJIOucuTbQR59yXkX93mdnrQHcgZkjm5OR8ez8UChEKhRLtgoiUM+FwmHA4\nnHA95pxLvBKzucBvnXNLojxXA6jgnDtoZjWB2cBfnHOzY9Tl/OiTZD8zQ2NF4hUZLyVdPzlJokuA\nBpjZFqAHMN3MZka2NzOz6ZFiTYB5ZrYMWABMixWQIiLpxpeZpJ80k5R4aSYppZGSmaSISLZTSIqI\neFBIioh4UEiKiHhQSIqIeFBIioh4UEiKiHhQSIqIeFBIioh4UEiKiHhQSIqIeFBIioh4UEiKiHhQ\nSIqIeFBIioh4UEiKiHhQSIqIeFBIioh4UEiKiHhQSIqIeFBIioh4UEiKiHhQSIqIeFBIioh4UEiK\niHhQSIqIeEgoJM3sYTNbY2bLzexVM6sTo1xfM1trZuvN7PeJtCkikkyJziRnA52dc+cAG4B7ihcw\nswrAU8DlQGfgJ2Z2RoLtBi4cDqe6C99SX9JfOu0X9cVfCYWkc+5t51x+5OECoGWUYt2BDc65Tc65\nXOBFoH8i7SZDOv3nqi/pL532i/riLz/PSf4cmBllewtgS5HHWyPbRETSXqWSCpjZHKBJ0U2AA+51\nzk2LlLkXyHXOTQqklyIiKWLOucQqMBsG3Az0cc4di/J8DyDHOdc38vgPgHPOPRSjvsQ6JCISg3PO\nSvuaEmeSXsysL3A38P1oARmxGOhgZm2AL4EhwE9i1VmWH0JEJCiJnpMcBdQC5pjZUjMbDWBmzcxs\nOoBz7gQwkoIr4Z8ALzrn1iTYrohIUiR8uC0iks1S+o6bdFqMbmaDzWyVmZ0ws64e5b4wsxVmtszM\nFqW4L8nYL/XNbLaZrTOzt8ysboxyge2XeH5OM3vSzDZExtI5frZfmr6YWW8z2xs5slpqZn8KqB/P\nmtlOM/vYo0yy9olnX5K4T1qa2btm9omZrTSzO2KUK91+cc6l7Ab8EKgQuf8g8H+jlKkAbATaAJWB\n5cAZAfTldOA04F2gq0e5z4D6Ae+XEvuSxP3yEPC7yP3fAw8mc7/E83MCVwAzIvcvABYE9P8ST196\nA1ODHB+RdnoB5wAfx3g+Kfskzr4ka580Bc6J3K8FrPNjrKR0JunSaDG6c26dc24DBUucvBgBz8Dj\n7EuyFun3B8ZH7o8HBsQoF9R+iefn7A+8AOCcWwjUNbMm+C/efR74xUfn3Dxgj0eRZO2TePoCydkn\nO5xzyyP3DwJrOHlNdqn3Szp9wEWmLEZ3FFyoWmxmN6ewH8naL42dczuhYBACjWOUC2q/xPNzFi+z\nLUqZZPUFoGfkUG6GmXUKoB/xSNY+iVdS94mZtaVgdruw2FOl3i8JLQGKRzotRo+nL3G4yDn3pZk1\noiAU1kT+kqaiL77w6Eu0c0exrvT5sl+ywBKgtXPusJldAbwBdExxn1ItqfvEzGoBrwB3RmaUCQk8\nJJ1zl3o9H1mMfiXQJ0aRbUDrIo9bRrb53pc46/gy8u8uM3udgkOwUoeBD31Jyn6JnJBv4pzbaWZN\nga9i1OHLfokinp9zG9CqhDJ+KLEvRX8pnXMzzWy0mTVwzn0TQH+8JGuflCiZ+8TMKlEQkP90zk2J\nUqTU+yXVV7cLF6Nf4+JYjG5mVShYjD416K5F3WhWI/JXCjOrCVwGrEpFX0jefpkKDIvc/xlw0sAL\neL/E83NOBW6MtN8D2Ft4isBnJfal6PktM+tOwTK7oALSiD0+krVPSuxLkvfJc8Bq59wTMZ4v/X4J\n+opTCVejNgCbgKWR2+jI9mbA9CLl+lJwpWoD8IeA+jKAgnMVRyh4Z9DM4n0B2lFwRXMZsDKVfUni\nfmkAvB1pZzZQL9n7JdrPCQwHbilS5ikKrjyvwGN1QtB9AW6j4A/EMmA+cEFA/ZgEbAeOAZuBm1K4\nTzz7ksR9chFwoshYXBr5/0pov2gxuYiIh3S6ui0iknYUkiIiHhSSIiIeFJIiIh4UkiIiHhSSIiIe\nFJIiIh4UkiIiHv4/tBvb8/B5meMAAAAASUVORK5CYII=\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x1089b5a90>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "print(\"横軸が変数x_1、縦軸が変数x_2を表すとする。\")\n", | |
| "print(\"青がL1ノルム、緑がL2ノルム、赤がL∞ノルムの単位円である。\")\n", | |
| "fig, ax = plt.subplots(1,1,figsize=(5,5))\n", | |
| "ax.set_title('Norm')\n", | |
| "# set lim\n", | |
| "xlim = ax.set_xlim(-2,2)\n", | |
| "ylim = ax.set_ylim(-2,2)\n", | |
| "# draw axis\n", | |
| "x_axis = ax.plot(np.linspace(-2, 2), [0]*50, c='black')\n", | |
| "y_axis = ax.plot([0]*50, np.linspace(-2, 2), c='black')\n", | |
| "# x range\n", | |
| "x_p = np.linspace(0, 1) \n", | |
| "x_m = np.linspace(-1, 0) \n", | |
| "# draw L1 Norm = 1 area\n", | |
| "plot1 = ax.plot(x_p,1-x_p,c='b')\n", | |
| "plot2 = ax.plot(x_p,-1+x_p,c='b')\n", | |
| "plot3 = ax.plot(x_m,1+x_m,c='b')\n", | |
| "plot4 = ax.plot(x_m,-1-x_m,c='b')\n", | |
| "# draw L2 Norm = 1 area\n", | |
| "y1 = list(map(lambda x: math.sqrt(1-x**2),x_p))\n", | |
| "y2 = list(map(lambda x: -math.sqrt(1-x**2),x_p))\n", | |
| "y3 = list(map(lambda x: math.sqrt(1-x**2),x_m))\n", | |
| "y4 = list(map(lambda x: -math.sqrt(1-x**2),x_m))\n", | |
| "plot5 = ax.plot(x_p,y1,c='g')\n", | |
| "plot6 = ax.plot(x_p,y2,c='g')\n", | |
| "plot7 = ax.plot(x_m,y3,c='g')\n", | |
| "plot8 = ax.plot(x_m,y4,c='g')\n", | |
| "# draw L∞ Norm = 1 area\n", | |
| "xrange = np.linspace(-1, 1)\n", | |
| "yrange = np.linspace(-1, 1)\n", | |
| "plot9 = ax.plot(xrange,[1]*50,c='r')\n", | |
| "plot10 = ax.plot(xrange,[-1]*50,c='r')\n", | |
| "plot11 = ax.plot([1]*50,yrange,c='r')\n", | |
| "plot12 = ax.plot([-1]*50,yrange,c='r')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python 3", | |
| "language": "python", | |
| "name": "python3" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 3 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython3", | |
| "version": "3.5.2" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 0 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment