Bagging和随机森林

Bagging

基本概念

又称袋装(bagging)或者自助聚集(boot strap aggregating)
是一种根据均匀概率分布从数据集中重复采样(有放回)的技术。每个自助采样的样本集都和原数据集一样大。
在又放回的抽样中,如果抽样的个数和原数据集的大小一致,则自助样本Di中会有63%的原训练数据,因为每一个样本抽到Di的概率为1(11N)N,如果N足够大,则这个概率收敛于11/e0.632

算法

Bagging和随机森林

关于时间复杂度

Bagging的时间复杂度大致是T(O(m)+O(s)),考虑到采样与投票的平均时间复杂度O(s)非常小,而且T通常是一个不太大的常数,所以Bagging集成和直接使用基学习算法训练的一个学习器的复杂度同阶。这说明Bagging是一个很高效的集成学习算法。

随机森林和Bagging

随机森林(Random Forest简称RF),是Bagging的一个扩展变体。RF在以决策树为基学习器构建在Bagging集成的基础之上的。进一步在决策树的训练过程中引入了随机属性选择。
具体来说,传统的决策树在选择划分属性的时候是在当前结点属性集合(假定有d个属性)中选择一个最优属性。而在RF中,对基决策树的每个结点,先从该结点的属性中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。这里的参数k控制了随机性的引入程度:若令k=d则基决策树的构建和传统决策树相同。若令k=1则相当于随机选择一种属性用于划分。一般情况下推荐k=log2d