Bagging, Boosting, Bootstrap

Bagging 和 Boosting
都属于机器学习中的元算法(meta-algorithms)。所谓元算法,一言以蔽之,就是将多少个较弱的机器学习算法综合起来,构成一个更强的机械学习模型。这种「两个臭皮匠,赛过诸葛武侯」的做法,能够援助减小方差(over-fitting)和谬误(under-fitting),提升准确率。

狭义的精晓:Bagging,Boosting 为这种元算法的教练提供了一种采样的思绪。

Boosting

Boosting 最知名的兑现版本应该是 AdaBoost 了。

Boosting 的流程一般为:

  1. 从数量集 D 中,无放回地、随机地挑选出一个子集 d1,练习一个弱的分类器
    C1;
  2. 从数额集 D 中,无放回地、随机地挑选出一个子集
    d2,再增长一些上一步被错分类的范本,操练一个弱分类器 C2;
  3. 再次步骤 2,直到所有分类器都磨练为止;
  4. 综合所有的弱分类器,并为每个分类器赋予一个权值。

Bagging

选用 Bagging 原理的机械学习算法,代表的有 Random Forest(有稍许改良)。

知道 Bagging 在此之前,需要先简单询问一下 Bootstrap 的定义。Bootstrap
是一种有放回的肆意采样过程(注意,Boosting 是无放回的)。

Bagging 指的实在是 Bootstrap
AGGregatING,「aggregating」是汇集的意趣,也就是说,Bagging 是
Bootstrap 的增强版。

Bagging 的流程一般为:

  1. 遵照 bootstrap 方法,生成 n 个不同的子集;
  2. 在每个子集上,单独地训练弱分类器(或者说,子机器学习模型);
  3. 展望时,将各样子模型的前瞻结果平均一下,作为最后的预测结果。

Bagging 和 Boosting 对比

Bagging 这种有放回的采样策略,可以裁减 over-fitting,而 Boosting
会修正这个错分类的样本,由此能增强准确率(但也恐怕引致 overfitting )。

Bagging 由于样本之间一贯不关联,因而它的教练是足以互相的,比如 Random
Forest 中,每一棵决策树都是足以同时操练的。Boosting
由于需要考虑上一步错分类的样本,因而需要各种举行。

参考

相关文章