σμ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 学习路线›模块 5 · 优化实战›主题 5.1·~50分钟高级

非凸问题的陷阱与重启

路线进度模块 5/5 · 主题 1/2
5.1 非凸问题的陷阱与重启
—实验得分— / 100总 XP—连续天数—

当山谷不止一个时

许多有意思的模型都不是凸的。它们的目标有多个局部极小点、鞍点和平坦高原,梯度下降只会滚进它出发时所在的山谷。以 f(x)=x4−3x2+xf(x)=x^4-3x^2+xf(x)=x4−3x2+x 为例,其导数 4x3−6x+14x^3-6x+14x3−6x+1 在 x=−1.301x=-1.301x=−1.301、x=0.170x=0.170x=0.170、x=1.131x=1.131x=1.131 处为零。第一个和最后一个是极小点,fff 分别为 −3.514-3.514−3.514 和 −1.070-1.070−1.070,中间的是二者之间的小山丘。从 x0=2x_0=2x0​=2 出发的小步长下降停在 1.1311.1311.131,那只是局部极小;从 x0=−2x_0=-2x0​=−2 出发则停在全局极小 −1.301-1.301−1.301。像 x0=0.1x_0=0.1x0​=0.1 与 x0=0.2x_0=0.2x0​=0.2 这样隔着 0.1700.1700.170 处山丘、彼此很近的两个起点,也会进入不同的山谷。

f(x)=x4−3x2+x,f′(x)=4x3−6x+1,f(−1.301)=−3.514,f(1.131)=−1.070f(x)=x^{4}-3x^{2}+x,\qquad f'(x)=4x^{3}-6x+1,\qquad f(-1.301)=-3.514,\quad f(1.131)=-1.070f(x)=x4−3x2+x,f′(x)=4x3−6x+1,f(−1.301)=−3.514,f(1.131)=−1.070(1)

鞍点是另一个陷阱。那里梯度为零,但 Hessian 的特征值有正有负,函数在某些方向下降、在另一些方向上升。高维空间中大多数驻点都是鞍点,普通梯度下降在其附近会慢如爬行。动量、小批量的噪声和二阶信息都有助于逃离。大范围内梯度极小的高原看似收敛,其实并不是。

标准对策是重启。从 KKK 个不同起点运行优化器,保留目标值最低的结果。若每个起点独立地以概率 ppp 落入全局山谷,则 KKK 个起点中至少有一个落入的概率是 1−(1−p)K1-(1-p)^K1−(1−p)K。对 p=0.2p=0.2p=0.2、K=10K=10K=10,这是 0.8930.8930.893;要达到 99%99\%99% 需要 K≥ln⁡0.01/ln⁡0.8=20.6K\ge\ln0.01/\ln0.8=20.6K≥ln0.01/ln0.8=20.6,即 21 个起点。更好的起点也有帮助:凸松弛的解、昨天的校准结果,或对最关键的少数参数做网格搜索。

  • 局部极小:下降停在起点所在的山谷,所以起点决定答案。
  • 鞍点与高原:梯度为零或极小却不是极小点;动量和噪声有帮助。
  • 重启:KKK 个起点成功的概率为 1−(1−p)K1-(1-p)^K1−(1−p)K;保留最优目标值。
拟合好不等于拟合稳定在校准中,几组差别很大的参数可能达到几乎相同的目标值。重启之后,不仅要比较最优目标,还要比较不同起点和不同日期的参数。如果拟合同样好而参数却跳来跳去,说明问题识别不良,换更漂亮的优化器也无济于事:应当加约束、做正则化或减少参数。

实验:评分内容

  • 全局极小值15 分
  • 从 x = 2 出发15 分
  • 两个相近的起点15 分
  • 随机重启的成功率15 分
  • 需要多少次重启15 分
  • 鞍点附近10 分
  • 比较重启结果15 分
0/ 已答 7 题
任务
1数值作答15 分未作答

对 f(x)=x4−3x2+xf(x)=x^4-3x^2+xf(x)=x4−3x2+x,全局极小点在 x=−1.3008x=-1.3008x=−1.3008。该点的 fff 是多少?保留两位小数。

fglob=fglob =fglob=允许误差:± 0.01
2选择15 分未作答

对 f(x)=x4−3x2+xf(x)=x^4-3x^2+xf(x)=x4−3x2+x 的小步长梯度下降从 x0=2x_0=2x0​=2 出发。它停在哪里?

3选择15 分未作答

fff 的山丘在 x=0.170x=0.170x=0.170。从 x0=0.1x_0=0.1x0​=0.1 和 x0=0.2x_0=0.2x0​=0.2 出发的小步长下降分别停在哪里?

4数值作答15 分未作答

每个随机起点独立地以概率 p=0.2p=0.2p=0.2 到达全局山谷。用 K=10K=10K=10 个起点,至少一个成功的概率是多少?保留三位小数。

psucc=psucc =psucc=允许误差:± 0.002
5数值作答15 分未作答

当 p=0.2p=0.2p=0.2 时,使成功概率至少达到 99%99\%99% 的最小起点数 KKK 是多少?

k=k =k=允许误差:± 0.5
6选择10 分未作答

关于鞍点,哪条陈述是正确的?

7用文字解释15 分未作答

用一两句话说明:如何在多次重启的校准结果中做选择,以及还要检查什么。

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

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

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

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