σμ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 Academy路线图学习路线
Ctrl K
AO
+1.2k 位学习者
登录加入 ↗
路线图学习路线
AO
+1.2k 位学习者
登录
  • 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 Academy路线图学习路线
Ctrl K
AO
+1.2k 位学习者
登录加入 ↗
路线图学习路线
AO
+1.2k 位学习者
登录
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Optimization 学习路线›模块 2 · 梯度方法›主题 2.1·~50分钟中级

梯度下降

路线进度模块 2/5 · 主题 1/3
2.1 梯度下降
—实验得分— / 100总 XP—连续天数—

沿着斜坡下行

梯度下降只重复一个动作:逆着梯度走一步,wk+1=wk−η ∇f(wk)\mathbf w_{k+1}=\mathbf w_k-\eta\,\nabla f(\mathbf w_k)wk+1​=wk​−η∇f(wk​)。数 η>0\eta>0η>0 是步长,常称学习率。η\etaη 小则安全但慢;η\etaη 大则会越过谷底,迭代点可能越跳越远。

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)

在最简单的碗形函数上,每次更新把 www 乘以 1−ηa1-\eta a1−ηa,所以迭代点趋于零当且仅当 ∣1−ηa∣<1|1-\eta a|<1∣1−ηa∣<1,即 η<2/a\eta<2/aη<2/a。取 η=1/a\eta=1/aη=1/a 一步就落在极小点上,1/a1/a1/a 到 2/a2/a2/a 之间的 η\etaη 仍然收敛,但途中会正负交替。超过 2/a2/a2/a 后因子的绝对值大于一,迭代点会发散。

在 f = 3x² 上走三步这里 f′(x)=6xf'(x)=6xf′(x)=6x,所以 a=6a=6a=6。从 x0=4x_0=4x0​=4、η=0.1\eta=0.1η=0.1 出发,因子为 1−0.6=0.41-0.6=0.41−0.6=0.4,得到 x1=1.6x_1=1.6x1​=1.6、x2=0.64x_2=0.64x2​=0.64、x3=0.256x_3=0.256x3​=0.256。稳定上限是 2/6=0.3332/6=0.3332/6=0.333。取 η=0.5\eta=0.5η=0.5 时因子为 1−3=−21-3=-21−3=−2,迭代点依次为 4,−4,8,…4,-4,8,\dots4,−4,8,…,每步大小翻倍。

多变量时各方向的曲率不同。Hessian 的最大特征值 LLL 限制了可用步长(η<2/L\eta<2/Lη<2/L),最小特征值 μ\muμ 决定穿越最平坦方向有多慢。二者之比 κ=L/μ\kappa=L/\muκ=L/μ 就是条件数。用最佳固定步长 η=2/(L+μ)\eta=2/(L+\mu)η=2/(L+μ) 时,误差每步约缩小为原来的 (κ−1)/(κ+1)(\kappa-1)/(\kappa+1)(κ−1)/(κ+1),所以 κ\kappaκ 大意味着因子接近一,在狭长山谷里缓慢地锯齿式下行。对 2010 年以来 12 只美国大盘股的协方差矩阵,κ\kappaκ 约为 333333:因子是 0.9410.9410.941,把误差缩小到百分之一约需 76 步。

η∗=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)
  • 安全步长:η<2/L\eta<2/Lη<2/L,其中 LLL 为 Hessian 最大特征值,否则迭代发散。
  • 速度:由条件数 κ=L/μ\kappa=L/\muκ=L/μ 决定,越大下降越慢。
  • 停止准则:当 ∥∇f∥\lVert\nabla f\rVert∥∇f∥ 低于容差时停止,并设迭代次数上限。
统一变量尺度条件数大往往源于变量尺度悬殊,比如介于 0 和 1 之间的权重旁边放着以基点计的波动率。把各变量缩放到相近大小能降低 κ\kappaκ,可能把几千次迭代变成几十次。预条件处理是同一想法的一般形式。

实验:评分内容

  • 第一步15 分
  • 第二步10 分
  • 最大稳定步长15 分
  • 步长过大15 分
  • 条件数15 分
  • 最佳收缩因子15 分
  • 病态为何慢15 分
0/ 已答 7 题
任务
1数值作答15 分未作答

对 f(x)=3x2f(x)=3x^2f(x)=3x2 从 x0=4x_0=4x0​=4 出发、取 η=0.1\eta=0.1η=0.1 做梯度下降,x1x_1x1​ 等于多少?

x1=x1 =x1=允许误差:± 0.01
2数值作答10 分未作答

用同一个 η\etaη 再走一步,x2x_2x2​ 等于多少?

x2=x2 =x2=允许误差:± 0.005
3数值作答15 分未作答

对 f(x)=3x2f(x)=3x^2f(x)=3x2,只有 η\etaη 小于某个上限时梯度下降才收敛。该上限是多少?保留三位小数。

limit=limit =limit=允许误差:± 0.003
4选择15 分未作答

在 f(x)=3x2f(x)=3x^2f(x)=3x2 上取 η=0.5\eta=0.5η=0.5,迭代点会怎样?

5数值作答15 分未作答

函数 f(x,y)=x2+10y2f(x,y)=x^2+10y^2f(x,y)=x2+10y2 的 Hessian 为 diag(2,20)\mathrm{diag}(2,20)diag(2,20)。其条件数 κ=L/μ\kappa=L/\muκ=L/μ 是多少?

kappa=kappa =kappa=允许误差:± 0.05
6数值作答15 分未作答

对这个 fff,用最佳固定步长的梯度下降每步把误差缩小为约 (κ−1)/(κ+1)(\kappa-1)/(\kappa+1)(κ−1)/(κ+1) 倍。这个因子是多少?保留三位小数。

rate=rate =rate=允许误差:± 0.003
7用文字解释15 分未作答

用一两句话说明:条件数很大时梯度下降为什么慢。

数学模式键盘或 LaTeX 输入第 1/7 题 · Ctrl ⏎ 检查

登录后即可运行你的代码。

所有讲解均可免费阅读。创建账户或登录后,即可运行代码、运行测试并提交此实验。

  • 浏览器内 IDE 与 bash 终端,无需安装
  • 即时评分、XP 以及你在学习路线中的位置
创建账户登录
或
使用 GitHub 继续