集成学习之Boosting(一)Adaboost

1、前言

最近项目用集成学习用的多,好好地复习了一遍集成学习的所有较为基础的知识,而这节我要讲的Boosting就是一种很常用的统计学习方法,以下是我总结的内容(跟着西瓜书和统计学习方法的思路来的),仅作为本人记录参考,这一篇只是单纯的Adaboost的推导,总结性的有时间再写。

2、基本思路

我们知道,Boosting是一种不断将弱分类器相加,且边训练边修改样本权重分布和弱学习器分类权重的算法,一般这个弱学习器我们采用决策树桩(仅包含2个叶结点的单层决策树),至于为什么我会在后面讲到。

我们需要知道的是,boosting采用的是加性模型,也就是最终的集成是弱分类器的加权求和 f ( x ) = ∑ t = 1 T α t h t ( x ) f(x)=\sum_{t = 1}^{T} \alpha_{t} h_{t}(x) f(x)=t=1Tαtht(x)得到最终集成的模型, α α α是每个分类器权重,h是弱分类器(共T个)。

Boosting的步骤一般如下

  1. 初始状态下训练一个弱分类器
  2. 根据基学习器的表现调整样本分布,前一轮被错误分类的数据的权重将被提高,分类正确的数据则权值降低。而分类错误小的弱分类器最终也将被提高权重。
  3. 下一个弱分类器则基于第二步调整后的样本进行训练
  4. 重复上述步骤

3、算法实现

倘若我们使用指数损失函数
l e x p ( H ∣ W ) = E x ∼ W [ e − y H ( x ) ] = P ( y = 1 ∣ x ) e − H ( x ) + P ( y = − 1 ∣ x ) e H ( x ) (3.0.1) \begin{aligned} l_{exp}(H|W) &= \mathbb{E}_{x \sim W}[e^{-yH(x)}]\\ & = P(y=1|x) e^{-H(x)}+P(y=-1|x) e^{H(x)} \end{aligned}\tag{3.0.1} lexp(HW)=ExW[eyH(x)]=P(y=1x)eH(x)+P(y=1x)eH(x)(3.0.1)

W W W为概率分布,可简单理解为在数据集 D D D中进行一次随机抽样,每个样本被取到的概率; E [ ⋅ ] \mathbb{E}[⋅] E[]为经典的期望,则综合起来 E x ∼ D [ ⋅ ] \mathbb{E}_{\boldsymbol{x} \sim \mathcal{D}}[\cdot] ExD[]表示在概率分布 W W W上的期望,可简单理解为对数据集 D D D以概率 W W W进行加权后的期望

输入:

训练集数据 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } D = \left \{ (x_{1},y_{1}), (x_{2},y_{2}),...,(x_{m},y_{m}) \right \} D={(x1,y1),(x2,y2),...,(xm,ym)} y ∈ { − 1 , 1 } y∈\left \{ -1,1 \right \} y{1,1}和基学习器算法 δ \delta δ

3.1、初始化数据权值分布

我们假设数据集具有均匀的初始化分布,每个训练样本的作用相同
W t = ( w t , 1 , w t , 2 , w t , 3 , . . . , w t , m ) ,   w t , i = 1 m ,   i = 1 , 2 , . . , m (3.1.1) W_{t} = (w_{t,1},w_{t,2},w_{t,3},...,w_{t,m}),\ w_{t,i}=\frac{1}{m},\ i=1,2,..,m \tag{3.1.1} Wt=(wt,1,wt,2,wt,3,...,wt,m), wt,i=m1, i=1,2,..,m(3.1.1)

3.2、分类器迭代训练

