美文网首页ML&DL
Bagging vs Boosting vs Stacking

Bagging vs Boosting vs Stacking

作者: cherryleechen | 来源:发表于2019-05-03 13:38 被阅读9次
    • Bagging
      用于减小方差。
      使用训练数据的不同随机子集(大小常等于训练数据,采用不放回的方式进行抽取)来训练每个base model,最后对每个base model进行权重相同的vote。分类问题取众数,回归问题取均值。
      并行。
      希望每个base model训练得要足够好,overfit也可以。

    • Boosting
      用于减小偏差。
      迭代地训练base model,每一次会根据上一次迭代中预测错误的情况修改训练样本的权重。
      串行。
      希望每个base model训练得比随机猜好就行。

    bagging boosting
    样本选择 训练集是在原始集中有放回地进行选取的,选出的各个训练集之间被认为是相互独立的(其实不是)。 每一轮的训练集保持不变,只是训练集中的每个样本在分类器中的权重发生了变化。权重是根据上一轮的结果进行调整的。
    样例权重 均匀取样,每个样例权重相等。 根据错误率不断地调整样例权重,错误率越大则对应的权重越高。
    预测函数 所有预测函数权重相等。 每个弱分类器都有相应的权重,分类误差小的分类器会有更大的权重。
    并行计算 各个预测函数可以并行生成。 各个预测函数只能顺序生成。因为后一个模型的参数更新需要前一个模型的预测结果。
    • Stacking
      用于提升预测结果。
      输入level-2的是level-1的预测结果。
      还有一种是将level-1输出的prob的1~N列与原始数据组成新的特征向量,向量维度变为原始数据特征维度+N,再训练level-2模型。

    相关文章

      网友评论

        本文标题:Bagging vs Boosting vs Stacking

        本文链接:https://www.haomeiwen.com/subject/dkhgnqtx.html