集成学习详解
摘要 :本文主要目的是梳理集成学习的知识体系 一、什么是集成学习? 面对一个机器学习问题,我们一般有两种方案: 1)训练不同的模型,选取一个效果最好的模型作为解决方案,进行重点调参优化 2)训练多个模型,可能每一个模型并不是最优的,但是综合考虑所有模型的输出结果,就会得到较好的最终结果 方案2便是集成学习 如果训练的多个模型是同一类型的模型(同为决策树或者神经网络等),则称该集成为“同质”的,所用算法称为“基学习算法”,每一个模型叫做“基学习器” 如果训练的多个模型非同一类型,则称该集成为“异质”的,此时不存在“基学习算法”的概念,每一个模型叫做“组件学习器”或“个体学习器”。 二、集成学习的分类 集成学习主要分为两大类,一类是bagging,另一类是boosting,他们分别对应着不同的训练和预测过程 首先我们要明确的是,不同基学习器的训练肯定对应着不同的样本分布或者不同的模型参数,如果使用同一个训练集的相同样本分布且模型参数相同(所选择模型),则集成学习没有意义。 1)在训练方面,bagging是通过对训练集的不同采样+基分类器选择不同超参数的方式进行训练,基分类器之间无强依赖,所以可以并行独自训练;boosting则是按照顺序,首先赋予样本相同的权重去训练第一个基分类器,然后根据该分类器在决策上的表现,提高该分类器分错的样本对应的权重,训练下一个基分类器