Adaboost详解(附带基本公式推导)

Adaboost详解

第一次写博客,本人数学基础不是太好,如果有幸能得到读者指正,感激不尽,希望能借此机会向大家学习。这一篇的大部分内容都来自于《机器学习》这本书,以及自己的一些见解。MathJax还不会用,so公式都是我用MathType打出来后截图生成的。

预备知识:

这一部分主要是谈一谈Boosting的概念和原理,以及Adaboost中涉及到的基础数学公式即定理的推导。

弱学习器

  弱学习器常指泛化性能略优于随机猜测的学习器,例如在二分类问题上精度略高于50%的分类器。——《机器学习》周志华 P171

Boosting(提升)

  Boosting是一族可将弱学习器提升为强学习器的算法。这族算法的工作机制类似:先从初始训练集训练出一个基学习器,再根据基学习器的表现队训练集样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注,然后基于调整后的样本分布来训练下一个基学习器;如此反复进行,直至基学习器数目达到事先指定的值T,最终将这T个基学习器进行加权结合。——《机器学习》周志华 P173

加性模型(additive model)

 

其中,αtαt为每个基学习器的权值,ht(x)ht(x)为每个基学习器的预测结果。

数学期望的一条重要定理

  若存在x∈X,y∈Yx∈X,y∈Y,且存在这样的映射Y=f(X)Y=f(X),则可以得到,

 

其中,E(x)E(x)、E(y)E(y)分别为xx和yy的期望。

泰勒展开式

其中,f(n)(x)f(n)(x)表示f(x)f(x)的n阶导数,等号后的多项式称为函数f(x)f(x)在x0x0处的泰勒展开式,剩余的Rn(x)Rn(x)是泰勒公式的余项,是(x−x0)n(x−x0)n的高阶无穷小。 
  以下列举一些常用函数的泰勒公式:

推导过程

主要分为三部分:指数损失函数、基学习器的权值αtαt的更新和训练集样本分布Dt(x)Dt(x)的更新。

指数损失函数

  若f(x)f(x)为样本xx的实际标签值,H(x)H(x)为样本的预测标签值,则指数损失函数可以表示为,

其中Ex~D[e−f(x)H(x)]Ex~D[e−f(x)H(x)]为样本服从分布DD时,e−f(x)H(x)e−f(x)H(x)的期望值,II(f(x)=1)II(f(x)=1)当f(x)=1f(x)=1时,等于1,否则为0。 
  若存在H(x)H(x)使得lexp(H|D)lexp(H|D)可以最小化,则可以将式子(1)对H(x)H(x)求偏导数,即

  令式子(2)为零,得到

  从而得到,

  这证明sign(H(x))sign(H(x))达到了最小贝叶斯最优错误率。换言之,若指数损失最小化,则分类错误率也将最小化,这说明指数损失函数是分类任务原本0/1损失函数的一致的替代函数,由于其具有良好的数学性质,因此用它替代0/1损失函数作为优化目标。

基学习器的权值αtαt的更新

  当基学习器ht(x)ht(x)基于分布DtDt产生后,该基学习器的权重αtαt应使得αthtαtht最小化指数损失函数

上式中εt=Px~D(f(x)≠ht(x))εt=Px~D(f(x)≠ht(x))为加权误差,误差权值即为样本权值,为了最小化式子(4),将其对求偏导数并置零,得到

这样就得到了基学习器的权值更新公式。

训练集样本分布Dt(x)Dt(x)的更新

  在获得基学习器ht−1(x)ht−1(x)后,样本分布将进行调整,使下一轮基学习器ht(x)ht(x)能纠正Ht−1Ht−1(集成了前t−1t−1个学习器后的集成学习器)的全部错误,即最小化

注意到f2(x)=h2t(x)=1f2(x)=ht2(x)=1,上式中e−f(x)ht(x)e−f(x)ht(x)经过泰勒展开【5】后得到

  于是,理想的基学习器

式子(6)中Ex~D[e−f(x)Ht−1(x)]Ex~D[e−f(x)Ht−1(x)]是一个常数,令DtDt表示一个分布,即

根据数学期望的定理【4】,可以将式子(6)转化为

由f(x),ht(x)∈{−1,1}f(x),ht(x)∈{−1,1},有如下关系式

则理想学习器为

由此可见,理想的基学习器ht(x)ht(x)将在分布Dt(x)Dt(x)下最小化分类误差,因此ht(x)ht(x)应该基于分布Dt(x)Dt(x)来训练。由Dt(x)Dt(x)和Dt−1(x)Dt−1(x)的关系,可以得到

上式即为样本分布的更新公式。

Adaboost伪代码


参考资料

【1】《机器学习》周志华 
【2】泰勒公式——百度百科 
【3】数学期望——百度百科 
【4】《机器学习实战》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值