σμ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 学习路线›模块 2 · 核心模型›主题 2.3·~55分钟中级

决策树与随机森林

路线进度模块 2/4 · 主题 3/3
2.3 决策树与随机森林
—实验得分— / 100总 XP—连续天数—

连续提问与很多棵树

决策树对特征提出一连串“是或否”的问题(比如动量是否高于某个值),最后落到一片叶子,预测到达该叶子的训练行的平均值(或多数类)。它贪心地选择每个问题:在所有特征和切分点中,选出使两个子组最“纯”的那个。对类别,纯度用基尼不纯度 1−∑pk21-\sum p_k^{2}1−∑pk2​ 衡量,纯组为 000。一次切分的增益是父节点不纯度减去按大小加权的子节点不纯度。树可以拟合任何东西,所以很深的树会记住训练行里的噪声。

G=1−∑kpk2,ΔG=Gparent−(nLnGL+nRnGR),Var ⁣(fˉ)=ρσ2+1−ρBσ2G=1-\sum_k p_k^{2},\qquad \Delta G=G_{\mathrm{parent}}-\left(\frac{n_L}{n}G_L+\frac{n_R}{n}G_R\right),\qquad \mathrm{Var}\!\left(\bar f\right)=\rho\sigma^{2}+\frac{1-\rho}{B}\sigma^{2}G=1−k∑​pk2​,ΔG=Gparent​−(nnL​​GL​+nnR​​GR​),Var(fˉ​)=ρσ2+B1−ρ​σ2(1)

随机森林对许多棵树取平均。每棵树在行的自助样本上生长,且在每次切分时只看特征的一个随机子集,所以各树不同。若 BBB 棵树的方差都是 σ2\sigma^{2}σ2、两两相关系数为 ρ\rhoρ,它们平均后的方差为 ρσ2+(1−ρ)σ2/B\rho\sigma^{2}+(1-\rho)\sigma^{2}/Bρσ2+(1−ρ)σ2/B:平均消除了树与树之间相互独立的部分,只留下共同的部分。因此森林比一棵深树过拟合少,但当真实信号很弱(如收益)时,它仍会拟合噪声。务必用更晚的数据来评判它。

手算一次切分与真实的森林某节点有 666 个上涨日和 444 个下跌日:G=1−0.62−0.42=0.48G=1-0.6^{2}-0.4^{2}=0.48G=1−0.62−0.42=0.48。一次切分把 [5 涨,1 跌][5\text{ 涨},1\text{ 跌}][5 涨,1 跌] 送到左边,G=1−(5/6)2−(1/6)2=0.278G=1-(5/6)^{2}-(1/6)^{2}=0.278G=1−(5/6)2−(1/6)2=0.278,把 [1,3][1,3][1,3] 送到右边,G=0.375G=0.375G=0.375。加权不纯度为 0.6×0.278+0.4×0.375=0.3170.6\times0.278+0.4\times0.375=0.3170.6×0.278+0.4×0.375=0.317,所以增益为 0.48−0.317=0.1630.48-0.317=0.1630.48−0.317=0.163。对 ρ=0.3\rho=0.3ρ=0.3、σ2=1\sigma^{2}=1σ2=1、B=100B=100B=100 棵树的森林,方差为 0.3+0.7/100=0.3070.3+0.7/100=0.3070.3+0.7/100=0.307,仅略高于无论多少棵树都无法突破的 0.30.30.3 下限。在真实的月度股票面板上,由 404040 棵深度 888 的树组成的森林在样本内的信息系数为 0.1020.1020.102,但在滚动前向测试中只有 −0.008-0.008−0.008,而 ridge 回归为 +0.033+0.033+0.033。
  • 贪心的纯度:每次切分都选当下使不纯度下降最多的那个。
  • 平均降低方差:无论加多少棵树,森林都剩下共同部分 ρσ2\rho\sigma^{2}ρσ2。
  • 灵活的模型会对弱信号过拟合:样本内能力可能是真的,样本外却为零。

实验:评分内容

  • 节点的不纯度10 分
  • 子节点的不纯度10 分
  • 加权不纯度15 分
  • 切分的增益15 分
  • 森林的方差15 分
  • 为什么对树取平均有帮助10 分
  • 配对术语10 分
  • 样本内好,之后差15 分
0/ 已答 8 题
任务
1数值作答10 分未作答

某节点有 666 个上涨日、444 个下跌日。它的基尼不纯度 1−p12−p221-p_{1}^{2}-p_{2}^{2}1−p12​−p22​ 是多少?保留两位小数。

g=g =g=允许误差:± 0.005
2数值作答10 分未作答

一次切分把 555 个上涨日和 111 个下跌日送到左子节点。它的基尼不纯度是多少?保留三位小数。

g=g =g=允许误差:± 0.002
3数值作答15 分未作答

左子节点(101010 行中的 666 行)不纯度 0.2780.2780.278,右子节点(101010 行中的 444 行)为 0.3750.3750.375。按大小加权的子节点不纯度是多少?保留三位小数。

g=g =g=允许误差:± 0.002
4数值作答15 分未作答

父节点不纯度为 0.480.480.48,子节点的加权不纯度为 0.3170.3170.317。这次切分的增益是多少?保留三位小数。

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

各树方差 σ2=1\sigma^{2}=1σ2=1,两两相关系数 ρ=0.3\rho=0.3ρ=0.3。B=100B=100B=100 棵树平均后的方差为 ρσ2+(1−ρ)σ2/B\rho\sigma^{2}+(1-\rho)\sigma^{2}/Bρσ2+(1−ρ)σ2/B。它是多少?保留三位小数。

v=v =v=允许误差:± 0.002
6选择10 分未作答

对许多不同的树取平均,主要降低什么?

7配对10 分未作答

把每个术语与其含义配对。

为左侧每一项选择配对项。

叶子
基尼不纯度
自助样本
深度
8用文字解释15 分未作答

森林的信息系数在样本内为 0.1020.1020.102,滚动前向测试中为 −0.008-0.008−0.008,而 ridge 回归在两者中都是 0.0330.0330.033。用一两句话解释原因。

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

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

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

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