Ensemble Learning
目前的Ensemble Learning主要存在着三种类型分别是:bagging, boosting和stacking
- bagging是通过从训练集中抽样出一些样本来训练各个基分类器。如果基分类器的相关程度较高将会导致Ensemble的效果降低,所以在bagging的时候需要尽量保证随机抽取的训练样本的差距较大。在随机抽样的时候既可以从训练样本中随机的抽取出实例加入基分类器的训练集中也可以随机的选择特征作为基分类器的特征。bagging方法是通过训练出不同的基分类器从而降低预测结果的方差,对于降低结果的偏差。所以这种方法的基分类器适合用具有低偏差而具有高方差的分类器。
- boosting方法是迭代的训练,在下一轮的训练过程中会更加的注重上一轮预测错误的训练样本。所以通过不断的训练可以降低最后结果的偏差,而对方差没有什么太大的帮助。因此应该为该类型的方法选择一些具有高偏差但是具有低方差的基分类器。
stacking方法是为训练样本的每个特征训练一个分类器,然后将每个特征用基分类器的结果重新表示,再作为别的分类器的输入特征。
由于boosting和bagging的关注的方差和偏差的区别,所以在实际应用中随机森林往往要15层或者更高的节点才能取得好的结果,而GBDT只需要6层。因为随机森林关注的是方差所以要有更多的层的节点,从而使得基分类器具有较低的偏差。而GBDT需要较少的层数,来获得较低的方差