集成学习(二):AdaBoost算法解释

1. 前言

在之前的博客中讲解了AdaBoost算法的原理,为了能够更加直观理解AdaBoost算法,常用的解释模型便是使用加法模型。

2. 加法模型解释

首先定义AdaBoost的加法模型为:

f(x)=m=1MαmGm(x) f ( x ) = ∑ m = 1 M α m G m ( x )

其中 αm α m 是基函数的系数, Gm(x) G m ( x ) 为基函数。则就可以使用指数函数定义损失函数
L(y,f(x))=exp(yf(x)) L ( y , f ( x ) ) = e x p ( − y f ( x ) )

假设经过 m1 m − 1 次迭代之后得到的模型为:
fm1(x)=fm2(x)+αm1Gm1(x)=α1G1(x)++αm1Gm1(x) f m − 1 ( x ) = f m − 2 ( x ) + α m − 1 G m − 1 ( x ) = α 1 G 1 ( x ) + … + α m − 1 G m − 1 ( x )

得到第 m m 次的迭代得到αm,Gm(x)fm(x)
fm(x)=fm1(x)+αmGm(x) f m ( x ) = f m − 1 ( x ) + α m G m ( x )

目标是使前向分布算法得到的 αm,Gm(x)fm(x) α m , G m ( x ) 和 f m ( x ) 在训练数据集T上的指数损失函数最小化,即是
(αm,Gm(x))=argmina,mi=1Nexp[yi(fm1(xi)+αG(xi))]=argmina,mi=1Nwmiexp(αG(xi))] ( α m , G m ( x ) ) = a r g min a , m ∑ i = 1 N e x p [ − y i ( f m − 1 ( x i ) + α G ( x i ) ) ] = a r g min a , m ∑ i = 1 N w m i e x p ( α G ( x i ) ) ]

其中
wmi=exp(yifm1(xi)) w m i = e x p ( − y i f m − 1 ( x i ) )

上式中最小化之后的 αm,Gm(x) α m ∗ , G m ∗ ( x ) 就是AdaBoost算法得到的 αm,Gm(x) α m , G m ( x ) 。则对其进行求解就分为了两步,先求解 Gm(x) G m ∗ ( x )
Gm(x)argminGi=1NwmiI(yiG(xi)) G m ∗ ( x ) a r g min G ∑ i = 1 N w m i I ( y i ≠ G ( x i ) )

之后求解 αm α m ∗
i=1Nwmiexp(αG(xi))]=yi=Gm(xi)wmieα+yiGm(xi)wmieα=(eαeα)i=1NwmiI(yiG(xi)) ∑ i = 1 N w m i e x p ( α G ( x i ) ) ] = ∑ y i = G m ( x i ) w m i e − α + ∑ y i ≠ G m ( x i ) w m i e α = ( e α − e − α ) ∑ i = 1 N w m i I ( y i ≠ G ( x i ) )

将已经求得的 Gm(x) G m ∗ ( x ) 带入上式,对 α α 求导并使倒数为0,即可得到让目标函数最小的 α α
αm=12log1+emem α m ∗ = 1 2 l o g 1 + e m e m

其中 em e m 是分类误差率:
em=Ni=1wmiI(yiG(xi))Ni=1wmi e m = ∑ i = 1 N w m i I ( y i ≠ G ( x i ) ) ∑ i = 1 N w m i

这里基函数权值系数的更新是与AdaBoost算法一致的,对于样本权值系数的更新是这样的
wm+1,i=wm,iexp(yiαmGm(x)) w m + 1 , i = w m , i e x p ( − y i α m G m ( x ) )

3. 参考

  1. 统计学习方法——李航
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值