集成学习思想总结-bagging,boosting,stacking

基本理论

集成学习思想总结-bagging,boosting,stacking_第1张图片

Bagging(套袋法)

bagging的算法过程如下:

  1. 从原始样本集中使用Bootstraping方法随机抽取n个训练样本,共进行k轮抽取,得到k个训练集。(k个训练集之间相互独立,元素可以有重复
  2. 对于k个训练集,我们训练k个模型(这k个模型可以根据具体问题而定,比如决策树,knn等)
  3. 对于分类问题:由投票表决产生分类结果;对于回归问题:由k个模型预测结果的均值作为最后预测结果。(所有模型的重要性相同)

 

 

Boosting(提升法)

 boosting的算法过程如下:

  1. 对于训练集中的每个样本建立权值wi,表示对每个样本的关注度。当某个样本被误分类的概率很高时,需要加大对该样本的权值
  2. 进行迭代的过程中,每一步迭代都是一个弱分类器。我们需要用某种策略将其组合,作为最终模型。(例如AdaBoost给每个弱分类器一个权值,将其线性组合最为最终分类器。误差越小的弱分类器,权值越大
  3. 开始样本 和 模型(最好是弱模型)权重相同。经过第一个分类后。错误的样本会被增加权重。被后续的分类器重点关注。这样,后续模型就会对这些错误数据分类准确度好。然后依次下去。最后投票的时候,也有权重。错误率越高,权重越低。

 


 

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

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

2)AdaBoost + 决策树 = 提升树

3)Gradient Boosting + 决策树 = GBDT

 

stacking的介绍可以参考,写的很好。   

     https://blog.csdn.net/qq_18916311/article/details/78557722

 

 

 

应用场景

        一般来说,不管是在产业界还是数据挖掘比中,单模型做到定程度后,如果单模型多样 性比较大的话(相互独立),尝试模型融合极有可能取得悦的效果提升


 

你可能感兴趣的:(集成学习思想总结-bagging,boosting,stacking)