Adaboost算法详细推导

文章目录

      • Boosting概念
      • Adaboost介绍及推导

Boosting概念

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

Adaboost介绍及推导

Boosting族算法最著名的代表就是Adaboost,Adaboost算法有多种推导方式,这里采用西瓜书中提到的加性模型。
基学习器的线性组合为
在这里插入图片描述
这里使用指数损失函数,
在这里插入图片描述
为最小化上式损失函数,对损失函数关于H(x)求导,即对公式1.3关于H(x)进行求导
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Adaboost算法详细推导_第1张图片
这就意味着sign(H(x))达到了贝叶斯最优错误率。至于什么是贝叶斯最优错误率,请参看贝叶斯决策论。也就是说若指数损失函数最小化,则分类错误率也将最小化。因此可以使用指数损失函数作为优化的目标函数。
在Adaboost算法中,第一个分类器h1是通过将基学习算法用于初始分布而得,此后迭代生成αt和ht,当基分类器ht基于分布Dt产生后,那么
在这里插入图片描述
令上式对αt的偏导为零,即
在这里插入图片描述
目前还有一个ht没有获得,怎样进行训练得到呢?
Adaboost算法在获得Ht-1之后样本分布将进行调整,使得下一轮的基学习器ht能纠正Ht-1的一些错误,理想的ht能纠正Ht–1的全部错误,即最小化
在这里插入图片描述
对e-^(f(x))ht(x)在零处泰勒展开,省略高阶项,即
在这里插入图片描述,损失函数即为
在这里插入图片描述
所以,理想的学习器即
Adaboost算法详细推导_第2张图片
令Dt表示一个分布
在这里插入图片描述
根据数学期望的定义,即
在这里插入图片描述
由于f(x),h(x)属于{-1,+1},有
在这里插入图片描述

在这里插入图片描述
由此可见,理想的ht将在分布Dt下最小化分类误差。因此弱分类器将基于分布Dt来进行训练,且针对分布Dt的分类误差小于0.5.考虑到Dt和Dt+1的关系,有
Adaboost算法详细推导_第3张图片

参考:
[1]周志华.机器学习
[2]https://blog.csdn.net/wqtltm/article/details/82052919
[3]https://blog.csdn.net/fuqiuai/article/details/79482487

你可能感兴趣的:(集成学习)