随机森林是Bagging的一个扩展变体,是在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。
随机森林简单、容易实现、计算开销小,在很多实际应用中都变现出了强大的性能,被誉为“代表集成学习技术水平的方法”。可以看出,随机森林对Bagging只做了小改动。并且,Bagging满足差异性的方法是对训练集进行采样;而随机森林不但对训练集进行随机采样,而且还随机选择特征子集,这就使最终集成的泛化性进一步提升。
随着基学习器数目的增加,随机森林通常会收敛到更低的泛化误差,并且训练效率是优于Bagging的。
优点:
-
训练可以高度并行化,对于大数据时代的大样本训练速度有优势。个人觉得这是的最主要的优点。
-
由于可以随机选择决策树节点划分特征,这样在样本特征维度很高的时候,仍然能高效的训练模型。
-
在训练后,可以给出各个特征对于输出的重要性。
-
由于采用了随机采样,训练出的模型的方差小,泛化能力强。
-
相对于Boosting系列的Adaboost和GBDT, RF实现比较简单。
-
对部分特征缺失不敏感。
缺点:
-
在某些噪音比较大的样本集上,RF模型容易陷入过拟合。
-
取值划分比较多的特征容易对RF的决策产生更大的影响,从而影响拟合的模型的效果。