趋近智
决策树是梯度提升框架中广泛用作构建模块的特定模型类型。尽管其他模型理论上可以作为基学习器,但决策树,特别是分类回归树(CART),提供了令人信服的特性组合,使其非常适合提升算法的累加和错误修正特性。
决策树将特征空间划分为矩形区域,并在每个区域(特别是每个叶节点内)分配一个常数预测值。这种内在结构在提升算法中有多个优点:
捕获非线性和关联: 与线性模型不同,树模型自然地模拟特征与目标变量之间的非线性关系。此外,分割的顺序性使得树能够捕获复杂的关联效应。例如,先对特征 A 进行分割,再对特征 B 进行分割,有效地隔离了一个由 A 和 B 条件共同定义的区域,隐含地建模了它们之间的关联。提升算法通过添加树来改进特征空间不同区域的预测,从而捕获规律。
处理不同数据类型: 标准CART算法在分割过程中可以原生地处理数值(连续或离散)和分类特征,尽管某些提升库的实现最初可能需要对分类变量进行预处理,例如独热编码。更高级的库,如LightGBM和CatBoost,包含了处理分类特征的专门、高效的方法,我们稍后会详细介绍。
计算方面的考量: 在树中寻找最优分割涉及扫描特征和潜在分割点。虽然对于大型数据集上的深层树来说计算密集,但已经开发出算法(精确贪婪、近似方法、基于直方图的方法),使得训练相当高效,特别是对于提升算法中使用的相对简单的树。这些算法在一定程度上易于并行化。
可解释性(单个树): 尽管包含数百或数千棵树的大型提升集成模型是复杂的,但单个的浅层决策树相对容易可视化和理解。这一特性在开发和调试阶段很有帮助,可以检查每棵独立树对集成模型的贡献。
提升算法迭代地组合多个“弱学习器”以得到一个“强学习器”。弱学习器被定义为在分类或回归任务上性能略优于随机猜测的模型。在决策树的背景下,这意味着使用浅层树,通常被称为“树桩”(只有一次分割的树,即深度为1)或深度非常有限的树(例如,深度2到8)。
为什么选择弱学习器?
常用于控制树复杂度并使它们保持“弱”的超参数包括:
max_depth:任何单个树允许的最大深度。min_samples_split:考虑分割内部节点所需的最小样本数。min_samples_leaf:叶节点中所需的最小样本数。max_leaf_nodes:一棵树可以拥有的最大终端节点(叶子)数。这与随机森林等算法形成鲜明对比,后者通常从使用深层、完全生长(或几乎完全生长)的决策树中获益,依赖于对许多不相关树的预测进行平均以降低方差。
标准决策树直接训练以预测目标变量 ,而梯度提升集成模型中的树的训练方式不同。在每次迭代 中,训练一棵新树 来预测前一阶段的伪残差。
对于回归中的平方误差等常见损失函数,伪残差就是损失函数相对于模型在前一步预测的负梯度,这恰好是实际的残差:,其中 是集成模型在 次迭代后的预测。
对于其他损失函数(如分类的对数损失),伪残差表示负梯度,指导树的构建,使其朝向最大程度降低总损失的方向。然后使用这些伪残差作为目标值来应用树的分割标准(例如回归树的方差减小)。
考虑一个简单的回归示例:
每棵树都专注于解释当前集成模型未解释的剩余误差。
提升迭代中在伪残差上生长出的单个回归树的简化视图。分割旨在最小化所得节点内残差的方差。
单个决策树存在某些缺点:
梯度提升有效地缓解了这些问题:
总而言之,决策树,特别是浅层CART实现,提供了必要的灵活性来模拟复杂函数和关联,可以处理不同数据类型,并且可以相当高效地训练。当它们生长得很深时,易于产生高方差的趋势在提升算法中被有意地限制,通过保持它们“弱”的特性。它们不是在原始目标上训练的,而是在损失函数的残差或梯度上训练,使提升集成模型能够顺序地修正错误并构建一个强大的预测模型。这一理论对于理解XGBoost、LightGBM和CatBoost等算法引入的特定优化和改进非常重要。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造