集成学习

00:00
9 min Advanced 2026/6/15

集成学习原理、Bagging/Boosting框架、Random Forest/AdaBoost/GBDT/XGBoost/LightGBM详解。

1. 集成学习原理

集成学习通过组合多个基学习器来获得比单一学习器更好的性能。

1.1 核心思想

理论保证:如果每个弱学习器的准确率略高于随机猜测(),则随着弱学习器数量增加,集成的错误率指数下降:

其中 为优势度, 为基学习器数量。

1.2 多样性来源

来源方法代表算法
数据扰动Bootstrap采样Bagging
特征扰动随机特征子集Random Forest
算法扰动不同算法/参数异质集成
标签扰动样本权重调整Boosting

2. Bagging与随机森林

2.1 Bagging

Bootstrap Aggregating:通过有放回采样生成多个子训练集,分别训练基学习器,最后投票/平均。

采样比例:每个Bootstrap样本约包含 的原始样本:

Out-of-Bag(OOB)估计:未被采样的 样本可作为验证集,无需额外划分。

2.2 随机森林

在Bagging基础上增加特征随机性

参数说明典型值
n_estimators树的数量100~500
max_features每次分裂考虑的特征数(分类)/ (回归)
max_depth树的最大深度不限制或较大值
min_samples_split分裂最小样本数2~10

特征重要性

3. Boosting框架

3.1 Boosting原理

Boosting 通过序列训练基学习器,每个新学习器重点关注前一轮的错误样本:

h1 → 评估 → 更新样本权重 → h2 → 评估 → 更新样本权重 → h3 → ... → 组合

3.2 AdaBoost

指数损失函数

算法流程

  1. 初始化样本权重
  2. 对于
    • 用权重 训练弱学习器
    • 计算加权错误率:
    • 计算学习器权重:
    • 更新样本权重:
    • 归一化权重

最终预测

3.3 GBDT

梯度提升决策树:用负梯度近似残差,每棵树拟合当前模型的负梯度:

回归(MSE损失):负梯度恰好等于残差

学习率收缩

为学习率,通常取

4. XGBoost

4.1 目标函数

XGBoost 在损失函数中加入正则化项

正则化项:

其中 为叶节点数, 为叶节点权重。

4.2 二阶泰勒展开

其中:

4.3 最优分裂

叶节点最优权重:

分裂增益:

4.4 XGBoost特性

特性说明
二阶优化利用二阶导数更精确
正则化L1+L2正则化防止过拟合
列采样似RF的特征随机
稀疏感知自动处理缺失
并行特征
缓存优化缓存感知访问模式

5. LightGBM

5.1 核心创新

GOSS(Gradient-based One-Side Sampling)

  • 保留梯度样本(学习贡献大)
  • 随机丢弃小梯度样本
  • 梯度样本乘以放大系数

EFB(Exclusive Feature Bundling)

  • 互斥特征(很少同时非零)捆绑为一个特征
  • 减少特征数量,加速训练

5.2 Leaf-wise vs Level-wise

策略说明
Level-wise (XGBoost)层级生长不易过拟合低效(不必要分裂)
Leaf-wise (LightGBM)节点最大增益优先可能过拟合

5.3 三大框架对比

维度XGBoostLightGBMCatBoost
生长策略Level-wiseLeaf-wiseLevel-wise
特征直方支持默认支持
类别特征编码原生支持原生支持
缺失值处理自动自动自动
训练
内存占用
过拟合风险
适用场景通用大数据类别特征

知识检测

学习进度

-- 已学文档
--% 知识覆盖率

学习推荐

专注模式