• bootstraping、bagging、boosting概念及区别


      Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确说这是一种分类算法的组装方法。即将弱分类器组装成强分类器方法。

    一、 booststraping

      是依靠你自己的资源,称为自助法,它是一种有放回的抽样方法,它是非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法(如均值、方差等)。

      其核心思想和基本步骤如下:

    (1)采用重抽样技术从原始样本中抽取一定数量(自己给定)的样本,此过程允许重复抽样。

    (2)根据抽出的样本计算统计量T。

    (3)重复上述N次(一般大于1000),得到统计量T。

    (4)计算上述N个统计量T的样本方差,得到统计量的方差。

      应该说是Bootstrap是现代统计学较为流行的方法,小样本效果好,通过方差的估计可以构造置信区间等。

    二、Bagging (bootstrap aggregating)

        Bagging即套袋法,可译为自主整合法,其算法过程如下:

    A)从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping的方法抽取n个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中)。共进行k轮抽取,得到k个训练集。(k个训练集之间是相互独立的)

    B)每次使用一个训练集得到一个模型,k个训练集共得到k个模型。(注:这里并没有具体的分类算法或回归方法,我们可以根据具体问题采用不同的分类或回归方法,如决策树、感知器等)

    C)对分类问题:将上步得到的k个模型采用投票的方式得到分类结果;对回归问题,计算上述模型的均值作为最后的结果。(所有模型的重要性相同)

    三、Boosting

      其主要思想是将弱分类器组装成一个强分类器。在PAC(概率近似正确)学习框架下,则一定可以将弱分类器组装成一个强分类器。

      其中主要的是adaboost(adaptive boosting),即自适应助推法。

      关于Boosting的两个核心问题:

        1)在每一轮如何改变训练数据的权值或概率分布?

          通过提高那些在前一轮被弱分类器分错样例的权值,减小前一轮分对样例的权值,来使得分类器对误分的数据有较好的效果。

        2)通过什么方式来组合弱分类器?

          通过加法模型将弱分类器进行线性组合,比如AdaBoost通过加权多数表决的方式,即增大错误率小的分类器的权值,同时减小错误率较大的分类器的权值。

      而提升树通过拟合残差的方式逐步减小残差,将每一步生成的模型叠加得到最终模型。

      gradient boosting:

        boosting是一种思想,Gradient Boosting是一种实现Boosting的方法,它的主要思想是,每一次建立模型,是在之前建立模型损失函数的梯度下降方向。损失函数描述的是模型的不靠谱程度,损失函数越大,说明模型越容易出错。如果我们的模型能够让损失函数持续的下降,说明我们的模型在不停的改进,而最好的方式就是让损失函数在其梯度的方向下降。

    Bagging和Boosting的区别:

    1)样本选择上:

    Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。

    Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。

    2)样例权重:

    Bagging:使用均匀取样,每个样例的权重相等

    Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。

    3)预测函数:

    Bagging:所有预测函数的权重相等。

    Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。

    4)并行计算:

    Bagging:各个预测函数可以并行生成

    Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。

      在大多数数据集中,boosting的准确性要比bagging高。有一些数据集总,boosting会退化-overfit。boosting思想的一种改进型adaboost方法在邮件过滤,文本分类中有很好的性能。

    四、总结

      这两种方法都是把若干个分类器整合为一个分类器的方法,只是整合的方式不一样,最终得到不一样的效果,将不同的分类算法套入到此类算法框架中一定程度上会提高了原单一分类器的分类效果,但是也增大了计算量。

      下面是将决策树与这些算法框架进行结合所得到的新的算法:

    1)Bagging + 决策树 = 随机森林

    2)AdaBoost + 决策树 = 提升树

    3)Gradient Boosting + 决策树 = GBDT

  • 相关阅读:
    310. Minimum Height Trees
    279. Perfect Squares
    675. Cut Off Trees for Golf Event
    210. Course Schedule II
    407. Trapping Rain Water II
    vue-element-admin中如何vuex的使用
    webpack相关---vue-element-admin
    公共vendor是什么---vue-element-admin
    项目mock 模拟数据---vue-element-admin
    vue+ssr signalR---vue-element-admin
  • 原文地址:https://www.cnblogs.com/chen8023miss/p/11511683.html
Copyright © 2020-2023  润新知