自适应提升(AdaBoost) M1 算法的原始设计动机与上一节中表述的非常不同。在这个算法产生的五年之后,才发现其与基于指数损失函数的前向分段加性模型的一致性。但通过研究指数损失准则的性质,可以深入了解这个方法的本质以及发现可以改进的方法。
在加性模型的框架中,指数损失函数的最重要优点是计算上的简便;它可推导出简单模块化的重赋权重的自适应提升算法。然而,另一个关注的问题是它的统计学上的性质。它是对什么的估计,以及它对其估计的准确程度如何?第一个问题可以通过求出其样本总体最小值解来回答。
容易证明(Friedman et al., 2000):
$$f^*(x) = \underset{f(x)}{\arg\min} \operatorname{E}_{Y|x}(e^{-Y f(x)}) = \frac{1}{2} \log\frac{\text{Pr}(Y=1 | x)}{\text{Pr}(Y=-1 | x)} \tag{10.16}$$或等价地:
$$Pr(Y=1 | x) = \frac{1}{1 + e^{-2f^*(x)}}$$因此,自适应提升得出的加性展开式所估计的是 $\operatorname{Pr}(Y=1|x)$ 的对数几率的一半。这也是式 10.1 中使用它的符号作为分类规则的合理性。
若将 $f$ 视为对数几率(logit)转换,另一个有着相同的样本总体最小值解的损失准则是负的二项分布对数似然函数,或 偏差(deviance),也被成为 交叉熵(cross-entropy)。令:
$$p(x) = \operatorname{Pr}(Y=1 | x) = \frac{e^{f(x)}}{e^{-f(x)} + e^{f(x)}} = \frac{1}{1+e^{-2f(x)}} \tag{10.17}$$并且定义 $Y’=(Y+1)/2\in\{0,1\}$。那么二项分布对数似然损失函数为:
$$l(Y, p(x)) = Y' \log p(x) + (1 − Y') \log(1 − p(x))$$或等价地,(二项)偏差为:
$$-l(Y, f(x)) = \log(1 + e^{−2Y f(x)}) \tag{10.18}$$由于对数似然函数的样本总体最小值解为真实的概率 $p(x)=\operatorname{Pr}(Y=1|x)$,从表达式 10.17 可见,偏差 $\operatorname{E}_{Y|x}[−l(Y,f(x))]$ 和 $\operatorname{E}_{Y|x}[e^{−Yf(x)}]$ 的样本总体最小值解是一样的。因此,在样本总体的角度上,使用任一个准则都会得出一样的解。需要注意 $e^{-Yf}$ 本身并不是一个正当的对数似然函数,因为它不是任何二元随机变量 $Y\in\{−1,1\}$ 的概率质量函数的对数。
本节练习
练习 10.2
Prove result (10.16), that is, the minimizer of the population version of the AdaBoost criterion, is one-half of the log odds.