Sehlani
Sehlani
发布于 2025-11-02 / 10 阅读
0
0

机器学习入门 11: 集成学习

机器学习入门 11: 集成学习

I. 基本概念(Basic Concept)

定义​:
集成学习是通过组合多个基学习器(base learners) 来提高总体预测性能的一类方法。

它的目标是让多个“弱学习器(weak learners)”组成一个“强学习器(strong learner)”。

数学上可写为:

H(x) = \text{combine}(h_1(x), h_2(x), \dots, h_M(x))

其中:

  • (h_i(x)):第 (i) 个基学习器(base classifier / regressor)

  • (H(x)):最终的集成预测器(ensemble predictor)

组合函数(combine)通常是:

  • 分类问题:多数投票(majority voting)

  • 回归问题:平均(averaging)


II. 为什么集成有效(Why Ensemble Works)

1️⃣ 降低方差(Reduce Variance)

假设我们有 (M) 个基学习器,且它们的误差相互独立(独立性假设),则整体方差为:

\text{Var}(\bar{h}(x)) = \frac{1}{M} \text{Var}(h(x))

🧩 直觉:像考试时多位同学独立作答,平均分更稳定。


2️⃣ 偏差-方差分解(Bias-Variance Decomposition)

泛化误差可以分为:

\text{Err}(x) = \text{Bias}^2(x) + \text{Var}(x) + \sigma^2
  • Bias(偏差) :模型预测与真实值的系统性偏离。

  • Variance(方差) :模型对训练数据扰动的敏感度。

  • \sigma^2 :不可约误差(irreducible noise)。

✅ 集成学习的目标是:

保持偏差不变的前提下,尽量降低方差。


III. 集成多样性(Diversity)

为了让集成有效,不同基学习器必须“​足够不同(diverse) ”,即错误要“不太相关”。

多样性来源:

  • 数据层面:如 Bagging 的 bootstrap 采样

  • 特征层面:如 Random Forest 随机选特征

  • 算法层面:如不同初始权重、不同参数

  • 输出层面:如 ECOC(错误纠正输出编码)


IV. 三大经典方法(Three Classic Families)


A. Bagging(Bootstrap Aggregating)

核心思想:有放回采样(bootstrap) + 平均 / 投票

1️⃣ 每次从训练集 (D) 中随机有放回采样 (n) 个样本,形成子集 (D_i)。
2️⃣ 训练基学习器 (h_i)。
3️⃣ 综合多个 (h_i) 的预测结果。

H(x) = \frac{1}{M} \sum_{i=1}^{M} h_i(x)

在分类问题中为:

H(x) = \text{majority vote }{ h_1(x), h_2(x), \dots, h_M(x)}

每个样本被抽中的概率为:

1 - \left(1 - \frac{1}{n}\right)^n \approx 1 - e^{-1} \approx 0.632

🧩 约 63.2% 的样本被选入每个 bootstrap 子集。


B. Random Forest(随机森林)

= Bagging + 随机特征选择

每棵树在每个节点划分时,仅随机考虑 (p) 个特征:

p = \sqrt{d} \text{(分类)} \quad 或 \quad p = \frac{d}{3} \text{(回归)}
  • 树的多样性来自​随机样本 + 随机特征

  • 不剪枝(no pruning)。

  • 最终输出为:

    H(x) = \text{majority vote }{T_1(x), T_2(x), \dots, T_M(x)}


C. Boosting(提升方法)

核心思想:​让后续学习器更关注前一轮做错的样本

1️⃣ AdaBoost(Adaptive Boosting)

每轮训练后更新样本权重 (w_i):

\epsilon_t = \frac{\sum_i w_i I(h_t(x_i) \neq y_i)}{\sum_i w_i}

最终组合:

H(x) = \text{sign}\left( \sum_{t=1}^{T} \alpha_t h_t(x) \right)

2️⃣ Gradient Boosting(梯度提升)

把集成看作在函数空间上的梯度下降:

F_{m}(x) = F_{m-1}(x) + \rho_m h_m(x)

其中:

  • (h\_m(x)):对负梯度(残差)的近似学习器;

  • \\rho\_m:步长(learning rate)。

目标是最小化总体损失:\mathcal{L} = \sum_i L(y_i, F(x_i))

XGBoost、LightGBM、CatBoost 等都属于此类。


V. 集成方法比较(Comparison)

方法

多样性来源

重点作用

是否可并行

常见基学习器

Bagging

数据重采样

降低方差

✅ 可并行

决策树

Random Forest

数据 + 特征随机性

降方差,防过拟合

✅ 可并行

决策树

Boosting

权重迭代

降偏差

❌ 需顺序执行

决策树桩(stump)



评论