我们在学习决策树、随机森林、GBDT等等算法的时候,会遇到这样一个单词ensemble learning:集成学习。前几种算法都属于集成学习的范畴。
下面来简单介绍一下,经常使用到的集成学习策略,集成学习下有两个重要的算法策略Bagging和Boosting。
(一)Bagging算法
构建多个基分类器,各个基分类器之间相互独立,每个基分类器都随机从原样本中做有放回的采样(自主采样),然后在这些采样后的样本上训练该基分类器。每一个单独的分类器都这样操作,然后再把这些分类器的结果组合起来。对于分类问题,样本最后的预测值就是这些分类器中的众数(多数投票原则),对于回归问题,最后的预测值就是这些分类器预测值的平均值。
对于Bagging算法来说,算法会并行地训练很多不同的分类器,然后采用多数投票原则/平均值原则。这样的做法,会使得在同一批样本上,训练出来的模型方差(variance)小 ,因为是结合了多个分类器的结果,所以对于每个基分类器来说,目标就是如何降低偏差(bias),所以我们一般会采用深度很深甚至不剪枝的决策树作为基分类器。代表算法是随机森林。
Bagging适用于高方差低偏差模型,或者可以说是复杂模型。
(二)Boosting算法
boosting,“提升”,一般都是一个迭代的过程,迭代地训练一系列的基分类器,每一个基分类器都是在上一个基分类器的基础之上构建的&