机器学习与数据挖掘(第八章)——集成学习详解

📌 本文适用于准备复习《机器学习与数据挖掘》课程第八章“集成学习”的同学,覆盖了核心理论、偏差-方差理解、以及常见集成方法 AdaBoost 与 Random Forest 的具体流程。


一、集成学习概述

集成学习(Ensemble Learning)是将多个基学习器(Base Learner)组合起来完成学习任务的一种机器学习策略,其目标是通过集体智慧提升模型的泛化能力。

常见的集成方法主要包括:

  • Bagging(Bootstrap Aggregating)
  • Boosting(加法模型)
  • Stacking(堆叠模型)

本文重点介绍前两者:Bagging 与 Boosting


二、偏差-方差分解

模型误差可以分为三部分:

Error=Bias2+Variance+Irreducible Error \text{Error} = \text{Bias}^2 + \text{Variance} + \text{Irreducible Error} Error=Bias2+Variance+Irreducible Error

  • 偏差(Bias):学习算法预测值与真实值之间的误差,反映模型的拟合能力。
  • 方差(Variance):模型对训练数据扰动的敏感度,反映模型的稳定性。

Boosting 主要降低偏差(Bias),Bagging 主要降低方差(Variance)(考试考了)


三、Bagging:随机森林的基础

目标

通过自助采样法(Bootstrap)训练多个模型并投票(分类)或平均(回归)来降低方差,提升稳定性。

算法流程(以随机森林为例)(考试考了)

  1. 对训练集进行有放回采样,生成 TTT 个子训练集 D1,D2,…,DTD_1, D_2, \dots, D_TD1,D2,,DT
  2. 对每个子集 DtD_tDt 训练一个基学习器 ht(x)h_t(x)ht(x)(如决策树)。
  3. 集成多个学习器的输出:
    • 分类:使用多数投票
    • 回归:使用平均值

f^bag(x)=1T∑t=1Tht(x) \hat{f}_{bag}(x) = \frac{1}{T} \sum_{t=1}^{T} h_t(x) f^bag(x)=T1t=1Tht(x)

随机森林的两大关键

  • 基学习器为 决策树
  • 每个节点的划分特征在随机子集中选择,增加多样性。

四、Boosting:AdaBoost为代表

目标

Boosting 是一种加法模型,逐步迭代构建多个弱学习器,每一步都关注前一步分类错误的数据样本,从而降低偏差

AdaBoost 算法流程(用于二分类)(考试考了)

  1. 初始化训练样本权重:

w1(i)=1N,i=1,2,…,N w_1(i) = \frac{1}{N}, \quad i = 1, 2, \dots, N w1(i)=N1,i=1,2,,N

  1. t=1t = 1t=1TTT(总迭代次数):

    • 训练弱分类器 ht(x)h_t(x)ht(x),最小化加权错误率:

      ϵt=∑i=1Nwt(i)⋅1(ht(xi)≠yi) \epsilon_t = \sum_{i=1}^{N} w_t(i) \cdot \mathbf{1}(h_t(x_i) \neq y_i) ϵt=i=1Nwt(i)1(ht(xi)=yi)

    • 计算分类器权重:

      αt=12ln⁡(1−ϵtϵt) \alpha_t = \frac{1}{2} \ln \left( \frac{1 - \epsilon_t}{\epsilon_t} \right) αt=21ln(ϵt1ϵt)

    • 更新样本权重:

      wt+1(i)=wt(i)⋅exp⁡(−αtyiht(xi)),i=1,…,N w_{t+1}(i) = w_t(i) \cdot \exp(-\alpha_t y_i h_t(x_i)), \quad i = 1, \dots, N wt+1(i)=wt(i)exp(αtyiht(xi)),i=1,,N

      并归一化,使其和为 1。

  2. 最终分类器:

H(x)=sign⁡(∑t=1Tαtht(x)) H(x) = \operatorname{sign} \left( \sum_{t=1}^{T} \alpha_t h_t(x) \right) H(x)=sign(t=1Tαtht(x))

特点

  • 每一轮关注分类错误的样本。
  • 易受噪声影响,但准确率高于 Bagging。

五、Bagging vs Boosting 对比

特性 Bagging Boosting
思想 并行训练多个弱学习器 顺序训练多个弱学习器
偏差-方差 降低方差 降低偏差
数据采样方式 有放回随机采样 所有数据,带权重调整
抗噪声能力
典型方法 随机森林 Random Forest AdaBoost、GradientBoost

六、总结与应用场景

  • Bagging 适合高方差模型,如决策树、KNN;
  • Boosting 适合高偏差模型,如浅层神经网络、线性模型。

集成学习在 Kaggle 比赛、金融风控、图像识别中均有广泛应用,理解其原理与偏差-方差机制是提升算法工程能力的关键一步。

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