在随机森林中,每棵树都没有得到整批的训练数据,只有一个样本。
这对 Xgboost 有什么作用?如果这种采样也发生了,它对这个 ML 算法是如何工作的?
在随机森林中,每棵树都没有得到整批的训练数据,只有一个样本。
这对 Xgboost 有什么作用?如果这种采样也发生了,它对这个 ML 算法是如何工作的?
在 Gradient Boosting 中,简单树仅针对完整数据集的随机选择子样本(无替换随机)构建。
另一方面,随机森林通过自举选择每个决策树的样本;对带有替换的数据集进行采样。
特别是对于xgboost(请参阅此处的论文),可以使用以下超参数修改每棵树的采样率:
- 子样本 [默认=1]
训练实例的子样本比率。将其设置为 0.5 意味着 XGBoost 将在生长树之前随机采样一半的训练数据。这将防止过度拟合。每次提升迭代都会进行一次二次采样。
colsample_bytree、colsample_bylevel、colsample_bynode等参数较多。
自举技术可能因实现而异。通常我使用 Catboost 实现有几个原因。
此外,我之前发现一篇有趣的论文是随机梯度提升中的最小方差抽样。我将引用摘要中的一句话
提出了不同的抽样方法,其中概率不均匀,目前尚不清楚哪种方法最有效......它导致了一种新的抽样技术,我们称之为最小方差抽样(MVS)......该算法通过引入 MVS 作为 CatBoost 中子采样的新默认选项得到确认
Catboost 开发团队在这里解释了他们算法中默认的新采样技术。
我同意“Carlos Mougan”,并添加与这些模型的比较。
基本上,GB(Breiman 1996, 1999)、SGB(Friedman 2002) 和 XGB(Chen and Guestrin 2016) 进行无替换抽样。GB 每次迭代都使用完整的样本集。因此,GB 的执行类似于无替换的采样。因此,这三者使用传统的无替代抽样。
然而,bagging 和 RF(Breiman 2001) 使用替换进行采样。因此,两者都使用传统的替换采样。
在无替换采样或无替换采样之间存在一些讨论。Binder 和 Schumacher (2008) 进行了一项实验,模型采样没有替换覆盖更快。
LGB(使用 GOSS,发挥“硬样本挖掘”的作用)(Ke et al. 2017)和 CatBoost(使用 Minimal Variance Sampling)(Prokhorenkova et al. 2018; Ibragimov and Gusev 2019)按权重进行抽样,因此两者都构建带有替换的迭代子集。
宾德、哈拉尔和马丁·舒马赫。2008.“在高维 Bootstrap 样本中调整有偏复杂性选择的预测误差估计”。遗传学和分子生物学中的统计应用7 (1)。
布雷曼,里奥。1996.“装袋预测器”。机器学习24 (2): 123–40。
———。1999. “使用自适应 Bagging 进行 Debias 回归”。技术报告 547,统计部 UCB。
———。2001.“随机森林”。机器学习45 (1): 5-32。
陈天琪和卡洛斯·盖斯特林。2016.“Xgboost:可扩展的树增强系统”。在第 22 届 Acm Sigkdd 知识发现和数据挖掘国际会议论文集上,785-94。
Friedman, Jerome H. 2002。“随机梯度提升”。计算统计与数据分析38 (4): 367–78。
伊布拉吉莫夫、布拉特和格列布·古谢夫。2019.“随机梯度提升中的最小方差抽样”。神经信息处理系统的进展32:15087-97。
柯,郭林,启蒙,Thomas Finley,王泰峰,陈伟,马卫东,叶启伟,刘铁燕。2017.“Lightgbm:一种高效的梯度提升决策树”。神经信息处理系统的进展30:3146-54。
普罗霍伦科娃、柳德米拉·奥斯特鲁莫娃、格列布·古谢夫、亚历山大·沃罗贝夫、安娜·维罗妮卡·多罗古什和安德烈·古林。2018.“CatBoost:具有分类特征的无偏提升”。在NeurIPS中。