AdaBoost 算法还有另一个解释,即可以认为 AdaBoost 算法是模型为加法模型损失函数为指数函数学习算法为前向分步算法时的二类分类学习方法

前向分步算法也是 Gradient Boosting 的基础,因此这一节我们先了解前向分步算法。

加法模型

加法模型(additive model)是这样的

前向分步算法 - 图1**

其中,前向分步算法 - 图2 为基函数,前向分步算法 - 图3 为基函数的参数,前向分步算法 - 图4 为基函数的系数。显然,上式是一个加法模型,也就是基学习器的一种线性组合。

在给定训练数据及损失函数 前向分步算法 - 图5 的条件下,学习加法模型 前向分步算法 - 图6 成为损失函数极小化问题:

前向分步算法 - 图7

通常这是一个复杂的优化问题。前向分步算法(forward stagewise algorithm)求解这一优化问题的想法是:因为学习的是加法模型,如果能够从前向后,每一步只学习一个基函数及其系数,逐步逼近哟花目标函数(即上式),那么就可以简化优化的复杂度。具体地,每步只需优化如下损失函数:

前向分步算法 - 图8

给定训练集前向分步算法 - 图9,其中 前向分步算法 - 图10。损失函数 前向分步算法 - 图11 和基函数的集合 前向分步算法 - 图12,学习加法模型 前向分步算法 - 图13 的前向分步算法如下

算法:前向分步算法

输入:训练数据集前向分步算法 - 图14;损失函数 前向分步算法 - 图15;基函数集 前向分步算法 - 图16

输出:加法模型 前向分步算法 - 图17

训练过程:
**
(1)初始化 前向分步算法 - 图18

(2)对 前向分步算法 - 图19

(a)极小化损失函数

前向分步算法 - 图20

得到参数 前向分步算法 - 图21

(b)更新

前向分步算法 - 图22

(3)得到加法模型

前向分步算法 - 图23

这样,前向分布算法将同时求解从 前向分步算法 - 图24前向分步算法 - 图25 所有参数 前向分步算法 - 图26 的优化问题简化为逐次求解各个 前向分步算法 - 图27 的优化问题。



前向分步算法与AdaBoost

由前向分步算法可以推导出 AdaBoost,用定理叙述这一关系如下:

定理3:AdaBoost 算法是前向分步加法算法的特例。这时,模型是由基本分类器组成的加法模型,损失函数是指数函数。

证明请参考李航博士《统计学习方法》的第 164 页。