集成学习的基本步骤

简述:

虽然集成学习的具体要使用的算法和策略有所相同,但在实现过程中都共享同样的操作步骤。本次分享结合具体的集成学习算法,分析下集成学习的具体过程。

一. 基本步骤

集成学习大致可以概括为以下3个大的步骤。

(1)找到误差互相独立的基分类器。

(2)训练基分类器。

(3)合并基分类器的结果。

合并基分类器的方法有voting和stacking两种。前者是用投票的方式,将获得最多选票的结果作为最终的结果。后者是用串行的方式,把前一个基分类器的结果输出到下一个分类器,将所有基分类器的输出结果相加(或者用更复杂的算法融合,比如把各基分类器的输出作为特征,使用逻辑回归作为融合模型进行最后的结果预测)作为最终的输出。

image.png

  二. Adaboost

以Adaboost为例,基分类器的合并方法是投票,其基分类器的训练和合并的基本步骤如下。

(1)确定基分类器:这里可以选取ID3决策树作为基分类器。事实上,任何分类模型都可以作为基分类器,但树形模型由于结构简单且较易产生随机性所以比较常用。

(2)训练基分类器:假设训练集为{xi,yi},i=1,...,N,其中yi{-1,1},并且有T个基分类器,则可以按照如下过程来训练基分类器。

初始化采样分布D1(i)=1/N;

令 t = 1, 2,..., T 循环:

从训练集中,按照Dt分布,采样出子集image.png

用St训练出基分类器ht;

计算ht的错误率:image.png,其中I[]为判别函数;

计算基分类器ht权重image.png

设置下一次采样

image.png

并将它归一化为一个概率分布函数。

(3)合并基分类器:给定一个未知样本z,输出分类结果为加权投票的结果image.png

 

  三. GBDT

GBDT的全称是Gradient Boosting Decision Tree(梯度提升树)。它的基分类器的是通过串行的方式合并起来的,本次我们只是介绍下基分类器的合并方法,所以在GBDT的原理上先不过多介绍。我们的目的:用较弱的树模型组合出一个强模型image.png,来进行样本的预测。

(1)确定基模型:虽然树形模型既可以用于分类训练也可以回归训练,但值得注意的是GBDT只能选取回归决策树作为基模型。但可以满足大多的场景。本次使用的样本集表示为image.png,损失函数:image.png,每个基模型表示为image.png

(2)训练基模型:初始化image.png,先找到最合适的参数image.png,使得image.png最小,模型初始化image.png

如果这里的损失函数是均方误差,我们通过image.png能计算得到各样本点预测的残差,我们要拟合的样本集就变成了image.png,按照第一次拟合的套路找最合适的image.png来拟合这个集合。

(3)合并基模型:最后模型合并升级为image.png

以上就是简单的GBDT串行合并的方法。

  四. 总结

本次的分享内容主要是通过Adaboost和GBDT两种算法分析的集成学习的通用步骤,Adaboost和GBDT的主要区别是基模型的不同和合并基分类器的方式不同。Adaboost使用分类树为基模型+voting的合并方法;GBDT使用回归树为基模型+stacking的合并方法。

posted @ 2022-01-25 16:18  MS小白  阅读(142)  评论(0)    收藏  举报