AdaBoost
Boosting
Boosting 是指,仅通过训练精度比随机猜想(50%)稍高的学习器,通过集成的方式过建出强学习器。
其中boosting中最有名的是AdaBoost算法。AdaBoost是英文"Adaptive Boosting"(自适应增强)的缩写,它的自适应在于:前一个基本分类器被错误分类的样本的权值会增大,而正确分类的样本的权值会减小,并再次用来训练下一个基本分类器。同时,在每一轮迭代中,加入一个新的弱分类器,直到达到某个预定的足够小的错误率或达到预先指定的最大迭代次数才确定最终的强分类器。
AdaBoost 推导
设存在数据集 ,其中
考虑二分类问题
因为AdaBoost算法最终得到的学习器是由多个弱学习器集成而来的,由此设
其中 为参数向量,代表第k个学习器的参数,
为第k个学习器的权重,表示在最终学习器中第k个学习器在其中的权重。
其中最终决策为
当正确分类时,存在
当错误分类时,存在
其中AdaBoost分类的目标就是尽可能的正确分类,即最大限度时,错分的样本数目最少,由此构建目标函数
其中在AdaBoost推导过程中,设 为前m个分类器的集成结果,即
若写为增量表示,则为
即前m个分类器集成的结果为前m-1个分类器集成的结果加上第m个分类器的结果
由此前m个分类器的目标函数为
令 为前
个分类器对
对错分指数,易知这与第m个分类器的
无关。即
所以前m个分类器的目标函数可以写为
由此我们选择的参数 应是使得目标函数最小的,即错分的样本最少
其中:
是一个非0即1的函数,当
是函数
,即正确分类时,函数
为0,当错误分类时,函数
;
为第m个分类器错误识别样本的平均权重。求
通常在选择第m个分类器时候,选择阈值
所以优化目标可以改为:优化第m个分类器,使得错分样本对应的平均权重最小,即在第m个分类器的正确分类样本,尽可能时前m-1个分类器中错分指数大的样本即 大,求
。即可认为在集成过程中使得对
分类错误的学习器的
小,使得最终的学习器受到错分的影响最小。
因为
所以
由此设存在函数:
对其求导数得到
令 得到
的取最小值时的
即
由此更新权重
将 代入可得:
被第m个分类器正确分类的样本权值为:
被第m个分类器错误分类的样本权值为:
归一化:
示例
当存在10个样本如图所示
假设在正确分类的样本权值,不变错误分类的样本权值为:的情况下
首先初始化各分类器的权重
可得:
然后对其使用 分类器,分类结果如图所示
易知有三个样本被错误分类
其中正确分类的样本权值不变,错误分类的样本权值为:
其中
即被错分的样本乘上平均错分权重
得到
对其进行归一化处理
对其使用 分类器,分类结果如图所示
易知有三个样本被错误分类
对进行归一化
对其使用 分类器,分类结果如图所示
易知有一个样本被错误分类
综上所述