我已经阅读了一些有关分类任务的增强算法,尤其是Adaboost。我了解Adaboost的目的是招募几个“弱学习者”,并通过对训练数据进行一系列迭代,推动分类器学习预测模型反复犯错的类。但是,我想知道为什么我所做的许多阅读都使用决策树作为弱分类器。是否有特定原因?是否有某些分类对于Adaboost而言特别好坏?
我已经阅读了一些有关分类任务的增强算法,尤其是Adaboost。我了解Adaboost的目的是招募几个“弱学习者”,并通过对训练数据进行一系列迭代,推动分类器学习预测模型反复犯错的类。但是,我想知道为什么我所做的许多阅读都使用决策树作为弱分类器。是否有特定原因?是否有某些分类对于Adaboost而言特别好坏?
Answers:
我在回答相关SO问题时谈到了这一点。一般而言,决策树非常适合提升,比其他算法要重要得多。要点/摘要版本是这样的:
我没有教科书的答案。但是,这里有一些想法。
与装袋直接比较可以看到提升。这是偏差方差折衷困境的两种不同方法。套袋学习者的能力较弱,但一些学习者的偏见程度低且方差高,通过对装袋总体进行平均,可以减少方差,从而产生较小的偏见。另一方面,对不同的弱势学习者来说,提升效果很好。提拔弱小的学习者具有高偏见和低方差。通过将一个学习者放在另一个学习者的顶部,增强合奏会尝试减少偏见,并稍有差异。
结果,例如,如果您考虑使用树木进行套袋和助推作为弱势学习者,那么最好的使用方法是使用小型和矮树进行助推,而使用非常详细的树木进行套袋。这就是为什么增强程序经常将决策树桩用作弱学习者的原因,这是可能的最短树(如果在单个维度上存在单个if条件)。该决策树桩非常稳定,因此方差很小。
我看不出有任何理由将树木用于升压程序。但是,短树很简单,易于实现且易于理解。但是,我认为,要想成功地完成提升程序,学习能力弱的学习者必须具有较低的方差,必须具有刚性,并且自由度很小。例如,我认为将神经网络作为弱学习者毫无意义。
此外,您还必须注意,对于某些增强程序(例如,梯度增强),Breiman发现,如果弱学习者是一棵树,则可以对增强工作方式进行一些优化。因此,我们有了梯度增强树。ESTL书中很好地介绍了增强功能。