{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Rank-1 Approximation" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import numpy as np\n", "import numpy.linalg as la\n", "import matplotlib.pyplot as pt" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "collapsed": false }, "outputs": [], "source": [ "np.random.seed(17)\n", "n = 10\n", "X = np.random.randn(2, n)\n", "\n", "X[1] = 0.7*X[0] + 0.2 * X[1]\n", "\n", "# uncomment this for a different data set\n", "#X[0] = 0.1 * X[0]" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pt.figure(figsize=(6,6))\n", "pt.gca().set_aspect(\"equal\")\n", "pt.xlim([-2, 2])\n", "pt.ylim([-2, 2])\n", "pt.grid()\n", "pt.plot(X[0], X[1], \"o\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now compute the SVD. Use `numpy.linalg.svd(..., full_matrices=False)`." ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false }, "outputs": [], "source": [ "U, sigma, VT = la.svd(X, full_matrices=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now find the vectors `u` and `v`:" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false }, "outputs": [], "source": [ "u = U[:, 0]\n", "v = VT[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now find `X1`:" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "collapsed": false }, "outputs": [], "source": [ "X1 = np.outer(u, v) * sigma[0]" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "pt.figure(figsize=(6,6))\n", "\n", "pt.arrow(0, 0, u[0], u[1], lw=3)\n", "\n", "pt.gca().set_aspect(\"equal\")\n", "pt.xlim([-2, 2])\n", "pt.ylim([-2, 2])\n", "pt.grid()\n", "\n", "pt.plot(X[0], X[1], \"ob\", label=\"X\")\n", "pt.plot(X1[0], X1[1], \"og\", label=\"X1\")\n", "pt.legend(loc=\"best\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Is this the same as least-squares data fitting?\n", "* Would least-squares data fitting deal with the second data set above?" ] } ], "metadata": {}, "nbformat": 4, "nbformat_minor": 0 }