机器学习技法 Lecture8: Adaptive Boosting

Motivation of Boosting

举了个分辨图片是否是苹果的例子,来描述boosting的思想。主要是使用很多个小的判别器连续判断,每次将分对的样例降低比重,而将分错的样例增大比重。这样最后将这些小的判别器组合起来,最终能够得到一个效果比较好的复杂模型。
在这里插入图片描述

Diversity by Re-weighting

可以回顾一下上节课讲的boostrap的方法。假如使用了bootstrap对数据进行采样生成了新的数据集 D ^ \widehat{D} D ,在计算新的数据集上的 E i n E_{in} Ein时可以当做是将原数据集上的样本进行加权求和得到的结果。
在这里插入图片描述
对于每个基分类器g而言,它的目标就是最小化这个加权后的 E i n E_{in} Ein
在这里插入图片描述
加权的这种方式在之前的分类算法里已经用到过很多,比如SVM算法里只需要在每个惩罚项前面加系数,在逻辑回归里只需要在求和时对每个err加对应的系数即可。这种方式是对于不同分类重要性加权的一种拓展。

在讲bagging方法的时候我们提到,基分类器的diversity越大,最终得到的算法可能就会越好。而增大基分类器diversity的一个方式就是生成更多样化的数据集。因此对应加权的形式就相当于每个基分类器对应的每个样本的系数要尽可能多样化。
在这里插入图片描述
所以有一种想法来最大程度得增加多样性,那就是让下一次对应的系数 u ( t + 1 ) u^{(t+1)} u(t+1)对于前一个基分类器 g t g_{t} gt来说效果与瞎猜一样。数学表示如下:
在这里插入图片描述
简单的说,就是让 u ( t + 1 ) u^{(t+1)} u(t+1)里前一个分类器 g t g_{t} gt分对的样本系数与分错的样本系数相等。
在这里插入图片描述
因此有个简单的做法就是互相乘以对方的系数和:
在这里插入图片描述

Adaptive Boosting Algorithm

加入将犯错的样本系数和写为 ϵ t \epsilon_{t} ϵt,那么下一次的样本系数分别正比于 ϵ t \epsilon_{t} ϵt 1 − ϵ t 1-\epsilon_{t} 1ϵt
在这里插入图片描述
与直接乘以对应的系数相比,我们使用一个更直观的方式,定义一个scaling factor,分别乘以和除以这个系数来放缩样本系数:
在这里插入图片描述
这个放缩系数能够有明确的物理意义,那就是放大错误样本的系数,缩小正确样本的系数。而我们这么放缩的目的最终还是增加基分类器的多样性。于是我们就有了一个基本的算法流程:
在这里插入图片描述
其中初始化的系数一般使用平均分配的方式。而最终将基分类器组合起来的方式也可以自由选择,可以使用任意线性或者非线性的组合。
在这里插入图片描述
假如使用线性的组合方式,那么有一种在计算过程中直接得到最终组合系数的算法。我们的scaling factor表示的是基分类器 g t g_{t} gt的正确程度,因此可以把最终的组合系数 α t \alpha_{t} αt正比于这个scaling factor。不过我们选择了取ln的形式,这样不仅是正比,而且还有一定的物理意义:
在这里插入图片描述
于是就得到了adaboost算法,这个算法如下:
在这里插入图片描述
它有几个部分组成:基分类器、最大化diversity的scaling factor和最终的线性组合的系数 α t \alpha_{t} αt。而且这个算法的VC bound上限是有理论保障的:
在这里插入图片描述
大致的说,只要基分类器的正确率大于1/2,那么 E i n E_{in} Ein就可以很小到0。而且 E i n E_{in} Ein收敛到0的速度T是样本数量N的对数级别。因此后一项在N比较大的时候也会很小,最终就会保证 E o u t E_{out} Eout很小。

Adaptive Boosting in Action

有个实际的例子来说明adaboost算法。那就是decision stump算法。它每次只能在一个维度上做一个简单的划线切分,这样一个单独的分类器可能就不会得到很好的结果:
在这里插入图片描述
它有很好的性质,比如物理意义明确,而且算法耗时不多。
在这里插入图片描述
但是令人惊讶的是即使是一个复杂的样本集合,使用简单的decision stump的集合也能够得到很好的结果。而实际中adaboost算法的思想也应用在很多其它的领域如人脸识别等等:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值