集成学习算法:Bagging 和 Boosting

2020-03-27  本文已影响0人  自由调优师_大废废

集成学习归属于机器学习,它是一种 ‘训练思路’,并不是某种具体的方法或者算法。集成学习的核心思路就是 ‘人多力量大’,它并没有创造出新的算法,而是把已有的算法进行结合,从而得到更好的效果。

Bagging 和 Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法。即将弱分类器组装成强分类器的方法。

Bagging

Bagging 的思路是所有基础模型都一致对待,每个基础模型手里都只有一票。然后使用民主投票的方式得到最终的结果。大部分情况下,经过 bagging 得到的结果方差(variance)更小。

具体过程:

Boosting

Boosting 和 Bagging 最本质的差别在于他对基础模型不是一致对待的,而是经过不停的考验和筛选来挑选出‘精英’,然后给精英更多的投票权,表现不好的基础模型则给较少的投票权,然后综合所有人的投票得到最终结果。大部分情况下,经过 boosting 得到的结果偏差(bias)更小。

具体过程:

关于Boosting的两个核心问题:

Bagging 和 Boosting的区别

样本选择上:

样例权重:

预测函数:

并行计算:

小结:

Boosting 方法本质上属于加法模型(各个基分类器的线性组合),同时属于前向分步算法,它每轮训练的模型都是在上一个模型的基础上进行进一步优化,通过不断迭代来降低整个模型的偏差,所以 Boosting 模型的一个特点就是低偏差、高方差,最典型的代表就是 Adaboost 算法。与其相反的就是 Bagging算 法,最典型的代表就是 RF。Bagging 模型的各个子模型之间互不影响,最后通过加权的方式组合到一起,以达到降低方差的效果,所以说 Bagging 是高偏差、低方差的模型。
这两种方法都是把若干个分类器整合为一个分类器的方法,只是整合的方式不一样,最终得到不一样的效果,将不同的分类算法套入到此类算法框架中一定程度上会提高了原单一分类器的分类效果,但是也增大了计算量。
将决策树与这些算法框架进行结合所得到的新的算法:

上一篇 下一篇

猜你喜欢

热点阅读