机器学习技法(8)--Adaptive Boosting

本节课主要讲解AdaBoost算法。

步骤:

1. 先产生一个表现一般或者不好的分类器,将这个分类器发生的错误进行权重的放大;

2. 对上一轮被方法的错误再一次产生另一个分类器进行学习,再一次产生错误并放大进入下一轮;

3. 重复以上步骤,直到表现令人满意。

先利用bootstrap进行有放回抽样产生新的数据集。

再对错误进行计算和加权。被重复抽取的数据权重大(U大);被单次抽取的数据权重小(U小)。

所以最小化的目标就是加权平均的Ein:

并且,我们也可以通过改变u来产生更加高的弱分类器的差异,从而提高最后融合后的表现。

通过调整权重u让旧的hypothesis表现变差,从而产生新的hypothesis。这个权重就是1/2,也就是二元分类中的随机或者瞎猜的概率。

橙色是犯错的部分,绿色是正确的部分。只要这两个部分相等,就可以得出1/2的结果了。

最后放缩的方法:

通过错误率得到方块t这样的乘子:

可见,通过放大错误,缩小正确可以产生不一样的hypothesis。

但是,一开始的权重u怎么样设置合理呢?等权重。

介绍新的演算法:linear aggregation on the fly,就是算出一个g的同时,决定它的α。

我们的目标是:

给不同gt投票的α的设定可以将每个gt的错误方块t联系起来。

完整的AdaBoost:

AdaBoost的理论证明:

每个弱分类器只要比瞎猜好一点(>1/2),通过这个boost的过程最后的结果就会保证很好。

In action那部分略。

总结:

 

posted @ 2016-09-30 09:51  cyoutetsu  阅读(216)  评论(0编辑  收藏  举报