趋近智
正如章节引言中指出的,梯度提升模型建立在弱学习器之上,通常是决策树。提升的效力在于迭代地添加这些树,每棵树都纠正了之前集成的错误。然而,如果允许单棵树变得任意复杂,它们很容易记住训练数据,包括其中的噪声。限制这些基础学习器的结构是一种基本的正则化 (regularization)技术。
max_depth)限制决策树复杂度的最直接方法之一是限制其最大深度。树的深度是从根节点到叶节点的最长路径的长度。
max_depth)复杂度较低。它们只能捕获相对简单的模式和低阶特征交互(涉及由根路径决定的少量特征的交互)。较深的树(大的max_depth)可以模拟更复杂的关联和高阶特征交互。max_depth,可以防止树生成高度特定的路径,以适应个别或小部分训练样本。这会促使模型找到在数据较大子集中共享的更普遍的模式。在提升的背景下,即使是相对较浅的树(例如,深度4-8)也能形成强大的集成,因为复杂度是在多次迭代中累加形成的。
min_samples_leaf)树的终端节点(叶节点)中必须包含的最小训练样本数是一个重要的结构限制。一个分裂点只有在左右分支中都至少留下min_samples_leaf个训练样本时,才被认为是有效的。
min_samples_leaf会促使树生成更普遍的数据分区。它阻止模型基于极小部分实例进行高度特定的预测,从而降低方差和过拟合 (overfitting)。min_child_weight,它考虑的是叶节点中Hessian权重 (weight)的总和,而不仅仅是样本数量,这提供了更精细的控制,尤其是在加权数据集或特定目标函数下。min_samples_split)此参数 (parameter)设置了内部节点进行进一步分裂所需的最小训练样本数。如果一个节点包含的样本少于min_samples_split,即使潜在的分裂会提高纯度,该节点也不会被考虑进行分裂。
min_samples_leaf更早起作用。它会更早地停止树的较小分支的划分过程。min_samples_leaf类似,它阻止模型尝试划分非常小的样本组,这些样本组可能只反映了训练数据中的噪声。它有助于构建更具泛化性的树。min_samples_leaf适用类似的权衡。设置过高会导致欠拟合 (underfitting),而默认值(通常为2)允许在最小数据上进行分裂,可能增加过拟合 (overfitting)风险。min_samples_leaf的关系: 通常,min_samples_split >= 2 * min_samples_leaf以确保任何潜在的分裂都能实际产生有效的叶节点。设置min_samples_split有助于更早地修剪分支,与仅依赖min_samples_leaf相比,这可能会稍微加快训练速度。max_leaf_nodes)除了直接控制深度之外,还可以限制树中终端节点(叶节点)的总数。树的生长方式是最大化杂质减少,直到达到最大叶节点数。
max_depth的比较: 限制叶节点有时比限制深度提供更大的灵活性。深度受限的树通常对称生长(在某些实现或概念中是逐层生长),而叶节点受限的树可能更好地适应数据的结构(最佳优先或逐叶生长)。在许多实现中(如LightGBM的默认逐叶生长),max_leaf_nodes通常被认为是比max_depth更直接的复杂度控制方式。当设置了max_leaf_nodes时,max_depth可能会变得冗余或影响力较小。min_impurity_decrease、min_split_gain,XGBoost中的gamma)树算法选择能最大化杂质度量减少(例如回归任务中的均方误差,或分类任务中的基尼/信息熵)或最大化特定增益标准(如XGBoost目标函数中使用的)的分裂点。此参数 (parameter)为该减少或增益设置了一个阈值。
gamma与在叶节点上进行进一步划分所需的最小损失减少量有关。调整此参数通常需要通过实验来确定。示例展示了像
min_samples_leaf=10这样的限制如何阻止本会创建一个小叶节点(叶节点4有5个样本,现成为叶节点C的一部分,叶节点C有40个样本)的分裂。
这些结构性限制是需要调优的超参数 (hyperparameter),通常通过交叉验证进行,同时还有其他提升参数,如学习率和树的数量。找到合适的平衡可以防止单棵树变得过度专业化,从而得到一个泛化能力更强的最终集成模型。
这部分内容有帮助吗?
gamma和min_child_weight。max_depth和num_leaves,以及它们对树复杂性的影响。© 2026 ApX Machine LearningAI伦理与透明度•