锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

AdaBoost算法详解

时间:2022-09-01 03:00:00 ygm219微风速变送器精轧螺纹钢连接器ygm28mm

李航统计学习方法

回顾上一篇文章Gradient Boosting方法, 其中,经典用于分类AdaBoost。
具体算法步骤如下:


注:步骤(2)(b)中,计算得到 e m e_m em判断其值是否小于0.5.如果是,请继续以下步骤,否则需要重启:数据的权重分布设置为离散均匀分布、重新采样和训练基分类器。重启的原因很简单,因为 e m > 0.5 e_m>0.5 em>0.5时,权重 α < 0 \alpha<0 α<0,这显然不是我们想看到的。

大体流程
它是在新提取(根据概率权重提取)的样本集中不断训练(同一)基分类器,然后计算整体训练集中分类结果和分类误差率,决定了基分类器的整体权重;上一个基分类器对整体训练集的分类结果及其分类误差率决定了下一个样本的权重(即下一个基分类器的训练样本)。

(2)(d) 训练集数据权值更新公式可写为:
w m 1 , i = { w m , i Z m exp ( ? α m ) , i f G m ( x i ) = y i w m , i Z m exp ( α m ) , i f G m ( x i ) ≠ y i w_{m 1,i}=\left\{ \begin{aligned} \frac{w_{m,i}}{Z_m}\exp(-\alpha_m) ,\quad & if \quad G_m(x_i)=y_i \\ \frac{w_{m,i}}{Z_m}\exp(\alpha_m), \quad & if \quad G_m(x_i)\ne y_i\\ \end{aligned} \right. wm 1,i=Zmwm,iexp(αm),Zmwm,iexp(αm),ifGm(xi)=yiifGm(xi)=yi

注意重启步骤保证了 e m < 0.5 e_m<0.5 em<0.5,则 α m > 0 \alpha_m>0 αm>0,说明在第m个分类器下被正确分类的样本观测 i 的(在下一轮抽样中的)权重会缩小,反之被错误分类的观测的权重会增大。说明后续基分类器将着重解决分类效果差的样本,从而提升整体分类正确率。

接下来讨论 f ( x ) f(x) f(x)的损失函数。
考虑二分类问题,求指数损失函数对应的风险(损失函数的期望即为风险函数):
R ( f ) = E [ l ( f ) ∣ X ] = E Y [ e − Y f ( X ) ∣ X ] = P r ( Y = 1 ∣ X ) e − f ( X ) + P r ( Y = − 1 ∣ X ) e f ( X ) \mathcal R(f) =\mathbb E[l(f)|X]=\mathbb E_{Y}[e^{-Yf(X)}|X]=Pr(Y=1|X)e^{-f(X)}+Pr(Y=-1|X)e^{f(X)} R(f)=E[l(f)X]=EY[eYf(X)X]=Pr(Y=1X)ef(X)+Pr(Y=1X)ef(X)
求导:
∂ ∂ f R ( f ∣ X ) = − P r ( Y = 1 ∣ X ) e − f ( X ) + P r ( Y = − 1 ∣ X ) e f ( X ) = 0 \frac{\partial}{\partial f}\mathcal R(f|X)=-Pr(Y=1|X)e^{-f(X)}+Pr(Y=-1|X)e^{f(X)}=0 fR(fX)=Pr(Y=1X)ef(X)+Pr(Y=1X)ef(X)=0
得到:
f ( X ) = 1 2 l o g ( P r ( Y = 1 ∣ X ) P r ( Y = − 1 ∣ X ) ) f(X)=\frac 12log(\frac{Pr(Y=1|X)}{Pr(Y=-1|X)}) f(X)=21log(Pr(Y=1X)Pr(Y=1X))

上面这些推导可以说明指数损失函数是合理的。因为最小化风险函数得到的分类器结果即为理想状况下的分类器。当 P r ( Y = 1 ∣ X ) > P r ( Y = − 1 ∣ X ) Pr(Y=1|X)>Pr(Y=-1|X) Pr(Y=1X)>Pr(Y=1X)时,显然分类器预测结果为1,这与真实情况吻合。
另外,上面这个式子对应 α m \alpha_m αm的计算公式,因此最终的基分类器线性组合式子 f ( x ) = ∑ m = 1 M α m G m ( x ) f(x)=\sum_{m=1}^M \alpha_mG_m(x) f(x)=m=1MαmGm(x)是合理的。
也可以通过举例子说明,比如当损失函数最小时, Y f ( X ) Yf(X) Yf(X)达到最大,Y与 f ( X ) f(X) f(X)最接近,即当 y = 1 y=1 y=1 f ( x ) = ∑ m α m f(x)=\sum_m \alpha_m f(x)=mαm时损失函数最小。

贪心算法
AdaBoost使用贪心算法进行优化。 f ( x ) = ∑ m α m G m ( x ) f(x)=\sum_m \alpha_mG_m(x) f(x)=mαmGm(x)
只考虑最近的一步,即
R ( α m G m ∣ X m ) = E X ∼ D m [ e − Y α m G m ( X ) ] = e − α m P r X ∼ D m ( Y = G m ( X ) ) + e α m P r X ∼ D m ( Y ≠ G m ( X ) ) = e − α m ( 1 − ϵ m ) + e α m ϵ m \begin{aligned} \mathcal R(\alpha_mG_m|X_m)&=\mathbb E_{X\sim \mathcal D_m}[e^{-Y\alpha_mG_m(X)}]\\ &=e^{-\alpha_m}Pr_{X\sim \mathcal D_m}(Y=G_m(X))+e^{\alpha_m}Pr_{X\sim \mathcal D_m}(Y\ne G_m(X))\\ &=e^{-\alpha_m}(1-\epsilon_m)+e^{\alpha_m}\epsilon_m \end{aligned} R(αmGmXm)=EXDm[eYαmGm(X)]=eαmPrXDm(Y=Gm(X))+eαmPrXDm(Y=Gm(X))=eαm(1ϵm)+eαmϵm
在上式中对 α m \alpha_m αm求导即可得到其更新公式: α m = 1 2 l o g ( 1 − ϵ m ϵ m ) \alpha_m=\frac 12log(\frac{1-\epsilon_m}{\epsilon_m}) αm=21log(ϵm1ϵm)

数据分布 D m \mathcal D_m Dm的更新
理想状况下,我们想要最小化:
R ( f m − 1 + G m ∣ D ) = E X ∼ D [ e − Y ( f m − 1 + G m ) ] = E X ∼ D [ e − Y f m − 1 e − Y G m ) ] ≈ E X ∼ D [ e − Y f m − 1 ( 1 − Y G m ( X ) + 1 2 ) ] \begin{aligned} \mathcal R(f_{m-1}+G_m|\mathcal D) &=\mathbb E_{X\sim \mathcal D}[e^{-Y(f_{m-1}+G_m)}]\\ &=\mathbb E_{X\sim \mathcal D}[e^{-Yf_{m-1}}e^{-YG_m})]\\ &\approx \mathbb E_{X\sim \mathcal D}[e^{-Yf_{m-1}}(1-YG_m(X)+\frac 12)]\\ \end{aligned} R(fm1+GmD)=EXD[eY(fm1+Gm)]=EXD[eYfm1eYGm)]EXD[eYfm1(1YGm(X)+21)]
只考虑第m步的情况,并假设前m-1步的情况如 f m − 1 f_{m-1} fm1已知。则上述优化问题等价于最大化以下式子:
maximize E X ∼ D [ e − Y ( X ) f m − 1 Y G m ( X ) ] \text{maximize} \mathbb E_{X\sim \mathcal D}[e^{-Y(X)f_{m-1}}YG_m(X)] maximizeEXD[eY(X)fm1YGm(X)]等价于: maximize E X ∼ D m [ Y ( X ) G m ( X ) ] \text{maximize} \mathbb E_{X\sim \mathcal D_m}[Y(X)G_m(X)] maximizeEXDm[Y(X)Gm(X)]
其中, (为了使得上面两个最小化问题的最优解相同)
D m = D e − Y ( X ) f m − 1 E X ∼ D ( e − Y ( X ) f m − 1 ) \mathcal D_m=\frac{\mathcal De^{-Y(X)f_{m-1}}}{\mathbb E_{X\sim\mathcal D}(e^{-Y(X)f_{m-1}})} Dm=EXD(eY(X)fm1)DeY(X)fm1

下标加1则得到
D m + 1 = D e − Y f m E X ∼ D ( e − Y f m ) = D e − Y f m − 1 e − α m Y G m E X ∼ D m ( e − Y ( X ) f m ) = e − α m Y G m E X ∼ D ( e − Y f m − 1 ) E X ∼ D ( e − Y ( X ) f m ) \begin{aligned} \mathcal D_{m+1}&=\frac{\mathcal De^{-Yf_{m}}}{\mathbb E_{X\sim\mathcal D}(e^{-Yf_{m}})} \\ &= \frac{\mathcal De^{-Yf_{m-1}}e^{-\alpha_mYG_m}}{\mathbb E_{X\sim\mathcal D_{m}}(e^{-Y(X)f_{m}})}\\ &= e^{-\alpha_mYG_m}\frac{\mathbb E_{X\sim\mathcal D}(e^{-Yf_{m-1}})}{\mathbb E_{X\sim\mathcal D}(e^{-Y(X)f_{m}})} \end{aligned} Dm+1=EXD(eYfm)DeYfm=EXDm(eY(X)fm)DeYfm1eαmYGm=eαmYGmEXD(eY(X)fm)EXD(eYfm1)
此即对应第m步时数据的分布 { w m , i , i = 1 , . . . , n } \{w_{m,i},i=1,...,n\} { wm,i,i=1,...,n}
基分类器 G m G_m Gm G m − 1 G_{m-1} Gm1没有训练好的样本上加强训练,这与Boosting的思想一致。

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章