Boosting【文献精读、翻译】

Boosting

Bühlmann, P., & Yu, B. (2009). Boosting. Wiley Interdisciplinary Reviews: Computational Statistics, 2(1), 69–74. doi:10.1002/wics.55

摘要

在本文中,我们回顾了Boost方法,这是分类和回归中最有效的机器学习方法之一。虽然我们也讨论了边际观点(margin point of view),但主要采用梯度下降的视角。文章特别介绍了分类中的 AdaBoost 和回归中的各种 L2Boosting 版本。同时,我们还为实践者提供了如何选择基础(弱)学习器和损失函数的建议,并给出了相关软件的使用指引。


Boosting 是一种现代统计方法,起源于20世纪90年代中期的机器学习,用于分类和回归。在过去几年中,Boosting 在理解和建模实际数据方面取得了显著进展。Boosting 被成功应用于许多领域,包括文本挖掘、图像分割、语言翻译、生物信息学、神经科学和金融等。

Boosting 具有以下几个特点:

  1. 集成方法:通过线性组合多个“弱学习器”形成的集成方法。
  2. 优化相关:与优化(通常是凸的)梯度下降(迭代)算法密切相关。这个特性与其他机器学习方法如 bagging 和随机森林共享。
  3. 提前停止:通过提前停止来实现正则化,这将正则化与数值优化结合,使得 Boosting 非常独特。
  4. 数据加权:Boosting 会根据前一次迭代的结果重新加权数据样本,这是因为损失函数梯度的形式导致的,尽管这一特点并非所有 Boosting 变体都具有,但在原始的 AdaBoost 算法中是非常重要的。

Kearns 和 Valiant 在“可能近似正确”(probably approximately correct,PAC)学习的框架中提出了一个猜想,即 一个成功率稍高于50%的弱分类器可以通过 Boosting 转化为一个强分类器 ,使得新的分类器训练误差趋于零,并且在多项式时间内完成计算。

在他的获奖麻省理工学院计算机科学论文中,回答了这一问题,并且 Freund 和 Schapire 设计了第一个实用的 Boosting 算法 AdaBoost,用于二分类问题。

Breiman 通过从 梯度下降 的角度重新推导出 AdaBoost,将 AdaBoost 与优化紧密联系起来。他基于边际(即真实标签 y ∈ { − 1 , 1 } y \in \{-1, 1\} y{ 1,1} 与预测值 f f f 的乘积 y f yf yf)的指数损失函数进行了推导。这一联系进一步被 Friedman 等人和 Mason 等人发展。

在统计学界,通过对不同损失函数的广义 AdaBoost 和通过不同的梯度下降方法,衍生出了许多 Boosting 变体。最著名的包括分类中的 LogitBoost 和回归中的 L2Boosting。

机器学习社区的另一研究方向则集中在边际视角(the margin view point)下的 AdaBoost,最近的研究强调了 AdaBoost 的集成和重新加权方面。

Boosting 的理论分析由理论统计学和理论机器学习社区共同发展。统计学家研究了如贝叶斯一致性和模型选择一致性,以及提前停止时各种 Boosting 方法的 Minimax 收敛率;而机器学习学者则研究了 Boosting 的算法收敛性和通过边际分布和模型类的复杂性测量及样本大小对 AdaBoost 泛化误差的上界。

这些理论分析的一个重要见解是,Boosting 过程的复杂性并不是迭代次数的简单线性函数。例如,在一个简单的回归案例中,复杂性随着迭代次数的增加而以指数递减的方式增长—— 复杂性上界由噪声方差决定,并且随着迭代次数增加,增加的复杂量变得极小 。这部分解释了 AdaBoost 的 抗过拟合特性

最终,AdaBoost 和其他所有 Boosting 方法都会过拟合,但在分类问题中,由于评估0-1损失函数的鲁棒性以及 Boosting 复杂性的缓慢增加,这个过程可能会持续很长时间。大多数理论研究都是在独立同分布(i.i.d.)假设下进行的,但也有一些研究对平稳数据源(stationary data sources)进行了推广。

本文主要从梯度下降的角度回顾 Boosting 算法。我们将特别介绍 AdaBoost、LogitBoost 和 L2Boosting 算法。在简要讨论边际视角之后,我们将讨论损失函数、基础学习器和停止规则的选择。

梯度下降的角度

我们从梯度下降的角度描述 Boosting 算法,特别是介绍用于分类的 AdaBoost 和 LogitBoost(对应于不同的损失函数 L L L )以及用于回归的各种版本的 L2Boosting(对应于 L 2 L2 L2 损失函数)。最后,我们简要提及从经验损失(empirical loss)到惩罚经验损失(penalized empirical loss)如回归中的 Lasso 的 Boosting 泛化。

