• Bagging
    • 思想:

    1. 在包含N个样本的数据集中采用有放回的抽样方式随机抽取一定数量(可以为N)的样本,构成一个数据集;
    2. 按照步骤i中的方式得到M个数据集;
    3. 利用机器学习的方法(例如:SVM,决策树,神经网络……)对得到的M个数据集,训练出M个弱模型(比随机模型效果好);
    4. 集成M个弱模型的结果作为最终结果;

    Bagging就是通过M个弱模型的结果,通过并行集成的方式来获得最终结果。因为M个数据集是相互独立的,因此这M个弱模型之间也是相互独立的,在最终的集成结果时,每个模型的权重是一样的。这是和Boosting所不同的。

    • 集成方式:

      • 回归问题

        M个模型结果的均值;

      • 分类问题

        对M个模型的结果进行投票决定,票数多的作为结果;票数一样,随机决定;

    • 代表方法: 

  • Boosting
    • 思想:

    1.  每一次都根据上一次训练得到的模型结果,调整数据集样本分布,然后再生成下一个模型;
    2.  直到生成M个模型;
    3.  根据M个模型的结果集成得到最终的结果;
    • 集成方式:

      每个模型的重要度作为每个模型结果的权重,然后加权计算得出结果。

      可以看出Boosting中生成多个模型的方式并不是和Bagging一样并行生成,而是串行生成,因此也决定了多个模型结果的集成是串行集成,也就是每个模型的结果权重并不是一样的。如何来调整样本分布以及计算模型的重要度,不同方法有不同的定义,详情参见具体方法。

  • Blending
    • 理论总结
    • 调参总结

 

参考文献:

【1】Machine-Learning-for-Beginner-by-Python3