Adaboost sklearn 中的学习率

机器算法验证 scikit-学习 adaboost
2022-03-25 07:59:26

我不知道 learning_rate 在 Adaboost 的 sklearn 实现中代表什么。当我看到原始算法时,我没有看到任何“learning_rate”......

同时,我可以从https://fr.wikipedia.org/wiki/AdaBoost看到训练错误被加权,这要归功于Dt(i)(在哪里i附在i训练矩阵中的第 th 个训练实例X)。sklearn“learning_rate”和这个之间有什么关系吗Dt?

1个回答

官方文档指出"The learning rate shrinks the contribution of each regressor by learning_rate.". 因此,基本上我们需要了解三个概念:

1.弱分类器

一个错误率只比随机猜测好一点的模型,也就是说,50% 的准确率。

2. 提升

该技术的目的是应用K不同时间(顺序)模型修改数据版本。所以,假设在每次迭代i{1,2,...,K}你建立了一个新的树模型Ti

Ti+1(x)=Ti(x)+αM(x),

在哪里

M(x)=j=1Jt(x,θj)
是具有不同参数的树的总和θjα是介于 0 和 1 之间的学习率。

3. 学习率

此参数控制我将使用新模型对现有模型贡献多少通常在迭代次数之间进行权衡K和价值α. 换句话说,当取较小的 alpha 值时 (α0) 你应该考虑更多K迭代,以便您的基础模型(弱分类器)继续改进根据 Jerome Friedman 的说法,建议设置α到更小的值(α<.1)。