CatBoost - 决策树
决策树是机器学习的主要部分或组成部分,主要用于分类和回归应用。它的工作原理是根据规则集将特征空间分解为更小的部分,从而创建一个树状结构,每个内部节点都有一个基于特征的决策,每个叶节点给出输出标签或值。
另一方面,Boosting 是一个集成学习的过程,特别是结合多个弱学习者(即决策树)来创建一个强学习者。它主要侧重于训练新模型以改进先前的错误,从而改变整体预测性能。以下是 CatBoost 决策树的可视化 −

让我们看看 CatBoost 中的树是如何生长的 −
深度树生长
深度树发展也称为水平或广度优先生长。顾名思义,它涉及水平生长树,直到它们达到分配的最大深度。在每个级别,算法都会检查树中的所有节点,并将它们分开以创建新的节点用于下一级。
深度树的特征
以下是深度树的特征 −
平衡的树生长:为了保持树的平衡,它会通过在每个级别(逐个深度)进行分裂来生长。在进入下一级之前,树的每个级别都已完全建立。
叶子分裂:CatBoost 会在每个深度检查所有备选分裂,然后选择最佳分裂。与其他方法相比,它尝试在每次迭代中分裂多个叶子,而其他方法每次只分裂一个叶子。
高维度的有效处理:为了保持平衡,树将在每个级别(逐个深度)分离。在进入下一级之前,树的每一级都已完全设置好。
深度控制:CatBoost 会比较每个深度的所有替代分割,然后选择最佳分割。它每次迭代都会分割多个叶子,而其他方法每次只能分割一个叶子。
并行化:CatBoost 的深度树结构允许高效的并行处理,从而实现更高效的计算,特别是对于大型数据集。
逐叶树生长
逐叶树生长也称为最佳优先或贪婪生长。它基本上是通过在每一步上根据最优特征和叶子划分树木来扩展树木。它在所有可能的分割中选择最佳分割,因此与深度树增长相比,结果将是一个具有深分支的树结构。
叶状树的特征
以下是叶状树的一些特征 −
该算法不是逐级增长树,而是选择具有最高误差的叶子进行下一次分割。此方法将算法重点放在准确度较低的区域并首先对其进行改进。
与深度增长不同,叶状增长可能导致树不平衡。由于算法根据损失最大发生的位置划分叶子,因此某些分支可以比其他分支更深。
通过分割对误差贡献最大的叶子,该方法可以立即降低整体预测误差。因此,叶树可以有效地将复杂模式拟合到数据中。
由于它能够在某些分支上深度生长,树可能会超出训练集。可以使用正则化技术和超参数(例如 max_depth 或 l2_leaf_reg)来控制树的最大深度,从而减少过度拟合。
树的增长不像深度树那样平衡或可预测,但在某些情况下可以使其更灵活。
决策树在 CatBoost 中的作用
决策树是许多机器学习算法(如 CatBoost)的关键组成部分。这些是使用看起来像树的图来映射决策和可能结果的预测模型。在 CatBoost 框架中,决策树充当基础学习器,为提升过程提供结构。
CatBoost 使用一种称为梯度提升的技术,逐一构建决策树以纠正先前树所犯的错误。正如名称"Cat"所暗示的"分类",CatBoost 是一个梯度提升版本,在处理分类特征方面比早期方法表现更好。