Calcul I MTH1101 • Polytechnique Montréal • La méthode du gradient

La méthode du gradient : exercices corrigés de MTH1101 (Polytechnique)

Voici dix exercices corrigés sur la méthode du gradient, l'algorithme d'optimisation de la section 5.2 de Stewart, *Calcul à plusieurs variables* (« Optimisation sans contraintes, recherche linéaire et méthode du gradient »), que le cours MTH1101 de Polytechnique Montréal appuie sur les notes du professeur, après les extrema sans contrainte et avant les multiplicateurs de Lagrange. Le chapitre est évalué à l'examen final. On ne cherche plus le minimum en résolvant ∇f=0⃗\nabla f=\vec 0 : on part d'un point et on descend, x⃗k+1=x⃗k−tk∇f(x⃗k)\vec x_{k+1}=\vec x_{k}-t_{k}\nabla f(\vec x_{k}), comme le font les logiciels d'ingénierie et d'apprentissage automatique.

Le fil de la série : −∇f-\nabla f dit où la pente est la plus raide ICI, pas où se trouve le minimum. La méthode est donc un ALGORITHME qui corrige sa direction à chaque pas, et le pas tt se CHOISIT : trop grand, il fait remonter ou diverger ; exact, il impose un virage à angle droit, d'où le zigzag dans une vallée allongée.

Les pièges nommés en chemin : le signe moins oublié, un pas négatif qui trahit la mauvaise direction, la matrice des coefficients prise pour la hessienne (le pas doublé ne fait aucun progrès), une baisse au premier pas prise pour une preuve de convergence, un petit gradient pris pour la proximité du minimum, un point de selle pris pour un minimum. Tout se fait sans calculatrice, comme à l'examen, où le seul document permis est votre aide-mémoire d'une feuille recto verso : les fonctions sont choisies pour que les itérés tombent en fractions.

Faites chaque exercice au complet avant d'ouvrir la correction : c'est en cherchant qu'on apprend, pas en lisant la solution.

Série autocorrigée Tape tes réponses et vérifie-les question par question : la page te dit juste ou faux avant d'ouvrir la correction. Avec un compte, chaque bonne réponse du premier coup rapporte des points, et tes réponses justes restent remplies quand tu reviens.

Ce chapitre fait partie de Calcul I MTH1101, Polytechnique Montréal : exercices corrigés et fiches, chapitre par chapitre
Avant de commencer Fiche de révision : les pièges et la méthode de ce chapitre

Avant ce chapitre

Ces notions sont supposées acquises ici. Si le premier exercice résiste, le blocage vient presque toujours de l'une d'elles, pas du chapitre lui-même.

Remonter plus loin : la chaîne complète (8 chapitres) ↓

Le chemin de remédiation, du plus ancien au plus proche. Un élève qui reprend ce chapitre de zéro le reprend dans cet ordre.

  1. 1Les séries de Taylor et de Maclaurin
  2. 2L'erreur d'approximation de Taylor
  3. 3Les dérivées partielles
  4. 4Plan tangent et différentielle
  5. 5La dérivation en chaîne
  6. 6Gradient et dérivée directionnelle
  7. 7Approximation quadratique et Taylor à deux variables
  8. 8Extrema et optimisation sans contrainte

Rappel de cours

  • • ITÉRATION : x⃗k+1=x⃗k−tk∇f(x⃗k)\vec x_{k+1}=\vec x_{k}-t_{k}\nabla f(\vec x_{k}), avec tk>0t_{k}>0. La direction −∇f(x⃗k)-\nabla f(\vec x_{k}) est celle de plus forte descente, de taux −∥∇f(x⃗k)∥-\|\nabla f(\vec x_{k})\|.
  • • RECHERCHE LINÉAIRE EXACTE : tkt_{k} minimise φ(t)=f(x⃗k−t∇f(x⃗k))\varphi(t)=f\left(\vec x_{k}-t\nabla f(\vec x_{k})\right) pour t≥0t\geq 0 ; φ′(0)=−∥∇f(x⃗k)∥2<0\varphi'(0)=-\|\nabla f(\vec x_{k})\|^{2}<0.
  • • QUADRATIQUE f(x⃗)=12x⃗⋅Hx⃗−b⃗⋅x⃗+cf(\vec x)=\frac{1}{2}\vec x\cdot H\vec x-\vec b\cdot\vec x+c, HH la hessienne, g⃗=∇f(x⃗k)\vec g=\nabla f(\vec x_{k}) : tk=g⃗⋅g⃗g⃗⋅Hg⃗t_{k}=\dfrac{\vec g\cdot\vec g}{\vec g\cdot H\vec g}, et ff baisse de (g⃗⋅g⃗)22 g⃗⋅Hg⃗\dfrac{(\vec g\cdot\vec g)^{2}}{2\,\vec g\cdot H\vec g}.
  • • ORTHOGONALITÉ : en recherche exacte, ∇f(x⃗k+1)⋅∇f(x⃗k)=0\nabla f(\vec x_{k+1})\cdot\nabla f(\vec x_{k})=0 ; la droite de recherche est tangente à une courbe de niveau au point d'arrivée.
  • • PAS FIXE sur x2+κy2x^{2}+\kappa y^{2} : chaque coordonnée est multipliée par 1−2t1-2t et 1−2κt1-2\kappa t ; convergence si et seulement si 0<t<1κ0<t<\frac{1}{\kappa} (pour κ≥1\kappa\geq 1).
  • • ZIGZAG : sur x2+κy2x^{2}+\kappa y^{2} depuis (κ ;1)(\kappa\,;1), ff est multipliée par (κ−1κ+1)2\left(\frac{\kappa-1}{\kappa+1}\right)^{2} à chaque pas ; des cercles (κ=1\kappa=1) donnent le minimum en un pas.
  • • ARRÊT : ∥∇f(x⃗k)∥<ε\|\nabla f(\vec x_{k})\|<\varepsilon. On s'arrête en un point CRITIQUE, qui reste à classer, et un petit gradient ne garantit pas la proximité du minimum.

Partie A : les bases (/50)

Exercice 1 : La direction de plus forte descente, et le pas qui fait remonter

On cherche le minimum de f(x,y)=x2+4y2f(x,y)=x^{2}+4y^{2} par la méthode du gradient. Partant d'un point x⃗k\vec x_{k}, la méthode se déplace dans la direction −∇f(x⃗k)-\nabla f(\vec x_{k}) : x⃗k+1=x⃗k−t ∇f(x⃗k)\vec x_{k+1}=\vec x_{k}-t\,\nabla f(\vec x_{k}), où le nombre t>0t>0 s'appelle le PAS.

La figure donne les courbes de niveau f=2f=2, f=8f=8 et f=18f=18, et le point de départ P(2 ;1)P(2\,;1), qui est sur la courbe f=8f=8.

-5-4-3-2-112345-3-2-1123Pf = 2f = 8f = 18
  • a) Calculez ∇f(P)\nabla f(P) et sa norme, au centième.
  • b) Donnez le vecteur unitaire u⃗\vec u de plus forte descente en PP et la dérivée directionnelle Du⃗f(P)D_{\vec u}f(P), au centième. La direction −∇f(P)-\nabla f(P) pointe-t-elle vers le minimum (0 ;0)(0\,;0) ? Justifiez, puis dites ce que la figure montre.
  • c) Faites un pas avec t=110t=\frac{1}{10} : donnez x⃗1\vec x_{1} et f(x⃗1)f(\vec x_{1}).
  • d) Refaites ce pas avec t=12t=\frac{1}{2} et calculez f(x⃗1)f(\vec x_{1}). En étudiant φ(t)=f(P−t ∇f(P))\varphi(t)=f\left(P-t\,\nabla f(P)\right), trouvez tous les pas t>0t>0 qui font réellement descendre.

Tape tes réponses, la page te dit juste ou faux 0/10

a)
b)
c)
d)
Pas qui font descendre ;
Voir la correction

Réponses

  • a) ∇f(P)=(4 ;8)\nabla f(P)=(4\,;8), ∥∇f(P)∥=45≈8,94\|\nabla f(P)\|=4\sqrt{5}\approx 8{,}94
  • b) u⃗=−15(1 ;2)\vec u=-\frac{1}{\sqrt{5}}(1\,;2), Du⃗f(P)=−45≈−8,94D_{\vec u}f(P)=-4\sqrt{5}\approx -8{,}94 ; non, la droite de descente passe par (0 ;−3)(0\,;-3), pas par l'origine
  • c) x⃗1=(85 ;15)\vec x_{1}=\left(\frac{8}{5}\,;\frac{1}{5}\right), f(x⃗1)=6825=2,72f(\vec x_{1})=\frac{68}{25}=2{,}72
  • d) x⃗1=(0 ;−3)\vec x_{1}=(0\,;-3), f(x⃗1)=36>8f(\vec x_{1})=36>8 ; φ(t)=272t2−80t+8<8  ⟺  0<t<517\varphi(t)=272t^{2}-80t+8<8\iff 0<t<\frac{5}{17}

a) ∂f∂x=2x\frac{\partial f}{\partial x}=2x et ∂f∂y=8y\frac{\partial f}{\partial y}=8y, donc ∇f(P)=(4 ;8)\nabla f(P)=(4\,;8) et ∥∇f(P)∥=16+64=80=45≈8,94\|\nabla f(P)\|=\sqrt{16+64}=\sqrt{80}=4\sqrt{5}\approx 8{,}94. Le gradient a une composante en yy double de celle en xx alors que PP est deux fois plus loin de l'axe des ordonnées que de l'axe des abscisses : c'est le facteur 44 devant y2y^{2} qui rend la fonction quatre fois plus « raide » dans la direction yy.

b) La plus forte descente se fait dans la direction opposée au gradient : u⃗=−∇f(P)∥∇f(P)∥=−15(1 ;2)\vec u=-\dfrac{\nabla f(P)}{\|\nabla f(P)\|}=-\dfrac{1}{\sqrt{5}}(1\,;2), et le taux de variation y vaut Du⃗f(P)=∇f(P)⋅u⃗=−∥∇f(P)∥=−45≈−8,94D_{\vec u}f(P)=\nabla f(P)\cdot\vec u=-\|\nabla f(P)\|=-4\sqrt{5}\approx -8{,}94. Cette direction ne vise PAS le minimum. La droite de descente est (2−s ;1−2s)(2-s\,;1-2s) : elle coupe l'axe des ordonnées en s=2s=2, au point (0 ;−3)(0\,;-3), et ne passe jamais par l'origine, puisque 2−s=02-s=0 et 1−2s=01-2s=0 demandent deux valeurs de ss différentes. La direction vers le minimum serait (−2 ;−1)(-2\,;-1). Sur la figure, −∇f(P)-\nabla f(P) est perpendiculaire à la courbe de niveau f=8f=8 en PP (chapitre du gradient), et comme l'ellipse est aplatie, cette perpendiculaire plonge vers l'axe des abscisses au lieu de viser le centre. C'est tout le fil du chapitre : −∇f-\nabla f est la meilleure direction LOCALE, pas la bonne direction GLOBALE, et c'est pourquoi la méthode a besoin de plusieurs pas.

c) x⃗1=(2 ;1)−110(4 ;8)=(85 ;15)\vec x_{1}=(2\,;1)-\frac{1}{10}(4\,;8)=\left(\frac{8}{5}\,;\frac{1}{5}\right), et f(x⃗1)=6425+4×125=6825=2,72f(\vec x_{1})=\frac{64}{25}+4\times\frac{1}{25}=\frac{68}{25}=2{,}72. La valeur passe de 88 à 2,722{,}72 : le pas a fait descendre, et bien. Remarquez que x⃗1\vec x_{1} est déjà proche de l'axe des abscisses : la coordonnée yy, la plus pénalisée, a été corrigée en premier.

d) x⃗1=(2 ;1)−12(4 ;8)=(0 ;−3)\vec x_{1}=(2\,;1)-\frac{1}{2}(4\,;8)=(0\,;-3) et f(x⃗1)=36f(\vec x_{1})=36 : on a REMONTÉ de 88 à 3636, en partant pourtant dans la direction de plus forte descente. La dérivée directionnelle négative ne garantit la descente que pour un pas assez petit, parce qu'elle décrit ff AU POINT PP. Pour savoir jusqu'où on peut aller, on étudie la fonction d'une variable φ(t)=f(2−4t ;1−8t)=(2−4t)2+4(1−8t)2=272t2−80t+8\varphi(t)=f(2-4t\,;1-8t)=(2-4t)^{2}+4(1-8t)^{2}=272t^{2}-80t+8. Alors φ(t)<8  ⟺  272t2−80t<0  ⟺  8t(34t−10)<0  ⟺  0<t<517\varphi(t)<8\iff 272t^{2}-80t<0\iff 8t(34t-10)<0\iff 0<t<\frac{5}{17}, avec 517≈0,294\frac{5}{17}\approx 0{,}294. Le pas 110\frac{1}{10} est dans cet intervalle, le pas 12\frac{1}{2} en sort. φ\varphi est une parabole tournée vers le haut, de sommet t=534t=\frac{5}{34}, exactement au milieu de l'intervalle : un pas DEUX fois trop grand ramène au niveau de départ, un pas plus grand encore fait monter. Cette fonction φ\varphi est l'outil central du chapitre : la recherche linéaire exacte consiste à prendre son minimum.

Coche ici les exercices faits ou à revoir : un compte gratuit, sans mot de passe, retient tes coches et tes réponses justes d'une visite à l'autre, te dit quel chapitre attaquer ensuite et te permet de demander l'exercice qui te manque. Crée ton espace, un courriel suffit.

Exercice 2 : Une itération avec recherche linéaire exacte

Soit f(x,y)=x2−2xy+2y2−2x−2yf(x,y)=x^{2}-2xy+2y^{2}-2x-2y et le point de départ x⃗0=(0 ;1)\vec x_{0}=(0\,;1).

Une itération de la méthode du gradient avec RECHERCHE LINÉAIRE EXACTE choisit le pas t0t_{0} qui minimise la fonction d'une variable φ(t)=f(x⃗0−t ∇f(x⃗0))\varphi(t)=f\left(\vec x_{0}-t\,\nabla f(\vec x_{0})\right) pour t≥0t\geq 0, puis pose x⃗1=x⃗0−t0 ∇f(x⃗0)\vec x_{1}=\vec x_{0}-t_{0}\,\nabla f(\vec x_{0}).

  • a) Calculez ∇f(x,y)\nabla f(x,y), puis ∇f(x⃗0)\nabla f(\vec x_{0}) et f(x⃗0)f(\vec x_{0}).
  • b) Écrivez φ(t)\varphi(t) sous forme développée et déterminez le pas optimal t0t_{0}. Justifiez qu'il s'agit bien d'un minimum.
  • c) Donnez x⃗1\vec x_{1} et f(x⃗1)f(\vec x_{1}), puis calculez le produit scalaire ∇f(x⃗0)⋅∇f(x⃗1)\nabla f(\vec x_{0})\cdot\nabla f(\vec x_{1}).
  • d) Un élève écrit x⃗0+t ∇f(x⃗0)\vec x_{0}+t\,\nabla f(\vec x_{0}) au lieu de x⃗0−t ∇f(x⃗0)\vec x_{0}-t\,\nabla f(\vec x_{0}), minimise sa fonction de tt et trouve t=−14t=-\frac{1}{4}. Que s'est-il passé, et à quel point arrive-t-il s'il garde ce tt ?
  • e) Trouvez le minimum exact x⃗∗\vec x^{*} de ff en résolvant ∇f=0⃗\nabla f=\vec 0, et la valeur f∗f^{*}. Par quel facteur l'écart f−f∗f-f^{*} a-t-il été multiplié en une itération ?

Tape tes réponses, la page te dit juste ou faux 0/13

a)
b)
c)
d)
e)
Voir la correction

Réponses

  • a) ∇f=(2x−2y−2 ;−2x+4y−2)\nabla f=(2x-2y-2\,;-2x+4y-2), ∇f(x⃗0)=(−4 ;2)\nabla f(\vec x_{0})=(-4\,;2), f(x⃗0)=0f(\vec x_{0})=0
  • b) φ(t)=40t2−20t\varphi(t)=40t^{2}-20t, t0=14t_{0}=\frac{1}{4} (φ′′=80>0\varphi''=80>0)
  • c) x⃗1=(1 ;12)\vec x_{1}=\left(1\,;\frac{1}{2}\right), f(x⃗1)=−52f(\vec x_{1})=-\frac{5}{2}, ∇f(x⃗1)=(−1 ;−2)\nabla f(\vec x_{1})=(-1\,;-2), produit scalaire 00
  • d) Il a suivi +∇f+\nabla f, la montée ; t=−14t=-\frac{1}{4} redonne le même point (1 ;12)\left(1\,;\frac{1}{2}\right)
  • e) x⃗∗=(3 ;2)\vec x^{*}=(3\,;2), f∗=−5f^{*}=-5 ; l'écart passe de 55 à 52\frac{5}{2}, facteur 12\frac{1}{2}

a) ∂f∂x=2x−2y−2\frac{\partial f}{\partial x}=2x-2y-2 et ∂f∂y=−2x+4y−2\frac{\partial f}{\partial y}=-2x+4y-2. En x⃗0=(0 ;1)\vec x_{0}=(0\,;1) : ∇f(x⃗0)=(0−2−2 ;0+4−2)=(−4 ;2)\nabla f(\vec x_{0})=(0-2-2\,;0+4-2)=(-4\,;2), et f(x⃗0)=2−2=0f(\vec x_{0})=2-2=0. La direction de descente est donc −∇f(x⃗0)=(4 ;−2)-\nabla f(\vec x_{0})=(4\,;-2) : on part vers la droite et vers le bas.

b) Le point courant de la droite de recherche est x⃗0−t ∇f(x⃗0)=(4t ;1−2t)\vec x_{0}-t\,\nabla f(\vec x_{0})=(4t\,;1-2t). On substitue : φ(t)=16t2−2(4t)(1−2t)+2(1−2t)2−8t−2(1−2t)\varphi(t)=16t^{2}-2(4t)(1-2t)+2(1-2t)^{2}-8t-2(1-2t), soit 16t2−8t+16t2+2−8t+8t2−8t−2+4t=40t2−20t16t^{2}-8t+16t^{2}+2-8t+8t^{2}-8t-2+4t=40t^{2}-20t. Alors φ′(t)=80t−20\varphi'(t)=80t-20 s'annule en t0=14t_{0}=\frac{1}{4}, et φ′′(t)=80>0\varphi''(t)=80>0 : c'est le minimum de la parabole, donc le minimum de φ\varphi sur [0 ;+∞[[0\,;+\infty[. Contrôle utile : φ(0)=0=f(x⃗0)\varphi(0)=0=f(\vec x_{0}), et φ′(0)=−20=−∥∇f(x⃗0)∥2\varphi'(0)=-20=-\|\nabla f(\vec x_{0})\|^{2}, négatif comme il se doit en direction de descente. Le piège de ce calcul est purement algébrique : un signe perdu dans −2(4t)(1−2t)-2(4t)(1-2t) déplace le sommet, et toute la suite est fausse. Développez lentement.

c) x⃗1=(0 ;1)−14(−4 ;2)=(1 ;12)\vec x_{1}=(0\,;1)-\frac{1}{4}(-4\,;2)=\left(1\,;\frac{1}{2}\right) et f(x⃗1)=φ(14)=4016−5=−52f(\vec x_{1})=\varphi\left(\frac{1}{4}\right)=\frac{40}{16}-5=-\frac{5}{2} ; on recalcule directement : 1−1+12−2−1=−521-1+\frac{1}{2}-2-1=-\frac{5}{2}. Puis ∇f(x⃗1)=(2−1−2 ;−2+2−2)=(−1 ;−2)\nabla f(\vec x_{1})=\left(2-1-2\,;-2+2-2\right)=(-1\,;-2) et ∇f(x⃗0)⋅∇f(x⃗1)=(−4)(−1)+(2)(−2)=0\nabla f(\vec x_{0})\cdot\nabla f(\vec x_{1})=(-4)(-1)+(2)(-2)=0. Les deux gradients sont ORTHOGONAUX : ce n'est pas une coïncidence, c'est la propriété de la recherche exacte, démontrée à l'exercice 5. Au point où l'on s'arrête, la droite de recherche est tangente à une courbe de niveau, donc le nouveau gradient lui est perpendiculaire, et le pas suivant tourne d'un angle droit.

d) Avec x⃗0+t ∇f(x⃗0)=(−4t ;1+2t)\vec x_{0}+t\,\nabla f(\vec x_{0})=(-4t\,;1+2t), la fonction devient 40t2+20t40t^{2}+20t, de minimum en t=−14t=-\frac{1}{4}. Un pas NÉGATIF est le signal d'alarme : l'élève a pris la direction de plus forte MONTÉE, et sa fonction de tt ne fait que monter pour t>0t>0. S'il garde t=−14t=-\frac{1}{4}, il arrive en (−4t ;1+2t)=(1 ;12)(-4t\,;1+2t)=\left(1\,;\frac{1}{2}\right), le même point : deux erreurs de signe se sont compensées. Sur une copie, ce n'est pas un calcul juste, c'est une méthode fausse ; le correcteur retire les points de la méthode. Retenez le contrôle : φ′(0)\varphi'(0) doit valoir −∥∇f∥2<0-\|\nabla f\|^{2}<0, et le pas optimal doit être positif.

e) ∇f=0⃗\nabla f=\vec 0 donne 2x−2y=22x-2y=2 et −2x+4y=2-2x+4y=2 ; en additionnant, 2y=42y=4, donc y=2y=2 et x=3x=3. La hessienne a fxx=2>0f_{xx}=2>0 et D=2×4−(−2)2=4>0D=2\times 4-(-2)^{2}=4>0 : c'est un minimum, et même le minimum global d'une quadratique à hessienne définie positive. f∗=f(3 ;2)=9−12+8−6−4=−5f^{*}=f(3\,;2)=9-12+8-6-4=-5. L'écart à l'optimum valait f(x⃗0)−f∗=5f(\vec x_{0})-f^{*}=5 et vaut −52+5=52-\frac{5}{2}+5=\frac{5}{2} après une itération : il a été divisé par 22. Une seconde itération, à partir de ∇f(x⃗1)=(−1 ;−2)\nabla f(\vec x_{1})=(-1\,;-2), donnerait le pas 12\frac{1}{2}, le point x⃗2=(32 ;32)\vec x_{2}=\left(\frac{3}{2}\,;\frac{3}{2}\right) et f(x⃗2)=−154f(\vec x_{2})=-\frac{15}{4} : l'écart vaut 54\frac{5}{4}, encore divisé par 22. La méthode s'approche du minimum sans jamais l'atteindre exactement, et c'est la comparaison avec f∗f^{*} qui mesure sa vitesse.

-11234567-112345x₀x₁x₂x*

Exercice 3 : Le pas optimal par la formule, et le facteur 2 de la hessienne

Pour une fonction quadratique dont la hessienne est HH, la recherche linéaire exacte a une formule : en notant g⃗=∇f(x⃗k)\vec g=\nabla f(\vec x_{k}), le pas optimal est tk=g⃗⋅g⃗g⃗⋅Hg⃗t_{k}=\dfrac{\vec g\cdot\vec g}{\vec g\cdot H\vec g} (on l'admet ici ; l'exercice 5 la démontre).

On l'applique à f(x,y)=x2+2xy+3y2f(x,y)=x^{2}+2xy+3y^{2}, dont le minimum est (0 ;0)(0\,;0), à partir de x⃗0=(3 ;0)\vec x_{0}=(3\,;0).

  • a) Écrivez la hessienne HH de ff sous forme de tableau 2×22\times 2.
  • b) Calculez ∇f(x⃗0)\nabla f(\vec x_{0}), le pas t0t_{0} par la formule, le point x⃗1\vec x_{1} et f(x⃗1)f(\vec x_{1}).
  • c) Un élève écrit f(x⃗)=x⃗⋅Ax⃗f(\vec x)=\vec x\cdot A\vec x avec A=(1113)A=\begin{pmatrix}1&1\\1&3\end{pmatrix}, et met AA à la place de HH dans la formule. Quel pas trouve-t-il, et que vaut ff au point où il arrive ? Expliquez le résultat avec la parabole φ\varphi.
  • d) Faites la deuxième itération : ∇f(x⃗1)\nabla f(\vec x_{1}), t1t_{1}, x⃗2\vec x_{2} et f(x⃗2)f(\vec x_{2}).
  • e) Comparez x⃗2\vec x_{2} à x⃗0\vec x_{0} et déduisez-en f(x⃗k)f(\vec x_{k}) pour tout kk. Après combien d'itérations a-t-on, pour la première fois, f(x⃗k)<10−4f(\vec x_{k})<10^{-4} ?

Tape tes réponses, la page te dit juste ou faux 0/14

a)
b)
c)
d)
e)
Voir la correction

Réponses

  • a) H=(2226)H=\begin{pmatrix}2&2\\2&6\end{pmatrix}
  • b) ∇f(x⃗0)=(6 ;6)\nabla f(\vec x_{0})=(6\,;6), t0=72432=16t_{0}=\frac{72}{432}=\frac{1}{6}, x⃗1=(2 ;−1)\vec x_{1}=(2\,;-1), f(x⃗1)=3f(\vec x_{1})=3
  • c) t=13t=\frac{1}{3}, double du bon ; il arrive en (1 ;−2)(1\,;-2) où f=9=f(x⃗0)f=9=f(\vec x_{0}) : aucun progrès
  • d) ∇f(x⃗1)=(2 ;−2)\nabla f(\vec x_{1})=(2\,;-2), t1=12t_{1}=\frac{1}{2}, x⃗2=(1 ;0)\vec x_{2}=(1\,;0), f(x⃗2)=1f(\vec x_{2})=1
  • e) x⃗2=13x⃗0\vec x_{2}=\frac{1}{3}\vec x_{0}, f(x⃗k)=93kf(\vec x_{k})=\frac{9}{3^{k}} ; f(x⃗k)<10−4f(\vec x_{k})<10^{-4} dès k=11k=11

a) fxx=2f_{xx}=2, fxy=fyx=2f_{xy}=f_{yx}=2 et fyy=6f_{yy}=6, donc H=(2226)H=\begin{pmatrix}2&2\\2&6\end{pmatrix}. Les coefficients de ff sont 11, 22 et 33 ; ceux de HH sont leurs dérivées secondes, ce qui DOUBLE les termes carrés (x2x^{2} donne 22, 3y23y^{2} donne 66) et garde le terme croisé (2xy2xy donne 22). C'est exactement l'endroit où la question c) va piéger.

b) ∇f=(2x+2y ;2x+6y)\nabla f=(2x+2y\,;2x+6y), donc ∇f(x⃗0)=(6 ;6)\nabla f(\vec x_{0})=(6\,;6). Puis g⃗⋅g⃗=72\vec g\cdot\vec g=72, Hg⃗=(12+12 ;12+36)=(24 ;48)H\vec g=(12+12\,;12+36)=(24\,;48) et g⃗⋅Hg⃗=144+288=432\vec g\cdot H\vec g=144+288=432, d'où t0=72432=16t_{0}=\frac{72}{432}=\frac{1}{6}. Alors x⃗1=(3 ;0)−16(6 ;6)=(2 ;−1)\vec x_{1}=(3\,;0)-\frac{1}{6}(6\,;6)=(2\,;-1) et f(x⃗1)=4−4+3=3f(\vec x_{1})=4-4+3=3. Contrôle par φ\varphi : φ(t)=f(3−6t ;−6t)=216t2−72t+9\varphi(t)=f(3-6t\,;-6t)=216t^{2}-72t+9, de sommet t=72432=16t=\frac{72}{432}=\frac{1}{6}, le même. La formule évite de développer φ\varphi, mais elle exige la vraie hessienne.

c) Avec AA : Ag⃗=(12 ;24)A\vec g=(12\,;24) et g⃗⋅Ag⃗=216\vec g\cdot A\vec g=216, d'où t=72216=13t=\frac{72}{216}=\frac{1}{3}, exactement le double du bon pas, puisque H=2AH=2A. Le point obtenu est (3 ;0)−13(6 ;6)=(1 ;−2)(3\,;0)-\frac{1}{3}(6\,;6)=(1\,;-2), et f(1 ;−2)=1−4+12=9f(1\,;-2)=1-4+12=9 : la valeur de DÉPART. Aucun progrès, ce qui s'explique sans calcul : φ\varphi est une parabole symétrique autour de son sommet t0t_{0}, donc φ(2t0)=φ(0)\varphi(2t_{0})=\varphi(0). Le pas doublé saute par-dessus la vallée et retombe à la même hauteur de l'autre côté. Avec un pas triplé, ff aurait augmenté. Retenez le geste : la formule s'écrit avec la hessienne, celle des DÉRIVÉES SECONDES, et f(x⃗)=12x⃗⋅Hx⃗f(\vec x)=\frac{1}{2}\vec x\cdot H\vec x, avec le facteur 12\frac{1}{2}.

d) ∇f(x⃗1)=(4−2 ;4−6)=(2 ;−2)\nabla f(\vec x_{1})=(4-2\,;4-6)=(2\,;-2), orthogonal à (6 ;6)(6\,;6) comme il se doit après une recherche exacte. g⃗⋅g⃗=8\vec g\cdot\vec g=8, Hg⃗=(4−4 ;4−12)=(0 ;−8)H\vec g=(4-4\,;4-12)=(0\,;-8), g⃗⋅Hg⃗=16\vec g\cdot H\vec g=16, d'où t1=816=12t_{1}=\frac{8}{16}=\frac{1}{2}. Alors x⃗2=(2 ;−1)−12(2 ;−2)=(1 ;0)\vec x_{2}=(2\,;-1)-\frac{1}{2}(2\,;-2)=(1\,;0) et f(x⃗2)=1f(\vec x_{2})=1. Le pas a changé d'une itération à l'autre (16\frac{1}{6} puis 12\frac{1}{2}) : la recherche exacte s'adapte à la courbure de ff dans chaque direction, c'est son avantage sur un pas fixe.

e) x⃗2=(1 ;0)=13x⃗0\vec x_{2}=(1\,;0)=\frac{1}{3}\vec x_{0}. Or ff n'a pas de terme du premier degré : si l'on multiplie le point par λ\lambda, le gradient est multiplié par λ\lambda et la formule du pas donne le MÊME pas. Les itérations à partir de x⃗2\vec x_{2} sont donc celles à partir de x⃗0\vec x_{0}, divisées par 33 : x⃗2k=x⃗03k\vec x_{2k}=\frac{\vec x_{0}}{3^{k}} et x⃗2k+1=x⃗13k\vec x_{2k+1}=\frac{\vec x_{1}}{3^{k}}. Comme f(λx⃗)=λ2f(x⃗)f(\lambda\vec x)=\lambda^{2}f(\vec x), on obtient f(x⃗2k)=99kf(\vec x_{2k})=\frac{9}{9^{k}} et f(x⃗2k+1)=39kf(\vec x_{2k+1})=\frac{3}{9^{k}}, soit dans les deux cas f(x⃗k)=93kf(\vec x_{k})=\frac{9}{3^{k}} : chaque itération divise ff par 33. Enfin 93k<10−4  ⟺  3k>90 000\frac{9}{3^{k}}<10^{-4}\iff 3^{k}>90\,000 ; or 310=59 0493^{10}=59\,049 et 311=177 1473^{11}=177\,147, donc k=11k=11. La méthode converge, mais à vitesse constante : un facteur 33 par pas, onze pas pour gagner quatre décimales.

-4-3-2-11234-2,5-2-1,5-1-0,50,511,522,5x₀x₁pas doublé

Exercice 4 : Le pas fixe : quand la méthode diverge

Pour éviter une recherche linéaire à chaque itération, on peut garder un PAS FIXE t>0t>0 : x⃗k+1=x⃗k−t ∇f(x⃗k)\vec x_{k+1}=\vec x_{k}-t\,\nabla f(\vec x_{k}) pour tout kk. On étudie ce choix sur f(x,y)=x2+5y2f(x,y)=x^{2}+5y^{2}, de minimum (0 ;0)(0\,;0), en notant x⃗k=(xk ;yk)\vec x_{k}=(x_{k}\,;y_{k}).

  • a) Montrez que xk+1=(1−2t) xkx_{k+1}=(1-2t)\,x_{k} et yk+1=(1−10t) yky_{k+1}=(1-10t)\,y_{k}. Donnez les deux facteurs pour t=14t=\frac{1}{4}.
  • b) Avec t=14t=\frac{1}{4} et x⃗0=(5 ;1)\vec x_{0}=(5\,;1), calculez f(x⃗0)f(\vec x_{0}), f(x⃗1)f(\vec x_{1}) et f(x⃗2)f(\vec x_{2}). Le fait que ff ait diminué au premier pas prouve-t-il que la suite converge ?
  • c) Pour quelles valeurs de tt la suite converge-t-elle vers (0 ;0)(0\,;0) quel que soit le point de départ ?
  • d) Le pas fixe le plus rapide est celui qui rend le plus petit possible le plus grand des deux facteurs ∣1−2t∣|1-2t| et ∣1−10t∣|1-10t|. Trouvez-le et donnez ce facteur.
  • e) Avec ce pas, montrez que ∥x⃗k∥\|\vec x_{k}\| est multiplié par ce facteur à chaque itération, et trouvez le plus petit kk pour lequel la distance au minimum est divisée par au moins 100100.

Tape tes réponses, la page te dit juste ou faux 0/9

a)
b)
c)
Valeurs de tt ;
d)
e)
Voir la correction

Réponses

  • a) ∇f=(2x ;10y)\nabla f=(2x\,;10y) ; pour t=14t=\frac{1}{4} : facteurs 12\frac{1}{2} et −32-\frac{3}{2}
  • b) f(x⃗0)=30f(\vec x_{0})=30, f(x⃗1)=352f(\vec x_{1})=\frac{35}{2}, f(x⃗2)=2158f(\vec x_{2})=\frac{215}{8} ; non, yk=(−32)ky_{k}=\left(-\frac{3}{2}\right)^{k} diverge
  • c) ∣1−2t∣<1|1-2t|<1 et ∣1−10t∣<1|1-10t|<1, soit 0<t<150<t<\frac{1}{5}
  • d) 1−2t=10t−11-2t=10t-1, t=16t=\frac{1}{6}, facteur 23\frac{2}{3}
  • e) ∥x⃗k∥=(23)k∥x⃗0∥\|\vec x_{k}\|=\left(\frac{2}{3}\right)^{k}\|\vec x_{0}\| ; (32)12≈129,7>100\left(\frac{3}{2}\right)^{12}\approx 129{,}7>100, donc k=12k=12

a) ∇f(x,y)=(2x ;10y)\nabla f(x,y)=(2x\,;10y), donc xk+1=xk−2t xk=(1−2t) xkx_{k+1}=x_{k}-2t\,x_{k}=(1-2t)\,x_{k} et yk+1=yk−10t yk=(1−10t) yky_{k+1}=y_{k}-10t\,y_{k}=(1-10t)\,y_{k}. Les deux coordonnées évoluent SÉPARÉMENT, chacune multipliée à chaque pas par un facteur constant, d'où xk=(1−2t)kx0x_{k}=(1-2t)^{k}x_{0} et yk=(1−10t)ky0y_{k}=(1-10t)^{k}y_{0}. Pour t=14t=\frac{1}{4} : 1−12=121-\frac{1}{2}=\frac{1}{2} et 1−104=−321-\frac{10}{4}=-\frac{3}{2}. Le facteur en yy est plus grand que 11 en valeur absolue : c'est déjà la réponse à la question suivante.

b) f(x⃗0)=25+5=30f(\vec x_{0})=25+5=30. x⃗1=(52 ;−32)\vec x_{1}=\left(\frac{5}{2}\,;-\frac{3}{2}\right) et f(x⃗1)=254+454=352=17,5f(\vec x_{1})=\frac{25}{4}+\frac{45}{4}=\frac{35}{2}=17{,}5. x⃗2=(54 ;94)\vec x_{2}=\left(\frac{5}{4}\,;\frac{9}{4}\right) et f(x⃗2)=2516+40516=2158=26,875f(\vec x_{2})=\frac{25}{16}+\frac{405}{16}=\frac{215}{8}=26{,}875. La valeur a baissé puis REMONTÉ. Le premier pas a trompé : il a beaucoup gagné sur xx, qui pesait 2525 dans f(x⃗0)f(\vec x_{0}), et perdu sur yy, qui ne pesait que 55. Mais yk=(−32)ky_{k}=\left(-\frac{3}{2}\right)^{k} change de signe et grandit à chaque pas : les itérés sautent d'un bord de la vallée à l'autre, toujours plus haut, et f(x⃗k)→+∞f(\vec x_{k})\to+\infty. Une baisse au premier pas ne prouve RIEN ; c'est le facteur de chaque coordonnée qui décide.

c) xk→0x_{k}\to 0 pour tout x0x_{0} si et seulement si ∣1−2t∣<1|1-2t|<1, soit 0<t<10<t<1 ; yk→0y_{k}\to 0 pour tout y0y_{0} si et seulement si ∣1−10t∣<1|1-10t|<1, soit 0<t<150<t<\frac{1}{5}. Il faut les DEUX, donc 0<t<150<t<\frac{1}{5}. La contrainte vient de la direction la plus courbée : la dérivée seconde fyy=10f_{yy}=10 impose t<210t<\frac{2}{10}. Plus la vallée est étroite dans une direction, plus le pas fixe doit être petit pour TOUTES les directions, y compris celles où l'on avancerait vite.

d) Pour 0<t<150<t<\frac{1}{5}, ∣1−2t∣=1−2t|1-2t|=1-2t décroît et ∣1−10t∣|1-10t| décroît jusqu'en 110\frac{1}{10} puis croît. Le plus grand des deux est minimal quand ils sont égaux, avec 1−10t<01-10t<0 : 1−2t=10t−11-2t=10t-1, d'où t=16t=\frac{1}{6}, et les deux facteurs valent 23\frac{2}{3} et −23-\frac{2}{3}. À gauche de 16\frac{1}{6}, la coordonnée xx est trop lente ; à droite, la coordonnée yy oscille trop fort. Même le meilleur pas fixe ne fait gagner qu'un facteur 23\frac{2}{3} par pas.

e) Avec t=16t=\frac{1}{6}, x⃗k+1=(23xk ;−23yk)\vec x_{k+1}=\left(\frac{2}{3}x_{k}\,;-\frac{2}{3}y_{k}\right), donc ∥x⃗k+1∥=23∥x⃗k∥\|\vec x_{k+1}\|=\frac{2}{3}\|\vec x_{k}\| et ∥x⃗k∥=(23)k∥x⃗0∥\|\vec x_{k}\|=\left(\frac{2}{3}\right)^{k}\|\vec x_{0}\|. On cherche (32)k≥100\left(\frac{3}{2}\right)^{k}\geq 100. À la main : (32)2=2,25\left(\frac{3}{2}\right)^{2}=2{,}25, (32)4≈5,06\left(\frac{3}{2}\right)^{4}\approx 5{,}06, (32)8≈25,6\left(\frac{3}{2}\right)^{8}\approx 25{,}6, (32)12≈25,6×5,06≈129,7\left(\frac{3}{2}\right)^{12}\approx 25{,}6\times 5{,}06\approx 129{,}7 et (32)11≈86,5\left(\frac{3}{2}\right)^{11}\approx 86{,}5. Donc k=12k=12. Douze itérations pour deux décimales, sur une fonction de deux variables : c'est le prix du pas fixe, et la raison pour laquelle on règle le pas sur la direction la plus courbée.

-1123456-4-3-2-1123x₀x₁x₂x₃

Exercice 5 : Démontrer : gradients successifs orthogonaux et formule du pas

Soit ff une fonction de deux variables dont les dérivées partielles sont continues, x⃗k\vec x_{k} un point où g⃗k=∇f(x⃗k)≠0⃗\vec g_{k}=\nabla f(\vec x_{k})\neq\vec 0, et φ(t)=f(x⃗k−t g⃗k)\varphi(t)=f\left(\vec x_{k}-t\,\vec g_{k}\right). La recherche linéaire exacte prend pour tk>0t_{k}>0 le minimum de φ\varphi, et x⃗k+1=x⃗k−tkg⃗k\vec x_{k+1}=\vec x_{k}-t_{k}\vec g_{k}.

  • a) Par la dérivation en chaîne, montrez que φ′(t)=−∇f(x⃗k−t g⃗k)⋅g⃗k\varphi'(t)=-\nabla f\left(\vec x_{k}-t\,\vec g_{k}\right)\cdot\vec g_{k}. Que vaut φ′(0)\varphi'(0) ? Application : g⃗k=(1 ;−2)\vec g_{k}=(1\,;-2).
  • b) Déduisez-en que ∇f(x⃗k+1)⋅∇f(x⃗k)=0\nabla f(\vec x_{k+1})\cdot\nabla f(\vec x_{k})=0. Interprétez avec les courbes de niveau : où le pas s'arrête-t-il ?
  • c) On suppose f(x⃗)=12x⃗⋅Hx⃗−b⃗⋅x⃗+cf(\vec x)=\frac{1}{2}\vec x\cdot H\vec x-\vec b\cdot\vec x+c, de gradient Hx⃗−b⃗H\vec x-\vec b. Montrez que φ(t)=f(x⃗k)−t g⃗k⋅g⃗k+t22 g⃗k⋅Hg⃗k\varphi(t)=f(\vec x_{k})-t\,\vec g_{k}\cdot\vec g_{k}+\frac{t^{2}}{2}\,\vec g_{k}\cdot H\vec g_{k}, puis donnez tkt_{k} et la baisse f(x⃗k)−f(x⃗k+1)f(\vec x_{k})-f(\vec x_{k+1}). Application : H=(4112)H=\begin{pmatrix}4&1\\1&2\end{pmatrix} et g⃗k=(1 ;−2)\vec g_{k}=(1\,;-2).
  • d) Pourquoi a-t-on g⃗⋅Hg⃗>0\vec g\cdot H\vec g>0 pour tout g⃗≠0⃗\vec g\neq\vec 0 avec cette matrice HH ? Que se passerait-il pour φ\varphi sinon ?
  • e) Dans le plan, comparez la direction de g⃗k+2\vec g_{k+2} à celle de g⃗k\vec g_{k}. Qu'en déduit-on pour le trajet des itérés ?

Tape tes réponses, la page te dit juste ou faux 0/7

a)
b)
c)
d)
e)
Voir la correction

Réponses

  • a) φ′(0)=−∥g⃗k∥2<0\varphi'(0)=-\|\vec g_{k}\|^{2}<0 ; ici φ′(0)=−5\varphi'(0)=-5
  • b) φ′(tk)=0\varphi'(t_{k})=0 donne g⃗k+1⋅g⃗k=0\vec g_{k+1}\cdot\vec g_{k}=0 ; le pas s'arrête où la droite de recherche est tangente à une courbe de niveau
  • c) tk=g⃗⋅g⃗g⃗⋅Hg⃗t_{k}=\frac{\vec g\cdot\vec g}{\vec g\cdot H\vec g}, baisse (g⃗⋅g⃗)22 g⃗⋅Hg⃗\frac{(\vec g\cdot\vec g)^{2}}{2\,\vec g\cdot H\vec g} ; ici g⃗⋅Hg⃗=8\vec g\cdot H\vec g=8, tk=58t_{k}=\frac{5}{8}, baisse 2516\frac{25}{16}
  • d) g⃗⋅Hg⃗=4(g1+g24)2+74g22>0\vec g\cdot H\vec g=4\left(g_{1}+\frac{g_{2}}{4}\right)^{2}+\frac{7}{4}g_{2}^{2}>0 (det⁡H=7>0\det H=7>0, 4>04>0) ; sinon φ\varphi n'aurait pas de minimum
  • e) g⃗k+2\vec g_{k+2} est parallèle à g⃗k\vec g_{k} : le trajet zigzague entre deux directions perpendiculaires

a) Posons r⃗(t)=x⃗k−t g⃗k\vec r(t)=\vec x_{k}-t\,\vec g_{k}, dont la dérivée est le vecteur constant r⃗ ′(t)=−g⃗k\vec r\,'(t)=-\vec g_{k}. La dérivation en chaîne pour φ(t)=f(r⃗(t))\varphi(t)=f(\vec r(t)) donne φ′(t)=∇f(r⃗(t))⋅r⃗ ′(t)=−∇f(x⃗k−t g⃗k)⋅g⃗k\varphi'(t)=\nabla f(\vec r(t))\cdot\vec r\,'(t)=-\nabla f\left(\vec x_{k}-t\,\vec g_{k}\right)\cdot\vec g_{k}. En t=0t=0 : φ′(0)=−g⃗k⋅g⃗k=−∥g⃗k∥2\varphi'(0)=-\vec g_{k}\cdot\vec g_{k}=-\|\vec g_{k}\|^{2}, strictement négatif puisque g⃗k≠0⃗\vec g_{k}\neq\vec 0. Pour g⃗k=(1 ;−2)\vec g_{k}=(1\,;-2) : φ′(0)=−5\varphi'(0)=-5. C'est la preuve que −g⃗k-\vec g_{k} est une direction de DESCENTE : φ\varphi décroît au départ, donc il existe des pas t>0t>0 qui font baisser ff. Rien ne dit en revanche jusqu'où (exercice 1).

b) Le minimum tk>0t_{k}>0 de φ\varphi est un point intérieur où φ\varphi est dérivable, donc φ′(tk)=0\varphi'(t_{k})=0, c'est-à-dire −∇f(x⃗k+1)⋅g⃗k=0-\nabla f(\vec x_{k+1})\cdot\vec g_{k}=0 : ∇f(x⃗k+1)⋅∇f(x⃗k)=0\nabla f(\vec x_{k+1})\cdot\nabla f(\vec x_{k})=0. Géométriquement, en x⃗k+1\vec x_{k+1} le nouveau gradient est perpendiculaire à la droite de recherche ; or il est aussi perpendiculaire à la courbe de niveau qui passe par x⃗k+1\vec x_{k+1}. La droite de recherche est donc TANGENTE à cette courbe de niveau : on avance tant qu'on traverse des niveaux de plus en plus bas, et l'on s'arrête au point où la droite ne fait plus que frôler un niveau. C'est ce qui produit le virage à angle droit de chaque itération.

c) Avec g⃗=g⃗k\vec g=\vec g_{k} et HH symétrique, développons : f(x⃗k−tg⃗)=12(x⃗k−tg⃗)⋅H(x⃗k−tg⃗)−b⃗⋅(x⃗k−tg⃗)+cf(\vec x_{k}-t\vec g)=\frac{1}{2}(\vec x_{k}-t\vec g)\cdot H(\vec x_{k}-t\vec g)-\vec b\cdot(\vec x_{k}-t\vec g)+c =f(x⃗k)−t g⃗⋅(Hx⃗k−b⃗)+t22 g⃗⋅Hg⃗=f(\vec x_{k})-t\,\vec g\cdot(H\vec x_{k}-\vec b)+\frac{t^{2}}{2}\,\vec g\cdot H\vec g, et Hx⃗k−b⃗=g⃗H\vec x_{k}-\vec b=\vec g. Donc φ(t)=f(x⃗k)−t g⃗⋅g⃗+t22 g⃗⋅Hg⃗\varphi(t)=f(\vec x_{k})-t\,\vec g\cdot\vec g+\frac{t^{2}}{2}\,\vec g\cdot H\vec g, parabole de sommet tk=g⃗⋅g⃗g⃗⋅Hg⃗t_{k}=\dfrac{\vec g\cdot\vec g}{\vec g\cdot H\vec g}, et la baisse vaut φ(0)−φ(tk)=(g⃗⋅g⃗)22 g⃗⋅Hg⃗\varphi(0)-\varphi(t_{k})=\dfrac{(\vec g\cdot\vec g)^{2}}{2\,\vec g\cdot H\vec g}. Application : Hg⃗=(4−2 ;1−4)=(2 ;−3)H\vec g=(4-2\,;1-4)=(2\,;-3), g⃗⋅Hg⃗=2+6=8\vec g\cdot H\vec g=2+6=8, g⃗⋅g⃗=5\vec g\cdot\vec g=5, donc tk=58t_{k}=\frac{5}{8} et la baisse vaut 2516\frac{25}{16}. Le 12\frac{1}{2} devant x⃗⋅Hx⃗\vec x\cdot H\vec x est indispensable : c'est lui qui fait que HH est la hessienne.

d) g⃗⋅Hg⃗=4g12+2g1g2+2g22=4(g1+g24)2+74g22\vec g\cdot H\vec g=4g_{1}^{2}+2g_{1}g_{2}+2g_{2}^{2}=4\left(g_{1}+\frac{g_{2}}{4}\right)^{2}+\frac{7}{4}g_{2}^{2}, somme de deux carrés à coefficients positifs, nulle seulement si g2=0g_{2}=0 puis g1=0g_{1}=0. C'est le critère du test des dérivées secondes : fxx=4>0f_{xx}=4>0 et det⁡H=8−1=7>0\det H=8-1=7>0. Le coefficient de t2t^{2} dans φ\varphi est alors positif, la parabole est tournée vers le haut et son sommet est un minimum. Si g⃗⋅Hg⃗\vec g\cdot H\vec g était négatif ou nul (point de selle, maximum), φ\varphi décroîtrait sans fin dans certaines directions : la formule donnerait un « pas » négatif ou infini, et la recherche exacte n'aurait pas de sens.

e) Par b), g⃗k+1⊥g⃗k\vec g_{k+1}\perp\vec g_{k} et g⃗k+2⊥g⃗k+1\vec g_{k+2}\perp\vec g_{k+1}. Dans le plan, deux vecteurs perpendiculaires au même vecteur non nul sont PARALLÈLES : g⃗k+2\vec g_{k+2} est parallèle à g⃗k\vec g_{k}. Les pas successifs n'utilisent donc que deux directions perpendiculaires, en alternance : le trajet est un escalier, ou un zigzag, et jamais une ligne droite vers le minimum. C'est ce qu'on lit sur les cartes des exercices 6 et 10. En dimension 33 ou plus, seul l'angle droit entre deux pas CONSÉCUTIFS subsiste.

Partie B : problèmes et raisonnement (/50)

Exercice 6 : Le zigzag lu sur une carte de contour

La figure montre les courbes de niveau f=12f=12, f=3f=3 et f=34f=\frac{3}{4} de f(x,y)=x2+3y2f(x,y)=x^{2}+3y^{2}, et les quatre premiers itérés x⃗0=(3 ;1)\vec x_{0}=(3\,;1), x⃗1\vec x_{1}, x⃗2\vec x_{2}, x⃗3\vec x_{3} de la méthode du gradient avec recherche linéaire exacte. Le repère est orthonormé : les angles se lisent tels qu'ils sont.

-4-3-2-11234-2,5-2-1,5-1-0,50,511,522,5x₀x₁x₂f = 12f = 3
  • a) Lisez x⃗1\vec x_{1} sur la figure, puis retrouvez-le par le calcul : ∇f(x⃗0)\nabla f(\vec x_{0}), le pas t0t_{0} et x⃗1\vec x_{1}.
  • b) Calculez x⃗2\vec x_{2}, puis vérifiez par un produit scalaire l'angle droit que la figure montre en x⃗1\vec x_{1}.
  • c) Montrez par récurrence que x⃗k=(12)k(3 ;(−1)k)\vec x_{k}=\left(\frac{1}{2}\right)^{k}\left(3\,;(-1)^{k}\right), et donnez f(x⃗k)f(\vec x_{k}). Calculez f(x⃗4)f(\vec x_{4}).
  • d) On arrête l'algorithme dès que ∥∇f(x⃗k)∥<10−3\|\nabla f(\vec x_{k})\|<10^{-3}. À quelle itération s'arrête-t-il ? On utilisera 2≈1,414\sqrt{2}\approx 1{,}414.
  • e) Plus généralement, pour f(x,y)=x2+κy2f(x,y)=x^{2}+\kappa y^{2} avec κ≥1\kappa\geq 1 et x⃗0=(κ ;1)\vec x_{0}=(\kappa\,;1), montrez que x⃗1=ρ (κ ;−1)\vec x_{1}=\rho\,(\kappa\,;-1) avec ρ=κ−1κ+1\rho=\frac{\kappa-1}{\kappa+1}. Que se passe-t-il pour κ=1\kappa=1 ? Donnez ρ\rho et le facteur de baisse de ff par itération pour κ=9\kappa=9.

Tape tes réponses, la page te dit juste ou faux 0/10

a)
b)
c)
d)
e)
Voir la correction

Réponses

  • a) ∇f(x⃗0)=(6 ;6)\nabla f(\vec x_{0})=(6\,;6), t0=14t_{0}=\frac{1}{4}, x⃗1=(32 ;−12)\vec x_{1}=\left(\frac{3}{2}\,;-\frac{1}{2}\right)
  • b) x⃗2=(34 ;14)\vec x_{2}=\left(\frac{3}{4}\,;\frac{1}{4}\right) ; (x⃗1−x⃗0)⋅(x⃗2−x⃗1)=0(\vec x_{1}-\vec x_{0})\cdot(\vec x_{2}-\vec x_{1})=0
  • c) f(x⃗k)=124kf(\vec x_{k})=\frac{12}{4^{k}} ; f(x⃗4)=364f(\vec x_{4})=\frac{3}{64}
  • d) ∥∇f(x⃗k)∥=622k\|\nabla f(\vec x_{k})\|=\frac{6\sqrt{2}}{2^{k}} ; 2k>84852^{k}>8485 dès k=14k=14
  • e) κ=1\kappa=1 : minimum atteint en un pas ; κ=9\kappa=9 : ρ=45\rho=\frac{4}{5}, ff multipliée par 1625\frac{16}{25}

a) La figure place x⃗1\vec x_{1} vers (1,5 ;−0,5)(1{,}5\,;-0{,}5). Calcul : ∇f=(2x ;6y)\nabla f=(2x\,;6y), donc ∇f(x⃗0)=(6 ;6)\nabla f(\vec x_{0})=(6\,;6). Avec la hessienne H=(2006)H=\begin{pmatrix}2&0\\0&6\end{pmatrix}, g⃗⋅g⃗=72\vec g\cdot\vec g=72 et g⃗⋅Hg⃗=72+216=288\vec g\cdot H\vec g=72+216=288, d'où t0=72288=14t_{0}=\frac{72}{288}=\frac{1}{4} et x⃗1=(3 ;1)−14(6 ;6)=(32 ;−12)\vec x_{1}=(3\,;1)-\frac{1}{4}(6\,;6)=\left(\frac{3}{2}\,;-\frac{1}{2}\right). On peut aussi minimiser φ(t)=(3−6t)2+3(1−6t)2\varphi(t)=(3-6t)^{2}+3(1-6t)^{2}, dont la dérivée −12(3−6t)−36(1−6t)-12(3-6t)-36(1-6t) s'annule en t=14t=\frac{1}{4}. Le point est sur la courbe f=3f=3 : la valeur est passée de 1212 à 33, et le segment [x⃗0x⃗1][\vec x_{0}\vec x_{1}] touche cette ellipse sans la traverser.

b) ∇f(x⃗1)=(3 ;−3)\nabla f(\vec x_{1})=(3\,;-3) ; g⃗⋅g⃗=18\vec g\cdot\vec g=18, g⃗⋅Hg⃗=18+54=72\vec g\cdot H\vec g=18+54=72, t1=14t_{1}=\frac{1}{4} et x⃗2=(32−34 ;−12+34)=(34 ;14)\vec x_{2}=\left(\frac{3}{2}-\frac{3}{4}\,;-\frac{1}{2}+\frac{3}{4}\right)=\left(\frac{3}{4}\,;\frac{1}{4}\right). Les deux déplacements sont x⃗1−x⃗0=(−32 ;−32)\vec x_{1}-\vec x_{0}=\left(-\frac{3}{2}\,;-\frac{3}{2}\right) et x⃗2−x⃗1=(−34 ;34)\vec x_{2}-\vec x_{1}=\left(-\frac{3}{4}\,;\frac{3}{4}\right), de produit scalaire 98−98=0\frac{9}{8}-\frac{9}{8}=0. L'angle droit vu sur la figure est la propriété démontrée à l'exercice 5 : chaque déplacement est parallèle au gradient, et deux gradients successifs sont orthogonaux. Attention, cet angle ne se VOIT droit que dans un repère orthonormé ; avec des unités différentes sur les axes, le zigzag paraîtrait oblique.

c) Pour k=0k=0, (3 ;1)\left(3\,;1\right) convient. Si x⃗k=s (3 ;±1)\vec x_{k}=s\,(3\,;\pm 1) avec s=(12)ks=\left(\frac{1}{2}\right)^{k}, le gradient vaut s (6 ;±6)s\,(6\,;\pm 6) ; les deux sommes de la formule sont multipliées par s2s^{2}, donc le pas reste 14\frac{1}{4} et x⃗k+1=s(3−64 ;±(1−64))=s2 (3 ;∓1)\vec x_{k+1}=s\left(3-\frac{6}{4}\,;\pm\left(1-\frac{6}{4}\right)\right)=\frac{s}{2}\,(3\,;\mp 1). D'où x⃗k=(12)k(3 ;(−1)k)\vec x_{k}=\left(\frac{1}{2}\right)^{k}\left(3\,;(-1)^{k}\right) pour tout kk. Alors f(x⃗k)=14k(9+3)=124kf(\vec x_{k})=\frac{1}{4^{k}}(9+3)=\frac{12}{4^{k}} : chaque itération divise ff par 44, et f(x⃗4)=12256=364f(\vec x_{4})=\frac{12}{256}=\frac{3}{64}.

d) ∇f(x⃗k)=(12)k(6 ;±6)\nabla f(\vec x_{k})=\left(\frac{1}{2}\right)^{k}\left(6\,;\pm 6\right), de norme 622k\frac{6\sqrt{2}}{2^{k}}. La condition 622k<10−3\frac{6\sqrt{2}}{2^{k}}<10^{-3} équivaut à 2k>60002≈84852^{k}>6000\sqrt{2}\approx 8485. Or 213=8192<84852^{13}=8192<8485 et 214=16 3842^{14}=16\,384 : l'algorithme s'arrête à k=14k=14. À ce moment, f(x⃗14)=12414≈4,5×10−8f(\vec x_{14})=\frac{12}{4^{14}}\approx 4{,}5\times 10^{-8} et ∥x⃗14∥=10214≈1,9×10−4\|\vec x_{14}\|=\frac{\sqrt{10}}{2^{14}}\approx 1{,}9\times 10^{-4}. Le critère porte sur le gradient parce que, dans un vrai problème, on ne connaît ni x⃗∗\vec x^{*} ni f∗f^{*} : c'est la seule quantité qu'on peut calculer.

e) ∇f(x⃗0)=(2κ ;2κ)\nabla f(\vec x_{0})=(2\kappa\,;2\kappa) et φ(t)=(κ−2κt)2+κ(1−2κt)2\varphi(t)=(\kappa-2\kappa t)^{2}+\kappa(1-2\kappa t)^{2}. En posant s=2κts=2\kappa t, φ′=0\varphi'=0 donne (κ−s)+κ(1−s)=0(\kappa-s)+\kappa(1-s)=0, soit s=2κκ+1s=\frac{2\kappa}{\kappa+1}. Alors x⃗1=(κ−s ;1−s)=(κ(κ−1)κ+1 ;1−κκ+1)=ρ (κ ;−1)\vec x_{1}=(\kappa-s\,;1-s)=\left(\frac{\kappa(\kappa-1)}{\kappa+1}\,;\frac{1-\kappa}{\kappa+1}\right)=\rho\,(\kappa\,;-1). Le même raisonnement qu'en c) donne x⃗k=ρk(κ ;(−1)k)\vec x_{k}=\rho^{k}\left(\kappa\,;(-1)^{k}\right) et f(x⃗k)=ρ2kf(x⃗0)f(\vec x_{k})=\rho^{2k}f(\vec x_{0}). Pour κ=1\kappa=1, les courbes de niveau sont des cercles, ρ=0\rho=0 et x⃗1=(0 ;0)\vec x_{1}=(0\,;0) : le gradient vise le centre, un seul pas suffit. Pour κ=3\kappa=3 on retrouve ρ=12\rho=\frac{1}{2}. Pour κ=9\kappa=9, ρ=810=45\rho=\frac{8}{10}=\frac{4}{5} et ff n'est multipliée que par 1625\frac{16}{25} à chaque pas ; pour κ=99\kappa=99, par (4950)2≈0,96\left(\frac{49}{50}\right)^{2}\approx 0{,}96. Plus la vallée est allongée, plus le zigzag est serré et lent : c'est la faiblesse connue de la méthode.

Exercice 7 : Une vallée courbe : la méthode hors des quadratiques

Soit f(x,y)=2(x2−y)2+(1−x)2f(x,y)=2\left(x^{2}-y\right)^{2}+(1-x)^{2}. La figure montre les courbes de niveau f=1f=1, f=38f=\frac{3}{8} et f=14f=\frac{1}{4}, la parabole y=x2y=x^{2} en pointillé, le point de départ x⃗0=(0 ;0)\vec x_{0}=(0\,;0) et le point (1 ;1)(1\,;1). Les courbes de niveau sont des « bananes » qui suivent la parabole.

Ici ff n'est PAS quadratique : la formule du pas des exercices précédents ne s'applique plus, il faut minimiser φ\varphi elle-même.

-0,50,511,522,5-1-0,50,511,522,533,5x₀(1 ; 1)y = x²f = 1
  • a) Montrez que (1 ;1)(1\,;1) est le minimum global de ff. Calculez f(x⃗0)f(\vec x_{0}) et ∇f(x⃗0)\nabla f(\vec x_{0}).
  • b) Première itération avec recherche exacte : écrivez φ(t)\varphi(t), montrez que φ′\varphi' a une seule racine et que c'est t0=14t_{0}=\frac{1}{4}. Donnez x⃗1\vec x_{1} et f(x⃗1)f(\vec x_{1}).
  • c) Deuxième itération : ∇f(x⃗1)\nabla f(\vec x_{1}), le pas t1t_{1}, x⃗2\vec x_{2} et f(x⃗2)f(\vec x_{2}).
  • d) Pour la troisième itération, ∇f(x⃗2)=(−1 ;0)\nabla f(\vec x_{2})=(-1\,;0) et φ′(t)=4t(1+t)(1+2t)+2t−1\varphi'(t)=4t(1+t)(1+2t)+2t-1. Calculez φ′(110)\varphi'\left(\frac{1}{10}\right) et φ′(15)\varphi'\left(\frac{1}{5}\right) en fractions, et concluez sur t2t_{2}.
  • e) Où se trouve x⃗2\vec x_{2} par rapport à la parabole ? Calculez sa distance au minimum, au centième, et expliquez pourquoi la méthode progresse lentement dans cette vallée.

Tape tes réponses, la page te dit juste ou faux 0/11

a)
b)
c)
d)
e)
Voir la correction

Réponses

  • a) f≥0f\geq 0 et f(1 ;1)=0f(1\,;1)=0 ; f(x⃗0)=1f(\vec x_{0})=1, ∇f(x⃗0)=(−2 ;0)\nabla f(\vec x_{0})=(-2\,;0)
  • b) φ(t)=32t4+(1−2t)2\varphi(t)=32t^{4}+(1-2t)^{2}, φ′(t)=128t3+8t−4\varphi'(t)=128t^{3}+8t-4 croissante, racine unique 14\frac{1}{4} ; x⃗1=(12 ;0)\vec x_{1}=\left(\frac{1}{2}\,;0\right), f(x⃗1)=38f(\vec x_{1})=\frac{3}{8}
  • c) ∇f(x⃗1)=(0 ;−1)\nabla f(\vec x_{1})=(0\,;-1), t1=14t_{1}=\frac{1}{4}, x⃗2=(12 ;14)\vec x_{2}=\left(\frac{1}{2}\,;\frac{1}{4}\right), f(x⃗2)=14f(\vec x_{2})=\frac{1}{4}
  • d) φ′(110)=−34125\varphi'\left(\frac{1}{10}\right)=-\frac{34}{125}, φ′(15)=93125\varphi'\left(\frac{1}{5}\right)=\frac{93}{125} : t2∈]110 ;15[t_{2}\in\left]\frac{1}{10}\,;\frac{1}{5}\right[, racine d'un polynôme de degré 3
  • e) x⃗2\vec x_{2} est sur la parabole ; distance 134≈0,90\frac{\sqrt{13}}{4}\approx 0{,}90 ; les pas perpendiculaires ne peuvent pas suivre une vallée courbe

a) ff est une somme de deux carrés, donc f≥0f\geq 0, et f(1 ;1)=2(1−1)2+0=0f(1\,;1)=2(1-1)^{2}+0=0 : (1 ;1)(1\,;1) est un minimum global. Il est même unique : f=0f=0 exige x=1x=1 et y=x2=1y=x^{2}=1. Pas besoin du test des dérivées secondes, l'inégalité f≥0f\geq 0 décide. Le premier terme est nul sur toute la parabole y=x2y=x^{2} : c'est le FOND DE LA VALLÉE, et le second terme le fait descendre doucement vers x=1x=1. f(x⃗0)=0+1=1f(\vec x_{0})=0+1=1. Puis fx=8x(x2−y)−2(1−x)f_{x}=8x\left(x^{2}-y\right)-2(1-x) et fy=−4(x2−y)f_{y}=-4\left(x^{2}-y\right), donc ∇f(x⃗0)=(−2 ;0)\nabla f(\vec x_{0})=(-2\,;0).

b) On se déplace selon −∇f(x⃗0)=(2 ;0)-\nabla f(\vec x_{0})=(2\,;0) : le point courant est (2t ;0)(2t\,;0) et φ(t)=2(4t2)2+(1−2t)2=32t4+(1−2t)2\varphi(t)=2(4t^{2})^{2}+(1-2t)^{2}=32t^{4}+(1-2t)^{2}. Alors φ′(t)=128t3−4(1−2t)=128t3+8t−4\varphi'(t)=128t^{3}-4(1-2t)=128t^{3}+8t-4 et φ′′(t)=384t2+8>0\varphi''(t)=384t^{2}+8>0 : φ′\varphi' est strictement croissante, elle s'annule une seule fois, et c'est en un minimum de φ\varphi. On vérifie φ′(14)=2+2−4=0\varphi'\left(\frac{1}{4}\right)=2+2-4=0. Donc t0=14t_{0}=\frac{1}{4}, x⃗1=(12 ;0)\vec x_{1}=\left(\frac{1}{2}\,;0\right) et f(x⃗1)=2×116+14=38f(\vec x_{1})=2\times\frac{1}{16}+\frac{1}{4}=\frac{3}{8}. L'équation φ′=0\varphi'=0 est de degré 33 : on l'a résolue parce qu'elle avait une racine évidente, et l'argument de monotonie garantit qu'il n'y en a pas d'autre. Sans lui, la réponse est incomplète.

c) En x⃗1\vec x_{1} : x2−y=14x^{2}-y=\frac{1}{4}, donc fx=8×12×14−2×12=0f_{x}=8\times\frac{1}{2}\times\frac{1}{4}-2\times\frac{1}{2}=0 et fy=−1f_{y}=-1 : ∇f(x⃗1)=(0 ;−1)\nabla f(\vec x_{1})=(0\,;-1), orthogonal à (−2 ;0)(-2\,;0) comme le veut la recherche exacte, même pour une fonction non quadratique. Le point courant est (12 ;t)\left(\frac{1}{2}\,;t\right) et φ(t)=2(14−t)2+14\varphi(t)=2\left(\frac{1}{4}-t\right)^{2}+\frac{1}{4}, minimale en t1=14t_{1}=\frac{1}{4}. Donc x⃗2=(12 ;14)\vec x_{2}=\left(\frac{1}{2}\,;\frac{1}{4}\right) et f(x⃗2)=0+14=14f(\vec x_{2})=0+\frac{1}{4}=\frac{1}{4}.

d) En x⃗2\vec x_{2}, x2−y=0x^{2}-y=0, donc fx=−1f_{x}=-1, fy=0f_{y}=0. Le point courant est (12+t ;14)\left(\frac{1}{2}+t\,;\frac{1}{4}\right), avec x2−y=t+t2x^{2}-y=t+t^{2}, et φ(t)=2(t+t2)2+(12−t)2\varphi(t)=2\left(t+t^{2}\right)^{2}+\left(\frac{1}{2}-t\right)^{2}, de dérivée 4t(1+t)(1+2t)+2t−14t(1+t)(1+2t)+2t-1. En 110\frac{1}{10} : 4×110×1110×1210=52810004\times\frac{1}{10}\times\frac{11}{10}\times\frac{12}{10}=\frac{528}{1000}, et 5281000+2001000−1=−2721000=−34125\frac{528}{1000}+\frac{200}{1000}-1=-\frac{272}{1000}=-\frac{34}{125}. En 15\frac{1}{5} : 4×15×65×75=1681254\times\frac{1}{5}\times\frac{6}{5}\times\frac{7}{5}=\frac{168}{125}, et 168125+50125−125125=93125\frac{168}{125}+\frac{50}{125}-\frac{125}{125}=\frac{93}{125}. Comme φ′\varphi' est continue et change de signe, le théorème des valeurs intermédiaires donne une racine dans ]110 ;15[\left]\frac{1}{10}\,;\frac{1}{5}\right[, unique car φ′\varphi' est croissante sur [0 ;+∞[[0\,;+\infty[ (produit de facteurs positifs croissants, plus 2t2t). Le pas n'a plus de forme simple : en pratique, une recherche linéaire se fait alors par un algorithme à une variable (bissection), ou on se contente d'un pas qui fait « assez » baisser ff.

e) 14=(12)2\frac{1}{4}=\left(\frac{1}{2}\right)^{2} : x⃗2\vec x_{2} est SUR la parabole, au fond de la vallée, après deux pas. Pourtant sa distance au minimum vaut 14+916=134≈0,90\sqrt{\frac{1}{4}+\frac{9}{16}}=\frac{\sqrt{13}}{4}\approx 0{,}90, contre 2≈1,41\sqrt{2}\approx 1{,}41 au départ et 52≈1,12\frac{\sqrt{5}}{2}\approx 1{,}12 après un pas : ff a été divisée par 44, la distance seulement par 1,61{,}6. Au fond d'une vallée, la pente transversale est nulle et la pente LE LONG de la vallée est faible ; or la méthode n'avance qu'en segments perpendiculaires entre eux, alors que le fond est COURBE. Chaque pas sort de la parabole, le suivant y revient, et l'itéré remonte vers (1 ;1)(1\,;1) par petits zigzags. C'est le comportement classique sur la fonction de Rosenbrock, dont celle-ci est une version douce.

-0,50,511,522,5-1-0,50,511,522,533,5x₀x₁x₂(1 ; 1)

Exercice 8 : Cinq affirmations à corriger

Chacune des cinq affirmations ci-dessous est FAUSSE. Pour chacune, faites le calcul demandé, qui la réfute, puis écrivez l'énoncé juste.

Toutes viennent de la même confusion : prendre la direction de plus forte descente, qui est une information LOCALE, pour une information sur le minimum.

  • a) « Avec la recherche linéaire exacte, la méthode du gradient atteint le minimum d'une quadratique en un seul pas, puisqu'elle prend le meilleur pas. » Pour f(x,y)=x2+9y2f(x,y)=x^{2}+9y^{2} et x⃗0=(9 ;1)\vec x_{0}=(9\,;1), calculez f(x⃗0)f(\vec x_{0}) et f(x⃗1)f(\vec x_{1}).
  • b) « Si l'on remplace −∇f-\nabla f par le vecteur unitaire de même direction, la recherche exacte donne le même pas tt. » Pour f(x,y)=x2+y2f(x,y)=x^{2}+y^{2} et x⃗0=(3 ;4)\vec x_{0}=(3\,;4), donnez le pas optimal tt avec −∇f(x⃗0)-\nabla f(\vec x_{0}), puis le pas optimal ss avec le vecteur unitaire.
  • c) « Deux directions de descente successives sont parallèles, puisque la méthode suit toujours la pente. » Pour f(x,y)=2x2+y2f(x,y)=2x^{2}+y^{2} et x⃗0=(1 ;2)\vec x_{0}=(1\,;2), faites une itération exacte et calculez ∇f(x⃗0)⋅∇f(x⃗1)\nabla f(\vec x_{0})\cdot\nabla f(\vec x_{1}).
  • d) « Si ∥∇f(x⃗k)∥<10−2\|\nabla f(\vec x_{k})\|<10^{-2}, alors x⃗k\vec x_{k} est à moins de 10−210^{-2} du minimum. » Pour f(x,y)=x2200+y2f(x,y)=\frac{x^{2}}{200}+y^{2}, calculez ∥∇f∥\|\nabla f\| au point (12 ;0)\left(\frac{1}{2}\,;0\right) et la distance de ce point au minimum.
  • e) « Quand la méthode du gradient s'arrête parce que ∇f=0⃗\nabla f=\vec 0, elle a trouvé un minimum. » Pour f(x,y)=x2−y2f(x,y)=x^{2}-y^{2} et x⃗0=(1 ;0)\vec x_{0}=(1\,;0), faites une itération exacte et dites où l'on arrive.

Tape tes réponses, la page te dit juste ou faux 0/8

a)
b)
c)
d)
e)
Voir la correction

Réponses

  • a) f(x⃗0)=90f(\vec x_{0})=90, x⃗1=(365 ;−45)\vec x_{1}=\left(\frac{36}{5}\,;-\frac{4}{5}\right), f(x⃗1)=2885=57,6f(\vec x_{1})=\frac{288}{5}=57{,}6 ; un seul pas seulement si ∇f(x⃗0)\nabla f(\vec x_{0}) vise le centre
  • b) t=12t=\frac{1}{2} mais s=5=∥∇f(x⃗0)∥ ts=5=\|\nabla f(\vec x_{0})\|\,t ; le PAS change, le POINT x⃗1=(0 ;0)\vec x_{1}=(0\,;0) est le même
  • c) t0=13t_{0}=\frac{1}{3}, x⃗1=(−13 ;23)\vec x_{1}=\left(-\frac{1}{3}\,;\frac{2}{3}\right), produit scalaire 00 : elles sont orthogonales
  • d) ∥∇f∥=1200=0,005\|\nabla f\|=\frac{1}{200}=0{,}005 mais la distance vaut 12\frac{1}{2}
  • e) t=12t=\frac{1}{2}, x⃗1=(0 ;0)\vec x_{1}=(0\,;0), où ∇f=0⃗\nabla f=\vec 0 : c'est un point de selle

a) Faux. f(x⃗0)=81+9=90f(\vec x_{0})=81+9=90, ∇f(x⃗0)=(18 ;18)\nabla f(\vec x_{0})=(18\,;18), et avec H=(20018)H=\begin{pmatrix}2&0\\0&18\end{pmatrix} : t0=648648+5832=110t_{0}=\frac{648}{648+5832}=\frac{1}{10}. Donc x⃗1=(9−1,8 ;1−1,8)=(365 ;−45)\vec x_{1}=(9-1{,}8\,;1-1{,}8)=\left(\frac{36}{5}\,;-\frac{4}{5}\right) et f(x⃗1)=129625+14425=2885=57,6f(\vec x_{1})=\frac{1296}{25}+\frac{144}{25}=\frac{288}{5}=57{,}6. Le meilleur pas sur la droite de recherche n'est pas le meilleur point du plan : la droite ne passe pas par le minimum. Énoncé juste : « la recherche exacte minimise ff SUR LA DROITE de recherche ; le minimum n'est atteint en un pas que si −∇f(x⃗0)-\nabla f(\vec x_{0}) pointe vers lui, ce qui arrive pour des courbes de niveau circulaires ou un départ sur un axe de l'ellipse ».

b) Faux. ∇f(x⃗0)=(6 ;8)\nabla f(\vec x_{0})=(6\,;8), de norme 1010. Avec −∇f-\nabla f : φ(t)=(3−6t)2+(4−8t)2=25(1−2t)2\varphi(t)=(3-6t)^{2}+(4-8t)^{2}=25(1-2t)^{2}, minimale en t=12t=\frac{1}{2}. Avec le vecteur unitaire −15(3 ;4)-\frac{1}{5}(3\,;4) : le point courant est (3−3s5 ;4−4s5)\left(3-\frac{3s}{5}\,;4-\frac{4s}{5}\right), minimal en s=5s=5. Dans les deux cas on arrive en (0 ;0)(0\,;0) : le POINT ne dépend pas de la longueur du vecteur direction, mais le nombre tt en dépend, s=∥∇f∥ ts=\|\nabla f\|\,t. Le piège est réel sur une copie : un pas donné « t=0,1t=0{,}1 » n'a de sens qu'avec la convention de l'énoncé, x⃗k−t ∇f(x⃗k)\vec x_{k}-t\,\nabla f(\vec x_{k}) sans normalisation dans le cours de MTH1101. Énoncé juste : « normaliser la direction multiplie le pas optimal par ∥∇f∥\|\nabla f\| et laisse x⃗k+1\vec x_{k+1} inchangé ».

c) Faux. ∇f=(4x ;2y)\nabla f=(4x\,;2y), ∇f(x⃗0)=(4 ;4)\nabla f(\vec x_{0})=(4\,;4), t0=3264+32=13t_{0}=\frac{32}{64+32}=\frac{1}{3}, x⃗1=(1−43 ;2−43)=(−13 ;23)\vec x_{1}=\left(1-\frac{4}{3}\,;2-\frac{4}{3}\right)=\left(-\frac{1}{3}\,;\frac{2}{3}\right) et ∇f(x⃗1)=(−43 ;43)\nabla f(\vec x_{1})=\left(-\frac{4}{3}\,;\frac{4}{3}\right). Produit scalaire : −163+163=0-\frac{16}{3}+\frac{16}{3}=0. Énoncé juste : « avec la recherche exacte, deux gradients successifs sont ORTHOGONAUX ; ce sont les directions kk et k+2k+2 qui sont parallèles, en dimension deux ». La méthode suit la pente au départ de chaque pas, pas pendant le pas : une fois lancée sur sa droite, elle ne tourne plus jusqu'au point de tangence.

d) Faux. ∇f=(x100 ;2y)\nabla f=\left(\frac{x}{100}\,;2y\right), donc en (12 ;0)\left(\frac{1}{2}\,;0\right) : ∇f=(1200 ;0)\nabla f=\left(\frac{1}{200}\,;0\right), de norme 0,005<10−20{,}005<10^{-2}. Pourtant la distance au minimum (0 ;0)(0\,;0) vaut 12\frac{1}{2}, cinquante fois plus. Une fonction TRÈS PLATE dans une direction a un petit gradient loin de son minimum. Énoncé juste : « un petit gradient dit que la pente est faible, pas que l'on est près du minimum ; le critère ∥∇f∥<ε\|\nabla f\|<\varepsilon est un critère d'arrêt pratique, pas une garantie de précision sur x⃗\vec x ». Sur ce point, f=1800f=\frac{1}{800} : c'est plutôt la VALEUR de ff qui est presque optimale.

e) Faux. ∇f=(2x ;−2y)\nabla f=(2x\,;-2y), ∇f(x⃗0)=(2 ;0)\nabla f(\vec x_{0})=(2\,;0), et φ(t)=(1−2t)2\varphi(t)=(1-2t)^{2}, minimale en t=12t=\frac{1}{2} : x⃗1=(0 ;0)\vec x_{1}=(0\,;0), où ∇f=0⃗\nabla f=\vec 0. L'algorithme s'arrête. Mais f(0 ;y)=−y2<0=f(0 ;0)f(0\,;y)=-y^{2}<0=f(0\,;0) : l'origine est un point de SELLE, le test des dérivées secondes donne D=(2)(−2)−0=−4<0D=(2)(-2)-0=-4<0. Énoncé juste : « la méthode s'arrête en un POINT CRITIQUE ; il faut ensuite le classer ». En pratique un départ générique, comme (1 ;0,01)(1\,;0{,}01), s'éloigne de la selle, car la composante en yy grandit à chaque itération, mais rien n'est garanti sans hypothèse sur ff.

Exercice 9 : Apprentissage automatique : le taux d'apprentissage et l'échelle des variables

Un modèle prédit une valeur y^=w1x1+w2x2\hat y=w_{1}x_{1}+w_{2}x_{2} à partir de deux variables x1x_{1} et x2x_{2}. On règle les poids (w1 ;w2)(w_{1}\,;w_{2}) en minimisant la PERTE L=12∑(y^−y)2L=\frac{1}{2}\sum\left(\hat y-y\right)^{2} sur les exemples d'entraînement, par la méthode du gradient à pas fixe : en apprentissage automatique, le pas s'appelle le TAUX D'APPRENTISSAGE η\eta, et une itération une ÉPOQUE.

Jeu A : deux exemples, (x1 ;x2 ;y)=(1 ;1 ;3)(x_{1}\,;x_{2}\,;y)=(1\,;1\,;3) et (1 ;−1 ;1)(1\,;-1\,;1). Jeu B : les mêmes, mais x2x_{2} est mesuré dans une unité trois fois plus petite, d'où (1 ;3 ;3)(1\,;3\,;3) et (1 ;−3 ;1)(1\,;-3\,;1). La figure montre deux courbes de niveau de chaque perte : LAL_{A} en pointillé, LBL_{B} en trait plein. Partout, on part de w⃗0=(0 ;0)\vec w_{0}=(0\,;0).

-112345-1,5-1-0,50,511,522,533,5w₀L_AL_Bw₁w₂
  • a) Montrez que LB=w12+9w22−4w1−6w2+5L_{B}=w_{1}^{2}+9w_{2}^{2}-4w_{1}-6w_{2}+5 et donnez son minimum et la valeur de la perte en ce minimum. (On admet LA=w12+w22−4w1−2w2+5L_{A}=w_{1}^{2}+w_{2}^{2}-4w_{1}-2w_{2}+5.)
  • b) Sur le jeu A, avec η=12\eta=\frac{1}{2} : faites une époque. Où arrive-t-on ?
  • c) Sur le jeu B, notez e1=w1−2e_{1}=w_{1}-2 et e2=w2−13e_{2}=w_{2}-\frac{1}{3}. Montrez que chaque époque multiplie e1e_{1} par 1−2η1-2\eta et e2e_{2} par 1−18η1-18\eta. Pour quels η\eta l'apprentissage converge-t-il ? Que se passe-t-il avec le taux η=12\eta=\frac{1}{2} du jeu A ?
  • d) Sur le jeu B, avec η=110\eta=\frac{1}{10} : calculez w⃗1\vec w_{1}, puis la perte après une et deux époques. Justifiez que 110\frac{1}{10} est le meilleur taux fixe pour ce jeu.
  • e) Avec η=110\eta=\frac{1}{10}, combien d'époques faut-il pour diviser la distance au minimum par 100100 ? On donne ln⁡2≈0,693\ln 2\approx 0{,}693 et ln⁡10≈2,303\ln 10\approx 2{,}303. Quelle leçon pratique en tirer ?

Tape tes réponses, la page te dit juste ou faux 0/10

a)
b)
c)
d)
e)
Voir la correction

Réponses

  • a) minimum (2 ;13)\left(2\,;\frac{1}{3}\right), perte 00 ; LB=(w1−2)2+9(w2−13)2L_{B}=(w_{1}-2)^{2}+9\left(w_{2}-\frac{1}{3}\right)^{2}
  • b) w⃗1=(0 ;0)−12(−4 ;−2)=(2 ;1)\vec w_{1}=(0\,;0)-\frac{1}{2}(-4\,;-2)=(2\,;1), le minimum de LAL_{A}, en une époque
  • c) 0<η<190<\eta<\frac{1}{9} ; avec η=12\eta=\frac{1}{2}, e2e_{2} est multiplié par −8-8 : divergence
  • d) w⃗1=(25 ;35)\vec w_{1}=\left(\frac{2}{5}\,;\frac{3}{5}\right), L=165=3,2L=\frac{16}{5}=3{,}2 puis 256125=2,048\frac{256}{125}=2{,}048 ; ∣1−2η∣=∣1−18η∣|1-2\eta|=|1-18\eta| en η=110\eta=\frac{1}{10}
  • e) (54)k>100\left(\frac{5}{4}\right)^{k}>100, k>4,6060,224≈20,6k>\frac{4{,}606}{0{,}224}\approx 20{,}6, donc 2121 époques ; mettre les variables à la même échelle

a) LB=12[(w1+3w2−3)2+(w1−3w2−1)2]L_{B}=\frac{1}{2}\left[(w_{1}+3w_{2}-3)^{2}+(w_{1}-3w_{2}-1)^{2}\right]. En développant, les doubles produits ±6w1w2\pm 6w_{1}w_{2} se compensent et LB=12[2w12+18w22−8w1−12w2+10]=w12+9w22−4w1−6w2+5L_{B}=\frac{1}{2}\left[2w_{1}^{2}+18w_{2}^{2}-8w_{1}-12w_{2}+10\right]=w_{1}^{2}+9w_{2}^{2}-4w_{1}-6w_{2}+5. En complétant les carrés, LB=(w1−2)2+9(w2−13)2L_{B}=(w_{1}-2)^{2}+9\left(w_{2}-\frac{1}{3}\right)^{2} : le minimum est (2 ;13)\left(2\,;\frac{1}{3}\right) et la perte y vaut 00, car deux poids suffisent à reproduire exactement deux exemples. Le modèle appris est le même que pour le jeu A, de minimum (2 ;1)(2\,;1) : w2w_{2} est divisé par 33 parce que x2x_{2} est multiplié par 33.

b) ∇LA=(2w1−4 ;2w2−2)\nabla L_{A}=(2w_{1}-4\,;2w_{2}-2), qui vaut (−4 ;−2)(-4\,;-2) en w⃗0\vec w_{0}. Avec η=12\eta=\frac{1}{2}, w⃗1=(0 ;0)−12(−4 ;−2)=(2 ;1)\vec w_{1}=(0\,;0)-\frac{1}{2}(-4\,;-2)=(2\,;1) : c'est le minimum, atteint en UNE époque. Ce n'est pas de la chance : LA=(w1−2)2+(w2−1)2L_{A}=(w_{1}-2)^{2}+(w_{2}-1)^{2} a des courbes de niveau circulaires (les cercles en pointillé), le gradient vise donc toujours le centre, et le pas 12\frac{1}{2} est exactement celui qui l'atteint.

c) ∇LB=(2w1−4 ;18w2−6)=(2e1 ;18e2)\nabla L_{B}=(2w_{1}-4\,;18w_{2}-6)=(2e_{1}\,;18e_{2}). Une époque donne e1←e1−2ηe1=(1−2η)e1e_{1}\leftarrow e_{1}-2\eta e_{1}=(1-2\eta)e_{1} et e2←(1−18η)e2e_{2}\leftarrow(1-18\eta)e_{2}. L'apprentissage converge pour tout départ si et seulement si ∣1−2η∣<1|1-2\eta|<1 et ∣1−18η∣<1|1-18\eta|<1, soit 0<η<190<\eta<\frac{1}{9}. Avec le taux du jeu A, η=12\eta=\frac{1}{2}, le facteur de e2e_{2} vaut 1−9=−81-9=-8 : l'erreur sur w2w_{2} est multipliée par −8-8 à chaque époque et la perte explose. Même modèle, même taux : un simple CHANGEMENT D'UNITÉ suffit à faire diverger l'entraînement : la variable x2x_{2} multipliée par 33 multiplie la courbure ∂2L∂w22\frac{\partial^{2}L}{\partial w_{2}^{2}} par 99, et c'est la plus forte courbure qui impose le taux.

d) ∇LB(w⃗0)=(−4 ;−6)\nabla L_{B}(\vec w_{0})=(-4\,;-6), donc w⃗1=(410 ;610)=(25 ;35)\vec w_{1}=\left(\frac{4}{10}\,;\frac{6}{10}\right)=\left(\frac{2}{5}\,;\frac{3}{5}\right). Les facteurs valent 45\frac{4}{5} et −45-\frac{4}{5} ; comme LB=e12+9e22L_{B}=e_{1}^{2}+9e_{2}^{2}, chaque époque multiplie la perte par 1625\frac{16}{25} : L(w⃗0)=4+1=5L(\vec w_{0})=4+1=5, L(w⃗1)=165=3,2L(\vec w_{1})=\frac{16}{5}=3{,}2, L(w⃗2)=256125=2,048L(\vec w_{2})=\frac{256}{125}=2{,}048. Contrôle direct : (25−2)2+9(35−13)2=6425+9×16225=6425+1625=165\left(\frac{2}{5}-2\right)^{2}+9\left(\frac{3}{5}-\frac{1}{3}\right)^{2}=\frac{64}{25}+9\times\frac{16}{225}=\frac{64}{25}+\frac{16}{25}=\frac{16}{5}. Le taux 110\frac{1}{10} est le meilleur : le plus grand des deux facteurs ∣1−2η∣|1-2\eta| (décroissant) et ∣1−18η∣|1-18\eta| (croissant au-delà de 118\frac{1}{18}) est minimal quand ils sont égaux, 1−2η=18η−11-2\eta=18\eta-1, soit η=110\eta=\frac{1}{10}. Le zigzag de w2w_{2} autour de 13\frac{1}{3} est la signature de ce compromis.

