chapter 8 集成学习
8.1 个体与集成
集成学习通过构建并结合多个学习器来完成学习任务,也被称为多分类器系统。
基本策略是先产生一组“个体学习器”,再用某种策略将它们结合起来。
个体学习器通常由一个现有的学习算法从训练数据中产生,例如决策树,BP等。此时集成中只包含同种类型的个体学习器。例如“决策树集成”中都是决策树。这样的集成是“同质”的。同质集成中的个体学习器称为“基学习器”,相应的学习算法称为“基学习算法”。也有异质学习器。此时的个体学习器称为“组件学习器”,也没有基学习算法。
集成学习通过将多个学习器组合,可以获得比单一学习器显著优越的泛化性能,这对“弱学习器”(弱学习器指泛化性能略优于随机猜测的学习器)尤为明显。虽然使用弱学习器足以获得好的性能,但在实践中出于种种考虑,如使用较少个体学习器,人们往往会使用比较强的学习器。
集成学习的结果通过投票法产生,即“少数服从多数”,但是若弱学习器之间的表现差别不大,则集成后的性能提升不大,甚至会起副作用,总的来说,个体学习器需要做到有一定的==“准确性”,即不能太坏,并且要有一定的“多样性”==。
随着集成中个体分类器数目T的增大,集成的错误率将指数级下降,最终趋向于零。(基于假设:基学习器的误差相互独立)。
但是现实生活中个体学习器是为了解决同一个问题训练出来的,它们显然不可能相互独立,事实上,个体学习器的“准确性”和“多样性”本身就存在冲突。如何产生并结合“好而不同的”个体学习器,是集成学习研究的重点。
两种集成学习方式:1、个体学习器间存在强依赖关系,必须串行生成的序列化方法。2、个体学习器间不存在强依赖关系,可同时生成的并行化方法。前者的代表是Boosting,后者是Bagging和随机森林。
8.2 Boosting
Boosting是一族可将弱学习器提升为强学习器的算法,这族算法的工作机制类似:先从初始训练集中训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注。然后基于调整后的样本分布来训练下一个基学习器;如此重复,直至基学习器数目达到指定的值T(串联生成的序列化方法)。最终将这T个基学习器进行加权融合。
最著名的代表是Adaboost,它有多种推导方式,比较容易理解的是“加性模型”,即基学习器的线性组合:
若指数损失函数最小化,则分类错误率也将最小化;这说明指数损失函数是分类任务原本0/1损失函数的一致的替代损失函数,