集成学习有哪些基本步骤?请举几个集成学习的例子

45 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第二十八天,点击查看活动详情

总结:此文为12月更文计划第二十八天第四十三篇。

集成学习有哪些基本步骤?请举几个集成学习的例子

集成学习一般可分为以下 3 个步骤。

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

( 2)训练基分类器。

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

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

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

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

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

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

image.png

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

从 Adaboost 的例子中我们可以明显地看到 Boosting 的思想,对分类正确的样本 降低了权重,对分类错误的样本升高或者保持权重不变。在最后进行模型融合的 过程中,也根据错误率对基分类器进行加权融合。错误率低的分类器拥有更大 的“话语权”。

要构建一个 AdaBoost 分类器,首先需要训练一个基础分类 器(比如决策树),用它对训练集进行预测。然后对错误分类的训练实例增加其相对权重, 接着,使用这个最新的权重对第二个分类器进行训练,然后再次对训练集进行预测,继续更 新权重,并不断循环向前。(如下图所示)

image.png

预测器的权重αj通过公式 7-2 来计算,其中η是学习率超参数(默 认为 1)。预测器的准确率越高,其权重就越高。如果它只是随 机猜测,则其权重接近于零。但是,如果大部分情况下它都是错 的(也就是准确率比随机猜测还低),那么它的权重为负。