首先,AdaBoost是Adaptive Boosting的缩写。基本上,Ada Boosting是第一个为二进制分类开发的真正成功的增强算法。此外,它是理解助推的最佳起点。此外,现代助推方法建立在AdaBoost上,最显著的是随机梯度增强机。
通常,AdaBoost用于短决策树。此外,创建第一个树,使用每个训练实例上树的性能。另外,我们用它来衡量下一棵树的注意力。因此,它创建时应注意每个训练实例。因此,难以预测的训练数据被赋予更多权重。虽然容易预测的情况下给予较少的重量。
从数据中学习AdaBoost模型
训练数据集中的每个实例都是加权的。初始权重设置为权重(xi)= 1 / n其中xi是第i个训练实例,n是训练实例的数量。
使用加权样本在训练数据上准备弱分类器。仅支持二进制分类问题。因此,每个决策树桩对一个输入变量做出一个决定。并输出第一或第二类值的+1.0或-1.0值。针对训练的模型计算错误分类率。传统上,这被计算为error =(correct-N)/ N,其中error是错误分类率。虽然正确是模型预测的训练实例的数量。N是训练实例的总数。
如果模型预测了100个训练实例中的78个错误。这被修改为使用训练实例的权重:error = sum(w(i)* terror(i))/ sum(w)这是错误分类率的加权和。其中w是训练实例的权重我恐怖是训练实例i的预测误差。此外,如果错误分类,则为1,如果分类正确,则为0。
如果我们有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的影响是更准确的模型具有更多的重量。更新训练权重,为预测实例提供更多权重。预测实例的重量较轻。
使用以下公式更新一个训练实例(w)的权重:w = w * exp(stage*terror)。其中w是特定训练实例的权重,exp()是数字常数e或欧拉数提升到幂,stage是弱分类器的误分类率,恐怖是弱分类器预测输出的误差,并评估为:terror = 0 if(y == p),否则为1,其中y是训练实例的输出变量, p是来自弱学习者的预测。如果训练实例被分类,这具有不改变重量的效果。因此,如果弱学习者错误地将实例分类,则使权重稍大。
通过计算弱分类器的加权平均值来进行预测。对于新的输入实例,每个弱学习器将预测值计算为+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准备最佳数据的一些启发式方法。
质量数据:由于集合方法试图纠正训练数据中的错误分类。此外,您需要注意培训数据是高质量的。
异常值:一般来说,异常值会迫使整个团队陷入工作的低谷。虽然很难纠正不切实际的案件。但可以从训练数据集中删除异常值。
噪声数据:基本上,噪声数据,输出变量中的特定噪声可能会有问题。但如果可能,请尝试从训练数据集中隔离和清除这些内容。
我们已经研究了Boosting算法并且已经了解了Ada boost示例。我们还了解了Adaboosting应用程序。我希望这篇文章能帮助你理解Boosting的概念 - Ada boost。此外,如果您有任何疑问,请随时在评论部分询问。
原文标题《AdaBoost Algorithm For Machine Learning》
作者:Rinu Gour
译者:February
不代表云加社区观点,更多详情请查看原文链接
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。