首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新Adaboost中的权重

更新Adaboost中的权重
EN

Data Science用户
提问于 2019-03-04 06:42:41
回答 2查看 544关注 0票数 2

我正在学习Adaboost算法。该算法对训练后的权重进行更新。

这是他们在Adaboost上解释体重的表格

我搞不懂这个“重量”是什么意思。是:

  1. 每个节点的重量?
  2. 每个型号的重量?
  3. 表权重列(更令人困惑)?
EN

回答 2

Data Science用户

发布于 2019-06-24 03:21:13

每个节点的权重?w_i

每种型号的重量?\alpha_i

表权重列(更令人困惑)?初始权重设置为\frac{1}{M},其中M是数据点的数目。我假设data2_1是data1_1的更新,是通过feature1的新权重更新的,但是由于缺少对表标题等的描述,它有点模糊。

在对数据进行分类器训练并对其权重(\alpha_i)和分数进行计算之后,对每个节点的权重进行更新。

T(x_i)是最终的分类器,但在表达式之前似乎缺少一个符号。它是每个分类器与其权重\alpha_i相乘的总和。

票数 0
EN

Data Science用户

发布于 2021-11-15 21:36:18

AdaBoost是一个二进制分类器(它可以很容易地扩展到更多的类,但是公式有点不同)。AdaBoost以加性的方式构建分类树。

从训练数据集为每个实例/观察分配权重。所以w_ii观测值的权重。最初,所有的权重都是相等的,都是\frac{1}{M},其中M是观测的数量。

使用AdaBoost构建的树对每个观测都使用这些权重来计算节点中的所有内容(分割测试、预测、得分)。与普通分类树的主要区别在于,您必须使用权重,而不是使用计数。一个小例子:假设在某个节点上,有3个观察标记为正,2个观测标记为负值。你可以计算熵,例如,用2/53/5比率来计算概率。在AdaBoost中使用的树中,您必须使用每个观察的权重,因此您将使用w_1,w_2,w_3作为阳性标记观测,而w_4,w_5用于负值观测。熵将使用(w_1+w_2+w_3)/\sum_i w_i(w_4+w_5)/\sum_i w_i

为什么使用权重而不是计数(顺便说一句,当所有权重都是1时,计数等同于使用权重)?因为在每一棵树建成之后,你会增加那些未被很好预测的观测的权重,并减少那些被很好预测的观测的权重。这个想法是因为AdaBoost是一个可加性的模型,一旦你学到了一些东西,你就会想要引起人们对仍然需要学习的东西的注意。

我说过每棵树都是加到整个学习者身上的。然而,并不是每棵树都能带来相同的贡献,并非所有的树在性能上都是平等的。正因为如此,你想思考一棵树会对最终结果产生多大的影响。因此,您有一个计算因子\alpha_m,它对每棵树的贡献进行建模。

在树节点上没有权重,不可能。

建立AdaBoost和AdaBoost.SAMME (多类版本)的论文没有在列上指定任何权重。我想,如果您希望以前可以进行特性工程,但是如果没有一些非常复杂的调整,列的权重就不适合AdaBoost的数学计算。

您发布的表指定了对行和特性的观察以及列上的目标变量。最后一列包含每个观察的初始权重。

后期编辑

当我为了实现而研究这个算法时,我已经阅读了关于它的所有可用的论文(我在某个地方有它们,但是它们是打印出来的,而不是在手边)。然而,我记得“哈斯蒂”、“提斯拉尼”、“弗里德曼”这本书--“统计学习的要素”有一个很好的描述,你可以在网上找到这本书,因为它是由作者提供的。我建议你花点时间在那里。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/46624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档