看这篇文章的前提:已经看了PRML中的Adaboost的算法流程
看懂下面的内容必须牢牢记住:Adaboost使用的误差函数是指数误差
文章主要目的:理解样本抽样的权值是为什么那样变化的。
得出的结论:训练第m个基分类器ym时,样本n的抽样权重是fm-1在样本n上的指数误差
当ym将第n个样本分对了时,则权值保持不变,否则权值增加exp{αm}(>1)倍
(1)
(2)
(3)
(1)表示分类器fm的误差函数是指数误差函数
(2)表示分类器fm是一系列的基函数(yl,即基分类器)的加权和,αl是基分类器yl的权重,l=1...m
(3)表示分类器fm是二分类
Adaboost是选择恰当的αl和yl使得误差E最小,l=1...m
找到全局最优是件很麻烦的事,所以决定找到局部最优,采用了前向分步算法
前向分步算法
假设前m-1个基分类器y1(x)...ym-1(x)已经确定,且相应的权重α1...αm-1也已经确定,此时只需要寻找恰当的αm和ym使得E最小。
因此E可以转换为:
(4)
根据指数误差函数,我们可以知道,其实就是fm-1在样本n上的误差,即训练ym时,样本n的抽样权重是fm-1在样本n上的误差。
(4)中右边的累加项是表示fm在样本n上的误差,所以就有了下面的递推公式
(5)
(6)
公式6很容易得到,将(6)代入(5)中,可以得到(7)
(7)
而与n无关,即与样本(数据)无关,所以对样本的抽样没影响,可以去掉。
当ym将第n个样本分对了,则权值保持不变,否则权值增加expαm(>1)倍
接下来的内容是关于算法的三个主要部分的解释:
1、当考虑ym的变化时,最小化分类器fm的指数误差损失等价于最小化第m个基分类器ym的加权的0-1损失
2、当只考虑αm的变化时,最小化分类器fm的指数误差损失,得到基分类器的权值αm的值(与加权误差率的关系)
3、加权误差率
对(4)进行进一步的转换得到:
(8)
如果只考虑ym的变化,最小化E等价于最小化(9)
(9)
(9)表示加权误差和
如果只考虑αm的变化,最小化E得到
(10)
其中:
是加权误差率
补充AdaBoost算法框架