机器学习笔记之集成学习——Bagging与随机森林
引言
上一节介绍了模型泛化误差的组成——偏差、方差、噪声。本节将介绍降低方差的集成学习方法—— Bagging \text{Bagging} Bagging。
回顾:偏差、方差、噪声
学习模型的泛化误差由三部分组成:偏差、方差、噪声。其中噪声是数据集合自身属性,其噪声是客观存在的。因而,我们关注的目标更多在于偏差、方差的降低过程。
其中,偏差较高的核心原因在于:
- 训练过程过短导致的欠拟合( Underfitting \text{Underfitting} Underfitting)现象:这种情况我们需要延长训练过程的执行时间;
- 模型的复杂度不够:即便训练过程执行了足够长的时间,但模型的拟合能力依然较差。此时需要提升模型的复杂程度;或者使用 Boosting,Stacking \text{Boosting,Stacking} Boosting,Stacking等集成学习方法。
相反,关于方差较高的核心原因在于:
- 即便是样本特征的简单扰动,也能够使学习模型产生复杂变化。也就是说,学习模型的复杂程度已经远超样本特征的复杂程度。针对该情况,可以尝试简化模型的复杂度。
- 针对学习模型的过拟合( Overfitting \text{Overfitting} Overfitting)现象,可以使用各种预防过拟合的方式。其中集成学习方法中包含 Bagging,Stacking \text{Bagging,Stacking} Bagging,Stacking。
自助采样法( Bootstrapping Sampling \text{Bootstrapping Sampling} Bootstrapping Sampling)
自助采样法主要针对模型训练过程中,关于数据集合 D \mathcal D D的使用使用不够完整导致的估计偏差。自助采样法的采样过程表示如下:
机器学习(周志华著)P27.
- 已知一个包含 N N N个样本的数据集合 D \mathcal D D,我们需要通过采样得到相应的数据集合 D ′ \mathcal D' D′;
- 随机从数据集合 D \mathcal D D中采出一个样本 x x x;
- 将 x x x复制,并将复制结果放入数据集合 D ′ \mathcal D' D′中;
- 将样本 x x x放回数据集合 D \mathcal D D中;
- 重复执行步骤 2 − 4 2-4 2−4共 N N N次,最终得到一个包含 N N N个样本的数据集合 D ′ \mathcal D' D′。
我们可以发现,这种自助采样方式存在:某些样本可能会在 D ′ \mathcal D' D′中出现若干次,而某些样本可能不会出现。那么样本在 N N N次采样中总是无法被采样的概率是: ( 1 − 1 N ) N (1 - \frac{1}{N})^N (1−N1)N,也就是说,如果原始集合 D \mathcal D D的样本数量趋近于无穷大,那么 D ′ \mathcal D' D′中始终不会从 D \mathcal D D采样的概率是:
lim N → ∞ ( 1 − 1 N ) N = 1 e ≈