{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Basis Pursuit DeNoising\n", "=======================\n", "\n", "This example demonstrates the use of class [admm.bpdn.BPDN](http://sporco.rtfd.org/en/latest/modules/sporco.admm.bpdn.html#sporco.admm.bpdn.BPDN) to solve the Basis Pursuit DeNoising (BPDN) problem [[16]](http://sporco.rtfd.org/en/latest/zreferences.html#id16)\n", "\n", " $$\\mathrm{argmin}_\\mathbf{x} \\; (1/2) \\| D \\mathbf{x} - \\mathbf{s} \\|_2^2 + \\lambda \\| \\mathbf{x} \\|_1 \\;,$$\n", "\n", "where $D$ is the dictionary, $\\mathbf{x}$ is the sparse representation, and $\\mathbf{s}$ is the signal to be represented. In this example the BPDN problem is used to estimate the reference sparse representation that generated a signal from a noisy version of the signal." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from __future__ import print_function\n", "from builtins import input\n", "\n", "import numpy as np\n", "\n", "from sporco.admm import bpdn\n", "from sporco import util\n", "from sporco import plot\n", "plot.config_notebook_plotting()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Configure problem size, sparsity, and noise level." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "N = 512 # Signal size\n", "M = 4*N # Dictionary size\n", "L = 32 # Number of non-zero coefficients in generator\n", "sigma = 0.5 # Noise level" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Construct random dictionary, reference random sparse representation, and test signal consisting of the synthesis of the reference sparse representation with additive Gaussian noise." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Construct random dictionary and random sparse coefficients\n", "np.random.seed(12345)\n", "D = np.random.randn(N, M)\n", "x0 = np.zeros((M, 1))\n", "si = np.random.permutation(list(range(0, M-1)))\n", "x0[si[0:L]] = np.random.randn(L, 1)\n", "\n", "# Construct reference and noisy signal\n", "s0 = D.dot(x0)\n", "s = s0 + sigma*np.random.randn(N,1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Set BPDN solver class options." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [], "source": [ "opt = bpdn.BPDN.Options({'Verbose': False, 'MaxMainIter': 500,\n", " 'RelStopTol': 1e-3, 'AutoRho': {'RsdlTarget': 1.0}})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Select regularization parameter $\\lambda$ by evaluating the error in recovering the sparse representation over a logarithmicaly spaced grid. (The reference representation is assumed to be known, which is not realistic in a real application.) A function is defined that evalues the BPDN recovery error for a specified $\\lambda$, and this function is evaluated in parallel by [sporco.util.grid_search](http://sporco.rtfd.org/en/latest/modules/sporco.util.html#sporco.util.grid_search)." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Minimum β„“1 error: 2.69 at πœ† = 2.98e+01\n" ] } ], "source": [ "# Function computing reconstruction error at lmbda\n", "def evalerr(prm):\n", " lmbda = prm[0]\n", " b = bpdn.BPDN(D, s, lmbda, opt)\n", " x = b.solve()\n", " return np.sum(np.abs(x-x0))\n", "\n", "\n", "# Parallel evalution of error function on lmbda grid\n", "lrng = np.logspace(1, 2, 20)\n", "sprm, sfvl, fvmx, sidx = util.grid_search(evalerr, (lrng,))\n", "lmbda = sprm[0]\n", "\n", "print('Minimum β„“1 error: %5.2f at πœ† = %.2e' % (sfvl, lmbda))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once the best $\\lambda$ has been determined, run BPDN with verbose display of ADMM iteration statistics." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Itn Fnc DFid Regβ„“1 r s ρ \n", "----------------------------------------------------------------\n", " 0 2.27e+03 4.58e+02 6.10e+01 3.47e-01 2.80e+00 1.49e+03\n", " 1 1.90e+03 2.86e+02 5.42e+01 1.42e-01 8.98e-01 1.49e+03\n", " 2 1.70e+03 2.51e+02 4.87e+01 1.03e-01 7.33e-01 1.49e+03\n", " 3 1.56e+03 2.21e+02 4.50e+01 7.85e-02 6.49e-01 1.49e+03\n", " 4 1.45e+03 2.04e+02 4.20e+01 6.34e-02 5.98e-01 1.49e+03\n", " 5 1.36e+03 1.91e+02 3.94e+01 5.30e-02 5.63e-01 1.49e+03\n", " 6 1.29e+03 1.83e+02 3.71e+01 4.51e-02 5.36e-01 1.49e+03\n", " 7 1.22e+03 1.73e+02 3.52e+01 3.92e-02 5.14e-01 1.49e+03\n", " 8 1.16e+03 1.64e+02 3.36e+01 3.42e-02 4.91e-01 1.49e+03\n", " 9 1.11e+03 1.55e+02 3.22e+01 3.03e-02 4.71e-01 1.49e+03\n", " 10 9.59e+02 1.16e+02 2.83e+01 9.25e-02 4.47e-01 3.78e+02\n", " 11 8.71e+02 9.30e+01 2.61e+01 7.69e-02 4.07e-01 3.78e+02\n", " 12 8.37e+02 8.78e+01 2.52e+01 6.19e-02 3.24e-01 3.78e+02\n", " 13 8.35e+02 8.43e+01 2.52e+01 4.83e-02 1.93e-01 3.78e+02\n", " 14 8.33e+02 8.41e+01 2.52e+01 3.67e-02 9.92e-02 3.78e+02\n", " 15 8.26e+02 8.80e+01 2.48e+01 2.79e-02 9.31e-02 3.78e+02\n", " 16 8.21e+02 9.33e+01 2.45e+01 2.23e-02 9.21e-02 3.78e+02\n", " 17 8.21e+02 9.66e+01 2.43e+01 1.83e-02 7.11e-02 3.78e+02\n", " 18 8.20e+02 9.56e+01 2.44e+01 1.47e-02 4.47e-02 3.78e+02\n", " 19 8.20e+02 9.19e+01 2.44e+01 1.12e-02 3.46e-02 3.78e+02\n", " 20 8.20e+02 8.80e+01 2.46e+01 1.37e-02 2.80e-02 2.15e+02\n", " 21 8.20e+02 8.76e+01 2.46e+01 1.15e-02 1.67e-02 2.15e+02\n", " 22 8.19e+02 8.88e+01 2.45e+01 9.26e-03 1.60e-02 2.15e+02\n", " 23 8.19e+02 9.00e+01 2.45e+01 7.57e-03 1.62e-02 2.15e+02\n", " 24 8.19e+02 9.01e+01 2.45e+01 6.39e-03 1.24e-02 2.15e+02\n", " 25 8.19e+02 8.94e+01 2.45e+01 5.33e-03 1.01e-02 2.15e+02\n", " 26 8.19e+02 8.87e+01 2.45e+01 4.43e-03 9.05e-03 2.15e+02\n", " 27 8.19e+02 8.83e+01 2.45e+01 3.70e-03 7.64e-03 2.15e+02\n", " 28 8.19e+02 8.83e+01 2.45e+01 3.09e-03 6.30e-03 2.15e+02\n", " 29 8.19e+02 8.87e+01 2.45e+01 2.58e-03 5.55e-03 2.15e+02\n", " 30 8.19e+02 8.92e+01 2.45e+01 2.82e-03 4.72e-03 1.47e+02\n", " 31 8.19e+02 8.92e+01 2.45e+01 2.50e-03 2.88e-03 1.47e+02\n", " 32 8.19e+02 8.89e+01 2.45e+01 2.09e-03 2.67e-03 1.47e+02\n", " 33 8.19e+02 8.85e+01 2.45e+01 1.76e-03 3.15e-03 1.47e+02\n", " 34 8.19e+02 8.83e+01 2.45e+01 1.58e-03 2.61e-03 1.47e+02\n", " 35 8.19e+02 8.84e+01 2.45e+01 1.40e-03 2.00e-03 1.47e+02\n", " 36 8.19e+02 8.85e+01 2.45e+01 1.21e-03 1.81e-03 1.47e+02\n", " 37 8.19e+02 8.87e+01 2.45e+01 1.07e-03 1.66e-03 1.47e+02\n", " 38 8.19e+02 8.87e+01 2.45e+01 9.52e-04 1.46e-03 1.47e+02\n", " 39 8.19e+02 8.85e+01 2.45e+01 8.36e-04 1.37e-03 1.47e+02\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 40 8.19e+02 8.84e+01 2.45e+01 8.45e-04 1.18e-03 1.15e+02\n", " 41 8.19e+02 8.84e+01 2.45e+01 7.92e-04 8.23e-04 1.15e+02\n", "----------------------------------------------------------------\n", "BPDN solve time: 0.17s\n" ] } ], "source": [ "# Initialise and run BPDN object for best lmbda\n", "opt['Verbose'] = True\n", "b = bpdn.BPDN(D, s, lmbda, opt)\n", "x = b.solve()\n", "\n", "print(\"BPDN solve time: %.2fs\" % b.timer.elapsed('solve'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot comparison of reference and recovered representations." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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lmwEp+19wN2vjDoWkTCpRS4iEnNK5CIiMaeuFRGRmFOLXEQk5iIZNKt///4+ePDgKBYtIhJbc+bM2ejuA5q/HkkiHzx4MLNnz45i0SIisWVmza/SBdS1IiISe0rkIiIxp0QuIhJzukOQSJGor69n9erV7N69u+2JJVKVlZUMGjSIsrKyjKZXIhcpEqtXr6Znz54MHjyYfQeylHzi7mzatInVq1czZMiQjOZR14pIkdi9ezcHHHCAknieMzMOOOCAdu05ZZ3IzeywYND7RWa2wMyuzbZMEckNJfF4aO/nFEaLvAH4mrsfT/KWWf9uZieEUG7Ordu6m2kL10cdhohIVrJO5MG9CucGj7cDi9j3NlJ565L7Z/LZR3RhkkhnKS0tpaqqimHDhnHBBRdQU1OTdvrq6mrGjRvHqFGjmD59eidFGT+h9pGb2WBgFMmbEDR/72ozm21ms6urq8NcbIetqdkVdQgiRaVr167MmzePN998k379+jFlypS00z///PMcd9xx/POf/+S0005LO22TxsbGticqMKElcjPrQfLejdcFd2Xfh7s/6O5j3X3sgAH7DRUgIkVm/PjxrFmTvHXosmXLOOeccxgzZgynnXYaixcvZt68eXzzm9/k2Wefpaqqil27dvHcc88xfvx4Ro8ezWWXXUZtbS2QHPbjlltu4dRTT+V3v/td2uluvvlmRo8ezfDhw1m8eDEAtbW1fOpTn2L48OGMGDGCJ554AqDVcvJNKKcfmlkZyST+qLv/IYwyO8NZJbP5eOnzwIejDkWkU333/xawcO1+7a2snHBIL26+YGhG0zY2NvL888/zmc98BoCrr76aBx54gKOPPppZs2bxpS99iRdeeIFbbrmF2bNnc99997Fx40Zuu+02pk2bRvfu3fnhD3/IXXfdxU033QQkz71+5ZVX2LhxIxMnTmx1uv79+zN37lx++tOfcuedd/Lzn/+cW2+9ld69e/PGG28AsGXLljaXl0+yTuTBDXQfAha5+13Zh9R5flYeq3BFYm/Xrl1UVVWxcuVKxowZw1lnnUVtbS0zZ87kssvevz91XV3dfvO++uqrLFy4kFNOOQWAPXv2MH78+L3vf+xjH8touokTJwIwZswY/vCHZLtz2rRpPP7443un6du3L08//XTacvJJGC3yU0jexPYNM5sXvPZtd382hLJFJAcybTmHramP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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot.plot(np.hstack((x0, x)), title='Sparse representation',\n", " lgnd=['Reference', 'Reconstructed'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot lmbda error curve, functional value, residuals, and rho" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "its = b.getitstat()\n", "fig = plot.figure(figsize=(15, 10))\n", "plot.subplot(2, 2, 1)\n", "plot.plot(fvmx, x=lrng, ptyp='semilogx', xlbl='$\\lambda$',\n", " ylbl='Error', fig=fig)\n", "plot.subplot(2, 2, 2)\n", "plot.plot(its.ObjFun, xlbl='Iterations', ylbl='Functional', fig=fig)\n", "plot.subplot(2, 2, 3)\n", "plot.plot(np.vstack((its.PrimalRsdl, its.DualRsdl)).T,\n", " ptyp='semilogy', xlbl='Iterations', ylbl='Residual',\n", " lgnd=['Primal', 'Dual'], fig=fig)\n", "plot.subplot(2, 2, 4)\n", "plot.plot(its.Rho, xlbl='Iterations', ylbl='Penalty Parameter', fig=fig)\n", "fig.show()" ] } ], "metadata": { "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.7.6" } }, "nbformat": 4, "nbformat_minor": 4 }