0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解决二分类问题的算法——AdaBoost算法

lviY_AI_shequ 来源:未知 作者:李倩 2018-09-23 10:02 次阅读

1.集成学习

集成学习(ensemble learning)通过组合多个基分类器(base classifier)来完成学习任务,颇有点“三个臭皮匠顶个诸葛亮”的意味。基分类器一般采用的是弱可学习(weakly learnable)分类器,通过集成学习,组合成一个强可学习(strongly learnable)分类器。所谓弱可学习,是指学习的正确率仅略优于随机猜测的多项式学习算法;强可学习指正确率较高的多项式学习算法。集成学习的泛化能力一般比单一的基分类器要好,这是因为大部分基分类器都分类错误的概率远低于单一基分类器的。

偏差与方差

“偏差-方差分解”(bias variance decomposition)是用来解释机器学习算法的泛化能力的一种重要工具。对于同一个算法,在不同训练集上学得结果可能不同。对于训练集,由于噪音,样本的真实类别为(在训练集中的类别为),则噪声为

学习算法的期望预测为

使用样本数相同的不同训练集所产生的方法

期望输入与真实类别的差别称为bias,则

为便于讨论,假定噪声的期望为0,即,通过多项式展开,可对算法的期望泛化误差进行分解(详细的推导参看[2]):

也就是说,误差可以分解为3个部分:bias、variance、noise。bias度量了算法本身的拟合能力,刻画模型的准确性;variance度量了数据扰动所造成的影响,刻画模型的稳定性。为了取得较好的泛化能力,则需要充分拟合数据(bias小),并受数据扰动的影响小(variance小)。但是,bias与variance往往是不可兼得的:

当训练不足时,拟合能力不够强,数据扰动不足以产生较大的影响,此时bias主导了泛化错误率;

随着训练加深时,拟合能力随之加强,数据扰动渐渐被学习到,variance主导了泛化错误率。

Bagging与Boosting

集成学习需要解决两个问题:

如何调整输入训练数据的概率分布及权值;

如何训练与组合基分类器。

从上述问题的角度出发,集成学习分为两类流派:Bagging与Boosting。Bagging(BootstrapAggregating)对训练数据擦用自助采样(boostrap sampling),即有放回地采样数据;每一次的采样数据集训练出一个基分类器,经过MM次采样得到MM个基分类器,然后根据最大表决(majority vote)原则组合基分类器的分类结果。

Boosting的思路则是采用重赋权(re-weighting)法迭代地训练基分类器,即对每一轮的训练数据样本赋予一个权重,并且每一轮样本的权值分布依赖上一轮的分类结果;基分类器之间采用序列式的线性加权方式进行组合。

从“偏差-方差分解”的角度看,Bagging关注于降低variance,而Boosting则是降低bias;Boosting的基分类器是强相关的,并不能显著降低variance。Bagging与Boosting有分属于自己流派的两大杀器:Random Forests(RF)和Gradient Boosting Decision Tree(GBDT)。本文所要讲的AdaBoost属于Boosting流派。

2.AdaBoost算法

AdaBoost是由Freund与Schapire [1] 提出来解决二分类问题

根据加型模型(additive model),第m轮的分类函数

其中,为基分类器的组合系数。AdaBoost采用前向分布(forward stagewise)这种贪心算法最小化损失函数(1),求解子模型的

其中,的分类误差率。第m+1轮的训练数据集权值分布

其中,为规范化因子

则得到最终分类器

的单调递减函数,特别地,当时,;当时,即基分类器不满足弱可学习的条件(比随机猜测好),则应该停止迭代。具体算法流程如下:

在算法第4步,学习过程有可能停止,导致学习不充分而泛化能力较差。因此,可采用“重采样”(re-sampling)避免训练过程过早停止;即抛弃当前不满足条件的基分类器,基于重新采样的数据训练分类器,从而获得学习“重启动”机会。

AdaBoost能够自适应(addaptive)地调整样本的权值分布,将分错的样本的权重设高、分对的样本的权重设低;所以被称为“Adaptive Boosting”。sklearn的AdaBoostClassifier实现了AdaBoost,默认的基分类器是能fit()带权值样本的DecisionTreeClassifier。

老师木在微博上提出了关于AdaBoost的三个问题:

1,adaboost不易过拟合的神话。

2,adaboost人脸检测器好用的本质原因,

3,真的要求每个弱分类器准确率不低于50%。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4637

    浏览量

    93535
  • 集成学习
    +关注

    关注

    0

    文章

    10

    浏览量

    7339
  • 分类器
    +关注

    关注

    0

    文章

    152

    浏览量

    13257

原文标题:【十大经典数据挖掘算法】AdaBoost

