随机森林和AdaBoost的区别

随机森林和AdaBoost的区别

随机森林算法(Random Forest Algorithm)是一种常用的机器学习算法,它将多个决策树(Decision tree)的输出结合起来,得到一个单一的结果。它处理分类和回归问题,因为它结合了决策树的简单性和灵活性,从而显著提高了准确性。

AdaBoost算法(Adaptive Boosting)是一种用于集成机器学习系统的Boosting方法。在每一轮中,每棵树的权重会被重新分配,对错误分类的条件赋予更高的权重,因此被称为自适应Boosting。AdaBoost使用多个单层决策树,称为树的森林。

随机森林和AdaBoost的区别

随机森林和AdaBoost的区别

树的大小

在随机森林中, 每次你做出一棵树,你就做出了一棵完整的树。有些树可能比其他树大,但没有预先确定的最大深度。

随机森林和AdaBoost的区别

相比之下,在使用AdaBoost制作的树木森林中,树木通常只是一个节点和两个叶子。只有一个节点和两个叶子的树被称为树桩,所以树木的森林实际上就是树桩森林。

随机森林和AdaBoost的区别

分类精度

随机森林和AdaBoost的区别

Fig. 3 : Data table

随机森林 更擅长做准确的分类。如。如果我们使用图3中的数据来确定某人是否患有心脏病,那么完整大小的决策树将利用测量的所有四个变量(胸痛、血液循环、动脉阻塞和体重)来做出决定。

Stumps 不擅长做准确的分类,因为随机森林使用数据表中给出的所有变量,而AdaBoost只使用一个变量来做决定,因此,他们被称为弱学习者。如。如图3所示,森林树木将仅用胸痛来判断一个人是否有心脏病。然而,这是AdaBoost喜欢的方式,这也是为什么它们如此常见地结合在一起的原因之一。

每棵树的分布

在随机森林中, 每棵树在最终的分类中都有平等的投票权。任何大小的树都有相同的投票权重。

相比之下,在用AdaBoost制作的树桩森林中,一些树桩在最终分类中比其他树桩获得更多的发言权。在图中,较大的树桩比较小的树桩有更多的发言权。

构造树的顺序

在随机森林中,每棵决策树都是独立于其他决策树的。换句话说,哪棵树是在什么弯道上形成的并不重要

换句话说, 在树桩森林里 使用AdaBoost,顺序很重要。第一个残根产生的误差影响第二个残根的产生,第二个残根的误差影响第三个残根,依此类推。

S. No. 分类 随机森林 AdaBoost
1. 树的大小 随机森林使用完整大小的决策树,没有预先确定的深度大小。 AdaBoost结合了许多“弱学习者”来进行分类。弱学习者几乎都是绊脚石。
2. 每棵树的分布 每棵树在最终的分类中都有平等的投票权 有些树桩在分类上比其他树桩更有发言权。
3. 分类精度 在分类精度方面,AdaBoost经常优于随机森林。 AdaBoost通常在进行准确分类方面做得更好。
4. 树施工顺序 每棵决策树都是独立于其他决策树做出的 每一个树桩都是考虑到前一个树桩的错误而做出来的。
5. 过度拟合公差 与AdaBoost相比,随机森林对过拟合的敏感性较低 Adaboost对过拟合的容忍度也低于Random Forest。
6. 数据采样技术 在随机森林中,基于bagging技术对训练数据进行采样。 Adaboost是基于boosting技术的。
7. 估计计算 随机森林的目的是减少方差而不是偏差。 Adaboost旨在减少偏差,而不是方差。
8. 整体操作 随机森林采用并行装配。森林并行处理树,允许在多处理器机器上并行处理作业。 Adaboost利用了连续集成。这需要一个循序渐进的方法。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程