{ "metadata": { "name": "", "signature": "sha256:91a282d85dd9dd16df5d572f0736c8a2a9c8b07d750764d3fd58bef6837df904" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Exercice 1 :\n", "\n", "Impl\u00e9menter une m\u00e9thode *grad_descent(J, dJ, rho, xinit, niter)* qui retourne un triplet *(xres, Js, xs)* correspondant respectivement\n", "\n", "- *xres* -> it\u00e9ration *niter* de l'algorithme de descente de gradient \u00e0 pas fixe *rho*\n", "- *Js* -> les *niter* valeurs de *J*\n", "- *xs* -> les *niter* it\u00e9rations\n", "\n", "On rappelle que\n", "$$ x_{k+1} = x_k - \\rho \\nabla J(x_k) $$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def grad_descent(J, dJ, rho, xinit, niter=50):\n", " xres = xinit.copy()\n", " Js = zeros((niter,1))\n", " xs = zeros((2,niter))\n", " for i in range(niter):\n", " xres = xres - rho * dJ(xres)\n", " Js[i] = J(xres)\n", " xs[:,i] = xres[:,0]\n", " return (xres, Js, xs)" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "On s'int\u00e9resse ici \u00e0 la minimisation de la fonction $J(x) = \\frac{1}{2} (x_0^2 + \\eta x_1^2)$\n", "\n", "Exercice 2 :\n", "\n", "Impl\u00e9meter deux fonctions anonymes retournant\n", "\n", "- La valeur $J(x)$\n", "- Le vecteur $\\nabla J(x)$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "eta = 10\n", "J = lambda x : ( x[0,0]**2 + eta*x[1,0]**2 ) / 2\n", "dJ = lambda x : array([[x[0,0]],[eta*x[1,0]]])" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Exercice 3 :\n", "\n", "Afficher les lignes de niveau de $J$ pour des valeurs de coordonn\u00e9es comprises entre -1/2 et +1/2.\n", "On s'aidera de la fonction *contourf*." ] }, { "cell_type": "code", "collapsed": false, "input": [ "t = linspace(-.5,.5,101)\n", "[u,v] = meshgrid(t,t);\n", "Jmesh = ( u * u + eta * v * v)\n", "contourf(u,v,Jmesh,35)" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Exercice 4 :\n", "\n", "Appliquer la m\u00e9thode du gradient \u00e0 pas constant \u00e0 la fonction $J$.\n", "Afficher d'une part l'\u00e9volution de la fonction objective et, d'autre part (bonus), les it\u00e9rations $x_k$ sur les lignes de niveau de $J$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "rho = 1.8 / eta\n", "(xres,Js,xs) = grad_descent(J,dJ,rho,randn(2,1),niter=20)\n", "subplot(121)\n", "plot(Js)\n", "subplot(122)\n", "contourf(u,v,Jmesh,35)\n", "plot(xs[0,:], xs[1,:], 'k.-')" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 4, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ceci est un test d'\u00e9quation:\n", "$$ z = \\frac{t}{t^2} $$\n", "Jolie equations $f^2$. En _italique_." ] }, { "cell_type": "code", "collapsed": false, "input": [ "for i in range(1,5):\n", "print(i);\n", "print(i+1);\n", "print('toto');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1\n", "2\n", "3\n", "4\n", "5\n", "toto\n" ] } ], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }