σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Parcours Optimization›Module 2 · Méthodes de gradient›Sujet 2.1·~50 minIntermédiaire

La descente de gradient

Position dans le parcoursModule 2 sur 5 · Sujet 1 sur 3
2.1 La descente de gradient
—Score du lab— / 100XP total—Série—

Descendre la pente

La descente de gradient répète un seul mouvement : avancer contre le gradient, wk+1=wk−η ∇f(wk)\mathbf w_{k+1}=\mathbf w_k-\eta\,\nabla f(\mathbf w_k)wk+1​=wk​−η∇f(wk​). Le nombre η>0\eta>0η>0 est le pas, souvent appelé taux d'apprentissage. Un petit η\etaη est sûr mais lent. Un grand η\etaη dépasse le fond de la vallée et les itérés peuvent s'éloigner à chaque fois.

f(w)=12a w2 ⇒ wk+1=(1−ηa) wk,∣1−ηa∣<1  ⟺  0<η<2af(w)=\tfrac12 a\,w^{2}\ \Rightarrow\ w_{k+1}=(1-\eta a)\,w_k,\qquad |1-\eta a|<1\iff 0<\eta<\frac{2}{a}f(w)=21​aw2 ⇒ wk+1​=(1−ηa)wk​,∣1−ηa∣<1⟺0<η<a2​(1)

Sur la cuvette la plus simple, la mise à jour multiplie www par 1−ηa1-\eta a1−ηa à chaque fois ; les itérés tendent vers zéro exactement quand ∣1−ηa∣<1|1-\eta a|<1∣1−ηa∣<1, c'est-à-dire η<2/a\eta<2/aη<2/a. Le choix η=1/a\eta=1/aη=1/a atteint le minimum en un pas, et tout η\etaη entre 1/a1/a1/a et 2/a2/a2/a converge encore mais change de signe en chemin. Au-delà de 2/a2/a2/a le facteur dépasse un en valeur absolue et les itérés explosent.

Trois pas sur f = 3x²Ici f′(x)=6xf'(x)=6xf′(x)=6x, donc a=6a=6a=6. Partons de x0=4x_0=4x0​=4 avec η=0.1\eta=0.1η=0.1 : le facteur vaut 1−0.6=0.41-0.6=0.41−0.6=0.4, d'où x1=1.6x_1=1.6x1​=1.6, x2=0.64x_2=0.64x2​=0.64, x3=0.256x_3=0.256x3​=0.256. La limite de stabilité est 2/6=0.3332/6=0.3332/6=0.333. Avec η=0.5\eta=0.5η=0.5 le facteur vaut 1−3=−21-3=-21−3=−2 : les itérés valent 4,−4,8,…4,-4,8,\dots4,−4,8,… et doublent de taille à chaque pas.

En plusieurs variables la courbure change selon la direction. La plus grande valeur propre LLL de la hessienne limite le pas utilisable (η<2/L\eta<2/Lη<2/L) et la plus petite μ\muμ fixe la lenteur avec laquelle on traverse la direction la plus plate. Leur rapport κ=L/μ\kappa=L/\muκ=L/μ est le conditionnement. Avec le meilleur pas fixe η=2/(L+μ)\eta=2/(L+\mu)η=2/(L+μ) l'erreur est multipliée par environ (κ−1)/(κ+1)(\kappa-1)/(\kappa+1)(κ−1)/(κ+1) à chaque pas ; un grand κ\kappaκ donne donc un facteur proche de un et un lent zigzag dans une longue vallée étroite. Pour la matrice de covariance de douze grandes actions américaines depuis 2010, κ\kappaκ vaut environ 333333 : le facteur est 0.9410.9410.941 et réduire l'erreur 100 fois demande environ 76 pas.

η∗=2L+μ,∥wk−w∗∥ ≲ (κ−1κ+1)k∥w0−w∗∥,κ=Lμ\eta^{*}=\frac{2}{L+\mu},\qquad \lVert\mathbf w_k-\mathbf w^{*}\rVert\ \lesssim\ \Big(\frac{\kappa-1}{\kappa+1}\Big)^{k}\lVert\mathbf w_0-\mathbf w^{*}\rVert,\qquad \kappa=\frac{L}{\mu}η∗=L+μ2​,∥wk​−w∗∥ ≲ (κ+1κ−1​)k∥w0​−w∗∥,κ=μL​(2)
  • Pas sûr : η<2/L\eta<2/Lη<2/L, où LLL est la plus grande valeur propre de la hessienne ; sinon les itérés divergent.
  • Vitesse : fixée par le conditionnement κ=L/μ\kappa=L/\muκ=L/μ ; plus il est grand, plus la descente est lente.
  • Arrêt : arrêter quand ∥∇f∥\lVert\nabla f\rVert∥∇f∥ passe sous une tolérance, avec un plafond d'itérations.
Mettez les variables à l'échelleUn grand conditionnement vient souvent de variables d'échelles très différentes, par exemple un poids entre 0 et 1 à côté d'une volatilité en points de base. Remettre chaque variable à une taille voisine réduit κ\kappaκ et peut transformer des milliers d'itérations en quelques dizaines. Le préconditionnement est la forme générale de la même idée.

Lab : ce qui est noté

  • Le premier pas15 pts
  • Le deuxième pas10 pts
  • Le plus grand pas stable15 pts
  • Un pas trop grand15 pts
  • Un conditionnement15 pts
  • Le meilleur facteur de contraction15 pts
  • Pourquoi le mauvais conditionnement est lent15 pts
0/ 7 traités
Exercices
1Réponse numérique15 ptsSans réponse

Faites une descente de gradient sur f(x)=3x2f(x)=3x^2f(x)=3x2 depuis x0=4x_0=4x0​=4 avec η=0.1\eta=0.1η=0.1. Combien vaut x1x_1x1​ ?

x1=x1 =x1=accepté : ± 0.01
2Réponse numérique10 ptsSans réponse

Faites un pas de plus avec le même η\etaη. Combien vaut x2x_2x2​ ?

x2=x2 =x2=accepté : ± 0.005
3Réponse numérique15 ptsSans réponse

Pour f(x)=3x2f(x)=3x^2f(x)=3x2, la descente de gradient ne converge que si η\etaη est inférieur à une limite. Quelle est cette limite ? Donnez-la avec trois décimales.

limit=limit =limit=accepté : ± 0.003
4Choix15 ptsSans réponse

Sur f(x)=3x2f(x)=3x^2f(x)=3x2 vous prenez η=0.5\eta=0.5η=0.5. Que deviennent les itérés ?

5Réponse numérique15 ptsSans réponse

La fonction f(x,y)=x2+10y2f(x,y)=x^2+10y^2f(x,y)=x2+10y2 a pour hessienne diag(2,20)\mathrm{diag}(2,20)diag(2,20). Quel est son conditionnement κ=L/μ\kappa=L/\muκ=L/μ ?

kappa=kappa =kappa=accepté : ± 0.05
6Réponse numérique15 ptsSans réponse

Pour ce fff, la descente de gradient avec le meilleur pas fixe réduit l'erreur à chaque pas d'environ (κ−1)/(κ+1)(\kappa-1)/(\kappa+1)(κ−1)/(κ+1). Quel est ce facteur ? Donnez-le avec trois décimales.

rate=rate =rate=accepté : ± 0.003
7Expliquer avec des mots15 ptsSans réponse

En une ou deux phrases, dites pourquoi la descente de gradient est lente quand le conditionnement est grand.

Mode mathsSaisie au clavier ou en LaTeXExercice 1 sur 7 · Ctrl ⏎ pour vérifier

Connectez-vous pour exécuter votre code.

Tous les cours sont gratuits à lire. Créez un compte ou connectez-vous pour exécuter du code, lancer les tests et soumettre ce lab.

  • IDE dans le navigateur avec terminal bash — rien à installer
  • Correction instantanée, XP et votre place dans le parcours
Créer un compteSe connecter
OU
Continuer avec GitHub