决策树的优点是简单,逻辑清晰,具备可解释性,但是也有一个很大的缺点:非常容易过拟合,解决过拟合的方法主要是有剪枝、随机森林等。

从随机森林的名字上就能猜出,这种方法无非是信奉”人多力量大“这句话,把诸多决策树集成在一起,进而形成一个更强大的树树树模型。

随机森林是一个Bagging方法,Bagging是一种有放回抽样方法:取出一个样本加入训练集,然后再等把该样本放回原始样本空间,以使下次取样本依然能取到该样本。使用这种方式,可以取样出T个包含m个样本的训练集,并且每个训练集都不一样。

随机森林在Bagging的基础上,进一步在决策树的训练过程中引入了一些随机性:在决定划分属性的时候,先随机选择一个包含k个属性的子集,然后再从子集中选择一个最优属性进行划分,这也是随机的内涵。

随机森林简单、容易实现、计算开销小,而且在实际任务中表现良好,可谓集成学习之光。可以看出随机森性的优点有两个方面:一是来源于Bagging在采样阶段的随机性,二是源于在构建树阶段引入的属性随机。这两个随机增强了模型整体的泛化能力,也就是针对性的解决了决策树的易过拟合的问题。

虽然说随机森林相对于决策树提升了很多,但是大家应该能看出来:随机森林内决策树之间其实是独立的,也就是说每棵决策树都是一颗孤立的树,没有对周围的树产生正面影响,这也是GBDT改进的地方。