8.8 模型平均和堆叠(stacking)

第 8.4 节从非参数贝叶斯分析的角度,将一个估计的自助抽样视为对应参数的近似后验分布抽样。从这个角度理解,自助聚合估计(表达式 8.51)是近似的后验贝叶斯均值。相比之下,训练样本估计 f^(x) 对应着后验分布的众数。由于后验均值(而不是众数)最小化平方误差损失,所以通常自助聚合会降低均方误差。

本节讨论更广义的贝叶斯模型平均。在训练集 Z 上有一组候选模型 Mmm=1,,M。这些模型可能是不同参数的同种模型(例如选取特征子集的线性回归),或同一个问题的不同模型(例如神经网络和回归树)。

假设 ζ 为某个感兴趣的数值,例如在某个固定特征取值 x 处的预测 f(x)ζ 的后验分布为:

(8.53)Pr(ζ|Z)=m=1MPr(ζ|Mm,Z)Pr(Mm|Z)

后验均值为:

(8.54)E[ζ|Z]=m=1ME(ζ|Mm,Z)Pr(Mm|Z)

这个贝叶斯预测是各个预测的加权平均,权重与每个模型的后验概率成比例。

从这个表达式可引出几个不同的模型平均的策略。**委员会(committee)**方法对每个模型的预测进行简单的不加权平均,本质上是给每个模型赋予相同的概率。更进一步,第 7.7 节中说明了 BIC 准则可被用于估计后验模型概率。这适用于由同参数模型产生但参数取值不同的模型的场景中。BIC 根据模型的拟合程度和使用的参数个数来给每个模型赋予权重。现也可以进行完整的贝叶斯方法。若每个模型 Mm 的参数为 θm,则有:

Pr(Mm|Z)Pr(Mm)Pr(Z|Mm)(8.55)Pr(Mm)Pr(Z|θm,Mm)Pr(θm|Mm)dθm

原则上,可以指定先验概率 Pr(θm|Mm) 并通过表达式 8.55 用数值计算作为模型平均权重的后验概率。然而,我们并没有见到实际的证据表明这个方法相较于更简单的 BIC 近似有明显的提高。

那么如何从频率学派(frequentist)的角度理解模型平均?给定预测值 f^1(x)f^2(x),……,f^M(x),对平方误差损失需要寻找权重 w=(w1,w2,,wM),使得:

(8.56)w^=argminwEP[Ym=1Mwmf^m(x)]2

其中将输入变量 x 视为常数,数据集 Z 中的 N 个观测值(以及目标变量 Y)服从 P 分布。其解为样本总体上 YF^(x)[f^1(x),f^2(x),,f^M(x)] 的线性回归:

(8.57)w^=EP[F^(x)F^(x)T]1EP[F^(x)Y]

现在完整的回归比任意单独的模型有更小的平方误差:

(8.58)EP[Ym=1Mw^mf^m(x)]2EP[Yf^m(x)]2,m

所以从样本总体分布上看,模型的组合总会对结果有所帮助。

当然,样本总体线性回归(表达式 8.57)并不可得,自然地可以用训练集上的线性回归作为替代。但可用一些简单的例子说明这效果并不好。例如,假设 f^m(x)m=1,2,,M 代表了 M 个输入变量中的 m 大小的最优输入变量子集所产生的预测,那么线性回归会将全部权重赋予最大的模型,即 w^M=1w^m=0m<M。问题在于并没有考虑到它们的模型复杂度(这个例子中是输入变量的个数 m),从而对每个模型进行公平地比较。

堆叠泛化(stacked generalization)堆叠(stacking) 即是一个如此的方法。另 f^mi(x) 为模型 m 应用在排除第 i 个训练观测值的训练集上,在 x 点处的预测值。从 yif^mi(xi)m=1,2,,M 的最小二乘线性回归可得出权重的堆叠估计。具体地,可将堆叠权重写为:

(8.59)w^st=argminwi=1N[yim=1Mwmf^mi(xi)]2

最终的预测值为 mw^mstf^m(x)。通过使用交叉验证类型的预测 f^mi(x),堆叠避免了给高复杂度的模型赋予不公平的高权重。对权重加上非负并且和为一的约束后,可得到更好的结果。若将权重理解为表达式 8.54 中的后验模型概率,那么这种约束看起来比较合理,而且会得到一个易于处理的二次规划问题。

堆叠和通过留一法(leave-one-out)交叉验证(第 7.10 节)之间存在紧密的联系。如果给表达式 8.59 中最小化约束在只有一个位置为一其他位置为零的权重向量 w 上,那么得出的是留一法交叉验证误差最小的模型选择 m^。堆叠没有选择一个单一的模型,而是用估计的最优权重结合模型。这通常会得出更好的预测,但会比从 M 个模型中选择其中一个的解释性差一些。

堆叠的思想实际上要比上述的更广泛。可以使用任意的学习方法,而不只是线性回归,计算表达式 8.59 中的权重来结合模型;这个权重也可以依赖于输入变量 x 的取值。这样看,是通过将学习方法“堆叠”在彼此之上来改进预测的效果。

上一页
下一页