LightGBM中的Bagging如何工作

8
在lightGBM模型中,有两个与bagging相关的参数。
bagging_fraction
bagging_freq (frequency for bagging
              0 means disable bagging; k means perform bagging at every k 
              iteration
              Note: to enable bagging, bagging_fraction should be set to 
              value smaller than 1.0 as well)

我在gdbt中找到了一些有关这个装袋函数的更详细解释,所以有没有人能给我一个更详细的解释呢?

1个回答

11

该代码执行文档所述的操作-它会对训练集样本进行采样,采样大小为bagging_fraction * N_train_examples。并且第i个树的训练是在此子集上执行的。此采样可以在每个树(即每次迭代)或在训练了每bagging_freq棵树后进行。

例如,bagging_fraction=0.5, bagging_freq=10意味着在每10次迭代中会对新的0.5*N_train_examples条目进行采样。


这是否意味着更低的 bagging_frequency 将导致更少的过拟合? - Tomward Matthias
1
当我们看到两个极端的情况:bagging_freq=1bagging_freq=<你的模型中树的数量>,那么后者会导致更多的过拟合。然而,这并不意味着参数的微小差异会带来很大的优势,例如,bagging_freq=2 的模型比 bagging_freq=1 的模型更容易过拟合。只要 bagging_freq << <你的模型中树的数量>,你就应该没问题了。 - Mischa Lisovyi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接