集成学习的基本步骤
简述:
虽然集成学习的具体要使用的算法和策略有所相同,但在实现过程中都共享同样的操作步骤。本次分享结合具体的集成学习算法,分析下集成学习的具体过程。
一. 基本步骤
集成学习大致可以概括为以下3个大的步骤。
(1)找到误差互相独立的基分类器。
(2)训练基分类器。
(3)合并基分类器的结果。
合并基分类器的方法有voting和stacking两种。前者是用投票的方式,将获得最多选票的结果作为最终的结果。后者是用串行的方式,把前一个基分类器的结果输出到下一个分类器,将所有基分类器的输出结果相加(或者用更复杂的算法融合,比如把各基分类器的输出作为特征,使用逻辑回归作为融合模型进行最后的结果预测)作为最终的输出。

二. Adaboost
以Adaboost为例,基分类器的合并方法是投票,其基分类器的训练和合并的基本步骤如下。
(1)确定基分类器:这里可以选取ID3决策树作为基分类器。事实上,任何分类模型都可以作为基分类器,但树形模型由于结构简单且较易产生随机性所以比较常用。
(2)训练基分类器:假设训练集为{xi,yi},i=1,...,N,其中yi{-1,1},并且有T个基分类器,则可以按照如下过程来训练基分类器。
初始化采样分布D1(i)=1/N;
令 t = 1, 2,..., T 循环:
从训练集中,按照Dt分布,采样出子集
;
用St训练出基分类器ht;
计算ht的错误率:
,其中I[]为判别函数;
计算基分类器ht权重
;
设置下一次采样

并将它归一化为一个概率分布函数。
(3)合并基分类器:给定一个未知样本z,输出分类结果为加权投票的结果
。
三. GBDT
GBDT的全称是Gradient Boosting Decision Tree(梯度提升树)。它的基分类器的是通过串行的方式合并起来的,本次我们只是介绍下基分类器的合并方法,所以在GBDT的原理上先不过多介绍。我们的目的:用较弱的树模型组合出一个强模型
,来进行样本的预测。
(1)确定基模型:虽然树形模型既可以用于分类训练也可以回归训练,但值得注意的是GBDT只能选取回归决策树作为基模型。但可以满足大多的场景。本次使用的样本集表示为
,损失函数:
,每个基模型表示为
。
(2)训练基模型:初始化
,先找到最合适的参数
,使得
最小,模型初始化
。
如果这里的损失函数是均方误差,我们通过
能计算得到各样本点预测的残差,我们要拟合的样本集就变成了
,按照第一次拟合的套路找最合适的
来拟合这个集合。
(3)合并基模型:最后模型合并升级为
。
以上就是简单的GBDT串行合并的方法。
四. 总结
本次的分享内容主要是通过Adaboost和GBDT两种算法分析的集成学习的通用步骤,Adaboost和GBDT的主要区别是基模型的不同和合并基分类器的方式不同。Adaboost使用分类树为基模型+voting的合并方法;GBDT使用回归树为基模型+stacking的合并方法。
浙公网安备 33010602011771号