为什么estimator_weight in SAMME.R AdaBoost算法设置为1
Why estimator_weight in SAMME.R AdaBoost algorithm is set to 1
我是 AdaBoost 算法的新手。在 sklearn SAMME algorithm's _boost_discrete() returns class 权重为“estimator_weight”
def _boost_discrete(self, iboost, X, y, sample_weight):
.......
return sample_weight, estimator_weight, estimator_error
但是,对于 SAMME.R 算法,“_boost_real()”是 returning '1' 而不是返回估计器权重。
def _boost_real(self, iboost, X, y, sample_weight):
.......
return sample_weight, 1., estimator_error
我的问题是为什么 SAMME.R 算法将 estimator_weight 返回为“1”。
我正在关注参考 [1]。请帮助我理解算法。提前致谢。
参考:
[1]J. Zhu, H. Zou, S. Rosset, T. Hastie,“Multi-class AdaBoost”,2009.
根据 2006 年的这篇 Multi-class Adaboost 论文,我理解为什么 SAMME.R 算法中的权重可能设置为“1”。您提到的 2009 年论文不包括 SAMME.R算法。
在论文(2006)中sample_weight
用w表示,estimator_weight
用alpha表示.
如果你看一下算法 2 SAMME
一旦 w 和 alpha 被学习,新样本 class 根据 C(x)。请注意 estimator_weight
(alpha^(m)) 出现在 C(x) 中,可以解释为强度更新弱学习器 m。
现在让我们看一下算法4 SAMME.R。
请注意,estimator_weight
(alpha) 不会出现在该算法的任何地方。相反,弱学习器的特征是加权 class 概率估计,新样本根据这个新的 C(x) 进行 class 化。即使 estimator_weight
(alpha) 没有直接出现在 C(x) 中,也可以将它放在 [=40 之前=]h_k^(m)(x)(作为乘数)并将所有 alpha:
定义为 1
这导致所有 estimator_weight
在训练结束时取值 1。
我是 AdaBoost 算法的新手。在 sklearn SAMME algorithm's _boost_discrete() returns class 权重为“estimator_weight”
def _boost_discrete(self, iboost, X, y, sample_weight):
.......
return sample_weight, estimator_weight, estimator_error
但是,对于 SAMME.R 算法,“_boost_real()”是 returning '1' 而不是返回估计器权重。
def _boost_real(self, iboost, X, y, sample_weight):
.......
return sample_weight, 1., estimator_error
我的问题是为什么 SAMME.R 算法将 estimator_weight 返回为“1”。 我正在关注参考 [1]。请帮助我理解算法。提前致谢。
参考: [1]J. Zhu, H. Zou, S. Rosset, T. Hastie,“Multi-class AdaBoost”,2009.
根据 2006 年的这篇 Multi-class Adaboost 论文,我理解为什么 SAMME.R 算法中的权重可能设置为“1”。您提到的 2009 年论文不包括 SAMME.R算法。
在论文(2006)中sample_weight
用w表示,estimator_weight
用alpha表示.
如果你看一下算法 2 SAMME
一旦 w 和 alpha 被学习,新样本 class 根据 C(x)。请注意 estimator_weight
(alpha^(m)) 出现在 C(x) 中,可以解释为强度更新弱学习器 m。
现在让我们看一下算法4 SAMME.R。
请注意,estimator_weight
(alpha) 不会出现在该算法的任何地方。相反,弱学习器的特征是加权 class 概率估计,新样本根据这个新的 C(x) 进行 class 化。即使 estimator_weight
(alpha) 没有直接出现在 C(x) 中,也可以将它放在 [=40 之前=]h_k^(m)(x)(作为乘数)并将所有 alpha:
这导致所有 estimator_weight
在训练结束时取值 1。