假定已经训练出一组学习器,那么,可以由这组学习器的输出结果作为样本,再以此训练出一个学习器,这就形成了二级级联形式。
将投票视为一级,则基于投票法的算法(如,AdaBoost)也是级联。
级联集成
投票是一种常用的集成策略,另一种常见的集成策略是级联集成
Stacking算法
对于数据集 D D D,假定已经训练出一组学习器 h 1 , h 2 , ⋯ , h T h_1,h_2,\cdots,h_T h1,h2,⋯,hT,那么,可以由这组学习器的输出结果作为样本,再以此训练出一个学习器,这就形成了二级级联形式。 第二级(次级)的训练如图8.1所示。

【西瓜书图8.9】所示的Stacking算法分为三大步:
(1)用训练集 D D D训练出一组学习器(初级学习器) h t h_t ht,第1-3句。
(2)用这组学习器去预测 D D D中的样本 x i \boldsymbol{x}_i xi,生成另一空间中的样本 z i \boldsymbol{z}_i zi(参见图8.1左半部分),将这个样本组装成样例 ( z i , y i ) (\boldsymbol{z}_i,y_i) (zi,yi),其中 y i y_i yi,源于原样例 ( x i , y i ) (\boldsymbol{x}_i,y_i) (xi,yi)。 则由 D D D生成了新样例集 D ′ D' D′,即第4-10句。
(3)在 D ′ D' D′上训练出一个学习器(次级学习器) h h h(参见图8.1右半部分),即第11句。
易注意到,上述算法中在各初级学习器和次级学习器中均使用同一数据集 D D D,这种反复使用会导致过拟合问题。 借助交叉验证【西瓜书第2.2.2节】的思路,我们可以解决这个问题。
设
D = D 1 ∪ D 2 ∪ ⋯ ∪ D k = D j ∪ D ‾ j \begin{align} D & =D_1\cup D_2\cup \cdots \cup D_k\notag \\ & =D_j\cup \overline{D}_j \tag{8.43} \end{align} D

文章介绍了级联集成的概念,特别是Stacking算法的步骤和应用,强调了通过初级学习器和次级学习器的结合来提高预测性能。同时,讨论了如何通过交叉验证避免过拟合问题,并对比了Boosting和Bagging在降低偏差和方差上的差异。此外,提到了多级集成以及AdaBoost和Bagging在级联结构中的作用,如MutilBoosting和IterativeBagging算法。
最低0.47元/天 解锁文章
8895

被折叠的 条评论
为什么被折叠?



