机器学习的AdaBoost算法

什么是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

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

原文链接:https://dzone.com/articles/adaboost-algorithm-for-machine-learning

原文作者:Rinu Gour

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CreateAMind

论文解读:生成模型采样-类比学习应用 多图

951
来自专栏技术小站

吴恩达深度学习笔记 course3 week2 机器学习 策略(2)

例:当我们在训练一个模型的时候,我们的准确率是90%,bayes optimized bias是0%,这个时候错误率达到了10%,那么我们如何分析是哪错了,并且...

1252
来自专栏磐创AI技术团队的专栏

一个完整的机器学习项目在Python中的演练(三)

1421
来自专栏机器之心

从自编码器到生成对抗网络:一文纵览无监督学习研究现状

选自Medium 机器之心编译 参与:Nurhachu、蒋思源、吴攀 无监督学习是深度学习的圣杯。它的目的是希望能够用极少量且不需要标注的数据训练通用系统。本文...

3909
来自专栏AI派

【技术综述】你真的了解图像分类吗?

图像分类是计算机视觉中最基础的任务,基本上深度学习模型的发展史就是图像分类任务提升的发展历史,不过图像分类并不是那么简单,也没有被完全解决。

1531
来自专栏机器之心

业界 | 似乎没区别,但你混淆过验证集和测试集吗?

选自Machine Learning Mastery 机器之心编译 参与:蒋思源 很多机器学习入门者对测试集和验证集的概念有所混淆,甚至很多机器学习开发工程师常...

2945
来自专栏人工智能头条

王晓刚:图像识别中的深度学习

2802
来自专栏机器学习和数学

[编程经验] TensorFlow实现非线性支持向量机

上一次说的是线性支持向量机的原理和tf实现问题,把SVM的原理简单用公式推导了一下,SVM这块还有几个问题没有解释,比如经验风险,结构风险,VC维,松弛变量等。...

4727
来自专栏机器之心

AAAI 2018 | 中科大提出新型连续手语识别框架LS-HAN,帮助「听」懂听障人士

3639
来自专栏新智元

Adobe 写实深度摄影风格迁移,局部仿射解决画面扭曲

【新智元导读】康奈尔大学和 Adobe 团队的这项图像风格迁移研究,解决了神经网络风格迁移中由于参考图像风格夸张而产生的的输出图像“扭曲”的问题,在各种场景下得...

3165

扫码关注云+社区