连续提问与很多棵树
决策树对特征提出一连串“是或否”的问题(比如动量是否高于某个值),最后落到一片叶子,预测到达该叶子的训练行的平均值(或多数类)。它贪心地选择每个问题:在所有特征和切分点中,选出使两个子组最“纯”的那个。对类别,纯度用基尼不纯度 1−∑pk2 衡量,纯组为 0。一次切分的增益是父节点不纯度减去按大小加权的子节点不纯度。树可以拟合任何东西,所以很深的树会记住训练行里的噪声。
G=1−k∑pk2,ΔG=Gparent−(nnLGL+nnRGR),Var(fˉ)=ρσ2+B1−ρσ2(1) 随机森林对许多棵树取平均。每棵树在行的自助样本上生长,且在每次切分时只看特征的一个随机子集,所以各树不同。若 B 棵树的方差都是 σ2、两两相关系数为 ρ,它们平均后的方差为 ρσ2+(1−ρ)σ2/B:平均消除了树与树之间相互独立的部分,只留下共同的部分。因此森林比一棵深树过拟合少,但当真实信号很弱(如收益)时,它仍会拟合噪声。务必用更晚的数据来评判它。
手算一次切分与真实的森林某节点有
6 个上涨日和
4 个下跌日:
G=1−0.62−0.42=0.48。一次切分把
[5 涨,1 跌] 送到左边,
G=1−(5/6)2−(1/6)2=0.278,把
[1,3] 送到右边,
G=0.375。加权不纯度为
0.6×0.278+0.4×0.375=0.317,所以增益为
0.48−0.317=0.163。对
ρ=0.3、
σ2=1、
B=100 棵树的森林,方差为
0.3+0.7/100=0.307,仅略高于无论多少棵树都无法突破的
0.3 下限。在真实的月度股票面板上,由
40 棵深度
8 的树组成的森林在样本内的信息系数为
0.102,但在滚动前向测试中只有
−0.008,而 ridge 回归为
+0.033。
- 贪心的纯度:每次切分都选当下使不纯度下降最多的那个。
- 平均降低方差:无论加多少棵树,森林都剩下共同部分 ρσ2。
- 灵活的模型会对弱信号过拟合:样本内能力可能是真的,样本外却为零。
实验:评分内容
- 节点的不纯度10 分
- 子节点的不纯度10 分
- 加权不纯度15 分
- 切分的增益15 分
- 森林的方差15 分
- 为什么对树取平均有帮助10 分
- 配对术语10 分
- 样本内好,之后差15 分