3. 决策树与集成学习核心概念

在金融风控、量化选股、违约预测等任务中,单棵决策树往往“看起来能解释,但不够稳”。真正让 XGBoost 与 LightGBM 成为行业主力的,是它们背后的集成学习思想。理解 CART、信息增益、基尼指数,以及 Bagging、Boosting、Stacking 的差异,是后续调参与建模的地基。

一、CART:金融树模型的“基本单元”

CART(Classification and Regression Tree)是一种二叉树结构,每个内部节点只做“是/否”二分。它既能做分类,也能做回归,这正好契合金融场景中“是否违约”和“违约损失金额”两类任务。CART 在建树时采用贪心策略:每次选择让子节点“纯度提升最大”的特征与切分点。

分类任务常用基尼指数衡量不纯度,回归任务常用均方误差。基尼指数越小,节点越纯。其公式为:

Gini(p) = 1 - Σ p_k²
其中 p_k 表示第 k 类样本在当前节点中的占比

例如一个节点中“好客户”占 80%、“坏客户”占 20%,则 Gini = 1 − (0.8² + 0.2²) = 0.32。若切分后两个子节点分别接近 100% 纯,则整体不纯度显著下降,这次切分就被保留。

二、信息增益与基尼指数:两种“纯度尺子”

信息增益来自 ID3/C4.5,用熵的下降量衡量切分价值;基尼指数则是 CART 的默认选择。二者目标一致——让子节点更纯,但计算代价和偏好不同。

指标所属算法计算方式特点
信息增益ID3父节点熵 − 子节点加权熵偏向取值多的特征
信息增益率C4.5信息增益 / 特征固有值缓解取值多偏好
基尼指数CART1 − Σ p_k²无对数运算,速度快

在金融高维稀疏特征(如用户行为埋点、征信标签)中,基尼指数因计算简单、对连续值二分友好,成为 XGBoost、LightGBM 等工程实现的基础。

三、Bagging、Boosting、Stacking:三种集成范式

单棵树方差大、易过拟合。集成学习通过组合多棵树,把“弱”变“强”。三种主流范式在训练顺序、样本权重、组合方式上截然不同。

  • Bagging:并行训练多棵独立树,每棵树用自助采样(bootstrap)得到的不同子集,最后投票或平均。代表是随机森林。它主要降低方差,适合噪声较大的金融数据。
  • Boosting:串行训练,后一棵树重点拟合前面模型的残差或梯度。代表是 AdaBoost、GBDT、XGBoost、LightGBM。它主要降低偏差,精度高但需防过拟合。
  • Stacking:先用多个基模型产生预测,再用一个元模型(meta-learner)学习如何组合。它不改变基模型训练方式,而是学习“谁更可信”。

一句话记忆:Bagging 是“多个专家独立投票”,Boosting 是“学生接力补错”,Stacking 是“再请一位裁判综合专家意见”。

Bagging 并行 · 降方差 样本子集1 样本子集2 树模型1 树模型2 投票 / 平均 Boosting 串行 · 降偏差 树模型1 树模型2 树模型3 树模型4 加权累加 Stacking 分层 · 元学习 基模型A 基模型B 基模型C 基模型D 元模型融合

四、金融场景中的选择与误区复盘

在信贷违约预测中,若数据噪声大、特征维度高,随机森林(Bagging)常作为稳健基线;若追求 AUC 极致,XGBoost/LightGBM(Boosting)更常见;Stacking 则多用于竞赛或需要融合多源模型的场景,但线上推理成本高,需谨慎。

实战建议:先用单棵 CART 观察特征切分与业务逻辑是否合理,再用 Boosting 提升精度。不要一上来就堆叠复杂模型,否则很难定位是特征问题还是模型问题。

常见误区:① 认为“树越多越好”——Boosting 树过多会过拟合,需配合学习率与早停;② 把 Bagging 和 Boosting 混为一谈——前者并行独立,后者串行依赖;③ 忽略基尼指数与信息增益的偏好差异,导致高基数特征被误选。

掌握这些核心概念后,后续学习 XGBoost 的目标函数、LightGBM 的直方图与 Leaf-wise 生长策略时,就能清楚每一步在解决什么问题,而不是只记参数。