集成学习
在上一篇文章中,我们讨论了决策树的基本原理和它在量化场景下的致命缺陷:过拟合。单棵决策树很容易把市场噪声当成规律,导致回测优秀、实盘失效。一个自然的改进思路是:既然单棵树不可靠,那么能否训练多棵树,让它们共同做决定?
这就是集成学习(Ensemble Learning)的核心思想。
1. 什么是集成学习?
集成学习的思路并不复杂:训练多个基础模型,再按某种方式将它们的预测结果组合起来,从而获得比单个模型更稳定、更准确的输出。这些基础模型通常被称为弱学习器(weak learner),而组合后的整体模型被称为强学习器(strong learner)。
在决策树场景下,集成学习通常表现为训练多棵决策树,然后通过投票或平均的方式得到最终预测。根据训练方式和组合逻辑的不同,集成学习主要分为两大流派:Bagging 和 Boosting。
2. Bagging:并行的民主投票
代表模型:随机森林(Random Forest)
Bagging 是 Bootstrap Aggregating 的缩写,它的工作机制可以概括为三步:
-
Bootstrap 采样:从原始训练集中有放回地随机抽取多个样本子集。每个子集的大小通常与原始训练集相同,但由于是有放回抽样,某些样本可能出现多次,某些样本可能一次都不出现。这样,每个子集都略有不同。
-
独立训练:对每个 Bootstrap 子集分别训练一棵决策树。每棵树在训练时还可以进一步引入随机性:在每个分裂节点,不比较全部特征,而是随机选取一个特征子集来寻找最佳切分。这就是随机森林中“随机”的另一个来源。
-
投票或平均:所有树并行训练完成后,对于分类问题,最终预测由多数投票决定;对于回归问题,最终预测取所有树输出的平均值。
Bagging 的核心目标是降低方差(variance)。单棵决策树的预测结果容易受到训练数据中微小变化的影响,方差较大。通过训练多棵在不同数据子集和特征子集上得到的树,并将它们的预测结果平均,可以显著降低最终模型对特定数据扰动的敏感程度。形象地说,多个专家独立判断后取平均,个别专家的极端错误会被其他专家中和,这就是群体平均效应在这里的体现。
3. Boosting:串行的错题本式迭代
代表模型:AdaBoost、GBDT、XGBoost、LightGBM
Boosting 的思路与 Bagging 完全不同。它不追求并行训练、独立投票,而是让树按顺序逐个生成,每一棵新树都重点纠正前面所有树留下的错误。
具体来说:
-
串行训练:模型按顺序逐个添加。第一棵树先对原始目标进行拟合。
-
聚焦残差:第二棵树的目标不再是直接预测原始目标,而是预测“第一棵树预测值与真实值之间的差距”,也就是残差(residual)。第三棵树继续拟合前两棵树之后仍未解释的部分。这个过程可以不断重复。
-
加权累加:最终预测结果是所有树的输出按一定权重累加。每棵树不再是平等投票,而是根据其对整体损失下降的贡献程度来决定权重。
Boosting 的核心目标是降低偏差(bias)。它允许模型不断修正错误,逐步逼近训练数据中那些复杂、微弱的规律。如果 Bagging 是“多个学生独立作答,最后取平均分”,那么 Boosting 更像是“一个学生反复看错题本,不断弥补自己的短板”。
从数学上看,Boosting 可以理解为一个加法模型:
$$F_m(x) = F_{m-1}(x) + \eta \cdot h_m(x)$$
其中 $F_{m-1}$ 是前 $m-1$ 棵树累加后的模型,$h_m$ 是第 $m$ 棵树,$\eta$ 是学习率。每一棵新树 $h_m$ 的拟合目标不再是原始标签 $y$,而是当前模型的负梯度方向,在平方损失下就是残差 $y - F_{m-1}(x)$。这也是“梯度提升”(Gradient Boosting)名称的由来。
4. 量化视角下为什么更偏爱 Boosting?
在量化交易中,Boosting 系列模型(尤其是 GBDT、XGBoost 和 LightGBM)的使用频率远高于随机森林,这是由金融数据的特点和两类方法的差异共同决定的。
第一,金融数据中的有效信号很弱。 股票收益率等金融序列通常具有极低的信噪比,真实的 Alpha 信号往往隐藏在复杂的因子交互和非线性关系中。模型需要具备足够强的拟合能力,才能把这些微弱规律从噪声中分离出来。
第二,Bagging 的平均机制可能稀释有效信号。 Bagging 通过平均来降低方差,但在金融数据中,平均的过程不仅会抵消噪声,也可能把本就微弱的真实信号一并平滑掉。对于弱信号场景,这种“求稳”的代价可能是预测能力的上限被明显压低。
第三,Boosting 的迭代残差拟合更适合挖掘表格数据中的复杂关系。 金融因子数据通常是结构化表格数据,Boosting 系列模型在这类数据上往往能取得更优的泛化性能。只要配合适当的正则化手段(如限制树深度、控制学习率、引入早停等),Boosting 可以有效防止过拟合,同时保持较高的精度。
因此,在量化选股、择时、风险预测等任务中,Boosting 成为更主流的选择。而 LightGBM 作为 Boosting 家族中工程优化较好、训练效率较高的代表,被广泛应用于实际量化策略中。
5. 总结
- 集成学习通过组合多个弱学习器来提升整体性能,主要分为 Bagging 和 Boosting 两大流派。
- Bagging 以随机森林为代表,并行训练、投票或平均,核心是降低方差,让结果更稳定。
- Boosting 以 GBDT、XGBoost、LightGBM 为代表,串行训练、不断拟合残差,核心是降低偏差,让模型更精确。
- 在量化交易中,由于金融数据信噪比低、有效信号弱,Boosting 通常比 Bagging 更受青睐。
理解 Bagging 和 Boosting 的区别,是进一步学习 GBDT 和 LightGBM 的基础。在下一篇文章中,我们将深入 GBDT 的数学原理,看看梯度提升究竟是如何一步步逼近真实规律的。