Stacking集成学习法

介绍

当训练数据很多时,一种更为强大的结合策略就是使用“学习法”,即通过另一个学习器来进行结合。Stacking 是学习法的典型代表。这里我们把个体学习器称为初级学习器,用于结合的学习器称为次级学习器或者元学习器。

工作原理

Stacking先从初始数据集训练出初级学习器,然后“生成”一个新数据集用于训练次级学习器。在这个数据集中,初级学习器的输出被当成样例输入特征,而样本的标记仍然被当成样例标记。初级集成可以是同质的也可以是异质的。

过程

在训练阶段,次级训练集合是利用初级学习器产生的。若直接用初级学习器的训练集来产生次级训练集,则过拟合的风险会比较大。因此一般是通过使用交叉验证或者留一法这样的方式,用训练初级学习器未使用的样本来产生次级学习器的训练样本。
k折交叉验证为例,初始训练集合D被随机划分为k个大小相似的集合D1,D2,,Dk。令DjD¯j=DDj分别表示第j折的测试集和训练集。

算法流程

Stacking集成学习法