Foundation of machine learning

394 阅读19分钟

第7章 Boosting

集成方法是机器学习中的一种通用技术,可以去结合多个预测器来创建一个更准确的预测器。本章研究了一个被称为增强的重要集成方法家族,这个方法具体来说就是AdaBoost算法。该算法在某些场景中已经被实践证明是非常有效的,并且是基于丰富的理论分析。我们首先来介绍AdaBoost,展示下它如何通过快速减少轮数增强的经验误差,并指出它与一些著名算法的关系。接下来,我们来呈现出一种基于AdaBoost假设集的vc维数,并对AdaBoost的推广性质进行了理论分析,然后基于边际的概念,对其泛化性质进行了理论分析。在这种情况下发展的边际理论可以应用于其他类似的集成算法。而AdaBoost的博弈论可以进一步有助于分析其性质,揭示了弱学习假设与可分条件的等价性。

7.1 Introduction

这通常是困难的,对于一个不平凡的学习任务,去直接设计出一种满足第2\mathcal 2章强PAC学习要求的精确算法。但是,还是有很大的希望去找到仅能保证表现比随机稍好一些的简单预测器。下面给出了这种弱学习者的正式定义。正如在PAC学习的章节中一样,我们设n\mathcal n为一个数字,表示任何元素xX\mathcal x\in\mathcal X的计算代价最多为O(n\mathcal O(\mathcal n),并用大小(c\mathcal c)表示cC\mathcal c\in C计算表示的最大代价。

定义7.1(Weak learning)

如果存在一个概念类C\in C据说是弱PAC可学习的一个算法Aγ>0\mathcal A,\mathcal \gamma>0,和一个多项式函数多聚(·,·,·),这样对于任何σ>0\mathcal \sigma>\mathcal 0,对于X\mathcal X上的所有分布D\in D和任何目标概念cC\mathcal c\in\mathcal C

AdaBoost(S=((x1,y1),...,(xm,ym\in S= ((\mathcal x_1, \mathcal y_1), . . . ,(\mathcal x_m, y_m)

for i\leftarrowto m do

D1(i)1mD_1(i)\leftarrow\frac{1}{m}

for t \leftarrow 1 to T do

ht基础分类器H误差小ϵt=ρi Dth_t\leftarrow 基础分类器 \mathcal H误差小\epsilon_t=\rho_i~\mathcal D_t[ht(xi)yih_t(x_i)\neq y_i]

at12log1ϵtϵta_t\leftarrow\frac{1}{2}log\frac{1-\epsilon_t}{\epsilon_t}

Zt[ϵt(1ϵt)]12Z_t\leftarrow[\epsilon_t(1-\epsilon_t)]^{\frac{1}{2}}\rhd 归一化[标准化]因数

for i 1\leftarrow 1 to m doDt(i)Dtiexpatyihtxt))Zt\mathcal D_t(i)\leftarrow\frac{D_t(i)exp(-a_ty_ih_t(x_t))}{Z_t}

ft=1Tathtf\leftarrow\sum^T _{t=1}a_th_t

returnfreturn f

图7.1基本分类器集H1+1x\mathcal H⊆{−1,+1}\mathcal x的AdaBoost算法。以下算法适用于任何样本大小的mpoly(1/σ,nsize(c\mathcal m\ge\mathcal poly(\mathcal 1/\mathcal \sigma,\mathcal n,\mathcal size(\mathcal c)):

其中hSh_S是算法A\mathcal A在样本S\mathcal S上训练时返回的假设。当这样的算法A\mathcal A存在时,它被称为C的弱学习算法或弱学习者的算法。弱学习算法返回的假设称为基础分类器。 增强技术背后的关键思想是使用一个弱学习算法来建立一个强的学习者,也就是说,一个精确的PAC学习算法。要做到这一点,提升技术采用了一种集成方法:它们结合了弱学习者返回的不同基础分类器,以创建一个更准确的预测器。但是应该使用哪些基础分类器以及如何组合呢?下一节来通过详细描述一种最普遍和最成功的增强算法,AdaBoost来解决这些问题。

我们用 H\mathcal H 表示从中选择基本分类器的假设集,我们有时会称之为基分类器集。图7.1给出 图7.2

QQ截图20211008005558.png 以轴对齐的超平面作为基础分类器的AdaBoost示例。(a\mathcal a)最上面的一行显示了每一轮推进时的决策边界。下面一行显示了每一轮如何更新权重,给出错误(正确)权重增加(减少)。(b\mathcal b)最终分类器的可视化,构造为基分类器的非负线性组合。 在基分类器是从X\mathcal X映射到{1+1\mathcal −1,\mathcal +1}的函数时,AdaBoost的伪代码,因此H\mathcal H\subseteq{1+1\mathcal −1,\mathcal +1}X\mathcal X。 该算法以一个标记的样本S=((x1y1)(xmymS=((x_1,y_1),…,(x_m,y_m))作为输入,其中,(xiyix_i,y_i) X×1+1\subseteq\mathcal X×{−1,+1}为所有的im\mathop i\in{m},并在索引{1\mathcal 1,…,m\mathcal m}上保持一个分布。最初(第1\mathcal 12\mathcal 2行),分布是均匀的(D1\mathcal D1)。在每一轮增强h\mathcal h时,即循环38\mathcal 3-\mathcal 8的每次迭代ti\mathcal t\in {\mathcal i},选择一个新的基分类器tH\mathcal t\in\mathcal H,使由分布DtD_t加权的训练样本的误差最小化:

htarg minhHPiDi[h(xi)yi]=arg minhHi=1mDt(i)h(xi)yih_{_t}\in\underset{h\in\mathcal H}{\argmin}\underset{i\sim\mathcal D_{_i}}{\mathbb{P}}[h(x_{_i})\neq y_{_i}]=\underset{h\in\mathcal H}{\argmin}\sum^{m}_{i=1}\mathcal D_{_t}(i)_{_{h(x_i)\neq y_i}}

ztz_t只是一个归一化因子,以确保权重Dt(i\mathcal D_t(\mathcal i)之和为1\mathcal 1。 定义系数αt\mathcal αt的确切原因将在稍后变得清楚。

目前,观察到,如果ϵt基分类器的t的误差小于12,这时1ϵtϵt>1并且at\epsilon_t基分类器的t的误差小于\frac{1}{2},这时\frac{1-\epsilon_t}{\epsilon_t}\mathcal>1并且\mathcal a_\mathcal t是积极的(at>0a_t> 0).因此,新的分布Dt+1\mathcal D_{t+1}是从Dt\mathcal D_t通过大大增加它的重量i\mathcal i如果点xi\mathcal x_i是错误的分类(yi\mathcal y_i ht(xi)<0\mathcal h_t(\mathcal x_i)<\mathcal 0),相反,如果xi\mathcal x_i是正确分类的。这样做的效果是更多地关注下一轮助推中错误分类的点,而不是那些正确分类的点ht\mathcal h_t

经过T轮增强后,AdaBoost返回的分类器是基于函数的符号进行的f\mathcal T轮增强后,AdaBoost返回的分类器是基于函数的符号进行的\mathcal f,这是一个基分类器的非负线性组合ht\mathcal h_t。重量αt\alpha_t被分配给ht\mathcal h_t在这个和中是精度之比的对数函数1ϵt\mathcal 1-\epsilon_t和错误ϵt\epsilon_tht\mathcal h_t.因此,更准确的基分类器在这个总和中被分配了一个更大的权重。图7.2说明了AdaBoost算法。这些点的大小表示在每一轮推进时分配给它们的分布权重。任何t[T\mathcal t\in[\mathop T],我们将用ftf_t表示基分类器的线性组合t\mathcal t轮升力:ft=s=1tashs\mathcal f_t=\sum^t _{s=1}\mathcal a_s\mathcal h_s。特别是,我们有fT=f\mathcal f_T=\mathcal f分布Dt+1\mathcal D_{t+1}可以用ft\mathcal f_t归一化因素Zs,s[t\mathcal Z_s,\mathcal s\in[\mathop t],如下:

i[m\forall\mathcal i\in[\mathcal m],Dt+1(i=eyift(xi)ms=1tZs\mathcal D_{t+1}(\mathcal i)=\frac{e^{-y_if_t(x_i)}}{m \prod ^t_{s=1}Z_s} (7.2)

我们将在以下章节的证明中多次使用这个恒等式。它可以通过重复扩展点上分布的定义来直接显示出来xi\mathcal x_i

Dt+1(i)=eαtyift(xi)Zt=Dt1ieat1yiht1(xi)eatyift(xi)Zt1Zt=eyis=1tashs(xi)ms=1tZs\mathcal D_{t+1}(\mathcal i)=\frac{e^{-\alpha_ty_if_t(xi)}}{Z_t}=\frac{\mathcal D_{t-1}(\mathcal i)e^{-a_{t-1}y_{i}h_{t-1}(xi)}e^{-a_ty_if_t(xi)}}{Z_{t-1Z_t}} =\frac{e^{yi\sum^{t}_{s=1}a_sh_s(xi)}}{m \prod ^t_{s=1}Z_s}

AdaBoost算法可以通过以下几种方式进行推广:

hth_t可以不是加权误差最小的假设,而是由训练过的弱学习算法返回的基本分类器Dt\mathcal D_t;

基分类器的范围可以是[1.+1\mathcal −1.\mathcal +1],或者更一般地是一个有界的子集R\R

系数αt\mathcal \alpha_t可以不同,甚至可能不允许封闭形式。一般来说,选择它们是为了最小化经验误差的上界,如下一节所述。当然,在这种一般情况下,假设ht\mathcal h_t不是二进制分类器,但它们的符号可以定义标签,它们的大小可以被解释为置信度的度量。

在本章的其余部分中,H\mathcal H中的基分类器的范围将被假设包含在[1+1\mathcal −1\mathcal +1]中。我们进一步分析AdaBoost的特性,并讨论其在实践中的典型应用。

7.2.1结合经验误差

我们首先证明了AdaBoost的经验误差随着助推轮数的函数呈指数快速减小.

定理7.2

AdaBoost返回的分类器的经验误差验证了:R^s(f)exp[2t=1T(12ϵt)2]\widehat{\mathop{R}} _s(\mathcal f)\leq exp\lbrack-2\sum\limits_{t=1}^{T} (\frac{1}{2}-\epsilon_t)^2\rbrack
(7.3) 此外,如果为所有人t[T]γ(12ϵt\mathcal t∈[T],\mathcal γ\le(\frac{1}{2}-\epsilon_t),这时Rs(f){\mathop{R}}_s(\mathcal f)\leexp(-2γ2T\mathcal γ^2 T).

证明:使用一般的不等式1u0expu\mathcal 1_{u\leq0}\le exp(-u)对所有人都有效uR\mathcal u\in \mathbb R和身份7.2,我们可以写道:

R^s(f)=1mi=1m\widehat{\mathop{R}}_s(\mathcal f)=\frac{1}{m}\sum\limits^{m}\limits_{i=1}yif(xi)0{{y_i} f_(xi)\le0} 1m\le\frac{1}{m} i=1m[mt=1TZt\sum\limits^{m}\limits_{i=1}[m\prod \limits^T_{t=1}Z_t]{i=1}DT+1=t=1TZt\mathcal D_{T+1}=\prod \limits^T_{t=1}Z_t

因为所有t[T],Zt\in [T],Z_t是一个标准化因子,它可以用ϵt\epsilon_t通过:

Zt=i=1mDt(i)eat1yiht1(xi)=i:yiht(xi)=+1Dt(i)eatZ_t=\sum\limits^{m}_{i=1}\mathcal D_{t}(i)e^{-a_{t-1}y_{i}h_{t-1}(xi)}=\sum\limits_{\mathcal i:y_ih_t(x_i)=+1}\mathcal D_{t}(i)e^{-at}+i:yiht(xi)=1Dt(i)eat\sum\limits_{\mathcal i:y_ih_t(x_i)=-1}\mathcal D_{t}(i)e^{at}

=(1-ϵt)eat+ϵteαt\epsilon_t)e^{-at}+\epsilon_te^{\alpha_t}

=(1-ϵt)ϵt1ϵt+ϵt1ϵtϵt=2ϵt(1ϵt)\epsilon_t)\sqrt\frac{\epsilon_t}{1-\epsilon_t}+\epsilon_t{\sqrt\frac{1-{\epsilon_t}}{\epsilon_t}}=2\sqrt{\epsilon_t(1-\epsilon_t)}

因此,归一化因子的乘积可以表示和上界如下:

t=1TZt=t=1T2ϵt(1ϵt)=t=1T14(12ϵt)2t=1Texp[2(12ϵt)2]\prod \limits^T_{t=1}Z_t=\prod \limits^T_{t=1}2\sqrt{\epsilon_t(1-\epsilon_t)}=\prod \limits^T_{t=1} \sqrt{1-4(\frac{1}{2}-\epsilon_t)^2} \leq\prod \limits^T_{t=1} exp[-2(\frac{1}{2}-\epsilon_t)^2]

=exp[2(12ϵt)2][-2(\frac{1}{2}-\epsilon_t)^2]

其中的不等式来自于这个不等式1xex对所有人都有效xR.其中的不等式来自于这个不等式1-x\leq e^{-x}对所有人都有效x\in \mathbb R. \Box

请注意,γ\mathcal γ的值,这被称为边缘,并且算法不需要知道基本分类器的准确性。该算法适应了他们的需求

20211010161123.png

图7.3由AdaBoost优化的零损失(蓝色)和零损失(红色)的凸和可微上界的可视化。并根据这些值定义了一个解决方案。这是AdaBoost的扩展名称的来源:自适应增强。定理7.2的证明揭示了其他几个重要的性质。首先,观察到αt\alpha_t是函数的最小值φ:α(1ϵt)eα+ϵteα\varphi:\alpha\mapsto(1-\epsilon_t)e^{-\alpha}+\epsilon_te^{\alpha}.的确,φ\varphi是凸的和可微的,并将其导数设置为零产量: φ(α)=(1ϵt)eα+ϵteα=0(1ϵt)eα=ϵteα\varphi(\alpha)={-}(1{-}\epsilon_t)e^{{-}\alpha}+\epsilon_te^{\alpha}=0\Leftrightarrow(1-\epsilon_t)e^{-\alpha}=\epsilon_te^{\alpha}

图7.3由AdaBoost优化的零1损失(蓝色)和零1损失(红色)的凸和可微上界的可视化。并根据这些值定义了一个解决方案。这是AdaBoost的扩展名称的来源:自适应增强。定理7.2的证明揭示了其他几个重要的性质。首先,观察到αtα_t是函数的最小值φ:α(1ϵt)eα+ϵteα.的确,φ\varphi:\alpha\mapsto (1-\epsilon_t)e^{-\alpha}+\epsilon_te^{\alpha}.的确,\varphi是凸的和可微的,并将其导数设置为零产量:

φ(α)=(1ϵt)eα+ϵteα=0(1ϵt)eα=ϵteα\varphi(\alpha)=-(1-\epsilon_t)e^{-\alpha}+\epsilon_te^{\alpha}=0\Leftrightarrow(1-\epsilon_t)e^{-\alpha}=\epsilon_te^{\alpha}

图7.3由AdaBoost优化的零1损失(蓝色)和零1损失(红色)的凸和可微上界的可视化。并根据这些值定义了一个解决方案。这是AdaBoost的扩展名称的来源:自适应增强。定理7.2的证明揭示了其他几个重要的性质。首先,观察到αt\alpha_t是函数的最小值φ:α(1ϵt)ea+ϵtea\varphi:\alpha\mapsto (1-\epsilon_t)e^{-a}+\epsilon_te^{a}.的确,φ\varphi是凸的和可微的,并将其导数设置为零产量:

φ(α)=(1ϵt)eα+ϵtea=0(1ϵt)eα=ϵteaa=12log1ϵtϵt.(7.5)\varphi(\alpha)={-}(1{-}\epsilon_t)e^{{-}\alpha}+\epsilon_te^{a}=0\Leftrightarrow(1{-}\epsilon_t)e^{{-}\alpha}=\epsilon_te^{a}\Leftrightarrow\mathcal a=\frac{1}{2}log{\sqrt\frac{1-{\epsilon_t}}{\epsilon_t}}. (7.5)

因此,选择αtα_t来最小化Zt=φ(atZ_t=\varphi(a_t)而且,根据这个界限R^s(f)t=1TZt\widehat{\mathop{R}} _s(\mathcal f)\leq\prod ^T_{t=1}Z_t如图所示,这些系数被选择来最小化经验误差的上界。事实上,对于范围为[1+1]R\mathcal [−1,+1]或\R的基本分类器,αt\alpha_t可以以类似的方式选择来最小化ZtZ_t,这就是AdaBoost扩展到这些更一般的情况的方式。还要注意的是,平等的(1ϵt)eat=ϵteat7.5(1-\epsilon_t)e^{-a_t}=\epsilon_te^{at}如\mathcal (7.5)所示,在每次迭代中,AdaBoost将等分布质量分配给正确和错误分类的实例,因为(1ϵt)eαt(1-\epsilon_t)e^{-\alpha_t}是分配给正确分类点的总分布,以及错误分类点的总分布ϵteat\epsilon_te^{at}。这似乎与AdaBoost增加了错误分类点的权重并减少了其他点的权重的事实相矛盾,但事实上并不一致:原因是错误分类点的权重总是更少,因为基本分类器的准确性比随机的好。

7.2.2与坐标下降AdaBoost的关系最初是为了解决弱学习算法是否可以用来推导出强学习算法的理论问题。在这里,7.2AdaBoost151我们将证明它实际上与一个非常简单的算法一致,该算法包括将一般坐标降技术应用于凸可微目标函数。为简单起见,在本节中,我们假设基分类器集H\mathcal H是有限的,具有基数NH=(h1,...,hN)\mathcal N:\mathcal H={(h_1,...,h_N)}。集成函数f\mathcal f比如AdaBoost返回的那个,然后可以被写成f=1mj=1Najhj\mathcal f=\frac{1}{m}\sum^{N}_{j=1}{\mathop{a}\limits^{-}{_j}h_j},随着aj\mathop{a}\limits^{-}{{_j}} 0\ge0给定一个标记样本S=((x1,y1),...,(xm,ym\mathcal S=((\mathcal x_1, \mathcal y_1), . . . ,(\mathcal x_m, y_m),设F\mathcal F是为所有对象定义的目标函数a(a1,..,aN)RN\mathop{a}\limits^{-}(\mathop{a}\limits^{-}{_1},..,\mathop{a}\limits^{-}{_N})\in\R^N通过:

F(a)=f)=1mi=1m\mathop{a}\limits^{-})=\mathcal f)=\frac{1}{m}\sum\limits^{m}\limits_{i=1} yif(xi)01mi=1m_{y_if(x_i)\le0}\le\frac{1}{m}\sum\limits^{m}\limits_{i=1} eyif(xi)e^{-y_if(x_i)}

F\mathop F是一个α\mathop α的一个凸函数,因为它是一个凸函数的和,每个凸函数都是由(凸)指数函数和一个\mathop α的仿射函数组成得到的。F\mathop F也是可微的,因为指数函数是可微的。我们将证明F\mathop F是由AdaBoost最小化的目标函数。不同的凸优化技术可以用来最小化f\mathop f。在这里,我们将使用坐标下降技术的一个变体。坐标下降应用于T\mathop T轮上。设a0=0\mathop{a}\limits^{-}{_0}=0并且设at\mathop{a}\limits^{-}{_t}表示迭代结束时的参数向量t\mathop t。在每一轮t[T]t\in[\mathop T],方向eke_k对应的第k个坐标a\mathop{a}\limits^{-}R\mathbb R是选择的,以及一个步长η\eta沿着那个方向.at\mathop{a}\limits^{-}{_t}是从at1\mathop{a}\limits^{-}{_{t-1}}根据更新at\mathop{a}\limits^{-}{_t}=at1+ηek\mathop{a}\limits^{-}{_{t-1}}+\mathcal \eta e_k,其中η是沿着ek\eta是沿着e_k方向选择的步长。请注意,如果我们用gt\mathop{g}\limits^{-}{_t}集成函数决定由at\mathop{a}\limits^{-}{_t},即gt=j=1Najhj\mathop{g}\limits^{-}{_t}=\sum^{N}_{j=1}{\mathop{a}\limits^{-}{_j}h_j},然后,坐标下降更新与该更新相一致gt\mathop{g}\limits^{-}{_t}=gt1\mathop{g}\limits^{-}{_{t-1}}+ηhk\mathcal \eta h_k,这也是AdaBoost的更新。因此,由于这两种算法都是从g0=0\mathop{g}\limits^{-}{_0}=0, ,以表明AdaBoost与坐标下降应用于F\mathop F,只要在每次迭代中显示出来都足够了t\mathop t,坐标下降选择相同的基本假设香港和步骤η作为AdaBost提升。我们将通过归纳法假设这适用于迭代t1\eta作为AdaBost提升。我们将通过归纳法假设这适用于迭代t−1,这意味着等式gt1\mathop{g}\limits^{-}{_{t-1}}=ft1然后将显示它在迭代t\mathop{f}\limits^{-}{_{t-1}}然后将显示它在迭代t中也成立。

我们在这里考虑的坐标下降的变体包括,在每次迭代中,选择最大的下降方向,即F的导数是绝对值最大的方向,并沿着该方向选择最好的步骤,即选择η\mathop F的导数是绝对值最大的方向,并沿着该方向选择最好的步骤,即选择η来最小化F(at1+ηek)F(\mathop{a}\limits^{-}{_{t-1}+\mathcal ηe_k})。为了给出每次迭代的方向和步骤的表达式,我们首先引入第7章152与分析中出现的增强量。任何t[T]t\in[\mathop T],我们在指数{11,……}上定义了一个分布DtD_t,如下所示:

D(i)=eyif(xi)j=1Nat1hj(xi)Zt=eyigt1(xi)Zt\mathop \mathcal{D}\limits^{-}(i)=\frac{e^{-y_if(x_i)\sum^{N}_{j=1}{\mathop{a}\limits^{-}{_{t-1}}h_j}}(x_i)}{\mathop{Z}\limits^{-}{_t}}=\frac{e^{-y_i\mathop{g}\limits^{-}{_{t-1}}}(x_i)}{{\mathop{Z}\limits^{-}{_t}}}

其中,Zt\mathop{Z}\limits^-{_t}为归一化因子Zt\mathop{Z}\limits^-{_t}=i=1meyif(xi)j=1Nat1hj(xi)\sum^{m}_{i=1}e^{-y_if(x_i)\sum^{N}_{j=1}{\mathop{a}\limits^{-}{_{t-1}}h_j}}(x_i)。注意,因为gt1\mathop{g}\limits^{-}{_{t-1}}=ft1\mathop{f}\limits^{-}{_{t-1}},Dt\mathop{D}\limits^{-}{_{t}}Dt(i)\mathcal D_{t}(i)我们也定义了任何基本的假设hjj[N]h_j,\mathop j∈[\mathop N],其预期误差ϵt,j\mathop\epsilon\limits^{-}{_t,_j}关于分布Dt\mathcal D_{t}:ϵt,j=[1yihj(xi)0]\mathop\epsilon\limits^{-}{_{t,j}}=[1_{y_ih_j(x_i)\le0}]

F的方向导数at1沿着ek\mathop F'的方向导数\mathop{a}\limits^{-}{_{t-1}}沿着e_k被表示为 F(at1,ek)=limη0F(at1+ηek)F(at1)η\mathop F(\mathop{a}\limits^{-}{_{t-1}},e_k)=\mathop{lim}\limits_{\eta\rightarrow0}\rightarrow\frac{F(\mathop a\limits^{-}{_{t-1}}+ηe_k)-F(\mathop a\limits^{-}{_{t-1}})}{η}

F(at1,ek)=i=1meyij=1Nat1hj(xi),沿ek\mathop F'(\mathop{a}\limits^{-}{_{t-1}},e_k)=\sum^{m}_{i=1}e^{-y_i\sum^{N}_{j=1}{\mathop{a}\limits^{-}{_{t-1}}h_j}(x_i)},沿e_k的方向导数可以表示如下:

=1mi=1m-\frac{1}{m}\sum\limits^{m}\limits_{i=1} yihk(xi)eyij=1Nat1hj(xi){y_ih_k(x_i)}e^{-y_i\sum^{N}_{j=1}{\mathop{a}\limits^{-}{_{t-1}}h_j}(x_i)}

=1mi=1m-\frac{1}{m}\sum\limits^{m}\limits_{i=1} hk(xi)Dt(i)Zt{h_k(x_i)}\mathop\mathcal{D}\limits^{-}{_{t}}(i)\mathop{Z}\limits^{-}{_t}

=-[i=1mDt(i)yihk(xi)\sum^{m}_{i=1}\mathop\mathcal{D}\limits^{-}{_{t}}(i)y_ih_k(x_i)=+1Dt(i)yihk(xi)=1]Ztm_{+1}-\mathop\mathcal{D}\limits^{-}{_t}(i)_{y_ih_k(x_i)=-1}]\frac{\mathop{Z}\limits^{-}{_t}}{m}

Ztm\frac{\mathop{Z}\limits^{-}{_t}}{m}不依赖于k,最大下降方向k\mathop k是一个最小方向ϵt,K\epsilon_{t,K}因此,迭代t\mathop t时坐标下降选择的假设hkh_k是样本S\mathop S上期望误差最小的假设hkh_k,其中期望对Dt=Dt\mathop{D}\limits^{-}{_t}=\mathop{D}{_t}进行。这与AdaBoost在第t轮的选择完全匹配。

选择步长η\eta以沿所选择的方向最小化函数ek:argminηF(at1,ek)e_k:argmin_\eta F(\mathop {a}\limits^{-}{_{t-1}},e_k)自从 F(at1,ek)ηF(\mathop {a}\limits^{-}{_{t-1}},e_k)是\eta的一个凸函数,以找到

QQ截图20211012232706.png

图7.4从损失的几个凸上界的例子的最小值,它足以将其导数设为零:

dF(at1,ek)dη=01mi=1mhk(xi)Dt(i)Zteηyihk(xi)=0\frac{dF(\mathop{a}\limits^{-}{_{t-1}},e_k)}{d\eta}= 0\Leftrightarrow\frac{1}{m}\sum\limits^{m}\limits_{i=1}h_k(x_i)\mathop D\limits^{-}{_t}(i)\mathop{Z}\limits^{-}{_t}e^{-\eta y_ih_k(x_i)}=0

1mi=1mhk(xi)Dt(i)Zteηyihk(xi)=0-\Leftrightarrow\frac{1}{m}\sum\limits^{m}\limits_{i=1}h_k(x_i)\mathop D\limits^{-}{_t}(i)\mathop{Z}\limits^{-}{_t}e^{-\eta y_ih_k(x_i)}=0

1mi=1mhk(xi)Dt(i)eηyihk(xi)=0-\Leftrightarrow\frac{1}{m}\sum\limits^{m}\limits_{i=1}h_k(x_i)\mathop D\limits^{-}{_t}(i)e^{-\eta y_ih_k(x_i)}=0

[(1ϵt,k)eηϵt,keη]=0\Leftrightarrow-[(1-\mathop\epsilon\limits^{-}{_{t,k}})e^{-\eta}-\mathop\epsilon\limits^{-}{_{t}},_ke^\eta]=0

η=12log1ϵt,kϵt,k\Leftrightarrow\eta=\frac{1}{2}log\frac{1-\mathop\epsilon\limits^{-}{_t,k}}{\mathop\epsilon\limits^{-}{_t,k}}

这证明了坐标下降选择的步长与AdaBoost分配给第t\mathop t轮中选择的分类器的权重αlphatαlpha_t一致。因此,应用于指数目标F的坐标下降与AdaBoost精确重合,而F可以看作是AdaBoost寻求最小化的目标函数。鉴于这种关系,我们可以考虑坐标下降到零损失a\mathop{a}\limits^{-}的上界的其他凸可微函数的类似应用。特别是,逻辑损失xlog2(1+ex)x\longmapsto log_2(1+e^{-x})是凸的和可微的,是零损失的上界。图7.4\mathop 7.4显示了具有零损失上限的备选凸损失函数的其他例子。使用逻辑损失,而不是AdaBoost使用的指数损失,会导致一个与逻辑回归相一致的目标。

在这里,我们简要描述了AdaBoost的标准实际应用。该算法的一个重要要求是选择基分类器或弱学习器。在实践中,AdaBoost通常使用的基本分类器家族是决策树,这相当于空间的层次分区(见第9\mathop 9章,第9.3.3\mathop 9.3.3节)。在决策树中,深度为1\mathop 1的树,也被称为树桩,是迄今为止最常用的基分类器。提升树桩是与单个特性关联的阈值函数。因此,树桩对应于单个轴对齐的空间分区,如图所示如图7.27.2所示。如果数据在RN\R^N,我们可以将一个残桩与每个NN个分量关联起来。因此,为了确定在每一轮推进时具有最小加权误差的树桩,必须计算每个分量的最佳分量和最佳阈值。为此,我们可以首先在O(mlogm)O(m log m)时间内对每个组件进行预排序,总计算成本为O(mlogm)O(m log m)。对于一个给定的组件,只有m+1可能存在不同的阈值,因为相同的连续组件值之间的两个阈值是等价的。为了找到每一轮增压时的最佳阈值,可以比较所有这些可能的m+1m+1值,这可以在O(m)O(m)时间内完成。因此,T\mathop T轮提升算法的总计算复杂度为O(mNlogm+mNT)O(mN log m+m NT) 。然而,请注意,虽然增强树桩与AdaBoost被广泛使用,并且在实践中表现很好,但以最小(加权)经验误差返回树桩的算法不是一个弱学习者(参见防御7.1)!例如,考虑简单的XORXOR示例,R2\mathbb R^2中有四个数据点(见图6.3a),其中第二象限和第四象限的点是正标记的,第一和第三象限的点是负标记的12\frac{1}{2}

7.3在本节中,我们对AdaBoost的推广特性进行了理论分析。7.3.1基于vc维度的分析,我们首先基于其假设集的vc维度对AdaBoost进行分析。ADAT轮增强后AdaBoost选择输出的函数族FT 7.3在本节中,我们对AdaBoost的推广特性进行了理论分析。7.3.1基于vc维度的分析,我们首先基于其假设集的vc维度对AdaBoost进行分析。ADA在\mathop T轮增强后AdaBoost选择输出的函数族\mathcal F_T为

FT=sgnt=1Tαtht:αt0,htH,t[T]\mathcal F_T={sgn(\sum^T _{t=1}\alpha_th_t):\alpha_t\ge0,h_t\in H,t\in[T]}

QQ截图20211013003837.png

图7.5 使用AdaBoost和(4.5)\mathop(4.5)决策树作为基础学习者的实证结果。在本例中,经过大约5轮增强(T≈5)后,训练误差趋于0\mathop 0,但当T值越大时,测试误差继续减小。FT\mathop F_T的vc维数可以根据基本假设H\mathcal H族的vc维数d\mathop d限定如下(练习7.1\mathop 7.1):

VCdim(FT)2(d+1)(T+1)log29(T+1)e)VCdim(\mathcal F_T)\le2(d+1)(T+1)log_29(T+1)e)

上界随着O(dTlogT)\mathop O(dTlogT)的增长而增长,因此,该界表明AdaBoost可能对大的T值过拟合,这确实会发生。然而,在许多情况下,根据经验观察到,AdaBoost的泛化误差随着增强T轮数的函数而减少,如图轮数的函数而减少,如图\mathop 7.5$所示!如何解释这些实证结果?下面的部分提出了一个基于边际的分析,以支持AdaBoost,可以作为这些经验观察的理论解释。

7.3.2

L1\mathop L_1几何裕度在第5\mathop 5章中,我们引入了置信裕度的定义,并提出了一系列基于该概念的一般学习边界,该概念特别为支持向量机提供了很强的学习保证。在这里,我们将类似地基于集成方法的置信度概念推导一般学习边界,我们将特别使用它来推导AdaBoost的学习保证。回想一下,一个实值函数f在一个用y标记的点x处的置信度是量yf(x)y标记的点x处的置信度是量\mathop yf(x)。对于支持向量机,我们还定义了几何边度的概念,在可分离的情况下,它是具有归一化加权向量w,w2=1\mathop w,{\|w\|_2=1}的线性假设置信度的边度的下界。在这里,我们还将为具有范数-1约束的线性假设定义一个几何边度的概念,例如AdaBoost返回的集合假设,并同样将该概念与置信边度的概念联系起来。这也将为我们提供一个机会,以指出在支持向量机中使用的一些概念和术语与在增强中使用的一些概念和术语之间的联系。

QQ截图20211013173717.png

7.6norm2norm7.6norm-2和norm-\infty的最大边缘超平面。

首先要注意的是一个函数f=t=1Tαtht\mathop f=\sum^T _{t=1}\alpha_th_t这是碱基假设的线性组合(h1,...,hT)(h_1,...,h_T)可以等价地表示为一个内积f=a.h\mathop f=a^.h,这里α=(α1,...αT)T\alpha=(\alpha_1,...\alpha_T)^T并且h=(h1,...hT)T\mathop h=(h_1,...h_T)^T。这使得本章中考虑的线性假设与第5\mathop 5章和第6\mathop 6章之间的相似性明显:基本假设值h(x)\mathop h(x)的向量可以视为与x相关的特征向量,前几章用Φ(x)\varPhi(x)表示,α\alphaw\mathop w表示的权重向量。此外,对于如AdaBoost返回的集合线性组合,权值向量是非负的:α0\alpha\ge0。接下来,我们为这种集成函数引入一个几何裕度的概念,它不同于为支持向量机引入的概念,只使用范数1\mathop 1而不是范数2\mathop 2,使用刚刚引入的符号。

定义7.3L1几何边缘)L1几何边缘ρf(x)的线性函数f=t=1Tathtα0在某一点xX定义7.3(L1几何边缘)L_1几何边缘\rho_f(x)的线性函数f=\sum^T _{t=1}a_th_t和\alpha\neq0在某一点x\in\mathcal X是由

ρf(x)=f(x)α1=t=1Tathtα1=α.h(x)α1\mathcal \rho_f(x)=\frac{|f(x)|}{\|\alpha\|1}=\frac{|\sum^T _{t=1}a_th_t|}{\|\alpha\|1}=\frac{|\alpha.h(x)|}{\|\alpha\|1}

f在样本S=上的L1边缘(x1xmf在样本S=上的L_1边缘(x_1,……,x_m)是其在该样本中各点上的最小边缘:

ρf=mini[m]ρf(xi)=mini[m]α.h(xi)α1\mathcal \rho_f=\mathop{min}\limits_{_{i\in[m]}}\mathcal \rho_f(xi)=\mathop{min}\limits_{_{i\in[m]}}\frac{|\alpha.h(xi)|}{\|\alpha\|1}

这个几何边界的定义与SVM算法上下文中给出的定义5.1不同,仅通过权值向量使用的范数:这里的L1\mathop L_1范数,定义5.1中的L2\mathop L_2范数。为了在下面的讨论中区分它们,让ρ1(x)\rho_1(x)表示L1ρ2(x)\mathop L_1\rho_2(x)表示第x\mathop x点处的L2\mathop L_2边(定义5.1\mathop 5.1):

ρ1=α.h(x)α1ρ2=α.h(x)α2\mathcal \rho_1=\frac{|\alpha.h(x)|}{\|\alpha\|1}和\mathcal \rho_2=\frac{|\alpha.h(x)|}{\|\alpha\|2}

7.3理论结果

ρ2(x)\rho_2(x)是向量h(x)h_(x)到方程αx=0\alpha·x=0的超平面的范数2\mathop 2的距离。类似地,ρ1(x)\rho_1(x)h(x)\mathop h_(x)到该超平面的范数-\infty距离。这个几何差异如图7.6.8\mathop 7.6.8所示,我们将用

f=ft=1Tαt=fα1\mathop {f}\limits^{-}=\frac{f}{\sum^T_{t=1}\alpha_t}=\frac{f}{\|\alpha\|_{1}}

由AdaBoost返回的函数f\mathop f的规范化版本。请注意,如果一个标签为y\mathop y的点x被正确地分类为f(或者f)\mathop f(或者\mathop {f}\limits^{-}),然后是置信度f)\mathop {f}\limits^{-})x\mathop x处与f\mathop fL1L_1几何边缘重合:yf(x)=yf(x)α1=ρf(xi)y\mathop {f}\limits^{-}(x)=\frac{y\mathop {f(x)}}{\|\alpha\|_{1}}=\mathcal \rho_f(xi).请注意,由于系数αt\alpha_t是非负的,ρf(xi)\mathcal \rho_f(xi)则是基本假设值ht(x)h_t(x)的凸组合。特别是,如果基本假设hth_t[1+1]\mathop [−1,+1]中的值,那么ρf(xi)[1+1]\mathcal \rho_f(xi)在[−1,+1]

基于7.3.3边际的分析为了分析AdaBoost的泛化性质,我们首先研究了凸线性系综的辐射器复杂性。对于任何实值函数的假设集H\mathcal H,我们用conv(H\mathcal H)来表示它的凸包,它由

conv(H\mathcal H)={k=1pμkhk:p1,k[p],μk0,hkH,k=1pμk1\sum\limits^{p}_{k=1}\mu_kh_k:p\ge1,\forall k\in[p],\mu_k\ge0,h_k\in\mathcal H,\sum\limits^{p}_{k=1}\mu_k\le1. (7.12)(7.12)

下面的引理表明,值得注意的是,conv(H\mathcal H)的经验辐射器复杂度,通常是一个严格更大的集合,包括H\mathcal H,与H\mathcal H的是一致的。

引理7.47.4H\mathcal H是一组从X\mathcal X映射到R\mathbb R的函数。然后,对于任何样本S\mathop S,我们都有

Sconv(H)=SH\Re_Sconv(\mathcal H)=\Re_S\mathcal H

一般地说,对于p,q1\mathop p,q\ge1,p\mathop pq\mathop q是共轭物,既是1p+1q=1\frac{1}{p}+\frac{1}{q}=1,α.h(x)αph(x)\frac{|\alpha.h(x)|}{\|\alpha\|p}为h(x)到方程αh(x)=0\alpha·h(x)=0的超平面的范数q\mathop q距离。

证明:证明来自于一系列简单的等式:

Sconv(H)=1mEσ[h1...hphHsup,μ0μ11i=1mσik=1pμkhk(xi)]\Re_Sconv(\mathcal H)=\frac{1}{m}\mathop \mathbb E\limits_{\sigma}[_{h_1,...,h_ph\in\mathop H\limits^{sup},\mu\ge0\|\mu\|_1\le1}{\sum\limits^{m}_{i=1}\sigma_i \sum\limits^{p}_{k=1}\mu_kh_k(xi)]}
=1mEσ[h1...hphHsup,μ0μ11k=1pμii=1mσkhk(xi)]=\frac{1}{m}\mathop \mathbb E\limits_{\sigma}[_{h_1,...,h_ph\in\mathop H\limits^{sup},\mu\ge0\|\mu\|_1\le1}{\sum\limits^{p}_{k=1}\mu_i \sum\limits^{m}_{i=1}\sigma_kh_k(xi)]}
=1mEσ[h1...hphHsup,k[p]maxi=1mσiσkhk(xi)]=\frac{1}{m}\mathop \mathbb E\limits_{\sigma}[_{h_1,...,h_p h\in\mathop H\limits^{sup},\mathop {k\in [p]}\limits^{max}}\sum\limits^{m}_{i=1}\sigma_i\sigma_kh_k(xi)]
=1mEσ[hHsupi=1mσkh(xi)]=SH=\frac{1}{m}\mathop \mathbb E\limits_{\sigma}[h\in\mathop H\limits^{sup}\sum\limits^{m}_{i=1}\sigma_kh(xi)]=\Re_S\mathcal H

其中第三个等式遵循对偶范数的定义(见A.1.2\mathcal A.1.2节),或观察到p项凸组合的最大化向量μ\mu是将所有权重放在最大项上的值。\Box

该定理可以直接与定理5.8\mathcal 5.8结合,推导出假设凸组合集合的辐射复杂性推广界。回想一下

R^s,ρ(h)表示带有边际的经验性边际损失ρ\widehat{\mathop{R}}_s,_\rho(h)表示带有边际的经验性边际损失\rho

推论7.5(集合雷达采集器边界)

H\mathcal H表示一组实值函数。修复ρ>0\rho>0。然后,对于任何一个σ>0\sigma>0,概率至少为1个σ−\sigma,以下每个σ\sigma都适用于所有的hconv(H)\mathop h∈conv(\mathcal H)

R(h)R^s,ρ(h)+2ρm(H)+1og1σ2m\mathop{R}(h)\le\widehat{\mathop{R}}_s,_\rho(h)+\frac{2}{\rho}\Re_m(\mathcal H)+\sqrt\frac{1og\frac{1}{\sigma}}{2m}

R(h)R^s,ρ(h)+2ρm(H)+31og2σ2m\mathop{R}(h)\le\widehat{\mathop{R}}_s,_\rho(h)+\frac{2}{\rho}\Re_m(\mathcal H)+3\sqrt\frac{1og\frac{2}{\sigma}}{2m}

使用推论3.8\mathop3.8和推论3.18\mathop3.18根据vc\mathop vc维约束辐射器的复杂性,立即得到以下基于vc维的假设凸组合集合的泛化边界。

推论7.6\mathcal 7.6(集合vc\mathop vc维边界界)设H\mathcal H是一个函数族,取码头+11\mathcal{+1,−1}vc\mathop vc维数为d\mathop d。修复ρ>0\rho>0。然后,对于任何σ>0\sigma>0,概率至少为1σ1−\sigma,以下情况适用于所有hconv(H)\mathop h∈conv(\mathcal H)

R(h)R^s,ρ(h)+2ρ2dlogemdm+1og1σ2m\mathop{R}(h)\le\widehat{\mathop{R}}_s,_\rho(h)+\frac{2}{\rho}\sqrt\frac{2dlog\frac{em}{d}}{m}+\sqrt\frac{1og\frac{1}{\sigma}}{2m}

这些边界可以推广为所有的ρ(0,1]loglog22σm\rho\in(0,1] \sqrt\frac{loglog_2\frac{2}{\sigma}}{m},以形式的附加项的价格如定理5.9所述。他们不能是直接应用于AdaBoost返回的函数f\mathop f,因为它不是基假设的凸组合,但它们可以应用于其归一化版本,f\mathop f\limits^{-}=t=1Tathtα1conv(H)\frac{\sum^T _{t=1}a_th_t}{\|\alpha\|_{1}}\in conv(\mathcal H)。请注意,从二进制分类的角度来看,f\mathop ff\mathop f\limits^{-}是等价的,因为sgn(f)=sgnfα1sgn(f)=sgn(\frac{f}{\|\alpha\|_{1}}),因此R(f)=R(fα1)\mathop{R}(f)=R(\frac{f}{\|\alpha\|_{1}}),但他们的经验利润率损失是明显的。

设码头f=t=1Tatht\mathop f=\sum^T _{t=1}a_th_t表示在样本S\mathop S上训练后AdABoost返回的分类器的函数。然后,鉴于(7.13)\mathop(7.13),对于任何σ>0\sigma>0,以下概率至少为1σ1−\sigma

R(h)R^s,ρ(h)+2ρm(H)+1og1σ2m\mathop{R}(h)\le\widehat{\mathop{R}}_s,_\rho(h)+\frac{2}{\rho}\Re_m(\mathcal H)+\sqrt\frac{1og\frac{1}{\sigma}}{2m}

7.14\mathop (7.14)7.15\mathop (7.15)中也可以得到类似的边界。值得注意的是,增强T的轮数并没有出现在泛化界中7.16\mathop (7.16)。如果边界损失Rρ(f)R_\rho(\mathop f\limits^{-}),该边界仅取决于基分类器家族的置信度ρ\rho、样本量m\mathcal mH\mathcal H有效泛化的辐射器复杂度。因此,边界保证了对于相对较大的RρR_\rho很小的有效一代。回想一下,边际损失可以是点x\mathop x的分数,即y(fx)α1ρ\frac{y(fx)}{\|\alpha\|_{1}}\le\rho(见5.38\mathop(5.38))。根据我们对L1L_1边距的定义,这也可以写如下:

R^s,ρ(f)i[m]:yiρf(xi)ρm(7.17)\widehat{\mathop{R}}_s,_\rho(\mathop f\limits^{-})\le\frac{|{i\in[m]:y_i\rho_f(xi)\le\rho}|}{m} \mathop(7.17)

此外,下面的定理提供了经验边际损失的界,在后面讨论的条件下,随T\mathop T减小

定理7.7

f=t=1Tatht\mathop f=\sum^T _{t=1}a_th_t表示AdaBoost在T\mathop T轮增强后返回的函数,并假设所有t[T]\mathop t\in[T],那ϵt<12\mathop\epsilon_t<\frac{1}{2},这意味着αt>0\alpha_t>0。然后,对于任何ρ>0\rho>0,以下内容如下:

R^s,ρ(f)2Tt=1Tϵt1ρ(1ϵ)1+ρ\widehat{\mathop{R}}_s,_\rho(\mathop f\limits^{-})\le2^T\leq\prod \limits^T_{t=1}\sqrt {\epsilon_t^{1-\rho}(1-\epsilon)^{1+\rho}}

证明:

使用一般的不等式1μ0exp(μ)1_{\mu\le0}\le exp(-\mu)对所有μR\mu\in\mathbb R都有效,与7.2\mathop7.2一致Dt+1(i)=eyif(xi)m=1TZt\mathop\mathcal D\limits^{-}{_{t+1}}(i)=\frac{e^{y_if(x_i)}}{m \prod ^T_{=1}Z_t},等于Zt=2ϵt(1ϵt)Z_t=2\sqrt\epsilon_t(1-\epsilon_t)

定理7.2\mathop7.2的证明,以及αt=12log(1ϵϵ)α_t=\frac{1}{2}log(\frac{1-\epsilon}{\epsilon})的定义,我们可以写:

1mi=1m1yif(xi)ρα1001mi=1mexp(yif(xi)+ρα10)\frac{1}{m}\sum\limits^{m}_{i=1}1_{y_if(x_i)-\rho\|\alpha\|1\le0}\le0\frac{1}{m}\sum\limits^{m}_{i=1}exp(-y_if(x_i)+\rho\|\alpha\|_1\le0)
=1mi=1meρα1[mt=1TZt]Dt+1(i)=\frac{1}{m}\sum\limits^{m}_{i=1}e^{\rho\|\alpha\|_1}[m\prod \limits^T_{t=1}Z_t]\mathop\mathcal D\limits^{-}{_{t+1}}(i)
=eρα1t=1TZt=eρtαt=e^{\rho\|\alpha\|_1}\prod \limits^T_{t=1}Z_t=e^{\rho\sum_{t'\alpha_t}}
=2Tt=1T[1ϵtϵt]ρ1ϵtϵt=2^T\prod \limits^T_{t=1}[{\sqrt{\frac{1-\mathop\epsilon\limits^{-}{_t}}{\mathop\epsilon\limits^{-}{_t}}}}]^\rho{\sqrt{\frac{1-\mathop\epsilon\limits^{-}{_t}}{\mathop\epsilon\limits^{-}{_t}}}}

证明就是结论。\Box

此外,如果所有的T[T]T\in[\mathop T]我们有γ(12ϵt)\gamma\le(\frac{1}{2}-\epsilon_t)ρ2γ\rho\le2\gamma,然后表达式4ϵt(1+ρ)\mathop 4\epsilon_t^{({1+\rho})}是最大的ϵt=12γ.9\epsilon_t=\frac{1}{2}-\gamma.^9因此,上限在经验性的边际损失可以为公式

R^s,ρ(f)[(12γ)1+ρ(12γ)1+ρ]T2\widehat{\mathop{R}}_s,_\rho(\mathop f\limits^{-})\le[(1-2\gamma)^{1+\rho}(1-2\gamma)^{1+\rho}]^\frac{T}{2}

请注意(12γ)1ρ(1+2γ)1+ρ=(14γ2)(1+2γ12γ)ρ(1-2\gamma)^{1-\rho}(1+2\gamma)^{1+\rho}=(1-4\gamma^2)(\frac{1+2\gamma}{1-2\gamma})^\rho.这是ρ\rho的一个不断增加的函数,因为我们已经有了(1+2γ12γ)>1(\frac{1+2\gamma}{1-2\gamma})>1由于γ>0\gamma>0。因此,如果ρ<γ\rho<\gamma,它可以是严格的上界如下

(12γ)1ρ(1+2γ)1+ρ<(12γ)1γ(1+2γ)1+γ.(1-2\gamma)^{1-\rho}(1+2\gamma)^{1+\rho}<(1-2\gamma)^{1-\gamma}(1+2\gamma)^{1+\gamma}.

函数γ1+ρ<(12γ)1γ(1+2γ)1+γ\gamma\mapsto{1+\rho}<(1-2\gamma)^{1-\gamma}(1+2\gamma)^{1+\gamma}在区间01/2\mathop(0、1/2)上的严格上限为1\mathop 1,因此,如果ρ<γ\rho<\gamma这时(12γ)1ρ(1+2γ)1+ρ<1(1-2\gamma)^{1-\rho}(1+2\gamma)^{1+\rho}<17.18\mathop(7.18)的右侧随T\mathop T的增加而呈指数级下降ρO(1/m)\rho\gg O(1/\sqrt m)为了给定的边界收敛是必要的,这放置了一个条件γO(1/m)\gamma\gg O(1/\sqrt m)在边缘值上。在实际应用中,基分类器在t\mathop t轮的误差ϵt\epsilon{_t}可能随着t\mathop t的函数而增加。非正式地说,这是因为增强迫使弱学习者集中于更难以分类的实例,因为即使是最好的基分类器也不能实现比随机更好的错误。如果ϵt\epsilon{_t}作为t的函数相对较快地接近12\frac{1}{2},那么定理7.7\mathop7.7的界就变得无信息了。

f:ϵlog[ϵ1ρ(1ϵ1+ρ)]=(1ρ)logϵ+(1+ρ)log(1ϵ)\mathop f:\epsilon\mapsto log[\epsilon^{1-\rho}(1-\epsilon^{1+\rho})]=(1-\rho)log\epsilon+(1+\rho)log(1-\epsilon)的差异,在此区间内,0,1\mathop(0,1)是由f(ϵ)=1ρϵ1+ρ1ϵ=212ρ2ϵ(1e)=2(12ρ2ϵ)ϵ(1e)\mathop f'(\epsilon)=\frac{1-\rho}{\epsilon}-\frac{1+\rho}{1-\epsilon}=2\frac{\frac{1}{2}-\frac{\rho}{2}}{\epsilon(1-e)}=2\frac{(\frac{1}{2}-\frac{\rho}{2}-\epsilon)}{\epsilon(1-e)}因此,f\mathop f是一个递增的函数,超过(012ϵ2)\mathop(0,{\frac{1}{2}-\frac{\epsilon}{2}})这意味着它正在增加,超过(012γ)(0,\frac{1}{2}-\gamma)γρ2\gamma\ge\frac{\rho}{2}

之前的分析和讨论表明,如果AdaBoost承认有一个积极的优势(γ0\gamma\ge0),然后ρ<γ\rho<\gamma,经验性利润率损失R^s,ρ(f)\widehat{\mathop{R}}_s,_\rho(\mathop f\limits^{-})对于足够大的T\mathop T,它会变成零(它会以指数速度下降)。因此,AdaBoost在训练样本上实现了γ\gammal1\mathop l1几何边缘。在第mathop7.3.5、mathop7.3.5节中,当且仅当训练样本可分离时,边缘γ\gamma是正的。在这种情况下,可以选择边缘为在样本上实现的最大L1L_1几何边缘ρmax\rho_{max}的一半:γ=ρmax2\gamma=\frac{\rho_{max}}{2}。因此,对于一个可分离的数据集,AdaBoost可以渐近地实现至少是最大几何边缘的一半的几何边缘,ρmax2\frac{\rho_{max}}{2}.

这种分析可以作为经验观察的理论解释,在某些任务中,即使在训练样本上的误差为零后,泛化误差也随T的函数而减小:当训练样本可分离时,几何裕度继续增加。在7.16\mathop(7.16)中,对于T\mathop T轮后由AdaBoost确定的集合函数f\mathop f,随着T\mathop T的增加,ρ\rho可以选择为一个更大的量,使右边的第一项消失(R^s,ρ(f)\widehat{\mathop{R}}_s,_\rho(\mathop f\limits^{-}))而第二项变得更有利,因为它减少了1ρ\frac{1}{\rho}

但是,AdaBoost是否达到了最大的L1L_1几何边缘ρmax\rho_{max}?没有。研究表明,对于一个线性可分离的样本,AdaBoost可以收敛到一个明显小于最大边缘的几何边缘(例如,13\frac{1}{3}而不是38)\frac{3}{8})

7.3.4边际最大化

基于这些结果,已经设计了几种算法的最大化L1\mathop L_1几何边际的明确目标。这些算法对应于求解线性程序(LP)\mathop(LP)的不同方法。根据L1\mathop L_1边缘的定义,线性可分离样本S=((x1,y1),...,(xm,ym)\mathop S=((\mathcal x_1, \mathcal y_1), . . . ,(\mathcal x_m, y_m)的最大边际是由

ρ=maxαmini[m](yiα.h(xi))α1\rho=\mathop{max}\limits_{\alpha}\mathop{min}\limits_{i\in[m]}\frac{(y_i\alpha^.h(x_i))}{\|\alpha\|_1}

根据最大化的定义,优化问题可以写为:maxαρ\mathop{max}\limits_{\alpha}\rho

受以下条件约束:(yiα.h(xi))α1ρ,i[m]\frac{(y_i\alpha^.h(x_i))}{\|\alpha\|_1}\ge\rho,\forall_i\in[m] 因为(yiα.h(xi))α1\frac{(y_i\alpha^.h(x_i))}{\|\alpha\|_1}α\alpha的尺度不变,我们可以限制自己α1=1\|\alpha\|_1=1进一步寻找非阴性的α\alpha,如AdaBoost,会导致以下情况优化:

maxαρ{\mathop{max}\limits_{\alpha}\rho}

服从于yi(α.h(xi))ρ,i[m]y_i(\alpha^.h(x_i))\ge\rho,\forall_i\in[m]

(t=1Tα=1\sum^T_{t=1}\alpha=1)Λ(αt0,t[T])\Lambda(\alpha_t\ge0,\forall t\in[T])

这是一个线性程序(LP\mathop LP),即一个具有线性目标函数和线性约束的凸优化问题。在实践中,有几种不同的方法来解决相对较大的有限合伙人,使用简单形方法、内点方法,或各种特殊目的的解决方案。

请注意的是,在可分离情况下,该算法的解与定义支持向量机的边际最大化的不同之处仅在于所使用的几何边界(L1vsL2L_1vsL_2)的定义和权重向量的非负性约束。图7.6说明了在一个简单的情况下使用这两种不同的边界定义发现的边界最大化超平面。左图显示了SVM解,其中距离超平面最近的点相对于范数测量.2\|^.\|_2。右边的图显示了L1\mathop L_1边缘的解,其中距离超平面最近的点的距离是相对于范数测量的.\|^.\|_\infty

根据定义,刚才描述的LP的解决方案允许一个大于或等于AdaBoost解决方案的L1\mathop L_1边距。然而,实证结果并没有显示对LP\mathop LP的解决有系统的好处。事实上,在许多情况下,AdaBoost似乎优于该算法。所描述的边际理论似乎不足以解释这种表现。

7.3.5 在这节中,我们证明AdaBoost允许一个自然的博弈论解释。冯·诺伊曼定理的应用有助于我们将最大边缘和最优边缘联系起来,并阐明AdaBoost的弱学习假设与L1\mathop L_1边缘概念的联系。我们首先介绍了一个特定分布的基分类器的边缘的定义。

定义7.8 在训练样本S=((x1,y1),...,(xm,ym\mathop S=((\mathcal x_1, \mathcal y_1), . . . ,(\mathcal x_m, y_m)上的分布D\mathcal D的基分类器是由ht\mathop h_t的边缘

γt(D)=12ϵt=12i=1myiht(xi)D(i)\gamma_t(\mathcal D)=\frac{1}{2}-\epsilon_t=\frac{1}{2}\sum\limits^m_{i=1}y_ih_t(x_i)\mathcal D(i)

AdaBoost的弱学习条件现在可以表述如下:存在γ>0\gamma>0,因此对于训练样本上的任何分布D\mathcal D和任何基础

表7.1标准石剪刀布游戏的损失矩阵

QQ截图20211015135541.png

分类器ht\mathop h_t,适用于如下:γt(D)γ\gamma_t(\mathcal D)\ge\gamma

分析定理7.2\mathop7.2和系数αt\alpha_t的非负性都需要这个条件。我们将把提升作为一个两人零和游戏。定义7.9\mathop7.9(零和博弈)一个有限的两人零和博弈由一个损失矩阵MRm×n\mathop M\in\mathbb R^{m×n}组成,其中M是行玩家可能的行动(或纯策略)的数量,n是列玩家可能的行动的数量。条目Mij\mathop M_{ij}是当行播放者采取行动i\mathop i和列播放者采取行动j\mathop j时的损失(或相当于列支付者的回报)。表7.1\mathop7.1显示了一个熟悉的“石头剪刀布”游戏的损失矩阵的例子。定义7.10\mathop7.10(混合策略)行播放器的混合策略是在m\mathop m个可能的行操作上的分布ρ\rho;列播放器的混合策略是在n\mathop n个可能的列操作上的分布q\mathop q。对于混合策略ρ\rhoq\mathop q,行玩家的预期损失(列玩家的预期收益)是Ei p[Mij]=i=1mj=1npiMijqj=PTMq\mathop{\mathbb E}\limits_{i~p}[\mathop M_{ij}]=\sum\limits^m_{i=1}\sum\limits^n_{j=1}p_i\mathop M_{ij}q_j=P^TMq

以下是第8\mathop 8章所证明的博弈论的一个基本结果。定理7.11\mathop7.11(Von诺伊曼极大极小定理)对于由矩阵M\mathop M定义的任意有限的二人零和对策,以下等式成立:

minPmaxqPTMq=maxqminPPTMq\mathop{min}\limits_{P}\mathop{max}\limits_{\mathop q}P^TMq=\mathop{max}\limits_{\mathop q}\mathop{min}\limits_{P}P^TMq

7.22\mathop7.22)中的共同值称为游戏的值。该定理指出,对于任何两人零和博弈,每个玩家都存在一个混合策略,为了与其他章节讨论的结果一致,我们考虑损失矩阵而不是回报矩阵(它的相反)这样一个的预期损失与另一个的预期损失收益相同,两者都等于游戏的价值。注意,给定行玩家的策略,列玩家可以选择一个纯粹的策略来优化他们的回报。也就是说,列播放器可以选择对应于向量PTM\mathop P^TM的最大坐标的单个策略。类似的评论也适用于相反的评论。因此,极大极小定理的另一种等价形式是

minPmaxj[n]PTMej=maxqmini[m]eiTMq\mathop{min}\limits_{P}\mathop{max}\limits_{j\in[n]}P^TMe_j=\mathop{max}\limits_{q}\mathop{min}\limits_{i\in[m]}e_i^TMq

其中ei\mathop e_i表示第个单位向量。我们现在可以把AdaBoost看作是一个零和游戏,其中行玩家的动作是选择一个训练实例xi\mathop x_ii[m]\mathop i\in[m],而列玩家的动作是选择一个基础学习者ht\mathop h_tt[T]\mathop t\in[T]。因此,行玩家的混合策略是在训练点指数上的分布D\mathcal D。列播放器的混合策略是基于分类器索引的分布[T]。这可以从一个非负向量α0\alpha\ge0中定义:分配的权重t[T]\mathop t\in[T]αt/α1\alpha_t/\|\alpha\|1。AdaBoost的损失矩阵M(11)m×T\mathop M\in(−1,1)^{m×T}Mit=yiht(xi)M_{it}=y_ih_t(xi)定义为所有(it)\mathop(i,t) [m]×[T]\in[m]×[T]。根据冯·诺伊曼定理7.23\mathop(7.23),以下观点成立:

minDDmax[t[T]]i=1mD(i)yiht(xi)=maxα0mini[m]T=1tαtα1yiht(xi)(7.24)\mathop{min}\limits_{\mathop\mathcal D\in\mathcal D}\mathop{max}\limits_{[t\in[T]]}\sum^m_{i=1}\mathcal D(i)y_ih_t(x_i)=\mathop{max}\limits_{\alpha\ge0}\mathop{min}\limits_{i\in[m]}\sum\limits^t_{T=1}\frac{\alpha_t}{\|\alpha\|1}y_ih_t(x_i)(7.24)

其中,D\mathcal D表示在训练样本上的所有分布的集合。设ρα(x)\rho_\alpha(x)表示由所定义的分类器的点x\mathop x的边缘f=t=1Tαtht\mathop f=\sum^T_{t=1}\alpha_th_t。结果可以根据边缘和边缘重写如下:

2γ=2minD2\gamma^*=2\mathop{min}\limits_{\mathop\mathcal D} max[t[T]]γt(D)=maxαmini[m]ρα(xi)=ρ,(7.25)\mathop{max}\limits_{[t\in[T]]}\gamma_t(\mathop\mathcal D)=\mathop{max}\limits_{\alpha}\mathop{min}\limits_{i\in[m]}\rho_\alpha(x_i)=\rho^*,(7.25)

其中ρ\rho^*是一个分类器的最大边缘,γ\gamma^*是可能的最佳边缘。这个结果有几个意义。首先,它表明,弱学习条件γ\gamma^*意味着ρ>0\rho^*>0,因此存在一个具有正边际的分类器,这激发了对非零边际的搜索。AdaBoost可以被看作是一种寻求实现如此非零边际的算法,尽管,正如前面所述,AdaBoost并不总是实现最优边际,因此在这方面是次最优的。此外,我们还看到,“弱学习”假设最初似乎是算法所需要的最弱条件(性能优于随机),实际上是一个强条件:它意味着训练样本与边际2γ>02\gamma^*>0是线性可分离的。线性可分离性通常不适用于实践中发现的数据集。

7.4L1L_1-正则化在实践中

训练样本可能不能线性分离,AdaBoost可能不承认正边,在这种情况下,弱学习条件不成立。也可能是AdaBoost确实承认了一个积极的优势,但γ非常小。在这种情况下,运行AdaBoost可能会导致某些基分类器hj\mathop h_j产生较大的总混合权值。这可能是因为该算法越来越专注于一些难以分类的例子,而且其权重也在不断增长。只有少数基本分类器可以获得最佳的性能,算法不断选择它们,从而增加它们的总混合权重。这些具有总混合权重相对较大的基分类器最终在集合f\mathop f中占主导地位,因此只决定了分类决策。结果集成的性能通常很差,因为它几乎完全取决于一些基本分类器的性能。有几种方法可以避免这种情况。一种是限制增强T的轮数,这也被称为提前停止。另一个是控制混合物重量的大小α=(α1,...,αN)RN\mathop\alpha\limits^{-}=(\mathop\alpha\limits^{-}{_1},...,\mathop\alpha\limits^{-}{_N})\in\mathbb R^N通过

G(α)=1mi=1meyif(xi)+λα1=1mi=1meyij=1Nαjhj(xi)+λα1,(7.26)G(\mathop\alpha\limits^{-})=\frac{1}{m}\sum\limits^{m}\limits_{i=1}e^{y_if(x_i)}+\lambda\|\alpha\|_1=\frac{1}{m}\sum\limits^{m}\limits_{i=1}e^{y_i\sum\limits^{N}_{j=1}\mathop\alpha\limits^{-}{{_jh_j}}(x_i)}+\lambda\|\alpha\|_1, (7.26)

其中,对于AdaBoost,f\mathop f是一个由f=αjhj\mathop f=\mathop\alpha\limits^{-}{{_jh_j}},使用α0\mathop\alpha\limits^{-}\ge0。目标函数G\mathop Gα\mathop\alpha\limits^{-}的一个凸函数,作为AdaBoost的凸目标和α\mathop\alpha\limits^{-}的范数1\mathop-1的和。L1\mathop L_1正则化的AdaBoost包括将坐标下降应用到目标函数G\mathop G。我们现在表明,该算法可以从推论7.5\mathop7.5或推论7.6\mathop7.6的集成方法的基于边际的保证中直接导出。因此,这样L1\mathop L_1正则化的AdaBoost比AdaBoost受益于更有利和更自然的理论保证。通过将推论7.5\mathop 7.5推广到ρ\rho上的均匀收敛界,对于任何σ>0\sigma>0,概率至少为1σ1−\sigma,以下适用于f=j=1Nαjhj\mathop f=\sum^N_{j=1}\mathop\alpha\limits^{-}{_jh_j}α11\|\alpha\|1\le1和所有ρ\rho\in的所有集成函数(0,1]\mathop(0,1]

R(f)1mi=1m1f(xi)ρ+2ρm(H)+loglog22ρm+log22σ2m.(7.27)\mathop{R}(f)\le\frac{1}{m}\sum\limits^{m}_{i=1}1_{f(x_i)\le\rho}+\frac{2}{\rho}\Re_m(\mathcal H)+\sqrt\frac{loglog_2{\frac{2}{\rho}}}{m}+\sqrt\frac{log_2{\frac{2}{\sigma}}}{2m}. (7.27)

这个不等式对于ρ>1\rho>1也很简单地适用,因为在这种情况下,界的右边的第一项等于1\mathop 1。事实上,在这种情况下,通过H¨老的不等式,对于任何xX\mathop x\in \mathcal X,我们有f(x)=j=1nαjhj(xi)α1maxj[N]hj(xi)α11ρ\mathop f(x)=\sum\limits^n_{j=1}\mathop\alpha\limits^{-}{{_jh_j}}(x_i)\le\|\alpha\|1max_{j\in[N]}|h_j(x_i)|\le\|\alpha\|_1\le1\le\rho

现在,鉴于一般的上界1u0eu1_u\le0\le e^{-u}适用于所有uRu\in \mathbb R,概率至少为1σ\mathop 1−\sigma,以下适用于所有f(x)=j=1nαjhj(xi)\mathop f(x)=\sum\limits^n_{j=1}\mathop\alpha\limits^{-}{{_jh_j}}(x_i)α11\|\alpha\|1\le1和所有ρ>0\rho>0:

R(f)1mi=1me1f(xi)ρ+2ρm(H)++loglog22ρm+log22σ2m.(7.28)\mathop{R}(f)\le\frac{1}{m}\sum\limits^{m}_{i=1}e^{1-\frac{f(x_i)}{\rho}}+\frac{2}{\rho}\Re_m(\mathcal H)++\sqrt\frac{loglog_2{\frac{2}{\rho}}}{m}+\sqrt\frac{log_2{\frac{2}{\sigma}}}{2m}.(7.28)

由于对于任何ρ>0\rho>0f/ρ\mathop f/\rho承认与f\mathop f相同的泛化误差,概率至少为1ρ\mathop 1−\rho,所有具有α11/ρ\|\alpha\|_1\le1和/\rhof(x)=j=1nαjhj(xi)\mathop f(x)=\sum\limits^n_{j=1}\mathop\alpha\limits^{-}{{_jh_j}}(x_i)不等

R(f)1mi=1me1f(xi)+2ρm(H)++loglog22ρm+log22σ2m.(7.29)\mathop{R}(f)\le\frac{1}{m}\sum\limits^{m}_{i=1}e^{1-{f(x_i)}}+\frac{2}{\rho}\Re_m(\mathcal H)++\sqrt\frac{loglog_2{\frac{2}{\rho}}}{m}+\sqrt\frac{log_2{\frac{2}{\sigma}}}{2m}.(7.29)

这个不等式可以用来推导出一个选择α\mathop\alpha\limits^{-}ρ>0\rho>0来最小化右侧的算法。关于ρ>0\rho>0的最小化不会导致凸优化,而是依赖于影响第二项和第三项的理论常数因素,这可能不是最优的。因此,ρ>0\rho>0被作为算法的自由参数,通常通过交叉验证来确定。现在,由于只有右边的第一项依赖于α\mathop\alpha\limits^{-},所以边界建议选择α\mathop\alpha\limits^{-}作为以下优化问题的解:

minα11ρ1mi=1mef(xi)=1mi=1mej=1nαjhj(xi)\mathop {min}\limits_{\|\alpha\|_1\le\frac{1}{\rho}}\frac{1}{m}\sum\limits^{m}_{i=1}e^{-{f(x_i)}}=\frac{1}{m}\sum\limits^{m}_{i=1}e^{-\sum\limits^n_{j=1}\mathop\alpha\limits^{-}{{_jh_j}}(x_i)}

引入拉格朗日变量λ0\lambda\ge0,优化问题可以等价地写为

minα11ρ1mi=1mej=1nαjhj(xi)+λα1\mathop {min}\limits_{\|\alpha\|_1\le\frac{1}{\rho}}\frac{1}{m}\sum\limits^{m}_{i=1}e^{-\sum\limits^n_{j=1}\mathop\alpha\limits^{-}{{_jh_j}}(x_i)}+\lambda\|\alpha\|_1

由于在7.30)\mathop(7.30)约束下的任何ρ\rho选择,公式(7.31\mathop(7.31)中存在一个等价的双变量λ,达到相同的最优α\mathop\alpha\limits^{-},因此可以通过交叉验证自由选择λ0\lambda\ge0。因此,所得到的目标函数与L1\mathop L_1正则化的AdaBoost的目标函数完全一致。

AdaBoost有几个优点:它简单,实现简单,每一轮提升的时间复杂性作为样本量的函数是相当有利的。如前所述,当使用决策树桩时,每一轮提升的时间复杂度为O(mN)\mathop O(mN)。当然,如果特征空间N\mathop N的维数非常大,那么算法实际上可能会变得相当慢。AdaBoost还受益于丰富的理论分析。然而,该算法仍存在许多相关的理论问题。例如,正如我们所看到的,该算法实际上并没有最大化边际,但是能够最大化边际的算法并不总是优于它。这表明,也许一个基于不同于最小边际的概念的更好的分析,可以更多地阐明算法的特性。

该算法的一个小缺点是需要选择参数T\mathop T和基分类器集。选择提高T\mathop T(停止准则)的轮数对算法的性能至关重要。VC\mathop VC维数分析表明,T\mathop T值越大,会导致过拟合。在实践中,T\mathop T通常是通过交叉验证来确定的。基分类器的选择也至关重要。基分类器H\mathop H族的复杂性出现在所给出的所有边界中,为了保证泛化,控制它是很重要的。另一方面,不够复杂的假设集可能导致低边际。

AdaBoost最严重的缺点可能是它在噪声时的性能,至少在某些任务中是这样。由于算法的性质,分配给难以分类的例子的分布权重随着增强轮数的增加而大幅增加。这些示例可能最终会主导基分类器的选择,而基分类器有足够多的轮,将在AdaBoost定义的线性组合的定义中发挥不利作用。已经提出了几种解决方案来解决这些问题。一种是使用比AdaBoost的指数函数“较低攻击性”的目标函数,如逻辑损失,来惩罚较少分类不正确的点。另一个解决方案是基于正则化的,例如,前一节中描述的L1\mathop L_1正则化的AdaBoost。

对AdaBoost的实证研究表明,均匀噪声严重损害了其精度。最近的理论结果也证实了这一点,表明基于凸势的增强算法甚至不能容忍低水平的随机噪声。此外,即使使用L1\mathop L_1正则化或早期停止,这些问题也被证明仍然存在。然而,在这些实验或分析中使用的统一噪声模型是相当不现实的,似乎不太可能在实践中出现第7\mathop 7章的增强。该模型假设具有某种固定概率的标签损坏会均匀地影响所有实例。显然,在存在这些噪声的情况下,任何算法的性能都会下降。然而,实证结果表明,对于该均匀噪声模型,AdaBoost的性能比其他算法下降。最后,请注意,AdaBoost在噪声存在下的行为实际上可以用作检测异常值的有用特性,也就是说,标记错误或难以分类的例子。经过一定数量的增强后具有大权重的例子可以被识别为异常值。

7.6章节指出

弱学习算法是否可以增强来获得强学习算法的问题首先是由卡恩斯和安定特[1988,1994\mathop 1988,1994]提出的,他也对分布依赖的设置给出了这一结果的否定证明。在与分布无关的情况下,这一结果的第一个积极证明是由夏皮尔[1990\mathop 1990],后来又由弗罗恩德[1990\mathop 1990]提供的。这些早期的增强算法,通过过滤增强[夏皮尔,1990\mathop 1990]或由大多数增强[Freund1990,1995\mathop Freund,1990,1995]是不实际的。由弗罗恩德和夏皮尔[1997\mathop 1997]引入的AdaBoost算法解决了其中的几个实际问题。Freund和Schapire[1997\mathop 1997]进一步对算法进行了详细的介绍和分析,包括其经验误差界、vc\mathop vc维分析及其在多类分类和回归中的应用。

AdaBoost的早期实验由德鲁克、夏皮尔和西马德[1993\mathop 1993]进行,他们首次实现了基于神经网络的弱学习者和科尔特斯[1995\mathop 1995],他们报告了AdABoost结合决策树的经验表现,特别是决策树桩。

AdaBoost与应用于指数目标函数的坐标下降相一致的事实后来被Duffy和Helmbold[1999\mathop 1999],Mason等人证明。以及弗里德曼和2000\mathop 2000年。弗里德曼、哈斯蒂和蒂布希拉尼[2000\mathop 2000]也用加性模型给出了增强的解释。他们还指出了AdaBoost和逻辑回归之间的密切联系,特别是它们的目标函数在零附近有相似的行为,或者他们的期望允许相同的最小化器,并导出了一种基于逻辑损失的替代增强算法LogitBoost。Lafferty[1999\mathop 1999]展示了如何从布雷格曼发散中导出一个增量算法家族,包括LogitBoost,并被设计为在改变一个参数时非常近似于AdaBoost。基维宁和Warmuth[1999\mathop 1999]给出了AdaBoost作为熵投影的等价观点。他们表明,样本分布发现7.6\mathop 7.6章注意在每一轮大约是解决方案的问题找到最近的分布在前一轮,受约束,正交的误差向量的基础假设。在这里,接近度是用布雷格曼散度来测量的,对于AdaBoost,它是非归一化的相对熵。柯林斯、夏皮尔和Singer[2002\mathop 2002]后来证明,增强和逻辑回归是基于布雷格曼分歧的共同框架的特殊实例,并利用它给出了AdaBoost的第一个收敛证明。黎巴嫩和拉弗蒂[2001\mathop 2001]给出了AdaBoost和逻辑回归之间的另一个直接关系,他们表明这两种算法在相同的特征约束下最小化相同的扩展相对熵目标函数,除了逻辑回归的附加归一化约束。

定理7.7

夏皮尔、弗罗恩德、巴特利特和李[1997\mathop 1997]首次提出了对AdaBoost的基于边际的分析,它给出了经验边际损失的一个界。我们的演示是基于科尔钦斯基和潘琴科[2002\mathop 2002]使用拉德马赫复杂性的概念对边缘边界的优雅推导。Rudin等人。[2004\mathop 2004]给出了一个例子,表明,一般来说,AdaBoost并不能最大化l1边际。R¨atsch和Warmuth[2002\mathop 2002]提供了AdaBoost在某些条件下实现的边际的渐近下界。基于LP的L1边际最大化是由于Gro夫和舒尔曼[1998\mathop 1998]。R¨atsch,Onoda和M¨uller[2001\mathop 2001]建议使用软边缘来修改该算法,并指出了它与支持向量机的联系。弗罗恩德和夏皮尔[1996,1999b\mathop 1996,1999b]指出了极大极大定理的配子理的解释和应用[冯·诺伊曼,1928\mathop 1928];参见格罗夫和舒尔曼[1998\mathop 1998]和布雷曼[1999\mathop 1999]。

7.Ratsch、Mika和AdaBoost算法Ratsch和[2001\mathop 2001]提出并进行了分析。Cortes、Mohri和Syed[2014\mathop 2014]引入了一种新的增强算法深推进器,他们证明该算法受益于更好的学习保证,即使作为基础分类器集相对丰富的家族,也包括有利的保证,例如非常深的决策树家族,或其他类似复杂的家族。在深推进器中,每次迭代中决定将哪个分类器添加到集成以及分配哪个权重取决于分类器所属子族的(数据依赖)复杂性。Cortes、Mohri和Syed[2014\mathop 2014]进一步表明,经验上的深推进器比AdaBoost、逻辑回归和L1\mathop L_1正则化变体取得了更好的性能。AdaBoost和L1\mathop L_1规则化的AdaBoost都可以看作是深推进器的特殊实例。

迪特里奇[2000\mathop 2000]为均匀噪声会严重损害AdaBoost的准确性提供了广泛的经验证据。这已经被170章报道,促进了其他一些作者。Long和Servedio[2010\mathop 2010]最近进一步表明,基于凸势的增强算法无法容忍随机噪声,即使是L1\mathop L_1正则化或早期停止。有几个优秀的调查和教程与促进有关[皮尔,2003年,梅尔和R¨atsch2002年,梅皮尔和R¨atsch2003\mathop 夏皮尔,2003年,梅尔和R¨atsch,2002年,梅皮尔和R¨atsch,2003年],包括最近的书夏皮尔和弗雷恩德[2012\mathop 2012]完全致力于这一主题,有大量的参考文献列表和详细的介绍。

7.7练习

7.1\mathop 7.1AdaBoost假设集的vc维度。证明了经过T\mathop T轮助推后,AdaBoost的假设集FT\mathcal F_Tvc\mathop vc维数的上界,如方程7.9\mathop(7.9)所述。

7.2替代的目标函数。 这个问题研究了用不同于AdaBoost的目标函数定义的增强类型算法。我们假设训练数据作为m\mathop m个标记的例子给出(x1,y1),...,(xm,ym)X×1,+1.(\mathcal x_1, \mathcal y_1), . . . ,(\mathcal x_m, y_m)\in\mathcal X× {−1, +1}.。我们进一步假设Φ\PhiR\mathbb R上严格增加的凸可微函数,这样:x0,Φ(x)1\forall x\ge0,\Phi(x)\ge1x>0,Φ(x)>0.\forall x>0,\Phi(x)>0.

(a)考虑损失函数L(a)=i=1mΦ(yif(xi))\mathop L(a)=\sum\limits^{m}_{i=1}\Phi(-y_if(x_i))其中f\mathop f是基分类器的线性组合,即f=t=1Tatht\mathop f=\sum^T_{t=1}a_th_t(如AdaBoost)。利用目标函数L导出一种新的增强算法,特别描述了使用坐标下降在每一轮提升时选择的最佳基分类器。

(b)考虑以下函数:1\mathop(1)零损失Φ1(u)=1u0;\Phi_1(-u)=1_{u\le0};(2)最小平方损失Φ1(u)=(1u)2;\Phi_1(-u)=(1-u)^2;(3)SVM丢失Φ1(u)=max(0,1u);\Phi_1(-u)=max(0,1-u);和(4)逻辑损失Φ1(u)=log(1+eu);\Phi_1(-u)=log(1+e^-u);。哪些函数满足本问题中前面所述的对Φ\Phi的假设?

(c)对于每个满足这些假设的损失函数,推导出相应的增强算法。该算法(s\mathop s)与AdaBoost有何不同?

7.3更新保证

假设AdaBoost的主要弱学习者假设成立。让我们成为第t\mathop t轮中选择的基础学习者。表明在第mathopt+1、mathop{t+1}轮中选择的基础学习者ht+1h_{t+1}必须与ht\mathop h_t不同

7.4加权实例

让训练样本为S=((x1,y1),...,(xm,ym)\mathop S=((\mathcal x_1, \mathcal y_1), . . . ,(\mathcal x_m, y_m)假设我们希望惩罚在xi\mathop x_ixj\mathop x_j上所犯的不同错误。为此,我们将一些非负重要性权重与每个点xi\mathop x_i关联起来,目标函数Fα=i=1mwieyif(xi)\mathop F(\alpha)=\sum^m_{i=1}\mathcal w_ie^{-y_if(x_i)},其中f=t=1Tatht\mathop f=\sum^T_{t=1}a_th_t。证明该函数是凸的和可微的,并使用它推导出一个引导类型算法。

7.5

将两个向量x\mathop xx\mathop x'的非归一化相关性定义为这些向量之间的内积。证明由AdaBoost定义的分布向量(Dt+11),Dt+1(m)\mathcal D{t+1}(1),…,\mathcal D{t+1}(m))和分量yiht(xi)y_ih_t(x_i)的向量是不相关的。

7.6

修复ϵ0,1/2\epsilon\in(0,1/2)。让训练样本为平面上的m4\frac{m}{4}点定义,m4\frac{m}{4}负点在坐标1,1\mathop(1,1),另一个m4\frac{m}{4}负点在坐标1,1\mathop(1,1)m(1ϵ)4\frac{m(1-\epsilon)}{4}正的点都在坐标上1,1\mathop(1,1),和m(1ϵ)4\frac{m(1-\epsilon)}{4} 个正点均在坐标上,和m(1ϵ)4\frac{m(1-\epsilon)}{4} 个正点均在坐标上1,1\mathop(1,1)。描述在此示例上运行AdaBoost时的行为。T\mathop T轮后算法返回什么解决方案?。描述在此示例上运行AdaBoost时的行为。T\mathop T轮后算法返回什么解决方案?

7.7

耐噪音的AdaBoost。AdaBoost在存在噪声的情况下可能明显过拟合,部分原因是对错误分类的例子的高度惩罚。为了减少这种影响,我们可以使用以下目标函数:

F=i=1mG(yif(xi))F=\sum\limits^{m}_{i=1}G(-y_if(x_i)),(7.32)

其中G\mathop G是在R\mathbb R上定义的函数

Gx={exx0x+1x>0G(x)=\begin{cases} e^x x\le 0\\ x+1 x>0 \end{cases}

(a)表明函数G\mathop G是凸的和可微的。(b)利用F\mathop F和贪婪坐标下降推导出一种类似于AdaBoost的算法。(c)比较该算法与AdaBoost的经验错误率的降低。7.8\mathop 7.8简化的广告提升。假设我们通过将参数αt\alpha_t设置为固定值αt=α>0\alpha_t=\alpha>0来简化AdaBoost,独立于提升轮t\mathop t.(a)让γ\gamma为(12ϵt)γ>0\frac{1}{2}−\epsilon_t)\ge\gamma>0。通过分析经验误差,找到α\alpha作为γ\gamma函数的最佳值。(b)对于的这个值,该算法是否在每一轮中为正确分类和错误分类的例子分配相同的概率质量?如果没有,哪个集合被分配了一个更高的概率质量?


AdaBoost(M,tmax)

λ1,j\lambda_{1,j}\leftarrow0 for i=1

for t \leftarrow 1 to tmaxt_{max} do

dt,iexp((Mλt)i)k=1mexp((Mλt)i)fori=1,...,md_{t,i}\leftarrow\frac{exp(-(M\lambda_t)i)}{\sum^m_{k=1}exp(-(M\lambda_t)i)} for i=1,...,m

jtargmaxj(dtTM)jtj_t\leftarrow argmax_j(d_t^TM)_{jt}

rtargmaxj(dtTM)jtr_t\leftarrow argmax_j(d_t^TM)_{jt}

αt12log(1+rt1rt)\alpha_t\leftarrow\frac{1}{2}log(\frac{1+r_t}{1-r_t})

λt+1λt+αtejt\lambda_{t+1}\leftarrow\lambda_t+\alpha_te_{jt},其中ejt\mathop e_{jt}的位置jt\mathop j_t为1,其他位置为0\mathop 0

returnλtmaxλtmax1\frac{\lambda_{tmax}}{\|\lambda_{tmax}\|1}

AdaBoost根据矩阵M定义,该矩阵编码每个训练点上每个弱分类器的准确性。

(c)使用α\alpha的值,给界算法的经验误差只取决于γ\gamma和轮的促进T\mathop T

(d)使用之前的界限,表明T\mathop T>日志logm2γ2\frac{logm}{2\gamma^2},结果假设与大小的样本一致。

(e)让s使用的基础学习者的vc\mathop {vc}维度。给出了T=[logm2γ2]+1\mathop T=[\frac{logm}{2\gamma^2}]+1后得到的一致假设的推广误差的一个几轮的提升。(提示:使用函数族的vc\mathop vc维数这个事实sgn(t=1Tαtht):αtR{sgn(\sum^T_{t=1}\alpha_th_t):\alpha_t\in\mathbb R}2(s+1Tlog2(eT)\mathop 2(s+1)Tlog_2(eT))为界。现在假设γ\gammam\mathop m而变化。根据推导出的边界,如果γ(m)=O(logmm)?)\gamma(m)=O(\sqrt\frac{logm}{m})?)

7.9AdaBoost示例

在本练习中,我们考虑一个由8\mathop 8个训练点和8\mathop 8个弱分类器组成的具体示例。

(a)定义一个m×n\mathop m×n矩阵M,其中Mij=yihj(xi)i.e..\mathop M_{ij}=y_ih_j(x_i),i.e..如果训练例子i被弱分类器hj正确分类,则为Mij=+1M_{ij}=+1,则为1\mathop −1。设dtλtRndt1=1\mathop d_t、\lambda_t\in \mathbb R_n、\|d_t\|1=1dtd_ti(分别为λti\mathop i(分别为\lambda_t、i)等于dt\mathop d_t的第i\mathop i个分量(分别为λt\lambda_t)。现在,考虑如图7.7,并将M\mathop M定义为如下,包括8\mathop 8个训练点和8\mathop 8个弱分类器。

M={1,1,1,1,1,1,1,11,1,1,1,1,1,1,11,1,1,1,1,1,1,11,1,1,1,1,1,1,11,1,1,1,1,1,1,11,1,1,1,1,1,1,11,1,1,1,1,1,1,11,1,1,1,1,1,1,1M=\begin{cases} -1 , 1 , 1 , 1, 1 ,-1 ,-1 , 1\\ -1 , 1 , 1, -1, -1 , 1 , 1, 1\\ 1 , -1 , 1 , 1, 1 ,-1 , 1 , 1\\ 1 , -1 , 1 , 1, -1 , 1 , 1, 1\\ 1 , -1 , 1 ,-1, 1 , 1 , 1 , -1\\ 1 , 1 ,-1 , 1, 1 , 1 , 1 , -1\\ 1 , 1 ,-1 , 1, 1 , 1 ,-1 , 1\\ -1 , 1 , 1 , 1, -1 ,-1 , 1 , -1\\ \end{cases}

假设我们从数据点上的以下初始分布开始:

d1=(358),358,16,16,16,518518,0)Td_1=(\frac{3-\sqrt5}{8}),\frac{3-\sqrt5}{8},\frac{1}{6},\frac{1}{6},\frac{1}{6},\frac{\sqrt5-1}{8}\frac{\sqrt5-1}{8},0)^T

使用Md1\mathop M、d_1tmax=7t_{max}=7计算AdaBoost算法的前几步。在每一轮的提升中都选择了哪些弱分类器?你注意到有什么模式吗?

(b)AdaBoost为这个例子产生的L1\mathop L_1标准边际是多少?

(c)与其使用AdaBoost,想象一下我们使用以下系数组合我们的分类器:[2,3,4,1,2,2,1,1]×116[2,3,4,1,2,2,1,1]×\frac{1}{16}在这种情况下的保证金是多少?AdaBoost能使利润率最大化吗?

7.10在未知标签下提升

考虑以下分类问题的变体,除了正和负标签+1\mathop+11\mathop−1外,点还可以标记为0\mathop 0。这可能对应于一个点的真实标签未知的情况,一种在实践中经常出现的情况,或者更普遍的是学习算法对预测该点的1\mathop−1+1\mathop+1没有损失的事实。设X为输入空间,设Y=1,0+1\mathcal Y={−1,0,+1}。在标准的二进制分类中,一对(xy)\mathop(x,y)\inf\mathop fX×Y\mathcal X×\mathcal Y的损失是由1yf(x)<01_{yf(x)}<0定义的。

考虑一个样本S=((x1,y1),...,(xm,ym)(X×Y)2\mathop S=((\mathcal x_1, \mathcal y_1), . . . ,(\mathcal x_m, y_m)\in(\mathcal X×\mathcal Y)^2以及取1,0+1\mathop{−1,0,+1}中值的基函数的假设集H\mathcal H。对于基本假设htH\mathop h_t\in\mathcal H和指数\in的分布,定义s1,0+1\mathop s\in{−1,0,+1}ϵts\epsilon_t^s,ϵts=Ei D[1yiht(xi)=s]\epsilon_t^s=\mathbb E_{i~D}[1y_ih_t(x_i)=s]

(a)使用与AdaBoost相同的目标函数,根据ϵtss\epsilon_t^ss导出该设置的增强式算法。您应该仔细证明算法的定义。

(b)在这种情况下,弱学习的假设是什么?

(c)编写该算法的完整伪代码。

(d)给出了该算法的训练误差的一个上界,作为增强轮数和ϵtss\epsilon_t^ss的函数。

7.11

如本章所述,AdaBoost可以看作是应用于指数目标函数的坐标下降。在这里,我们考虑了另一种集成方法算法,HingeBoost,它包括将坐标下降应用到一个基于铰链损失的目标函数。考虑为所有αRN\alpha\in\mathbb R^N定义的函数

F(α)=i=1mmax(0,1yij=1nαjhj(xi)),(7.34)\mathop F(\alpha)=\sum^m_{i=1}max(0,1-y_i\sum\limits^n_{j=1}\alpha_jh_j(x_i)), (7.34)

其中hj\mathop h_j是属于假设集H\mathcal H的基分类器,取值为1\mathop −1+1\mathop +1的基分类器。

(a)表明F\mathop F是凸的,并且允许一个沿任意方向的左右导数。

(b)对于任意j∈[N],设ej\mathop e_j表示基假设hj\mathop h_j对应的方向。设αt\alpha_t表示坐标下降的t0\mathop t\ge0迭代后得到的系数αt,jj[N]\alpha_{t,j}、j\in[N]的向量,ft=j=1n=αt,j\mathop f_t=\sum\limits^n_{j=1}={\alpha_t,j}jh,jj_{h,j}表示t迭代后得到的预测器。用t1\mathop{t−1}迭代右导数后F+(αt1ejF'+(α_{t−1},e_j)和左导数F(αt1ej)F'−(α{t−1},e_j)的表达式。

(c)对于任意j[N]j\in[N],在αt1α_{t−1}处定义最大方向导数σF(αt1ej)\sigma F(α_{t−1},e_j)如下:

σF(αt1ej)={0ifF(αt1ej)0F+(αt1ej)F+(αt1ej)ifF(αt1ej)F+(αt1ej)F(αt1ej)F(αt1ej)F+(αt1ej)\sigma F(α_{t−1},e_j)=\begin{cases} 0ifF-'_(α_{t−1},e_j)\le0\le F+'_(α_{t−1},e_j)\\ F+'_(α_{t−1},e_j)ifF-'_(α_{t−1},e_j)\le F+'_(α_{t−1},e_j)\\ F-'_(α_{t−1},e_j)\le F'_(α_{t−1},e_j)\le F+'_(α_{t−1},e_j) \end{cases}

这里考虑的坐标下降所考虑的方向ej是最大化σF(αt1ej)| \sigma F(α_{t−1},e_j)|。一旦选择了最佳方向j,就可以通过使用网格搜索来最小化F(αt1+ηej)\mathop F(\alpha_{t−1}+\eta e_j)来确定步骤η\eta。给出手指Boost的伪代码。

7.12实证边际损失增加

如本章所述,AdaBoost可以看作是应用于经验误差的凸上界的坐标下降。在这里,我们考虑一种寻求最小化经验边际损失的算法。对于任何0ρ<10\le\rho<1R^s,ρ(f)=1mi=1m1yif(xi)ρ\widehat{\mathop{R}}_s,_\rho(\mathop f)=\frac{1}{m}\sum^m_{i=1}1_{y_if(x_i)}\le\rho表示f=t=1Tαthtt=1Tαt\mathop f=\frac{\sum^T_{t=1}\alpha_th_t}{\sum^T_{t=1}\alpha_t}形式的函数f\mathop f对于标记的样本的经验边际损失S=(x1,y1),...,(xm,ym)\mathop S=(\mathcal x_1, \mathcal y_1), . . . ,(\mathcal x_m, y_m),

(a)显示R^s,ρ(f)1mi=1mexp(yit=1Tαtht(xi)+ρt=1Tαt)\widehat{\mathop{R}}_s,_\rho(\mathop f)\le\frac{1}{m}\sum\limits^m_{i=1}exp({-}y_i\sum\limits^T_{t=1}\alpha_th_t(x_i)+\rho\sum\limits^T_{t=1}\alpha_t)的上界如下:

(b)对于任何ρ>0\rho>0,让GρG_\rho为所有α0\alpha≥0定义的目标函数 Gρ(α)=1mi=1mexp(yit=1Tαtht(xi)+ρt=1Tαt)G_\rho(\alpha)=\frac{1}{m}\sum\limits^m_{i=1}exp({-}y_i\sum\limits^T_{t=1}\alpha_th_t(x_i)+\rho\sum\limits^T_{t=1}\alpha_t) 使用hjH表示所有j[N]\mathop h_j\in\mathcal H表示所有\mathop j\in[N],以及在课堂上使用的符号。表明GρG_\rho是凸的和可微的。

(c)通过应用(最大)坐标下降到GρG_\rho,得到一个提升式的算法Aρ\mathcal A_\rho。您应该详细证明算法的推导,特别是在每一轮和步骤中选择的基分类器的选择。并与AdaBoost中的同类产品进行了比较。

(e)给出了算法Aρ\mathcal A_\rho的完整伪代码。你能说些什么关于A0\mathcal A_0算法呢?

(f)提供一个绑定R^s,ρ(f)\widehat{\mathop{R}}_s,_\rho(\mathop f).

i.证明上界R^s,ρ(f)exp(t=1αtρT\widehat{\mathop{R}}_s,_\rho(\mathop f)\le exp(\sum^T_{t=1\alpha_t\rho},其中归一化因子Zt\mathop Z_t被定义为AdaBoost的情况(αt\alpha_tAρ\mathcal A_\rho在第t\mathop t轮选择的步骤)。

ii.给出Zt\mathop Z_t作为ρ\rhoϵt\epsilon_t的函数,其中ϵt\epsilon_tAρ\mathcal A_\rhot\mathop t轮发现的假设的加权误差(定义与第7\mathop 7章类中的助推相同)。使用它来证明以下上界

R^s,ρ(f)(u1+ρ2+u1ρ2)TΠt=1T ϵ1ρ(1ϵ)1+ρ\widehat{\mathop{R}}_s,_\rho(\mathop f)\le(u^\frac{1+\rho}{2}+u^\frac{1-\rho}{2})^T \mathop {\varPi}\limits^T_{t=1}\sqrt\ \epsilon^{1-\rho}(1-\epsilon)^{1+\rho}.其中u=1ρ1+ρ\mathop u=\frac{1−ρ}{1+ρ}

iii.假设对于所有的t[T]\mathop t\in[T]1ρ2\frac{1-\rho}{2}上一个问题显示−ϵt>γ>0\epsilon_t>\gamma>0。使用的结果

R^s,ρ(f)exp(2γ2T1ρ2)\widehat{\mathop{R}}_s,_\rho(\mathop f)\le exp(-\frac{2\gamma^2T}{1-\rho^2})

(提示:无需使用以下身份:

(u1+ρ2+u1ρ2) ϵ1ρ(1ϵ)1+ρ12(1ρ2ϵ)21ρ2(u^\frac{1+\rho}{2}+u^\frac{1-\rho}{2})\sqrt\ \epsilon^{1-\rho}(1-\epsilon)^{1+\rho}\le 1-2\frac{(\frac{1-\rho}{2}-\epsilon)^2}{1-\rho^2}.

适用于1ρ2ϵt>0\frac{1-\rho}{2}−\epsilon_t>0)显示,对于T2(logm)1ρ22γ2\mathop T≥2\frac{(log m)(1−ρ^2)}{2\gamma^2},训练数据的所有点至少有ρ\rho