10.3 前向分段加性模型

前向分段(forward stagewise)的方法依次向展开式中添加新的基函数,而不改变其中已经加入的基函数的参数和系数,其结果近似于式 10.4 的解。算法 10.2 概括了计算过程。在每个迭代步骤 $m$ 中,求解待添加到当前展开式 $f_{m−1}(x)$ 中的最优基函数 $b(x;\gamma_m)$ 和对应的系数 $\beta_m$。这样就得出了 $f_m(x)$,继续重复这个过程。在此之前加入到模型中的项不做修改。


算法 10.2:前向分段加性模型

  1. 初始化 $f_0(x)=0$。
  2. 对 $m=1$ 到 $m=M$,重复:
    1. 计算 $$(\beta_m, \gamma_m) = \underset{\beta, \gamma}{\arg\min} \sum_{i=1}^N L(y_i,f_{m-1}(x_i) + \beta b(x_i;\gamma))$$
    2. 令 $$f_m(x) = f_{m-1}(x) + \beta_m b(x;\gamma_m)$$

对于平方误差损失函数:

$$L(y, f(x)) = (y - f(x))^2 \tag{10.6}$$

则步骤 2.1 中的损失函数可写为

$$\begin{align} L(y_i, f_{m-1}(x_i)+\beta b(x_i; \gamma)) &= (y_i - f_{m-1}(x_i) - \beta b(x_i; \gamma))^2 \\ &= (r_{im} - \beta b(x_i; \gamma))^2 \tag{10.7} \end{align}$$

其中的 $r_{im}=y_i−f_{m−1}(x_i)$ 即为当前模型在第 i 个样本上的拟合残差。因此对平方误差损失来说,每一步中添加到展开式的是对当前残差拟合最好的 $\beta_m b(x;\gamma_m)$ 项。这也是第 10.10.2 节中介绍的“最小二乘”回归提升的基本思路。然而在下一节的末尾会说明,在分类问题中平方误差损失函数一般不是一个好的选择;因此需要考虑其他的损失准则。

上一页
下一页