集成学习是通过合并多个模型从而达到提高学习性能的方法。
(1)Bagging:利用训练集的多个子集训练多个模型,然后再结合多个模型的预测结果得出最终结果。【并行】
首先,从原始样本中抽取训练集。采用有放回抽取的方法,每次抽取n个样本组成训练子集,进行k轮抽取。
然后,使用k个数据集训练得到k个模型(同种模型)。
最后,将k个模型的预测结果进行结合。对于分类任务,一般采用投票的方式(绝对半数投票、相对多数投票)。对于回归任务,一般采用平均的方式(直接平均、加权平均)。
例如:随机森林是对多个决策树模型(CART)进行集成的模型。
(2)Boosting:将多个弱分类器集成为一个强分类器。【串行】
首先,用原始数据集训练一个基学习器,并根据基学习器的表现,对训练样本的分布进行调整,使得预测错误的训练样本得到更多的关注。
其次,基于分布调整后的训练样本,训练下一个基学习器,重复训练基学习器,得到K个基学习器。
最后,将K个基学习器的结果进行加权求和。
例如:AdaBoost每一次得到基学习器,都要判断基学习器是否满足条件,如果不满足条件则抛弃,学习过程停止。
例如:GBDT梯度提升迭代决策树模型,要求弱学习器是CART模型。
(2)Stacking:通过元学习技术来整合多个异构的基学习器