若我们有弱分类器T个,则此时我们需要迭代训练T轮,每一轮生成一个弱分类器 h t ,   t = 1 , 2 , . . . , T h_{t},\ t=1,2,...,T ht, t=1,2,...,T

  • 3.2.1、对原始数据 D D D进行 W t W_{t} Wt加权得到加权训练集 D t D_{t} Dt,对 D t D_{t} Dt进行训练得到弱分类器 h t h_{t} ht
    h t = δ ( D t ) → { − 1 , + 1 } (3.2.1) h_{t} = \delta(D_{t})→\left\{ -1,+1 \right\} \tag{3.2.1} ht=δ(Dt){1,+1}(3.2.1)

  • 3.2.2、计算 h t h_{t} ht在加权训练集 D t D_{t} Dt上的分类错误率
    ϵ t = ∑ i = 1 m P ( h t ( x i ) ≠ y i ) = ∑ h t ( x i ) ≠ y i w t , i (3.2.2) \epsilon _{t} = \sum_{i=1}^{m} P(h_{t}(x_{i}) \neq y_{i}) = \sum_{h_{t}(x_{i}) \neq y_{i}}^{} w_{t,i} \tag{3.2.2} ϵt=i=1mP(ht(xi)=yi)=ht(xi)=yiwt,i(3.2.2)
    此时 w t i w_{ti} wti为第 t 轮中第 i 个实例的权值,而且 ∑ i = 1 m w t , i = 1 \sum_{i=1}^{m} w_{t,i}=1 i=1mwt,i=1,这说明了 h t h_{t} ht在加权训练集上的分类误差率是被 h t h_{t} ht误分类的数据集的权值之和。

  • 3.2.3、检查当前弱分类器性能是否比随机猜测好,如果不满足错误率小于阈值(假设0.5)的情况,则抛弃该学习器,并根据当前权值分布继续调整,然后再训练一个新的学习器。

  • 3.2.4、计算弱分类器 h t h_{t} ht的权值 α t \alpha_{t} αt ,该权值更新公式由指数损失函数求导并令导数为0所得。
    α t = 1 2 l n ( 1 − ϵ t ϵ t ) (3.2.4) \alpha_{t} = \frac{1}{2} ln(\frac{1-\epsilon _{t}}{\epsilon _{t}}) \tag{3.2.4} αt=21ln(ϵt1ϵt)(3.2.4)
    我们知道Adaboost需要对分类错误率小的弱分类器进行权值增大,由上式我们可知当 ϵ t ⩽ 0.5 \epsilon _{t}\leqslant 0.5 ϵt0.5 时, α t ⩾ 0 \alpha_{t}\geqslant 0 αt0,并且随着 ϵ t \epsilon _{t} ϵt的减小, α t \alpha_{t} αt会不断增大,这就增强了分类准确率高的弱分类器在最终的集成分类器之间的作用。

  • 3.2.5、更新数据集权值分布 W t W_{t} Wt
    W t + 1 ( x ) = W t ( x )   e − α t y i h t ( x i ) Z t (3.2.5.1) W_{t+1}(x) = \frac{W_{t}(x)\ e^{-\alpha_{t}y_{i}h_{t}(x_{i})}}{Z_{t}} \tag{3.2.5.1} Wt+1(x)=ZtWt(x) eαtyiht(xi)(3.2.5.1)
    Z t Z_{t} Zt是规范化因子,是用来确保 D t + 1 D_{t+1} Dt+1成为一个概率分布,此时其表达式为
    Z t = ∑ i = 1 m w t , i   e − α t y i h t ( x i ) (3.2.5.2) Z_{t} = \sum_{i=1}^{m}w_{t,i}\ e^{-\alpha_{t}y_{i}h_{t}(x_{i})} \tag{3.2.5.2} Zt=i=1mwt,i eαtyiht(xi)(3.2.5.2)
    Z t Z_{t} Zt具体情况视上式 W t + 1 W_{t+1} Wt+1更新公式的分子而定。于是具体的数据集权值更新公式可写为
    w t + 1 , i = { w t , i Z t e − α t , h t ( x i ) = y i w t , i Z t e α t , h t ( x i ) ≠ y i (3.2.5.3) w_{t+1,i}= \left\{\begin{matrix} \frac{w_{t,i}}{Z_{t}}e^{-\alpha_{t}} , h_{t}(x_{i})=y_{i} \\ \\ \frac{w_{t,i}}{Z_{t}}e^{\alpha_{t}} , h_{t}(x_{i})\neq y_{i} \end{matrix}\right. \tag{3.2.5.3} wt+1,i=Ztwt,ieαt,ht(xi)=yiZtwt,ieαt,ht(xi)=yi(3.2.5.3)
    根据样本权值更新公式,我们知道被弱分类器分类错误的样本的权值增大,分类正确的样本权值缩小。

3.3、弱分类器加权线性组合

我们在上面讲过,弱分类器的线性加权表决为 H ( x ) = ∑ t = 1 T α t h t ( x ) H(x)= \sum_{t = 1}^{T} \alpha_{t} h_{t}(x) H(x)=t=1Tαtht(x),系数 α t \alpha_{t} αt则表示了弱分类器 h t h_{t} ht的重要性,越准确的越重要。

于是我们可以得到最终的集合分类器
H ( x ) = s i g n ( f ( x ) ) = s i g n ( ∑ t = 1 T α t h t ( x ) ) (3.3.1) H(x) = sign(f(x)) = sign(\sum_{t = 1}^{T} \alpha_{t} h_{t}(x)) \tag{3.3.1} H(x)=sign(f(x))=sign(t=1Tαtht(x))(3.3.1)

在输出>0时,结果为1;输出<0时,结果为-1;输出为0时,结果为0。

4、算法推导

我们知道Adaboosting使用的是加性模型迭代式优化指数损失函数,下面是上述第3节算法实现的重要更新公式的推导。

为什么我们要知道Adaboost算法的推导,最重要的原因是Adaboost仅仅是使用指数损失函数的Boosting,简单来说,Boosting + exp loss -> Adaboost,如果我们使用不同的损失函数,那么Boosting会有不同的更新公式.知道如何推导,我们就可以举一反三对使用别的损失函数的boosting进行更新推导。

可以说,整个Adaboost的核心在于得到理想的 h t h_t ht α t \alpha_t αt

4.1、证明损失函数与错误率之间的关系

倘若我们得到的H(x)能使得我们的指数损失函数最小化,那么我们的loss将会对f(x)求偏导。
φ   l e x p ( f ∣ D ) φ   f ( x ) = − e − f ( x ) P ( y = 1 ∣ x ) + e f ( x ) P ( y = − 1 ∣ x ) (4.1.1) \frac{\varphi \ l_{exp(f|D)}}{\varphi\ f(x)} = -e^{-f(x)}P(y=1|x)+e^{f(x)}P(y=-1|x) \tag{4.1.1} φ f(x)φ lexp(fD)=ef(x)P(y=1x)+ef(x)P(y=1x)(4.1.1)

令其为0可得到
f ( x ) = 1 2 l n P ( y = 1 ∣ x ) P ( y = − 1 ∣ x ) (4.1.2) f(x) = \frac{1}{2}ln \frac{P(y=1|x)}{P(y=-1|x)} \tag{4.1.2} f(x)=21lnP(y=1x)P(y=1x)(4.1.2)

求偏导的原因是,通过计算偏导并使偏导为零来求得使目标函数最小化的样本权值更新和弱分类器权值

于是,对于最后的集成模型对x的输出结果可以详细写为
1 、 s i g n ( H ( x ) ) = s i g n ( 1 2 l n P ( y = 1 ∣ x P ( y = − 1 ∣ x ) 2 、 = { 1 , P ( f ( x ) = 1 ∣ x ) > P ( y = − 1 ∣ x ) − 1 , P ( f ( x ) = 1 ∣ x ) < P ( y = − 1 ∣ x ) 3 、 = a r g   m a x y ∈ { 1 , − 1 } P ( y = y ∣ x ) (4.1.3) \begin{aligned} 1、sign(H(x)) &= sign( \frac{1}{2}ln \frac{P(y=1|x}{P(y=-1|x}) \\ \\ 2、& = \left\{\begin{matrix} 1, P(f(x)=1|x)>P(y=-1|x) \\ -1, P(f(x)=1|x)1sign(H(x))23=sign(21lnP(y=1xP(y=1x)={1,P(f(x)=1x)>P(y=1x)1,P(f(x)=1x)<P(y=1x)=y{1,1}arg maxP(y=yx)(4.1.3)

这说明了当损失函数最小时,分类错误率也会是最小的,这两者息息相关。而且由于指数损失函数是0/1损失的一致的替代函数(替代之后效果相同,通过求解替代函数得到的解依旧是原问题的解),而且具有更好的数学性质,所以使用指数损失函数。但是依然有好些函数可以使用,例如平方、绝对、对数损失函数,这些也可以作为损失函数来代替。

4.2、弱分类器 h t h_t ht推导

由于boosting是加性模型,前t_1个弱分类器相加得到 f t − 1 f_{t-1} ft1,而且在得到 f t − 1 f_{t-1} ft1之后数据的权重分布会进行调整,被分类错的权值增大,分类正确的权值缩减。这时新的 h t h_t ht能在一定程度上纠正 H t − 1 H_{t-1} Ht1的错误。也就是最小化损失函数
1 、 l e x p ( f t − 1 + h t ∣ W ) ) = E x ∼ W [ e − y ( f t − 1 ( x ) + h t ( x ) ) ] 2 、 = E x ∼ W [ e − y f t − 1 ( x ) e − y i h t ( x ) ] ∵ y ∈ { − 1 , + 1 } , h t ( x ) ∈ { − 1 , + 1 } ∴ y 2 = h t 2 ( x ) = 1 由 e x 的 二 阶 泰 勒 展 开 为 1 + x + x 2 2 + o ( x 2 ) , 对 e − y i h t ( x ) 泰 勒 展 开 式 近 似 为 3 、 ≃ E x ∼ W [ e − y f t − 1 ( x ) ( 1 − y h t ( x ) + y 2 h t 2 ( x ) 2 ) ] 4 、 = E x ∼ W [ e − y f t − 1 ( x ) ( 1 − y h t ( x ) + 1 2 ) ]                         (4.2.1) \begin{aligned} 1、l_{exp}(f_{t-1}+h_{t}|W)) &= \mathbb{E}_{x \sim W}[e^{-y(f_{t-1}(x)+h_{t}(x))}]\\ 2、& = \mathbb{E}_{x \sim W}[e^{-yf_{t-1}(x)}e^{-y_{i}h_{t}(x)}]\\ &\because y∈\left\{-1,+1\right\},h_t(x)∈\left\{-1,+1\right\} \\ & \therefore y^2 = h_t^2(x)=1\\ &由e^x的二阶泰勒展开为1+x+\frac{x^2}{2}+o(x^2),\\ &对e^{-y_{i}h_{t}(x)}泰勒展开式近似为\\ 3、& \simeq \mathbb{E}_{x \sim W}[e^{-yf_{t-1}(x)}(1-yh_t(x)+\frac{y^2 h_t^2(x)}{2})]\\ 4、& = \mathbb{E}_{x \sim W}[e^{-yf_{t-1}(x)}(1-yh_t(x)+\frac{1}{2})] \end{aligned}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \tag{4.2.1} 1lexp(ft1+htW))234=ExW[ey(ft1(x)+ht(x))]=ExW[eyft1(x)eyiht(x)]y{1,+1}ht(x){1,+1}y2=ht2(x)=1ex1+x+2x2+o(x2),eyiht(x)ExW[eyft1(x)(1yht(x)+2y2ht2(x))]=ExW[eyft1(x)(1yht(x)+21)]                       (4.2.1)

这时我们可以推断出理想的 h t h_t ht,理想的 h t ( x ) h_t(x) ht(x)是使得H_{t}(x)的指数损失函数取得最小值时的 h t ( x ) h_t(x) ht(x)
1 、 h t ( x ) = a r g   m i n h   l e x p ( f t − 1 + h ∣ W ) 2 、 = a r g   m i n h E x ∼ W [ e − y f t − 1 ( x ) ( 1 − y h ( x ) + 1 2 ) ] 3 、 = a r g   m a x h E x ∼ W [ e − y f t − 1 ( x ) y h ( x ) ] 4 、 = a r g   m a x h E x ∼ W [   e − y f t − 1 ( x ) E x ∼ W [   e − y f t − 1 ( x ) ] y h ( x ) ] 假 设 x 的 概 率 分 布 为 f ( x ) ∵ E ( g ( x ) ) = ∑ i = 1 ) ∣ D ∣ f ( x i ) g ( x i ) ∴ E x ∼ W [ e − y f ( x ) ] = ∑ i = 1 ) ∣ D ∣ W ( x i ) e − y i f ( x i ) 5 、 = ∑ i = 1 ) ∣ D ∣ W ( x i ) e − y i f t − 1 ( x i ) E x ∼ W [ e − y f t − 1 ( x ) ] y i h ( x i ) ∵ W t ( x i ) = W ( x i ) e − y i f t − 1 ( x i ) E x ∼ W [ e − y f t − 1 ( x ) ] 6 、 = ∑ i = 1 ) ∣ D ∣ W t ( x i ) y i h ( x i ) 7 、 = a r g   m a x h E x ∼ W [ y h ( x ) ] ∵ y , h ( x ) ∈ { − 1 , + 1 } ∴ y h ( x ) = 1 − 2 I ( y ≠ h ( x ) 当 y = h ( x ) 时 , I ( y ≠ h ( x ) = 0 , y h ( x ) = 1 当 y ≠ h ( x ) 时 , I ( y ≠ h ( x ) = 1 , y h ( x ) = − 1 8 、 = a r g   m i n h E x ∼ W [ I ( y ≠ h ( x ) ] (4.2.2) \begin{aligned} 1、h_t(x) &= \underset{h}{arg\ min}\ l_{exp}(f_{t-1}+h|W)\\ 2、& = \underset{h}{arg\ min}\mathbb{E}_{x \sim W}[e^{-yf_{t-1}(x)}(1-yh(x)+\frac{1}{2})]\\ 3、& = \underset{h}{arg\ max}\mathbb{E}_{x \sim W}[e^{-yf_{t-1}(x)}yh(x)]\\ 4、& = \underset{h}{arg\ max}\mathbb{E}_{x \sim W}[ \frac{\ e^{-yf_{t-1}(x)}}{\mathbb{E}_{x \sim W}[\ e^{-yf_{t-1}(x)}]}yh(x)] \\ & 假设x的概率分布为f(x) \\ & \because \mathbb{E}(g(x)) = \sum_{i=1)}^{|D|}f(x_i)g(x_i) \\ & \therefore \mathbb{E}_{x \sim W}[e^{-yf(x)}] = \sum_{i=1)}^{|D|}W(x_i)e^{-y_i f(x_i)}\\ 5、& = \sum_{i=1)}^{|D|}W(x_i) \frac{e^{-y_if_{t-1}(x_i)}}{\mathbb{E}_{x \sim W}[e^{-yf_{t-1}(x)}]}y_ih(x_i)\\ & \because W_t(x_i) = W(x_i)\frac{e^{-y_if_{t-1}(x_i)}}{\mathbb{E}_{x \sim W}[e^{-yf_{t-1}(x)}]} \\ 6、& = \sum_{i=1)}^{|D|}W_t(x_i)y_ih(x_i) \\ 7、& = \underset{h}{arg\ max}\mathbb{E}_{x \sim W}[yh(x)]\\ &\because y,h(x)∈\left\{-1,+1\right\} \\ &\therefore yh(x) = 1-2\mathbb{I}(y\neq h(x)\\ & 当y=h(x)时,\mathbb{I}(y \neq h(x)=0,yh(x)=1 \\ & 当y \neq h(x)时,\mathbb{I}(y \neq h(x)=1,yh(x)=-1 \\ 8、& = \underset{h}{arg\ min}\mathbb{E}_{x \sim W}[\mathbb{I}(y \neq h(x)] \\ \end{aligned}\tag{4.2.2} 1ht(x)2345678=harg min lexp(ft1+hW)=harg minExW[eyft1(x)(1yh(x)+21)]=harg maxExW[eyft1(x)yh(x)]=harg maxExW[ExW[ eyft1(x)] eyft1(x)yh(x)]xf(x)E(g(x))=i=1)Df(xi)g(xi)ExW[eyf(x)]=i=1)DW(xi)eyif(xi)=i=1)DW(xi)ExW[eyft1(x)]eyift1(xi)yih(xi)Wt(xi)=W(xi)ExW[eyft1(x)]eyift1(xi)=i=1)DWt(xi)yih(xi)=harg maxExW[yh(x)]y,h(x){1,+1}yh(x)=12I(y=h(x)y=h(x)I(y=h(x)=0yh(x)=1y=h(x)I(y=h(x)=1yh(x)=1=harg minExW[I(y=h(x)](4.2.2)

最终得到的第6行公式就是理想的若学习器 h t h_t ht

我们会发现中途损失函数最小化转化为某个期望的最大化,而此时新增的 E x ∼ W [ e − y f t − 1 ( x ) ] \mathbb{E}_{x \sim W}[e^{-yf_{t-1}(x)}] ExW[eyft1(x)]是一个常数,用来令 W t + 1 W_{t+1} Wt+1表示一个分布,你可以认为他就是规范化因子 Z t Z_t Zt
W t + 1 = W t ( x )   e − y f t − 1 ( x ) E x ∼ W [   e − y f t − 1 ( x ) ] (4.2.3) W_{t+1} = \frac{W_{t}(x)\ e^{-yf_{t-1}(x)}}{\mathbb{E}_{x \sim W}[\ e^{-yf_{t-1}(x)}]} \tag{4.2.3} Wt+1=ExW[ eyft1(x)]Wt(x) eyft1(x)(4.2.3)

再对比一下公式3.2.5.1中的 Z t Z_t Zt
W t + 1 = W t   e − α t y i h t ( x i ) Z t (3.2.5.1) W_{t+1} = \frac{W_{t}\ e^{-\alpha_{t}y_{i}h_{t}(x_{i})}}{Z_{t}} \tag{3.2.5.1} Wt+1=ZtWt eαtyiht(xi)(3.2.5.1)

看吧,其实我感觉就是 Z t Z_t Zt,只是形式不同而已

所以就是理想的 h t h_t ht会在分布权重 W t W_t Wt下最小化误差,而且该误差要小于0.5才算合格。

4.3、弱分类器权重 α \alpha α更新公式推导

我们知道第一个弱分类器的权重是初始数据的分布,后续才慢慢迭代更新数据分布和弱分类器权重,生成不一样的弱分类器 h t h_{t} ht 和权重 α t \alpha_{t} αt,而且 α t \alpha_{t} αt应该使得 α t h t \alpha_{t}h_{t} αtht最小化指数损失函数。

我们知道对于强分类器H的损失函数形式
l e x p ( H ∣ W ) = E x ∼ W [ e − y H ( x ) ] = P ( y = 1 ∣ x ) e − H ( x ) + P ( y = − 1 ∣ x ) e H ( x ) (3.0.1) \begin{aligned} l_{exp}(H|W) &= \mathbb{E}_{x \sim W}[e^{-yH(x)}]\\ & = P(y=1|x) e^{-H(x)}+P(y=-1|x) e^{H(x)} \end{aligned} \tag{3.0.1} lexp(HW)=ExW[eyH(x)]=P(y=1x)eH(x)+P(y=1x)eH(x)(3.0.1)

这里的 y = 1   a n d − 1 y=1\ and-1 y=1 and1是f(x)进行sign()以后的结果。

这时转换得到带权弱分类器 α t h t \alpha_t h_t αtht的损失函数形式, ϵ t \epsilon _{t} ϵt为弱分类器的错误率。
l e x p ( α t h t ∣ W t ) = E x ∼ W t [ e − y i α t h t ( x i ) ] = e − α t P x ∼ W t ( h t ( x ) = y ) + e α t P x ∼ W t ( h t ( x ) ≠ y ) = e − α t ( 1 − ϵ t ) + e α t ϵ t (4.3.1) \begin{aligned} l_{exp}(\alpha_{t}h_{t}|W_t) &= \mathbb{E}_{x \sim W_{t}}[e^{-y_{i}\alpha_{t}h_{t}(x_{i})}]\\ & = e^{-\alpha_{t}}P_{x \sim W_t}(h_t(x)=y ) + e^{\alpha_{t}}P_{x \sim W_t}(h_t(x)\neq y )\\ &= e^{-\alpha_{t}}(1-\epsilon _{t})+e^{\alpha_{t}}\epsilon _{t} \end{aligned} \tag{4.3.1} lexp(αthtWt)=ExWt[eyiαtht(xi)]=eαtPxWt(ht(x)=y)+eαtPxWt(ht(x)=y)=eαt(1ϵt)+eαtϵt(4.3.1)

接着我们需要对其求偏导,指数损失函数对 α t \alpha_t αt求偏导,为了得到使得损失函数取最小值时 α t \alpha_t αt的值,这里和我们上面所说对H(x)求偏导意思是一样的。
φ   l e x p ( α t h t ∣ W t ) φ   α t ​ = − e − α t ( 1 − ϵ t ) + ( e α t ϵ t ) (4.3.2) \frac{\varphi \ l_{exp}(\alpha_{t}h_{t}|W_t)}{\varphi\ \alpha_t}​ = -e^{-\alpha_t}(1-\epsilon_t)+(e^{\alpha_t}\epsilon_t) \tag{4.3.2} φ αtφ lexp(αthtWt)=eαt(1ϵt)+(eαtϵt)(4.3.2)

讲真这个推导还是蛮简单的,接下来就是令偏导为0以求 α \alpha α,可以得到当损失函数最小时,弱分类器 h t h_t ht的权重 α t \alpha_t αt
α t = 1 2 l n ( 1 − ϵ t ϵ t ) (3.2.4) \alpha_{t} = \frac{1}{2} ln(\frac{1-\epsilon _{t}}{\epsilon _{t}}) \tag{3.2.4} αt=21ln(ϵt1ϵt)(3.2.4)

发现了吗,这就是我第三节讲的3.2.4更新公式,此时 α t \alpha_t αt 的取值使得该弱分类器经 α t \alpha_t αt加权后的损失函数最小。

4.4、弱分类器数据分布 W W W更新公式推导

W t + 1 ( x ) = W ( x ) e − y f t ( x ) E x ∼ W [   e − y f t ( x ) ] = W ( x ) e − y f t − 1 ( x ) e − y α t h t ( x ) E x ∼ W [   e − y f t ( x ) ] = W t ( x ) ⋅ e − y α t h t ( x ) E x ∼ W [ e − y f t − 1 ( x ) ] E x ∼ W [ e − y f t ( x ) ] (4.4.1) \begin{aligned} W_{t+1}(x) &= \frac{W(x)e^{-yf_t(x)}}{\mathbb{E}_{x \sim W}[\ e^{-yf_{t}(x)}]}\\ \\ & = \frac{W(x)e^{-yf_{t-1}(x)}e^{-y \alpha_t h_t(x)}}{\mathbb{E}_{x \sim W}[\ e^{-yf_{t}(x)}]}\\ \\ & = W_t(x) \cdot e^{-y \alpha_t h_t(x)} \frac{\mathbb{E}_{x \sim W}[e^{-yf_{t-1}(x)}]}{\mathbb{E}_{x \sim W}[e^{-yf_{t}(x)}]} \end{aligned} \tag{4.4.1} Wt+1(x)=ExW[ eyft(x)]W(x)eyft(x)=ExW[ eyft(x)]W(x)eyft1(x)eyαtht(x)=Wt(x)eyαtht(x)ExW[eyft(x)]ExW[eyft1(x)](4.4.1)

对比下正好会发现就是样本分布更新公式3.2.5.1
W t + 1 ( x ) = W t ( x )   e − α t y i h t ( x i ) Z t (3.2.5.1) W_{t+1}(x) = \frac{W_{t}(x)\ e^{-\alpha_{t}y_{i}h_{t}(x_{i})}}{Z_{t}} \tag{3.2.5.1} Wt+1(x)=ZtWt(x) eαtyiht(xi)(3.2.5.1)

小结

这是boosting的第一篇,下一篇关于GBDT和xgboosting。

你可能感兴趣的:(机器学习,集成学习,Boosting)