e) ∣e1∣|e_{1}| et ∣e2∣|e_{2}| sont tous deux multipliés par 45\frac{4}{5}, donc la distance au minimum aussi. On veut (45)k≤1100\left(\frac{4}{5}\right)^{k}\leq\frac{1}{100}, soit kln⁡54≥ln⁡100k\ln\frac{5}{4}\geq\ln 100. Or ln⁡54=ln⁡10−3ln⁡2≈2,303−2,079=0,224\ln\frac{5}{4}=\ln 10-3\ln 2\approx 2{,}303-2{,}079=0{,}224 et ln⁡100≈4,606\ln 100\approx 4{,}606, d'où k≥20,6k\geq 20{,}6 : il faut 2121 époques, contre UNE pour le jeu A. Contrôle : (54)20≈86,7\left(\frac{5}{4}\right)^{20}\approx 86{,}7 et (54)21≈108,4\left(\frac{5}{4}\right)^{21}\approx 108{,}4. La leçon est celle de tous les praticiens : avant d'entraîner un modèle par descente de gradient, on remet les variables à la MÊME ÉCHELLE (on les « normalise »). Cela arrondit les courbes de niveau de la perte, et un taux unique convient alors à toutes les directions.

-0,50,511,522,533,544,5-0,50,511,5minimumw₁w₂

Exercice 10 : Le coût d'un réseau à régler : la puissance dissipée

Un réseau relie une source à 1212 V à la masse par trois résistances de 1 Ω1\ \Omega en série. On note uu et vv les potentiels des deux nœuds intermédiaires. Pour des potentiels (u ;v)(u\,;v) quelconques, la puissance dissipée serait P(u,v)=(12−u)2+(u−v)2+v2P(u,v)=(12-u)^{2}+(u-v)^{2}+v^{2}, en watts. Les potentiels réels sont ceux qui minimisent PP : c'est le principe de dissipation minimale.

Sur un réseau de milliers de nœuds, on ne résout pas le système à la main : on fait descendre le coût PP par un algorithme. On le fait ici sur deux nœuds, avec la recherche linéaire exacte, dont la hessienne vaut H=(4−2−24)H=\begin{pmatrix}4&-2\\-2&4\end{pmatrix}.

  • a) Trouvez le minimum exact de PP en résolvant ∇P=0⃗\nabla P=\vec 0, et la puissance minimale P∗P^{*}. Interprétez.
  • b) À partir de x⃗0=(0 ;0)\vec x_{0}=(0\,;0), faites une itération : ∇P(x⃗0)\nabla P(\vec x_{0}), le pas t0t_{0}, x⃗1\vec x_{1} et P(x⃗1)P(\vec x_{1}).
  • c) Faites deux itérations de plus. Donnez x⃗2\vec x_{2}, x⃗3\vec x_{3}, P(x⃗3)P(\vec x_{3}), et la suite des écarts P(x⃗k)−P∗P(\vec x_{k})-P^{*} pour k=0k=0 à 33.
  • d) Dans un vrai réseau, P∗P^{*} est inconnue : on s'arrête quand ∥∇P(x⃗k)∥<10−2\|\nabla P(\vec x_{k})\|<10^{-2}. Calculez ∥∇P(x⃗k)∥\|\nabla P(\vec x_{k})\| pour k=1,2,3k=1,2,3, devinez la loi et donnez l'itération d'arrêt.
  • e) Un technicien part plutôt de x⃗0=(6 ;6)\vec x_{0}=(6\,;6). Faites une itération et expliquez le résultat.

Tape tes réponses, la page te dit juste ou faux 0/12

a)
b)
c)
d)
e)
Voir la correction

Réponses

  • a) (u ;v)=(8 ;4)(u\,;v)=(8\,;4), P∗=48P^{*}=48 W : le diviseur de tension, 44 A dans chaque résistance
  • b) ∇P(x⃗0)=(−24 ;0)\nabla P(\vec x_{0})=(-24\,;0), t0=14t_{0}=\frac{1}{4}, x⃗1=(6 ;0)\vec x_{1}=(6\,;0), P(x⃗1)=72P(\vec x_{1})=72
  • c) x⃗2=(6 ;3)\vec x_{2}=(6\,;3), x⃗3=(152 ;3)\vec x_{3}=\left(\frac{15}{2}\,;3\right), P(x⃗3)=49,5P(\vec x_{3})=49{,}5 ; écarts 9696, 2424, 66, 32\frac{3}{2}
  • d) ∥∇P(x⃗k)∥=122k−1\|\nabla P(\vec x_{k})\|=\frac{12}{2^{k-1}} : 1212, 66, 33 ; arrêt à k=12k=12
  • e) ∇P=(−12 ;12)\nabla P=(-12\,;12), t=16t=\frac{1}{6}, x⃗1=(8 ;4)\vec x_{1}=(8\,;4) : le minimum en un pas, car ∇P(x⃗0)=6(x⃗0−x⃗∗)\nabla P(\vec x_{0})=6(\vec x_{0}-\vec x^{*})

a) Pu=−2(12−u)+2(u−v)=4u−2v−24P_{u}=-2(12-u)+2(u-v)=4u-2v-24 et Pv=−2(u−v)+2v=−2u+4vP_{v}=-2(u-v)+2v=-2u+4v. ∇P=0⃗\nabla P=\vec 0 donne u=2vu=2v, puis 8v−2v=248v-2v=24 : v=4v=4 et u=8u=8. La hessienne a Puu=4>0P_{uu}=4>0 et D=16−4=12>0D=16-4=12>0 : c'est le minimum, unique. P∗=16+16+16=48P^{*}=16+16+16=48 W. On retrouve le diviseur de tension : trois résistances égales se partagent les 1212 V en trois chutes de 44 V, un courant de 44 A les traverse, et 3×42×1=483\times 4^{2}\times 1=48 W. Le principe de dissipation minimale redonne les lois de Kirchhoff.

b) ∇P(x⃗0)=(−24 ;0)\nabla P(\vec x_{0})=(-24\,;0). Formule du pas : g⃗⋅g⃗=576\vec g\cdot\vec g=576, Hg⃗=(−96 ;48)H\vec g=(-96\,;48), g⃗⋅Hg⃗=2304\vec g\cdot H\vec g=2304, d'où t0=5762304=14t_{0}=\frac{576}{2304}=\frac{1}{4}. Alors x⃗1=(0 ;0)−14(−24 ;0)=(6 ;0)\vec x_{1}=(0\,;0)-\frac{1}{4}(-24\,;0)=(6\,;0) et P(x⃗1)=36+36+0=72P(\vec x_{1})=36+36+0=72. Le gradient ne portait que sur uu : la méthode n'a réglé que le premier nœud, en lui donnant le potentiel qui équilibre ses deux voisins, 12+02=6\frac{12+0}{2}=6.

c) ∇P(x⃗1)=(24−0−24 ;−12)=(0 ;−12)\nabla P(\vec x_{1})=(24-0-24\,;-12)=(0\,;-12), orthogonal au précédent ; g⃗⋅g⃗=144\vec g\cdot\vec g=144, g⃗⋅Hg⃗=4×144=576\vec g\cdot H\vec g=4\times 144=576, t1=14t_{1}=\frac{1}{4} et x⃗2=(6 ;3)\vec x_{2}=(6\,;3), avec P(x⃗2)=36+9+9=54P(\vec x_{2})=36+9+9=54. Puis ∇P(x⃗2)=(24−6−24 ;−12+12)=(−6 ;0)\nabla P(\vec x_{2})=(24-6-24\,;-12+12)=(-6\,;0), t2=14t_{2}=\frac{1}{4} et x⃗3=(152 ;3)\vec x_{3}=\left(\frac{15}{2}\,;3\right), avec P(x⃗3)=814+814+9=49,5P(\vec x_{3})=\frac{81}{4}+\frac{81}{4}+9=49{,}5. Les écarts à P∗P^{*} valent 9696, 2424, 66, 32\frac{3}{2} : divisés par 44 à chaque itération après la première. Le trajet est un ESCALIER, un nœud réglé à la fois sur son équilibre local, ce que l'exercice 5 annonçait : en dimension deux, les directions alternent.

d) ∥∇P(x⃗1)∥=12\|\nabla P(\vec x_{1})\|=12, ∥∇P(x⃗2)∥=6\|\nabla P(\vec x_{2})\|=6, ∥∇P(x⃗3)∥=3\|\nabla P(\vec x_{3})\|=3 : la norme est divisée par 22 à chaque pas, ∥∇P(x⃗k)∥=122k−1\|\nabla P(\vec x_{k})\|=\frac{12}{2^{k-1}} pour k≥1k\geq 1, ce qu'on prouve comme à l'exercice 6, la configuration se reproduisant à l'échelle 14\frac{1}{4} tous les deux pas. Le critère 122k−1<10−2\frac{12}{2^{k-1}}<10^{-2} équivaut à 2k−1>12002^{k-1}>1200 ; or 210=10242^{10}=1024 et 211=20482^{11}=2048, donc k−1=11k-1=11 et l'algorithme s'arrête à k=12k=12. L'écart vaut alors 24411\frac{24}{4^{11}}, environ 6×10−66\times 10^{-6} W : le critère sur le gradient est ici plus exigeant que nécessaire sur le coût, et c'est le seul qu'on peut calculer sans connaître P∗P^{*}.

e) ∇P(6 ;6)=(24−12−24 ;−12+24)=(−12 ;12)\nabla P(6\,;6)=(24-12-24\,;-12+24)=(-12\,;12), g⃗⋅g⃗=288\vec g\cdot\vec g=288, Hg⃗=(−72 ;72)H\vec g=(-72\,;72), g⃗⋅Hg⃗=1728\vec g\cdot H\vec g=1728, donc t=16t=\frac{1}{6} et x⃗1=(6+2 ;6−2)=(8 ;4)\vec x_{1}=(6+2\,;6-2)=(8\,;4) : le minimum exact, en UN pas. Ce n'est pas un hasard : x⃗0−x⃗∗=(−2 ;2)\vec x_{0}-\vec x^{*}=(-2\,;2) et ∇P(x⃗0)=(−12 ;12)=6 (x⃗0−x⃗∗)\nabla P(\vec x_{0})=(-12\,;12)=6\,(\vec x_{0}-\vec x^{*}). Le gradient est colinéaire au vecteur qui va du minimum au point : −∇P-\nabla P VISE le minimum, parce que le point de départ est sur un axe des ellipses de niveau. C'est l'exception qui confirme le fil du chapitre : en général −∇P-\nabla P ne vise pas le minimum, et la méthode zigzague.

-112345678910111213-1123456789x₀x₁x₂(6 ; 6)uv
Il manque quelque chose dans cette série ? Un type d'exercice que ton prof donne, un énoncé qui te bloque, une erreur repérée : dis-le-moi, je lis chaque demande.

L'envoi passe par ton espace gratuit : c'est ce qui me permet de te répondre et de te prévenir quand l'exercice est ajouté. Un courriel suffit, pas de mot de passe. Crée ton espace. Pas envie de créer un compte ? Écris-moi directement.

De quoi s'agit-il ?
Je lis chaque demande moi-même, personne d'autre ne la voit. Inutile d'écrire ton nom ou celui de ton école.
Quand ta demande est traitée, tu es prévenu par courriel et dans ton espace.

En envoyant, tu acceptes que je lise ta demande pour y répondre. Elle est gardée avec ton compte, effacée avec lui, et jamais publiée : politique de confidentialité.

Chapitre précédent Extrema et optimisation sans contrainte Chapitre suivant Les multiplicateurs de Lagrange

© Ahmed Squalli Houssaini. Série publiée sur www.letuteurscientifique.ca/exercices/mth1101-methode-gradient. Libre pour l'usage personnel et en classe ; sa republication ailleurs demande une autorisation écrite (mentions légales).

Voir aussi

La méthode du gradient bloque en MTH1101 ?

Contactez-moi pour une première séance. On reprend la recherche linéaire à la main, le choix du pas et la lecture des itérés sur une carte de contour, jusqu'à ce que chaque virage du zigzag s'explique.

Site par Studio Squalli