数据挖掘十大算法--浅谈Adaboost算法

一、Adaboost算法由来

Boost 算法系列的起源:

PAC Learnability(PAC 可学习性)这套理论主要研究的是什么时候一个问题是可被学习的

PAC 定义了学习算法的强弱

弱学习算法---识别错误率小于1/2(即准确率仅比随机猜测略高的学习算法)
强学习算法---识别准确率很高并能在多项式时间内完成的学习算法

Adaboost提出

同时 ,Valiant和 Kearns首次提出了 PAC学习模型中弱学习算法和强学习算法的等价性问题,即任意给定仅比随机猜测略好的弱学习算法,是否可以将其提升为强学习算法?
如果二者等价 ,那么只需找到一个比随机猜测略好的弱学习算法就可以将其提升为强学习算法 ,而不必寻找很难获得的强学习算法。
不过很长一段时间都没有一个切实可行的办法来实现这个理想。终于功夫不负有心人, Schapire在1996年提出一个有效的算法真正实现了这个夙愿,它的名字叫AdaBoost

二、Adaboost算法原理

核心思想:AdaBoost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器,即弱分类器,然后把这些弱分类器集合起来,构造一个更强的最终分类器。
算法本身:通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。错误的分类增加权重,正确的减少权重。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。

三、Adaboost算法详解



四、Adaboost算法实例


图中,“+”和“-”分别表示两种类别,在这个过程中,
我们使用水平或者垂直的直线作为分类器,来进行分类。


根据分类的正确率,得到一个新的样本分布D2­,一个子分类器h1其中划圈的样本表示被分错的。在右边的途中,比较大的“+”表示对该样本做了加权。


根据分类的正确率,得到一个新的样本分布D3,一个子分类器h2


得到一个子分类器h3

整合所有子分类器:

五、Adaboost算法优点

1)adaboost是一种有很高精度的分类器

2)可以使用各种方法构建子分类器,adaboost算法提供的是框架

3)当使用简单分类器时,计算出的结果是可以理解的。而且弱分类器构造极其简单

4)简单,不用做特征筛选

5)不用担心overfitting

六、Adaboost算法应用

最后,我们可以总结下adaboost算法的一些实际可以使用的场景:
1)用于二分类或多分类的应用场景
2)用于做分类任务的baseline
无脑化,简单,不会overfitting,不用调分类器
3)用于特征选择(feature selection)
4Boosting框架用于对badcase的修正
只需要增加新的分类器,不需要变动原有分类器                       
由于adaboost算法是一种实现简单,应用也很简单的算法。Adaboost算法通过组合弱分类器而得到强分类器,同时具有分类错误率上界随着训练增加而稳定下降,不会过拟合等的性质,应该说是一种很适合于在各种分类场景下应用的算法。

七、Adaboost算法应用之人脸识别
八、Adaboost算法疑问解答



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值