机器学习中的集成方法与降维技术详解
1. 随机梯度提升与直方图梯度提升
在梯度提升回归中, GradientBoostingRegressor 类支持 subsample 超参数。该参数指定了用于训练每棵树的训练实例的比例。例如,当 subsample = 0.25 时,每棵树将在随机选择的25%的训练实例上进行训练。这种技术用较高的偏差换取了较低的方差,同时也显著加快了训练速度,这被称为随机梯度提升。
Scikit - Learn还提供了另一种针对大型数据集优化的梯度提升回归树(GBRT)实现:基于直方图的梯度提升(HGB)。它通过对输入特征进行分箱,将其替换为整数来工作。分箱的数量由 max_bins 超参数控制,默认值为255,且不能设置得更高。分箱可以大大减少训练算法需要评估的可能阈值的数量,使用整数还能让我们使用更快、更节省内存的数据结构,并且在训练每棵树时无需对特征进行排序。
这种实现的计算复杂度为$O(b×m)$,而不是$O(n×m×log(m))$,其中$b$是分箱的数量,$m$是训练实例的数量,$n$是特征的数量。在实践中,这意味着HGB在大型数据集上的训练速度比常规GBRT快数百倍。不过,分箱会导致精度损失,这起到了正则化的作用,根据数据集的不同,它可能有助于减少过拟合,也可能导致欠拟合。
Scikit - Learn为HGB提供了两个类: HistGradientBoostingRegressor 和 HistGradientBoostingClassifier
超级会员免费看
订阅专栏 解锁全文
9

被折叠的 条评论
为什么被折叠?



