集成学习是什么?
集成学习 = 多个弱模型组合成一个强模型 集成学习就是 「三个臭皮匠顶个诸葛亮」
用不同思路、不同结构的多个简单模型互补,解决单模型欠拟合、过拟合、不稳定、精度低 的问题
核心目的是为了解决什么问题?
解决单一模型的三大硬伤:
-
单一模型能力不足
简单模型(单棵决策树、线性模型)表达力弱,欠拟合,抓不住数据复杂规律。
-
单一模型不稳定、易出错
单个模型容易受噪声、异常值影响,泛化能力差 ,换一批数据效果就崩。
-
平衡偏差 & 方差
-
高偏差:模型太简单,学得不够(欠拟合)
-
高方差:模型太复杂,死记数据(过拟合)
集成通过 多模型互补 ,同时压低误差、提升整体预测精度与稳定性。
三大经典集成学习框架(核心分类)
| 框架 | 训练方式 | 核心作用 | 典型代表 |
|---|---|---|---|
| Boosting | 串行迭代 | 降偏差、提精度 | LightGBM、XGBoost |
| Bagging | 并行独立 | 降方差、稳模型 | 随机森林 |
| Stacking | 两层堆叠 | 多模型融合、上限更高 | 多层模型堆叠 |
1. Boosting 提升法(串行、改错型)
核心逻辑 :串行训练,后一个模型专门纠正前一个模型的错误 ,重点降低偏差。用来解决分类、回归、排序任务,大幅度提升预测准确率的算法体系。
-
训练方式:顺序训练,强依赖上一轮结果
-
特点:精度极高,适合表格数据、风控、预测
-
代表算法:
- AdaBoost(初代):早期经典,靠调整样本权重,错的样本权重加大
- GBDT(梯度提升树):用梯度拟合残差,现代 Boosting 基础
- XGBoost(GBDT 加强版):GBDT 工程加强版,加正则、优化
- LightGBM (轻量化高速 GBDT):是微软于 2017 年开源的高效梯度提升树(GBDT)框架 ,GBDT 极速优化版。以训练快、内存省、精度高、支持大规模数据著称,是结构化数据建模的首选工具。
- CatBoost(类别特征优化):专门优化类别特征的 Boosting
2. Bagging 装袋法(并行、随机型)
核心逻辑 :并行独立训练,每个模型看不同数据 / 特征,投票融合,重点降低方差、防过拟合。
-
训练方式:多模型同时训练、互不干扰
-
特点:抗噪声、稳定性强
-
代表算法:
- 随机森林(Random Forest,最常用)
- Bootstrap 抽样 + 多数投票 / 平均
3. Stacking / Blending 堆叠融合(高阶组合)
核心逻辑:用「第一层多个模型输出」当作新特征,再训练第二层模型做最终决策。
- 定位:模型二次融合,追求极致精度
- 适用:竞赛、高精度业务场景
- 区别:
- Stacking:用交叉验证防过拟合
- Blending:直接划分训练 / 验证集,简单粗暴
LightGBM简介
一、核心定位与原理
-
本质:GBDT 的工程化优化版
- 逐轮训练决策树(弱学习器)
- 每棵树拟合前一轮残差 / 梯度
- 最终预测 = 所有树输出加权求和
-
四大核心优化(速度 / 内存关键)
-
直方图算法(Histogram)
- 特征值离散化分桶,代替排序寻点
- 计算 / 内存大幅下降
-
按叶生长(Leaf-wise)
- 每次选损失下降最大的叶子分裂
- 同复杂度下精度更高(易过拟合,需控
num_leaves)
-
梯度单边采样(GOSS)
- 保留梯度大样本、随机丢弃梯度小样本
- 提速且保精度
-
互斥特征捆绑(EFB)
- 合并互斥稀疏特征
- 降维、加速
-
二、主要优势
- 极快训练 :比 XGBoost 快10--100 倍
- 低内存 :直方图分桶,内存约为 XGBoost 的1/10
- 原生支持类别特征:无需 One-Hot
- 支持并行 / 分布式 / GPU
- 内置特征重要性、早停(Early Stopping)
三、适用场景
- 分类 / 回归 / 排序(CTR、信用评分、搜索排序)
- 金融风控、推荐系统、时间序列预测
- Kaggle 结构化数据比赛主流工具
四、与同类模型对比(简要)
| 特性 | LightGBM | XGBoost | CatBoost |
|---|---|---|---|
| 训练速度 | 最快 | 较慢 | 中 |
| 内存占用 | 最低 | 高 | 中 |
| 类别特征 | 原生支持 | 弱 | 最优 |
| 过拟合控制 | 需手动调参 | 较好 | 自动 |
一句话:LightGBM = 更快、更省、更适合大数据的 GBDT。