σμ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 AcademyRoadmapsSkills
Ctrl K
AO
+1,2 Tsd. Lernende
AnmeldenBeitreten ↗
RoadmapsSkills
AO
+1,2 Tsd. Lernende
Anmelden
  • 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 AcademyRoadmapsSkills
Ctrl K
AO
+1,2 Tsd. Lernende
AnmeldenBeitreten ↗
RoadmapsSkills
AO
+1,2 Tsd. Lernende
Anmelden
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Optimization-Skill›Modul 2 · Gradientenverfahren›Thema 2.1·~50 Min.Mittelstufe

Das Gradientenabstiegsverfahren

Position in der SkillModul 2 von 5 · Thema 1 von 3
2.1 Das Gradientenabstiegsverfahren
—Lab-Punkte— / 100XP gesamt—Serie—

Den Hang hinabgehen

Das Gradientenverfahren wiederholt eine einzige Bewegung: einen Schritt gegen den Gradienten, wk+1=wk−η ∇f(wk)\mathbf w_{k+1}=\mathbf w_k-\eta\,\nabla f(\mathbf w_k)wk+1​=wk​−η∇f(wk​). Die Zahl η>0\eta>0η>0 ist die Schrittweite, oft Lernrate genannt. Ein kleines η\etaη ist sicher, aber langsam. Ein großes η\etaη schießt über das Tal hinaus, und die Iterierten können sich jedes Mal weiter entfernen.

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)

Auf der einfachsten Schale multipliziert die Aktualisierung www jedes Mal mit 1−ηa1-\eta a1−ηa; die Iterierten gehen genau dann gegen null, wenn ∣1−ηa∣<1|1-\eta a|<1∣1−ηa∣<1, also η<2/a\eta<2/aη<2/a. Die Wahl η=1/a\eta=1/aη=1/a trifft das Minimum in einem Schritt, und jedes η\etaη zwischen 1/a1/a1/a und 2/a2/a2/a konvergiert noch, wechselt aber unterwegs das Vorzeichen. Jenseits von 2/a2/a2/a ist der Betrag des Faktors größer als eins, und die Iterierten explodieren.

Drei Schritte auf f = 3x²Hier ist f′(x)=6xf'(x)=6xf′(x)=6x, also a=6a=6a=6. Start bei x0=4x_0=4x0​=4 mit η=0.1\eta=0.1η=0.1: Der Faktor ist 1−0.6=0.41-0.6=0.41−0.6=0.4, das gibt x1=1.6x_1=1.6x1​=1.6, x2=0.64x_2=0.64x2​=0.64, x3=0.256x_3=0.256x3​=0.256. Die Stabilitätsgrenze ist 2/6=0.3332/6=0.3332/6=0.333. Mit η=0.5\eta=0.5η=0.5 ist der Faktor 1−3=−21-3=-21−3=−2, die Iterierten lauten 4,−4,8,…4,-4,8,\dots4,−4,8,… und verdoppeln sich in jedem Schritt.

In mehreren Variablen hängt die Krümmung von der Richtung ab. Der größte Eigenwert LLL der Hesse-Matrix begrenzt die nutzbare Schrittweite (η<2/L\eta<2/Lη<2/L), der kleinste μ\muμ bestimmt, wie langsam die flachste Richtung durchquert wird. Ihr Verhältnis κ=L/μ\kappa=L/\muκ=L/μ ist die Konditionszahl. Mit der besten festen Schrittweite η=2/(L+μ)\eta=2/(L+\mu)η=2/(L+μ) schrumpft der Fehler pro Schritt etwa um den Faktor (κ−1)/(κ+1)(\kappa-1)/(\kappa+1)(κ−1)/(κ+1); ein großes κ\kappaκ heißt also einen Faktor nahe eins und ein langsames Zickzack in einem langen schmalen Tal. Für die Kovarianzmatrix von zwölf großen US-Aktien seit 2010 ist κ\kappaκ etwa 333333: Der Faktor ist 0.9410.9410.941, und den Fehler auf ein Hundertstel zu senken braucht etwa 76 Schritte.