文章出处:【微信号:AI_shequ,微信公众号:人工智能爱好者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    相关推荐

    基于逻辑回归算法的乳腺癌肿瘤二分类预测

    ML之LoR:基于LoR(逻辑回归)算法对乳腺癌肿瘤进行二分类预测(良恶性)
    发表于 06-18 07:06

    实现AdaBoost算法的代码

    AdaBoost算法实现
    发表于 11-07 09:19

    利用单词超团的二分图文本聚算法

    鉴于目前传统文本聚方法中利用文档间的相似度进行聚存在的问题,在传统的文本挖掘基础上提出了一种新的文本聚算法—— 利用单词超团的二分图文
    发表于 02-27 15:39 21次下载

    基于AdaBoost_Bayes算法的中文文本分类系统

    基于AdaBoost_Bayes算法的中文文本分类系统_徐凯
    发表于 01-07 18:56 2次下载

    基于主动学习不平衡多分类AdaBoost改进算法

    针对不平衡分类中小样本识别率低问题,提出一种基于主动学习不平衡多分类AdaBoost改进算法。首先,利用主动学习方法通过多次迭代抽样,选取
    发表于 11-30 17:12 3次下载

    一种多分类AdaBoost算法

    指数损失函数逐步添加模型( SAMME)是一种多分类AdaBoost算法,为进一步提升SAMME算法的性能,针对使用加权概率和伪损失对
    发表于 12-01 16:50 1次下载

    基于聚算法二分网络社区挖掘算法

    针对二分网络中社区挖掘的准确性不高、对额外参数的依赖较大的问题,基于谱聚算法的思想,从二分网络的拓扑结构展开,提出了一种改进的社区挖掘算法
    发表于 12-27 10:06 0次下载
    基于聚<b class='flag-5'>类</b><b class='flag-5'>算法</b>的<b class='flag-5'>二分</b>网络社区挖掘<b class='flag-5'>算法</b>

    非线性AdaBoost算法

    AdaBoost是数据挖掘领域最常见的提升算法之一。对传统AdaBoost将各个基分类器线性相加所存在的不足进行分析,并针对AdaBoost
    发表于 01-04 16:58 0次下载

    基于可能性均值聚二分类支持向量机

    提出基于可能性均值聚(Possibilistic Two Means, P2M)的二分类支持向量机(Support Vector Machine,SVM)。该算法先用P2M对未知类
    发表于 01-09 10:45 0次下载

    阈值分类器组合的多标签分类算法

    ,证明了该算法能克服固定分段阈值分类器对分类边界附近点分类不稳定的缺点从而提高分类准确率;然后,采用二分
    发表于 01-22 17:01 1次下载

    Adaboost算法总结

    集成学习的Boosting算法通过结合多个弱学习器组成强学习器,AdaBoost算法是Boosting算法中的一种,本文详细的总结了AdaBoost
    的头像 发表于 12-29 16:08 3160次阅读
    <b class='flag-5'>Adaboost</b><b class='flag-5'>算法</b>总结

    基于AdaBoost算法的复杂网络链路预测

    邻接矩阵,完成样本的矩阵化处理;然后采用 Adaboost算法进行分类训练,通过权重投票获取预测结果;最后,考虑到复杂网络弱分类器预测正负误差分布的不均衡问题,设置权重调整因子η及其调
    发表于 04-08 11:21 15次下载
    基于<b class='flag-5'>AdaBoost</b><b class='flag-5'>算法</b>的复杂网络链路预测

    一种融合语义模型的二分网络推荐算法

    当前基于二分网络的推荐算法未考虑推荐对象之间的语义关系,因此文中提出一种融合语义模型的二分网络推荐算法。该算法利用作者主题模型将推荐对象的语
    发表于 04-28 13:53 4次下载
    一种融合语义模型的<b class='flag-5'>二分</b>网络推荐<b class='flag-5'>算法</b>

    二分搜索算法运用的框架套路

    我们前文 我作了首诗,保你闭着眼睛也能写对二分查找 详细介绍了二分搜索的细节问题,探讨了「搜索一个元素」,「搜索左侧边界」,「搜索右侧边界」这三个情况,教你如何写出正确无 bug 的二分搜索
    的头像 发表于 08-25 16:06 1886次阅读

    如何理解二分查找算法

    本文就来探究几个最常用的二分查找场景:寻找一个数、寻找左侧边界、寻找右侧边界。 而且,我们就是要深入细节,比如不等号是否应该带等号,mid 是否应该加一等等。分析这些细节的差异以及出现这些差异的原因,保证你能灵活准确地写出正确的二分查找
    的头像 发表于 04-19 11:10 685次阅读
    如何理解<b class='flag-5'>二分</b>查找<b class='flag-5'>算法</b>