1 Bagging(Bootstrap aggregating)
1.1 步骤
- 用抽样的方式从原始样本中进行有放回的多次抽样(或者是抽特征)。抽取 k 次每次抽取 n 个样本,这样就生成了 k 个样本容量为 n 的数据集
- 每次使用一个数据集训练得到一个模型,这样 k 个数据集就可以得到 k 个模型
- 统计所有模型的计算结果,通过取平均值、取多数票等方法得到最终结果
1.2 特点
- 通过降低基分类器的方差(variance)从而减少错误
- 性能依赖于基分类器的稳定性。若基分类器不稳定,其有助于降低训练数据的随机波动导致的误差;若稳定,则集成分类器的误差主要由基分类器的偏倚引起
- 由于每个样本被选中的概率相同,因此并不侧重于训练数据集中的任何特定实例
2 Boosting
2.1 步骤
- 所有分布下的基础学习器对于每个观测值都应该有相同的权重
- 如果第一个基础的学习算法预测错误,则该点在下一次的基础学习算法中有更高的权重
- 迭代,直到到达预定的学习器数量或预定的预测精度
- 将输出的多个弱学习器组合成一个强的学习器
2.2 特点
- 通过降低基分类器的偏差(bias)从而减少错误
3 Bagging 和 Boosting 区别
Bagging | Boosting | |
---|---|---|
训练集 | 每个训练集都是从原始训练集中有放回的选取出来的,每个训练集各不相同且相互独立 | 每一轮的训练集都是原始选练集 |
样本权重 | 使用 Bootstrap 方法均匀抽样 | 根据每一轮的训练不断调整权值,分类错误的样本拥有更高的权值 |
弱分类器权重 | 所有弱分类器权重相同 | 每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重 |
计算方式 | 各个预测函数可以并行生成 | 各个预测函数只能顺序生成,因为下一个模型的产生依赖于之前模型的计算结果 |
特点 | 通过降低基分类器的方差从而减少错误 | 通过降低基分类器的偏差从而减少错误 |
应用 | 适用于容易过拟合的分类器 | 适用于容易欠拟合的分类器 |
4 Stacking
4.1 步骤
- 基于原始训练集训练模型,该种模型称为基模型
- 以基模型在原始训练集上的预测为训练集训练模型,该种模型称为元模型
- 基模型和元模型均不止一个,合并元模型的输出
![](https://img.haomeiwen.com/i15058343/5d4add6013ad5a46.png)
Reference
https://baike.baidu.com/item/bagging/15454674?fr=aladdin
https://baike.baidu.com/item/Boosting/1403912?fr=aladdin
https://blog.csdn.net/qq_31267769/article/details/108311743
https://blog.csdn.net/DUDUDUTU/article/details/125279783
https://zhuanlan.zhihu.com/p/260959204
网友评论