- CatBoost 教程
- CatBoost - 首页
- CatBoost - 概述
- CatBoost - 架构
- CatBoost - 安装
- CatBoost - 特性
- CatBoost - 决策树
- CatBoost - 提升过程
- CatBoost - 核心参数
- CatBoost - 数据预处理
- CatBoost - 处理类别特征
- CatBoost - 处理缺失值
- CatBoost - 分类器
- CatBoost - 回归器
- CatBoost - 排序器
- CatBoost - 模型训练
- CatBoost - 模型评估指标
- CatBoost - 分类指标
- CatBoost - 过拟合检测
- CatBoost 与其他提升算法的比较
- CatBoost 有用资源
- CatBoost - 有用资源
- CatBoost - 讨论
CatBoost - 决策树
决策树是机器学习的主要组成部分,主要用于分类和回归应用。它通过根据规则集将特征空间分解成更小的部分来工作,从而创建一个树状结构,其中每个内部节点都有一个基于特征的决策,每个叶节点给出输出标签或值。
另一方面,Boosting 是一种集成学习的过程,它特别地结合多个弱学习器(即决策树)来创建一个强学习器。它主要关注训练新模型以改进之前的错误,从而修改整体预测性能。以下是 CatBoost 决策树的可视化图:
让我们看看 CatBoost 中的树是如何生长的:
深度优先树生长
深度优先树的开发也称为逐层或广度优先生长。顾名思义,它涉及水平地生长树木,直到它们达到分配的最大深度。在每一层,算法都会检查树中的所有节点,并对其进行划分以创建下一层的新的节点。
深度优先树的特性
以下是深度优先树的特性:
平衡树生长:为了保持树的平衡,它通过在每一层(深度优先)进行分裂来生长。在继续到下一层之前,树的每一层都完全建立。
叶节点分裂:CatBoost 在选择最佳分裂之前,会检查每一深度下的所有替代分裂。与其他每次只分裂一个叶节点的方法相比,它尝试在每次迭代中分裂多个叶节点。
高效处理高维数据:为了保持平衡,树木将在每一层(深度优先)被分开。在继续到下一层之前,树的每一层都完全设置好了。
深度控制:CatBoost 在选择最佳分裂之前,会比较每一深度下的所有替代分裂。与其他每次只分裂一个叶节点的方法相比,它在每次迭代中分裂多个叶节点。
并行化:CatBoost 的深度优先树结构允许高效的并行处理,这导致更有效的计算,特别是对于大型数据集。
叶优先树生长
叶优先树的生长也称为最佳优先或贪婪生长。它基本上通过在每一步划分最优特征和叶节点来扩展树。它在所有可能的分割中选择最佳分割,因此结果将是一个与深度优先树生长相比具有更深分支的树结构。
叶优先树的特性
以下是叶优先树的一些特性:
算法不是逐层生长树,而是选择具有最高误差的叶节点进行下一个分裂。这种方法使算法专注于低精度区域并首先改进它们。
与深度优先生长不同,叶优先生长可能导致不平衡树。由于算法基于损失最大处划分叶节点,因此某些分支可能比其他分支更深。
通过分裂对误差贡献最大的叶节点,该方法立即降低了整体预测误差。因此,叶优先树在将复杂模式拟合到数据方面非常有效。
由于它能够在某些分支上深入生长,因此树可能超过训练集。可以使用正则化技术和超参数(例如 max_depth 或 l2_leaf_reg)来控制树的最大深度,从而减少过拟合。
树的生长不像深度优先树那样平衡或可预测,但在某些情况下它可以使其更灵活。
决策树在 CatBoost 中的作用
决策树是许多机器学习算法(如 CatBoost)的关键组成部分。这些是预测模型,使用类似树的图形来映射决策和可能的结果。在 CatBoost 框架中,决策树充当基础学习器,为提升过程提供结构。
CatBoost 使用称为梯度提升的技术,依次构建决策树来纠正先前树木所犯的错误。“Cat”这个名字暗示着“categorical”(类别),CatBoost 是一个梯度提升版本,在处理类别特征方面比早期的方法性能更好。