Bagging主要关注降低方差,因此它在不剪枝决策树,神经网络等易受样本扰动的学习器上效用更为明显。
Bagging主要关注降低方差,原因:(具体原因可以参考bagging与boosting两种集成模型的偏差bias以及方差variance 的理解)
- bagging中的每个模型都是强模型,偏差低(在训练集上准确度低),方差高(防止过拟合能力弱)
- 投票法了降低方差差。
- 每个模型的偏差、方差近似相近,互相的相关性不太高,一般不能降低偏差,而能在一定程度上降低方差
- 对于过拟合的模型,通常偏差大,通过bagging进行修正。
若子模型完全相互独立,则可以显著降低方差;若完全相关,则不能降低方差。由于由一定的相关介于两者之间,所以,可以一定程度降低方差。
模型的偏差:模型对训练集的拟合程度
Bagging基于自助采样法(bootstrap sampling)。
给定包含m个样本的数据集,先随机取出一个样本放入采样集中,再把该样本放回初始数据集,使得下次采样时该样本仍有可能被选中。这样,经过m次随机采样操作,我们得到含m个样本的采样集,初始训练集中有的样本再采样集里多次出现,有的则从未出现。
初始训练集约有63.2%的样本出现在采样集中。剩下约36.8%的样本可用作验证集来对泛化性能进行“包外估计”(out-of-bag estimate)。
采样出T个含有m个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些基本学习器进行结合。
Bagging通常对分了任务使用简单投票法,对回归任务使用简单平均法。
优点:
1)Bagging能不经修改地用于多分类,回归等任务
2)剩下约36.8%的样本可用作验证集来对泛化性能进行“包外估计”(out-of-bag estimate)。
PS:包外估计的其他方式:
1、当基学习器是决策树,可以辅助剪枝,用户估计决策树中各个结点的后验概率,辅助对零训练样本节点的处理。
2、当基学习器是神经网络,可以辅助earlystop,停止过拟合
随机森林
RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入随机属性选择。
RF在划分属性时,对基决策树中的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后从这个子集中选择一个最优的属性用于划分,推荐k=log2d
优点:
不容易过拟合
RF中基学习器的多样性不仅来自样本扰动,还来自属性扰动,提升泛化性能。
(使得最终集成的泛化性能可通过个体学习器之间的差异度的增加而进一步提升。)
随着基学习器的数目的增加,RF通常会收敛到更低的泛化误差
简单,容易理解,可以并行处理,运行快。
能处理海量数据,对于高维数据,无需进行变量删减或筛选
对噪声不敏感,有很好的容噪能力
缺点:
对样本数据少、低维数据集不一定可以得到好的效果
执行速度比单个决策树慢
已经被证明在某些噪音非常大的分类或回归上有过拟合。