【机器学习】06_集成学习

29 阅读2分钟

一、 集成学习基础概论

集成学习(Ensemble Learning)的核心思想是通过构建并结合多个个体学习器(Individual Learner)来完成学习任务,以获得比单一学习器更好的泛化能力和性能 1。

1. 学习器分类

  • 同质集成(Homogeneous): 集成中只包含同种类型的个体学习器(如全是决策树),此时个体学习器称为基学习器 2。
  • 异质集成(Heterogeneous): 个体学习器由不同的学习算法生成(如结合SVM和逻辑回归),通常称为“组件学习器” 3。

2. 组合范式

  • 并行式(Parallel): 学习器之间不存在强依赖关系,可并行生成(如 Bagging、随机森林)
  • 序列式(Sequential): 学习器之间存在强依赖关系,必须串行生成,后续学习器会对前驱学习器的错误进行改进(如 Boosting)

二、 Boosting:串行优化的艺术

Boosting 是一类通过不断调整样本分布来训练一系列基学习器的方法,旨在降低偏差(Bias)

1. AdaBoost(自适应提升)

AdaBoost 的核心逻辑是:“关注错题”。它根据前一轮基学习器的表现调整样本权重,使做错的样本在下一轮获得更多关注 7。

晦涩公式解析:基学习器权重系数 αt\alpha_t

αt=12ln1etet\alpha_{t}=\frac{1}{2}ln\frac{1-e_{t}}{e_{t}}

  • 意义: 该公式决定了第 tt 个学习器在最终投票中的话语权。
    • 解释: ete_t 是错误率。当错误率越小时,αt\alpha_t 越大(代表该专家越可靠);当错误率 et=0.5e_t = 0.5(相当于随机猜测)时,αt=0\alpha_t = 0;如果错误率大于 0.5,算法通常会停止迭代 晦涩公式解析:样本权重更新 wt+1,iw_{t+1,i} wt+1,i=wtiZtexp(αtyigt(xi))w_{t+1,i}=\frac{w_{ti}}{Z_{t}}exp(-\alpha_{t}y_{i}g_{t}(x_{i}))
  • 意义: 更新下一轮训练时每个样本的重要性。
    • 解释: yigt(xi)y_i g_t(x_i) 代表分类是否正确。若分类正确,乘积为正,加上负号后指数项变小,样本权重降低;若分类错误,权重增大,迫使下一个学习器去解决这些“难题”

2. GBDT(梯度提升树)

GBDT 不再像 AdaBoost 那样通过调权重来解决难题,而是去拟合损失函数的负梯度(又称伪残差)

  • 原理: 每一棵新树都是在当前模型的梯度下降方向上构建的,从而逐步降低整体损失
  • 优势: 可以方便地扩展到各种损失函数(如回归的平方损失、分类的交叉熵)

三、 Bagging 与随机森林:并行的稳定性

此类方法通过增加学习器之间的多样性来降低方差(Variance)

1. Bagging(装袋法)

  • 自助采样(Bootstrap Sampling): 采用有放回的随机采样。大约 36.8% 的样本在采样中始终不会被选中,这些被称为“包外(OOB)数据”,可用于性能评估
  • 策略: 分类任务通常使用简单多数投票法;回归任务使用简单算术平均法

2. 随机森林(Random Forest, RF)

随机森林是 Bagging 的工业级加强版,引入了双重随机性:

  • 样本扰动: 来自自助采样
  • 属性扰动: 在决策树划分结点时,先随机选择 kk 个特征子集,再从中选最优特征
  • 优点: 泛化性能极强,抗噪声能力好,通常不需要剪枝

四、 Stacking(堆叠法):元学习器

Stacking 是一种多层集成结构,它将多个初级学习器的预测结果作为“新特征”,再训练一个**次级学习器(元模型)**来得出最终结论

  • 核心逻辑: 通过次级学习器自动学习各个基学习器的权重,而不是简单地手动分配

五、 多样性(Diversity):集成的“圣杯”

集成学习之所以有效,是因为个体学习器之间“好而不同”

1. 误差-分歧分解(Error-Ambiguity Decomposition)

核心公式:E=EˉAˉE = \bar{E} - \bar{A} 24* EE: 集成的泛化误差

  • Eˉ\bar{E}: 个体学习器误差的加权均值
  • Aˉ\bar{A}: 个体学习器的加权分歧值(多样性的度量)
  • 结论: 个体学习器准确度越高(Eˉ\bar{E} 越小)、多样性越大(Aˉ\bar{A} 越大),则集成效果越好
  1. 增强多样性的方法
  • 数据样本扰动: 如采样法(Bagging/AdaBoost)

  • 输入属性扰动: 如随机子空间,随机选择特征子集进行训练

  • 输出表示扰动: 如翻转法,随机改变部分样本的标签

  • 算法参数扰动: 改变神经网络的初始权重等

总结:如何选择集成策略?

方法核心目标适用场景关键特点
Boosting降低偏差 34针对欠拟合,提高模型精度串行执行,基学习器权重自适应 35
Bagging/RF降低方差 36针对过拟合,提高稳定性并行执行,双重随机性引入 37
Stacking综合多种优势竞赛或处理极复杂任务结构化组合,元模型自动加权 38