random forest vs boosting trees

大多数情况下,两者的表现比较相近,但在一些情况中不排除某种方法相对另一种方法有明显优势,因此建议两者都试一下。

random forest将一些较强的分类器组合在一起,boosting trees将一些较弱的分类器组合在一起;因此可以理解为random forest降低方差,boosting tree偏向于降低偏差。

random forest在并行化方面比较有优势。

random forest在一些特征数比较多的情况下(稀疏特征)比较有优势,例如:文本机器学习。

 

随机森林属于Bagging类的集成学习。 Bagging的主要好处是集成后的分类器的方差, 比基分类器的方差小。 Bagging所采用的基分类器, 最好是本身对样本分布较为敏感的(即所谓不稳定的分类器) , 这样Bagging才能有用武之地。 线性分类器或者K-近邻都是较为稳定的分类器, 本身方差就不大, 所以以它们为基分类器使用Bagging并不能在原有基分类器的基础上获得更好的表现, 甚至可能因为Bagging的采样, 而导致他们在训练中更难收敛, 从而增大了集成分类器的偏差。

 

Boosting的训练过程: 在训练好一个弱分类器后, 我们需要计算弱分类器的错误或者残差, 作为下一个分类器的输入。 这个过程本身就是在不断减小损失函数, 来使模型不断逼近靶心, 使得模型偏差不断降低。 但Boosting的过程并不会显著降低方差。 这是因为Boosting的训练过程使得各弱分类器之间是强相关的, 缺乏独立性, 所以并不会对降低方差有作用。(可理解为分类器之间关联性越强,求多个分类器之间的平均预测方差其分散化作用就越弱,方差降低就越不明显,而随机森林方法通过增加随机性使得各个预测器之间的关联性减弱,进而降低方差作用越明显)

 

posted @ 2020-09-29 16:39  ~宁静致远~  阅读(174)  评论(0编辑  收藏  举报