前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习的AdaBoost算法

机器学习的AdaBoost算法

作者头像
February
修改2018-11-05 15:18:38
5700
修改2018-11-05 15:18:38
举报
文章被收录于专栏:技术翻译技术翻译

什么是AdaBoost?

首先,AdaBoost是Adaptive Boosting的缩写。基本上,Ada Boosting是第一个为二进制分类开发的真正成功的增强算法。此外,它是理解助推的最佳起点。此外,现代助推方法建立在AdaBoost上,最显著的是随机梯度增强机

通常,AdaBoost用于短决策树。此外,创建第一个树,使用每个训练实例上树的性能。另外,我们用它来衡量下一棵树的注意力。因此,它创建时应注意每个训练实例。因此,难以预测的训练数据被赋予更多权重。虽然容易预测的情况下给予较少的重量。

学习:AdaBoost模型

从数据中学习AdaBoost模型

  • Ada Boosting最适合用于提升决策树的性能,这是基于二进制分类问题。
  • AdaBoost最初被作者称为AdaBoost.M1。最近,它可以被称为离散Ada Boost。因为它用于分类而不是回归。
  • AdaBoost可用于提高任何机器学习算法的性能。它最适合弱学习者使用。

训练数据集中的每个实例都是加权的。初始权重设置为权重(xi)= 1 / n其中xi是第i个训练实例,n是训练实例的数量。

如何训练一个模型

使用加权样本在训练数据上准备弱分类器。仅支持二进制分类问题。因此,每个决策树桩对一个输入变量做出一个决定。并输出第一或第二类值的+1.0或-1.0值。针对训练的模型计算错误分类率。传统上,这被计算为error =(correct-N)/ N,其中error是错误分类率。虽然正确是模型预测的训练实例的数量。N是训练实例的总数。

例1

如果模型预测了100个训练实例中的78个错误。这被修改为使用训练实例的权重:error = sum(w(i)* terror(i))/ sum(w)这是错误分类率的加权和。其中w是训练实例的权重我恐怖是训练实例i的预测误差。此外,如果错误分类,则为1,如果分类正确,则为0。

例2

如果我们有3个训练实例,权重为0.01,0.5和0.2。预测值为-1,-1和-1,实例中的实际输出变量为-1,1和-1,则误差为0,1和0。误分类率计算如下: error =(0.01 * 0 + 0.5 * 1 + 0.2 * 0)/(0.01 + 0.5 + 0.2)或error = 0.704计算训练模型的阶段值。因为它为模型所做的任何预测提供了权重。训练模型的阶段值计算如下:stage = ln((1-error)/ error)其中stage是用于对模型进行加权预测的阶段值。此外,ln()是自然对数,error是模型的错误分类错误。stage weight的影响是更准确的模型具有更多的重量。更新训练权重,为预测实例提供更多权重。预测实例的重量较轻。

例3

使用以下公式更新一个训练实例(w)的权重:w = w * exp(stage*terror)。其中w是特定训练实例的权重,exp()是数字常数e或欧拉数提升到幂,stage是弱分类器的误分类率,恐怖是弱分类器预测输出的误差,并评估为:terror = 0 if(y == p),否则为1,其中y是训练实例的输出变量, p是来自弱学习者的预测。如果训练实例被分类,这具有不改变重量的效果。因此,如果弱学习者错误地将实例分类,则使权重稍大。

AdaBoost Ensemble

  • 基本上,依次添加弱模型,使用加权训练数据进行训练。
  • 通常,该过程一直持续到创建了预先设定数量的弱学习者为止。
  • 完成后,您将留下一群弱势学习者,每个学习者都有一个stage值。

使用AdaBoost进行预测

通过计算弱分类器的加权平均值来进行预测。对于新的输入实例,每个弱学习器将预测值计算为+1.0或-1.0。预测值由每个弱学习者阶段值加权。集合模型的预测被视为加权预测的总和。如果总和为正,则预测第一类,如果为负,则预测第二类。

例如: 5个弱分类器可以预测值1.0,1.0,-1.0,1.0,-1.0。从大多数投票看,模型看起来预测值为1.0或第一类。这些相同的5个弱分类器可以分别具有阶段值0.2,0.5,0.8,0.2和0.9。计算这些预测的加权和导致输出为-0.8。这将是-1.0或第二类的集合预测。

AdaBoost的数据准备

本节列出了为AdaBoost准备最佳数据的一些启发式方法。

质量数据:由于集合方法试图纠正训练数据中的错误分类。此外,您需要注意培训数据是高质量的。

异常值:一般来说,异常值会迫使整个团队陷入工作的低谷。虽然很难纠正不切实际的案件。但可以从训练数据集中删除异常值。

噪声数据:基本上,噪声数据,输出变量中的特定噪声可能会有问题。但如果可能,请尝试从训练数据集中隔离和清除这些内容。

结论

我们已经研究了Boosting算法并且已经了解了Ada boost示例。我们还了解了Adaboosting应用程序。我希望这篇文章能帮助你理解Boosting的概念 - Ada boost。此外,如果您有任何疑问,请随时在评论部分询问。

原文标题《AdaBoost Algorithm For Machine Learning》

作者:Rinu Gour

译者:February

不代表云加社区观点,更多详情请查看原文链接

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是AdaBoost?
  • 学习:AdaBoost模型
  • 如何训练一个模型
    • 例1
      • 例2
        • 例3
        • AdaBoost Ensemble
        • 使用AdaBoost进行预测
        • AdaBoost的数据准备
        • 结论
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档