L 2 L2 L2 损失函数,也叫均方误差 (Mean Squared Error, MSE),是机器学习和统计中常用的一种衡量模型预测误差的方法。它通过计算预测值与实际值之间差值的平方,然后取这些平方误差的平均值来表示。具体公式如下:
L 2  损失 = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 L2 \text{ 损失} = \frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2 L2 损失=n1i=1n(yiy^i)2
其中:

  • y i y_i yi 是第 i i i 个实际值
  • y ^ i \hat{y}_i y^i 是第 i i i 个预测值
  • n n n 是样本数量

L 2 L2 L2 损失函数惩罚大的误差,使得模型更关注较大的偏差。

假设我们观察到 ( X 1 , Y 1 ) , … , ( X n , Y n ) (X1, Y1), \ldots, (Xn, Yn) (X1,Y1),,(Xn,Yn),其中 X i ∈ R p Xi \in \mathbb{R}^p XiRp 表示一个 p p p 维预测变量, Y i Y_i Yi 表示一个单变量响应(univariate response),例如在回归中取值于 R \mathbb{R} R 或在二分类中取值于 { − 1 , + 1 } \{-1, +1\} { 1,+1}

接下来,我们用 X ( j ) X^{(j)} X(j) 表示向量 X ∈ R p X \in \mathbb{R}^p XRp 的第 j j j 个分量。我们通常假设对 ( X i , Y i ) (Xi, Yi) (Xi,Yi) 是独立同分布(i.i.d.)或来自平稳过程(stationary process)。目标是估计回归函数 F ( x ) = E [ Y ∣ X = x ] F(x) = \mathbb{E}[Y|X = x] F(x)=E[YX=x] 或找到分类器 sign ( F ( x ) ) \text{sign}(F(x)) sign(F(x)),其中 F ( x ) : R p → R F(x): \mathbb{R}^p \rightarrow \mathbb{R} F(x):RpR

通过实值损失函数(real-valued loss function)评估估计性能,意思是我们想最小化期望损失或风险:

E [ L ( Y , F ( X ) ) ] , (2) \mathbb{E}[L(Y, F(X))], \tag{2} E[L(Y,F(X))](2)

基于数据 ( X i , Y i ) ( i = 1 , . . . , n ) (Xi, Yi)(i = 1, ..., n) (Xi,Yi)(i=1,...,n)。假设损失函数 L L L 在第二个参数上是平滑和凸的,因此可以应用梯度方法。

通过在基础学习器上的函数梯度下降最小化经验损失函数可以得到 Boosting 算法。

n − 1 ∑ i = 1 n L ( Y i , F ( X i ) ) , (3) n^{-1} {\textstyle \sum_{i = 1}^{n}} L(Y_i , F(X_i)), \tag{3} n1i=1nL(Yi,F(Xi)),(3)

基础学习器的形式为 h ( x , θ ^ ) ( x ∈ R p ) h(x, \hat{\theta})(x \in \mathbb{R}^p) h(x,θ^)(xRp) ,其中 θ ^ \hat{\theta} θ^ 是有限或无限维度的估计参数。

例如,基础学习器可以是树桩, θ ^ \hat{\theta} θ^ 描述分裂的轴、分裂点和两个终端节点的拟合值。基于数据拟合基础学习器是基础学习器的一部分。

Boosting 方法论通常基于用户确定的基础过程或弱学习器,并在修改后的数据上反复使用它们,这些数据通常是先前迭代的输出。最终的 Boosting 过程采用基础过程的线性组合的形式。具体来说,给定一个基础学习器 h ( x , θ ) h(x, \theta) h(x,θ),Boosting 可以作为损失函数 L L L 上的函数梯度下降来推导。

Boosting(梯度下降视角)

  1. F 0 ( x ) = 0 F_0(x) = 0 F0(x)=0 开始。
  2. 给定 F m − 1 ( x ) F_{m−1}(x) Fm1(x),设

( β m , h ( x , θ ^ m ) ) ) = arg min ⁡ β ∈ R , θ ∑ i = 1 n L ( Y i , F m − 1 ( X i ) + β h ( x , θ ) ) 。 (\beta_m, h(x, \hat{\theta}_m))) = \argmin_{\beta \in \mathbb{R}, \theta} \sum_{i=1}^n L(Y_i, F_{m−1}(X_i) + \beta h(x, \theta))。 (β

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值