1、常用的集成学习方式
目前来看,常用的集成学习可以分为三类:Bagging、Boosting、Stacking。其中:
Bagging使用相同的数据集和相同类型的基决策器。不同的基决策器,并行地通过自举采样,分别训练一个决策器,然后对分类结果进行投票,从而获得最终结果。以RF为代表。
Boosting使用相同的数据集和相同类型的基决策器。不同的集决策器,串行地相同的数据集上训练。后一个决策器的权重依赖于前一个决策器的数据,后面的决策器不断地优化之前决策器的决策效果。以AdaBoost和GBDT为代表。
Stacking可以使用不同的数据集合不同类型的基决策器。后面的决策器的输入依赖于前一个决策器的输出。以GBDT+LR为代表。
2、集成学习效果分析
Bagging类型的集成学习,通过多个决策器投票,平均了某些单决策器可能出现的过拟合问题,降低了Varience;Boosting类型的集成学期,通过不断优化错误决策的结果,降低了训练集合上的误差,降低了模型的整体Bias。这两种方式都提升了模型的泛化性能。
Tips:Bagging方法,基分类器选分类Varience小的分类器好吗?(这个问题来源于HULU公众号)
答:不好。因为Bagging是降低Varience的,用varience小的分类器,bagging没有收益,甚至可能适得其反。
Stacking类型的决策器,则主要是各取不同基分类器的优点,从而优化效果。比如GDBT可以方便地处理低维连续数值特征,可以表征数据的泛化性质;LR则可以处理高维稀疏特征,表征数据的个性。GBDT和LR融合,可以更充分利用不同类型的信息。