• 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 由于需要考虑上一步错分类的样本,因此需要顺序进行。

    参考

  • 相关阅读:
    (设计模式)组合模式
    redis 集群部署 (linux)
    redis 集群 配置文件
    redis 外部访问配置(bind正确配置)
    (设计模式)桥模式
    (springboot)freemarker(二)
    (springboot)入门(一)
    (设计模式)抽象工厂
    (设计模式)建造者模式
    (设计模式)原型
  • 原文地址:https://www.cnblogs.com/jermmyhsu/p/8195634.html
Copyright © 2020-2023  润新知