• Bagging vs Boosting vs Stacking


    原文地址:https://www.jianshu.com/p/9dacdc88d3ec

    • 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模型。
  • 相关阅读:
    how to fix bug in daily work
    我终究还是辞职了
    Nutch1.7学习笔记:基本环境搭建及使用
    线性表的基本操作
    GROUP BY中ROLLUP/CUBE/GROUPING/GROUPING SETS使用示例
    一步一步学android控件(之六) —— MultiAutoCompleteTextView
    echo命令写shell
    注入问题0x00
    Apache解析漏洞详解
    MySQL注入
  • 原文地址:https://www.cnblogs.com/cherrychenlee/p/10804945.html
Copyright © 2020-2023  润新知