最近读了一个paper,发现里面有设计随机森林的,追根溯源,找到了集成学习的知识,边学边总结:
集成学习通过将多个学习器进行结合,常可获得比单一学习器显著优越 的泛化性能,这对:“弱学习器”尤为明显,因此集成学习的很多理论研究都是针对弱学习器进行的,而基学习器有时直接被称为弱学习器,但是需要注意的是,虽然从理论上来说使用弱学习器集成足以获得好的性能,但在实践中出于种种考虑。例如希望使用较少的个体学习器。或是重用关于常见学习器的一些经验等,人们往往会使用比较强的学习器。
集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,有时候也被称为多分类器系统。
下图显示了集成学习的一般结构:先产生一组“个体学习器”,再用某种策略将他们结合起来,个体学习器通常由一个现有的学习算法从训练数据中产生,例如:C4.5决策树算法、BP神经网络算法等,此时集成中只包含同种类型的个体学习器,例如“决策树集成”中全是决策树,“神经网络集成”中全是神经网络,这样的集成是“同质”的,同质集成中的个体学习器亦称“基学习器”,相应的学习算法称为“基学习算法”,当然集成也可以包含不同 的学习器,比如有的是决策树学习器,有的是神经网络学习器,那么就称这样的集成为“异质”
所以要获得好的集成,个体学习器应“好而不同”,即个体学习器要有一定的准确性,即学习器不能太坏,并且要有“多样性”,即学习器之间有差异。
上图所示的结合策略一般有以下几种方法:
平均法
投票法
学习法
根据个体学习器的生成方式,目前的集成学习方法大致分为两大类:
即个体学习器间存在强依赖关系、必须串行生成的序列化方法,以及个体学习器之间不存在强依赖关系、可同时生成的并行化方法,前者的代表是Boosting,后者的代表是Random Forest(随机森林)。
下续分别介绍这两个算法。