bagging与boosting的区别
bagging把数据集通过有放回的抽样方式,划分为多个数据集,分别训练多个模型。针对分类问题,按照少数服从多数原则进行投票,针对回归问题,求多个测试结果的平均值boosting与Bagging一样,使用的相同的弱学习器,不过是以自适应的方法顺序地学习这些弱学习器,即每个新学习器都依赖于前面的模型,并按照某种确定性的策略将它们组合起来两个重要的 Boosting 算法:AdaBoost(自适应提升)
bagging
把数据集通过有放回的抽样方式,划分为多个数据集,分别训练多个模型。针对分类问题,按照少数服从多数原则进行投票,针对回归问题,求多个测试结果的平均值
boosting
与Bagging一样,使用的相同的弱学习器,不过是以自适应的方法顺序地学习这些弱学习器,即每个新学习器都依赖于前面的模型,并按照某种确定性的策略将它们组合起来
两个重要的 Boosting 算法:AdaBoost(自适应提升)和Gradient Boosting(梯度提升)
AdaBoost,使用前面的学习器用简单的模型去适配数据,然后分析错误。然后会给予错误预测的数据更高权重,然后用后面的学习器去修复
Boosting通过把一些列的弱学习器串起来,组成一个强学习器
区别
1、结构上,bagging是并行处理,boosting是串行处理
2、训练上,baaging的基分类器训练是独立的,boosting的训练依赖于之前的模型
3、作用,bagging是减小variance(方差),boosting是减小bias(偏差)
对于Bagging,对样本进行重采样,通过重采样得到的子样本集训练模型,最后取平均。因为子样本集的相似性,而且使用相同的弱学习器,因此每个学习器有近似相等的bias和variance,因为每个学习器相互独立,所以可以显著降低variance,但是无法降低bias
对于Boosting,采用顺序的方式最小化损失函数,所以bias自然是逐步下降,子模型之和不能显著降低variance
更多推荐
所有评论(0)