随机森林和AdaBoost的区别
随机森林算法(Random Forest Algorithm)是一种常用的机器学习算法,它将多个决策树(Decision tree)的输出结合起来,得到一个单一的结果。它处理分类和回归问题,因为它结合了决策树的简单性和灵活性,从而显著提高了准确性。
AdaBoost算法(Adaptive Boosting)是一种用于集成机器学习系统的Boosting方法。在每一轮中,每棵树的权重会被重新分配,对错误分类的条件赋予更高的权重,因此被称为自适应Boosting。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利用了连续集成。这需要一个循序渐进的方法。 |