η∗=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)
  • Sichere Schrittweite: η<2/L\eta<2/Lη<2/L, wobei LLL der größte Eigenwert der Hesse-Matrix ist; sonst divergieren die Iterierten.
  • Geschwindigkeit: bestimmt durch die Konditionszahl κ=L/μ\kappa=L/\muκ=L/μ; je größer, desto langsamer der Abstieg.
  • Abbruch: stoppen, wenn ∥∇f∥\lVert\nabla f\rVert∥∇f∥ unter einer Toleranz liegt, mit einer Obergrenze für die Iterationen.
Skalieren Sie die VariablenEine große Konditionszahl entsteht oft durch Variablen in sehr verschiedenen Größenordnungen, etwa ein Gewicht zwischen 0 und 1 neben einer Volatilität in Basispunkten. Wer jede Variable auf ähnliche Größe skaliert, senkt κ\kappaκ und kann aus Tausenden Iterationen Dutzende machen. Präkonditionierung ist die allgemeine Form derselben Idee.

Lab: Was bewertet wird

  • Der erste Schritt15 Pkt.
  • Der zweite Schritt10 Pkt.
  • Die größte stabile Schrittweite15 Pkt.
  • Eine zu große Schrittweite15 Pkt.
  • Eine Konditionszahl15 Pkt.
  • Der beste Kontraktionsfaktor15 Pkt.
  • Warum schlechte Kondition langsam ist15 Pkt.
0/ 7 beantwortet
Aufgaben
1Numerische Antwort15 Pkt.Nicht beantwortet

Führen Sie das Gradientenverfahren auf f(x)=3x2f(x)=3x^2f(x)=3x2 ab x0=4x_0=4x0​=4 mit η=0.1\eta=0.1η=0.1 aus. Wie groß ist x1x_1x1​?

x1=x1 =x1=akzeptiert: ± 0.01
2Numerische Antwort10 Pkt.Nicht beantwortet

Machen Sie einen weiteren Schritt mit demselben η\etaη. Wie groß ist x2x_2x2​?

x2=x2 =x2=akzeptiert: ± 0.005
3Numerische Antwort15 Pkt.Nicht beantwortet

Für f(x)=3x2f(x)=3x^2f(x)=3x2 konvergiert das Gradientenverfahren nur, wenn η\etaη unter einer Grenze liegt. Wie groß ist diese Grenze? Geben Sie drei Dezimalstellen an.

limit=limit =limit=akzeptiert: ± 0.003
4Auswahl15 Pkt.Nicht beantwortet

Auf f(x)=3x2f(x)=3x^2f(x)=3x2 verwenden Sie η=0.5\eta=0.5η=0.5. Was passiert mit den Iterierten?

5Numerische Antwort15 Pkt.Nicht beantwortet

Die Funktion f(x,y)=x2+10y2f(x,y)=x^2+10y^2f(x,y)=x2+10y2 hat die Hesse-Matrix diag(2,20)\mathrm{diag}(2,20)diag(2,20). Wie groß ist ihre Konditionszahl κ=L/μ\kappa=L/\muκ=L/μ?

kappa=kappa =kappa=akzeptiert: ± 0.05
6Numerische Antwort15 Pkt.Nicht beantwortet

Für dieses fff verkleinert das Gradientenverfahren mit der besten festen Schrittweite den Fehler pro Schritt um etwa (κ−1)/(κ+1)(\kappa-1)/(\kappa+1)(κ−1)/(κ+1). Wie groß ist dieser Faktor? Geben Sie drei Dezimalstellen an.

rate=rate =rate=akzeptiert: ± 0.003
7In Worten erklären15 Pkt.Nicht beantwortet

Sagen Sie in ein bis zwei Sätzen, warum das Gradientenverfahren bei großer Konditionszahl langsam ist.

Mathe-ModusEingabe per Tastatur oder LaTeXAufgabe 1 von 7 · Strg ⏎ zum Prüfen

Melde dich an, um deinen Code auszuführen.

Alle Lektionen kannst du kostenlos lesen. Erstelle ein Konto oder melde dich an, um Code auszuführen, Tests zu starten und dieses Lab abzugeben.

  • IDE im Browser mit Bash-Terminal — nichts zu installieren
  • Sofortige Bewertung, XP und dein Platz auf der Skill
Konto erstellenAnmelden
ODER
Weiter mit GitHub