σμ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
  • 日本語
  • 中文
scikit-learn 学习路线›模块 3 · 诚实的评估›主题 3.6·~50分钟高级

避免过拟合的超参数搜索

路线进度模块 3/4 · 主题 6/6
3.6 避免过拟合的超参数搜索
—实验得分— / 100总 XP—连续天数—

搜索的赢家被高估

超参数搜索会尝试许多设置,在验证数据上给每个打分并保留最好的。问题在于,许多带噪得分中的最大值会向上偏,即使没有任何设置真有能力。若 NNN 个设置各有标准差为 σ\sigmaσ 的纯噪声得分,则期望的最优值约为 σ×zN\sigma\times z_Nσ×zN​,其中 z10=1.54z_{10}=1.54z10​=1.54、z100=2.51z_{100}=2.51z100​=2.51。当 IC 噪声为 σ=0.02\sigma=0.02σ=0.02 时,100100100 个无用设置的赢家看起来像 0.0500.0500.050,一个并不存在的可观信号。因此把赢家的验证得分当作其表现是乐观的,尝试的设置越多越严重。

E[max⁡i≤Nsi]≈σ zN,z10=1.54,z100=2.51;K⋅C,Ko (KiC+1)E\left[\max_{i\le N}s_i\right]\approx\sigma\,z_N,\qquad z_{10}=1.54,\quad z_{100}=2.51;\qquad K\cdot C,\qquad K_{o}\,(K_{i}C+1)E[i≤Nmax​si​]≈σzN​,z10​=1.54,z100​=2.51;K⋅C,Ko​(Ki​C+1)(1)

有三种诚实的补救办法。第一,留出一个搜索从未见过的测试集,只报告它的得分。第二,使用嵌套交叉验证:外层循环留出一个测试折,在每个外层训练集内部由内层循环做搜索,外层得分衡量包括搜索在内的整个流程。第三,缩小搜索:更少的设置、更粗的网格、只搜索真正重要的设置。若有 KoK_oKo​ 个外折、KiK_iKi​ 个内折、CCC 个候选,嵌套验证需要 Ko(KiC+1)K_o(K_iC+1)Ko​(Ki​C+1) 次拟合,要提前做好预算。而且在搜索之前,先问这个设置到底会不会有影响。

计数与真实的网格555 折下 202020 个候选要 100100100 次拟合,再加最后一次重新拟合。外层 555 折、内层 333 折、202020 个候选的嵌套验证需要 5×(3×20+1)=3055\times(3\times20+1)=3055×(3×20+1)=305 次拟合。100100100 个无用设置中的最优值预期为 2.51×0.02=0.0502.51\times0.02=0.0502.51×0.02=0.050,101010 个中的最优为 1.54×0.02=0.0311.54\times0.02=0.0311.54×0.02=0.031。若你的赢家得 0.0600.0600.060,真正需要解释的只剩 0.060−0.050=0.0100.060-0.050=0.0100.060−0.050=0.010。在真实的月度股票面板上,ridge 没有可调的东西:从 α=0.01\alpha=0.01α=0.01 到 10410^{4}104,信息系数都是 0.0330.0330.033。深度 111 到 101010 的五种树,IC 在 −0.010-0.010−0.010 与 0.0130.0130.013 之间,最好的 0.0130.0130.013 也只距零约一个标准误(0.21/257=0.0130.21/\sqrt{257}=0.0130.21/257​=0.013)。
  • 噪声的最大值看起来不像噪声:许多无用设置中的最优者看起来像能力。
  • 嵌套验证用 Ko(KiC+1)K_o(K_iC+1)Ko​(Ki​C+1) 次拟合给包括搜索在内的整个流程打分。
  • 与噪声比较:小于一个标准误的提升不算发现。

实验:评分内容

  • 100 个无用设置中的最优值15 分
  • 10 个中的最优值10 分
  • 网格搜索的拟合次数10 分
  • 嵌套验证的拟合次数15 分
  • 还需要解释的部分10 分
  • 哪种搜索是诚实的10 分
  • 嵌套验证10 分
  • 为什么赢家的得分被抬高20 分
0/ 已答 8 题
任务
1数值作答15 分未作答

100100100 个无用设置各自的 IC 带有标准差为 0.020.020.02 的噪声。期望的最优值为 σzN\sigma z_NσzN​,z100=2.51z_{100}=2.51z100​=2.51。它是多少?保留三位小数。

m=m =m=允许误差:± 0.001
2数值作答10 分未作答

只有 N=10N=10N=10 个无用设置,z10=1.54z_{10}=1.54z10​=1.54、σ=0.02\sigma=0.02σ=0.02。最优 IC 的期望是多少?保留三位小数。

m=m =m=允许误差:± 0.001
3数值作答10 分未作答

网格搜索对 C=20C=20C=20 个候选各用 K=5K=5K=5 折。不计最后的重新拟合,共做多少次拟合?

n=n =n=允许误差:± 0.01
4数值作答15 分未作答

嵌套验证有 Ko=5K_o=5Ko​=5 个外折、Ki=3K_i=3Ki​=3 个内折、C=20C=20C=20 个候选,每个外折再加一次重新拟合。需要多少次拟合,即 Ko(KiC+1)K_o(K_iC+1)Ko​(Ki​C+1)?

n=n =n=允许误差:± 0.01
5数值作答10 分未作答

你的赢家 IC 为 0.0600.0600.060,100100100 个无用设置的期望最优值为 0.0500.0500.050。得分中超出纯运气的部分是多少?保留三位小数。

x=x =x=允许误差:± 0.001
6选择10 分未作答

哪种流程能诚实地估计调好的模型在新数据上的表现?

7排列步骤10 分未作答

把嵌套交叉验证的步骤按正确顺序排列。

拖动以重新排序;也可聚焦某项,按空格抬起,用方向键移动,再按空格放下。

  1. 1在外层测试折上给重新拟合的模型打分
  2. 2留出一个外层测试折
  3. 3在整个外层训练集上重新拟合最佳设置
  4. 4在外层训练数据上用内层交叉验证搜索设置
8用文字解释20 分未作答

用一两句话解释:为什么大规模超参数搜索找到的最好验证得分会高估模型在新数据上的表现。

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

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

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

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