从前向分步算法推导出AdaBoost

前向分步算法到AdaBoost

前向分步算法与AdaBoost有什么关系呢?除了都属于Boosting的模型,其实AdaBoost是当前向分步算法损失函数为指数损失时的特例。这篇就写一下推导的过程。

前向分步算法 Forward Stagewise Additive Modeling


  1. 初始化f0(x)=0
  2. 对于m=1,2,...,M
    (a)

(βm,γm)=argminβ,γi=1NL(yi,fm1(xi)+βb(xi;γ))

(b)

fm(x)=fm1(x)+βmb(x;γm)

前向分步算法的步骤如上,其实我觉得应该翻译成前向分步累加模型更适合。因为最终的决策函数f(x)是由一系列的基函数b(x;γm)与相应的权值βm累加起来的。前向分步指的是,最小化损失函数获取第m步的 βb(x;γ) 时不影响之前已经获取的参数γ与系数β

对于回归问题,前向分步算法的损失函数可以选平方损失,即

L(yi,f(x))=(yif(x))2

所以有

L(yi,fm1(xi)+βb(xi;γ))=(yifm1(xi)βb(xi;γ))2=(rimβb(xi;γ))2

其中rim=(yifm1(xi)),这可以理解成是当前模型的残差,为了获取 βmb(x;γm),也就是令其去拟合当前模型的残差。


而AdaBoost是个分类器,对于分类问题,平方损失就不太适合了。所以引入指数损失,即

L(y,f(x))=exp(yf(x))

基本的AdaBoost是一个二分类模型,令其基函数b(x;γ)=G(x),所以有Gm(x){ 1,1}
则在指数损失的基础上,就需要解决如下问题

(βm,Gm)=argminβ,Gi=1Nexp[yi(fm1(xi)+
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值